Что такое коммутированная сеть ethernet
Перейти к содержимому

Что такое коммутированная сеть ethernet

  • автор:

Коммутируемые сети Ethernet

Компьютерные сети бывают очень разными: большими и маленькими, всемирно известными и почти никому не известными. Они преследуют в своей работе раз­ные цели, имеют разные масштабы, используют разные технологии. В этом разделе мы рассмотрим несколько примеров, помогающих осознать, насколько многооб­разен мир сетей. Первым примером будет самая известная сеть сетей, Интернет. Вы узнаете, как она появилась, как эволюционировала и какие технологии при этом использовались. Затем мы обратимся к технологии ATM, которая часто слу­жит ядром больших (телефонных) сетей. Технически ATM довольно сильно отличается от Интернета, их даже можно в некотором смысле противопоставить. Мы представим также основную технологию, использующуюся при создании ло­кальных вычислительных сетей, – Ethernet. Наконец, последним примером в этом разделе будет стандарт беспроводных локальных сетей IEEE 802.11

Для начала следует еще раз напомнить о том, что Интернет вообще не является сетью, это собирательное название разных сетей, использующих определенные общие протоколы и предоставляющие определенные сервисы. Эта система не­обычна тем, что ее никто специально не планировал и не контролировал. Чтобы лучше понять, почему так получилось, мы начнем с самых истоков существова­ния Интернета. В качестве прекрасного пособия по истории Интернета можно порекомендовать книгу, которую написал Джон Нотон (John Naughton) в 2000 го­ду. Это редкое издание, потому что оно не только легко читается, но и содержит двадцатистраничный библиографический список параллельных мест и цитат, ко­торые будут полезны людям, всерьез занимающимся историей. Часть материала, представленного далее, основывается именно на этой книге.

История глобальных сетей началась в конце 50х годов. В самый разгар холодной войны Министерство обороны США пожелало иметь сеть, которая могла бы пере­жить даже ядерную войну. В то время все военные телекоммуникации базировались на общественной телефонной сети, которая была сочтена слишком уязвимой. Графически эта уязвимость демонстрируется на рис. 1.21. Здесь черными точками обозначены коммутационные станции, с каждой из которых были связаны тысячи абонентов. Эти коммутаторы, в свою очередь, являлись абонентами для станций более высокого уровня – междугородных. Междугородные станции формировали национальные сети. При этом степень резервной избыточности была минимальной. Уязвимость заключалась в том, что потеря всего одного ключе­вого коммутатора или междугородной станции разделила бы сеть на изолирован­ные участки.

Для решения этой проблемы Министерство обороны обратилось к корпорации RAND. Один из ее работников, Пол Бэрен (Paul Baran), разработал проект высоконадежной распределенной сети (рис. 1.21, б). Поскольку по линиям такой большой длины тяжело было бы передать аналоговый сигнал с допустимым уровнем искажений, Бэрен предложил передавать цифровые данные и использовать технологию коммутации пакетов. Им было написано несколько отчетов для Министерства обороны, в которых описывались подробности реализации его идей. Пентагону понравилась предложенная концепция, и компании AT&T (тогдаш­нему монополисту в США по части телефонных сетей) было поручено разрабо­тать прототип. AT&T сразу же отклонила идеи Бэрена. Конечно, богатейшая и крупнейшая компания не могла позволить какому-то мальчишке указывать ей, как следует строить телефонные сети. Было заявлено, что бэреновскую сеть построить невозможно, и на этом проект был закрыт.

Прошло еще несколько лет, но Министерству обороны так и не было предло­жено никакой замены существующей системе оперативного управления. Чтобы понять, как развивались события дальше, мы вспомним октябрь 1957 года, когда в СССР был запущен первый в мире искусственный спутник Земли и тем самым основной соперник США получил преимущество в космосе. Тогда президент Эйзенхауэр задумался о том, кто же допустил такой прокол. И выяснилось, что армия, флот и ВВС США только зря проедают деньги, отпущенные Пентагоном на научные исследования. Было немедленно решено создать единую научную организацию под покровительством Министерства обороны, ARPA (Advanced Research Projects Agency, Управление перспективного планирования научно-исследовательских работ). У ARPA не было ни ученых, ни лабораторий. У нее вообще практически ничего не было, за исключением небольшого офиса и скромного (по меркам Пентагона) бюджета. ARPA занималось тем, что выбирало из множества предлагаемых университетами и компаниями проектов наиболее пер­спективные и организовывало выделение грантов под эти проекты и заключение контрактов с этими организациями.

Все первые годы своего существования ARPA пыталось определиться с на­правлением своей деятельности, пока внимание ее директора Ларри Робертса (Larry Roberts) не привлекли компьютерные сети. Он наладил контакты с различными экспертами, пытаясь понять, какие разработки могут представлять наибольший интерес для Министерства обороны. Один из экспертов, Весли Кларк (Wesley Clark), предложил построить подсеть с коммутацией пакетов, где каж­дый хост имел бы собственный маршрутизатор.

После преодоления собственного скептицизма Робертс все же решился при­обрести эту идею и представил некий смутный отчет, касающийся этого, на сим­позиуме ACM SIGOPS, посвященном принципам работы операционных систем.

Симпозиум состоялся в Гетлингбурге, штат Теннесси, в конце 1967 года (Ro­berts, 1967). К большому удивлению Робертса, он услышал доклад, в котором описывалась очень похожая система, причем эта система была не только спроектирована, но и реализована под руководством Дональда Дэвиса (Donald Davis) в Национальной физической лаборатории (NPL) Англии. Разработанная NPL сеть, конечно, не охватывала всю страну – она вообще соединяла лишь несколь­ко компьютеров на территории организации, но ее реализация доказала, что па­кетная коммутация может с успехом применяться на практике. Более того, то, что услышал Робертс, практически цитировало отвергнутую когда-то разработку Бэрена! Директор ARPA уехал из Гетлингбурга с твердым намерением создать в Америке то, что позднее будет названо ARPANET.

Подсеть должна была состоять из специализированных миникомпьютеров, называемых IMP (Interface Message Processor), соединенных линиями связи, пере­дающими информацию со скоростью 56 Кбит/с. Для повышения надежности каж­дый IMP должен был соединяться как минимум с двумя другими IMP. Подсеть должна была быть дейтаграммной, чтобы в случае если какие-либо линии и IMP разрушатся, сообщения могли бы автоматически выбрать альтернативный путь.

Каждый узел сети должен был состоять из IMP и хоста, находящихся в одной комнате и соединенных коротким проводом. Хост мог пересылать своему IMP сообщения длиной до 8063 бит, которые IMP разбивал на пакеты, как правило, по 1008 бит, и пересылал их далее, независимо друг от друга, к пункту назначения. Пакет пересылался дальше только после того, как он был получен целиком, – таким образом, это была первая электронная коммутирующая пакеты сеть с промежуточным хранением.

Затем агентство ARPA предложило тендер на строительство подсети. В тен­дере участвовали двенадцать компаний. Оценив предложения, агентство ARPA выбрало BBN, консалтинговую фирму в Кембридже, штат Массачусетс, и в де­кабре 1968 года подписало с ней контракт на постройку подсети и создание для нее программного обеспечения. BBN решило использовать специально модифи­цированные миникомпьютеры Honeywell DDP316 с 12 Кбайт 16разрядных слов оперативной памяти в качестве IMP. У IMP не было дисков, поскольку движущиеся детали были сочтены ненадежными. Их соединили линиями с пропускной способностью по 56 Кбит/с, арендованными у телефонных компаний. Хотя в наше время 56 Кбит/с – это выбор подростков, которые еще не могут позволить себе ADSL или прокладку качественного кабеля, в 1968 году ничего более высокоскоростного просто не существовало.

Программное обеспечение было разбито на две части: для подсети и хостов. Подсетевое программное обеспечение состояло из части соединения хост – IMP со стороны IMP, протокола IMP–IMP и протокола между IMP-источником и IMP-приемником, разработанного для улучшения надежности. Оригинальная структура сети ARPANET показана на рис. 1.22.

Вне подсети также требовалось программное обеспечение, а именно: соединение хост–IMP со стороны хоста, протокол хост–хост и прикладные программы. ‘Как вскоре выяснилось, фирма BBN полагала, что ее задача ограничивается приемом сообщения на линии хост–IMP и передачей его на линии IMP–хост приемника.

Чтобы решить проблему программного обеспечения для хостов, Ларри Робертс летом 1969 года созвал совещание сетевых исследователей, большей частью аспирантов, в городе Сноуберд (Snowbird), штат Юта. Аспиранты ожидали, что какой-нибудь эксперт в области сетей объяснит им устройство сети и его программное обеспечение, после чего распределит между ними работу. С изум­лением они обнаружили, что не было ни специалиста по сетям, ни плана. Они должны были сами решать, что нужно сделать.

Тем не менее в декабре 1969 года удалось запустить экспериментальную сеть, состоящую из четырех узлов, расположенных в Калифорнийском университете в Лос-Анджелесе (UCLA), Калифорнийском университете в Санта-Барбаре (UCSB), Исследовательском институте Стэнфорда (SRI, Stanford Research Institute) и уни­верситете штата Юта. Были выбраны эти четыре университета, поскольку у них был большой опыт общения с агентством ARPA; кроме того, у всех имелись различные и совершенно несовместимые компьютеры-хосты (чтобы было веселее). Сеть быстро росла по мере создания и установки новых IMP. Вскоре она охватила все Соединенные Штаты. На рис. 1.23 показано, как быстро росла сеть ARPANET в первые три года.

Помимо помощи развивающейся сети ARPANET, агентство ARPA также фи­нансировало исследовательские работы по спутниковым сетям и разработку мобильных пакетных радиосетей. На одной знаменитой демонстрации грузовик, который ездил по Калифорнии, посылал сообщения по пакетной радиосети в SRI, которые затем передавались по ARPANET на Атлантическое побережье США и по спутниковой сети транслировались в University College в Лондоне. Таким образом, исследователь в грузовике мог работать с компьютером, находящимся в Лондоне.

При этой демонстрации также выяснилось, что имеющиеся протоколы сети ARPANET непригодны для работы с объединенными сетями. В результате были произведены дополнительные исследования в области протоколов, завершив­шиеся изобретением модели и протоколов TCP/IP (Cerf и Kahn, 1974). TCP/IP был специально разработан для управления обменом данными по интерсетям, что становилось все более и более важным по мере подключения все новых сетей к ARPANET.

Чтобы поощрить принятие новых протоколов, ARPA заключило несколько контрактов с BBN и Калифорнийским университетом в Беркли для интеграции этих протоколов в Berkeley UNIX. Исследователи в Беркли разработали удоб­ный программный интерфейс для выхода в сеть (сокеты), а также написали мно­жество приложений, утилит и управляющих программ, чтобы упростить работу с сетью.

Время было выбрано прекрасно. Многие университеты только что приобрели второй или третий компьютер VAX и ЛВС, чтобы их соединить, но у них не было сетевого программного обеспечения. С появлением системы UNIX 4.2 BSD, в которую вошли TCP/IP, сокеты и большое количество сетевых утилит, полный пакет был принят немедленно. Кроме того, TCP/IP позволял легко соеди­нить локальную сеть с ARPANET, что многие и делали.

В течение 80х годов к ARPANETбыли подсоединен еще ряд сетей, в основном ЛВС. По мере роста размеров глобальной сети задача поиска хостов становилась все сложнее. В результате была создана системаDNS(DomainNameSystem– служба имен доменов), позволившая организовать компьютеры в домены и преобразовывать имена хостов вIP-адреса. С тех порDNSстала обобщенной распределенной системой баз данных, хранящей имена хостов и доменов.

Ethernet и его типы. Таблица коммутации. Модель CSMA/CD

Существует два вида технологий Ethernet, которые мы подробно разберем в этой статье, классический и коммутируемый Ethernet.

p, blockquote 1,0,0,0,0 —>

p, blockquote 2,0,0,0,0 —>

Виды Ethernet

Первым появился к лассический Ethernet в 1973 г. Он применял разделяемую среду в виде коаксиального кабеля, который прокладывали от одного ПК к другому. Впоследствии, коаксиал заменили на концентратор. В сетях данного типа, есть вероятность возникновения коллизий. Для устранения коллизий, применяется метод CSMA/CD.

p, blockquote 3,0,0,0,0 —>

Плохая масштабируемость это изъян сети. Если в сети чересчур много ПК или им часто приходится передать данные, то основная часть времени затрачивается на коллизии и борьбу за доступ к среде, а не на передачу информации.

p, blockquote 4,0,0,0,0 —>

Информация, которая передаётся по разделяемой среде, доступна и другим ПК. Следовательно, безопасность классического изернет достаточно низкая.

p, blockquote 5,0,0,0,0 —>

Концентратор и коммутатор

Технология которая появилась в 1995 году и используется до сих пор — это коммутируемый Ethernet. Чтобы искоренить недостатки классического изернета, приняли решение абсолютно отказаться от разделяемой среды. Вместо неё применять соединение “точка-точка” , так чтобы не возникало коллизий. И для этого придумали и создали новый вид сетевых устройств — коммутаторы.

p, blockquote 6,0,0,0,0 —>

Вот так выглядят концентратор и коммутатор

p, blockquote 7,0,0,0,0 —>

Внешне концентратор похож на коммутатор. Говоря простым языком, это коробочки, у которых есть порты для подключения сетевых кабелей. Однако внутренне, коммутаторы и концентраторы глобально различаются.

p, blockquote 8,0,0,0,0 —>

Топологию “общая шина” использует концентратор, где внутри, все порты соединены друг с другом. Концентратор трудится на физическом уровне . Он отправляет электрические сигналы, поступающие на один порт, на все оставшиеся порты.

p, blockquote 9,0,0,0,0 —>

HUB и Swich

p, blockquote 10,0,0,0,0 —>

Внутри коммутатора полносвязная топология, обеспечивающая объединение всех портов напрямую, с помощью технологии “точка-точка”. Коммутатор действует на канальном уровне , а это значит, что он, проводит анализ заголовка канального уровня, получает оттуда адрес принимающей стороны и передает информацию только на тот порт, к которому подключен получатель, в отличии от концентратора, который передаёт данные на все порты.

p, blockquote 11,0,0,0,0 —>

Особенности работы коммутаторов

Чтобы нам понять, как работает коммутатор, разберем три понятия.

  • Таблица коммутации, встроенная во все коммутаторы. Описывает, к какому именно порту коммутатора, какие ПК подключены.
  • Применяется алгоритм обратного обучения чтобы узнать mac адреса компьютеров, подключённых к его портам.
  • Алгоритм прозрачного моста применяется после заполнения таблицы коммутации, для передачи данных.

Таблицы коммутации

В простом виде таблица коммутации (ТК) состоит из 2-х столбцов. Столбец №1 это порт коммутатора, а 2-ой это МАК-адрес ПК, который подключен к данному порту.

p, blockquote 13,0,0,0,0 —>

Таблица коммутации

p, blockquote 14,0,0,0,0 —>

В действительности, таблица выглядит намного сложнее, но чтобы понять принцип действия коммутатора, хватит этих 2-х полей.

p, blockquote 15,0,0,0,0 —>

Алгоритм обратного обучения

Чтобы узнать, как коммутатор узнает mac адреса компьютеров, которые подключены к его портам, применяется алгоритм обратного обучения.

p, blockquote 16,0,0,0,0 —>

Например, есть коммутатор, у него 8 портов. Его только что включили и не знает ничего про ПК, подключенные к нему. Ячейки в таблице коммутации пока пустые, коммутатор принимает все кадры, которые приходят на его порты и проводит анализ заголовка канального уровня. Из заголовка он извлекает адрес отправителя. Коммутатор определяет, что к порту №3 подключен ПК с таким же mac-адресом. И следовательно, записывает этот mac-адрес в ТК.

p, blockquote 17,0,0,0,0 —>

Коммутатор и таблица коммутации

p, blockquote 18,0,0,0,0 —>

И так далее, пока вся таблица коммутации не заполнится и коммутатор не будет знать МАК-адреса всех ПК, подключенные к его портам.

p, blockquote 19,0,1,0,0 —>

Сетевой мост

Чтобы отправить кадры внутри коммутаторов, применяется алгоритм прозрачного моста. Мост — был до коммутаторов, это спец устройство, используется для объединения нескольких сетей классического ethernet. Если в сети классического интернета будет подключено большое количество ПК, то возникнут коллизии и данные будут передаваться с низкой скоростью.

p, blockquote 20,0,0,0,0 —>

Мосты нужны для того, чтобы разделить крупные сети на несколько маленьких, внутри которых намного меньше возникало коллизий и информация передавались с большей скоростью. Мост был подсоединен к 2-м или нескольким сегментам классического изернет, принимал все кадры, которые передаются, но передавал их в другую сеть только в том случае, есть они предназначались для компьютера из другой сети.

p, blockquote 21,0,0,0,0 —>

Сетевой мост

p, blockquote 22,0,0,0,0 —>

