Если при N(S) = V(R) верхний уровень занят, а приемная станция не может поместить поступающий I-кадр в очередь своего буфера (например, из-за недостатка памяти), то станция-получатель должна послать ответ RNR с номером N(R). Станция, пославшая I-кадр, получив такой ответ, приостанавливает передачу новых I-кадров (и повторную передачу неподтвержденных кадров) до тех пор, пока ею не будет принят кадр RR или REJ, либо пока не истечет время, контролируемое таймером Ts станции – отправителя.
Если же приемник принимает кадр с номером N(S), не равным V(R), то этот кадр отбрасывается и посылается отрицательная квитанция Отказ (REJ) с номером N(R)=V(R). При приеме отрицательной квитанции передатчик обязан повторить передачу кадра с номером V(R), а также все кадры с большими номерами, которые он уже успел послать, пользуясь механизмом окна.
Видим, что команда RR с номером N(R) используется как положительная квитанция, когда поток данных от приемника к передатчику отсутствует, а команда RNR – для замедления потока информационных кадров, поступающих на приемник. Это бывает необходимо, если приемник не успевает обрабатывать поток кадров, присылаемых ему с большой скоростью за счет механизма окна.
Таким образом, с помощью супервизорных кадров RR и RNR осуществляется управление потоком данных, что особенно важно для коммутируемых сетей, в которых нет разделяемой среды, автоматически тормозящей работу передатчика за счет того, что новый кадр нельзя передать, пока приемник не закончил прием предыдущего.
Типы кадров сети Ethernet
Кадр Ethernet отвечает за перемещение по сети данных верхнего уровня. Физический кадр Ethernet имеет заголовок и хвостовик, между которыми заключены фактические данные. Именно в таком виде информация передается из одного узла Ethernet в другой.
В настоящее время в среде Ethernet на канальном уровне используется четыре различных формата кадров, что связано с длительной историей развития технологии Ethernet, включающей период ее развития до принятия стандарта IEEE 802.3, когда подуровень LLC не выделялся из общего протокола и, соответственно, заголовок LLC не применялся. Каждый тип кадра отличается от других типов кадра способом кодирования и декодирования пакетов, курсирующих между сетевыми картами различных узлов в сети Ethernet.
В 1980 г. консорциум фирм DEC, Intel и Xerox (DIX) представил на рассмотрение комитета IEEE 802.3 свою фирменную версию стандарта Ethernet в качестве проекта международного стандарта (содержащей и описание формата кадра), но комитет 802.3 принял стандарт, который в некоторых деталях отличался от предложений DIX. Отличия касались и формата кадра, что породило существование двух различных типов кадров в сетях Ethernet.
Еще один формат кадра появился в результате усилий компании Novell по ускорению работы своего стека протоколов в сети Ethernet.
И, наконец, четвертый формат кадра появился в результате деятельности комитета 802.3 по приведению предыдущих форматов кадров к некоторому общему стандарту.
Один и тот же формат кадра может иметь различные названия, поэтому ниже для каждого из четырех форматов приведено несколько наиболее употребительных названий:
· стандартный тип кадра Ethernet II (Ethernet DIX);
· Ethernet RAW 802.3 (Novell 802.3);
· Ethernet IEEE 802.3/LLC (802.3/803.2 или Novell 802.2);
· Ethernet SNAP.
Различные типы кадров имеют некоторые общие поля, включая адреса отправителя и получателя пакета, поле данных и контрольное поле.
Формат кадра в оригинальной системе Ethernet
Тип кадра Ethernet II, представляющий собой кадр исходной Ethernet DIX, имеет следующий формат:
Преамбула | Назначение | Источник | Тип | Данные | CRC - сумма |
8 | 6 | 6 | 2 | 46-1500 | 4 |
Поле Преамбула используется для синхронизации пакета на входе и выходе сетевых плат. Она всегда содержит код 10101010 в ее первых 7 байтах и код 10101011 в последнем байте. Необходимость в преамбуле обусловлена следующими причинами. В сетях Ethernet в отсутствии передач по сети вообще не передаются сигналы. Чтобы в начале передачи очередного кадра все станции сети вошли в битовую синхронизацию, передающая станция предваряет содержимое кадра последовательностью бит преамбулы. Войдя в битовую синхронизацию, приемник исследует входной поток на побитной основе, пока не обнаружит символ начала кадра 10101011, выполняющий в данном случае роль символа STX. Конец кадра в сети Ethernet определяется с помощью поля длины кадра в его заголовке или по моменту исчезновения несущей в кабеле.
Поле Назначение содержит физический адрес узла сети, которому предназначено сообщение.
Поле Источник идентифицирует узел, отправивший пакет.
Поле Тип идентифицирует тип протокола более высокого уровня, используемого для передачи или приема (аналогично полям SAP протокола LLC). Это поле было введено фирмой Xerox для внутреннего употребления и никак не интерпретируется в Ethernet. Данное поле позволяет множеству протоколов более высокого уровня разделять сеть, не интересуясь внутренним содержанием пакетов.
Поле Данные содержит собственно сообщение.
Поле CRC-сумма содержит контрольную сумму, вычисленную с помощью циклического избыточного кода CRC-32.
Если не учитывать преамбулу кадра, то стандартное сообщение Ethernet II имеет длину от 64 до 1518 байт.
Формат кадра Ethernet RAW 802.3
Существенное различие между типами кадра стандартной Ethernet II и Ethernet RAW 802.3 состоит лишь в замене поля типа на поле длины:
Преамбула | Назначение | Источник | Длина | Данные | Набивка | CRC –сумма |
8 | 6 | 6 | 2 | 0-1500 | ? | 4 |
Здесь поле Длина содержит информацию о длине данных в пакете. Если длина поля данных меньше 46 байт, то используется поле Набивка для доведения длины пакета до минимальной длины. При нормальной длине поля данных поле набивки отсутствует.
Поскольку стандартные кадры Ethernet II и RAW 802.3 имеют различную структуру, сетевой и верхний уровни обрабатывают эти типы кадров по-разному.
Формат кадра стандарта Ethernet IEEE 802.3/LLC
Между стандартным типом кадра Ethernet IEEE 802.3/LLC и нестандартным типом Ethernet RAW 802.3 существует только одно реальное различие. Нестандартный тип RAW 802.3 характеризуется отсутствием заголовка 802.2 LLC в поле данных (отсюда название RAW – "ободранный", "лишенный заголовка 802.2"). В стандартном типе кадра IEEE 802.3 заголовок 802.2 находится внутри поля данных.
Кадр 802.3 является кадром MAC-подуровня, поэтому в соответствии со стандартом 802.2 в его поле данных вкладывается кадр подуровня LLC с удаленными флагами 0111110 начала и конца кадра LLC. Т.к. заголовок кадра LLC имеет размер 3 (в режиме LLC1) или 4 (в режиме LLC2) байта, то максимальный размер поля данных в кадре 802.3 уменьшается до 1497 или 1496 байт соответственно.
Формат кадра Ethernet SNAP
Для устранения различий в кодировках типов протоколов, сообщения которых вложены в поле данных кадра Ethernet, комитетом 802.2 был разработан формат кадра Ethernet SNAP (SubNetwork Access Protocol).
Кадр Ethernet SNAP представляет собой расширение кадра Ethernet 802.3/LLC за счет введения дополнительного 5-байтового заголовка протокола SNAP, состоящего из двух полей OUI и Type.
Поле Type состоит из двух байт и повторяет по формату и назначению поле Type кадра Ethernet II. Поле OUI (Originally Unique Identifier) определяет идентификатор организации, которая контролирует коды протоколов в поле Type. Коды протоколов для технологий 802 контролирует IEEE, которая имеет идентификатор OUI, равный 000000.
Т.к. SNAP представляет собой протокол, вложенный в протокол LLC, то в полях DSAP и SSAP последнего записывается код 0xAA, отведенный для протокола SNAP. Поле Control заголовка LLC устанавливается в 0x03, что соответствует использованию ненумерованных кадров.
Заголовок SNAP является дополнением к заголовку LLC, поэтому он допустим не только в кадрах Ethernet, но и в кадрах других технологий 802. Например, протокол IP всегда использует структуру заголовков LLC/SNAP при инкапсуляции в кадры всех протоколов локальных сетей: FDDI, Token Ring, 100VG-AnyLAN, Ethernet, Fast Ethernet, Gigabit Ethernet.
Сеть Token Ring
Метод доступа к передающей среде
Сеть Token Ring (маркерное кольцо), разработанная IBM и Texas Instruments, определена в качестве стандарта IEEE 802.5 в 1985 г. Она является значительным вкладом компании IBM в сетевую индустрию. Хотя эта архитектура гораздо дороже, чем Ethernet, она обладает гораздо большей производительностью, а диагностика отказов в ней намного легче, особенно в сильно загруженной сети.