802.3 ba
802.3 ba
Ethernet 40Gb/s / 100 Gb/s
Mirosław Rakowski
Piotr Hopcia
1. Wstęp - Ewolucja Ethernetu:
W tabeli 1 pokazane są wartości różnych parametrów w zależności od standardu
Ethernetu. Znaczenie ważniejszych parametrów opisane zostało poniżej:
Slot Time – Maksymalny czas potrzebny na wykrycie kolizji oraz wysłanie sygnału przez
czas wymuszania kolizji (przy maksymalnej rozpiętości sieci). Inaczej mówiąc, gdy stacja
zaczyna nadawanie, to po minięciu czasu szczeliny czasowej, stacja uznaje, iż łącze jest
wolne.
Inter Packet Gap – odstęp międzyramkowy. Jest to czas jakiego potrzebuje sygnał na
dotarcie do wszystkich stacji w sieci, tak by wykrywały, że trwa nadawanie.
Jam size – Czas wymuszenia kolizji. Czas przez, który stacja nadaje jeszcze po wykryciu
kolizji.
Attempt Limit – Maksymalna liczba podejmowanych przez stację prób ponownego
wysłania ramki w razie wykrycia kolizji. Po tej liczbie prób karta sieciowa zwraca błąd.
Max Frame size, min frame size – Minimalna i maksymalna dozwolona długość ramki.
802.3 ba
Tab. 1 wartości parametrów w zależności od standardu Ethernet
Jak zwiększyć przepływność Ethernetu?
Przejście ze 10 Mb/s do 100 Mb/s:
- Zwiększono przepływność kosztem zmniejszenia zasięgu budowanej sieci. Wynika to
z powodu występowania zjawiska kolizji. Każde urządzenie musi móc wykryć kolizję
nawet przy minimalnej długości ramki.
Przejście ze 100 Mb/s do 1 Gb/s:
- Zwiększenie szczeliny czasowej do 4096 bitów. Ramki zawierające mniejszą ilość
bitów zostają dopełnione pustymi bitami do wartości 4096. Dzięki temu osiągnięto
większa rozpiętość sieci, niestety kosztem wysyłania większej ilości „pustych” bitów
(nie przenoszących informacji)
Przejście z 1 Gb/s do 10 Gb/s
- Wprowadzenie Trybu full duplex (każde urządzenie może naraz nadawać i odbierać
ramki). Dzięki temu, nie ma możliwości wystąpienie kolizji przy połączeniu punkt-
punkt. Nie ma ograniczenia wynikającego z konieczności wykrycia kolizji. Brak
CSMA/CD. Dlatego też, nie ma potrzeby określania wszelkich parametrów
dotyczących kolizji (szczelina czasowa, maksymalna liczba prób powtórzenia
wysyłania ramki, czas wymuszenia kolizji). Pozostałe parametry bez zmian.
W roku 2009 po świecie rozsianych było około 124 milionów portów 10GbE, lecz niestety ciągły
popyt na coraz to szybsze rozwiązania doprowadził do kolejnego wielkiego przełomu.
1.1 802.3 ba – geneza powstania.
Zwiększający się stopień wykorzystania zasobów sieciowych, doprowadził do
powstania przy IEEE grupy Higher Speed Study Group (HSSG), której zadanie było
opracowanie nowego standardu sieci Ethernet, który zapewniłby możliwość dalszego,
globalnego rozwoju sieci komputerowych. Nowy standard miał spełniać następujące
wymagania:
Wspierać tylko full-duplex.
Zachować dotychczasowy format ramki ethernetowej.
Zachować minimalną i maksymalną długość dotychczasowej ramki.
Zapewniać BER na poziomie 10
-12
Umożliwiać wykorzystanie łącz optycznych.
W oparciu o te wymagania powstał szereg rozwiązań sieci o dwóch prędkościach –
najpierw 40 Gbit/s, a następnie 100Gb/s:
802.3 ba
40GbE
100GbE
Długość łączy
Backplane
*
1 m
Kable miedziane
*
*
10 m
OM3 MMF
*
*
100 m
SMF
*
*
10 km
MMF
*
40 km
Tabela 1. Dostępne rozwiązania w standardzie 802.3ba
Całość tych rozwiązań została zebrana i opublikowana na początku 2010 roku w postaci
standardu 802.3 ba.
Nowe rozwiązania zostały zdefiniowane w następującym formacie:
Oznaczenie
Wartość
Prędkości
40
40Gb/s
100
100Gb/s
Typ medium
K
Backplane
C
Kabel miedziany
S
Światłowód krótkiego
zasięgu (100 m)
L
Światłowód dalekiego
zasięgu (10 km)
E
Światłowód bardzo
dalekiego zasięgu (100 km)
Schemat kodowania
R
64B/66B
Ilość linii
Miedź
4 lub 10
Światłowód
Liczba linii lub długości fal
Tabela 2. Nomenklatura w standardzie 802.3ba wraz z legendą.
802.3 ba
1.2
802.3 ba, a poprzednicy.
Wszystkie rozwiązania opisane w standardzie 802.3 ba opierają się o zestawienie
szeregu pojedynczych linii o prędkościach 10Gb/s lub 25 Gb/s, w sposób taki, że możliwa
jest transmisja danych z wydajnościami wielokrotnie większymi, niż na pojedynczych
liniach o wcześniej wspomnianych prędkościach. Pomysł taki może w pierwszej chwili
przypominać rozwiązanie, które zostało wprowadzone kilka lat wcześniej – agregacje łączy,
lecz w rzeczywistości te dwa standardy nie mają aż tak wiele wspólnego. Podstawowymi
elementami różniącymi łącza ze standardu 802.3ba, od ich odpowiedników z 802.1ax są:
•
Brak dodatkowego nakładu sygnalizacyjnego.
•
Większa rzeczywista przepustowość.
•
Mniej sprzętu / portów / przełączania.
•
Mniejsza elastyczność niż w przypadku łącz agregowanych.
2 Opis standardu.
W tym rozdziale zostaną szczegółowo opisane rozwiązania wykorzystane w
standardzie 802.3 ba. Wszystkie opisy w tym rozdziale, dotyczące kolejności realizacji
poszczególnych fragmentów transmisji są zaprezentowane dla ramek wysyłanych przez
stacje – dla ramek odbieranych kolejność ta będzie odwrotna (chyba, że sytuacja dla
ramek wyjściowych zostanie wprost sprecyzowana).
2.1 Schemat warstwy fizycznej.
Schemat 1. Schemat warstwy fizycznej.
802.3 ba
Podwarstwa RS
Podwarstwa ta odbiera szeregowy strumień z warstwy mac, a następnie zamienia
go na równoległy strumień danych przeznaczonych do podwarstwy PCS(bądź też w drugą
stronę). Pokazane jest to na rysunku 2.
- Wysyła(odbiera) dane (TXD - bity ramki Ethernetowej) oraz tzw. TXC - Znaki
kontrolne.
- Z podwarstwy Rekonsyliacji do podwarstwy niższej (PCS) bity wychodzą w
postaci 64 bitów danych (TXD), 8 znaków kontrolnych (TXC) oraz sygnału
zegara (TX_CLK).
CGMII (100 Gb Media Independent Interface)– interfejs pośredniczący między
podwarstwą RS a podwarstwą PCS.
Rys. 2 Warstwa Rekonsyliacji
- Dane do podwarstwy PCS przesyłane(odbierane) są 8 równoległymi torami.
- Dane do poszczególnych torów przydzielone są w sposób przedstawiony w
tabeli 3. Każde 8 bitów danych ma przydzielony 1 znak kontrolny. Gdy znak
ten równy jest 0 oznacza to, iż przesyłana jest aktualnie ramka ethernetowa.
Jeśli równy jest 1 oznacza to, iż wysyłana obecnie jest preambuła, bądź trwa
odstęp międzyramkowy (Przykładowo w tabeli 3 widzimy, iż bity o numerach
od 0-7 są wysyłane torem 0, i przypisany jest im znak kontrolny o numerze
0).
- Maksymalne możliwe opóźnienie podwarstwy to 245,76 ns.
- Podwarstwa generuje osobny zegar dla odbioru i transmisji danych.
802.3 ba
Tab. 3 Przydział bitów do poszczególnych torów
2.2 PCS – Physical Coding Sublayer.
Physical Coding Sublayer jest pierwszą podwarstwą warstwy fizycznej, na którą
natrafiają wysyłane ramki.
Schemat działania podwarstwy PCS został pokazany na rysunku 3. Po lewej
stronie rysunku ukazane jest nadawanie danych do podwarstwy niższej. Natomiast z
prawej strony odbieranie danych z podwarstwy niższej.
Rys. 3 Schemat blokowy działania podwarstwy PCS
802.3 ba
Podwarstwa ta odpowiada za szereg niesamowicie ważnych dla standardu elementów:
Podział ramki na części możliwe do przesłania na poszczególnych liniach.
Transport sygnałów kontrolnych umożliwiających kompozycje i dekompozycje ramek.
Rozdział i składanie danych na / z linii.
Scrambling.
Strumień danych wejściowych, który wchodzi do podwarstwy PCS zostaje poddany
następującym czynnościom:
Kodowanie oraz scrambling.
MLD (multilane distribution) – podział na wirtualne linie transmisyjne.
Przekazanie do kolejnej podwarstwy warstwy fizycznej (PMA).
Zatrzymajmy się najpierw na chwilę przy kodowaniu i scramblingu. W standardzie
802.3ba zostało wykorzystane takie samo kodowanie jak w przypadku 10GbE, a
mianowicie kodowania 64b/66b – na 66 bitach zostają przesłane 64 bity danych, ale
rozkład 1 i 0 jest zdecydowanie bardziej równomierny, niż w przypadku braku
jakiegokolwiek kodowania. Aby jeszcze bardziej zrównoważyć bilans 1 i 0 zastosowany
został identyczny jak w 10GbE scrambler. Wielomian opisujący działanie scramblera ma
format 1 + x
39
+ x
58
, natomiast schemat logiczny całego układu wygląda następująco:
Jak można zauważyć na powyższym rysunku, wartość wyjścia zależy od
poprzednich wejść, dając w ten sposób różne 'ziarno' do generowania wyników dla każdej
z wirtualnych linii. Jakość pracy scramblera jest na tyle dobra, że wynik jest działania może
być określany, jako pseudolosowa sekwencja binarna (PRBS) – ciąg zbliżony do ciągu
'idealnie' losowego.
Mając przygotowany strumień danych wejściowych możemy zająć się jego
podziałem oraz zagadnieniem wirtualnych linii. Zakodowane i przemieszane dane są
dzielone na 66 bitowe słowa i są przekazywane na wirtualne linie (zwane też liniami PCS)
– linie symulujące pojedyncze, wirtualne połączenia pomiędzy nadawcą, a odbiorcą, na
których transmisja odbywa się szeregowo, w oparciu o otrzymywane dane. Ilość linii jest
różna dla poszczególnych prędkości / rozwiązań, lecz w ogólności jest to najmniejsza
wspólna wielokrotność pomiędzy ilością linii interfejsu elektrycznego (XLAUI, CAUI – więcej
o nich w rozdziale poświęconym interfejsom) a ilością linii medium (więcej w rozdziale o
PMD). 40GbE opiera się na 4 liniach wspierających 1, 2 lub 4 kanały / długości fal w
interfejsie XLAUI, natomiast 100GbE opiera się o 20 wirtualnych linii wspierających 1, 2, 4,
5, 10 lub 20 kanałów / długości fal w interfejsie CAUI. Mając zdefiniowane takie wirtualne
Schemat 2. Scrambler
802.3 ba
linie, możemy zagwarantować, że dane zawsze będą przesyłane tylko jedną parą
elektrycznych / optycznych linii w XLAUI/CAUI oraz PMD – nie zdarzy się, żeby transmisja z
jednej linii PCS była przesyłana jednocześnie na więcej niż jednej parze linii fizycznych.
Takie rozwiązanie gwarantuje z kolei zachowanie kolejności bitów transmitowanych danych.
Dane na poszczególne linie są wydzielane w następujący sposób:
Całość podziału jest oparta o prosty algorytm typu Round Robin – pierwsze 66
bitowe słowo wędruje na pierwszą linie PCS, drugie słowo na drugą linie, n-te słowo na n-
tą linie, n+1-sze słowo na pierwszą linię – i tak aż do wyczerpania danych. Co jakiś czas
na liniach dodatkowo zostaje wysłane 66 bitowe słowo kontrolne, umożliwiające podczas
ponownej kompozycji danych na określenie z której linii wirtualnej akurat są pobierane
dane. Znając kolejność przesyłanych słów, ich wielkość oraz indeks linii, po której zostały
przesłane, stacja odbierająca może bez problemów odtworzyć początkowych ciąg danych.
2.3
FEC – Forward Error Corection.
Strumień danych, podzielony na wirtualne linie, opuszczając podwarstwę PCS, w
zależności od realizacji standardu (medium, prędkości itp.) może zostać dodatkowo
przepuszczony przez warstwę FEC, której zadaniem jest zapobieganie błędom transmisji i
korekcja ich zawczasu – dzięki temu możliwe jest osiągnięcie stopy błędów BER na
zakładanym poziomie 10
-12
. FEC umożliwia jednoczesną naprawę do 11 bitów, co
umożliwia otrzymanie wspomnianego BER. Wykorzystanie FEC jest uzgadniane w procesie
autonegocjacji i w przypadku jego aktywowaniu, algorytm jest realizowany niezależnie dla
każdej z wirtualnych linii PCS.
2.4
PMA – Phisical Medium Attachment.
Kolejną podwarstwą, przez którą przechodzi strumień danych jest podwarstwa PMA
– łączy ona PCS z PMD (o której w następnym rozdziale). Głównym zadaniem tej
podwarstwy jest multipleksacja i demultipleksacja linii danych, zarządzanie i odzyskiwanie
sygnału zegarowego oraz dostarczenie informacji o łaczu. Struktura podwarstwy i ilość
etapów, jakie przechodzą dane, zanim uzyskają końcową formę jest różna dla
poszczególnych rozwiązań standardu. Dodatkowo, w przeciwieństwie do podobnej
podwarstwy w standardzie 10GbE, podwarstwa PMA składa się z układów wyłącznie
Tabela 3.
Schemat 3. Schemat algorytmu rozdziału na wirtualne linie.
802.3 ba
jednokierunkowych – do realizacji komunikacji dwukierunkowej konieczne są dwa układy.
Wróćmy teraz do samych zadań PMA. Otrzymując dane z pewnej liczby linii wirtualnych
PCS, koniecznym jest, aby transmisja była zrealizowana na ściśle określonej liczbie linii w
samym medium (zazwyczaj mniejsza niż liczba linii PCS – co najwyżej równa), dlatego
często konieczna jest multipleksacja danych, aby zmniejszyć liczbę linii do ilości docelowej.
Ilość kroków multipleksacji nie jest identyczna dla poszczególnych rozwiązań. Poniżej
zaprezentowane zostały dwa przykłady realizacji transmisji (z wyróżnioną w podwarstwach
PMA
multipleksacją):
Logiczna struktura jednego z bloków tworzących całą podwarstwę PMA wygląda
następująco:
Gdzie:
•
Na każdą linię wejściową przypada V/N linii wirtualnych.
Schemat 4. PMA w 40GBASE - R oraz 100GBASE - R
Schemat 5. Schemat bloku multipleskującego w PMA.
802.3 ba
•
Na każdą linię wyjściową przypada V/M linii wirtualnych.
Stosuje się następujące warianty multipleksacji:
40GbE
o PMA 4:4 Mapping
o PMA 4:1 Mapping
100GbE
o PMA 20:10 Mapping
o PMA 10:10 Mapping
o PMA 10:4 Mapping
o PMA 4:1 Mapping
Poniżej został zaprezentowany przykładowy proces multipleksacji i demultipleksacji
zrealizowany u obu klientów. W mapowaniu PMA 10:4 mapping zachodzą następujące
procesy:
Nadawanie:
Przejście z 10 linii na 4.
Dostarczenie źródła zegarowego do
klienta.
Transmisja równoległa do PMD.
Odbiór:
Odbiór równoległych danych.
Przejście z 4 linii na 10.
Odebranie źródła zegarowego.
Transmisja równoległa do PMA.
Dostarczenie informacji o łączu.
Schemat 6. Pojedyńczy blok PMA.
Schemat 7. Efekt multipleksacji 10:4.
802.3 ba
Tak jak zostało to wspomniane wcześniej, podwarstwa PMA zajmuje się również
podziałem i odzyskiwaniem źródła zegarowego. Proces ten polega na podział
częstotliwości zegara z wejścia na mniejsze (w przypadku multipleksacji) i przypisanie ich
do poszczególnych linii. W przypadku demultipleksacji, taktowanie zegara jest zwięszkane
odpowiednio w zależności od ilości linii wejściowych i wyjściowych. Ogólny wzór dla tych
dwóch przypadków, pozwalający obliczyć częstotliwość zegara po przejściu przez moduł
mapujący wygląda następująco:
Taktowanie = <wartość_początkowa> * M / N [Hz]
gdzie 'M' oznacza liczę linii wyjściowych, natomiast 'N' oznacza liczbę linii wejściowych.
2.5
PMD – Phisical Medium Dependent.
Ostatnią, obowiązkową podwarstwą dla wszystkich typów połączeń opisanych w
standardzie 802.3ba jest podwarstwa Physical Medium Dependent, która jest
odpowiedzialna za realizację połączenia na samym medium. Podstawowym założeniem jest
wspieranie transmisji typu Full–Duplex w formie: 'n' linii wysyła, kolejne 'n' linii odbiera, co
powoduje konieczność podwojenia liczby linii medium. W tabelach poniżej zaprezentowane
zostały możliwe rozwiązania dla poszczególnych prędkości:
Typ
Długość łączy
Medium transmisyjne
Backplane
40GBASE-KR4
1 m
4 x 10Gb/s backplane (10GBASE-KR)
Kable miedziane
40GBASE-CR4
> 7 m
4 x 10Gb/s, 8 kabli dwużyłowych
Światłowody
40GBASE-SR4
> 100 m
4 x 10Gb/s, 8 równoległych, wielomodowych
światłowodów kategorii OM3
40GBASE-LR4
10 km
4 x 10Gb/s, 4 linie (CWDM) na parze
światłowodów jednomodowych
Tabela 4. PMD w 40GbE.
802.3 ba
Typ
Długość łączy
Medium transmisyjne
Kable miedziane
100GBASE-CR10
> 7 m
10 x 10Gb/s, 20 kabli dwużyłowych
Światłowody
100GBASE-SR10
> 100 m
10 x 10Gb/s, 20 równoległych, wielomodowych
światłowodów kategorii OM3
100GBASE-LR4
> 10 km
4 x 25Gb/s, 4 linie (DWDM) na parze
światłowodów jednomodowych
100GBASE-ER4
40 km
4 x 25Gb/s, 4 linie (DWDM) na parze
światłowodów jednomodowych
Tabela 5. PMD w 100GbE.
2.6
AN – Autonegotiation.
Podwarstwa autonegocjacji wymagana jest tylko w rozwiązaniach opartych o
backplane – w pozostałych przypadkach jest opcjonalna (rozwiązanie 40GBASE-KR4
bazuje na poprzednim standardzie 10GBASE-KR, który wymaga zaimplementowanej
autonegocjacji). Głównym zadanie autonegocjacji – poza ustaleniem prędkości i sposobu
realizacji połączenia jest uzgodnienie formatu FEC pomiędzy stacjami. W celu
autonegocjacji zawsze wykorzystywana jest linia oznaczona indeksem zerowym.
Dodatkowo, w formie ciekawostki, warto wspomnieć, że aby w autonegocjacji w
backplanie można było wybrać rozwiązanie 40GBASE-4KR, konieczne było wykorzystanie
dodatkowe bity (A3), który reprezentuje tą formę połączenia.
2.7
Interfejsy w standardzie.
W warstwie fizycznej standardu 802.3ba możemy wyróżnić 2 podstawowe interfejsy:
MII (XLGMII, CGMII) oraz AUI (XLAUI, CAUI). Wartości w nawiasach są nazwami tych
interfejsów dla poszczególnych prędkości: XLG / XL = 40GbE, CG / C = 100GbE.
2.7.1 XLGMII / CGMII (Media Independent Interface)
Interfejs ten jest elementem łączącym podwarstwy warstwy fizycznej z warstwą
MAC i został on wprowadzony aby być niezależnym od implementacji standardu
poszczególnych producentów hardware'u. Interfejst ten zapewnia prostą komunikację
pomiędzy warstwami, a rozwiązania dla 40GbE i 100GbE różnią się tylko i wyłącznie
taktowaniem zegara (brak różnic w samej logice działania). Interfejs XLGMII jest
taktowany zegarem o częstotliwości 625MHz, natomiast CGMII 1,5625 GHz.
2.7.2 XLAUI / CAUI (Attachment Unit Interface)
Na ten interfejs składają się fizyczne połączenia pomiędzy poszczególnymi układami
scalonymi używanymi przy realizacji standardu – dla 40GbE są to 4 równoległe linie,
natomiast dla 100GbE tych linii jest 10. Każda z tych linii ma przepustowość 10Gb/s, co z
kodowaniem 64b/66b daje przepustowość rzędu 10.3125 Gbaud/s. Linie mogą mieć
maksymalnie 25 cm długości.
3.Stosowane światłowody:
Długości fal stosowane w standardach 100GBASE-ER4, oraz 100GBASE-LR4
(światłowody jednomodowe) to:
Kanał 1. WDM: 1294.53 nm – 1296.59 nm
Kanał 2. WDM: 1299.02 nm – 1301.09 nm
Kanał 3. WDM: 1303.54 nm – 1305.63 nm
802.3 ba
Kanał 4. WDM: 1308.09 nm – 1310.19 nm
W tym wypadku mogą być użyte światłowody jednomodowe opisane w standardzie
ITU-T G.652-A/B
Długości fal stosowanych w standardzie 100GBASE-SR10 (światłowody
wielodmodowe) muszą być zawarte w przedziale 840nm – 860 nm. W tym wypadku
można użyc np. światłowodów wielomodowych kategorii OM3 i OM4 o średnicy rdzenia
50 mm.
3 Inne architektury.
Istnieją dwie architektury realizujący podobny zakres funkcjonalności jak 40GbE:
40G InfiniBand – wykorzystanie przełączanej topologii światłowodowe w systemach
o wysokiej wydajności, by połączyć węzły procesorów z węzłami szybkich urządzeń
I/O.
OC – 768 POS – rozwiązanie telekomunikacyjne oparte o kilka, równoległych linii
SONET/SDH w światłowodzie z multipleksacją typu DWDM (Dense Wavelength
Division Multiplexing). Architektura ma przepustowość danych rzędu 37.584 Gbit/s,
przy prędkości transmisji na poziomie 39813.12Mbit/s.
Obie architektury, mimo zdecydowanie niższej jakości usług w porównaniu do 40GbE
lub 100GbE, które wykorzystują wszystkie dobrodziejstwa Ethernetu, znalazły swoje
zastosowanie w dzisiejszym przemyśle.