Есть несколько видов мостов, но для коммутаторов выбрали режим работы прозрачного моста. Прозрачный мост, он незаметен для сетевых устройств. У него нет своего макадреса и ему не нужна настройка. Вы можете подключать к нему ПК и информация будет немедленно передаваться в отличие от коммутатора. Маршрутизатору нужны конфигурации для каждого порта. В маршрутизаторах необходимо прописать ip адрес , и настроить таблицу маршрутизации.

p, blockquote 23,0,0,0,0 —>

Алгоритм прозрачного моста

Например, таблица коммутации заполнена и коммутатор знает мак адреса компьютеров, подключённые к его портам. Коммутатор принимает кадры, проводит анализ заголовка канального уровня и извлекает оттуда адрес получателя. Он ищет этот мак-адрес в таблице коммутации, в нашем случае на картинке ниже, компьютер с таким мак адресом подключен к порту № 2.

p, blockquote 24,0,0,0,0 —>

Алгоритм прозрачного моста

p, blockquote 25,0,0,0,0 —>

Следовательно, кадр передается на порт №2, где и есть получатель, а не на все порты, как это делает концентратор.

p, blockquote 26,0,0,0,0 —>

кадр передается на второй порт

p, blockquote 27,0,0,0,0 —>

Если пришел кадр с адресом получателя, а этого адреса нет в таблице коммутации. То коммутатор работает по такой же схеме, как и концентратор.

p, blockquote 28,0,0,0,0 —>

Кадр которого нет в таблице коммутации

p, blockquote 29,0,0,0,0 —>

Передает кадр на все порты, кроме того порта откуда этот кадр поступил, надеясь, что к какому-нибудь из этих портов подключен компьютер получателя, просто по каким-то причинам он еще не передавал данные и поэтому его мак адреса нет в ТК.

p, blockquote 30,0,0,0,0 —>

Работа концентратора

p, blockquote 31,0,0,0,0 —>

Коммутатор и коллизии

Применяя сеть состоящую только из коммутаторов, коллизий не возникает. Исключением является полудуплексное соединение ПК к коммутатору, при котором передача данных в одно и то же время, возможна только в одну сторону. На данный момент, полудуплексное соединение применяется очень и обычно возникает в случае ошибок работы оборудования.

p, blockquote 32,0,0,0,0 —>

Если к какому-либо порту коммутатора подключить концентратор, то этот порт подключится к общей среде и на нем появятся коллизии, также как и в классическом ethernet.

p, blockquote 33,0,0,0,0 —>

Коллизии

Необходимо, чтобы данные передавал один ПК, если информацию будут передавать несколько компьютеров, то произойдет коллизия и информация будет потеряна.

p, blockquote 34,0,0,0,0 —>

Рассмотрим вариант сети с разделяемой средой, к ней подключено 4 компьютера и первый ПК начал передавать данные.

p, blockquote 35,0,0,0,0 —>

вариант сети с разделяемой средой

p, blockquote 36,0,0,0,0 —>

Он продолжает передавать данные, при этом сигнал пока не дошел до остальных компьютеров. Второй ПК тоже решил отправлять данные и передает сигнал в разделяемую среду.

p, blockquote 37,0,0,0,0 —>

передает сигнал в разделяемую среду

p, blockquote 38,1,0,0,0 —>

Спустя время сигналы столкнутся, наложатся друг на друга и будет невозможно прочитать сообщение ни от первого компьютера, ни от второго.

p, blockquote 39,0,0,0,0 —>

Коллизии

p, blockquote 40,0,0,0,0 —>

Именно такая ситуация и называется коллизией. Когда сигналы от нескольких устройств накладываются и нельзя прочитать данные.

p, blockquote 41,0,0,0,0 —>

Доступ к среде

Чтобы избежать коллизий и информация передавались успешно в сетях, где применяется разделяемая среда необходимо использовать, какой-то метод управления доступом к среде. Этот метод должен сделать так, чтобы в одно и то же время данные по разделяемой среде передавал только один компьютер.

p, blockquote 42,0,0,0,0 —>

В классическом Ethernet используется метод доступа к разделяемой среде CSMA/CD. Сокращение от английского Carrier Sense Multiple Access with Collision Detection. По-русски множественный доступ с прослушиванием несущей частоты и обнаружением коллизий.

p, blockquote 43,0,0,0,0 —>

Множественный доступ означает, что у нас есть какая-то разделяемая среда, которую используют несколько компьютеров.

p, blockquote 44,0,0,0,0 —>

Прослушивание несущей частоты

Для того, чтобы избежать коллизий, ПК передают информацию только тогда, когда среда свободна. И прослушивание это и есть способ определить свободна среда в данный момент времени или сейчас, какой-то другой ПК передает данные, через разделяемую среду.

p, blockquote 45,0,0,0,0 —>

Несущая частота это основная гармоника сигнала, применяемая для передачи информации на физическом уровне .

p, blockquote 46,0,0,0,0 —>

прослушивание несущей частоты

p, blockquote 47,0,0,0,0 —>

Например, в Ethernet при манчестерском кодировании происходит смена сигнала в середине каждого такта. Также дополнительно может происходить смена сигнала в конце каждого такта. Поэтому, все компьютеры смотрят изменяется ли сигнал с заданной частотой. И если сигнал изменяется, то значит, какой-то другой компьютер передает данные, поэтому сейчас передавать данные нельзя. Если же в сети нет несущей частоты, то можно передавать данные не опасаясь, что помешаешь какому-то другому устройству. Также возможен вариант, когда в сети есть какой-то сигнал. но в нем нет явно выраженной несущей частоты. Это говорит о том, что это не сигнал передачи данных, а просто помехи.

p, blockquote 48,0,0,0,0 —>

Обнаружение коллизий

Если два компьютера начали передавать данные одновременно, то происходит коллизия. Как в Ethernet компьютера обнаруживают коллизию? Для этого они передают и принимают данные одновременно и сравнивают эти данные между собой. Если тот сигнал, который компьютер передает в сеть отличается от того, который он принимает, это значит произошла коллизия. Входной сигнал меняется из-за того, что какой-то другой компьютер передает свой сигнал в сеть.

p, blockquote 49,0,0,0,0 —>

В Ethernet если компьютер обнаружил коллизию, он останавливает передачу и передает в сеть Jam последовательность. Это сигнал, который существенным образом искажает все данные, которые передаются по сети, усиливает коллизию, чтобы все компьютеры, которые подключены к разделяемой среде, гарантированно поняли, что коллизия произошла и остановили передачу.

p, blockquote 50,0,0,0,0 —>

Модель CSMA/CD

Работа по этому методу состоит из трех периодов, периода передачи, периода конкуренции и периода простоя. В период передачи, какому-то ПК удалось захватить доступ к разделяемой среде и он передает свои данные. В периоде простоя никому передавать данные не нужно и среда свободна.

p, blockquote 51,0,0,0,0 —>

Модель CSMA/CD

p, blockquote 52,0,0,0,0 —>

Период конкуренции возникает, когда несколько компьютеров пытаются начать передавать данные, из-за того, что данные передают несколько компьютеров, возникает коллизия, передача данных останавливается и так продолжается некоторое время, пока одному компьютеру не удастся захватить разделяемую среду себе в монопольное использование, после этого начинается период передачи.

p, blockquote 53,0,0,0,0 —>

Период передачи

Передавать какие-то кадры компьютер может, только если в среде нет несущей частоты. Компьютер проверил, что в среде несущая частота отсутствует, значит он может начинать передачу кадр.

p, blockquote 54,0,0,0,0 —>

Передача состоит из преамбулы, кадра и межкадрового интервала.

p, blockquote 55,0,0,0,0 —>

Формат преамбулы

p, blockquote 56,0,0,0,0 —>

Сначала передается преамбула, которая позволяет отправителю и получателю синхронизироваться и выделить кадр, затем передается сам кадр. А после этого выдерживается пауза, которая называется межкадровый интервал.

p, blockquote 57,0,0,1,0 —>

Преамбула в первом варианте Ethernet имеет следующий формат. Длина преамбулы 8 байт. Первые 7 байт это последовательность чередующихся нулей и единиц, именно за счет этого обеспечивается синхронизация отправителя и получателя. В восьмом байте в конце идет две единицы подряд (все последовательности на картинке сверху) это говорит о том, что преамбула закончиась и дальше идут данные кадры.

p, blockquote 58,0,0,0,0 —>

Передача кадра

Передача кадров в классическом Ethernet . Компьютер подключенный к разделяемой среде сначала передает преамбулу, а потом начинает передавать кадр.

p, blockquote 59,0,0,0,0 —>

Все компьютеры, которые подключены к этой разделяемой среде, начинают читать кадр и записывать данные в буфер. Все ПК читаю первые 6 байт кадра, в которых находится МАК-адрес получателя.

