Jacek Majewski, Zbigniew Zakrzewski Instytut Telekomunikacji ATR w Bydgoszczy, Bydgoszcz Poziomy zabezpieczeń danych w sieciach szerokopasmowych opartych na technice ATM W opracowaniu przedstawiono charakterystykę zabezpieczeń na poszczególnych warstwach sieci szerokopasmowej opartej na technice ATM. Wyszczególniono sposób zabezpieczenia na warstwie ATM i warstwie adaptacji ATM. Podjęto próbę analizy skutków wystąpienia potencjalnych błędów w zabezpieczanych sekwencjach informacyjnych. 1. Wstęp Zabezpieczenie informacji w systemie ATM ma charakter wielopoziomowy, co powoduje zminimalizowanie niebezpieczeństwa jej utraty. Najniższym stopniem zabezpieczenia jest zabezpieczenie na poziomie warstwy fizycznej. Za warstwę fizyczną rozumie się tu wszystkie systemy, które umożliwiają transmisję poprzez łącza. Do najważniejszych systemów w których przewidziano umieszczenie komórek ATM należą : system PDH, system SDH. Drugi stopień zabezpieczenia jest na poziomie warstwy ATM, gdzie zabezpiecza się informację w nagłówku komórki ATM. Trzeci stopień zabezpieczenia jest na poziomie warstwy adaptacyjnej ATM (ATM Adaptation Layer - AAL), gdzie w obrębie pola informacyjnego komórki ATM zabezpiecza się dane przychodzące z warstw wyższych sieci (zgodnie z modelem OSI). Te zabezpieczenia dotyczą bezpośrednio sieci szerokopasmowych zbudowanych na technice ATM. Oczywiście dane dodatkowo są zabezpieczone w protokołach warstw wyższych. 2. Bezpieczne transportowanie danych System transportu danych funkcjonujący na poziomie warstwy fizycznej winien także posiadać pewne mechanizmy zabezpieczające informację. W przypadku systemu SDH, informacja jest zabezpieczona bitami parzystości BIP ( Bit Interleaved Parity) na trzech poziomach sekcyjnych: sekcja multiplekserowa (BIP-24 dla STM-1; BIP-96 dla STM-4), sekcja regeneratorowa (BIP-8), sekcja ścieżki cyfrowej (BIP-8). Raporty o liczbie zliczonych błędów są zawarte odpowiednio w bajtach Z2 i G2 [1]. W przypadku, kiedy systemem nośnym jest ATM, stosuje się zabezpieczenie blokowe (służy także do pomiaru elementarnej stopy błędu) poprzez wprowadzenie do strumienia danych pewnych specyficznych komórek PL.-OAM. Zakłada się wielkość bloku jako łańcuch 64 komórek ATM i biernych (bez PL.-OAM). Komórki PL.-OAM opinają 512 komórek ATM i biernych. Z tego wynika, że ciąg PL.- OAM składa się z 8 bloków. Na zapis parzystości zarezerwowano w przestrzeni ładunkowej PL.- OAM 8 oktetów (8 x BIP-8). Dodatkowo zarezerwowano 4 oktety EB (Errored Blocks) na zapis liczby naruszeń parzystości w każdym oktecie BIP-8.
- 157 - C-4.17 3. Zabezpieczenia na poziomie warstwy ATM Struktura pakietu komórki ATM, jej nagłówka, jest różna w zależności od styku w którym się znajduje. Istnieją dwa styki w sieci ATM w których nagłówek ma inna budowę: styk UNI (User Network Interface) styk NNI (Network Node Interface) Pole, które będzie nas interesowało ma identyczną wielkość i umiejscowienie w obu wersjach komórki ATM. Jest to pole HEC. Pole nadmiaru kodowego ( - Cyclic Redundance Check), o długości 8 bitów, zawiera wynik operacji kodowania kodem cyklicznym zawartości całego nagłówka komórki ATM. Pole HEC jest wykorzystywane w celu detekcji błędów w nagłówku ATM. Wielomian generujący kod ma następującą postać: G(x) = x 8 + x 2 + x + 1. GFC UNI 8 7 6 5 4 3 2 1 8 7 6 5 4 3 2 1 PT CLP HEC NNI PT CLP HEC Pole informacyjne Pole informacyjne Rys. 1 Struktura nagłówka komórki ATM. Przekłamanie bitów jakie mogłyby wystąpić w nagłówku, mogą spowodować np. błędy w odczytywaniu trasy komórki (wartości pól i ) czy też określenie priorytetu i zawartości komórki (bity pól PT i CLP). Poniżej przedstawiono algorytm pracy HEC (Rys.2) i algorytm związany z konsekwencjami wystąpienia błędów w nagłówku komórki ATM (Rys. 3). Wykryto wiele błędów (komórka odrzucona) 1 Nie wykryto błędu Tryb korekcji Brak błędu 1 Tryb detekcji Wykryto błąd komórka odrzucona Wykryto pojedynczy błąd (korekcja) Rys. 2 Algorytm pracy HEC. 4.Zabezpieczenie na poziomie warstwy adaptacyjnej ATM (AAL) Warstwa adaptacyjna ATM stanowi warstwę pośrednią pomiędzy warstwami wyższymi protokołu, a warstwą ATM. Warstwa AAL realizuje funkcje zależne od typu usługi i w związku z tym istnieją różne wersje warstwy AAL zorientowane na określony typ usługi: Typ AAL1: emulacja kanału o stałej przepustowości; Typ AAL2: usługi o zmiennej przepustowości bitowej i istotnej synchronizacji; Typ AAL3: transmisja danych w trybie połączeniowym; Typ AAL4: transmisja danych w trybie bezpołączeniowym. Typ AAL5: uproszczona realizacja funkcji AAL3/4.
- 158 - przychodząca z poprawnym nagłówkiem przychodząca z uszkodzonym nagłówkiem Czy wykryto błąd? Korekcja Tryb? Detekcja Czy nagłówek jest dopuszczalny? Korekcja jest możliwa? Nastąpiła rekonstrukcja nagłówka? dopuszczalny nagłówek komórki? poprawna z dobrym nagłówkiem Odrzucenie komórki poprawna z błędem w nagłówku Rys. 3 Konsekwencje wystąpienia błędu w nagłówku komórki ATM. 4.1 Typ warstwy - AAL1 W obrębie warstwy adaptacyjnej ATM można wyróżnić dwie podwarstwy: podwarstwę zbieżności (CS) oraz podwarstwę segmentacji i składania (SAR). 0 OFFSET P format 1 octet 46 octetów P Informacja użytkownika Non - P format 47 octetów Informacja użytkownika 1 3 3 1 CSI NUM P CS - PDU SN SNP 47 octetów SAR - SDU SAR - PDU 5 octetów 48 octetów ATM - SDU Rys. 4 Format dla AAL1. Danym w SAR PDU jest nadawany 8 bitowy nagłówek. Zabezpieczenie w obrębie nagłówka jest bardzo nadmiarowe. Cztery pierwsze bity (CSI+NUM) są zabezpieczone kodem -3. Kod ten ma wielomian o następującej postaci: G(x) = x 3 + x + 1. Następnie pole złożone w sumie z 7 bitów (CSI+NUM+) są zabezpieczane bitem parzystości P. Takie poważne zabezpieczenie pola SN spowodowane jest tym, iż pole to przenosi informację o odtwarzaniu czasu resztkowego (CSI) potrzebnego do ustalenia zegara taktowania w odbiorniku. Druga sekwencja zabezpieczona odpowiada za kolejność przysyłanych komórek (NUM). Poniżej przedstawiono algorytm pracy zabezpieczenia.
- 159 - C-4.17 Multiplate Bit Error detected No Error(s) Detected Correction Mode No Error(s) Detected Detection Mode No Error(s) Detected Single Bit Error detected (Correct Error) Rys. 5 Algorytm pracy zabezpieczenia. Dla danych CS-PDU w celu zabezpieczenia jest stosowany przeplot i zabezpieczenie kodem wielomianowym. W tym celu został zastosowany kod Reed-Solomona, który posiada bardzo dobre parametry detekcyjno-korekcyjne przy niewielkim nadmiarze około 3.2% (tzn. 188 oktetów zabezpiecza 5828 oktetów). Rys. 6 Macierz danych dla kodu Reed-Solomona. Dane w macierzy są wczytywane wierszami po 124 oktety w wierszu, następnie zabezpieczane 4 oktetami kodu, co daje w sumie 128 oktetów w wierszu. Ilość wierszy jest związana z wielkością bitów w ramce danych SAR-SDU tzn. 47 wierszy. Z macierzy, będącej w pamięci, 128 x 47 = 6016 oktetów dane są wyprowadzane w postaci kolumn 47-bajtowych do ramki SAR-SDU. W odbiorniku mechanizm odczytu danych jest odwrotny. Kod ten pozwala korygować: utratę czterech komórek ATM, utratę 2 komórek i jeden uszkodzony oktet w każdym wierszu, dwóch uszkodzonych oktetów w każdym wierszu bez zagubień. Opóźnienie dopuszczalne przy zastosowaniu tego kodu wynosi 128 komórek ATM. 4.2 Typ warstwy - AAL2 Różnica pomiędzy AAL1 i AAL2 polega na akceptacji przez AAL2 informacji o różnej szybkości oraz zmiennej długości. Zabezpieczenie nagłówka SAR-PDU, pola danych oraz części etykiety () znajduje się na ostatnich 10 bitach, gdzie jest zapisana reszta z dzielenia przez wielomian. Sekwencja wielomianu generującego kod (G(x) = x 10 +x 9 +x 5 +x 4 +x+1) może zabezpieczyć do 512 bitów informacji.
- 160-4 bity SN 4 bity 6 bitów 10 bitów IT Nagłówek SAR-PDU 45 octetów SAR-PDU pole danych Etykieta SAR-PDU 5 octetów 48 octetów SAR-PDU ATM = ATM-PDU Rys. 7 Format dla AAL2. Rola pola jest bardzo ważna, gdyż AAL2 służy do przenoszenia informacji dla usług VBR np. informacji będącej rezultatem zastosowania procedur kompresji - w tym przypadku wpływ ewentualnych błędów transmisji jest szczególnie istotny. 4.3 Typ warstwy - AAL3/4 Tryb AAL3 i AAL4 różnią się między sobą przeznaczeniem, natomiast ich struktura przesyłania informacji jest identyczna: AAL3 - tryb połączeniowy, AAL4 - tryb bezpołączeniowy. Zabezpieczenie na poziomie podwarstwy CS specjalnym kodem nie istnieje. Natomiast na poziomie podwarstwy SAR jest zastosowane identyczne zabezpieczenie jak dla AAL2. Kod 10 zabezpiecza nagłówek, pole danych i część etykiety. Wielomian generujący kod ma następującą postać: G(x) = x 10 +x 9 +x 5 +x 4 +x+1. Nagłówek CPCS-PDU Etykieta CPCS-PDU 1 oktet 1 oktet 2 oktety 1 oktet 1 oktet 2 oktety CPI BTAG BA-Size CPCS-SDU PAD AL ETAG Length SAR PDU BOM 10 SN MID CPCS-H COM 00 SN MID SAR SDU EOM 01 SN MID CPCS-T Nie wykorzystane SSM 11 SN MID CPCS-H CPCS-T Nie wykorzystane 5 oktetów SAR-PDU ATM - ATM PDU Rys. 8 Format dla AAL3/4. Zabezpieczona informacja odpowiada za kolejność sekwencji przychodzących komórek ATM (SN), a także za poprawność odczytania zmultipleksowanej informacji (MID). Natomiast błędy w polu mogą spowodować niepoprawną interpretację stopnia zapełnienia pola danych (odczyt pustych obszarów pola informacyjnego). Zwłaszcza dla trybu AAL4 ważne są błędy w polu MID, gdzie określa się przydział do multipleksowanego kanału w trybie bezpołączeniowym. 4.4 Typ warstwy AAL5 AAL5 jest warstwą uproszczoną w stosunku do AAL3/4 i charakteryzuje się: transportem informacji w trybie połączeniowym i bezpołączeniowym bez gwarantowanej synchronizacji odbiornika z nadajnikiem, brak rozpoznawania błędów na poziomie ramki SAR-PDU, brak numeracji kolejnych sekwencji na poziomie ramki SAR-PDU.
- 161 - C-4.17 Dane nie są zabezpieczane na poziomie podwarstwy SAR, lecz robi się to na większej grupie bitów na poziomie podwarstwy CS. 1 oktet 1 oktet 2 oktety 1 oktet 1 oktet 2 oktety 4 oktety CPI BTAG BA-Size CPCS-SDU PAD CPCS-UU CPI Length BOM COM Nagłówek CPCS-PDU SAR SDU SAR PDU EOM Etykieta CPCS-PDU 5 oktetów PT SAR-PDU ATM - ATM PDU Rys. 9 Format dla AAL5. Ostatnie cztery oktety w etykiecie podwarstwy CS zajęte są przez kod 32. Wielomian generujący ten kod ma następującą postać: G(x) = x 32 +x 26 +x 23 +x 22 +x 16 +x 12 +x 11 +x 10 +x 8 +x 7 +x 5 +x 4 +x 2 +x+1 Wynik obliczania jest umieszczany z najmniej znaczącym bitem po prawej w polu. W typowej implementacji w nadajniku inicjująca zawartość rejestru układu obliczającego resztę z dzielenia ustawiona jest wstępnie na same jedynki i wtedy jest modyfikowana przez podzielenie wielomianem generatora informacji z której oblicza się. Uzupełnienie jedynkowe wynikające z reszty jest wstawiane w pole. 5. Podsumowanie Zabezpieczenie informacji w systemie ATM jest ściśle związane z rodzajem usługi oferowanej przez sieć szerokopasmową. Poziom skomplikowania algorytmów jest wyważony ze skutecznością zabezpieczenia. Należy pamiętać, że w różnym stopniu informacja jest zabezpieczana na poziomie warstw wyższych. Na podstawie analizy powyższych systemów zabezpieczeń wynika, że informacja jest zabezpieczona dla torów o bitowej stopie błędów rzędu 10-4. Literatura 1. Zalecenie ITU-T G.708 - General Aspect of Digital Transmission Systems 2. Zalecenie ITU-T I.150 - B-ISDN ATM function characteristics, 3. Zalecenie ITU-T I.211 - B-ISDN service aspects, 4. Zalecenie ITU-T I.311 - B-ISDN general network aspects, 5. Zalecenie ITU-T I.321 - B-ISDN Protocol Reference Model and it aplication, 6. Zalecenie ITU-T I.327 - B-ISDN functional archtecture, 7. Zalecenie ITU-T I.361 - B-ISDN ATM layer specification, 8. Zalecenie ITU-T I.362 - B-ISDN ATM Adaptation Layer ( AAL ) functional description, 9. Zalecenie ITU-T I.363 - B-ISDN ATM Adaptation Layer ( AAL ) specification, 10.Zalecenie ITU-T I. 371 - Traffic control & congestion control in B-ISDN, 11.Zalecenie ITU-T I. 413 - B-ISDN user - network interface, 12.Zalecenie ITU-T I.432 - B-ISDN user - network interface - Physical Layer Specification, 13.Zalecenie ITU-T I. 610 - OAM principles of B-ISDN access.