TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) - Сидни Фейт
Шрифт:
Интервал:
Закладка:
4.11.2 Протокол MAC для DIX Ethernet
DIX Ethernet использует простую процедуру MAC с очень длинным названием: множественный доступ с контролем несущей и обнаружением конфликтов (Carrier Sense Multiple Access with Collision Detection — CSMA/CD).
Интерфейс для работы с данными пакетирует информацию в кадры и прослушивает состояние носителя. Когда носитель свободен, интерфейс начинает пересылку данных (см. рис. 4.12).
Рис. 4.12. Управление доступом к носителю в Ethernet
Заголовок кадра содержит физический адрес интерфейса назначения, часто называемый MAC-адресом. Система с указанным в кадре адресом принимает посланное сообщение и обрабатывает его. Если две или больше станций одновременно начинают пересылку данных, возникает конфликт. Пересылка отменяется на случайный для каждой станции промежуток времени и повторяется снова (каждая станция при этом будет начинать пересылку уже в разное время.— Прим. пер.).
4.11.3 MAC-кадры DIX Ethernet
Формат кадров DIX Ethernet с датаграммами IP показан на рис. 4.13.
Адреса источника и назначения имеют длину по 6 октетов (сами адреса администрируются IEEE). Значение типа в X'08-00 означает пересылку датаграмм IP.
Рис. 4.13. Кадр DIX Ethernet с датаграммой IP
В Ethernet существуют значения типов и для других протоколов (см. документ IANA Assigned Numbers). Носитель может использоваться совместно несколькими протоколами, поскольку в каждом кадре Ethernet идентифицируется тип протокола, что позволяет станции назначения переслать полученную информацию нужной процедуре.
Для правильной работы протокола CSMA/CD требуются кадры длиной не менее 64 октетов. Следовательно, для очень коротких датаграмм нужно будет добавить незначащий заполнитель.
4.12 Сети по спецификации 802
После того как DIX Ethernet и другие технологии локальных сетей доказали на компьютерном рынке свою полезность, IEEE организовала комитет 802 по разработке и публикации стандартов для технологий локальных сетей.
Стандарты из серии 802, объединяющие разработки разных производителей, были признаны ISO и повторно опубликованы как документы этой организации.
Стандарты 802 касаются физических носителей, управления доступа к носителю и форматов кадров для различных типов локальных сетей. Например:
■ 802.3 описывает несколько измененную версию Ethernet.
■ 802.4 специфицирует широковещательную локальную сеть с пересылкой маркера, разработанную для производственных помещений.
■ 802.5 описывает технологию Token-Ring.
■ 802.6 определяет подсети на основе двойной шины для распределенных очередей (Distributed Queue Dual Bus), использующихся в городских сетях (Metropolitan Area Network — MAN).
4.13 Заголовок LLC для 802.2
Отдельный стандарт 802.2 определяет заголовок управления логической связью (Logical Link Control — LLC), используемый во всех технологиях локальных сетей по спецификациям 802. Заголовок LLC выполняет две задачи:
■ Для кадров OSI идентифицирует протоколы источника и назначения
■ Содержит поля управления
Описание IEEE предполагает множество формальных правил, однако каждый из элементов достаточно прост.
Элементы для назначения и источника протоколов ISO каждого кадра описываются кодами точки доступа к службе назначения (Destination Service Access Point — DSAP) и кодами точки доступа к службе источника (Source Service Access Point — SSAP).
Значения DSAP/SSAP присваиваются протоколам ISO, но не протоколу IP или множеству других протоколов, используемых на практике. Для IP и других распространенных протоколов DSAP и SSAP устанавливаются в значение X'AA, что означает наличие следующего далее другого заголовка, который и будет определять тип протокола для размещенных в кадре данных. Дополнительный заголовок называется подзаголовком протокола доступа в подсети (Subnetwork Access Protocol — SNAP).
Подзаголовок SNAP содержит вводную часть (introducer) со следующим далее старым знакомым — кодом типа Ethernet. Вводная часть имеет прекрасное название — уникальный организационный идентификатор (Organizationally Unique Identifier — OUI). Он определяет, кто несет ответственность за присвоение номеров протоколов.
Вводная часть (OUI) для кодов типа Ethernet (см. рис. 4.14) имеет значение X'00-00-00. Отдельный OUI со значением X'00-80-C2 служит для введения номеров различных протоколов мостов.
Рис. 4.14. Кадр 802.3 с заголовком LLC 802.2 и подзаголовком SNAP
4.13.1 Спецификации 802.3 и 802.2
Стандарт 802.3 содержит описание носителя Ethernet, протокола доступа к носителю CSMA/CD и формата MAC-кадров. В соответствии со стандартами комитета 802 заголовок 802.2 должен включаться в МАС-кадр 802.3.
На рис. 4.14 показан результат размещения датаграммы IP в кадре 802.3/802.2.
■ Отметим, что в отличие от DIX Ethernet третье поле заголовка кадра 802.3 содержит сведения о длине информации, которая следует далее (за исключением заполнителя) вместо кода типа Ethernet. Длина определяется в 8 октетов полей LLC и SNAP. Далее мы увидим, что в заголовке IP размещается поле длины датаграммы, хотя для IP это значение является избыточным.
■ DSAP и SSAP имеют значения X'AA, указывая на следующий далее подзаголовок SNAP.
■ Поле управления содержит X'03, что означает нечисловую информацию — так же, как и в HDLC.
■ Вводная часть поля SNAP содержит X'00-00-00, указывая на следующий далее тип Ethernet (который имеет значение X'08-00).
Другие протоколы (например, IPX или DECnet) имеют похожие кадры — нужно только подставить правильные значения для типов Ethernet.
Отметим, что 8 дополнительных октетов добавлены без каких-либо изменений в функциях IP. Именно поэтому многие реализации продолжают использовать старую спецификацию формата DIX Ethernet. Сетевые адаптеры Ethernet Network Interface Card (интерфейсные карты сети Ethernet) и их программные драйверы обычно поддерживают оба стандарта, а при конфигурировании пользователь может выбрать нужный вариант.
Часто термин Ethernet применяют как для старой DIX, так и для реализации IEEE 802.3/802.2. Иногда очень важно разделять эти понятия, поскольку системы, сконфигурированные для работы с DIX, не могут взаимодействовать с системами, сконфигурированными для 802.3/802.2.
4.14 Уровни в сетях 802
Ознакомимся со взглядом IEEE на сетевой мир. С появлением локальных сетей 802 IEEE разделил сетевой уровень 2 (уровень связи данных) на два подуровня (см. рис. 4.15).
Рис. 4.15. Уровни для локальных сетей 802
Подуровень MAC обеспечивает правила доступа к носителю — слушать и пересылать для 802.3 или ждать маркера для 802.5. Этот же уровень определяет первую часть заголовка кадра, которая содержит физические адреса источника и назначения.
Подуровень Logical Link Control описывает формат заголовка LLC. Он же определяет достаточно сложные правила для коммуникаций в те моменты, когда производится нумерация, подтверждение пересылки, управление потоком и повторная пересылка кадров с использованием уровня связи данных. Связи, обеспечивающие такие возможности, называются связями типа 2 (Type 2). Существует несколько протоколов, включая SDLC, LAPB или LAPD, которые выполняют коммуникации в локальных сетях с помощью связей типа 2.
Разумеется, датаграммы IP требуют только указания на подуровне Logical Link Control сведений о включении в кадр датаграммы IP. Обычно IP работает поверх протокола связи типа 1.
4.15 Другие технологии локальных сетей
По требованию IEEE локальные сети Token-Ring, token bus и FDDI должны включать заголовок LLC 802.2 и подзаголовок SNAP для пересылки протокола IP или иных протоколов с кодом типа Ethernet. Для них не существует укороченного формата.
Те же самые поля LLC и SNAP определяют вложенный протокол, как показано на рис. 4.14, а именно:
X'AA-AA-03-00-00-00 (тип Ethernet)
4.15.1 Конфигурация и носители для Token-Ring
Локальные сети Token-Ring были представлены компанией IBM, а позднее IEEE стандартизировал их как протокол 802.5. Станции в сети Token-Ring образуют физическое кольцо.
4.15.2 MAC для 802.5
Идея управления доступом к носителю (MAC) на основе маркера, или жетона, достаточно проста. Специальный кадр, называемый маркером (token), передается по кольцу от станции к станции. Когда станция получает такой маркер, она должна отправить данные дальше в течение ограниченного интервала времени. По завершении этого интервала удерживающая маркер станция обязана переслать его следующей станции.
Хотя основная идея не требует пояснений, для протокола пересылки маркера по кольцу нужны более сложные механизмы, чем для сети Ethernet. В частности, протокол для уровня MAC спецификации 802.5 включает процедуры связывания и разъединения кольца Token-Ring, идентификации ближайших соседей, выявления неисправной станции или потерянного маркера, предотвращения циклической пересылки данных и решения проблем с сигналами. Для различных функций 802.5 определяются разные заголовки MAC-уровня. Тип пересылающего данные протокола указывается через заголовки LLC и SNAP, размещенные за информационным полем маршрутизации (Routing Information Field) кадра Token-Ring.