p, blockquote 60,0,0,0,0 —>

После этого компьютеры сравнивают мак адрес получателя со своим мак-адресом. И тот компьютер, который опознал свой мак-адрес продолжает записывать этот кадр в свой буфер. Все остальные ПК информацию из буфера стирают и не продолжают принимать данные.

p, blockquote 61,0,0,0,0 —>

Есть специальные режимы работы сетевого адаптера, неразборчивый в котором адаптер принимает все кадры, которые передаются по разделяемой среде независимо от того для какого mac адреса они предназначены. Такой режим работы удобно использовать для диагностики работы сети.

p, blockquote 62,0,0,0,0 —>

Период передачи

После того, как передача кадра закончилась, компьютер отправитель выдерживает межкадровый интервал. В классическом Ethernet его длина 9,6 мкс. Это нужно, чтобы один компьютер не захватил канал монопольно и не начал передавать кадр за кадром при этом не давая ничего передавать другим компьютерам, а также, чтобы привести адаптеры в исходное положение и подготовить их для принятия и передачи следующего кадра.

p, blockquote 63,0,0,0,0 —>

После того, как передача кадра завершена и выдержан межкадровый интервал другие компьютеры могут попытаться начать передавать данные. Если в это время данные захочет передавать несколько компьютеров, то происходит период конкуренции. Компьютеры пытаются захватить канал для передачи данных.

p, blockquote 64,0,0,0,0 —>

Период конкуренции

Компьютер, когда начинает передавать данные он также и принимает данные, чтобы понять произошла коллизия или нет. В период конкуренции, когда данные передают одновременно на несколько компьютеров, происходит коллизия, поэтому компьютеру необходимо сделать паузу и продолжить передачу через некоторое время. Однако, если все компьютеры будут ждать одинаковое время, то период конкуренции никогда не закончится. ПК обнаружат коллизию, подождут заданное время, снова начнут передавать данные, снова обнаружат коллизию и снова будут ждать одинаковое время. Поэтому, время для ожидания конкуренции выбирается случайным образом, по алгоритму.

p, blockquote 65,0,0,0,0 —>

Битовый интервал это время между появлениями двух последовательных битов данных. В классическом Ethernet это 0,1 мкс, но длительность битового интервала может быть любой, главное, что она фиксирована для конкретной сетевой технологии. Число L выбирается случайным образом из диапазона [0, 2 в степени N — 1], где N — номер попытки передачи данных.

p, blockquote 67,0,0,0,0 —>

Отсрочка

Этот алгоритм называется экспоненциальным двоичным алгоритмом отсрочки. Экспоненциальным, потому что при каждой попытке передачи данных, диапазон из которого выбирается случайное число для задержки увеличивается по экспоненте.

p, blockquote 68,0,0,0,0 —>

Когда компьютеры начали передавать данные и обнаружили коллизию, число L выбирается из диапазона [0,1]. Если компьютеров много и они работают активно, то велика вероятность, что два компьютера выберут одинаковое число L и снова произойдет коллизия. На втором этапе число L будет выбираться из диапазона [0,3], если еще коллизия, то [0,7] и тд.

p, blockquote 69,0,0,0,0 —>

Со временем диапазон из которого выбирается L становится достаточно большим и вероятность, что несколько компьютеров выберут одно и то же значение, снижается. При этом в классическом Ethernet используется ограничение, после 10 попыток, интервал из которого выбираются значение L не увеличивается, а после 16 попыток передача данных прекращается. Компьютер считает, что среда передачи данных неработоспособна.

p, blockquote 70,0,0,0,0 —>

Экспоненциальный двоичный алгоритм отсрочки хорошо работает если в сети мало компьютеров и когда компьютеры передают данные редко. В этом случае маленькая вероятность, что два или больше компьютеров выберут одно и тоже число L для времени ожидания. Однако, если нагрузка высокая, т.е. компьютеров много и они передают данные активно, то коллизии возникают гораздо чаще, число попыток передачи растет, увеличивается диапазон из которого выбирается значение L для задержки и время задержки для передачи каждого кадра увеличивается экспоненциально. В результате скорость передачи данных по сети существенно снижается.

p, blockquote 71,0,0,0,0 —>

Недостатки классического Ethernet

Классический Ethernet, который использует разделяемую среду для передачи данных обладает существенными недостатками.

p, blockquote 72,0,0,0,0 —>

Первый недостаток, когда в сети много ПК и они активно передают данные, то сеть работает очень медленно или становится неработоспособной. ПК большую часть времени тратят на борьбу за доступ к разделяемой среде, чем на передачу данных.

p, blockquote 73,0,0,0,0 —>

Некоторые оценки работоспособности, которые были проведены для классического Ethernet показали, что он может работать если в сети не более 30 компьютеров и они создают нагрузку на разделяемую среду не более 30%.

Безопасность в классическом изернет низкая, все данные, которые поступают в разделяемую среду доступны всем ПК в сети, потому любой, кто подключился к разделяемой среде, может перехватить ваши данные и посмотреть все что в них находится.

p, blockquote 75,0,0,0,0 —> p, blockquote 76,0,0,0,1 —>

И третий недостаток это разное время доставки кадра. Если компьютеру повезло и коллизий не возникло, то он может отправить кадр сразу, но для передачи другого кадра может понадобится 5-6 попыток. Разное время задержки при передачи кадров очень неудобно для трафика реального времени, такого как голосовой трафик или стриминг видео.

Сети для самых маленьких. Часть вторая. Коммутация

После скучного рассказа о подключении к кошкам переходим к настройке сети. В этот раз темы будут для новичков сложные, для старичков избитые. Впрочем сетевым аксакалам едва ли удастся почерпнуть что-то новое из этого цикла. Итак, сегодня:
а) аккуратно впитываем теорию о коммутаторах, уровнях сетевой модели, понятии инкапсуляции и заголовков (не пугайтесь — еще не время),
б) собираем спланированную в нулевой части цикла сеть,
в) настраиваем VLAN’ы, разбираемся с access и trunk-портами и тегированными Ethernet-фреймами,
г) соотносим текущие знания со стеком протоколов TCP/IP и моделью OSI (да, наконец-то мы ее коснёмся).

Перед тем, как вы обратитесь к практике, настоятельно рекомендуем почитать нулевую часть, где мы всё спланировали и запротоколировали.

Теория

Для начала необходимо определится с определениями и детерминировать терминологию. В начале пути с этим могут быть трудности, несмотря на горы википедии и прорву технических статей.
Рассмотрим самые общие термины, поскольку что такое коммутатор и маршрутизатор вы, во-первых, представляете, во-вторых, по ходу не раз ещё их затронем. Итак, тронулись:
СКС — структурированная кабельная система — это определение вы в любом яндексе найдёте. На деле это все провода, розетки, патчпанели и патчкорды, то есть грубо говоря, это физика вашей сети в узком смысле, в широком — это совокупность сетей: ЛВС, телефонные сети, системы видеонаблюдения и прочее. Это отдельный очень большой и порой сложный пласт знаний и технологий, который вообще не имеет точек пересечения с настройкой, поэтому к нему мы более обращаться не будем. Привели мы этот термин по большей части для того, чтобы читатель чувствовал отличие от следующего.
ЛВС = Локальная Вычислительная Сеть = LAN = Local Area Network. Актуальность слова “Вычислительная” сейчас можно поставить под сомнение, так же, как в слове ЭВМ. Всё-таки, говоря о современных сетях и устройствах, мы давно уже не держим в уме термин «вычисления», несмотря на то, что глубинная суть осталась неизменной. В этом плане буржуйские термин более универсален и даёт более простое представление о своём значении.
Итак, локальная сеть — в первом приближении — это сеть вашей организации. Вот, к примеру, обслуживаем мы сейчас сеть компании «Лифт ми Ап» с двумя офисам, так вот сети этих двух офисов и будут являться локальной сетью.
При втором приближении, локальной называют сеть, которая находится под управлением одного сетевого администратора. То есть, например, вы отвечаете за районный сегмент сети провайдера, в таком случае ваша районная сеть со всеми подсетями будет являться локальной, в то время, как вышестоящая сеть и сети других районов уже нет, так как за них отвечает уже другие люди. Вообще говоря, это уже MAN — Metropolian Area Network — сеть уровня города. Но в какой-то степени к ней можно применить понятие LAN и уж тем более VLAN.
С точки зрения меня, как абонента этого провайдера, моя локальная сеть — это всё, что до моего домашнего роутера. Интуитивно, наверно, все понимают о чём идёт речь.
Именно с локальными сетями мы и будем иметь дело в ближайших выпусках.

