Автоматическое определение типа сети (Auto-Negotiation)
Функция автоматического определения типа сети, предусмотренная стандартом Ethernet, не является обязательной. Однако ее реализация в сетевых адаптерах и концентраторах позволяет существенно облегчить жизнь пользователям сети. Особенно это важно на современном этапе, когда широко применяются как более ранняя версия Ethernet со скоростью обмена 10 Мбит/с, так и более поздняя версия Fast Ethernet со скоростью 100 Мбит/с.
Функция автодиалога или автосогласования (так можно перевести Auto-Negotiation) позволяет адаптерам, в которых предусмотрено переключение скорости передачи, автоматически подстраиваться под скорость обмена в сети, а концентраторам, в которых предусмотрен авто диалог, самим определять скорость передачи адаптеров, подключенных к их портам. При этом пользователь сети не должен следить за тем, на какую скорость обмена настроена его аппаратура: система сама выберет максимально возможную скорость.
Сразу отметим, что режим автодиалога применяется только в сетях на основе сегментов, использующих витые пары: 10BASE-T, 100BASE-TX и 100BASE-T4. Для сегментов на базе коаксиального кабеля и оптоволоконного кабеля автодиалог не предусмотрен. Шинные сегменты на коаксиальном кабеле не дают возможности двухточечной связи, а в оптоволоконных сегментах применяется другая система служебных сигналов.
Автодиалог основан на использовании сигналов, передаваемых в Fast Ethernet, которые называются FLP (Fast Link Pulse) по аналогии с сигналами NLP (Normal Link Pulse), применяемыми в сегментах 10BASE-T. Так же, как и NLP, сигналы FLP начинают вырабатываться с включением питания соответствующей аппаратуры (адаптера или концентратора) и формируются в паузах между передаваемыми сетевыми пакетами, поэтому они никак не влияют на загрузку сети. Именно сигналы FLP и передают информацию о возможностях подключенной к данному сегменту аппаратуры.
Так как аппаратура 10BASE-T разрабатывалась до создания механизма автодиалога, для автоматического определения типа сети необходимо обрабатывать не только сигналы FLP, но и сигналы NLP.
Это также предусмотрено в аппаратуре, поддерживающей автодиалог. Естественно, в такой аппаратуре, как правило, предусматривается и возможность отключения режима автодиалога, чтобы пользователь сам мог задать режим работы своей сети.
Помимо уже упоминавшихся сегментов 10BASE-T, 100BASE-TX и 100BASE-T4, автодиалог предусматривает обслуживание так называемых полнодуплексных (full duplex) сегментов сети Ethernet (10BASE-T Full Duplex) и сети Fast Ethernet (100BASE-TX Full Duplex).
Как известно из теории связи, связь бывает симплексная (всегда только в одну сторону), полудуплексная (по очереди то в одну сторону, то в другую) и полнодуплексная (одновременно в две стороны). Классический Ethernet использует полудуплексную связь: по его кабелю в разное время может проходить разнонаправленная информация. Это позволяет легко реализовать обмен между большим количеством абонентов, но требует сложных методов доступа к сети (CSMA/CD). Полнодуплексная версия Ethernet гораздо проще. Она предназначена для обмена только между двумя абонентами по двум разнонаправленным кабелям, причем передавать могут оба абонента сразу. Два преимущества такого подхода понятны сразу: во-первых, не требуется никакого механизма доступа к сети, а во-вторых, в идеале пропускная способность такой линии связи оказывается вдвое выше, чем при полудуплексной передаче. Полнодуплексные версии Ethernet и Fast Ethernet находятся еще на стадии стандартизации, поэтому единых правил обмена пока не выработано, и аппаратура разных производителей может основываться на разных принципах обмена. Тем не менее, автодиалог уже ориентирован на их распознавание и использование.
При проведении автодиалога применяется таблица приоритетов (табл. 8.6), в которой полнодуплексные версии имеют более высокие приоритеты, чем классические полудуплексные, так как они более быстрые.
Из таблицы следует, что если аппаратура на обоих концах сегмента поддерживает обмен с двумя скоростями, например, в режимах 10BASE-T и 100B ASE-TX, то в результате автодиалога будет выбран режим 100BASETX, как имеющий больший приоритет (обеспечивающий большую скорость).
Табл. 8.6. Приоритеты автодиалога (1 - высший приоритет, 5 - низший приоритет)
Приоритет | Тип сети |
1 | 100BASE-TX Full Duplex |
2 | 100BASE-T4 |
3 | 100BASE-TX |
4 | 10BASE-T Full Duplex |
5 | 10BASE-T |
Естественно, в любом случае автодиалог не может обеспечить большей скорости, чем самый медленный из компонентов сети. То есть если к ре-питерному концентратору, в котором предусмотрена функция автодиалога, подключены два адаптера: односкоростной 10BASE-T и двухскоростной (10BASE-T и 100BASE-TX), то вся сеть будет настроена на работу как 10BASE-T, так как никакого накопления информации и никакой ее обработки в репитерном концентраторе не предусмотрено. Присоединение к такому концентратору двух неперестраиваемых (односкоростных) адаптеров с разными скоростями делает сеть неработоспособной. Иногда в конструкции репитеров предусматривается автоматическое отключение портов, к которым присоединены неперестраиваемые низкоскоростные (10BASE-T) адаптеры. Некоторые концентраторы (самые сложные) могут автоматически перекоммутировать порты таким образом, чтобы сегменты со скоростью 10 Мбит/с обменивались информацией только между собой, а сегменты со скоростью 100 Мбит/с - между собой.
Отметим также, что помимо собственно определения типа сети и выбора максимально возможной скорости обмена автодиалог обеспечивает и некоторые дополнительные возможности. В частности, он позволяет определять, почему нарушилась связь в процессе работы, а также обмениваться информацией об ошибках. Для передачи этой дополнительной информации используется тот же самый механизм, что и для основного автодиалога, но только после того, как установлен тип сети и скорость передачи. Данная функция называется «функцией следующей страницы» (Next Page function).
А теперь рассмотрим автодиалог несколько подробнее.
Обмен информацией при автодиалоге производится посылками (пакетами) FLP-импульсов, которыми кодируется 16-битное слово. Каждая посылка содержит от 17 до 33 импульсов, идентичных импульсам NLP, которые используются в 10BASE-T. Посылки имеют длительность около 2 мс и передаются с периодом 16,8 мс (рис. 8.21).
Для кодирования битов в FLP применяется следующий код. В начале каждого битового интервала передается импульс. В середине бита, соответствующего логической единице, передается еще один импульс. В середине бита, соответствующего логическому нулю импульса нет. Этот код иллюстрируется рис. 8.22. В начале посылки передается стартовый нулевой бит, именно поэтому общее количество импульсов в посылке FLP может изменяться в пределах от 17 до 33.
Рис. 8.21. Временная диаграмма автодиалога и 10BASE-T
Рис. 8.22. Код, применяемый при автодиалоге
Обмен информацией при автодиалоге осуществляется 16-битными словами, называемыми LCW (Link Code Word), с форматом, представленным на рис. 8.23.
Пятиразрядное поле селектора (Selector Field) определяет один из 32 возможных типов стандарта сети. В настоящее время для него используется только два кода: код 00001 соответствует стандарту IEEE 802.3, а код 00010 соответствует стандарту IEEE 802.9.
Рис. 8.23. формат слова LCW, применяемого в автодиалоге
Восьмиразрядное поле технологических особенностей (Technology Ability Field) определяет тип сети в пределах стандарта, заданного битами поля селектора. Для стандарта IEEE 802.3 пока что определены пять типов, представленные в таблице 8.6.
Бит удаленной ошибки RF (Remote Fault) позволяет передавать информацию о наличии ошибок. Бит подтверждения Ack (Acknowledge) используется для подтверждения получения посылки. Наконец, бит следующей страницы NP (Next Page) говорит о поддержке функции следующей страницы, о том, что абонент собирается передавать еще и дополнительную информацию.
В автодиалоге используется специально разработанный протокол с многократным подтверждением принятия посылок. В случае, если автодиалог происходит между абонентами 1 и 2, последовательность действий абонентов будет такой.
1. Абонент 1 передает свою посылку (LCW) с неустановленным (равным нулю) битом Ack.
2. Абонент 2 в ответ начинает передавать последовательные ответные посылки (LCW).
3. Когда абонент 1 получает три последовательные посылки от абонента 2 (бит Ack при этом игнорируется), он передает посылку с установленным (равным единице) битом Ack (подтверждает правильный прием LCW от абонента 2).
4. Абонент 2 продолжает передавать свои LCW с установленным битом Ack.
5. Когда абонент 1 получает три последовательные посылки от абонента 2 с установленным битом Ack, он понимает, что абонент 2 правильно принял его LCW.
6. Абонент 1 передает свое LCW с установленным битом Ack 6—8 раз для гарантии, что диалог завершен полностью.
7. В результате оба абонента получают информацию о своем партнере и могут выбрать тот режим работы, который обеспечит наилучшие характеристики обмена.
Отметим, что в соответствии с этим алгоритмом действуют оба абонента, участвующие в авто диалоге. Как видим, здесь реализуется механизм многократного взаимного подтверждения, что существенно гювышает надежность передачи данных об аппаратуре абонентов. При этом также легко детектируются различные ошибочные ситуации, например, неисправности аппаратуры абонентов, нарушения целостности кабеля, несовместимость аппаратуры абонентов и т.д.
Для реализации функции следующей страницы используется бит NP (см. рис. 8.23). Если оба абонента устанавливают его в своих LCW, то есть оба они поддерживают эту функцию, то между ними может быть произведен дополнительный обмен информацией такими же 16-разрядными словами, но с другим форматом. В этих словах 11 битов отводится на информацию, а пять битов используются как служебные. В частности, это позволяет производить более полную диагностику аппаратуры, а также выявлять повышенный уровень помех в линии связи.
Вероятно, в дальнейшем принцип автодиалога будет совершенствоваться и развиваться, включая в себя другие стандарты и типы сети, давая возможность решения все новых задач. Но его реализация в принципе невозможна при стандартной топологии «шина», поэтому, скорее всего, доля шинных сегментов (10BASE2 и 10BASE5) будет все больше сокращаться. В новых сетях (Fast Ethernet, Gigabit Ethernet) шинные сегменты вряд ли появятся.