Emulacja sieci LAN - LANE

Ze wzgledu na pilną potrzebe integracji sieci LAN kilka organizacji zajmujących sie rozwijaniem protokołów, takich jak ATM Forum, FR Forum i IETF, podjeło prace zmierzające do opracowania zasad współpracy różnych protokołów sieciowych. Zdefiniowano także wiele urządzen do łączenia sieci. Obserwując tendencje rozwojowe sieci komputerowych można oczekiwaa, że przyszłośa w komunikacji sieciowej należea bedzie do technologii ATM. W zależności od wymagan protokoły ATM mogą bya zastosowane do łączenia sieci LAN na kilka sposobów. Jednym z nich jest połączenie sieci LAN poprzez siea ATM z wykorzystaniem idei emulacji sieci lokalnej. Standard LAN Emulation opracowany przez ATM Forum jest protokołem warstwy łącza danych opartym na zorientowanej połączeniowo technologii ATM, ale zachowujący cechy dzielonych bezpołączeniowych sieci Ethernet czy Token Ring (rysunek 4.1).

Rys.4.1 Transport danych sieci LAN/WAN poprzez siea ATM w emulacji LANE

Zastosowanie protokołu LANE daje użytkownikom możliwośa korzystania z wyższych predkości transmisji, oferowanych przez ATM, niż jest to możliwe w innych sieciach LAN, oraz dostep do urządzen ATM bez konieczności zamiany obecnego wyposażenia w sprzecie komputerowym, oprogramowaniu czy aplikacjach. Oprogramowanie LANE zaimplementowane w przełącznikach ATM nie wpływa na ich prace, gdyż dane protokołu LANE są traktowane jak dane każdego innego połączenia. Z punktu widzenia warstw wyższych stacje sieci Ethernet, Token Ring i ATM komunikują sie tak, jakby były w tej samej sieci lokalnej. Protokół LANE, podobnie jak ATM, umożliwia też realizacje połączen wirtualnych.

W jednej sieci ATM może istniea kilka emulowanych sieci LAN - ELAN (emulacja sieci Ethernet, emulacja sieci Token Ring). Ilustruje to rysunek 4.2.

Rys. 4.2 Siea ATM łącząca kilka podsieci

Obecnie standard LANE definiuje usługi emulacji LAN dla standardów IEEE 802.3 Ethernet i 802.5 Token Ring. Nie są jednakże sprecyzowane zasady łączenia tych sieci w ramach jednej emulacji LAN. Ich współpraca może bya zrealizowana przy użyciu routera, który pełni role tzw. klienta w każdej emulowanej sieci. Nie jest też zdefiniowany protokół emulacji sieci FDDI. Ramki FDDI muszą bya poddawane konwersji na ramki standardu Ethernet lub Token Ring, zanim zostaną obsłużone przez protokół LANE.

Należy zauważya, że implementacja ATM w formie LANE nie wymaga żadnej modyfikacji protokołów warstw wyższych. Wynika to z tego, że protokoły LANE prezentują te same interfejsy użytkowe co protokoły MAC, funkcjonujące w postaci sterowników warstwy sieciowej (NDIS, ODI).

Dane przysyłane przez ATM są enkapsulowane do komórek ATM, po podziale ramek formatów LAN MAC. Nie oznacza to, że dokonywana jest emulacja protokołów dostepu do medium danej sieci LAN. Protokoły LANE sprawiają, że siea ATM zachowuje sie tak, jak Ethernet lub Token Ring, chociaż jej funkcjonowanie jest znacznie szybsze.

Protokół LANE może bya wykorzystany do przyłączania do sieci ATM serwerów wyposażonych w karty ATM, które mogą bya serwerami centralnymi.


Elementy sieci LANE

Protokół LANE definiuje operacje na pojedynczych emulowanych sieciach lokalnych, nazywanych tutaj ELAN (ang. Emulation LAN). W jednej sieci ATM może ich koegzystowaa wiele. Każda siea ELAN składa sie z czterech podstawowych elementów (rysunek 4.3):