И последнее, что хотелось бы отметить в связи с ЛВС — это IP-адресация.
Все вы знаете, что когда вы включаете какой-нибудь домашний Wi-Fi-роутер в сеть, он обычно выдаёт вам IP-адрес, вроде 192.168.1.x. Почему именно 192.168 в начале?

Дело в том, что все IP адреса делятся на приватные (private, он же внутренний, “серый”, локальный), и публичные. Публичные используются в интернет, каждый адрес уникален, их распределение контролирует организация IANA(Internet Assigned Numbers Authority).

Приватные используются для адресации хостов (ну, строго говоря, не хостов, а интерфейсов) внутри ЛВС, их распределение никто не контролирует. Для них выделили три диапазона адресов (по одному из каждого класса):

10.0.0.0 — 10.255.255.255
172.16.0.0 — 172.31.255.255
192.168.0.0 — 192.168.255.255

Это те адреса, которые вы можете использовать в своей частной сети. Они вполне могут повторяться (и повторяются) в разных локальных сетях, и за её пределы они не выходят. Приватный адрес на то и приватный, поэтому любой пакет с адресом из диапазонов, указанных выше, попавший к провайдеру, будет отбрасываться.

Если вернуться к нашей старой схеме то вы увидите, что для своей сети мы выбрали приватные адреса из диапазона 172.16.0.0 — 172.31.255.255.
Достаточно подробно об IP-адресах можно почитать тут и тут.
У всех провайдеров и во внутренней сети любой крупной организации используются именно эти серые подсети. Если только вы не государственный ВУЗ, которому в своё время выпала сеть на несколько тысяч публичных адресов: Кемеровский Государственный Университет, к примеру, не озадачивается NAT’ом и прочей чепухой — просто на все компьютеры университетской сети раздаются белые IP.

Широковещательный домен — область сети, в которой происходит обмен широковещательными сообщениями, и устройства могут отправлять друг другу сообщения непосредственно, без участия маршрутизатора.
О чём это мы тут говорим? Ну, например, послал ваш компьютер широковещательный запрос в сеть в поисках DHCP-сервера. Фрейм этот (он же кадр) адресован всем устройствам и имеет MAC-адрес получателя FF:FF:FF:FF:FF:FF. Сначала он попадает на коммутатор, с которого его копии рассылаются на все порты. Потом часть попадает на другие компьютеры, часть уходят в соседние коммутаторы, кто-то доходит до маршрутизатора, а одну копию принимает-таки DHCP-сервер. И вот участок сети, внутри которого могут жить эти кадры и называется широковещательным доменом. А кончают свою жизнь они на конечных хостах (компьютеры, серверы) или на маршрутизаторах, которые их отбрасывают, если они им не предназначены:

Если же на коммутаторе заведены VLAN’ы, то они также разделяют широковещательные домены, потому что пакет между ними обязательно должен проходить через маршрутизатор, который отбросит широковещательные сообщения. Таким образом, один VLAN — это один широковещательный домен.

Ещё раз: у нас есть три способа разграничить широковещательные домены:
1) Поставить маршрутизатор и разнести хосты в разные подсети,
2) Разделить сеть VLAN’ами,
3) Порвать кабель.

Ну и самая жесть, которой часто сторонятся начинающие: OSI. Open System Interconnection. Вообще в двух словах, чтобы мозг не захламить за одно занятие. Эту модель называют эталонной, потому что в реальном мире дело не дошло до реализации. Но она само совершенство, поэтому инженеры и админы вворачивают это слово повсюду.
В основе лежат 7 китов сетевой иерархии: 7 уровней. Сегодня коснёмся двух нижних: первый — физический — это представление информации в виде сигналов, прямо скажем, битов. Задача этого уровня сгенерировать электрический, оптический или радиосигнал, передать его в среду и принять его. К нему относится вся физика: интерфейсы, кабели, антенны, медиаконвертеры (конвертеры среды), репитеры, старые хабы. В общем низкоуровневая это работа. Это первый уровень модели OSI и стека TCP/IP.
Второй — канальный. На этом уровне работают коммутаторы. Идентификатор устройства здесь, это MAC-адрес. У каждого узла (компьютер, маршрутизатор, ноутбук, IP-телефон, любой Wi-Fi-клиент) есть этот уникальный адрес, который однозначно определяет устройство в локальной сети. В теории MAC-адреса не должны повторяться вообще, но на практике такое однако случается и в рамках одного широковещательного домена может приводить к сложноотлавливаемым проблемам.
Наиболее известным протоколом этого уровня является Ethernet. Данные на этом уровне передаются кусками, каждый из которых называется Ethernet-фрейм (он же Ethernet-кадр, он же PDU канального уровня). Что он представляет из себя?

Payload — это полезная нагрузка — данные сетевого уровня, которые вкладываются (инкапсулируются) в кадр. MAC Header (Заголовок) — это служебная информация канального (второго) уровня. Самые важные пока для нас элементы — это source MAC-address (адрес отправителя кадра) и Destination MAC-address (адрес получателя кадра).

Третий уровень — сетевой (IP, ARP)
Четвёртый — транспортный (TCP, UDP, ICMP)
С пятого по седьмой — сеансовый, представления и прикладной (в стеке TCP/IP они не различаются и называются просто прикладным. На нём работают протоколы вроде HTTP, FTP, telnet и многие другие)

Сегодня мы акцентируемся на 1-м и 2-м уровнях, особенно на втором. Третьего и четвертого коснёмся в следующих выпусках.

Теперь проследим нелёгкий путь кадра.
Состояние покоя сети — утопия.

Вы пытаетесь пропинговать, например, адрес соседнего компьютера командой ping 192.168.1.118. Данные этого приложения показаны фиолетовым параллелепипедом.

За это отвечает протокол ICMP. В него инкапсулируется информация от приложения — это означает, что к данным 5-го уровня добавляется заголовок со служебной информацией 4-го уровня.

Его данные упаковываются (инкапсулируются) в IP-пакеты, где в заголовке указан IP-адрес получателя (192.168.1.118) и IP-адрес отправителя — логические адреса.

А затем всё это инкапсулируется в Ethernet-кадры с MAC-адресами отправителя и получателя — физическими адресами.

При формировании кадров в заголовке в качестве MAC-адреса источника (source) подставляется адрес вашего компьютера, а адресом получателя (destinantion) будет MAC-адрес компьютера — владельца IP-адреса 192.168.1.118 (о механизмах такого преобразования поговорим в следующий раз). То есть если бы вы смогли сфотографировать кадр, то вы бы увидели все эти данные в разрезе, так сказать.

На самом деле, нет ничего проще: запускаете какой-нибудь анализатор трафика, например, замечательный Wireshark и Ethereal, на своём компьютере и пингуете другой хост. Вот такую картину вы сможете лицезреть:

Dump

Вы это можете сделать прямо сейчас, читая эти строки, просто установив и запустив анализатор трафика.

В последнюю очередь сетевая карта вашего компьютера дробит фрейм на биты и отправляет их в кабель.

Коммутатор из поступивших битов собирает первоначальный кадр

Далее начинается интеллектуальный труд: из заголовка извлекается адрес получателя, перетрясается таблица MAC-адресов на предмет совпадения и, как только оное найдено, кадр без изменений отправляется в указанный порт. Если же адреса пока ещё нет или кадр пришёл широковещательный, то он направляется на все порты, кроме того, откуда пришёл.

Если адреса отправителя в таблице до сих пор не было, то в этот момент коммутатор добавит его.
Естественно, кадр опять передаётся в виде битов — это закон электроники, и вы должны просто всегда иметь это в виду.

Конечный хост, получив поток битов, собирает из них кадр, ещё только предполагая, что он предназначается ему.

Далее он сравнивает MAC-адрес получателя со своим и, если они совпадают, то заголовок второго уровня отбрасывается, а IP-данные передаются на обработку вышестоящему протоколу. Если адреса не совпадают, то кадр отбрасывается вместе со всем содержимым.


Далее сравниваются IP-адрес получателя и этого устройства. Если совпадают, то заголовок сетевого уровня отбрасывается, и данные передаются транспортному уровню (ICMP)

Конечный хост обработал ICMP-запрос (echo-request) и готов послать ICMP-ответ (echo-reply) вашему компьютеру с адресом 192.168.1.131 и далее пункты 1-3 повторяются уже для нового кадра

То, о чём мы писали до сих пор — это принцип работы любого коммутатора. Так делают даже простые длинки за 300 рублей.

Ну а теперь, давайте, коллеги, финальный рывок: добавим сюда ещё VLAN’ы.

