Протокол сетевого уровня инкапсулированный в кадре
Описание технологии Ethernet
Данные, передаваемые в сети Ethernet, разбиты на кадры. Напомним, что практически каждой сетевой технологии (независимо от её уровня) соответствует единица передачи данных : Ethernet — кадр, АТМ — ячейка, IP — дейтаграмма и т.д. Данные по сети в чистом виде не передаются. Как правило, к единице данных «пристраевается» заголовок. В некоторых сетевых технологиях добавляется также окончание. Заголовок и окончание несут служебную информацию и состоят из определённых полей.
Так как существует несколько типов кадров,то для того, чтобы понять друг друга, отправитель и получатель должны использовать один и тот же тип кадров. Кадры могут быть четырёх разных форматов, несколько отличающихся друг от друга. Базовых форматов кадров (raw formats) существует всего два — Ethernet II и Ethernet 802.3. Эти форматы отличаются назначением всего одного поля.
Для успешной доставки информации получателю каждый кадр должен кроме данных содержать служебную информацию : длину поля данных, физические адреса отправителя и получателя, тип сетевого протокола и т.д.
Большинство сетевых администраторов не уделяет должного внимания типам кадров Ethernet, а это может явиться источником проблем. Например, если клиентское сетевое программное обеспечение настроено на неверный тип кадра, то пользователь не сможет взаимодействовать с сервером. За типом кадра приходится особенно внимательно следить в сетях Nowell NetWare, так как в новых версиях этой операционной системы тип кадра по умолчанию был изменён с 802.3 на 802.2. Кроме того, в корпоративных сетях применяются устройства от нескольких поставщиков, базирующихся на разных протоколах взаимодействия и использующих различные типы кадров.
Для того, чтобы рабочие станции имели возможность взаимодействовать с сервером в одном сегменте сети, они должны поддерживать единый формат кадра. Существует четыре основных разновидности кадров Ethernet :
- Ethernet Type II
- Ethernet 802.3
- Ethernet 802.2
- Ethernet SNAP (SubNetwork Access Protocol).
Рассмотрим поля, общие для всех четырёх типов кадров (рис. 1).
Рис. 1. Общий формат кадров Ethernet
Поля в кадре имеют следующие значения :
- Поля «Преамбула» и «Признак начала кадра» предназначены для синхронизации отправителя и получателя. Преамбула представляет собой 7 — байтовую последовательность единиц и нулей. Поле признака начала кадра имеет размер 1 байт. Эти поля не принимаются в расчёт при вычислении длины кадра.
- Поле «Адрес получателя» состоит из 6 байт и содержит физический адрес устройства в сети, которому адресован данный кадр. Значения этого и следующего поля являются уникальными. Каждому производителю адаптеров Ethernet назначаются первые три байта адреса, а оставшиеся три байта определяются непосредственно самим производителем. Например, для адаптеров фирмы 3Com физические адреса будут начинаться с 0020AF. Первый бит адреса получателя имеет специальное значение. Если он равен 0, то это адрес конкретного устройства (только в этом случае первые три байта служат для идентификации производителя сетевой платы), а если 1 — широковещательный. Обычно в широковещательном адресе все оставшиеся биты тоже устанавливаются равными единице (FF FF FF FF FF FF).
- Поле «Адрес отправителя» состоит из 6 байт и содержит физический адрес устройства в сети, которое отправило данный кадр. Первый бит адреса отправителя всегда равен нулю.
- Поле «Длина/тип» может содержать длину или тип кадра в зависимости от используемого кадра Ethernet. Если поле задаёт длину, она указывается в двух байтах. Если тип — то содержимое поля указывает на тип протокола верхнего уровня, которому принадлежит данный кадр. Например, при использовании протокола IPX поле имеет значение 8137, а для протокола IP — 0800.
- Поле «Данные» содержит данные кадра. Чаще всего — это информация, нужная протоколам верхнего уровня. Данное поле не имеет фиксированной длины.
- Поле «Контрольная сумма» содержит результат вычисления котрольной суммы всех полей, за исключением перамбулы, признака начала кадра и самой контрольной суммы. Вычисление выполняется отправителем и добавляется в кадр. Аналогичная процедура вычисления выполняется и на устройстве получателя. В случае, если результат вычисления не совпадает со значением данного поля, предполагается, что произошла ошибка при передаче. В этом случае кадр считается испорченным и игнорируется.
Следует отметить, что минимальная допустимая длина всех четырёх типов кадров Ethernet составляет 64 байта, а максимальная — 1518 байт. Так как на служебную информацию в кадре отводится 18 байт, то поле «Данных» может иметь длину от 46 до 1500 байт. Если передаваемые по сети данные меньше допустимой минимальной длины, кадр будет автоматически дополняться до 46 байт. Столь жёсткие ограничения на минимальную длину кадра ввдены для обеспечения нормальной работы механизма обнаружения коллизий.
Рассмотрим более подробно форматы кадров разных типов. Тип кадра Ethernet II используется многими протоколами верхнего уровня, такими как IPX, TCP/IP и Apple Talk. Данный тип кадра был разработан фирмами DEC, Intel и Xerox. Необходимо учитывать, что хотя данный тип кадра является наиболее широко используемым, он не одобрен организациями ISO и IEEE. Формат данного типа кадра отличается от рассмотренного выше только тем, что в поле «Длина/тип» всегда указывается тип протокола.
Сетевые операционные системы Nowell NetWare 2.x и 3.x (за исключением 3.12) по умолчанию используют кадры Ethernet 802.3. Хотя в названии этого кадра есть упоминание комитета IEEE, последний не имел никакого отношения к его разработке.
Данный тип кадра не содержит никакой информации о протоколе. Поле «Длина/тип» всегда указывает длину кадра. В результате нет стандартных методов идентификации сетевого протокола, которому принадлежит данный кадр. Однако, только в соответствии с концепцией фирмы Nowell, только протокол IPX может использоваться с данным типом кадров. Разработана специальная последовательность действий для определения того, что именно протокол IPX был инкапсулирован в кадр данного типа :
- Проверяется поле «Длина/тип». Если оно содержит значение от 0 до 1518 (05ЕЕ), то данное поле определяет длину кадра, а не тип протокола (то есть это кадр 802.3, в противном случае — кадр Ethernet II).
- Проверяются два байта, следующие за полем «Длина/тип». Если они содержат FFFF, это означает, что кадр принадлежит протоколу IPX, так как заголовок этого протокола всегда начинается с FFFF.
В результате стандартизации сетей Ethernet подкомитетом IEEE 802.3 появился кадр Ethernet 802.2. Этот кадр является базовым для операционных систем Nowell NetWare версий 3.12 и 4.х. В данном типе кадра сразу за адресом отправителя следует поле длины, имеющее такое же назначение. Кроме того, этот тип кадра содержит несколько дополнительных полей, рекомендованных подкомитетом IEEE 802.3. Эти поля распологаются за полем «Длина/тип» и имеют следующее назначение :
- Поле «DSAP» указывает на используемый получателем протокол сетевого уровня. Размер поля составляет 1 байт (один бит в нём зарезервирован). Для протокола IPX значение поля равно Е0, для протоколов IP — 06, для NetBIOS — F0.
- Поле «SSAP» указывает на используемый отправителем протокол сетевого уровня. Размер данного поля составляет 1 байт (один бит зарезервирован). Обычно значение данного поля совпадает со значением поля DSAP.
- Поле «Контроль» указывает на тип сервиса, требуемый для сетевого протокола. Размер данного поля составляет 1 байт. Сетевая операционная система Nowell NetWare устанавливает значение данного поля в 03.
Формат кадра Ethernet 802.2 имеет некоторые недостатки, в частности, он содержит нечётное число байтов служебной информации. Это не совсем удобно для работы большинства сетевых устройств. Кроме того, для идентификации протокола сетевого уровня отводится 7 бит,что позволяет поддерживать «всего» 128 различных протоколов. Кадр Ethernet SNAP, являющийся дальнейшим развитием Ether n et 802.2, содержит следующие дополнительные поля (рис. 2) :
- Поле «Код организации» имеет длину 3 байта и указывает на код конкретной организации (фирмы), которая присвоила значение поля «Идентификатор протокола». Если значение поля равно 000000 (а это так практически всегда, за исключением сетей Apple Talk), то поле «Идентификатор протокола» содержит значение, которое обычно помещается в поле «Длина/тип», то есть идентификатор протокола верхнего уровня.
- Поле «Идентификатор протокола» имеет длину два байта и идентифицирует протокол верхнего уровня, инкапсулированный в поле «Данные» кадра. При использовании протокола IPX это поле содержит значение 8137.
В совокупности эти два поля составляют дополнительное пятибайтовое поле для идентификации протокола.Это было сделано для увеличения числа поддерживаемых протоколов.
11.4. Инкапсуляция данных в Ethernet кадр
Согласно семиуровневой модели ЭМВОС пользовательские данные сначала попадают на уровень приложения (рис. 11.6), где обрамляются заголовком приложения. Далее они проходят уровень презентационный и сессионный. На транспортном уровне добавляются заголовок протокола транспортного уровня (как правило, TCP – Transport Control Protocol). После чего, TCP сегмент инкапсулируется в IP пакет, т.е. к сегменту TCP добавляется заголовок IP. А уже IP-пакет инкапсулируется в Ethernet кадр с добавлением заголовка и хвостовика Ethernet. Кадр Ethernet не может быть больше 1512 байт (кроме некоторых исключений), в то время как IP-пакет может быть размером до 65000 байт, поэтому на втором уровне модели ЭМВОС предусмотрено фрагментирование IP-пакета в Ethernet-кадры.
Рис. 11.6. Инкапсуляция данных в Ethernet кадр
11.5. Топология Ethernet
Топология определяет требования к оборудованию, тип используемого кабеля, допустимые и наиболее удобные методы управления обменом, надежность работы, возможности расширения сети.
Топология точка-точка (Point-to-Point)
Данный вид топологии представлен на рис. 11.7, где показана связь персонального компьютера с сетевым устройством. Также данная топология может быть реализована между двумя персональными компьютерами. В такой топологии может быть реализован режим полудуплексной связи (Half-duplex), но целесообразнее применять полнодуплексную связь (Full-duplex).
Рис. 11.7. Топология точка-точка (Point-to-Point)
Топология общая шина (Bus)
Шина (bus) — все компьютеры параллельно подключаются к одной линии связи. Информация от каждого компьютера одновременно передается всем остальным компьютерам (рис. 11.8).
Рис. 11.8. Топология общая шина (Bus)
Топология шина (или, как ее еще называют, общая шина) самой своей структурой предполагает идентичность сетевого оборудования компьютеров, а также равноправие всех абонентов по доступу к сети. Компьютеры в шине могут передавать только по очереди, так как линия связи в данном случае единственная. Если несколько компьютеров будут передавать информацию одновременно, она исказится в результате наложения (конфликта, коллизии). В шине всегда реализуется режим так называемого полудуплексного (half duplex) обмена (в обоих направлениях, но по очереди, а не одновременно).
В топологии шина отсутствует явно выраженный центральный абонент, через которого передается вся информация, это увеличивает ее надежность (ведь при отказе центра перестает функционировать вся управляемая им система). Добавление новых абонентов в шину довольно просто и обычно возможно даже во время работы сети. В большинстве случаев при использовании шины требуется минимальное количество соединительного кабеля по сравнению с другими топологиями.
Поскольку центральный абонент отсутствует, разрешение возможных конфликтов в данном случае ложится на сетевое оборудование каждого отдельного абонента. В связи с этим сетевая аппаратура при топологии шина сложнее, чем при других топологиях. Тем не менее из-за широкого распространения сетей с топологией шина (прежде всего наиболее популярной сети Ethernet) стоимость сетевого оборудования не слишком высока.
Важное преимущество шины состоит в том, что при отказе любого из компьютеров сети, исправные машины смогут нормально продолжать обмен.
При прохождении по линии связи сети с топологией шина информационные сигналы ослабляются и никак не восстанавливаются, что накладывает жесткие ограничения на суммарную длину линий связи. Причем каждый абонент может получать из сети сигналы разного уровня в зависимости от расстояния до передающего абонента. Это предъявляет дополнительные требования к приемным узлам сетевого оборудования.
Для увеличения длины сети с топологией шина часто используют несколько сегментов (частей сети, каждый из которых представляет собой шину), соединенных между собой с помощью специальных усилителей и восстановителей сигналов – репитеров или повторителей. Однако такое наращивание длины сети не может продолжаться бесконечно. Ограничения на длину связаны с конечной скоростью распространения сигналов по линиям связи.