klient ELAN(LEC - ang. LAN Emulation Client) stanowiący urządzenie stykowe pomiedzy warstwą MAC, a warstwą emulacji jednostki koncowej sieci ELAN. LEC prowadzi usługi LAN dla wyższych warstw, jak przesyłanie danych, analiza adresów i inne. Jeżeli komputer jest połączony z kilkoma sieciami ELAN, to dla każdej z nich musi miea oddzielny styk LEC. Każdy LEC jest identyfikowany przez unikatowy adres ATM i powiązany z jednym lub wiecej adresami MAC dostepnymi przez ten adres ATM. Zbiór adresów MAC może ulegaa zmianom.

serwer ELAN(LES - ang. LAN Emulation Server) prowadzi rejestracje adresów stacji sieci ELAN oraz realizuje funkcje kontrolne. W obrebie pojedynczej sieci ELAN może istniea tylko jeden serwer ELAN. Jest on identyfikowany przez unikatowy adres ATM.

serwer rozgłoszeniowy BUS (ang. Broadcast and Unknown Server) jest serwerem wielozadaniowym, odpowiedzialnym za rozgłaszanie danych, przesyłanie danych do grupy użytkowników oraz przesyłanie zapytan o nieznane adresy, w obrebie pojedynczej sieci ELAN. Każdy LEC związany jest z jednym serwerem BUS, ale w sieci ELAN może funkcjonowaa kilka serwerów typu BUS. Klient LEC rozpoznaje serwer BUS po unikatowym adresie ATM. W serwerze LES wszystkie serwery BUS są związane z jednym adresem MAC.

serwer konfiguracyjny emulacji LAN(LECS - ang. LAN Emulation Configuration Server) przyporządkowuje klientów LEC do poszczególnych sieci ELAN przez skierowanie ich do odpowiedniego serwera LES. Jeden serwer LECS obsługuje wiec całą domene ATM, w której może bya zdefiniowanych wiele sieci ELAN.

Rys.4.3 Elementy sieci ELAN

Protokół LANE nie precyzuje, gdzie muszą bya zlokalizowane wyżej opisane elementy. Może zaistniea sytuacja, że wszystkie rodzaje serwerów są umieszczone w jednym urządzeniu sieciowym, np. routerze. Niezależnie do lokalizacji, każdy z nich posiada własny unikatowy adres ATM.

Podana powyżej charakterystyka elementów sieci ELAN jest charakterystyką podstawową. Poszczególne elementy mogą też spełniaa dodatkowe funkcje, odnosi sie to na przykład do inteligentnego serwera BUS. Posiada on tablice adresów ATM stacji, podobnie jak serwer LES. Dzieki temu otrzymane od klienta LEC wiadomości mogą bya przesyłane do konkretnego klienta LEC przez kanał rozgłoszeniowy, bez konieczności przesyłania nadmiarowych danych do innych klientów. W tym trybie serwer BUS pracuje jak serwer połączeniowy. Klient może wysyłaa wszystkie zapytania do serwera BUS, bez potrzeby podtrzymywania połączen z innymi elementami sieci ELAN. Wtedy jednak serwer BUS może sie okazaa wąskim gardłem całej sieci ELAN.

Rys.4.4 Rodzaje połączen

Protokół LANE może obsługiwaa jedną siea LAN (emulacja sieci Ethernet - LANE1 rysunek 4.4) lub łączya kilka sieci LAN w jedną siea wirtualną (LANE2).


Połączenia sieci ELAN

Protokół LANE specyfikuje nastepujące interfejsy (rysunek 4.5):

LUNI (ang. LAN Emulation User to Network Interface) pomiedzy klientem LEC i siecią dostarczającą usługi LANE;

LNNI (ang. LAN Emulation Network to Network Interface) pomiedzy komponenetami serwera w ramach pojedynczego ELAN.

Rys. 4.5 Interfejsy protokołu LANE

Elementy LANE, których współpraca jest określona poprzez LUNI, komunikują sie pomiedzy sobą poprzez użycie adresów ATM. Pomiedzy nimi wystepują różne typy połączen: kontroli ruchu i przesyłania danych.