С ними работают уже только управляемые коммутаторы.
Напомним, что вланы нужны для разделения сетей. Соответственно появляется некий идентификатор, которым маркируется трафик разных подсетей на коммутаторе.
Говоря о VLAN’ах, часто используют заклинание 802.1q. Это и есть стандарт, описывающий как именно кадр маркируется/тегируется. Пугаться такого шифра не стоит. Так же, например, Wi-Fi описывается стандартом 802.11n, а протокол аутентификации — 802.1x. Нам с этим предстоит столкнуться в будущем, поэтому отложите это в своей энергонезависимой памяти.

Что же именно происходит на кухне коммутации?
Внутрь фрейма после Source MAC-адреса добавляется ещё одно поле, очень грубо говоря, содержащее номер VLAN’а. Длина, выделенная для номера влана равна 12 битам, это означает, что максимальное число вланов 4096. Мы хотим обратить внимание молодых инженеров на такие подробности. Дело в том, что мы в своём цикле в силу объективных причин, не можем обо всём рассказать, но такие вопросы, во-первых, часто задают на собеседованиях, во-вторых, это просто надо знать.

Кадр Ethernet с полем 802.1qКадры первого влана обычно не тегируются — он является родным вланом (native vlan).

Каждый коммутатор принимает теперь решение на основе этой метки-тега (или его отсутствия).
В таблицу МАС-адресов добавляется ещё столбец с номером VLAN’а и при поиске пары MAC-адрес/порт теперь будет сравниваться тег кадра с номером VLAN’а в таблице.

Существует два типа портов:
1. Access port — порт доступа — к нему подключаются, как правило, конечные узлы. Трафик между этим портом и устройством нетегированный. За каждым access-портом закреплён определённый VLAN, иногда этот параметр называют PVID. Весь трафик, приходящий на этот порт от конечного устройства, получает метку этого влана, а исходящий уходит без метки.

2. Trunk port. У этого порта два основных применения — линия между двумя коммутаторами или от коммутатора к маршрутизатору. Внутри такой линии, называемой в народе, что логично, транком, передаётся трафик нескольких вланов. Разумеется, тут трафик уже идёт с тегами, чтобы принимающая сторона могла отличить кадр, который идёт в бухгалтерию, от кадра, предназначенного для ИТ-отдела. За транковым портом закрепляется целый диапазон вланов.
Кроме того, существует вышеупомянутый native vlan. Трафик этого влана не тегируется даже в транке, по умолчанию это 1-й влан и по умолчанию он разрешён. Вы можете переопределить эти параметры.
Нужен он для совместимости с устройствами, незнакомыми с инкапсуляцией 802.1q. Например, вам нужно через Wi-Fi мост передать 3 влана, и один из них является вланом управления. Если Wi-Fi-модули не понимают стандарт 802.1q, то управлять ими вы сможете, только если этот влан настроите, как native vlan с обеих сторон.

Что происходит в сети с вланами?

1) Итак, от вашего компьютера с IP-адресом, например, 192.168.1.131 отправляется пакет другому компьютеру в вашей же сети. Этот пакет инкапсулируется в кадр, и пока никто ничего не знает о вланах, поэтому кадр уходит, как есть, на ближайший коммутатор.
2) На коммутаторе этот порт отмечен, как член, например, 2-го VLAN’а командой

Это означает, что любой кадр, пришедший на этот интерфейс, автоматический тегируется: на него вешается ленточка с номером VLAN’а. В данном случае с номером 2.
Далее коммутатор ищет в своей таблице MAC-адресов среди портов, принадлежащих 2-му влану, порт, к которому подключено устройство с MAC-адресом получателя.
3) Если получатель подключен к такому же access-порту, то ленточка с кадра отвязывается, и кадр отправляется в этот самый порт таким, каким он был изначально. То есть получателю также нет необходимости знать о существовании вланов.
4) Если же искомый порт, является транковым, то ленточка на нём остаётся.

Попробуем провести аналогию с реальными миром. Вы с другом, например, пакеты-туристы и летите отдыхать дикарями самолётом авиалиний Ethernet Airlines. Но по дороге вы поссорились, и потому, когда в аэропорту назначения, вас спрашивают в какую гостиницу вас везти, вы отвечаете “Рога”, а ваш товарищ говорит “Копыта”. И сразу после этого вас инкапсулируют в разные кадры-машины: вас в такси с тегом “Таксопарк “На рогах”, а вашего товарища с его грузом в КамАЗ с тегом “Транспортная компания “В копыто”. Теперь вам нельзя на автобусные полосы, а вашему другу под знаки, запрещающие проезд грузовиков.
Так вот две гостиницы — это МАС-адреса назначения, а ограничения по маршруту — порты других вланов.
Петляя, по улочкам, вам, как IP-пакету не о чем беспокоиться — кадр-автомобиль доставит вас до места назначения, и, грубо говоря, в зависимости от тега на каждом перекрёстке будет приниматься решение, как ехать дальше.

Q: Что произойдёт, если тегированный кадр прилетит на access-порт?
A: Он будет отброшен.

Q: Что произойдёт, если нетегированный кадр прилетит на trunk-порт?
A: Он будет помещён в Native VLAN. По умолчанию им является 1-й VLAN. Но вы можете поменять его командой switchport trunk native vlan 2
В этом случае все кадры, помеченные 2-м вланом будут уходить в этот порт нетегироваными, а нетегированные кадры, приходящий на этот интерфейс, помечаться 2-м вланом.
Кадры с тегами других вланов останутся неизменными, проходя, через такой порт.

Q: Можно ли конечным узлам (компьютерам, ноутбукам, планшетам, телефонам) отправлять тегированные кадры и соответственно подключать их к транковым портам?
A: Да, можно. Если сетевая карта и программное обеспечение поддерживает стандарт 802.1q, то узел может работать с тегированными кадрами.

Q: Что будет с тегированными кадрами, если они попадут на обычный неуправляемый коммутатор или другое устройство, не понимающее стандарт 802.1q?
A: Поскольку при добавлении тега заголовок кадра не меняется, то все устройства второго уровня без поддержки этого стандарта вполне справляются с коммутацией такого кадра. Поэтому, если например, вы захотите организовать канал через Wi-Fi мост, то это никак не помешает вам пробросить через него несколько вланов в транке.

Практика. Настройка сети “Лифт ми Ап”

Ну и наконец-то обратимся к настройке. Вива ля практис!

Будет у нас такая сеть:

Мы могли бы сейчас броситься сразу настраивать всё по порядку: полностью одно устройство, потом другое. Но так не будет, пожалуй, понимания значения процессов.

Порты доступа (access)

Поэтому начнём с простого: настроим два порта на msk-arbat-asw3 как access для влана 101 (ПТО):

Все настройки делаем сразу в соответствии с планом.

Заметили, что коммутатор ругается на отсутствие влана? Тут надо быть аккуратным. Некоторые версии ПО работают несколько нелогично.
Даже если вы его не создадите, то настройки применятся и при отладке на первый взгляд всё будет нормально, но связи не будет. Причём коварство заключается в том, что фраза Creating vlan 101 вовсе не означает, что этот самый влан будет создан. Поэтому отправляемся в режим глобальной конфигурации и создаём его (а заодно и все другие вланы, нужные на этом коммутаторе):

Теперь подключите компьютеры к портам FE0/1 и FE0/2, настройте на них адреса 172.16.3.2 и 172.16.3.3 с маской подсети 255.255.255.0 и шлюзом 172.16.3.1 и проверьте связь:

После того, как это получилось, настроим порт FE0/16, как access, для 104-го влана (сеть других пользователей):

Подключите к нему компьютер и настройте адрес из той же подсети, что ПТО, например, 172.16.3.5 с маской 255.255.255.0.
Если вы попытаетесь теперь пропинговать этот адрес, то у вас не должно этого получиться — компьютеры находятся в разных вланах и изолированы друг от друга:

То есть ещё раз, что происходит? От вашего компьютера приходит на 1-й порт широковещательный запрос: “Кто такой 172.16.3.5”, потому что сам компьютер пока не знает MAC-адреса получателя. Кадр, который несёт в себе этот запрос помечается, как принадлежащий 101-му VLAN’у в соответствии с портом, на который он поступил. И далее, чтобы узнать где-же находится компьютер 172.16.3.5, кадр рассылается на все порты-члены 101-го VLAN’а. А в их числе нет порта FE0/16, поэтому, естественно, этот адрес считается недостижимым, что приводит к ответу “Request timed out”.

Внимание! Если в этом VLAN’е все-таки окажется устройство с таким IP, то это не будет тем же самым ноутбуком Other и при этом они не буду конфликтовать друг с другом, поскольку логически находятся в разных широковещательных доменах.

