Читайте также:
|
|
Исходная структура кадра, предложенная в свое время DIX (DEC, Intel, Xerox), показана на схеме. Каждый кадр начинается с поля Preamble (преамбула, заголовок) длиной 8 байт которое содержит последовательность 10101010.
Кадр содержит два адреса: получателя и отправителя. По стандарту разрешаются 2-байтовые и 6-байтовые адреса, однако параметры немодулированной передачи со скоростью 10 Мбит/с предусматривают только 6 байтовые адреса. Старший бит адреса получателя содержит 0 для обычных адресов и 1 для групповых получателей. Групповые адреса позволяют нескольким станциям принимать информацию от одного отправителя. Кадр, отправляемый групповому адресату, может быть получен всеми станциями, входящими в эту группу. Такой механизм называется групповой рассылкой. Если адрес состоит только из единиц, то кадр могут принять абсолютно все станции сети. Таким способом осуществляется широковещание. Групповая рассылка более избирательна, но требует некоторых усилий при управлении группами. Широковещание — это более грубая технология, но зато не требует никакой настройки групп.
Еще одной интересной особенностью адресации является использование 46-го бита (соседнего со старшим битом), позволяющего отличать локальные адреса от глобальных. Локальные адреса назначаются администратором каждой сети и не имеют смысла за ее пределами. Глобальные адреса, напротив, назначаются IEEE, и это гарантирует, что один и тот же глобальный адрес не используется двумя станциями. При 48 - 2 = 46 доступных битах может быть назначено около 7•1013 глобальных адресов. Идея заключается в том, что каждая станция может быть однозначно идентифицирована по ее 48-битовому номеру. Найти по этому номеру саму станцию — задача сетевого уровня.
Затем следует поле Туре, которое показывает приемнику, что делать с кадром. Дело в том, что одновременно на одной и той же машине могут работать несколько протоколов сетевого уровня, поэтому когда приходит кадр Ethernet, ядро должно понимать, какому протоколу его передать. Поле Туре определяет процесс, который должен взять себе кадр.
Наконец, за полем Туре следует поле данных, размер которого ограничен 1500 байтами. Такое ограничение было выбрано, в общем-то, произвольно в те времена, когда официально был закреплен стандарт DIX. При выборе ссылались на то, что приемопередатчику нужно довольно много оперативной памяти для того, чтобы хранить весь кадр. А память в 1978 году была еще очень дорогой. Соответственно, увеличение верхней границы размера поля данных привело бы к необходимости установки большего объема памяти, а значит, к удорожанию всего приемопередатчика.
Между тем, кроме верхней границы размера поля данных очень важна и нижняя граница. Поле данных, содержащее 0 байт, вызывает определенные проблемы. Дело в том, что когда приемопередатчик обнаруживает столкновение, он обрезает текущий кадр, а это означает, что отдельные куски кадров блуждают по кабелю.
Чтобы было легче отличить нормальные кадры от мусора, сети Ethernet требуется кадр размером не менее 64 байт (от поля адреса получателя до поля контрольной суммы включительно). Если в кадре содержится меньше 46 байт данных, в него вставляется специальное поле Pad, с помощью которого размер кадра доводится до необходимого минимума.
Другой (и даже более важной) целью установки ограничения размера кадра снизу является предотвращение ситуации, когда станция успевает передать короткий кадр раньше, чем его первый бит дойдет до самого дальнего конца кабеля, где он может столкнуться с другим кадром. Эта ситуация изображена на схеме.
В момент времени 0 станция А на одном конце сети посылает кадр. Пусть время прохождения кадра по кабелю равно t. За мгновение до того, как кадр достигнет конца кабеля (то есть в момент времени t - е), самая дальняя станция В начинает передачу. Когда станция В замечает, что получает большую мощность, нежели передает сама, она понимает, что произошло столкновение. Тогда она прекращает передачу и выдает 48-битный шумовой сигнал, предупреждающий остальные станции. Примерно в момент времени 2t отправитель замечает шумовой сигнал и также прекращает передачу. Затем он выжидает случайное время и пытается возобновить передачу.
Если размер кадра будет слишком маленьким, отправитель закончит передачу прежде, чем получит шумовой сигнал. В этом случае он не сможет понять, произошло это столкновение с его кадром или с каким-то другим, и, следовательно, может предположить, что его кадр был успешно принят. Для предотвращения такой ситуации все кадры должны иметь такую длину, чтобы время их передачи было больше 2т. Для локальной сети со скоростью передачи 10 Мбит/с при максимальной длине кабеля в 2500 м и наличии четырех повторителей (требование спецификации 802.3) минимальное время передачи одного кадра должно составлять в худшем случае примерно 50 мкс, включая время на прохождение через повторитель, которое, отлично от нуля. Следовательно, длина кадра должна быть такой, чтобы время передачи было по крайней мере не меньше этого минимума. При скорости 10 Мбит/с на передачу одного бита тратится 1000 нc, значит, минимальный размер кадра должен быть равен 500 бит. При этом можно гарантировать, что система сможет обнаружить коллизии в любом месте кабеля. Из соображений большей надежности это число было увеличено до 512 бит или 64 байт. Кадры меньшего размера с помощью поля Pad искусственно дополняются до 64 байт.
По мере роста скоростей передачи данных в сети минимальный размер кадра должен увеличиваться, или должна пропорционально уменьшаться максимальная длина кабеля. Для 2500-метровой локальной сети, работающей на скорости 1 Гбит/с, минимальный размер кадра должен составлять 6400 байт. Или же можно использовать кадр размером 640 байт, но тогда надо сократить максимальное расстояние между станциями сети до 250 м. По мере приближения к гигабитным скоростям подобные ограничения становятся все более суровыми.
Последнее поле кадра стандарта Ethernet содержит контрольную сумму. По сути дела, это 32-битный хэш-код данных. Если какие-либо биты приняты неправильно (в результате шума в канале), контрольная сумма практически наверняка будет неправильной, и ошибка, таким образом, будет замечена. Алгоритм вычисления контрольной суммы основан на циклическом избыточном коде (CRC).
Когда институт IEEE принимал стандарт Ethernet, в формат кадра было внесено два изменения.
Во-первых, преамбула была уменьшена до 7 байт, а последний байт был объявлен ограничителем кадра (Start of Frame) для совместимости со стандартами 802.4 и 802.5.
Во-вторых, поле Туре было преобразовано в Length. Конечно, приемник при этом потерял возможность определения действия над пришедшим кадром, но эта проблема была решена добавлением небольшого заголовка поля данных, предназначенного именно для подобной информации.
Дата добавления: 2015-08-09; просмотров: 131 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Манчестерский код | | | Адресация узлов сети. Плоское адресное пространство. Иерархическое адресное пространство |