Если в задачи подуровня PMD входит формирование качественных оптических импульсов на выходе и входе каждого физического соединения, то подуровень PHY имеет дело с передачей с помощью импульсов PMD логических единиц и нулей, приходящих с подуровня MAC. Более точно, подуровень PHY занимается следующими задачами:
- Определение моментов времени снятия информации по сигналам, поступающим от подуровня PMD (тактирование входных сигналов);
- Определение границ байт при обмене данными с MAC-подуровнем;
- Кодирование поступающих от MAC-подуровня символов в соответствующий физический код (NRZI или MLT-3) подуровня PMD;
- Декодирование поступающих от PMD сигналов (NRZI или MLT-3) в символы MAC-подуровня;
- Управление эластичным буфером (Elasticity Buffer) для согласования частоты входных и выходных сигналов;
- Определение статуса входящей физической линии на основе тестовой последовательности управляющих символов;
- Генерация последовательности управляющих символов для выходящей физической линии по командам от подуровня SMT;
- Фильтрация приходящих ошибочных символов для исключения их передачи на выходную линии.
Принципы логического кодирования с использованием кодов 4В/5В, а также физического кодирования с помощью методов NRZI (для оптоволокна) и MLT-3 (для витой пары) уже были рассмотрены в разделах 1.4.3 - 1.4.4, так как технология Fast Ethernet позаимствовала их у технологии FDDI.
Кроме 16 кодов, отведенных для 16 кодовых комбинаций исходных 4-х байтовых символов, физический и МАС-уровни оперируют нескольким служебными символами:
- Символы состояния линии:
- Quiet, Q (молчание) - 00000
- Idle, I (простой) - 11111
- Halt,I (останов) - 00100
Эти символы позволяют соседям по физическому соединению определить его состояние в процессе его инициализации и поддержания
- Символы ограничителей начала и конца кадра:
- Start Delimiter 1 (первый символ границы начала кадра) - 11000
- Start Delimiter 2 (второй символ границы начала кадра) - 10001
- Ending Delimiter (конец кадра) - 01101
Начало кадра отмечает встретившиеся подряд два символа Start Delimiter 1 и Start Delimiter 2, называемых также символами J и K (по аналогии со стандартом Token Ring)
- Символы логического нуля и логической единицы:
- Reset (логический нуль) - 00111
- Set (логическая единица) - 11001
Эти символы используются для указания логических значений признаков распознавания адреса, ошибки и копирования кадра, имеющих в кадре FDDI назначение, аналогичное назначению соответствующих признаков кадра Token Ring.
- Запрещенные символы - это все символы, которые не являются служебными кодами или 5-битными кодами, использованными для записи 16 возможных комбинаций 4-х разрядных кодов.
В обязанности физического уровня входит фильтрация символов, передаваемых на выходную линию порта. Если среди символов кадра встречаются запрещенные символы, то они заменяются на 4 символа Halt, которые далее сопровождаются символами Idle до передачи следующего кадра. Последующий сосед, получив кадр с 4-мя символами Halt, должен изъять поврежденный кадр из кольца. Функция фильтрации не обязательна, когда кадр проходит через МАС-блок станции, но это происходит не всегда, например, вторичное кольцо может проходить только через блоки физического уровня, не заходя в МАС-блок, если это станция с двойным подключением.
Рассмотрим подробней, каким образом происходит синхронизация приемника с передатчиком в сети FDDI при приеме кодов 4B/5В.
Сеть FDDI использует распределенную схему тактирования информации, при которой каждая станция работает со своим независимым локальным тактовым генератором. Это отличает ее от сетей Token Ring, в которых одна станция поддерживает тактирование информации для всей сети, управляя главным тактовым генератором сети, называемым Master Clock.
В сети FDDI тактовые частоты синхронизируются в каждом физическом соединении соседних станций (рисунок 2.13).
Рис. 2.13. Согласование тактовых генераторов в сети FDDI
Каждая станция имеет два тактовых генератора - локальный, который управляет тактированием передаваемой информации, и восстанавливающим, который синхронизируется с тактовой частотой данных, приходящих от соседней станции. Локальный тактовый генератор работает на тактовой частоте 125 Мгц ± 0.005%. Восстанавливающий тактовый генератор, называемый RCRCLK (Receive Recovery Clock) подстраивается под тактовую частоту, извлекаемую из NRZI или MLT-3 сигналов при поступлении кодов Idle в промежутке между передачей кадров данных. Коды Idle, имеющие значение 111111, создают последовательность импульсов типа "меандр" с равными длительностями высокого и низкого потенциала, удобных для подстройки тактового генератора RCRCLK, так как сигнал изменяется два раза за период.
Поступающие символы записываются в соответствии с обнаруженной в импульсах кодов Idle частотой в эластичный буфер (Elasticity Buffer). Из эластичного буфера символы извлекаются уже с частотой локального генератора. В результате, рассогласование частот станций в кольце постоянно сглаживается, не превышая 0.01%. Принимающая станция поддерживает заполнение эластичного буфера наполовину, извлекая очередной символ только при превышении этой границы.
Блоки PMD и PHY, реализующие физический уровень технологии FDDI для каждого порта, участвуют в процедуре инициализации физического соединения каждого порта станции с портом предшествующей или последующей станций. Эта процедура проводится при непосредственном участии блока управления станцией - SMT (Station Management). Блок управления станцией выполняет большое количество функций, получая информацию и управляя всеми остальными блоками станции - PMD, PHY и MAC. Рассмотрим группу функций SMT, управляющих физическими соединениями портов и конфигурацией внутреннего пути данных. Эта группа функций получила название Connection Management (CMT).
На рисунке 2.14 показан состав функций CMT и связь их с блоками PMD, PHY, MAC и некоторыми другими элементами станции.
Рис. 2.14. Структура блока управления конфигурацией CMT
Станция, имеющая несколько портов, обеспечивает для каждого из них блоки PMD, PHY и элемент управления конфигурацией CCE (Control Configuration Element). ССЕ - это переключатель, который соединяет входы и выходы первичного и вторичного колец, подключенных к порту извне, с внутренними путями данных станции, в результате данные могут передаваться из порта элементу MAC станции, а могут непосредственно переправляться на другой порт. Реконфигурация станции при ее реакции на отказы производится именно переключателем CCE.
Блок управления конфигурацией имеет в своем составе несколько элементов PCM (Physical Connection Management), по одному на каждый порт. Элемент PCM управляет физическим состоянием линии своего порта, анализируя символы, приходящие от PHY, и передавая PHY свои команды. Если элемент PCM обнаруживает изменение состояния линии, то он оповещает об этом элемент CFM (Configuration Management), который отвечает за конфигурацию внутреннего пути данных. Элемент CFM производит конфигурирование внутреннего пути, управляя переключателями портов CCE. Делает он это с помощью элементов CEM (Configuration Element Management), каждый из которых управляет одним переключателем CCE. Блок ECM (Entity Coordination Management) координирует работу всех блоков и элементов блока управления конфигурацией CMT.
Установление физического соединения - основная задача блока PCM. Блок PCM каждого порта начинает эту процедуру по команде PC_Start, получаемой от координирующего элемента ECM (рисунок 2.15).
Рис. 2.15. Управление физическим соединением портов
При получении этой команды блок PCM локального порта начинает обмениваться символами кодов 4B/5B по миникольцу, образуемому двумя соседними портами. Процедура инициализации физического соединения - это распределенная процедура, в ней участвуют два РСM соседних портов.
Во время этой процедуры для обмена информацией соседние порты используют не отдельные символы, а достаточно длинные последовательности символов, что повышает надежность взаимодействия. Эти последовательности называются состоянием линии. Всего используется 4 состояния линии:
- Quiet Line State, QLS - состояние молчания, состоит в передаче 16 или 17 символов Quiet подряд;
- Master Link State, MLS - состояние главного порта, состоит в передаче 8 или 9 пар символов Halt-Quiet;
- Halt Link State, HLS - состояние останова, состоит в передаче 16 или 17 символов Halt подряд;
- Idle Link State, ILS - состояние простоя, состоит в передаче 16 или 17 символов Idle подряд.
Первый этап инициализации заключается в передаче портом - инициатором соединения - состояния QLS соседнему порту. Тот должен при этом перейти в состояние BREAK - разрыва связи, независимо от того, в каком состоянии связь находилась до получения символов QLS. Соседний порт, перейдя в состояние BREAK, также посылает символы QLS, обозначая свой переход.
После того, как порт-инициатор убедился, что первый этап инициализации выполнен, он выполняет следующий этап - переход в состояние CONNECT (соединение). Делает он это посылкой символов HLS, на что соседний порт также должен ответить символами HLS.
Если состояние CONNECT установлено, то порт-инициатор начинает наиболее содержательный этап инициализации - NEXT, включающий обмен информацией о типе портов, проведение тестирования качества линии и проведение тестового обмена МАС-кадрами. Этап NEXT состоит в обмене между соседними портами 10-ю сообщениями, которые передаются по очереди. Порт передает одно свое сообщение, затем получает и анализирует сообщение от соседа и так далее. Каждое сообщение несет один бит информации и кодируется последовательностями MLS - логический ноль, или HLS - логическая единица.
Первые два сообщения несут информацию о типе своего порта. Для кодирования нужны два бита, так как существует четыре типа портов - А, В, М или S. Третье сообщение говорит соседнему порту, приемлемо ли для данного порта соединение с указанным в принятых сообщениях типом порта. Если да, то следующие сообщения оговаривают длительность процедуры тестирования качества линии, а затем передают информацию о результатах тестирования. Тест состоит в передаче в течение определенного времени символов Idle и подсчете искаженных символов. Если качество линии приемлемо, то выполняется тестовый обмен кадрами данных с участием блоков MAC станций.
Если все этапы инициализации прошли успешно, то физическое соединение считается установленным и активным. По нему начинают передаваться символы простоя и кадры данных. Однако, до тех пор, пока станция не выполнит процедуру логического вхождения станции в кольцо, эти кадры могут нести только служебную информацию.
После установления физического соединения станция должна включить порт во внутренний путь, по которому проходят кадры данных и маркер.
Средством, с помощью которого выполняется это включение, является переключатель CCE. Он может подключить вход и выход порта к любому из трех внутренних путей станции (рисунок 2.16) по командам от элемента CEM блока управления конфигурацией CMT.
Рис. 2.16. Подключение порта к внутренним путям станции
Внутренние пути станции не следует путать с внешними первичным и вторичным кольцами сети. Внутренние пути могут соединяться с любым из колец, в зависимости от состояния порта.
Первичный внутренний путь обязательно должен присутствовать у любой станции. Вторичный внутренний путь является необязательным, но желательным в некоторых конфигурациях станций с двойным подключением, как это будет видно из примеров. Локальный путь используется для тестирования станции на МАС-уровне перед ее логическим включением в кольцо.
Переключатель CCE может находиться в одном из 5 состояний (рисунок 2.17):
- ISOLATED - изолированное состояние, когда все пути идут мимо входа и выхода порта;
- INSERT_P - порт включен в первичный внутренний путь;
- INSERT_S - порт включен во вторичный внутренний путь;
- INSERT_X - порт включен в первичный и вторичный внутренние пути. Это состояние используется для сворачивания первичного и вторичного внешних колец на данном порту (состояние WRAP сети);
- LOCAL - порт включен в локальный внутренний путь.
Рис. 2.17. Состояния переключателя внутренних путей
С помощью перевода переключателей портов станции в нужное состояние блок управления конфигурацией может обеспечить передачу кадров и маркера по тому внутреннему пути, который соответствует текущему состоянию сети. На рисунке 2.18 приведены примеры поддержки состояний THRU_A ( а) и WRAP_A (б) для станции с двойным подключением.
Состояние THRU_A соответствует нормальному режиму работы колец сети. В этом режиме первичное кольцо проходит через порты А и В, а также MAC-узел станции, а вторичное кольцо проходит только через блоки PMD и PHY каждого из портов. Состояние WRAP_A соответствует реакции сети на нарушение целостности сети, при котором порт В теряет физическое соединение с соседним по сети портом. При этом на линии устанавливается состояние Quiet Line State, так как отсутствие сигналов на входе порта соответствует получению символов Quiet (00000). Получив информацию о том, что на входе порта В установилось состояние QLS, блок PCM этого порта пытается начать процесс реинициализации физического соединения. При отсутствии физической связи между портами эта попытка называется удачной, поэтому порт переводится в состояние INSERT_X, а порт В - в состояние ISOLATED.
Рис. 2.18. Работа переключателя пути CCE в станции с двойным подключением