Транковые порты (trunk)

Итак, врата для вас открылись, теперь вам предстоит создать коридор — транк между тремя коммутаторами: msk-arbat-asw3, msk-arbat-dsw1 и msk-rubl-asw1.

Uplink портом на msk-arbat-asw3 является GE1/1. Ну а поскольку нам всё равно все вланы нужно будет пробросить, то сделаем это сейчас, то есть помимо 101 и 104 пропишем 2, 102 и 103:

На самом деле на интерфейсе достаточно команды #switchport mode trunk, чтобы у вас через этот порт уже пошли тегированные кадры всех вланов, потому что по умолчанию транковый порт пропускает всё. Но мы же инженеры, а не эникейщики. Где это видано, чтобы безлимит творился за нашей спиной? Поэтому через нас проходит только то, что мы разрешаем. Как только вы дали команду switchport trunk allowed vlan 101, через порт не пройдёт кадр никаких вланов, кроме 101 (VLAN 1 ходит по умолчанию и нетегированным).

Внимание! Если вы хотите в транковый порт добавить ещё один влан, то вам необходимо использовать следующий синтаксис команды:

В противном случае (написав switchport trunk allowed vlan 105) вы сотрёте все старые разрешения и добавите новый 105-й влан. И хорошо ещё, если при этом вы не потеряете доступ на этот коммутататор. Но за простой связи всё равно вы получите по пятое число)

Переходим к msk-arbat-dsw1. На нём необходимо создать все вланы и настроить два порта:
GE1/2 в сторону msk-arbat-asw3
FE0/1 в сторону msk-rubl-asw1:

Ну и настроим, конечно, порты на msk-rubl-asw1:

Снова нужно настроить вланы. И заметьте, при настройке транковых портов никаких сообщений нет.

Если вы всё настроили правильно (в чём не приходится сомневаться), то с первого порта msk-rubl-asw1 вы увидите компьютеры ПТО, подключённые к msk-arbat-asw3.

Для уверенности проверим ещё и 104-й влан. Через транк мы его сюда уже доставили.

Подключаем компьютер к 16-му порт и настраиваем на нём IP-адрес 172.16.6.3 с маской 255.255.255.0 и шлюзом 172.16.6.1. А IP-адрес ноутбука на арбате поменяйте на 172.16.6.2 с теми же маской и шлюзом.

Сеть управления

Настроим IP-адрес для управления.
В наших лабах они не понадобятся, потому что мы настраиваем устройство через окно РТ. А вот в реальной жизни это вам жизненно необходимо.
Для этого мы создаём виртуальный интерфейс и указываем номер интересующего нас влана. А далее работаем с ним, как с самым обычным физическим интерфейсом.

msk-arbat-dsw1:

msk-arbat-asw3:

С msk-arbat-asw3 запускаем пинг до msk-arbat-dsw1:

Первые пару пакетов могут потеряться на работу протокола ARP: определение соответствия IP-адрес — MAC-адрес. При этом MAC-адрес, порт и номер влана добавляются в таблицу коммутатора.
Самостоятельно настройте IP-адреса сети управления на остальных коммутаторах и проверьте их доступность

Собственно вот и вся магия. Зачастую к подобного рода действиям и сводится вся настройка, если вы не работаете в провайдере. С другой стороны, если вы работаете в провайдере, то, наверняка, такие вещи вам объяснять не нужно.
Если желаете знать больше об этом, читайте: VTP, QinQ, зарезервированные номера VLAN

Ещё один небольшой инструмент, который может немного увеличить удобство работы: banner. Это объявление, которое циска покажет перед авторизацией на устройство.

После motd вы указываете символ, который будет служить сигналом о том, что строка закончена. В это примере мы поставили “q”.

Для упорядочивания знаний по пунктам разберём, что вам необходимо сделать:

1) Настроить hostname. Это поможет вам в будущем на реальной сети быстро сориентироваться, где вы находитесь.

2) Создать все вланы и дать им название

3) Настроить все access-порты и задать им имя

Удобно иногда бывает настраивать интерфейсы пачками:

4) Настроить все транковые порты и задать им имя:

5) Не забывайте сохраняться:

Итого: чего мы добились? Все устройства в одной подсети видят друг друга, но не видят устройства из другой. В следующем выпуске разбираемся с этим вопросом, а также обратимся к статической маршрутизации и L3-коммутаторам.
В общем-то на этом данный урок можно закончить. В видео вы сможете ещё раз увидеть, как настраиваются вланы. В качестве домашнего задания настройте вланы на коммутаторах для серверов.

Здесь вы можете скачать конфигурацию всех устройств:
Lift-me-Up_Configuration.zip
И наш проект РТ:
Lift-me-UP_v2-VLANs.pkt

P.S.
Важное дополнение: в предыдущей части, говоря о native vlan мы вас немного дезинформировали. На оборудовании cisco такая схема работы невозможна.
Напомним, что нами предлагалось передавать на коммутатор msk-rubl-asw1 нетегированными кадры 101-го влана и принимать их там в первый.
Дело в том, что, как мы уже упомянули выше, с точки зрения cisco с обеих сторон на коммутаторах должен быть настроен одинаковый номер влана, иначе начинаются проблемы с протоколом STP и в логах можно увидеть предупреждения о неверной настройке. Поэтому 101-й влан мы передаём на устройство обычным образом, кадры будут тегированными и соответственно, 101-й влан тоже необходимо создавать на msk-rubl-asw1.

Ещё раз хотим заметить, что при всём желании мы не сможем охватить все нюансы и тонкости, поэтому и не ставим перед собой такой задачи. Такие вещи, как принцип построения MAC-адреса, значения поля Ether Type или для чего нужен CRC в конце кадра, вам предстоит изучить самостоятельно.

Спасибо соавтору этого цикла, хабравчанину thegluck.
За предоставление дополнительных материалов хочу поблагодарить Наташу Самойленко

Читатели, не имеющие учётки на хабре, но имеющие вопросы, как и прежде, могут концентрировать их в ЖЖ.

Ethernet

Ethernet — доминирующая технология проводных локальных сетей. Роберт Метклаф изобрел её в 1973году в Xerox для того, чтобы к одному лазерному принтеру подключить как можно больше компьютеров.
В последствии Xerox, DEC, Intel решают использовать Ethernet в качестве стандартного сетевого решения (Ethernet II).
В 1982 выходит спецификация IEEE 802.3 для стандартизации Ethernet.

Ethosi.png

Место Ethernet в модели OSI

Типы Ethernet

Название Скорость Кабель Стандарт
Ethernet 10Mb/s Толстый, тонкий коаксиал,
Витая пара, оптика
802.3
Fast Ethernet 100Mb/s Витая пара, оптика 802.3u
Gigabit Ethernet 1Gb/s Витая пара, оптика 802.3z,
802.3ab
10G Ethernet 10Gb/s Витая пара, оптика 802.3ae,
802.3an

Есть 2 технологии Ethernet:

1. Классический Ethernet

  • Разделяемая среда
  • Ethernet — Gigabit Ethernet

2. Коммутируемый Ethernet

  • Точка-точка
  • Появился в Fast Ethernet
  • Единственный вариант в 10G Ethernet

Классический Ethernet

В качестве общей шины использовался коаксиальный кабель. В дальнешем такая схема была заменена на концентраторы Ethernet (hub).

  • Физическая топология – звезда
  • Логическая топология – общая шина

Компьютеры подключаются к концентратору с помощью витых пар, но внутри – общая шина, то есть все данные, которые приходят на один порт, передаются на все остальные порты.

Для идентификации сетевых интерфейсов узлов внутри сети Ethernet используются MAC-адреса. Очевидно, что они должны быть уникальны в одном сегменте сети. Если несколько имеют один и тот же MAC, то один из них работать не будет и какой именно не регламентировано.

Стандарты Ethernet

  • Первый вариант – экспериментальная реализация в Xerox
  • Ethernet II (Ethernet DIX) – фирменный стандарт Ethernet компани Xerox, Intel, DEC
  • IEEE 802.3 – юридический стандарт Ethernet

Ethtypes.png

Ethernet II и IEEE 802.3 незначительно отличаются. Первый из них исторически раньше появился и при появлении второго много оборудования было на Ethernet II. Сейчас поддерживаются оба. (Различие в том, что в Ethernet II передавался тип протокола, а по IEEE 802.3 вместо него передавалась длина поля данных)
Ether Types:

  • 0800 — IPv4
  • 86DD — IPv6
  • 0806 — ARP

