Co to je technologie Auto-Negotiation ?
Technologie označená jako "Auto-Negotiation", vynalezená firmou NWay a prvotně představená v roce 1994 firmou National Semiconductor, slouží k automatickému nastavení a vytvoření ethernet kanálu a komunikace na úrovni fyzické vrstvy OSI modelu Ethernet komunikace.
Tak jak se vyvíjí nové principy přenosu dat a rozšiřuje standard Ethernetu, je nutné zajistit správné propojení různých hardwarových zařízení, switchů, hubů a dalších rozhraní pro Ethernet komunikaci. V záplavě různých režimů je možné v rámci standardního konektoru RJ-45 propojit zařízení podporující různý režim komunikace, navzájem nekompatibilní. Jako například propojením zařízení podporující 1Gigabit Ethernet se switchem podporující jen variantu 100Mbitovém Ethernetu. Takto propojená zařízení jistě nebudou správně komunikovat. K tomu pak právě slouží automatický režim navázání spojení "Auto-Negotiation", který provede nastavení vzájemné komunikace na nejrychlejší možnou úroveň, kterou podporují obě fyzicky propojená zařízení, nebo zakáže komunikaci v případě úplné nekompatibility. Tak lze jednoduše měnit hardwarová zařízení připojená síti, aniž by bylo nutné se starat o nastavení jejich vzájemného propojení.
To znamená, že například při vzájemném propojení koncového zařízení podporující Ethernet standard 100/10Base-T a zařízení podporující standard 1000/100Base-T, z nichž alespoň jedno podporuje technologii Auto-Negotiation, dojde k automatickému nastavení komunikačního standardu 100Base-T (100 Megabitový Ethernet), protože ten podporují oba a je to nejrychlejší možná vzájemná komunikace. Není tedy nutné "ručně" cokoliv nastavovat a je vyloučeno chybné propojení.
Obr. 1. Příklad použití technologie Auto-Negotiation pro automatické nastavení nejvýhodnějšího komunikačního standardu
K čemu to je ?
- Automatické nastavení společné komunikace právě připojených zařízení v ethernet síti
- Zamezení porušení komunikace ostatních zařízení v Ethernet síti vlivem připojení nekompatibilního zařízení
- Jednoduchá změna Ethernet standardu
- Pro jednodušší vytvoření a konfiguraci sítě
- Ochraňuje síť od poruch vzniklé míšením různých komunikačních protokolů,
jako např. 10BaseT, 100BaseTX a
1000BaseT - Pro alespoň částečnou funkci stačí, aby technologii Auto-Negotiation používalo alespoň jedno ze dvou vzájemně propojených zařízení
- Jednoduché upgradování sítě systémem Plug&Play z 10 Mbps na 100 Mbps nebo na 1000 Mbps typ Ethernetu nebo v budoucnu a libovolný vyšší
- Při propojování Gigabitového Ethernetu - automatická konfigurace Master-Slave
Princip a popis standardu
Auto-Negotiation algoritmus, známý také jako NWay algoritmus, umožňuje dvěma vzájemně propojených zařízení síťovým Ethernet kabelem sjednat a nastavit vzájemnou komunikaci na jednom konkrétním komunikačním standardu, který plně podporují obě zařízení a zároveň zajistí nejvyšší možnou rychlost komunikace a přenosu dat. V současném stavu umožňuje Auto-Negotiation algoritmus dohodnout komunikaci v rozsahu přenosových rychlostí 10 Mb/s, 100 Mb/s nebo 1000 Mb/s, standardů Base-T, Base-Tx nebo Base-T4 a konfiguraci přenosových kanálů jako half nebo full duplex. Obrazně lze funkci algoritmu přirovnat k přepínači, který podle podle reakce vzdáleného připojeného zařízení na druhém konci UTP kabelu na vyslané informace, přepne přepínač do jedné konkrétní pozice, která se pak bude využívat ke komunikaci. Po úspěšném navázání vzájemné komunikace obou zařízení na "dohodnutém" standardu se Auto-Negotiation sám vyzařuje z funkce.
Obr. 2. Tabulka podporovaných komunikačních standardů a jejich priority
Technologie Auto-Negotiation je od roku 1998 definována jako součást IEEE standardu 802.3 v klauzuly 26 . Konkrétně v konceptu D4 standardu ANSI/IEEE Std 802.3 MAC Parametry, Fyzická vrstva, MAU (Medium Attachment Units) a opakovače pro komunikaci 100 Mb/s. Navíc od roku 1999 existuje novější verze, která pro standard 1000BaseT dohodnu a nastavit master-slave komunikaci mezi fyzickými vrstvami Ethernet rozhraní koncových zařízení. Přesto je algoritmus stále zpětně kompatibilní se standardem 10BaseT použitím signalizační metody 10BaseT link integrity test (LIT).
Všechny funkce algoritmu Auto-Negotiation (AutoNeg) jsou vždy implementovány ve fyzické vrstvě OSI modelu Ethernet komunikace - mezi MDI (Medium Dependent Interface) a konektorem RJ-45. V závislosti na použitém provedení fyzické vrstvy daného rozhraní se může vyskytovat "na různých místech" - viz obrázek 3. Ve standardu 100Base-T je definován jako podvrstva fyzické vrstvy a ve nejnověji ve standardu 1000Base-T pro metalická vedení jako část funkčního bloku v oddělené podvrstvě fyzické vrstvy. Všechny funkce jsou tak součástí integrovaného obvodu vysílače/přijímače (transceiver), tzn. jeho přítomnost v zařízení je určeno použitým obvodem Ethernet rozhraní na desce plošných spojů, zásuvné kartě nebo na motherboardu PC.
Obr. 4. Porovnání signálů NLP a FLP
Základní mechanismus určování a dohadování spojení je založen na vysílání a příjmu série spojovacích pulsů (link pulses) v nichž je zakódováno a přenášeno 16bitové slovo, označované jako Fast Link Pulse (FLP) Burst. Využívá se zde impulsů jinak využívaných na zajištění integrity spojení (Link integrity test pulses) od standardu 10Base-T. V rozhraních neobsahující technologii Auto-Negotiation, se každých 16 ms (± 8 ms) vysílá napěťově kladný impuls délky 100 ns, který v případě, že po sběrnici nedochází ke komunikaci, zajišťuje test spojení (proto také označení Link test puls, někdy také jako heartbeat pulse - srdeční puls). Jsou vysílány MAU jednotkou každého komunikujícího zařízením. Když zařízení nepřijme v rozsahu 50 až 150 ms žádný puls, vyhodnotí to jako chybový stav a zůstane v jeho signalizaci až do doby, kdy přijme dva za sebou následující pulsy. Mechanismus vysílání a příjmu pulsů se označuje jako NLP (Normal Link Pulses) - viz obrázek 4.
Obr. 5. Posloupnost bitů FLP signálu
Mechanismus FLP Burst ve standardech 100Base-T a vyšších využívá zmíněné pulsy NLP, ale zakomponované do bloků délky 2 ms obsahující 33 pulsů. Z nich 16 pulsů (Data-pulse) definuje logické stavy jednotlivých bitů ("1" - přítomnost pulsu a "0" - nepřítomnost pulsu) a zbylých 17 (Clock-pulse) se využívá jako taktovacích impulsů, přičemž struktura bloku je založena na kombinaci dvou taktovacích impulsů, mezi nimiž se vždy jeden datový - viz obrázek 5 a 6. Opakováním bloku po 16 ms je zajištěna zpětná kompatibilita s NLP.
Obr. 7. Struktura LCW slova
Přenášené datové bity definují tzv. 16 bitové LCW slovo (16-bit Link Code Word), které udává komunikační standard podporovaný vysílaným zařízením - viz obrázek 7, bity D0 až D12. Pokud zařízení podporují více než jeden standard, vysílá nejdříve ten nejlepší a případně pak ten, který podporuje i vzdálené zařízení. Zbylé bity označují některé další vlastnosti:
- RF bit (Remote Fault = vzdálená chyba) označuje, zde někde dále na sběrnici došlo např. k jejímu přerušení.
- Ack (Acknowledge = potvrzení) potvrzuje úspěšné doručení a "pochopení" předchozího LCW
- NP (Next Page = Další stránka) označuje LCW, které přenáší další doplňující informace pro zařízení, které režim NP podporují
Obr. 8. Struktura slova Message Page (nahoře) a Unformatted Page (dole)
V případě, že je nahozen bit NP, je obsah přenášeného slova jiný - viz obrázek 8. Zatímco posledních 5 bitů (bity D11 až D15) jsou v NP režimu vždy stejné, prvních 11 bitů (bity D0 až D10) jsou označovány jako:
- MP (Message Page = stránky zprávy) - bit MP = 1 - přenos informací pro Ethernet standard 1000Base-T určující poloviční/plně duplexní režim, přenosovou rychlost a módu Master/Slave - viz obrázek 9.
- Unformatted Page (Neformátovaná zpráva) - bit MP = 0 - přenos přídavných informací o použité technologii, podrobnější popis chybového hlášení apod. - viz obrázek 9.
V případě, že však jedno ze dvou vzájemně propojených zařízení nepodporuje funkci Auto-Negotiation, přichází v zařízení, které Auto-Negotiation má, na řadu funkce "Parallel detection (Paralelní detekce)". Ta umožňuje automaticky rozeznat Ethernet standard pouze z povahy vysílaných NLP pulsů a odpovědět mu tak, aby tomu toto vzdálené zařízení rozumělo. Konkrétně je tento režim funkční a použitelný pro zařízení podporující 10Base-T, 100Base-TX nebo 100Base-T4. Nejlépe to lze vysvětlit na následujících příkladech:
- Komunikace mezi jednotkou DTE (server) podporující všechny standardy
a HUBem podporující standard 10BaseT HDX (Half Duplex) - viz obrázek 10.
DTE po zapnutí napájení vyšle vzdálenému připojenému zařízení kompletní signál FLP. Na tento signál HUB 10BaseT odpoví vysláním signálu NLP. Funkce "Parallel detection" DTE zařízení správně rozliší standard 10BaseT a DTE vyšlé též NLP. Algoritmus Auto-Negotiation se vyřadí z činnosti a již se nadále komunikuje jen tímto standardem.
Obr. 10. Komunikace DTE s HUBem podporující 10BaseT a nemá Auto-Negotiation - Komunikace mezi jednotkou DTE (server) podporující všechny standardy
a HUBem podporující standard 100BaseTX HDX (Half Duplex) - viz obrázek 11.
DTE po zapnutí napájení vyšle vzdálenému připojenému zařízení kompletní signál FLP. HUB po zapnutí napájení vyšle signál IDLE. Na to zareaguje v DTE zařízení funkce "Parallel detection" a přepne komunikaci na standard 100BaseTX. Algoritmus Auto-Negotiation se vyřadí z činnosti a vyšle se též signál IDLE. Tím se naváže komunikace s HUBem.
Obr. 11. Komunikace DTE s HUBem podporující 100BaseT a nemá Auto-Negotiation - Komunikace mezi jednotkou DTE (server) podporující všechny standardy
a HUBem podporující standard 100BaseTX a technologii Auto-Negotiation - viz
obrázek 12.
Obě zařízení, DTE i HUB, po zapnutí napájení vyšlou si navzájem signál FLP. V obou případech algoritmus Auto-Negotiation jej také detekuje a začne přenos LCW. Po vzájemné předání informací se obě zařízení "dohodnou" na standardu 100BaseTX a začnou spolu komunikovat prostřednictvím přenosu paketů.
Obr. 12. Komunikace DTE s HUBem podporující 100BaseT včetně Auto-Negotiation
Závěr
Technologie Auto-Negotiation umožňuje v dnešních, již složitých sítích, výrazně zjednodušit propojování nových jednotek a zařízení a zajistit korektní funkci i ochranu již připojených jednotek. Protože vše je realizováno na fyzické úrovni hardwarového rozhraní, není nutné se zabývat jakýmkoliv dodatečným softwarem a funkce jejiž implementována v zařízení. Navíc jde algortimus s jednoduše rozšířitelnou strukturou v případě dalšího rozšíření seznamů režimů Ethernetu. Při nejmenším jde o zajímavé zakomponování přenosu dat do klasického signalizačního mechanismu s plnou zpětnou kompatibilitou. Lze tak funkci Auto-Negotiation využít i v případě, že druhé zařízení ji nemá a tedy nepodporuje.
Antonín Vojáček
vojacek@ hwg.cz
DOWNLOAD & Odkazy
- Stránky firmy Scyld Software - www.scyld.com/NWay.html
- Stránky firmy Sun - paktické informace o Auto-Negotiation pro programátory - www.sun.com/blueprints/0704/817-7526.pdf
- Základní informace o Auto-Negotiation - www.ethermanage.com/ethernet/autoneg.html
- Rich Hernandez: "Gigabit Ethernet Auto-Negotiation", www.dell.com/powersolutions
- Další články o průmyslových sběrnicích (SDS, DeviceNet, P-NET, M-BUS, Measurement Bus, ModBus, LonWorks, LIN, INTERBUS atd.) na stránkách automatizace.HW.cz