Na rysunku 4.6 zostały przedstawione rodzaje połączen kontrolnych wraz z kolejnością ich zestawiania. Dokładny opis operacji protokołu LANE jest omówiony w dalszej cześci pracy. Połączenia kontrolne zestawiane w LANE to (rysunek 4.6):

· połączenie konfiguracyjne VCC (ang. Configuration Direct VCC) (1) - dwukierunkowe połączenie punkt-punkt zestawiane od klienta LEC do serwera konfiguracji LECS;

· połączenie kontrolne VCC (ang. Control Direct VCC) (2) - dwukierunkowe połączenie wirtualne zestawiane od klienta LEC do serwera LES;

· połączenie kontrolno-dystrybucyjne VCC (ang. Control Distribute VCC) (3) - jednokierunkowe połączenie typu punkt-wiele_punktów od serwera LES do klienta LEC.

Rys.4.6 Połączenia kontrolne

Wymiana informacji pomiedzy klientami LEC, bądź miedzy klientem a serwerem BUS odbywa sie za pośrednictwem połączen przesyłania danych (rysunek 4.7):

· połączenie transferu VCC (ang. Date Direct VCC) (3 i 6) - dwukierunkowe połączenie typu punkt-punkt zestawiane pomiedzy dwoma klientami LEC, za pośrednictwem którego wymieniane są dane;

· połączenie wysłania rozgłoszenia VCC (ang. Multicast Send VCC) (1 i 4) - dwukierunkowe połączenie łączące dwa punkty, realizowane od klienta LEC do serwera BUS;

· połączenie rozgłoszeniowe VCC (ang. Multicast Forward VCC) (2 i 5) - jednokierunkowe połączenie zestawiane przez serwer BUS do klientów LEC. Jest to typowe połączenie typu punkt-wiele_punktów.

Rys.4.7 Połączenia danych


Operacje protokołu LANE

Protokół LANE definiuje operacje realizowane przez poszczególne komponenty pojedynczej emulowanej sieci ELAN (rysunek 4.8). Obejmują one:

inicjalizacje w domenie,

konfiguracje,

połączenie z serwerem LES,

rejestracje w serwerze LES,

połączenie z serwerem BUS,

przesyłanie danych.

Rys. 4.8 Operacje protokołu LANE


Inicjalizacja

Inicjalizacja jest procesem „zapoznania" klienta LEC z emulowaną siecią ELAN. Pierwszym krokiem podejmowanym przez klienta LEC w procesie inicjalizacji jest ustalenie jego adresu ATM. W tym celu musi on nawiązaa połączenie z serwerem LECS poprzez kanał konfiguracyjny VCC. Adres ATM serwera LECS może bya dostepny:

w tablicy adresów klienta, wpisany na stałe przez administratora, albo

poprzez stałe połączenie do serwera LECS o identyfikatorze ogólnie znanym (VPI=0 i VCI=17), albo

poprzez użycie procedury ILMI.

Po ustaleniu połączenia konfiguracyjnego VCC serwer LECS przesyła klientowi dane dotyczące emulowanej sieci: adres ATM odpowiedniego serwera LES, typ emulowanej sieci, rozmiar maksymalnego pakietu przesyłanego przez siea ELAN oraz jej nazwe.


Rejestracja

Po uzyskaniu informacji inicjalizujących klient zamyka połączenie z serwerem LECS i łączy sie z serwerem LES zestawiając połączenie kontrolne VCC. Nastepnie przesyła mu swój adres MAC. Serwer LES przypisuje klientowi LEC adres ATM i nadaje mu numer identyfikacyjny LECID, wykorzystywany przy rozgłaszaniu wiadomości. Jest to tzw. mapowanie bądź odwzorowywanie, polegające na przyporządkowaniu odpowiedniemu adresowi MAC adresu ATM. Po rejestracji serwer LES łączy sie z klientem połączeniem kontrolno-dystrybucyjnym VCC. Oba kanały, kontrolny i kontrolno-dystrybucyjny, są używane do przesyłania wiadomości o adresach ATM klientów w sieci, za pośrednictwem mechanizmu zapytan i odpowiedzi ARP (tzw. LE_ARP - ang. LAN Emulation Address Resolution Protocol).

