Kompendium przemysłowej komunikacji IP
Transkrypt
Kompendium przemysłowej komunikacji IP
raport Techniki sieciowe Kompendium przemysłowej komunikacji IP Część 1 W automatyce i różnych zastosowaniach w przemyśle szybko rośnie użycie technik sieciowych, w szczególności rozwiązań bazujących na komunikacji IP (Internet Protocol). Pomimo dostępności wielu rozwiązań specjalizowanych do tego typu zastosowań, ich użytkownikom – bieżącym i przyszłym – często brakuje informacji pozwalających im na dobór odpowiednich produktów i ich optymalne wykorzystanie. W dwucześciowym artykule specjaliści z firmy Tekniska Polska omawiają podstawy komunikacji tego typu i podają szereg wskazówek dla osób zajmujących się sieciami komunikacyjnymi w szeroko rozumianym przemyśle. Stos protokołów W celu dobrego zrozumienia zasad rządzących współczesnej komunikacji sieciowej, zacząć należy od zapoznania się z założeniami warstwowego modelu komunikacyjnego OSI (rys. 1). Jest to struktura hierarchiczna, w której każdą warstwę można sprowadzić do modelu usług oferowanych warstwie wyższej. Cały stos protokołów obejmujących wszystkie warstwy komunikacyjne ma za zadanie zapewnić poprawną komunikację pomiędzy systemami końcowymi, czyli tzw. hostami. Dla najbardziej popularnej architektury można rozróżnić dwa typy hostów: klient i serwer. Klient odpowiada zawsze za inicjowanie sesji komunikacyjnej, a serwer udostępnia informacje. Na rys. 2 przedstawiony został model komunikacyjny OSI z uwzględnieniem lokalizacji popularnych protokołów stosowanych w przemyśle. Zwykle większość aplikacji przemysłowych ma charakter rozproszony, tj. korzysta z wymiany danych pomiędzy wieloma urządzeniami. Poszczególne warstwy komunikacyjne mają za zadanie zapewnić poprawną wymianę danych pomiędzy poszczególnymi procesami danej aplikacji, uruchomionymi w różnych systemach końcowych. Użytkownik korzysta z usług oferowanych przez warstwę aplikacji wykorzystującej bezpośrednio usługi warstwy niższej i pośrednio pozostałych. Taka sama 114 m a r zec 2 0 0 9 współzależność zachodzi pomiędzy wszystkimi kolejnymi warstwami. Aplikacja wykorzystuje protokoły komunikacyjne, które mogą być osadzone w więcej niż jednej warstwie (co w uproszczeniu oznacza, że zapewniają usługi wszystkich warstw w których rezydują). Najczęściej wymagane usługi to niezawodny transfer, przepustowość i określony czas transmisji. Każda informacja wymieniana pomiędzy systemami końcowymi zawsze przechodzi przez cały stos protokołów komunikacyjnych: „z góry na dół” przy wysyłaniu danych i „z dołu do góry” przy odbieraniu. Podczas, gdy Rys. 1 Warstwowy model komunikacyjny OSI raport Techniki sieciowe adresy IP służą do identyfikacji poszczególnych urządzeń w sieci, numery portów towarzyszące np. komunikacji TCP/IP lub UDP/IP służą do identyfikacji poszczególnych procesów w systemach końcowych. Niektóre z 65536 portów są zarezerwowane dla poszczególnych aplikacji i procesów, np. serwer WWW domyślnie wykorzystuje port nr 80. Listy portów można znaleźć w dokumentach RFC 1700, 3232. Ethernet Pod pojęciem Ethernet kryją Przykład wykorzystania przełączników sieciowych w systemie Rys. 2 się protokoły pierwszych dwóch kontroli w jednej z oczyszczalni ścieków w Sacramento (USA) warstw modelu OSI – fizycznej i łącza danych. Ze względu na popularność protokołów IP, TCP i UDP Sieci lokalne czytaniu pola adresu docelowego w warstwach sieciowej i transportoSieć LAN (Local Area Network) z nagłówka. Nie jest sprawdzana poprawność ramki, więc jej przewej, często przez termin Ethernet ro- jest zwykle oparta na przełącznikach zumie się komunikację zgodną ze (coraz rzadziej koncentratorach). łączanie jest szybsze, a czas niezaspecyfikacją IEEE 802.3, IEEE 802.1 Mogą one działać w oparciu o różleżny od długości. ne sposoby przełączania. Wybór daPodstawowym zagadnieniem przy i wykorzystującą komunikację IP. Główną zaletą komunikacji bazu- nego mechanizmu ma istotny wpływ planowaniu statystycznej z założenia jącej na protokołach IP i standardzie na funkcjonowanie sieci: sieci Ethernet jest zapewnienie deEthernet – jest obok zalet natury fi- – store-and-forward (tzw. transmi- terminizmu transmisji. W tym celu zycznej – ogromny dostęp do wiedzy sja buforowana) – przed przełą- w przełącznikach sieciowych są imi możliwość stosunkowo prostej miczaniem przełącznik odczytuje plementowane mechanizmy zapewcałą ramkę, sprawdza jej popraw- niające optymalne parametry czasowe gracji ze starszych systemów. Większość protokołów i standardów jest ność (za pomocą sumy kontrol- transmisji i minimalizujące opóźnieszczegółowo opisana w dokumennej CRC oraz pola FCS) i odrzu- nia dla krytycznych danych. Najważtach RFC sporządzanych poprzez ca ramki uszkodzone, a poprawne niejsze z tych mechanizmów to QoS organizację IETF. Są one dostępne transmituje dalej. Czas przełącza- (Quality of Service) czyli nadawaw Internecie. nia ramki zależny jest od jej długo- nie priorytetów pakietom (802.1p/q) ści. Do przełączania asymetryczne- w warstwie 2 modelu OSI metodą go (o różnych przepustowościach strict priority, IPToS (IP Type of Sei trybach działania poszczególnych rvice) czyli nadawanie priorytetów łączy) musi być wykorzystywany pakietom na bazie warstwy 3 modelu tryb store-and-forward. OSI, HoL blocking prevention, VLAN – cut–through – proces przełącza- (możliwość wydzielania struktur lonia ramki zaczyna się już po od- gicznych), IGMP snooping (filtrowaTABELA 1. Model komunikacyjny OSI z zaznaczeniem popularnych protokołów stosowanych w przemyśle Szeregowy Ethernet TCP/IP Modbus/RTU Modbus/TCP TCP/IP Profibus Profinet IO IRT, RT, RTU DeviceNet (CIP), ControlNet (CIP) EtherNet/IP (CIP) Foundation Fieldbus H1 Foundation Fieldbus High Speed Ethernet (HSE) CANopen Ethernet Powerlink CANopen EtherCAT EtherCAT, EtherCAT/UDP Sieć Standard IEC 61158, IEC 61784 Switch, router, urządzenia bezprzewodowe do 1Gb/s IEC 61158, IEC 61784 Switch, router, urządzenia bezprzewodowe do 1Gb/s IEC 61158, IEC 61784, ODVA, EtherNet/IP standard Ethernet 100Mb/s EPSG Ethernet 100Mb/s IEC 61158, IEC/PAS 62407, IEC 61784-3, ISO 15745-4 ma r z e c 2 0 0 9 115 raport Techniki sieciowe nie grup multicast) i inne. Zadaniem niższych warstw sieci jest zapewnienie warunków dla prawidłowego funkcjonowania protokołów warstw wyższych, zgodnie z przyjętymi kryteriami czasowo-niezawodnościowymi. Redundancja a algorytmy rekonfiguracji W sieci Ethernet nie mogą występować zamknięte trasy pakietów, czyli cykle/pętle. Skutkowałoby to możliwością powstawania tzw. sztormów rozgłoszeniowych, czyli przeciążeń sieci na skutek niekończącego się krążenia pakietów. Chcąc zapewnić niewrażliwość sieci na występowania awarii w jej różnych miejscach, użytkownik ma do dyspozycji kilka rozwiązań. Podstawowym jest wykorzystanie najbardziej popularnych i otwartych standardów rekonfiguracji opartych na algorytmie tzw. drzewa rozpinającego, jak np. STP/RSTP czy RSTP2004. Protokoły te działają w oparciu o algorytm STA będący mechanizmem określającym podzbiór topologii sieci nie zawierających pętli mostowych. Uzyskuje się to przez blokowanie tych portów mostu/przełącznika, które jako aktywne mogłyby powodować powstawanie pętli. Zablokowane porty mogą zostać odblokowane w wypad- Routery i przełączniki dzielą sieci Osprzęt aktywny, taki jak routery i przełączniki odpowiada za segmentację domen. Wyróżnić tutaj można dwa najważniejsze typy domen. Domena rozgłoszeniowa Jest ona jest zbiorem domen kolizyjnych połączonych ze sobą urządzeniami warstwy 2 (przełącznikami, mostami). Protokoły wykorzystują ramki rozgłoszeniowe i wieloemisyjne na poziomie warstwy 2 modelu OSI do komunikacji pomiędzy domenami kolizyjnymi. Ponieważ urządzenia warstw 1 i 2 nie mają wpływu na emisje rozgłoszeniowe, muszą być one kontrolowane przez urządzenia warstwy 3 (routery). Całkowity rozmiar domeny rozgłoszeniowej można zidentyfikować, wyszukując wszystkie domeny kolizyjne, w których jest przetwarzana ramka rozgłoszeniowa (obejmuje ona obszar sieci ograniczony urządzeniami warstwy 3). Kiedy węzeł ma nawiązać komunikację ze wszystkimi urządzeniami końcowymi hostami w sieci, wysyła ramkę rozgłoszeniową z adresem MAC Media Access Control odbiorcy równym $0xFFFFFFFFFFFF$. Ramkę z takim adresem muszą rozpoznać karty sieciowe wszystkich urządzeń sieciowych. Domena kolizyjna Domena kolizyjna jest to segment sieci, w którym może dojść do kolizji, czyli próby jednoczesnego nadawania, pomiędzy przyłączonymi urządzeniami podczas transmisji danych. Rozwiązaniem problemu jest segmentacja domeny kolizyjnej, komunikacja w trybie pełnego dupleksu. Granice domen kolizyjnych są wyznaczane przez typy urządzeń łączące segmenty medium. Urządzenia warstwy 1 (huby) nie rozdzielają domen kolizyjnych, natomiast urządzenia warstw 2 i 3 (przełączniki, routery) rozdzielają domeny kolizyjne. Rozdzielanie domen (zwiększanie ich liczby) przy użyciu urządzeń warstw 2 i 3 jest znane pod pojęciem segmentacji. Segmentacja w warstwie 2 jest stosowana do zredukowania liczby kolizji, natomiast segmentacja w warstwie 3 jest stosowana do ograniczenia tzw. promieniowania rozgłoszeniowego (sumaryczny ruch rozgłoszeniowy i gru- 116 m a r zec 2 0 0 9 powy generowany przez wszystkie urządzenia w sieci) oraz zapobieżenia występowania tzw. burzy rozgłoszeniowej (sytuacja w której obieg transmisji rozgłoszeniowej zajmuje całe pasmo sieci i dane aplikacji nie mogą być przesyłane). Przepływ danych Pojęcie przepływu danych w kontekście domen kolizyjnych i rozgłoszeniowych obejmuje sposób, w jaki ramka rozprzestrzenia się w sieci. Dotyczy to przepływu informacji przez urządzenia warstw 1, 2 i 3 oraz sposobów efektywnej enkapsulacji danych w celu ich przesłania między warstwami. – Warstwę 1 wykorzystuje się do transmitowania danych w medium fizycznym, warstwa 2 służy do zarządzania domenami kolizyjnymi, natomiast warstwa 3 do zarządzania domenami rozgłoszeniowymi. Urządzenia warstwy 1 (wtórnik, hub) nie filtrują danych, więc wszystkie odebrane dane są przekazywane do następnego segmentu. Wszystkie segmenty połączone za pośrednictwem urządzeń warstwy 1 stanowią tę samą domenę kolizyjną i rozgłoszeniową. – Urządzenia warstwy 2 (most, switch) filtrują ramki w oparciu o adres MAC odbiorcy. Urządzenie warstwy 2 tworzy wiele domen kolizyjnych, lecz utrzymuje pojedynczą domenę rozgłoszeniową. – Urządzenia warstwy 3 (router) filtrują pakiety danych w oparciu o adres IP odbiorcy. Urządzenia warstwy 3 tworzą wiele domen kolizyjnych i rozgłoszeniowych. raport Techniki sieciowe TABELA 2. Funkcje różnych warstw protokołu sieciowego 4 – transportowa Odpowiada za poprawne przesłanie danych bez ingerencji w ich strukturę. Gwarantuje retransmisję utraconych lub błędnie przesłanych pakietów. Występują tu dwa tryby pracy. – Tryb połączeniowy – wymaga utworzenia sesji (dwukierunkowego kanału logicznego) przed rozpoczęciem transmisji; wprowadza mechanizm potwierdzeń powodujący większe opóźnienia. – Tryb bezpołączeniowy – nie wymaga utworzenia sesji. Jest szybszy, ale nie gwarantuje dostarczenia pakietów do odbiorcy. Ze względu na mniejsze opóźnienia jest wykorzystywany w transmisji danych aplikacji multimedialnych, np. telefonii internetowej, wideokonferencji i systemów monitoringu. W kontekście tej warstwy porcje danych nazywa się segmentami. 3 – sieciowa Dokonuje segmentacji (po stronie nadawczej) i konsolidacji (po stronie odbiorczej) informacji pochodzących z warstw wyższych. Informacje dzielone są na tzw. pakiety (datagramy). Odpowiada również za wybór trasy oraz transmisję danych pomiędzy różnymi sieciami. 2 – łącza danych Zapewnia niezawodną transmisję ramek poprzez cyfrowy kanał, który może wnosić zakłócenia. Odpowiada za tworzenie sterujących ramek informacyjnych oraz wyznaczanie i sprawdzanie tzw. sum kontrolnych ramek. Zadaniem sumy kontrolnej jest diagnozowanie uszkodzenia ramki spowodowanego zakłóceniami w kanale komunikacyjnym. Warstwa łącza odpowiada również za sterowanie dostępem do medium. 1 – fizyczna Zapewnia transmisję binarnych ciągów elementarnych. Definiuje styk sprzętowy oraz zasady transmisji bitów poprzez łącza fizyczne. ku uszkodzenia połączenia podstawowego, tworząc w ten sposób nową trasę w sieci. Pomiędzy przełącznikami sieci następuje wymiana pakietów BPDU, która skutkuje: – wyborem jednego z przełączników w sieci jako root, czyli logicznego centrum zwiadowczego, – wyborem przełącznika root dla każdej podsieci VLAN, – wyborem portu root w każdym przełączniku, za wyjątkiem przełącznika root; port ten zapewnia najlepszą trasę wysyłania pakietów do przełącznika root, – obliczeniem najkrótszej trasy do przełącznika root, – wyborem przełącznika designated dla każdego segmentu LAN; przełącznik ten wskazuje najkrótszą trasę między segmentem i przełącznikiem root; port połączenia przełącznika designated z segmentem LAN nazywany jest portem designated. Porty root oraz designated są odblokowywane. Wszystkie trasy nadmiarowe do przełącznika root są blokowane. Użytkownik może skonfigurować przełącznik root, nadając mu odpowiedni priorytet. ma r z e c 2 0 0 9 117 raport Techniki sieciowe Rekonfiguracja topologii sieci wprowadza opóźnienia transmisji. Wszystkie porty przełączników muszą czekać na aktualne informacje o nowej topologii, które następnie zostają rozsyłane przez sieć, zanim możliwe jest przesłanie informacji. Standard STP charakteryzuje się czasem rekonfiguracji rzędu dziesiątek sekund, RSTP kilku sekund natomiast RSTP 2004 – 5ms na przełącznik. Jak widać, RSTP 2004 jest protokołem szybkim. Nie jest rozwiązaniem tak powszechnym, jak STP/RSTP, natomiast zapewnia pełną kompatybilność ze swoimi poprzednikami. Został on zastosowany m.in. w serii przełączników zarządzanych Magnum firmy GarrettCom. Oprócz wymienionych sposobów rekonfiguracji producenci przełączników sieciowych oferują szereg rozwiązań opatentowanych, skierowanych głównie dla topologii pojedynczego pierścienia lub ewentualnie pierścieni wielokrotnych mostkowanych. Przykładem protokołu dla pojedynczego pierścienia może być FRNT v.0 firmy Westermo, oferujący czas rekonfiguracji 20ms niezależnie od obciążenia sieci i ilości przełączników. FRNT v.1 dla struktur wielokrotnych oferuje czas rekonfiguracji 30ms. Wystę- 118 m a r zec 2 0 0 9 pujące w takim pierścieniu przełączniki muszą pochodzić od właściciela patentu i muszą to być przełączniki zarządzalne. W ten sposób otrzymuje się ultraszybkie rozwiązanie rekonfiguracji, które może być konieczne w wielu systemach. Przykładem innego podejścia może być protokół S-Ring firmy GarrettCom, który oferuje dłuższy czas rekonfiguracji, wynoszący Rys. 3 około 250ms dla pojedynczego pierścienia, ale za to umożliwia obniżenie kosztów poprzez konieczność zastosowania tylko jednego przełącznika zarządzalego w pierścieniu. Pozostałe przełączniki mogą być niezarządzalne, choć również muszą być produkcji GarrettCom i posiadać specyficzną funkcjonalność LLL. Zapewnianie jakości i niezawodności transmisji W sieci przemysłowej transmitującej wiele krytycznych informacji konieczne jest zapewnienie odpo- Przykładowe czasy rekonfiguracji zgodnie z protokołem RSTP2004 dla urządzeń firmy Magnum wiedniej klasy CoS (Class of Service) poprzez nadawanie priorytetów. Zapewnienie danym krytycznym pierwszeństwa wewnątrz przełącznika nie jest problemem, staje się nim natomiast po wyjściu na port i jest uzależnione od obsługi etykiet priorytetów przez urządzenia końcowe. Istnieje kilka mechanizmów kolejkowania danych priorytetowych. Część z nich polega na obsłudze ruchu na poszczególnych poziomach priorytetów w pewnym powtarzalnym cyklu. Zwykle najlepszym rozwiązaniem jest jednak mechanizm prostego kolejkowania – nadawanie priorytetów bezpośrednio danym przy zachowaniu zasady, że wyższy priorytet ma bezwzględnie pierwszeństwo. Realizowane jest to w warstwie 2 i 3 modelu OSI. Mechanizm CoS (Class of Service) odpowiada za niezawodność transmisji danych krytycznych poprzez nadawanie ramkom priorytetów. W przypadku kolejkowania powinien zapewnić zarządzanie danymi o różnych priorytetach na drodze od źródła do odbiorcy. Z kolei mechanizm QoS (Quality of Service) odpowiada za integralność danych oraz wymuszanie odpowiednich preferencyjnych warunków dla transmisji danych krytycznych. Zapewnia takie usługi, jak CBR (Constant Bit Rate), przewidywalność opóźnień i rezerwację pasma. raport Techniki sieciowe VLAN – wygodny sposób na sieć Za tym pojęciem kryje się wydzielanie logicznych struktur podsieci w obrębie danej sieci fizycznej. Wykorzystując technologię VLAN (Virtual LAN) można odseparować różne rodzaje ruchu w celu optymalizacji funkcjonowania sieci. Pozwala to na zwiększenie bezpieczeństwa, wyeliminowanie przeciążeń fragmentów sieci przez stacje generujące dużą ilość danych oraz wyizolowanie specjalnej podsieci dla danych, które powinny być dostarczane z wysoką rozdzielczością czasową. Dostępne na rynku przełączniki (zdecydowanie zalecane dla rozwiązań w sieciach przemysłowych) zapewniają obsługę więcej niż jednej wyjściowej kolejki priorytetów na port. Kolejki o wysokim priorytecie rezerwowane są dla danych krytycznych czasu rzeczywistego, oferując odpowiedni poziom QoS. Przykładowo, seria przełączników Lynx Westermo oferuje 4 kolejki priorytetów. Dodatkowo, przełączniki powinny mieć zaimplementowany mechanizm HoL blocking prevention, pozwalający na normalną obsługę pozostałego ru- Przesyłanie pakietów grupowych multicast Rys. 4 Przykład wyodrębnienia sieci wirtualnych w większej sieci komunikacyjnej chu w przypadku, gdy część portów jest przeciążona. Praca rozgłoszeniowa Wiele aplikacji jest opartych na komunikacji w trybie grupowym multicast lub rozgłoszeniowym broadcast. Dane są tu wysyłane tylko raz, mimo że są przeznaczone dla więcej niż jednego odbiorcy. Pakiety grupowe multicast będą jednak traktowane jak ruch rozgłoszeniowy, tj. wysyłane na każdy port w sieci, jeśli przełączniki nie będą w stanie filtrować ruchu grupowego. Jednym z najpopularniejszych protokołów filtrowania ruchu grupowego jest protokół IGMP. Przełączniki obsługujące ten protokół przechowują zgłoszenia join lub leave wysyłane przez klientów. Filtry grupowe są tworzone w przełącznikach na bazie informacji o porcie z którego takie zgłoszenia nadeszły. Żądania IGMP join/leave są przekazywane do jednego lub więcej serwerów/routerów IGMP, które odpowiadają za dalsze zarządzanie filtrami. Wiele przełączników ma zaimplementowany mechanizm IGMP snooping, który jest niezależny od obecności serwera IGMP w sieci. Jest to bardzo istotna cecha z punktu widzenia niezawodności ponieważ oznacza, że filtrowanie grupowe bęRys. 5 dzie aktywne nawet wtedy, gdy połączenie do serwera IGMP zostanie utracone. Dodatkowo, połączenie do takiego serwera nie zostanie przeciążone ani jego przepustowość nie będzie stanowiła ryzyka powstania zatoru. W przypadku specjalnych implementacji IGMP snooping przełącznik może pełnić rolę serwera IGMP – IGMP Querier. Protokół IGMP filtruje ruch oparty o IP i inny ruch traktowany jako rozgłoszeniowy. Pakiety konfiguracyjne protokołu IGMP odpowiadające za tworzenie filtrów grupowych w sieci są domyślnie przesyłane na wszystkie porty typu trunk przełącznika. Adresowanie grupowe w skrócie można uznać za formę adresowania pośredniego. Co w drugiej części? Podane w artykule informacje to tylko część podstaw bardzo szerokiej tematyki, jaką są protokoły komunikacyjne IP. W drugiej części artykułu omówione zostaną kwestie związane z opóźnieniami pracy, sposobami ich wyznaczania dla różnych konfiguracji sieci, a także kwestiami migracji do różnych innych typów sieci, w tym rozwiązań bezprzewodowych. Artykuł autorstwa Zuzanny Wieczorek, specjalisty z firmy Tekniska Polska. Źródła informacji wykorzystanych w artykule - m.in. dokumenty RFC, Wikipedia, materiały ze stron www.tekniska.pl, www.westermo.com oraz www.garrettcom.com. ma r z e c 2 0 0 9 119