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