W ostatnim kroku rejestracji klient LEC przesyła do serwera LES zapytania o adres ATM serwera BUS. Po jego otrzymaniu klient LEC ustanawia połączenie ‘wysyłania rozgłoszenia VCC’ do serwera BUS, który w odpowiedzi zestawia połączenie rozgłoszeniowe VCC z klientem, należące do połączenia punkt-wiele_punktów. Przykładowy diagram czasowy procesu inicjalizacji i rejestracji klienta LEC przedstawia rysunek 4.9. Po przejściu powyższych kroków klient LEC jest gotowy do transmisji danych.

Rys.4.9 Schemat inicjalizacji i rejestracji klienta emulacji LAN


Przesyłanie danych

Zadaniem styku LEC jest dostarczenie warstwie wyższej (np. LLC) usługi, polegającej na przekazywaniu ramki pod wskazany adres MAC.

W celu wysłania danych do określonego użytkownika, klient LEC wysyła zapytanie LE_ARP do serwera LES o adres żądanego odbiorcy (rysunek 4.10). Jednocześnie zapytanie przesyłane jest do serwera BUS, który rozgłasza je do innych klientów LEC w sieci (rysunek 4.11). To dodatkowe działanie pozwala na szybsze zlokalizowanie poszukiwanego adresu ATM, jednocześnie inni klienci mają możliwośa „nauczenia sie" lokalizacji nadawcy.

Podczas oczekiwania na odpowiedź serwera LES, źródłowy klient LEC inicjuje zazwyczaj transfer danych poprzez serwer BUS, używając odpowiednio zdefiniowanej enkapsulacji. Serwer BUS przesyła odebrane ramki danych do klientów LEC. Wcześniejsze rozpoczecie transferu danych za pośrednictwem serwera BUS jest realizowane, gdyż w przypadku zerwania połączenia z serwerem LES z przyczyn technicznych, połączenie nie zostałoby zestawione, a także dlatego, że wiele protokołów nie toleruje opóźnien czy braków odpowiedzi, jakie mogłyby wystąpia podczas tej operacji.

Rys.4.10 Przesyłanie danych

 

Rys.4.11 Kierunek przesyłania zapytania o adres ATM odbiorcy

w przypadku braku odpowiedzi od serwera LES

Kiedy LEC otrzyma poszukiwany adres ATM nawiązuje połączenie z odbiorcą, które wykorzystuje nastepnie do transmisji danych. Zanim klient LEC rozpocznie wysyłanie wiadomości musi upewnia sie czy pakiety poprzednio wysłane do serwera BUS dotarły do odbiorcy. Do tego celu wykorzystywana jest procedura "flush". Polega ona na wysłaniu komórki kontrolnej ścieżką za ostatnim pakietem wysłanym z serwera BUS. Jeżeli odbiór ramki kontrolnej nie zostanie potwierdzony, zostaje ona wysłana ponownie. Mechanizm ten gwarantuje transmisje, odpowiadającą standardom stawianym przez mosty LAN, polegającą na zachowaniu kolejności transmisji ramek. Przykładową ilustracje wymiany ramek danych pokazuje rysunek 4.10.

Każdy klient LEC przechowuje odwzorowania adresów MAC na adresy ATM, otrzymane w odpowiedzi na pakiety LE_ARP, w lokalnej tablicy odwzorowan. Pary adresów są usuwane po upływie określonego czasu, np. po pieciu minutach. Połączenie transferu danych jest anulowane, jeżeli pozostaje nieaktywne przez ustalony opcjonalnie czas, np. przez 20 minut. Dzieki temu może sie zdarzya, że klient LEC bedzie mógł wykorzystaa je ponownie, bez konieczności kolejnego inicjalizowania.

Serwer BUS służy jednocześnie do przesyłania wiadomości rozgłoszeniowych oraz grupowych. Mogą bya one wysyłane przez każdego klienta mającego połączenie do serwera BUS. Aby zapobiec otrzymaniu przez klienta wiadomości typu rozgłoszeniowego lub grupowego, które sam wysłał, serwer LES podczas inicjalizacji nadaje każdemu klientowi identyfikator LECID, który razem z ramkami przesyłany jest przez serwer BUS. Klient LEC otrzymując taką ramke sprawdza wartośa LECID i gdy jest to jego własny identyfikator nie przesyła ramki do warstw wyższych.


£ączenie segmentów LAN

Obok pojedynczych stacji, serwerów i urządzen sieciowych, emulacja LANE może łączya również segmenty sieci lokalnych Ethernet lub Token Ring. W tym przypadku most lub przełącznik LAN jest widziany przez siea jako specjalny klient, który reprezentuje wiele różnych adresów MAC. Adresy te są adresami stacji koncowych należących do sieci Ethernet/Token Ring przyłączonych do sieci ELAN.

Most, jako specjalny klient LEC, rejestrowany jest w tablicach serwera LES jako "pełnomocnik" (ang. proxy), wezeł działający z upoważnienia innych. Serwer LES przesyła do niego wszystkie zapytania LE_ARP. Most musi też rozpoznaa komórki rozgłoszeniowe i rozesłaa je odpowiednio w "swoim" segmencie.

Kiedy aplikacja stacji koncowej sieci Ethernet lub Token Ring chce wysłaa dane do sieci LAN, wysyła ramke do adaptera sieciowego poprzez standardowy interfejs. Ramka ta zawiera adres MAC odbiorcy, który może bya adresem rozgłoszeniowym, np. typu multicast. Dalsze czynności obsługi ramki przejmuje adapter z interfejsem emulacji sieci LAN, który sprawdza czy ramka ta ma bya przesłana na zewnątrz sieci, czy jest przeznaczona dla jednej ze stacji w segmencie lokalnym (rysunek 4.12). Jeśli ramka ma bya przesłana dalej:

dla unikatowego adresu MAC sprawdza czy istnieje już połączenie do odbiorcy. Dane te znajdują sie w tablicy adresów MAC;

jeżeli w tablicy nie ma takiego połączenia, to adapter ustala je zgodnie z procedurami stosowanymi przy transferze danych;

jeśli połączenie jest ustalone, wówczas adapter do otrzymanej ramki dodaje 2-u bajtowy nagłówek emulacji sieci LAN. Tak powstała ramka jest dzielona na segmenty 48-mio bajtowe, do których nastepnie dołączane są 5-cio bajtowe nagłówki z ustalonymi wartościami VPI/VCI.

Po przesłaniu, komórki są gromadzone i odtwarzane w oryginalne ramki Ethernet/Token Ring, a nastepnie przesyłane do aplikacji stacji koncowej tak, jakby były przesyłane przez siea lokalną Ethernet czy Token Ring.

Rys. 4.12 Most Ethernet w sieci ELAN

Jeden przełącznik, czy stacja, może należea do kilku pojedynczych sieci ELAN w obrebie domeny, bez wzgledu na fizyczne położenie, ale z ograniczeniem, że adapter przełącznika może należea tylko do jednej sieci. Elementy sieci ELAN nie muszą fizycznie znajdowaa sie w jednym miejscu. Dzieki temu zmiana konfiguracji sieci ELAN nie wymaga zmiany fizycznej lokalizacji poszczególnych elementów.

W pojedynczej szkieletowej sieci ATM może bya zaimplementowanych wiele różnorodnych sieci ELAN. Mogą one sie składaa z różnych urządzen sieciowych, niezależnie od ich fizycznej lokalizacji. Wirtualne sieci LAN, budowane w oparciu o protokół LANE, dają możliwośa łatwego i dynamicznego adaptowania sieci do aktualnych potrzeb organizacyjnych.

Protokół LANE umożliwia zaimplementowanie emulacji sieci Ethernet lub Token Ring z segmentów dużo bardziej oddalonych od siebie niż to umożliwiają zwykłe lokalne sieci Ethernet czy Token Ring. ATM nie ma żadnych ograniczen fizycznych odległości pomiedzy łączonymi komputerami. Korzystając z istniejących połączen bezpośrednich (kable) lub za pośrednictwem komutowanych sieci publicznych, powinno bya możliwe utworzenie emulacji sieci LAN, która łączy segmenty rozlokowane na całym świecie. Nie istnieje teoretyczna granica ilości stacji, które mogą bya w emulacji sieci LAN. Jednakże maksymalna liczba identyfikatorów LEC - 65279, które może zarejestrowaa serwer LES może wyznaczaa praktyczny górny limit ilości stacji w sieci ELAN.


Operacje w emulacji sieci Token Ring

W przypadku sieci Token Ring stosowane mogą bya dwie odmiany protokołu: z tzw. routingiem źródłowym i bez niego. W pierwszym przypadku, ramka MAC zawiera pole RI (ang. Routing Information), w którym podana jest informacja o poszczególnych sieciach (pierścieniach) i mostach, przez które powinna ona przejśa w drodze od nadawcy do odbiorcy. Klient LEC przed wysłaniem zapytania LE_ARP sprawdza pole RI. Jeśli pole RI nie wystepuje, lub jest krótsze niż 6 bajtów, albo opis ostatniego pierścienia wskazuje na pierścien klienta LEC, wysyłane jest standardowe zapytanie LE_ARP z adresem MAC odbiorcy. Kiedy pole RI nie spełnia powyższych warunków, klient LEC przesyła zapytanie LE_ARP, podając deskryptor routingu RD (ang. Route Descriptor) nastepnego kroku zawartego w polu RI. Działanie to musi bya wykonane ze wzgledu na to, że w sieci Token Ring z wyznaczonym routingiem, mosty nie wiedzą nic o adresach MAC urządzen sąsiednich.

Podczas rejestracji klienta LEC, który jest mostem w sieci Token Ring z routingiem źródłowym, serwer LES tworzy dodatkową tablice RD i odpowiadającymi im adresami ATM (rysunek 4.13). Jeśli serwer LES nie posiada dodatkowej tablicy deskryptorów RD, zapytania LE_ARP przesyłane są do wszystkich klientów LEC, którzy oznaczeni są jako "pełnomocnicy".

Rys. 4.13 Tablice adresów MAC, ATM i RD w środowisku emulacji sieci Token Ring


Algorytm drzewa rozpinającego

Protokół LANE pozwala na zaimplementowanie protokołu drzewa rozpinającego (ang. spanning tree) wewnątrz sieci ELAN. Rozpoznaje go również w sieciach zewnetrznych, dostepnych bezpośrednio przez urządzenia brzegowe. Jego funkcjonowanie (analogicznie do realizowanego w połączonych mostami sieciach LAN) rozwiązuje problemy, które mogłyby powstaa w przypadku istnienia zapetlonych połączen, np. gdy istnieją dwa różne połączenia pomiedzy dwoma elementami sieci LAN. Kiedy petla zostanie wykryta, jej usuniecie wymaga zamkniecia portu w urządzeniu sieciowym sieci zewnetrznej lub portu w przełączniku ATM należącym do sieci ELAN. Z reguły wybierane jest rozwiązanie pierwsze, ponieważ protokół drzewa rozpinającego porównuje koszty poszczególnych połączen (zwykle proporcjonalnie do szybkości transmisji w przyłączonych do nich segmentach).

Działanie protokołu drzewa rozpinającego może spowodowaa, że poszukiwane przez klientów LEC adresy MAC bedą dynamicznie zmieniały swoje położenie. Stąd też istnieje niebezpieczenstwo, iż klient LEC może użya nieaktualnego odwzorowania. Wówczas, wysłane przez niego informacje mogą nie trafia do odbiorcy. W celu zmniejszenia negatywnych skutków opisanego powyżej problemu, mechanizm LANE został wyposażony w protokół wymiany wiadomości o zmianie topologii sieci. W przypadku otrzymania takiej wiadomości (spowodowanej usunieciem wykrytej petli), klient LEC wysyła wiadomośa do serwera LES, który nastepnie rozgłasza ją do innych klientów.

Centrum Informatyczne Trójmiejskiej Akademickiej Sieci Komputerowej
ul. G. Narutowicza 11/12, 80-233 Gdańsk   |   tel. 58-347-24-11
email: office@task.gda.pl   |   NIP: 584-020-35-93