Поле данных:

  • Максимальная длина в 1500байт была выбрана разработчиками достаточно произвольно. В то время память была дорогая и этого оптимально хватало. Существуют различные расширения (JumboFrame позволяет передавать до 9000байт)
  • Минимальная длина в 46байт — ограничение стандарта, об этом будет сказано ниже

Коллизии

Определение:
Коллизия наложение двух и более кадров, передающихся компьютерами в один и тот же момент времени

Ethcollis.jpg
Необходимо обеспечить использование канала только одним отправителем
Классический Ethernet использует для этого метод CSMA/CD (Carrier Sense Multiple Access with Collision Detection, Множественный доступ с прослушиванием несущей частоты и распознаванием коллизий). Компьютеры прослушивают несущую частоту и передают данные только если среда свободна. Классический Ethernet использует манчестерское кодирование. Несущаяя частота 10-20MHz Manchester.png

CSMA-CD.jpg

Обнаружение коллизий

Компьютер передает и принимает сигналы одновременно и если принятый сигнал отличается от переданного – значит, возникла коллизия. В таком случае компьютеры останавливают передачу данных и передают в среду так называемую Jam-последовательность – специальный сигнал, который очень сильно искажает данные в сети и гарантирует, что все остальные компьютеры распознают коллизию и прекратят передачу данных.
Если в среде нет несущей частоты, то компьютер может начинать передачу данных. При передаче перед данными следует преамбула. Она состоит из 8 байт и служит для синхронизации источника и передатчика. Первые 7 байт – 10101010, последний, 8ой байт – 10101011(последние 2 единицы – ограничитель между преамбулой и данными). После самого кадра следет межкадровый интервал (9.6мкс). Он нужен для предотвращения монопольного захвата канала и приведения сетевых адаптеров в исходное состояние.
Передача кадра
Компьютер передает кадр в общую среду и каждый компьютер, к ней подключенный начинает принимать его и записывать в буффер.
Первые 6 байт – это адрес получателя. Если очередной компьютер узнает в нем свой, то продолжает записывать кадр, остальные – удаляют его из буффера. Но есть специальный режим сетевого адаптера – promiscuous mode (неразборчиый режим), в котором адаптер принимает все кадры в сети, независимо от MAC-адреса назначения. Он используется для мониторинга или диагностики сети.

Период конкуренции
Если компьютер начал передавать данные и обнаружил коллизию, то он делает паузу длительностью L * 512 битовых интервалов (время, необходимое для передачи одного бита, которое при скорости передачи 10 Мбит/с составляет 0,1 мкс). L случайно выбирается из диапазона [0, 2**N – 1], где N – номер попытки. После 10 попыток интервал не увеличивается, а после 16 передача прекращается.

Такой алгоритм хорошо работает при низкой загрузке:

  • В сети мало компьютеров
  • Компьютеры редко передают данные

Если же нагрузка высокая, то очевидные проблемы:

  • Растет число попыток передачи
  • Растет интервал, сз которого выбирается L, и следовательно длительность пауз
  • Экспоненциально увеличивается задержка

Существует классическое ограничение – время оборота должно быть меньше времени передачи самого короткого кадра. Иначе произойдет коллизия, которую не заметит отправитель. (Сигнал о коллизии может прийти уже после того, как компьютер завершил передачу кадра и он будет считать, что кадр передан, а на самом деле произошла коллизия).
Параметры Ethernet подобраны таким образом, чтобы коллизии гарантированно распозновались:

  • Минимальная длина – 46 байт (иначе – выравнивание)
  • Максимлаьная длина сети 2500м

Недостатки классического Ethernet:

  • Плохая масштабируемость:
    • Сеть становится неработоспособной при загрузке разделяемой среды больше, чем на 30%
    • Работоспособное количество компьютеров – 30

    Коммутируемый Ethernet

    Это новая усовершенственная технология, появилась в 1995году, спецификация IEEE 802.3u.
    В ней нет разделяемой среды и используется топология “точка-точка”. Для этого придумали новый тип сетевых устройств – коммутаторы.
    Внешне концентратор(для классического Ethernet) и коммутатор почти не отличаются, но внутренее отличие очень большое: концентратор использует топологию “общая шина”, коммутатор же – полносвязную топологию. Концентратор работает на физическом уровне, он передает электрические сигналы, которые поступают на один порт, на все порты. Коммутатор работает на канальном уровне: он анализирует заголовок канального уровня, извлекает адрес получателя и передает данные только на тот порт, к которому подключен получатель.
    Особенности работы коммутаторов
    В нем хранится таблица коммутации: соответствие порта и MAC-адреса. Для ее заполнения используется алгоритм обратного обучения. Коммутатор анализирует заголовки канального уровня, извлекает адрес отправителя и заполняет таблицу.

    Таблица коммутации

    Номер порта MAC-адрес
    1 A1-B2-C3-D4-C5-F6
    2 1A-2B-3C-4D-5C-6F
    3 AA-BB-CC-DD-EE-FF

    В реальности в этой таблице может хранится еще другая мета-информация (например, состояние порта, номер vlan и т.п.)
    Для передачи кадров внутри коммутатора используется алгоритм прозрачного моста.

    Определение:
    Мост устройство для объединения нескольких сетей.

    Ethbridge.png

    Использовались они в классическом Ethernet-e для уменьшения числа коллизий для больших сетей. Принцип был таков: мост подключается к двум сегментам сети и пропускает данные через себя, только если они передаются из одного сегмента сети в другой.

    В коммутаторах для передачи данных используется так называемый алгоритм прозрачного моста (мост, который незаметен для сетевых устройств(у него нет своего MAC-адреса) и не требует настройки). По сути, коммутатор и есть некий большой прозрачный мост с множеством портов.
    Сам алгоритм предельно прост: на какой-то порт приходят данные, мы извлекаем адрес получателя из заголовка, смотрим в таблицу коммутации:
    1. В таблице есть соответствие порту для этого MAC-адреса – передаем даные на него.
    2. В таблице нет соответствия порту для этого MAC-адреса (например, с соответствующего компьютера еще не поступало данных) – передаем данные на все порты – по такой же схеме, как работает концентратор.
    С такой технологией, очевидно, безлпасность выше, так как данные передаются только непосредственно получателю.

    Simplex, Half Duplex, Full Duplex

    Определение:
    Симплексная передача передача, которая происходит только в одном направлении.
    Определение:
    Полудуплексная передача передача, которая возможна в двух направлениях, но в один момент времени только в одном из них.
    Определение:
    Полнодуплексная передача передача, которая возможна в двух направлениях в любой момент времени.

    Симплексное соединение используют многие, если не все оптоволоконные соединения. Или, например, dial-up модемы.

    Полудуплексный режим используется в некоммутируемом Ethernet и описан в IEEE 802.3. Вообще, это довольно распространенный режим для соединений с какой-то разделяемой средой (общей шиной в Ethernet).

    Полнодуплексный режим используется в коммутируемом Ethernet и описан в IEEE 802.3u. При полнодуплексной передаче используется топология «точка-точка». Коллизии в этом случае не происходят, так как отправка и получение данных происходит по разным проводам.

    Коллизия возникает, когда передатчики порта коммутатора и сетевого адаптера одновременно или почти одновременно начинают передачу своих кадров, считая, что изображенный на рисунке сегмент свободен. В результате строгого соблюдения правил разделения среды по протоколу Ethernet порт коммутатора и сетевой адаптер используют соединяющий их кабель в полудуплексном режиме, то есть по очереди — сначала кадр или кадры передаются в одном направлении, а затем в другом. При этом максимальная производительность сегмента Ethernet в 14880 кадров в секунду при минимальной длине кадра делится между передатчиком порта коммутатора и передатчиком сетевого адаптера. Если считать, что она делится пополам, то каждому предоставляется возможность передавать примерно по 7440 кадров в секунду.

    Способность оборудования работать с максимальной скоростью в каждом направлении использовали разработчики коммутаторов в своих нестандартных реализациях технологий, получивших название полнодуплексных версий Ethernet.

    После опробования полнодуплексной технологии на соединениях коммутатор-коммутатор разработчики реализовали ее и в сетевых адаптерах, в основном адаптерах Ethernet и Fast Ethernet. Многие сетевые адаптеры сейчас могут поддерживать оба режима работы, отрабатывая логику алгоритма доступа CSMA/CD при подключении к порту концентратора и работая в полнодуплексном режиме при подключении к порту коммутатора.
    Однако, необходимо осознавать, что отказ от поддержки алгоритма доступа к разделяемой среде без какой-либо модификации протокола ведет к повышению вероятности потерь кадров коммутаторами, а, следовательно, к возможному снижению полезной пропускной способности сети (по отношению к переданным данным приложений) вместо ее повышения.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *