Что сделает узел когда примет широковещательный кадр ethernet

Обновлено: 03.07.2024

Понимание локальных сетей Ethernet(LAN)

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

Ethernet

Ethernet был разработан в 1970-ом году компаниями Digital Equipment Corporation (DEC), Intel, и Xerox, и был назван DIX Ethernet. Позже он был назван «тонкий» Ethernet из-за использования тонкого коаксиального кабеля, скорость передачи была 10 Mbps. Стандарт Ethernet был доработан в 80-х годах для увеличения пропускной способности, новая версия была названа Ethernet-II. Институт электрического и электронного проектирования(IEEE) – организация, определяющая сетевые стандарты. Стандарты IEEE - преобладающие и наиболее известные LAN-стандарты в мире на сегодняшний день. Когда, в середине 80-х, IEEE определила новые стандарты для Ethernet для публичного использования, тогда этот стандарт назвали Ethernet 802.3.Он был основан на методе CSMA/CD – множественный доступ с контролем несущей и обнаружением коллизий. Этот метод будет описан ниже. Стандарт Ethernet 802.3 описывает физический уровень модели OSI и часть 2-го уровня (MAC-адресация). Сегодня этот стандарт часто называют Ethernet.

Адреса Ethernet

Каждый компьютер, независимо от того, подключен он к сети или нет, имеет уникальный физический адрес. Не существует двух одинаковых физических адресов. Физический адрес (или МАС-адрес) зашит на плате сетевого адаптера. Таким образом, в сети именно плата сетевого адаптера подключает устройство к среде передачи данных. МАК-адреса представляются группой шестнадцатеричных чисел, сгруппированными по два или по четыре, например: 00:00:0c:43:2e:08 or 0000.0c43.2e08 Каждая плата сетевого адаптера, который работает на канальном уровне эталонной модели OSI, имеет свой уникальный МАС-адрес. В сети, когда одно устройство хочет переслать данные другому устройству, оно может установить канал связи с этим другим устройством, воспользовавшись его МАС-адресом. Отправляемые источником данные содержат МАС-адрес пункта назначения. По мере продвижения пакета в среде передачи данных сетевые адаптеры каждого из устройств в сети сравнивают МАС-адрес пункта назначения, имеющийся в пакете данных, со своим собственным физическим адресом. Если адреса не совпадают, сетевой адаптер игнорирует этот пакет, и данные продолжают движение к следующему устройству. Если же адреса совпадают, то сетевой адаптер делает копию пакета данных и размещает ее на канальном уровне компьютера. После этого исходный пакет данных продолжает движение по сети, и каждый следующий сетевой адаптер проводит аналогичную процедуру сравнения. МАК адрес состоит из двух основных частей:

  • 24-bit Уникальный Идентификатор Организации (OUI): Эта часть МАК-адреса определяет производителя устройства, присвоение OUI регулирует организация IEEE. Кроме того, в OUI содержатся несколько групп битов:
    • Широковещательный бит: Показывает, что фрэйм направлен всем оконечным устройствам сети.
    • Бит локальных изменений адреса: Обычно комбинация OUI и 24-битный адрес станции абсолютно уникальны, однако если адрес был вручную изменён, этот бит должен быть установлен.
    • Идентификатор, присвоенный организации: 22 оставшихся бита.

    Стандарты Ethernet

    Ethernet стандарты локальных сетей описывают передачу сигналов по кабелям одновременно на физическом и канальном уровнях модели OSI. IEEE делит канальный уровень модели OSI на 2 отдельных подуровня:

    • Логическое управление соединением(LLC): Переходит в сетевой уровень
    • MAC: Соединяется с физическим уровнем

    Подуровень логическим управлением соединением LLC
    IEEE выделила подуровень LLC, чтобы позволить части канального уровня функционировать независимо от существующих технологий. Этот уровень обеспечивает сервис для протоколов сетевого уровня, находящихся выше, когда происходит обмен данными между МАК-подуровнем и физическим уровнем. Подуровень LLC принимает участие в процессе инкапсуляции. Заголовок LLC говорит, при получении кадра, канальному уровню что делать с пакетом.
    МАК
    Подуровень МАК взаимодействует с физическим уровнем. Стандарт IEEE 802.3 определяет МАК-адрес как уникальный идентификатор различных устройств канального уровня. Подуровень МАК содержит также таблицу МАК-адресов(физических адресов) устройств. Каждое устройство должно иметь уникальный МАК-адрес для того, чтобы нормально функционировать в сети.

    Кадры Ethernet

    В технологии Ethernet контейнер, в который помещаются данные для оправки по сети, называется кадр(frame). Он состоит из заголовка, постинформации и непосредственно передаваемых данных.
    Структура кадра Ethernet МАК-уровня:

    • Преамбула: Состоит из 7-байтов с перемежающимися значениями 0 и 1. Используется для синхронизации передачи данных между устройствами в сети.
    • Начальный разделитель (SOF): 1 байт. Это поле содержит биты, говорящие принимающему компьютеру, что далее будет передаваться кадр, и вся последующая информация будет его частью.
    • Адрес назначения: 6 байтов. Содержит адрес платы сетевого адаптера компьютера в локальной сети, которому должен быть послан пакет.
    • Адрес источника: 6 байтов. Содержит адрес сетевой платы компьютера, отправившего информацию.
    • Длина/Тип: 2 байта. В Ethernet II содержит код, определяющий протокол сетевого уровня. В 802.3 это поле определяет размер поля данных. Информация протокола содержится в поле 802.2, подуровня LLC. Спецификация 802.3 постепенно позволила использование идентификаторов протокола без использования поля 802.2.
    • Данные и заполнение: 46-1500 байт. Содержит данные, полученные от сетевого уровня передающего компьютера. Эти данные на компьютере-получателе передаются аналогичному протоколу. Если данных сильно мало, сетевая плата «заполняет» это поле до его минимального размера 46 байт.
    • Контрольная последовательность кадра(FCS): Представляет механизм проверки правильности доставленной информации.

    Адресация кадров Ethernet

    Передача данных в сети может быть 3-х типов: одноадресная(unicast), многоадресная(multicast), широковещательная(broadcast).

    Роль CSMA/CD в Ethernet

    Чтобы использовать принцип коллективной работы со средой передачи данных, в Ethernet применяется протокол множественного доступа с контролем несущей и обнаружением коллизий(carrier sense multiple access/collision detection, CSMA/CD) , Использование протокола CSMA/CD позволяет устройствам договариваться о правах на передачу. GSMA/CD является методом доступа, который позволяет только одной станции осуществлять передачу в среде коллективного использования. Задачей стандарта Ethernet является обеспечение качественного сервиса доставки данных. Не все устройства могут осуществлять передачу на равных правах в течение всего времени, поскольку это может привести к возникновению коллизии. Однако стандартные сети Ethernet, использующие протокол CSMA/CD, учитывают все запросы на передачу и определяют, какие устройства могут передавать в данный момент и в какой последовательности смогут осуществлять передачу все остальные устройства, чтобы все они получали адекватное обслуживание. Перед отправкой данных узел "прослушивает" сеть, чтобы определить, можно ли осуществлять передачу, или сеть сейчас занята. Если в данный момент сеть никем не используется, узел осуществляет передачу. Если сеть занята, узел переходит в режим ожидания. Возникновение коллизий возможно в том случае, если два узла, "прослушивая" сеть, обнаруживают, что она свободна, и одновременно начинают передачу. В этом случае возникает коллизия, данные повреждаются и узлам необходимо повторно передать данные позже. Алгоритмы задержки определяют, когда конфликтующие узлы могут осуществлять повторную передачу. В соответствии с требованиями CSMA/CD, каждый узел, начав передачу, продолжает прослушивать" сеть на предмет обнаружения коллизий, узнавая таким образом о необходимости повторной передачи.
    Метод CSMA/CD работает следующим образом: если узел хочет осуществить передачу, он проверяет сеть на предмет того, не передает ли в данный мент другое устройство. Если сеть свободна, узел начинает процесс передачи. Пока идет передача, узел контролирует сеть, удостоверяясь, что в этот же момент времени не передает никакая другая станция. Два узла могут начать передачу почти одновременно, если обнаружат, что сеть свободна. В этом случае возникает коллизия. Когда передающий узел узнает о коллизии, он передает сигнал "Наличие коллизии", делающий конфликт достаточно долгим для того, чтобы его могли распознать все другие узлы сети. После этого все передающие узлы прекращают отправку кадров на выбираемый случайным образом отрезок времени, называемый временем задержки повторной передачи. По истечении этого периода осуществляется повторная передача. Если последующие попытки также заканчиваются неудачно, узел повторяет их до 16 раз, после чего отказывается от передачи. Время задержки для каждого узла разное. Если различие в длительности этих периодов задержки достаточно велико, то повторную передачу узлы начнут уже не одновременно. С каждой последующей коллизией время задержки удваивается, вплоть до десятой попытки, тем самым уменьшая вероятность возникновения коллизии при повторной передаче. С 10-й по 16-ю попытку узлы время задержки больше не увеличивают, поддерживая его постоянным.

    Технология Ethernet [ 3 ] , [ 4 ] , [ 17 ] , [ 57 ] , [ 60 ] , [ 70 ] , [ 77 ] — это самая распространенная технология локальных сетей. В сетях Ethernet применяется множественный доступ с контролем несущей и обнаружением коллизий ( Carrier Sense Multiply Access with Collision Detection — CSMA/CD ). Все компьютеры сети имеют доступ к общей шине через встроенный в каждый компьютер сетевой адаптер , используя полудуплексный режим передачи. Схема подключения компьютеров по коаксиальному кабелю приведена на рис.6.1.

    Сеть Ethernet на коаксиальном кабеле (стандарты 10Base-5/10Base-2)


    Рис. 6.1. Сеть Ethernet на коаксиальном кабеле (стандарты 10Base-5/10Base-2)

    Станции на традиционной локальной сети Ethernet могут быть соединены вместе, используя физическую шину или звездную топологию, но логическая топология — всегда шинная. Под этим мы подразумеваем, что среда (канал) разделена между станциями и только одна станция одновременно может использовать ее. Также подразумевается, что все станции получают кадр , посланный станцией (широковещательная передача). Адресованный пункт назначения сохраняет кадр , в то время как остальные отбрасывают ее. Каким образом в этой ситуации мы можем убедиться, что две станции не используют среду в одно и то же время? Ответ: если их кадры столкнутся друг с другом. CSMA/CD разработан, чтобы решить эту проблему согласно следующим принципам:

    1. Каждая станция имеет равное право на среду (коллективный доступ).
    2. Каждая станция, имеющая кадр для того, чтобы послать его, сначала "слушает" (отслеживает) среду. Если в среде нет данных, станция может начать передачу (слежение за несущей частотой).
    3. Может случиться, что две станции, следящие за средой, находят, что она не занята, и начинают посылать данные. В этом случае возникает конфликт, называемый коллизией.

    Протокол заставляет станцию продолжать следить за линией после того, как передача началась. Если есть конфликт , то все станции его обнаруживают, каждая передающая станция передает сигнал сбоя в работе, чтобы уничтожить данные линии, и после этого каждый раз ждет различное случайное время для новой попытки. Случайные времена предотвращают одновременную повторную посылку данных. Перед началом передачи узел должен убедиться, что несущая среда не занята, признаком чего является отсутствие на ней несущей частоты. Если среда свободна, то узел имеет право начать передачу кадра определенного формата. Предположим, что узлу 2 требуется передать кадр узлу N. Обнаружив, что среда свободна, узел 2 начинает передачу кадра ( рис. 6.2), которая предваряется преамбулой (preamble), состоящей из 7 байт вида 10101010, и байта начала кадра (Start of Frame Delimiter — SFD) вида 10101011. Эти комбинации нужны приемнику для вхождения в побитовый и кадровый синхронизм с передатчиком. Кадр заканчивается полем последовательности контроля кадра ( FCS — Frame Check Sequence ) длиной 4 байта (на рис. 6.2не показано). Сигналы передатчика распространяются по кабелю в обе стороны, и все узлы распознают начало передачи кадра. Только узел N опознает свой собственный адрес (МАС- адрес назначения) в начале кадра и записывает его содержимое в свой буфер для обработки. Из принятого кадра определяется адрес источника (МАС- адрес источника), которому следует выслать кадр -ответ. Получатель пакета на 3-м уровне определяется в соответствии с полем Тип протокола (Protocol Type): значение 0х0800 — адрес модуля IP , 0806 — адрес модуля ARP . Минимальное и максимальное значения длины поля для протоколов верхних уровней — 46 и 1500 байт соответственно. Порядок передачи бит кадра: слева направо / снизу вверх ( рис. 6.2), цифрами обозначены длины полей кадра в байтах.

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

    Местоположение в стеке протоколов и форматы физического и канального уровней сети Ethernet


    Рис. 6.2. Местоположение в стеке протоколов и форматы физического и канального уровней сети Ethernet

    Иногда возникают ситуации, когда один узел уже начал передачу, но другой узел еще не успел это обнаружить и также начинает передачу своего кадра. Такая ситуация захвата свободной среды более чем одним узлом называется коллизией. Механизм разрешения коллизии состоит в следующем ( рис. 6.3):

    Обмен сигналами при возникновении коллизии


    Рис. 6.3. Обмен сигналами при возникновении коллизии

    Если уровень принимаемого сигнала не превышает порогового значения, то узел продолжает передачу, если же превышает, то узел прекращает передачу кадра и посылает в сеть специальную 32-битную jam -комбинацию (сигнал коллизии) с нерегламентированной последовательностью, просто приводящей к повышению уровня сигнала в локальной сети из-за увеличения амплитуды импульсов манчестерского кода суммарного сигнала. После этого узел, обнаруживший коллизию, делает случайную паузу и затем снова может повторить попытку передачи кадра. Число повторных попыток не может превысить 16. Если же и после 16-й попытки кадр вызвал коллизию, то он отбрасывается. При большом количестве узлов вероятность коллизии возрастает, и пропускная способность сети Ethernet падает, т.к. сеть все большее время занята обработками коллизий и отбрасыванием кадров. Три фактора определяют работу CSMA/CD : минимальная длина кадра, скорость передачи данных и домен конфликта.

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

    В традиционной Локальной сети Ethernet , минимальная длина кадра — 520 битов, скорость передачи — 10 Mбит/с, скорость распространения — почти равна скорости света, и домен конфликта — около 2500 метров.

    Уровни. рис. 6.4 показывает уровни Локальной сети Ethernet . Уровень звена передачи данных ( канальный уровень ) имеет два подуровня: подуровень управления логическим каналом связи ( LLC — Logical Link Control ) и подуровень управления доступом ( MAC - Media Access Control ). LLC -уровень ответственен за поток и контроль ошибок в уровне звена передачи данных (канальном уровне). Подуровень MAC ответственен за работу метода доступа CSMA/CD . Этот подуровень также создает данные, полученные от LLC -уровня, и передает кадры физическому уровню для кодирования. Физический уровень преобразует данные в электрические сигналы и посылает их следующей станции через среду передачи. Этот основной уровень также обнаруживает конфликты и сообщает о них уровню звена передачи данных (канальному уровню).

    Уровни Ethernet

    Кадр. В сети Ethernet имеется один тип кадра [5], содержащий семь полей: преамбула, начало кадра - SFD, адрес конечного пункта - DA, адрес источника - SA , длина /тип протокольной единицы — PDU и циклический избыточный код. Локальная сеть Ethernet не обеспечивает механизма для подтверждения получения кадров. Подтверждение реализуется на более высоких уровнях. Формат кадра CSMA/CD MAC показан на рис.6.5.

    Кадр Ethernet

    • Преамбула. Преамбула кадров содержит 7 байтов (56 битов) чередующихся нулей и единиц, которые приводят в готовность систему для приема прибывающего кадра и подготавливают ее для синхронизации с помощью тактовых импульсов. Преамбула фактически добавляется на физическом уровне и не является (формально) частью кадра.
    • Ограничитель начала кадра (SFD — Start Frame Delimiter). Поле SFD (1 байт: 10101011) отмечает начало кадра и указывает станции на окончание синхронизации. Последние два бита — 11 (две единцы) — сигнал, что следующее поле — адрес получателя.
    • Адрес получателя (DA — Destination Address). Поле DA насчитывает 6 байтов и содержит физический адрес станции пункта назначения или промежуточного звена.
    • Исходный адрес (SA — Source Address ). Поле SA также насчитывает 6 байтов и содержит физический адрес передающей или промежуточной станции.
    • Длина/тип. Поле длина / тип имеет одно из двух значений. Если значение поля меньше, чем 1518, это — поле длины и определяет длину поля данных, которое следует дальше. Если значение этого поля больше, чем 1536, оно определяет верхний протокол уровня, который используется для обслуживания Internet.
    • Данные. Поле данных переносит данные, инкапсулированные из верхних протоколов уровня. Это минимум 46 и максимум 1500байтов.
    • Циклический избыточный код (CRC — Cyclical Redundancy Check). Последнее поле в этих кадрах по стандарту 802.3 содержит информацию для обнаружения ошибок, в этом случае CRC — 32.

    Адресация. Каждая станция типа PC , рабочая станция или принтер на сети Локальной сети Ethernet имеет ее собственную сетевую интерфейсную карту ( NIC — Network Interface Card). NIC размещается внутри станции и обеспечивает станцию 6-байтовым физическим адресом. Адрес Локальной сети Ethernet — 6 байтов (48 битов), он обычно записывается в шестнадцатеричной системе обозначений с дефисом, чтобы отделить байты, как показано ниже:

    07-01-02-01-2C-4B

    Адреса в Локальной сети Ethernet передают байт за байтом, слева направо, однако для каждого байта самый младший бит передают первым, а самый старший бит — последним. Есть три типа адресов в Локальной сети Ethernet : однонаправленный, групповая рассылка и передача. Исходный адрес всегда однонаправленный. Адрес получателя может быть однонаправленным адресом (один единственный получатель), групповой рассылкой ( группа получателей) или широковещательной передачей (все станции, подключенные к LAN ). В однонаправленном адресе самый старший бит в начале байта:

    2.2.1. Назначение широковещательного трафика

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

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

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

    2.2.2. Поддержка широковещательного трафика на канальном уровне

    Практически все протоколы, используемые в локальных сетях, поддерживают широковещательные адреса (кроме протоколов АТМ). Адрес, состоящий из всех единиц (111. 1111), имеет один и тот же смысл для протоколов Ethernet, TokenRing, FDDI, FastEthernet, 100VG-AnyLAN: кадр с таким адресом должен быть принят всеми узлами сети. Ввиду особого вида и регулярного характера широковещательного адреса вероятность его генерации в результате ошибочной работы аппаратуры (сетевого адаптера, повторителя, моста, коммутатора или маршрутизатора) оказывается достаточно высокой. Иногда ошибочный широковещательный трафик генерируется в результате неверной работы программного обеспечения, реализующего функции протоколов верхних уровней.

    Широковещательный трафик канального уровня распространяется в пределах не только сегмента, образованного пассивной кабельной системой или несколькими повторителями/концентраторами, но и в пределах сети, построенной с использованием мостов и коммутаторов. Принципы работы этих устройств обязывают их передавать кадр с широковещательным адресом на все порты, кроме того, откуда этот кадр пришел. Такой способ обработки широковещательного трафика создает для всех узлов, связанных друг с другом с помощью повторителей, мостов и коммутаторов, эффект общей сети, в которой все клиенты и серверы "видят" друг друга.

    2.2.3. Широковещательный шторм

    Обычно протоколы проектируются таким образом, что уровень широковещательного трафика составляет небольшую долю общей пропускной способности сети. Считается, что нормальный уровень широковещательного трафика не должен превышать 8% - 10% пропускной способности сети. Однако, уже при достижении порога в 5% считается целесообразным провести анализ узлов, которые генерируют наибольщую долю широковещательного трафика - возможно, они нуждаются в реконфигурации.

    Общая интенсивность широковещательного трафика в сети будет определяться двумя факторами - количеством источников такого трафика и средней интенсивностью каждого источника. Протоколы локальных сетей разрабатывались в начале 80-х годов в расчете на сравнительно небольшое число компьютеров, генерирующих широковещательный трафик, а также с учетом большого запаса пропускной способности каналов локальных сетей (10 Мб/c) по сравнению с потребностями файлового сервиса миникомпьютеров и настольных компьютеров того времени. Поэтому стеки протоколов, которые проектировались исключительно для применения в локальных сетях - NovellNetWareIPX/SPX и стек NetBIOS/SMB компаний IBM и Microsoft - широко пользовались широковещательными рассылками для создания максимума удобств для пользователей, которым не нужно было запоминать имена и адреса серверов.

    Превышение широковещательным трафиком уровня более 20% называется широковещательным штормом (bradcaststorm). Это явление крайне нежелательно, так как приводит к возрастанию коэффициента использования сети, а, следовательно, и к резкому увеличению времени ожидания доступа.

    2.2.4. Поддержка широковещательного трафика на сетевом уровне

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

    Принципы работы маршрутизатора не требуют от него обязательной передачи кадров с широковещательным адресом через все порты. Маршрутизатор при принятии решения о продвижении кадра руководствуется информацией заголовка не канального уровня, а сетевого. Поэтому широковещательные адреса канального уровня маршрутизаторами просто игнорируются. На сетевом уровне также существует понятие широковещательного адреса, но этот адрес имеет ограниченное действие - пакеты с этим адресом должны быть доставлены всем узлам, но только в пределах одной сети. В силу этого такие адреса называются ограниченными широковещательными адресами (limitedbroadcast). По таким правилам работают наиболее популярные протоколы сетевого уровня IP и IPX.

    Однако, для нормальной работы сети часто оказывается желательной возможность широковещательной передачи пакетов некоторого типа в пределах всей составной сети. Например, пакеты протокола объявления сервисов SAP в сетях NetWare требуется передавать и между сетями, соединенными маршрутизаторами, для того, чтобы клиенты могли обращаться к серверам, находящимся в других сетях. Именно так работает программное обеспечение маршрутизации, реализованное компанией Novell в ОС NetWare. Для поддержания этого свойства практически все производители аппаратных маршрутизаторов также обеспечивают широковещательную передачу трафика SAP.

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

    Ниже описаны наиболее популярные в локальных сетях протоколы, порождающие широковещательный трафик.

    2.2.5. Виды широковещательного трафика

    2.2.5.1. Широковещательный трафик сетей NetWare

    2.2.5.2. Широковещательный трафик сетей TCP/IP

    Как уже отмечалось, в сетях TCP/IP широковещательный трафик используется гораздо реже, чем в сетях NetWare. Широковещательный трафик в сетях TCP/IP создают протоколы разрешения IP-адресов ARP и RARP (реверсивный ARP), а также протоколы обмена маршрутной информацией RIPIP и OSPF. Протоколы ARP и RARP используются только в локальных сетях, где широковещательность поддерживается на канальном уровне. Протокол RIPIP принципиально ничем не отличается от протокола RIPIPX, а протокол OSPF является протоколом типа "состояния связей" как и протокол NLSP, поэтому он создает широковещательный трафик гораздо меньшей интенсивности, чем RIP.

    2.2.5.3. Широковещательный трафик сетей NetBIOS

    Протокол NetBIOS широко используется в небольших сетях, не разделенных маршрутизаторами на части. Этот протокол поддерживается в операционных системах WindowsforWorkgroups и WindowsNT компании Microsoft, в операционной системе OS/2 Warp компании IBM, а также в некоторых версиях Unix. NetBIOS используется не только как коммуникационный протокол, но и как интерфейс к протоколам, выполняющим транспортные функции в сети, например, к протоколам TCP, UDP или IPX. Последняя роль NetBIOS связана с тем, что в ОС, традиционно использовавших NetBIOS в качестве коммуникационного протокола, многие приложения и протоколы прикладного уровня были написаны в расчете на API, предоставляемый протоколом NetBIOS. При замене протокола NetBIOS на другие транспортные протоколы разработчики приложений и ОС захотели оставить свои программные продукты в неизменном виде, поэтому появились реализации интерфейса NetBIOS, оторванные от его функций как коммуникационного протокола, и выполняющие роль некоторой прослойки, транслирующей запросы одного API в другой.

    Основным источником широковещательного трафика в сетях, использующих NetBIOS либо в качестве интерфейса, либо в качестве протокола, является служебный протокол разрешения имен, который ставит в соответствие символьному имени компьютера его МАС-адрес. Все компьютеры, поддерживающие NetBIOS, периодически рассылают по сети запросы и ответы NameQuery и NameRequest, с помощью которых это соответствие поддерживается. При большом количестве компьютеров уровень широковещательного трафика может быть весьма высоким.

    Маршрутизаторы обычно не пропускают широковещательный трафик NetBIOS между сетями.

    Для уменьшения уровня этого трафика необходимо использовать централизованную службу имен, подобную службе WINS компании Microsoft.

    2.2.5.4. Широковещательный трафик мостов и коммутаторов, поддерживающих алгоритм SpanningTree

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

    Для создания древовидной конфигурации мосты и коммутаторы, поддерживающие алгоритм SpanningTree постоянно обмениваются специальными служебными кадрами, которые вкладываются в кадры MAC-уровня. Эти кадры рассылаются по всем портам моста/коммутатора, за исключением того, на который они пришли, точно так же, как и пакеты протоколов RIP или OSPF маршрутизаторами. На основании этой служебной информации некоторые порты мостов переводятся в резервное состояние, и тем самым создается топология покрывающего дерева.

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

    Уровень широковещательного трафика протокола SpanningTree прямо пропорционален количеству мостов и коммутаторов, установленных в сети.

    Маршрутизаторы трафик алгоритма SpanningTree не передают, ограничивая топологию покрывающего дерева одной сетью.

    2.2.5.5. Ограничение уровня широковещательного трафика в составных сетях с помощью техники спуфинга

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

    Эта техника была развита производителями коммуникационного оборудования, объединяющего локальные сети по низкоскоростным глобальным каналам, а именно, производителями удаленных мостов и маршрутизаторов.

    Существуют различные реализации спуфинга. Наиболее его простой вариант заключается в простом исключении некоторого количества циклов передачи служебных пакетов между сетями, когда, например, в другую сеть передается только каждый 5-й или 10-й пакет SAP, поступающий из исходной локальной сети.

    Спуфинг можно применять и в локальной составной сети для уменьшения уровня широковещательного трафика.

    Техника спуфинга может приводить не только к повышению, но и к снижению производительности сети. Это может произойти в том случае, когда пара взаимодействующих в режиме спуфинга маршрутизаторов или мостов имеют различные параметры настройки этого алгоритма. Так, если один маршрутизатор настрен на передачу каждого 10-го пакета SAP, а второй маршрутизатор ждет прихода нового пакета SAP через каждые 5 периодов его нормальной передачи, то второй маршрутизатор будет периодически считать связь с серверами первой сети утерянной и объявлять об этом во второй сети, что приведет к разрыву логических соединений между клиентами и серверами, находящимися в разных сетях, а, значит, и к потере производительности. К такому же результату приведет ситуация, когда один маршрутизатор поддерживает режим спуфинга, а второй - нет.

    1. Введение в Unicast, Multicast и Broadcast

    Snip20180717_10

    • Прежде всего, сетевая карта проверяет кадр, передаваемый каналом, чтобы определить, принимать ли кадр, и, если он получен, передает его драйверу устройства. Обычно сетевая карта принимает только кадры, адрес назначения которых является физическим адресом или широковещательным адресом сетевой карты. Кроме того, большинство интерфейсов настроены на смешанный режим, в этом режиме можно получать копии каждого кадра.
      • Для Ethernet, когда младший бит старшего байта в адресе установлен в 1, это указывает, что адрес является многоадресным адресом, который может быть выражен в шестнадцатеричном виде как 01: 00: 00: 00: 00: 00 (широковещательный адрес Ethernet) ff: ff: ff: ff: ff: ff можно рассматривать как особый случай многоадресных адресов Ethernet).
      • Если сетевая карта получает кадр, кадр будет передан драйверу устройства (если контрольная сумма кадра неверна, сетевая карта сбросит кадр).

      1.1 Одноадресная передача

      Одноадресная передача означает, что данные передаются на конкретный хост. Например, отправка пакетов данных IP на определенный хост. В настоящее время заголовок данных, предоставляемый канальным уровнем, является очень конкретным адресом назначения. Для Ethernet это MAC-адрес сетевой карты (а не адрес, такой как FF-FF-FF-FF-FF-FF). Текущий хост с функцией маршрутизации должен иметь возможность направлять одноадресные данные в направлении, в то время как сетевой интерфейс хоста назначения может отфильтровывать данные, несовместимые с его собственным MAC-адресом.

      1.2 Трансляция (одноадресная передача)

      这里写图片描述

      Как показано в таблице ниже, вещание можно разделить на четыре сценария. MAC-адрес FF-FF-FF-FF-FF-FF используется для трансляции. Все хосты в сети будут получать эти широковещательные данные. Сетевой карте нужно только передать данные MAC-адреса FF-FF-FF-FF-FF-FF ядру. Вообще говоря, ARP или протокол маршрутизации RIP следует транслировать в форме трансляции.

      1.2.1 Ограниченное вещание

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

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

      1.2.2 Трансляция в сеть

      Широковещательный адрес, указывающий на сеть, является адресом с номером хоста всех единиц. Широковещательный адрес сети класса A - netid.255.255.255, где netd - номер сети сети класса A.

      1.2.3 Трансляция в подсеть

      Широковещательный адрес, указывающий на подсеть, является адресом с номером хоста всех 1 и конкретным номером подсети. IP-адрес, который является прямым адресом подсети, должен знать маску подсети.

      Например, если маршрутизатор получает дейтаграмму, адресованную 128.1.2.255, когда маска подсети сети класса B 128.1 равна 255.255.255.0, адрес является широковещательным адресом, указывающим на подсеть, но если маска подсети 255.255.254.0, адрес не является широковещательным адресом, указывающим на подсеть.

      1.2.4 Трансляция во все подсети

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

      Например, если маска подсети назначения 255.255.255.0, то IP-адрес 128.1.255.255 является широковещательным адресом, указывающим на все подсети. Однако, если сеть не разделена на подсети, это широковещательная рассылка, направленная на сеть.

      1.3 Multicast

      这里写图片描述


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

      Набор хостов, которые могут получать адресные данные, отправленные в конкретную многоадресную группу, называетсяПринимающая группа, Группа узлов может охватывать несколько сетей. Члены группы хостов могут присоединиться или покинуть группу хостов в любое время. Количество хостов в группе хостов не ограничено, и хосты, не принадлежащие группе хостов, могут отправлять информацию в группу. (Далее будут представлены хосты для присоединения к многоадресной группе с использованием протокола IGMP (Internet Management Management Protocol).)

      • (1) При многоадресной рассылке хоста отправляется только одна копия данных. , Только когда данные раздваиваются на пути передачи, пакет копируется и затем пересылается. Таким образом, для отправителя данные могут быть отправлены всем получателям только один раз, что значительно снижает нагрузку на сеть и нагрузку на отправителя.
      • (2) Многоадресная передача требует поддержки маршрутизатора для достижения , Маршрутизатор, который может выполнять многоадресный протокол, называется многоадресным маршрутизатором.

      Некоторые адреса многоадресной группы были определены IANA как общеизвестные адреса. Они также рассматриваются какПостоянная принимающая группа, Например, 224.0.0.1 означает «все группы систем в этой подсети», а 224.0.0.2 - «все группы маршрутизаторов в этой подсети». Многоадресный адрес 224.0.1.1 используется в качестве протокола сетевого времени NTP, 224.0.0.9 используется в качестве RIP-2, а 224.0.1.2 используется в качестве приложения для рукопашного боя SGI.

      1.3.1 Адрес многоадресной группы

      Многоадресная IP-рассылка использует формат адреса класса D. Первые четыре цифры адреса класса D - 1110, поэтому диапазон адресов класса D - 224.0.0.0

      这里写图片描述

      239.255.255.255. Каждый IP-адрес класса D обозначает группу многоадресной рассылки;

      1.3.2 Трансляция группового адреса в Ethernet-адрес

      Хотя многоадресная рассылка является особенной, принцип состоит в том, что многоадресные данные должны быть связаны с MAC-адресом через уровень канала передачи данных, а затем отправлены. Поэтому после того, как карта Ethernet привязана к многоадресному IP-адресу, она также должна быть связана с многоадресным MAC-адресом, чтобы она могла работать как одноадресная. Этот многоадресный IP-адрес и многоадресный MAC-адрес имеют соответствующий алгоритм, который будет представлен ниже. Можно видеть, что это соответствие не однозначное, хост все еще должен фильтровать многоадресные данные.

      这里写图片描述

      23 бита в адресе многоадресной рассылки Ethernet будут сопоставлены с номером группы многоадресной рассылки IP путем сопоставления младших 23 битов в номере группы многоадресной рассылки с младшими 23 битами в адресе Ethernet.

      Поскольку старшие 5 битов в номере группы многоадресной рассылки игнорируются во время процесса отображения, группа многоадресной рассылки, соответствующая каждому адресу многоадресной рассылки Ethernet, не является уникальной. 32 разных номера многоадресной группы сопоставляются с адресом Ethernet. Например, многоадресные адреса 224.128.64.32 (шестнадцатеричный e0.80.40.20) и 224.0.64.32 (шестнадцатеричный e0.00.40.20) отображаются на один и тот же адрес Ethernet 01: 00: 5e: 00: 40 : 20

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

      1.4 Эксперимент

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

      Видно, что машина возвращает ответ от хоста, а затем размышляет, что если я пингую широковещательный адрес? Результаты выглядят следующим образом (причина сбоя при пинге широковещательного адреса может бытьссылка,принцип)

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

      Для многоадресных адресов несколько специальных многоадресных адресов заняты, они

      • 224.0.0.1 - все системные группы в этой подсети.
      • 224.0.0.2 - все маршрутизаторы в этой подсети.
      • 224.0.1.1-В сети реализован протокол NTP с выделенным IP.
      • 224.0.0.9 - выделенный IP RIPv2

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

      2. IGMP: протокол управления интернет-группами

      Полное английское название IGMP (Протокол управления группами в Интернете), Используется для поддержки хоста и маршрутизатора для многоадресной рассылки 。 Он позволяет всем системам в физической сети знать группу многоадресной рассылки, в которой находится хост. Маршрутизатору многоадресной рассылки требуется эта информация, чтобы знать, на какой интерфейс должна быть передана дейтаграмма многоадресной рассылки.

      这里写图片描述

      这里写图片描述

      2.2 Рабочий процесс IGMP выглядит следующим образом

      TTL таких дейтаграмм ответа на запрос обычно равен 1, и даже если возникает ошибка, ошибки ICMP не генерируются (не обязательно).

      这里写图片描述

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

      这里写图片描述

      2.3 Все группы хостов

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

      Читайте также: