Вторая часть этой статьи, где рассматривается практическое применение изложенных здесь основ: Заметки о Cisco Catalyst: настройка VLAN, сброс пароля, перепрошивка операционной системы IOS
Понятие о стеке протоколов
Задача — передать информацию от пункта А в пункт В. Её можно передавать непрерывно. Но задача усложняется, если надо передавать информацию между пунктами A<-->B и A<-->C по одному и тому же физическому каналу. Если информация будет передаваться непрерывно, то когда С захочет передать информацию в А — ему придётся дождаться, пока В закончит передачу и освободит канал связи. Такой механизм передачи информации очень неудобен и непрактичен. И для решения этой проблемы было решено разделять информацию на порции.
На получателе эти порции требуется составить в единое целое, получить ту информацию, которая вышла от отправителя. Но на получателе А теперь мы видим порции информации как от В так и от С вперемешку. Значит, к каждой порции надо вписать идентификационный номер, что бы получатель А мог отличить порции информации с В от порций информации с С и собрать эти порции в изначальное сообщение. Очевидно, получатель должен знать, куда и в каком виде отправитель приписал идентификационные данные к исходной порции информации. И для этого они должны разработать определённые правила формирования и написания идентификационной информации. Далее слово «правило» будет заменяться словом «протокол».
Для соответствия запросам современных потребителей, необходимо указывать сразу несколько видов идентификационной информации. А так же требуется защита передаваемых порций информации как от случайных помех (при передаче по линиям связи), так и от умышленных вредительств (взлома). Для этого порция передаваемой информации дополняется значительным количеством специальной, служебной информацией.
В протоколе Ethernet находятся номер сетевого адаптера отправителя (MAC-адрес), номер сетевого адаптера получателя, тип передаваемых данных и непосредственно передаваемые данные. Порция информации, составленная в соответствии с протоколом Ethernet, называется кадром. Считается, что сетевых адаптеров с одинаковым номером не существует. Сетевое оборудование извлекает передаваемые данные из кадра (аппаратно или программно), и производит дальнейшую обработку.
Как правило, извлечённые данные в свою очередь сформированы в соответствии с протоколом IP и имеют другой вид идентификационной информации — ip адрес получателя (число размером в 4 байта), ip адрес отправителя и данные. А так же много другой необходимой служебной информации. Данные, сформированные в соответствии с IP протоколом, называются пакетами.
Далее извлекаются данные из пакета. Но и эти данные, как правило, ещё не являются изначально отправляемыми данными. Этот кусок информации тоже составлен в соответствии определённому протоколу. Наиболее широко используется TCP протокол. В нём содержится такая идентификационная информация, как порт отправителя (число размером в два байта) и порт источника, а так же данные и служебная информация. Извлечённые данные из TCP, как правило, и есть те данные, которые программа, работающая на компьютере В, отправляла «программе-приёмнику» на компьютере A.
Вложность протоколов (в данном случае TCP поверх IP поверх Ethernet) называется стеком протоколов.
ARP: протокол определения адреса
Существуют сети классов A, B, C, D и E. Они различаются по количеству компьютеров и по количеству возможных сетей/подсетей в них. Для простоты, и как наиболее часто встречающийся случай, будем рассматривать лишь сеть класса C, ip-адрес которой начинается на 192.168. Следующее число будет номером подсети, а за ним — номер сетевого оборудования. К примеру, компьютер с ip адресом 192.168.30.110 хочет отправить информацию другому компьютеру с номером 3, находящемуся в той же логической подсети. Это значит, что ip адрес получателя будет такой: 192.168.30.3
Важно понимать, что узел информационной сети — это компьютер, соединённый одним физическим каналом с коммутирующим оборудованием. Т.е. если мы отправим данные с сетевого адаптера «на волю», то у них одна дорога — они выйдут с другого конца витой пары. Мы можем послать совершенно любые данные, сформированные по любому, выдуманному нами правилу, ни указывая ни ip адреса, ни mac адреса ни других атрибутов. И, если этот другой конец присоединён к другому компьютеру, мы можем принять их там и интерпретировать как нам надо. Но если этот другой конец присоединён к коммутатору, то в таком случае пакет информации должен быть сформирован по строго определённым правилам, как бы давая коммутатору указания, что делать дальше с этим пакетом. Если пакет будет сформирован правильно, то коммутатор отправит его дальше, другому компьютеру, как было указано в пакете. После чего коммутатор удалит этот пакет из своей оперативной памяти. Но если пакет был сформирован не правильно, т.е. указания в нём были некорректны, то пакет «умрёт», т.е. коммутатор не будет отсылать его куда либо, а сразу удалит из своей оперативной памяти.
Для передачи информации другому компьютеру, в отправляемом пакете информации надо указать три идентификационных значения — mac адрес, ip адрес и порт. Условно говоря, порт — это номер, который, выдаёт операционная система каждой программе, которая хочет отослать данные в сеть. Ip адрес получателя вводит пользователь, либо программа сама получает его, в зависимости от специфики программы. Остаётся неизвестным mac адрес, т.е. номер сетевого адаптера компьютера получателя. Для получения необходимой данной, отправляется «широковещательный» запрос, составленный по так называемому «протоколу разрешения адресов ARP». Ниже приведена структура ARP пакета.
Сейчас нам не надо знать значения всех полей на приведённой картинке. Остановимся лишь на основных.
В поля записываются ip адрес источника и ip адрес назначения, а так же mac адрес источника.
Поле «адрес назначения Ethernet» заполняется единицами (ff:ff:ff:ff:ff:ff). Такой адрес называется широковещательным, и такой фрейм будер разослан всем «интерфейсам на кабеле», т.е. всем компьютерам, подключённым к коммутатору.
Коммутатор, получив такой широковещательный фрейм, отправляет его всем компьютерам сети, как бы обращаясь ко всем с вопросом: «если Вы владелец этого ip адреса (ip адреса назначения), пожалуйста сообщите мне Ваш mac адрес». Когда другой компьютер получает такой ARP запрос, он сверяет ip адрес назначения со своим собственным. И если он совпадает, то компьютер, на место единиц вставляет свой mac адрес, меняет местами ip и mac адреса источника и назначения, изменяет некоторую служебную информацию и отсылает пакет обратно коммутатору, а тот обратно — изначальному компьютеру, инициатору ARP запроса.
Таким образом ваш компьютер узнаёт mac адрес другого компьютера, которому вы хотите отправить данные. Если в сети находится сразу несколько компьютеров, отвечающих на этот ARP запрос, то мы получаем «конфликт ip адресов». В таком случае необходимо изменить ip адрес на компьютерах, что бы в сети не было одинаковых ip адресов.
Построение сетей
Задача построения сетей
На практике, как правило, требуется построить сети, число компьютеров в которой будет не менее ста. И кроме функций файлообмена, наша сеть должна быть безопасной и простой в управлении. Таким образом, при построении сети, можно выделить три требования:
- Простота в управлении. Если бухгалтера Лиду переведут в другой кабинет, ей по-прежнему понадобится доступ к компьютерам бухгалтеров Анны и Юлии. И при неправильном построении своей информационной сети, у администратора могут возникнуть трудности в выдаче Лиде доступа к компьютерам других бухгалтеров на её новом месте.
- Обеспечение безопасности. Для обеспечения безопасности нашей сети, права доступа к информационным ресурсам должны быть разграничены. Так же сеть должна быть защищена от угроз раскрытия, целостности и отказа в обслуживании. Подробнее читайте в книге «Атака на Internet» автора Илья Давидович Медведовский, глава «Основные понятия компьютерной безопасности».
- Быстродействие сети. При построении сетей есть техническая проблема — зависимость скорости передачи от количества компьютеров в сети. Чем больше компьютеров — тем ниже скорость. При большом количестве компьютеров, быстродействие сети может стать настолько низким, что она станет неприемлемой заказчику.
Из-за чего при большом количестве компьютеров снижается скорость сети? — причина проста: из-за большого количества широковещательных сообщений (ШС). ШС — это сообщение, которое, приходя на коммутатор, отправляется всем хостам сети. Или, грубо говоря, всем компьютерам, находящимся в вашей подсети. Если компьютеров в сети 5, то каждый компьютер будет принимать по 4 ШС. Если их будет 200, то каждый компьютер в такой большой сети будет принимать по 199 ШС.
Существует большое множество приложений, программных модулей и сервисов, которые, для своей работы отправляют в сеть широковещательные сообщения. Описанный в пункте ARP: протокол определения адреса лишь один из множества ШС, отправляемый вашим компьютером в сеть. Например, когда вы заходите в «Сетевое окружение» (ОС Windows), ваш компьютер посылает ещё несколько ШС со специальной информацией, сформированной по протоколу NetBios, что бы просканировать сеть на наличие компьютеров, находящихся в той же рабочей группе. После чего ОС рисует найденные компьютеры в окне «Сетевое окружение» и вы их видите.
Так же стоит заметить, что во время процесса сканирования той или иной программой, ваш компьютер отсылает ни одно широковещательное сообщение, а несколько, к примеру для того, что бы установить с удалёнными компьютерами виртуальные сессии или ещё для каких либо системных нужд, вызванных проблемами программной реализации этого приложения. Таким образом, каждый компьютер в сети для взаимодействия с другими компьютерами вынужден посылать множество различных ШС, тем самым загружая канал связи не нужной конечному пользователю информацией. Как показывает практика, в больших сетях широковещательные сообщения могут составить значительную часть трафика, тем самым замедляя видимую для пользователя работу сети.
Виртуальные локальные сети
Для решения первой и третьей проблем, а так же в помощь решения второй проблемы, повсеместно используют механизм разбиения локальной сети на более маленькие сети, как бы отдельные локальные сети (Virtual Local Area Network). Грубо говоря, VLAN — это список портов на коммутаторе, принадлежащих одной сети. «Одной» в том смысле, что другой VLAN будет содержать список портов, принадлежащих другой сети.
Фактически, создание двух VLAN-ов на одном коммутаторе эквивалентно покупке двух коммутаторов, т.е. создание двух VLAN-ов — это всё равно, что один коммутатор разделить на два. Таким образом происходит разбиение сети из ста компьютеров на более маленькие сети, из 5-20 компьютеров — как правило именно такое количество соответствует физическому местонахождению компьютеров по надобности файлообмена.
- При разбиении сети на VLAN-ы достигается простота управления. Так, при переходе бухгалтера Лиды в другой кабинет, администратору достаточно удалить порт из одного VLAN-а и добавить в другой. Подробнее это рассмотрено в пункте VLAN-ы, теория.
- VLAN-ы помогают решить одно из требований к безопасности сети, а именно разграничение сетевых ресурсов. Так, студен из одной аудитории не сможет проникнуть на компьютеры другой аудитории или компьютер ректора, т.к. они находятся в фактически разных сетях.
- Т.к. наша сеть разбита на VLAN-ы, т.е. на маленькие «как бы сети», пропадает проблема с широковещательными сообщениями.
VLAN-ы, теория
Возможно, фраза «администратору достаточно удалить порт из одного VLAN-а и добавить в другой» могла оказаться непонятной, поэтому поясню её подробнее. Порт в данном случае — это не номер, выдаваемый ОС приложению, как было рассказано в пункте Стек протоколов, а гнездо (место) куда можно присоединить (вставить) коннектор формата RJ-45. Такой коннектор (т.е. наконечник к проводу) прикрепляется к обоим концам 8-ми жильного провода, называемого «витая пара». На рисунке изображён коммутатор Cisco Catalyst 2950C-24 на 24 порта:
Как было сказано в пункте ARP: протокол определения адреса каждый компьютер соединён с сетью одним физическим каналом. Т.е. к коммутатору на 24 порта можно присоединить 24 компьютера. Витая пара физически пронизывает все помещения предприятия — все 24 провода от этого коммутатора тянутся в разные кабинеты. Пусть, к примеру, 17 проводов идут и подсоединяются к 17-ти компьютерам в аудитории, 4 провода идут в кабинет спецотдела и оставшиеся 3 провода идут в только что отремонтированный, новый кабинет бухгалтерии. И бухгалтера Лиду, за особые заслуги, перевели в этот самый кабинет.
Как сказано выше, VLAN можно представлять в виде списка принадлежащих сети портов. К примеру, на нашем коммутаторе было три VLAN-а, т.е. три списка, хранящиеся во flash-памяти коммутатора. В одном списке были записаны цифры 1, 2, 3… 17, в другом 18, 19, 20, 21 и в третьем 22, 23 и 24. Лидин компьютер раньше был присоединён к 20-ому порту. И вот она перешла в другой кабинет. Перетащили её старый компьютер в новый кабинет, или она села за новый компьютер — без разницы. Главное, что её компьютер присоединили витой парой, другой конец которой вставлен в порт 23 нашего коммутатора. И для того, что бы она со своего нового места могла по прежнему пересылать файлы своим коллегам, администратор должен удалить из второго списка число 20 и добавить число 23. Замечу, что один порт может принадлежать только одному VLAN-у, но мы нарушим это правило в конце этого пункта.
Замечу так же, что при смене членства порта в VLAN, администратору нет никакой нужды «перетыкать» провода в коммутаторе. Более того, ему даже не надо вставать с места. Потому что компьютер администратора присоединён к 22-ому порту, с помощью чего он может управлять коммутатором удалённо. Конечно, благодаря специальным настройкам, о которых будет рассказано позже, лишь администратор может управлять коммутатором. О том, как настраивать VLAN-ы, читайте в пункте VLAN-ы, практика [в следующей статье].
Как вы, наверное, заметили, изначально (в пункте Построение сетей) я говорил, что компьютеров в нашей сети будет не менее 100. Но к коммутатору можно присоединить лишь 24 компьютера. Конечно, есть коммутаторы с большим количеством портов. Но компьютеров в корпоративной сети/сети предприятия всё равно больше. И для соединения бесконечно большого числа компьютеров в сеть, соединяют между собой коммутаторы по так называемому транк-порту (trunk). При настройки коммутатора, любой из 24-портов можно определить как транк-порт. И транк-портов на коммутаторе может быть любое количество (но разумно делать не более двух). Если один из портов определён как trunk, то коммутатор формирует всю пришедшую на него информацию в особые пакеты, по протоколу ISL или 802.1Q, и отправляет эти пакеты на транк-порт.
Всю пришедшую информацию — имеется в виду, всю информацию, что пришла на него с остальных портов. А протокол 802.1Q вставляется в стек протоколов между Ethernet и тем протоколом, по которому были сформированные данные, что несёт этот кадр.
В данном примере, как вы, наверное, заметили, администратор сидит в одном кабинете вместе с Лидой, т.к. витая пора от портов 22, 23 и 24 ведёт в один и тот же кабинет. 24-ый порт настроен как транк-порт. А сам коммутатор стоит в подсобном помещении, рядом со старым кабинетом бухгалтеров и с аудиторией, в которой 17 компьютеров.
Витая пара, которая идёт от 24-ого порта в кабинет к администратору, подключается к ещё одному коммутатору, который в свою очередь, подключён к роутеру, о котором будет рассказано в следующих главах. Другие коммутаторы, которые соединяют другие 75 компьютеров и стоят в других подсобных помещениях предприятия — все они имеют, как правило, один транк-порт, соединённый витой парой или по оптоволокну с главным коммутатором, что стоит в кабинете с администратором.
Выше было сказано, что иногда разумно делать два транк-порта. Второй транк-порт в таком случае используется для анализа сетевого трафика.
Примерно так выглядело построение сетей больших предприятий во времена коммутатора Cisco Catalyst 1900. Вы, наверное, заметили два больших неудобства таких сетей. Во первых, использование транк-порта вызывает некоторые сложности и создаёт лишнюю работу при конфигурировании оборудования. А во вторых, и в самых главных — предположим, что наши «как бы сети» бухгалтеров, экономистов и диспетчеров хотят иметь одну на троих базу данных. Они хотят, что бы та же бухгалтерша смогла увидеть изменения в базе, которые сделала экономистка или диспетчер пару минут назад. Для этого нам надо сделать сервер, который будет доступен всем трём сетям.
Как говорилось в середине этого пункта, порт может находиться лишь в одном VLAN-е. И это действительно так, однако, лишь для коммутаторов серии Cisco Catalyst 1900 и старше и у некоторых младших моделей, таких как Cisco Catalyst 2950. У остальных коммутаторов, в частности Cisco Catalyst 2900XL это правило можно нарушить. При настройке портов в таких коммутаторах, каждый пор может иметь пять режимов работы: Static Access, Multi-VLAN, Dynamic Access, ISL Trunk и 802.1Q Trunk. Второй режим работы именно то, что нам нужно для выше поставленной задачи — дать доступ к серверу сразу с трёх сетей, т.е. сделать сервер принадлежащим к трём сетям одновременно. Так же это называется пересечением или таггированием VLAN-ов. В таком случае схема подключения может быть такой:
Продолжение следует
Вторая часть этой статьи, где рассматривается практическое применение изложенных здесь основ: Заметки о Cisco Catalyst: настройка VLAN, сброс пароля, перепрошивка операционной системы IOS
Об этой статье
Статья опробована на реальных студентах. Я давал им прочитать часть статьи и оценить на понятность. Затем редактировал и упрощал материал до тех пор, пока он ни стал понятен даже самым отпетым двоечникам.
Комментарии (60)
frees2
15.04.2017 16:59Задача: соединить два компа одним кабелем друг с другом.
Вы: у меня два компа в локалке смотрят в инет, можно поставить одинаковые мак-адреса.
https://toster.ru/q/386543
Давно хотел спросить, у меня сеть из двух компьютеров с одним и тем же мак-адресом на каждом компьютере, он одинаковый, программой поставил, айпи одно (внешнее тоже одно, и по первому и по второму можно выходить в сеть), и всё работает. Витая пара между компьютерами, виндовс-10 и виндовс xp. Это не запрещено, конфликтов с оборудованием тоже нет.
Что не запрещено то разрешено.f1af
15.04.2017 17:10Всё верно. Мы должны указывать mac адрес для того, чтобы коммутатор (или домашний модем-роутер с несколькими RJ45 под LAN), мог определить, какому комптютеру пересылать пакет. Если в сети будет несколько компьютеров с одинаковыми mac-адресами, по пакет будет послан тому, кто отозвался на ARP-запрос последним.
Если же для связи компьютеров, коммутатор не используется, а вместо этого компьютеры подключены на прямую, то для доставки сообщения mac не имеет значения. Верно, он может быть и одинаковым.Busla
21.04.2017 14:57Что-то у меня большие сомнения, что интерфейс выпустит наружу пакет предназначенный ему самому. Если где-то так происходит, это скорее ошибка конкретной реализации, а не ожидаемое в общем случае поведение.
pfactum
15.04.2017 17:08+5> Существуют сети классов A, B, C, D и E.
Классы, к счастью, давно похоронили.Chupaka
15.04.2017 18:06Зашёл с тем же вопросом. Они где-нибудь ещё используются? Вроде и знаю, что нет, а вроде недавно видел статью пятилетней давности про настройку Цисок — и там вроде как адреса задавались без масок, подразумевалось, что роутер по классу должен маску определить...
pae174
15.04.2017 20:40+3> Они где-нибудь ещё используются?
На собеседованиях они используются всякими там HRами.
Henry7
17.04.2017 21:45Не совсем так, точнее не все классы одинаковы.
Возьмем 2 студентов и дадим им задание развернуть небольшую корпоративную сеть, но одному выделим IP адреса из класса C, другому — из класса D.
У кого больше шансов на успех?pfactum
17.04.2017 22:38Больше шансов по жизни у того студента, которому дошло, что дело не в классах, а в масках.
AstorS1
15.04.2017 20:30Исходя из мини ТЗ, размещённого до фотографии в начале статьи, думаю, что было бы уместно в начале пояснить правила обжатия UTP.
Vkuvaev
16.04.2017 14:30Давно не видел сокращения UTP, мозг услужливо подменил системе визуального распознавания UTP на UDP: ткнул ссылку посмотреть как обжимается, UDP :) уже хотел попкорн готовить
ksg222
15.04.2017 21:01+5Про коммутаторы Cisco Catalyst 1900/2900XL/2950, думаю, не стоит писать, так как они уже давно в прошлом. В примерах лучше использовать более свежие модели.
каждый пор может иметь пять режимов работы: Static Access, Multi-VLAN, Dynamic Access, ISL Trunk и 802.1Q Trunk
На 2950 и более свежих моделях порт может быть в терминах вендора только в двух основных режимах: access или trunk. А далее могут быть вариации: инкапсуляция ISL (на новых коммутаторах её уже нет) или dot1q, статическое назначение режима порта или динамическое (DTP) и пр.
Режим Multi-VLAN умер вместе с коммутаторами 2900XL/3500XL.
Во первых, использование транк-порта вызывает некоторые сложности и создаёт лишнюю работу при конфигурировании оборудования.А во вторых, и в самых главных — предположим, что наши «как бы сети» бухгалтеров, экономистов и диспетчеров хотят иметь одну на троих базу данных...
Видимо, это утверждение из каких-то старых времён.
В современных сетях все используют транковые порты. И это как раз правильный подход. А чтобы обеспечить доступ к серверу из нескольких сетей используется маршрутизация.
А протокол 802.1Q вставляется в стек протоколов между Ethernet и тем протоколом, по которому были сформированные данные
802.1q добавляет в заголовок Ethernet лишь дополнительные поля (тегирует кадр) для передачи информации о VLAN и приоритете (802.1p). Причём заголовок 802.1q вставляется в середину текущего заголовка Ethernet. Слово «стек» тут не совсем уместно.
… и такой фрейм будер разослан… называется кадром...
Если это статья для студентов, лучше использовать какой-то один термин.
Данные, сформированные в соответствии с IP протоколом, называются пакетами.
На тему, что подразумевать под словом пакет, можно развести тот ещё холивар. И если заявлять строго, что пакет — это уровень IP, то говорить про «порты», «особые пакеты, по протоколу ISL или 802.1Q» и прочие радости в разрезе пакета не стоит.
rokobungi
15.04.2017 23:26+3Раз уж статья ориентирована в.т.ч и на студентов, то зануда-кун уточняет:
коннектор формата RJ-45
Коннектор называется 8P8C.Stalkeros
21.04.2017 22:19+1Может уже хватит жить пережитками прошлого? Во всей современной литературе (даже по подготовке к CCNA, У. Одом) уже давно пишут что разъем и коннектор RJ-45, даже не беру в расчет магазины, где эти коннекторы покупаются и где просто косо посмотрят, если сказать «дайте мне 50 восемьпэвосемьцэ».
Нравится держать в голове лишнюю информацию и поучать людей — Ваш выбор, но в 2017 выглядит спорно.rokobungi
23.04.2017 13:30Опытный автослесарь при помощи одного слова и оттенков интонации может назвать до 50 деталей автомобиля. Это отличает его от опытного инженера, который доподлинно знает точное название каждой детали.
Я никому не навязываю своего мнения. Но своим слушателям всегда говорю: «В повседневной жизни, на работе, в обиходе вы можете пользоваться той терминологией, которая вам по душе, главное, чтобы вас понимали. Но, отвечая мне на экзамене, будьте добры пользоваться соответствующей терминологией».
Кроме того, на моих обжимных клещах вполне чётко написано на соответствующих отверстиях: 4P, 6P, 8P. Может, они застряли в прошлом веке? :)
DRDOS
15.04.2017 23:34Веселит другое!
Тот кто может прописать адрес в коммутаторе, странно объяснять что такое разъем RJ-45 :)))
nApoBo3
16.04.2017 09:11Повсеместно натыкаюсь на подобное разбиение vlan, по отделам. И ни у кого не смог получить ответ зачем? Зачем и с какой целью бить vlan именно по отделам, от куда эта странная практика и кто плодить её адептов? Я ещё готов с натяжкой понять такую логику для файловых ресурсов уровня отдела с очень, просто безумно интенсивной работой с файлами, возможно изоляция такого ресурса на l3 уровне может оказаться дорогой, но это просто сверх специфические задачи. Сейчас уже есть рекомендации по l3 access уровню, например cisco 3850 в классикации cisco access уровень.
Имхо на данный момент vlan это инструмент принудительного соответствия l2 и l3 структур. Плюс при изоляции vlan по отделам, не решается задача изоляция клиентов друг от друга, не ищолированными должны быть только сервисы.vvpoloskin
16.04.2017 12:09Я подозреваю, что такая практика взялась от самой циски и ее сртификации. Удобство в этом, несомненно, есть для средних организаций. В больших конторах уже давным-давно ушли от такой практики — не должен сетевого админа волновать переход девушки из бухгалтерии в ахо и наоборот.
3850 циска позиционирует как свич с функционалом вай-фай контроллера, естественно это access и l3. Что до стационарной офисной сети l3 на access нет, да и вредно это. Будете каждый раз думать над количеством и расширением сетей в отдельном закутке организации. Выделять доп сети каждый раз — запутаетесь с ospf. Для конторы больше 1k сотрудников вообще придется создавать под это отдельные штатки.ksg222
19.04.2017 11:05+1Валентин, не совсем понял, как связана сегментация на VLANы по отделам и «не должен сетевого админа волновать переход девушки из бухгалтерии в ахо и наоборот».
Если сеть плоская, тут действительно адрес не меняется. Но вряд ли большая организация будет иметь плоскую сеть. Более того в больших сетях обычно используется DHCP и вопрос смены адреса не требует каких-то вмешательств со стороны администратора. Основные трудозатраты обычно представлены в виде бюрократических процедур (служебки и пр.), а не технические перенастройки оборудования.
L3 access в первую очередь не используется из-за дороговизны. Ставить на access коммутатор с поддержкой динамической маршрутизации (даже ограниченной EIGRP stub или OSPF Routed Access) могут себе позволить очень не многие. На практике в больших сетях на уровне доступа можно встретить ещё тот зоопарк из различных недорогих устройств (L2 или максимум с поддержкой static routing).
Что касается самого подхода к дизайну, то L3 access в классическом варианте рекомендуется в противовес сети с STP. Но если используется стекирование на уровне распределения, никто не против и L2, так как линков, заблокированных STP, уже не будет.
Если же смотреть на новомодный Campus Fabric, то L3 access является обязательным требованием, так как он будет транспортом для оверлейной сети. И как раз минимально нам в этом случае подойдёт 3850 (с поддержкой VXLAN, LISP).
В случае L3 access крайне желательно на этапе планирования правильно проработать адресацию в сети, особенно если сеть большая. Что в дальнейшем не было проблем с суммаризацией и выделением новых подсетей. Хотя это справедливо и для случая, когда L3 начинается на уровне распределения.
Что касается сегментации на VLAN'ы, действительно в курсе CCDP (возможно, и в других местах) приводилась формулировка, что VLAN'ы можно привязывать, например, к департаментам. Но основной посыл всегда был в том, что главное её делать (если не ошибаюсь, Cisco рекомендует иметь не больше 100 хостов в одном широковещательном сегменте). А как именно — это уже второй вопрос, зависящий от различных условий. Главное помнить, что сегментация сети позволяет изолировать домены отказа.
Микросегментацию можно делать protected-портами, private-VLAN'ами, или же использовать TrustSec (на уровне SG-ACL). Это может быть никак не связано с VLANами. Правда в случае trustsec на access придётся ставить всё те же 3650/3850, линейкой 2960 не отделаешься.
man55
17.04.2017 13:47+1>> Модель OSI вызывает зевоту и полное отторжение
если студентов сызмальства не приучать к правильной терминологии и структурированию (а модель OSI для передачи данных — это фундаментальные азы), то потом у них в головах получается наглядное пособие к произведению М.Ю.Лермонтова: «смешались в кучу кони, люди...»
начинается путаница и подмена понятий: интерфейсы, протоколы, кадры, пакеты, сообщения…
в Вашей статье есть фраза «протокол Ethernet», если бы мне на работе кто-то такое сказал, я бы его отправил читать книжки или гуглить
на мой взгляд, это то же самое, что при обучению английскому плевать на грамматику, главное словарный запас. Понимать Вас будут, но скорее всего не так, как Вы это задумали
извините за возможно резковатый тон, но оправдывать сознательное упрощение и подмену понятий ленью студентов, мне кажется, не стоитdarken99
19.04.2017 12:32+1в Вашей статье есть фраза «протокол Ethernet», если бы мне на работе кто-то такое сказал, я бы его отправил читать книжки или гуглить
А что вас смущает?
Protocol suite: Ethernet
Busla
20.04.2017 23:53модель OSI — это бюрократические фантазии, как можно было бы строить сети, если забить на существующую практику :-)
SchmeL
17.04.2017 15:51И, главное, в дальнейшем у вас нет никакого желания становиться профессионалом в этой области. Тогда эта статья для вас.
Электрик в женском общежитии.
Karpion
20.04.2017 23:21Честно говоря — какая-то каша получилась. А всё потому, что Вы ставите перед собой внутренне противоречивую задачу:
Вам поставили задачу: в быстрые сроки построить информационную сеть на небольшом предприятии.
Так вот, в этой ситуации вместо всей этой статьи надо написать всего одну фразу:
И, главное, в дальнейшем у вас нет никакого желания становиться профессионалом в этой области
"Наймите профессионала!"
Из основных недостатков статьи я бы выделил следующи:- Не сказано про модель OSI. Да, она довольно кривая (например, TCP точно относится к четвёртому уровню — а UPD должен быть на третьем, там же, где и IP) — но ничего лучше у нас нет.
- Вы рассказываете про Ethernet и IP, но ничего не говорите про альтернативы типа TokenRing и IPX. Это значит, что студентам всё равно будет непонятно, зачем сделано именно так, а не иначе; и как вообще бывает иначе. Это не говоря уж о том, что не рассказано про соединения «точка-точка» типа PPP или SLIP, где нет MAC-адресов.
- Не рассказано про QoS и DHCP.
- Не рассказано об IP-маршрутизации, т.е. о назначении IP-адресов. А если Вы пишете про VLAN — то IP-маршрутизация необходима.
Busla
21.04.2017 00:03потому что модель OSI не имеет никакого отношения к сложившейся практике построения сетей
p.s. ладно, дёрнули оттуда пару-тройку идей, в частности коммутаторы вместо хабов, но это довольно косвенное влияниеKarpion
21.04.2017 02:46Модель OSI была попыткой осмысления и обобщения существовавших на тот момент технологий. Понятно, что при построении модели многое было отброшено ради упрощения — но сама модель строилась на реальности.
Далее те люди, которые проектировали сети, обычно были знакомы с этой моделью — и строили новые сети под эту модель.
В модели OSI почти всё хорошо. Главное, что в ней плохо — это отсутствие описания взаимодействия, когда не требуется подтверждение доставки данных, а взаимодействие клиента и сервера (ну или кто там общается по сети) успешно происходит в условиях неполной доставки данных. (Когда я преподавал в МФТИ, то разбирал н алекциях, в каких случаях это возможно и даже нужно.)Busla
21.04.2017 10:28Почитайте сам стандарт OSI/ISO. Взять хотя бы вступление:
This reference model provides a common basis for the coordination of standards development for the purpose of systems interconnection, while allowing existing standards to be placed into perspective within the overall reference model.
Это не обобщение, а ПЕРЕосмысление существовавших на тот момент технологий. Это довольно проработанные рекомендации по разработке. Естественно в рекомендации не включены явно костыльные (или не особо явно), неудачные, плохо себя зарекомендовавшие на практике, решения.
В основе идей OSI/ISO лежит коммутация каналов, в основе TCP/IP — маршрутизация пакетов. Эти концепции противоречат друг другу.
И если отойти от конкретного содержания, то ваше утверждение выглядит примерно так:
Европейский институт электротехники описал своими словами сетевые наработки американских военных, зарегистрировал как свой стандарт и теперь продаёт это за деньги :-)Karpion
22.04.2017 15:28Это не обобщение, а ПЕРЕосмысление существовавших на тот момент технологий.
Обобщение существующих технологий — это первый этап переосмысления. Ибо чтобы переосмыслить что-то существующее — надо его знать, причём не просто знать первичный сырой материал, а провести анализ и выделить общие закономерности.
Это довольно проработанные рекомендации по разработке.
А выработка рекомендация по разработке — это вторая часть переосмысления, когда на основе анализа были выведены суждения о том, что в существующих решениях хорошо, и это надо применять; а что плохо, и этого надо избегать.
Естественно в рекомендации не включены явно костыльные (или не особо явно), неудачные, плохо себя зарекомендовавшие на практике, решения.
Т.е. UDP — это неудачное решение???
В основе идей OSI/ISO лежит коммутация каналов, в основе TCP/IP — маршрутизация пакетов. Эти концепции противоречат друг другу.
Коммутация каналов не нуждается в пакетировании. Т.е. датаграммный уровень модели OSI противоречит концепции коммутация каналов.
И если отойти от конкретного содержания, то ваше утверждение выглядит примерно так:
Видите ли, тут надо заменить «американских военных» на «американских военных и многих других разработчиков». Причем американские военные тут явно были не на первом месте.
Европейский институт электротехники описал своими словами сетевые наработки американских военных, зарегистрировал как свой стандарт и теперь продаёт это за деньги :-)
ksg222
21.04.2017 08:17А что Вы подразумеваете под «UPD»? И почему оно должно быть на третьем уровне OSI?
Karpion
22.04.2017 22:05Разумеется, это была очепятка: я имел в виду «UDP».
3rd lvl OSI — это уровень датаграмм (в IP и в IPX — это называется «пакет»).
4th lvl OSI — это уровень гарантированной доставки данных, уровень сессионных соединений.
Очевидно, что UDP — это отдельные датаграммы/пакеты, никак не выстроенные в сессию.
Если мы говорим про реализацию NFS over UDP (есть две реализации NFS — «over UDP» и «over TCP»; меня тут интересует только первая) или NetBIOS over IPX — то там работа по организации сессии вынесена в протокол, работающий поверх UDP/IPX. Получается, что четвёртый и пятый уровни модели OSI совмещены в одном протоколе.
Что же касается протокола типа DNS — то там вообще нет никакой сессии: при отсутствии ответа клиент тупо повторяет запрос так, как будто первого запроса и не было. То же самое — в Ping (правда, он не имеет отношения к UDP, а работает по ICMP) и в ARP (этот вообще на третьем уровне OSI).
В DHCP есть убогое подобие сессии. И оно вынесено в протокол, работающий поверх UDP.
Т.е. по факту мы имеем несоответствие реальных протоколов модели OSI.
Кстати, есть особый протокол NBT — NetBIOS over TCP. Он отличается от обычного NetBIOS (который over IPX или NetBEUI) тем, что возлагает доставку данных на TCP, и за это заслуживает отельного имени.ksg222
23.04.2017 11:43То что реальные протоколы не соответствуют модели OSI и TCP/IP общее известный факт. Обе модели не идеальны. Из TCP/IP взяты стеки протоколов. Модель же OSI используется в основном в образовательных целях для описания работы сети.
Вы правильно заметили, не все протоколы укладываются в модель OSI. Но это и понятно, так как OSI сугубо образовательная вещь. По многим из них можно долго дискутировать, куда отнести. Например, для таких протоколов, как ARP, MPLS даже придуманы новые уровни — 2.5, так как их нельзя однозначно определить ни к канальному, ни к сетевому.
Если мы говорим про UDP, то он с натяжкой но всё-таки укладывается в описание транспортного уровня OSI. Именно поэтому, если мы посмотрим в книги Таненбаума, Олифера, различные вендорные материалы, данный протокол мы увидим именно на транспортном уровне. UDP обеспечивает связь между приложениями(программами) на хостах. Он является прослойкой между сетевым уровнем, отвечающим за маршрутизацию пакетов в сети, и приложением/сеансовым уровнем.Karpion
23.04.2017 17:54Это сейчас модель OSI используется в образовательных целях. А вот когда её создавали — предполагалось, что её будут использовать как «скелет», на который будет навешена реализация. Но так получилось, что попытки строить сети по схеме OSI давали дорогой, ненадёжный, медленный и вообще неэффективный результат. Ну и пришлось оставить модель OSI в качестве исторического казуса и в виде некой схемы, используемой в образовании — причём при переносе её в образование модель исказили, натягивая на реальность.
Я упорно не понимаю, каким образом ARP впихивают в «уровень 2.5». Чтобы быть там, ARP должен работать поверх уровня 2 (это выполняется), а поверх ARP должен работать хоть один протокол уровня 3. Однако, в ARP не инкапсулируется ни один из протоколов 3-го уровня модели OSI.
ARP для IP играет примерно такую же роль, как DNS — для WWW/FTP/Telnet/etc: При отсутствии нужной информации в кэше делается запрос, информация вносится в кэш, а дальше ARP и DNS не нужны. Более того: информацию можно внести в кэш, минуя эти протоколы (статические ARP-записи или файл hosts соответственно).
UDP никак не может попасть на 4-й уровень OSI — ибо там требуется обеспечивать надёжную доставку данных.
Задача UDP — это не обеспечение связи/сеанса. UDP обеспечивает исключительно разделение приложений по портам — т.е. он обладает той же функциональностью, что и IP (возможны пропажа и дублирование пакетов, возможно изменение порядка пакетов и возможны проблемы с MTU), добавляя к этому только «порт» (тот, который для DNS = 53).ksg222
23.04.2017 23:43ARP явно протокол не канального уровня. И уж точно не сетевого, так как не обеспечивает передачу данных между сетями. Вот и получается подобие уровня 2.5.
На четвёртом уровне OSI слово «надёжность» может варьироваться в очень больших пределах. Во всяком случае, так обычно пишут. Может быть, все дружно врут. Лично сам стандарт не читал (ISO просят по-дружески 198 швейцарских франков в качестве дара на развитие новых стандартов, пока думаю :)).
Но допустим, что UDP отнесли к сетевому уровню. Разве он позволит нам определить кратчайший маршрут и дальше обеспечить передачу данных между сетями? Нет. Получается, что на сетевом уровне ему тоже не место. Бедный UDP.
Karpion
24.04.2017 19:06ARP явно протокол не канального уровня. И уж точно не сетевого, так как не обеспечивает передачу данных между сетями.
С первой фразой я полностью согласен.
А вот аргумент «не обеспечивает передачу данных между сетями» я отказываюсь принять, ибо есть протоколы типа NetBEUI, которые не имеют задачи объединять сети, но при этом прекрасно работают именно на третьем уровне.
На четвёртом уровне OSI слово «надёжность» может варьироваться в очень больших пределах.
Надёжность UDP — точно такая же, как у IP. Как-то нелогично говорить о надёжности четвёртого уровня. если всё, что для этого сделано — сделано ещё на третьем уровне.
Лично сам стандарт не читал (ISO просят по-дружески 198 швейцарских франков в качестве дара на развитие новых стандартов, пока думаю :)).
Неужто никто из тех, кто получил доступ к этому стандарту, не выложил его в открытый доступ?
Разве {UDP} позволит нам определить кратчайший маршрут и дальше обеспечить передачу данных между сетями?
Простите, а разве обязательно определять кратчайший маршрут? Сеть м.б. вполне работоспособной даже если данные (пакеты) доставляются не кратчайшим маршрутом.
UDP — это как бы дополнение к IP. Т.е. эти два протокола вместе обеспечивают ту функциональность, которую разработчики модели OSI поместили на третий уровень.
Вот тут на третий уровень засунули протоколы динамического роутинга. Это феерично! Они же работают поверх TCP или UDP!!!ksg222
24.04.2017 23:41Транспортный уровень OSI не обязательно должен быть надёжным. Но вот получить данные от верхнего уровня, упаковать их и обеспечить передачу в отрыве от сетевого уровня должен. TCP и UDP со 100% точностью не укладываются в определение транспортного уровня модели OSI, так как они разрабатывались в отрыве от неё. Но общепринято эти оба протокола относить именно к нему.
Протоколы динамической маршрутизации относят к протоколам, обеспечивающим работу других уровней, например, сетевого. Обычно их не пытаются уложить в какой-то уровень модели OSI. Даже в приведенной ссылке не присутствует такое заявление. Максимум указывают поверх какого уровня они работают (например: IS-IS — поверх канального, OSPF — сетевого, RIP или BGP — транспортного).Karpion
25.04.2017 02:27Но вот получить данные от верхнего уровня, упаковать их и обеспечить передачу в отрыве от сетевого уровня должен.
Хм-м-м… А разве TCP и UDP способны работать поверх другого протокола (типа IPX или NetBEUI)? Мне всегда казалось, что TCP и UDP разработаны в жёсткой привязке к IP; в частности, при переходе к IPv6 пришлось переделывать и TCP.
Но общепринято эти оба протокола {TCP и UDP} относить именно к нему.
Ну, с этим я как раз не спорю. Просто у меня формулировка другая: «Общепринятое представление о модели OSI и о распределении протоколов по её уровням — это достаточно кривое натягивание некой „идеальной“ (в представлении теоретиков о том, как оно должно быть) схемы на реальность. А реальность сильно расходится с представлениями создателей модели OSI.»
Протоколы динамической маршрутизации относят к протоколам, обеспечивающим работу других уровней, например, сетевого.
А вот и нет!!!
Тут Вы путаете «службу динамического роутинга» (т.е. совокупность программ, вносящих поправки в таблицы роутинга) и «протоколы динамического роутинга» (т.е. формат пакетов, переносяхих информацию между разными компонентами службы).
Иерархия протоколов — это строго инкапсeляция: HTML-страница запихивается в HTTP-конверт (т.е. к HTML-странице дописываются заголовки), HTTP-конверт с содержимым запихивается в TCP-сессию, TCP-сессия распихивается по IP-пакетам, каждый IP-пакет запихивается в Ethernet-кадр, Ethernet-кадр кодируется в электрический сигнал Manchester-II.
А протоколы динамического роутинга могут достаточно долго (прядка нескольктих минут) «молчать» — при том, что IP-трафик может идти хоть с гигабитной скоростью. Или программа динамического роутинга может вообще отключиться, и всё будет продолжать работать до тех пор, пока не потребуется её вмешательство, а это обычно вызывается изменением топологии сети. Инкапсуляции тут и близко нет.
Аналогично нет инкапсуляции IP в ARP, нет инкапсуляции HTTP/FTP/Telnet/etc в DNS.
PS: Если Вы хотите от меня оперативных ответов — помогите мне вернуть статус «захабреный». А то задержка в один час между ответами сильно мешает.
Busla
21.04.2017 10:52Вложность протоколов (в данном случае TCP поверх IP поверх Ethernet) называется стеком протоколов.
Вы полагаете, люди, которые ввели в оборот «стек» просто не знали слов «вложенность», «инкапсуляция» и т.п.? Стек в данном случае это набор абстрактных уровней, которые надо добавлять/интерпретировать последовательно (по принципу LIFO) в процессе передачи/обработки данных. Протоколам не обязательно быть вложенными, как например упомянутый вами VLAN — отдельный (под)уровень в стеке, но реализован как тэг/поле данных.
ALexhha
23.04.2017 12:41Несколько замечаний
В протоколе Ethernet находятся номер сетевого адаптера отправителя (MAC-адрес)
может все таки идентификатор ну или адрес? Ибо звучит как то совсем дико. "A media access control address (MAC address) of a computer is a unique identifier assigned to network interfaces for communications at the data link layer of a network segment."
Существуют сети классов A, B, C, D и E. Они различаются по количеству компьютеров и по количеству возможных сетей/подсетей в них.
т.е. в сети могут быть только компьютеры? А как же другие сетевые устройства?
К примеру, компьютер с ip адресом 192.168.30.110 хочет отправить информацию другому компьютеру с номером 3, находящемуся в той же логической подсети. Это значит, что ip адрес получателя будет такой: 192.168.30.3
что это еще за номер 3?!
Коммутатор, получив такой широковещательный фрейм, отправляет его всем компьютерам сети, как бы обращаясь ко всем с вопросом: «если Вы владелец этого ip адреса (ip адреса назначения), пожалуйста сообщите мне Ваш mac адрес».
Почему нет упоминанию про таблицу mac адресов у самого коммутатора?
Такой адрес называется широковещательным, и такой фрейм будер разослан всем «интерфейсам на кабеле», т.е. всем компьютерам, подключённым к коммутатору.
Нет не всем. Вы что-нибудь про «штормы» слышали и как их избегают?
VLAN-ы помогают решить одно из требований к безопасности сети, а именно разграничение сетевых ресурсов. Так, студен из одной аудитории не сможет проникнуть на компьютеры другой аудитории или компьютер ректора, т.к. они находятся в фактически разных сетях.
сможет, если на 3м уровне не будет никаких запретов. Ведь VLAN-ы это всего лишь L2 (привет OSI)
Например, когда вы заходите в «Сетевое окружение» (ОС Windows), ваш компьютер посылает ещё несколько ШС со специальной информацией, сформированной по протоколу NetBios, что бы просканировать сеть на наличие компьютеров, находящихся в той же рабочей группе. После чего ОС рисует найденные компьютеры в окне «Сетевое окружение» и вы их видите.
На самом деле там конечно все сложнее, ибо есть понятия Master browser и т.п. вещи, но объяснять основы сетей на таком примере, это вообще за гранью добра и зла, имхо. А потом у пользователей начинается паническая атака, когда они не видят сетевого окружения ;)
Так же стоит заметить, что во время процесса сканирования той или иной программой, ваш компьютер отсылает ни одно широковещательное сообщение, а несколько, к примеру для того, что бы установить с удалёнными компьютерами виртуальные сессии или ещё для каких либо системных нужд, вызванных проблемами программной реализации этого приложения.
ну очень сильно зависит от программы и используемого протокола. Если у вас используется веб сервер, тот же nginx, с чего он вдруг будет генерировать широковещательные сообщения?
И для того, что бы она со своего нового места могла по прежнему пересылать файлы своим коллегам, администратор должен удалить из второго списка число 20 и добавить число 23.
особо ленивые администраторы настраивают 802.1X (с dynamic vlan assignment) и ничего не меняют
Для передачи информации другому компьютеру, в отправляемом пакете информации надо указать три идентификационных значения — mac адрес, ip адрес и порт. Условно говоря, порт — это номер, который, выдаёт операционная система каждой программе, которая хочет отослать данные в сеть.
вы, например, про ICMP что нибудь слышали?
Модель OSI вызывает зевоту и полное отторжение у целевой аудитории этой статьи
а потом на собеседовании ты задаешь вопросы, а человек начинает плавать. Самый простой вопрос — «Два компьютера не видят друг друга. Как найти причину неисправности» и тут без знания модели OSI (да да, те самые физические и канальные уровни) начинается плаванье
Статья опробована на реальных студентах. Я давал им прочитать часть статьи и оценить на понятность. Затем редактировал и упрощал материал до тех пор, пока он ни стал понятен даже самым отпетым двоечникам.
я дико извиняюсь, возможно такой уровень подачи подойдет для каких-нибудь бухгалтеров, но в специализированном институте с ИТ уклоном, это не приемлемо. И уж тем более нанимать человека для построения сети предприятия недопустимо, имхо
redfs
Модель OSI и место описываемых протоколов в ней именно поэтому сократили, осознанно?
f1af
Да. Модель OSI вызывает зевоту и полное отторжение у целевой аудитории этой статьи. Добавлю так же, что первый пункт этой статьи поняли и одобрили даже девушки младших курсов, которым данная тема была совершенно непонятна до этого.
varnav
Даже больше скажу — модель OSI на практике нигде не используется. Все сети (не берём телеком в целом) можно полностью уложить в модель DoD.
Chugumoto
ммм… не соглашусь :) при работе с ISDN PRI на цысках помогало :)
varnav
А я тут специально сделал оговорку про телеком, ведь ISDN PRI это как раз он (телефония).
f1af
Единицами — значит (ff:ff:ff:ff:ff:ff), т.е. (255, 255, ...), т.е. (1111111111111111b, 1111111111111111b, ,,,).
cagami
т/e вы просто говорите, что заполняем единицами и не говорите, что ff(16ричная система):255(10чная система)11111111(2ичная система)
я бы сказал, что это не понятно (=
redfs
Я понял, что автор оперирует двоичной системой в описании шестнадцатеричной адресации только после его объяснения. Я все таки думаю, что автор занижает уровень своей целевой аудитории :)
f1af
Нет, статья проверялась на живых студентах =)
И редактировалась много раз, до тех пор, пока не стало понятна даже самой далёкой от компьютеров блондинке. В прямом смысле. Просил вычитывать эту статью и блондинок тоже. И просил пересказа то, что они поняли.
cagami
так если вы упрощаете для самых самых
то я думаю нужно пояснить почему фраза заполняем единицами верна
как я писал выше 16->10->2
bdv_s4kt
Не ну серьезно? Вам не понятно, что ff — это единицы? Может пока рано хабр тогда читать, а не на автора налетать.
cagami
Серьёзно, причем тут знание ff-единицы и хабр читать?
мы обсуждаем как преподносится информация студентам
drdoc
Исходя из практики, живые студенты(даже отличники) очень затрудняются при решении универсальной задачи на собеседовании для IT.
Мол есть два компьютера в сети. Дается схема сети, но допустим каждый за своим коммутатором которые связаны через интернет.
Суть задачи в следующем, необходимо описать полностью последовательно все процессы происходящие после того как пользователь1 на своем компьютере1 ввел в строку браузера белый айпи пользователя2 и нажал Enter. То есть не то какой пакет даже появится если просмотреть ваершарком, а даже те моменты в каком порядке берутся маки айпи порты и тп. Как зарождается пакет, как он идет и что где и на что заменяется.
Обычно когда человек понимает это, остальное становится легко. Лучше на таких задачах объяснять студентам.