Okres przed autonegocjacją: ręczna konfiguracja
We wczesnych wersjach Ethernetu na skrętce pojedynczy port mógł obsługiwać kilka trybów pracy, lecz urządzenia nie uzgadniały ich automatycznie. Przykładowy port przełącznika może obsługiwać:
- Prędkości 10 Mb/s, 100 Mb/s lub 1000 Mb/s (1 Gb/s).
- W trybie lub .
Przed upowszechnieniem autonegocjacji administratorzy konfigurowali ustawienia na obu końcach łącza. Port przełącznika ustawiony na „100 Mb/s, pełny dupleks” wymagał takiej samej konfiguracji karty sieciowej.
Ręczna konfiguracja sprzyjała problemom z dupleksem, gdy jedna strona pracowała w pełnym, a druga w półdupleksie, oraz z prędkością, gdy strony wybierały różne wartości, na przykład 100 Mb/s i 10 Mb/s. Łącze mogło wtedy nie powstać albo pracować z błędami i małą przepływnością. Liczniki późnych kolizji, błędów FCS i retransmisji często wskazują taki problem, lecz wymagają interpretacji wraz z konfiguracją obu portów. Potrzebna była procedura automatycznego uzgadniania.
Czym jest autonegocjacja?
Autonegocjacja to procedura opisana w IEEE 802.3, pierwotnie wprowadzonej dla 10 i 100 Mb/s przez 802.3u, a następnie rozszerzanej między innymi dla 1000BASE-T. Dwa połączone urządzenia ogłaszają możliwości i wybierają wspólny tryb podczas inicjalizacji łącza. Bazowa strona ogłoszenia zawiera między innymi selektor, obsługiwane technologie oraz tryb dupleksu, a rozszerzenia mogą korzystać z kolejnych stron. W 1000BASE-T uzgadniana jest także rola master albo slave potrzebna do synchronizacji, co jest osobnym parametrem względem dupleksu.
Celem jest wybór najwyżej priorytetowanego wspólnego trybu, który oba urządzenia mogą obsłużyć. Jeśli nie istnieje wspólny tryb, port może pozostać bez aktywnego łącza albo wymagać ręcznej konfiguracji zgodnej z możliwościami PHY. Jeśli laptop obsługuje 1 Gb/s w pełnym dupleksie, a starszy przełącznik tylko 100 Mb/s w pełnym dupleksie, obie strony wybiorą 100 Mb/s w pełnym dupleksie.
Proces negocjacji: jak to działa?
Proces autonegocjacji wykorzystuje serie impulsów FLP (Fast Link Pulse). Pojedyncza seria FLP przenosi 16-bitowe słowo kodowe: 17 pozycji pełni funkcję impulsów zegarowych, a 16 pozycji danych ogłasza możliwości. Impulsy FLP są odrębne od sygnału danych i umożliwiają współpracę z urządzeniami bez autonegocjacji. Słowo kodowe opisuje podstawowe możliwości, a kolejne strony mogą przekazywać dodatkowe informacje o technologiach. Obsługa PAUSE jest reprezentowana przez określone pola ogłoszenia. Sam FLP służy do negocjacji, nie do przenoszenia danych użytkownika.
- Krok 1: wykrycie łącza
Klasyczne urządzenia 10BASE-T wysyłają NLP (Normal Link Pulse) do sprawdzania ciągłości łącza. NLP informuje o obecności partnera, lecz nie przenosi jego listy prędkości ani dupleksu. Port z autonegocjacją rozpoznaje ten sygnał oraz sygnały FLP partnera. - Krok 2: ogłaszanie możliwości
Porty z autonegocjacją wysyłają serie FLP. Każda seria niesie 16-bitowe słowo kodowe, czyli zestaw pól opisujących możliwości urządzenia, na przykład 100BASE-TX w pełnym lub półdupleksie oraz 10BASE-T. Powtarzane serie pozwalają potwierdzić odebranie ogłoszenia, a procedura może przejść do kolejnych stron, gdy podstawowy zestaw pól nie wystarcza. - Krok 3: porównanie możliwości i wybór trybu
Każde urządzenie odbiera i dekoduje FLP partnera, a następnie porównuje jego możliwości ze swoimi. Zgodnie z listą priorytetów wybierany jest najwyżej sklasyfikowany tryb, który oba urządzenia ogłosiły. Po spójnym odebraniu ogłoszeń urządzenia potwierdzają ich przyjęcie, a warstwa PHY sprawdza gotowość sygnału przed uznaniem łącza za aktywne.
Hierarchia priorytetów
Reguła wyboru jest zdefiniowana w standardzie. W uproszczonej kolejności dla Ethernetu na skrętce wyższa prędkość ma pierwszeństwo, a przy tej samej prędkości pełny dupleks ma pierwszeństwo przed półdupleksem. Poniższa lista pokazuje typowe pozycje dydaktyczne. Rzeczywisty wynik zależy od bitów ogłoszonych przez oba urządzenia i od zakresu obsługiwanego standardu:
- 1000BASE-T, pełny dupleks
- 1000BASE-T, półdupleks
- 100BASE-TX, pełny dupleks (najwyższy wspólny tryb w przykładzie)
- 100BASE-TX, półdupleks
- 10BASE-T, pełny dupleks
- 10BASE-T, półdupleks
Jeśli komputer ogłasza możliwości do 1000BASE-T, a port przełącznika ogłasza tylko 100BASE-TX w pełnym dupleksie, oba wybiorą 100BASE-TX w pełnym dupleksie.
Niedopasowanie dupleksu: częsty problem z autonegocjacją
Błąd autonegocjacji albo niespójna konfiguracja może doprowadzić do trudnego w diagnozie niedopasowania dupleksu (duplex mismatch).
Problem występuje, gdy administrator ręcznie konfiguruje jedną stronę łącza, na przykład port przełącznika na 100 Full, a drugą, na przykład komputer, pozostawia w trybie Auto.
- Strona skonfigurowana ręcznie, na przykład przełącznik, nie prowadzi wymiany FLP i działa w trybie
100 Full. - Druga strona działa w trybie
Auto, wysyła FLP, lecz nie otrzymuje słowa kodowego od partnera. Nie uzyskuje więc informacji o dupleksie ustawionym ręcznie po drugiej stronie. - W trybie parallel detection urządzenie może rozpoznać sygnał nośnej 10 lub 100 Mb/s, lecz nie ustala dupleksu. Zgodnie z IEEE 802.3u wybiera wtedy półdupleks dla wykrytej prędkości. Mechanizm ten nie zastępuje pełnej wymiany FLP i nie jest ogólną metodą negocjowania wszystkich parametrów.
Skutek niedopasowania
Łącze może zostać uruchomione przy niespójnych założeniach:
- Port przełącznika działa w trybie pełnego dupleksu i może nadawać podczas odbioru.
- Karta sieciowa komputera działa w trybie półdupleksu i stosuje CSMA/CD, oczekując wolnego medium podczas nadawania.
Gdy komputer nadaje równocześnie z przełącznikiem, jego logika półdupleksu może wykryć kolizję i uruchomić wycofanie, podczas gdy druga strona zakłada pełny dupleks. Niespójne reguły dostępu do medium powodują błędy, spadek przepływności i problemy szczególnie przy dużym obciążeniu. Sam fakt, że interfejs zgłasza stan up, nie potwierdza zgodności dupleksu. Potrzebne są również liczniki i kontrola ustawień.
Praktyczna zasada konfiguracji
Aby uniknąć niedopasowania dupleksu, włącz autonegocjację po obu stronach albo skonfiguruj obie strony ręcznie. Mieszanie trybu ręcznego i automatycznego utrudnia uzgodnienie parametrów.