Синхронная и асинхронная передача данных

 

Передача кадров данных происходит следующим образом:

1. Узел А, желающий послать кадр узлу В, дожидается прихода маркера, за­хватывает его и посылает в кольцо свой кадр. Вслед за кадром выпускает­ся маркер.

2. Узел В копирует адресованный ему кадр в свой буфер, делает отметку в поле статуса и отправляет кадр дальше по кольцу к передатчику. Если узел не является приемником кадра, он транслирует кадр без изменения.

3. Далее узел В получает маркер, выпущенный узлом А сразу после кадра. Если узел В имеет информацию для передачи, он захватывает маркер и посылает в кольцо свой кадр, а следом и маркер. Теперь в кольце присут­ствуют два кадра, но только один маркер.

4. Узел, получивший по кольцу переданный им же кадр, анализирует его ста­тус, а кадр дальше не транслирует (уничтожает).

Каждая станция гарантированно увидит маркер не реже, чем через время 2xT_OPR (это худший случай, когда станция оказалась на краю свернутого коль­ца). Время в течение которого она имеет право передавать кадры, удерживая маркер, указывается ей средствами SMT. Протокол предполагает дисциплиниро­ванность всех станций кольца.

Трафик, передаваемый каждой станцией, подразделяется на синхронный и асинхронный (деление условно и осуществляется приложениями, обращающи­мися к сети). Синхронный трафик имеет приоритет над асинхронным. Много­уровневой приоритизации и резервирования, как в Token Ring, в FDDI нет, зато имеются механизмы адаптивного планирования загрузки.

Каждая станция имеет таймер обращения маркера TRT (Token-Rotation Ti­mer), используемый при планировании загрузки кольца. Этот таймер каждый раз по приходе маркера устанавливается в значение T_OPR, после чего начинает декрементироваться. Значение TRT на момент прихода маркера заносится в тай­мер ТНТ (Token Holding Timer), используемый для ограничения времени асинх­ронной передачи. Если маркер обернулся раньше расчетного времени T_OPR – ранний маркер (early token), то станция может начать асинхронную передачу. Если маркер пришел не рано, то станция может передавать только порцию синхронного трафика в стечение выделенного ей времени.

Если маркер пришел рано, то станция при желании может быстро передать пачку асинхронных кадров, используя всю нераспределенную (под синхронный трафик) полосу кольца. Для этого используется ограниченный маркер (restricted token) и устанавливается режим расширенного диалога (extended dialogue). По­слав первую порцию асинхронных кадров, станция выпускает ограниченный маркер, который для асинхронного трафика может захватить только эта же стан­ция и станция, являющаяся адресатом назначения переданных кадров. В резуль­тате до окончания диалога вся полоса, остающаяся от синхронного трафика, де­лится между этими двумя станциями для передачи их асинхронного трафика. По завершении расширенного диалога (по окончании данных) станция-инициатор выпускает обычный неограниченный маркер (non-restricted token). За дли­тельностью диалога следит SMT, и если он затягивается дольше предопределен­ного времени, то его принудительно прерывает станция, заметившая это наруше­ние (она преобразует маркер в неограниченный).

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

 

Total_Transmission_Time = T_OРR – Maximum_Ring_Latency.

 

Здесь Maximum_Ring_Latency – сумма задержек, вносимых станциями и ка­бельными сегментами. Для максимальной конфигурации (1000 станций и 200км) это время не должно превышать 1,617 мс.

Суммарное время передач распределяется между станциями в соответствии с их потребностями, каждой станции достается полоса, определяемая как

 

(Transmission_Time/T_OPR) 100 Мбит/с.

 

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