Průmyslový Ethernet II: Referenční model ISO/OSI
František Zezulka, Ondřej Hynčica
Článek je prvním pokračováním seriálu o průmyslovém Ethernetu jako nastupujícím standardu komunikace v automatizaci. Je v něm zopakován referenční model otevřené komunikace ISO/OSI a vztah modelu Ethernet TCP/IP k tomuto referenčnímu modelu. Podrobně jsou probrány vrstvy referenčního modelu důležité k pochopení funkce sítě Ethernet TCP/IP, zejména fyzická vrstva s fyzickými rozhraními, dále spojová vrstva s problematikou přístupu k fyzickému přenosovému médiu, síťová vrstva s vysvětlením problematiky adres v protokolech IPv4 a IPv6 a transportní vrstva s protokolem TCP. Nad tímto základem, tvořícím přenosový systém Ethernet TCP/IP, jsou uvedeny přehled a stručná specifikace protokolů uživatelské vrstvy, které se používají v místních sítích a v internetu, a v závěru článku stručný přehled aplikačních protokolů používaných v průmyslové automatizaci.
1. Úvod
Než dojde na výklad odlišností průmyslových síti typu Ethernet od standardu IEEE 802.3, je vhodné nejprve se vydat na důkladnou exkurzi do tohoto standardu. V této druhé části seriálu o nejrozšířenějším prostředku pro otevřenou sériovou komunikaci v místních sítích (LAN) a jeho cestě k rozšíření v automatizaci je pro ty čtenáře, jimž je tato problematika zatím spíše vzdálena, zopakován referenční model otevřené komunikace OSI normotvorné organizace ISO (RM ISO/OSI) a jeho vztah k modelu Ethernet TCP/IP.
Ethernet TCP/IP je jednak standard v sítích typu LAN, jednak z něj vycházejí všechny současné varianty průmyslového Ethernetu. Vzhledem k tomu, že komunikační model Ethernetu TCP/IP se zobrazuje (mapuje) jen do prvních čtyř vrstev modelu OSI, bude ze sedmi vrstev RM ISO/OSI pozornost věnována fyzické a spojové vrstvě, síťové vrstvě (protokolům IPv4 a IPv6) a transportní vrstvě s protokolem TCP. V souvislosti s vysvětlením metody přístupu k médiu CSMA/CD, která je typická právě pro spojovou vrstvu sítě Ethernet, bude vysvětlena i funkce rozbočovačů (hub) a přepínačů (switch), bez nichž si současné topologie ethernetových sítí nelze představit. Článek vychází především z [1].
2. Referenční model otevřené komunikace – RM ISO/OSI
Vždy, když se hovoří o komunikaci v heterogenním prostředí, přijde odkaz na RM ISO/OSI, tedy na referenční model (RM) otevřené komunikace (OSI – Open Systems Interconnection). Jde o referenční model vypracovaný v začátku 80. let minulého století organizací ISO jako standard ISO 7498 pro propojování heterogenních počítačových systémů. Model stanovuje podmínky, při jejichž dodržení mohou různí účastníci přenosu spolehlivě komunikovat po sériové sběrnici navzájem mezi sebou. Jde o otevřený model, tedy model, který není závislý na žádném firemním řešení. Model je sedmivrstvový, přičemž každá vrstva má jistou, přesně definovanou funkci a služby.
Obr. 1. Výměna dat mezi dvěma účastníky a referenční model ISO/OSI (RM ISO/OSI)
Struktura vlastního RM ISO/OSI je patrná z obr. 1 [1]. Zde je znázorněno, jak se tvoří zpráva, kterou odesílá účastník A účastníkovi B, a zároveň jak účastník B tuto zprávu přijímá. Vlastní přenos se uskutečňuje prostřednictvím fyzického spoje mezi každými dvěma účastníky přenosu (účastníků může být i větší počet). Důležité je, že oba účastníci (peers) přenosu mezi sebou tvoří na každé úrovni modelu virtuální spoje, zatímco k reálnému přenosu dat dochází pouze ve vrstvě 1 (fyzické), která obsahuje mj. rozhraní mezi účastníkem a přenosovým médiem. Virtuální spoj znamená, že účastníci komunikující spolu na úrovni vrstvy 7, tj. např. elektronickou poštou, nemají zdání o funkcích vrstev 1 až 6. Každá vrstva má definovány dvě základní skupiny funkcí. První jsou služby dané vrstvy a druhou funkcí je protokol vrstvy jako soubor pravidel, kterými se komunikace mezi účastníky přenosu řídí (tj. určujících, jak lze zahájit přenos, jak ho provést a jak ho ukončit).
Dosah každé vrstvy modelu je minimalizován na jednu nejblíže vyšší a jednu nejblíže nižší vrstvu vlastní entity (účastníka) a na hierarchicky stejnou vrstvu jiného nebo jiných účastníků přenosu. Každá vrstva poskytuje své služby přes softwarové rozhraní (realizované jako komunikační protokol, tj. soubor pravidel pro komunikaci) vrstvě nejblíže vyšší na základě jejího požadavku na tuto službu (volání funkce), jak je patrné z obr. 2.
Obr. 2. Přenos zpráv mezi vrstvami modelu OSI
Vztah Ethernetu k RM ISO/OSI je ve stručnosti následující.
Metoda označovaná jako Ethernet představuje jen první dvě vrstvy sedmivrstvého RM ISO/OSI. Tyto dvě vrstvy byly standardizovány organizací IEEE na začátku 80. let minulého století jako standard IEEE 802.3. Funkčně odpovídají vrstvám 1 a 2 podle RM ISO/OSI, nicméně spolu s protokoly vyšších vrstev IP (vrstva 3 referenčního modelu) a TCP (vrstva 4), s vynechanými vrstvami 5 a 6 a s vyjádřenou vrstvou 7 s aplikačními protokoly (FTP, Telnet, NFS atd.), tvoří velmi rozšířenou variantu komunikačního modelu otevřené komunikace k RM ISO/OSI v místních sítích a jsou svázány také se sítí Internet [6].
Je zřejmé, že dříve než data, např. vytvořená v internetovém aplikačním programu (textová zpráva, javový applet, obrazová informace apod.), mohou být přenesena prostřednictvím Ethernetu, je třeba je upravit, zabezpečit, zakódovat, modulovat a opatřit adresami. V případě komunikace v místních ethernetových sítích se na tom vedle fyzické vrstvy a protokolu spojové vrstvy (Ethernet) podílejí také protokoly IP (Internet Protocol) a TCP (Transmission Control Protocol). Objevuje se tak model (síť) Ethernet TCP/IP a uvedené tři protokoly se označují jako Ethernet Protocol Suite – soubor protokolů Ethernet [1].
Je třeba si uvědomit, že Ethernet nemusí být nutně svázán jen s protokoly TCP/IP, jak je tomu při kancelářském použití a v internetu. Podobně tyto vyšší protokoly nemusejí fungovat jen spolu s Ethernetem. Na tomto místě seriálu je však nutné zabývat se právě nejobvyklejší softwarovou architekturou sítě Ethernet, tj. tou, kterou definuje Ethernet Protocol Suite.
V souvislosti s RM ISO/OSI je třeba se také zmínit o často používaném termínu protocol stack jako o obecném označení konkrétní softwarové implementace (tj. programového kódu, knihovny) komunikačního protokolu podle vícevrstvého komunikačního modelu ISO/OSI, pro nějž se v češtině ustálil výraz zásobník (protokolu, protokolový).
Přistupme nyní k podrobnějšímu popisu Ethernetu, tj. k jeho fyzické a spojové vrstvě [1]. Jak již bylo uvedeno, Ethernet žádné další vrstvy ani nemá.
3. Fyzická vrstva Ethernetu
Ethernet je logická sběrnice, tzn. že datové pakety (rámce, datagramy, zprávy – viz názvoslovná poznámka v rámečku) jsou směrovány ke všem účastníkům, avšak jednotlivě určeny jen těm, jejichž adresy jsou uvedeny v adresovém poli rámce (tvořeném poli cíl a zdroj – viz obr. 3).
Obr. 3. Formát rámce v síti Ethernet (B – bajty)
Každý jednotlivý datový rámec podle obr. 3 je bit po bitu přenášen fyzickým médiem. Tok bitů začíná startovací posloupností (preambule), která se používá pro synchronizaci vysílací stanice se všemi přijímacími stanicemi. Následuje adresa příjemce, adresa vysílací stanice a pole typu zprávy používané k odlišení protokolů vyšších vrstev. Následuje vlastní pole dat a rámec je zakončen kontrolním součtem (Cyclic Redundancy Check – CRC). Pro pole dat je stanoven minimální počet bitů/bajtů (tzv. minimální délka). Jestliže je předáváno dat méně, než činí tato stanovená minimální délka, je datové pole doplněno na minimální délku výplní (padding). Následuje pauza před následujícím rámcem na Ethernetu. Příjemce kontroluje správnost přenosu rámce vlastním výpočtem kontrolního součtu. Když se vypočítaná hodnota součtu shoduje s hodnotou přijatou v rámci, jsou data předána vrstvě 2 komunikačního protokolu. Je-li detekována chyba, příslušný rámec je vyřazen, a to bez informování vysílače o tom, že nebyl doručen. Adresy vysílací a přijímacích stanic jsou definovány podvrstvou MAC (Medium Access Control) protokolu spojové vrstvy Ethernetu.
4. Spojová vrstva Ethernetu
Protože uvažovaná síť je důsledně heterogenní, tj. využívá se k propojování počítačů, periferií a dalších systémů od různých výrobců, je každé ethernetové rozhraní v zařízení opatřeno unikátní adresou, tzv. MAC ID. Ve standardu IP verze 4 (IPv4) jde o 48bitovou adresu (šest bajtů), uváděnou v hexadecimálním tvaru (např. 00-C0-3D-AA-09-23). První tři bajty určují výrobce (kód výrobce), následující tři udávají vlastní adresu rozhraní (výrobní číslo karty). Spojová vrstva zajišťuje transport dat mezi komunikujícími stanicemi nebo segmenty v mezích jedné sítě Ethernet podle adresy zařízení (MAC).
Druhá – spojová vrstva plní funkci zabezpečení přenosu a definuje přístupovou metodu (podvrstva MAC). V případě Ethernetu jde o náhodnou decentralizovanou metodu založenou na časovém principu CSMA/CD (Carrier Sense Multiple Access/Collision Detection), kdy každý z účastníků připojených k síti má v principu stejné právo použít médium, jestliže ovšem v daném okamžiku již po médiu nevysílá jiný účastník [3], [5]. Aby vysílací stanice mohla zjistit, zda nenastala kolize vyslaného rámce, musí být maximální doba přenosu signálu od vysílací stanice po nejvzdálenější stanici domény a zpět kratší, než je doba potřebná k vyslání rámce nejmenší povolené délky (Round Trip Delay – RTD).
Tab. 1. Přehled běžných protokolů pro Ethernet TCP/IP
Název |
Zkratka |
Charakteristika |
Address Resolution Protocol |
APR |
dynamicky převádí adresy IP na hardwarové adresy (MAC), je postaven na množině předdefinovaných zpráv typu žádost a odpověď(vrstva 3) |
Asynchronous Transfer Mode |
ATM |
spojově orientovaný způsob přenosu používaný především v rozsáhlých sítích (WAN) |
Bootstrap Protocol |
BootP |
umožňuje staticky konfigurovat adresy IP podle adres MAC zařízení (vrstva 5 až 7) |
Dynamic Host Configuration Protocol |
DHCP |
dynamicky přiděluje adresy IP a síťové masky zařízení během jejich spouštění nebo daného časového intervalu |
Domain Name Service |
DNS |
převádí názvy počítačů a domén na odpovídající adresy IP |
Digital Subscriber Line |
DSL |
skupina metod umožňujících přenášet digitální data po telefonních linkách |
Fibre Distributed Data Interface |
FDDI |
standard pro geograficky rozlehlé sítě typu LAN založený na protokolu token ring s využitím techniky zdvojeného kruhu |
(Secure, Trivial) File Transfer Protocol |
FTP, SFTP, TFTP |
běžně používaný k výměnám souborů mezi dvěma počítači (popř. se zabezpečením) |
HyperText Transfer Protocol |
HTTP |
původně určen k publikování stránek v HTML |
Internet Control Message Protocol |
ICMP |
poskytuje informace o statutu jednotlivých účastníků přenosu a posílá chybové zprávy (vrstva 3) |
Internet Group Management Protocol |
IGMP |
používá se k řízení zařízení připojených do skupiny multicast; stanice s IGMP se mohou připojit do skupiny a odpojit se od ní a mohou posílat informace o stavu (vrstva 3) |
Internet Protocol |
IP |
nezabezpečená, nespojovaná služba přenosu datagramů založená na striktně datagramové struktuře (vrstva 3) |
Integrated Services Digital Network |
ISDN |
telefonní síť umožňující digitální přenos dat i hlasu po telefonních linkách |
Neibourgh Discovery Protocol |
NDP |
poskytuje možnost řídit vlastnosti sítě a vztahů založených na IPv6; nahrazuje tak některé protokoly IPv4 jako protokol ARP (3. vrstva) |
Network File System |
NFS |
umožňuje sdílet systémy souborů a přistupovat k nim přes počítačovou síť |
Network Time Protocol |
NTP |
protokol pro přenos časových signálů přes počítačovou síť |
Packet Internet Grouper |
PING |
nástroj ověřující dostupnost určitého uzlu přes síť IP s využitím protokolu ICMP |
Post Office Protocol |
POP |
protokol aplikační vrstvy umožňující klientům elektronické pošty stáhnout zprávy ze vzdáleného serveru prostřednictvím TCP |
Point-to-Point Protocol |
PPP |
protokol spojové vrstvy pro přímé propojení dvou uzlů (často používaný pro vytáčené připojení k internetu) |
Simple Mail Transfer Protocol |
SMTP |
poskytuje služby elektronické pošty |
Simple Network Management Protocol |
SNMP |
zjišťuje stav a konfiguruje parametry prvků sítě |
Secure Shell |
SSH |
síťový protokol pro připojení terminálu zabezpečeným (šifrovaným) spojením |
Transmission Control Protocol |
TCP |
realizuje službu předávání zpráv na základě ustaveného a zabezpečeného spojení (connection-oriented) (4. vrstva ) |
Terminal over Network |
Telnet |
protokol pro práci ze vzdáleného terminálu |
User Datagram Protocol |
UDP |
poskytuje nespojovanou službu předávání datagramů (vrstva 4) |
Ve standardu Ethernetu s přenosovou rychlostí 10 Mb/s je minimální délka rámce 64 bajtů, tj. 512 bitů. Zde tedy musí být zajištěno, že maximální doba přenosu signálu od vysílací stanice nepřekročí polovinu doby potřebné pro přenos 512 bitů. Při rychlosti 10 Mb/s je doba nutná pro přenos jednoho bitu právě 100 ns, takže RTD musí být kratší než 51,2 µs. Aby tedy vysílací stanice mohla rozpoznat případnou kolizi při vysílání rámce, musí jeho první bit dosáhnout konce fyzického segmentu sítě nejpozději za 25,6 µs. Vysílací stanice tudíž po dobu vysílání rámce čeká nejméně 51,2 µs, a pokud nedostane informaci o kolizi, má za to, že rámec nebyl porušen a mohl být potenciálními přijímacími stanicemi přijat. Z této doby (51,2 µs pro rychlost přenosu 10 Mb/s) se vypočítává přípustná délka segmentu (spoje). Ta je pro jednotlivá přenosová média různá v závislosti na rychlosti šíření signálu v daném médiu. Délka spoje, která odpovídá době průchodu ethernetového rámce nejmenší povolené délky, určuje tzv. kolizní doménu. Do celkové doby přenosu je však třeba započítat i zpoždění na přepínačích, což znamená zkrácení kolizní domény vypočítané již zmíněným způsobem. Jestliže však není dodržena délka segmentu rovná délce kolizní domény nebo kratší (a na segmentu se tudíž nacházejí stanice ve vzdálenosti větší než délka kolizní domény), metoda CSMA/CD neodhalí kolizi rámce. Tu mohou odhalit protokoly vyšších vrstev, to však vede k poklesu výkonu sítě. Při používaných větších rychlostech přenosu v síti Ethernet je minimální délka rámce zvětšena tak, aby kolizní doména měla potřebnou funkční velikost.
Růst rychlosti přenosu v síti Ethernet je z velké části způsoben pokrokem v mikroelektronice, vliv na rychlost přenosu však mají i další skutečnosti. Významnou roli mezi nimi má požadavek na přenos v plném duplexním režimu. Ten přišel do Ethernetu s příchodem krouceného páru vodičů jako přenosového média. Současně byla změněna topologie sítě ze sběrnice na topologii strom/hvězda při použití nejprve ethernetových rozbočovačů a později přepínačů.
V ethernetovém kabelu je několik kroucených párů vodičů, a proto není důvod používat jen jeden pár pro poloviční duplex, ale lze využít dva páry pro plný duplex. Jeden kanál se může použít pro vysílání zpráv (Tx), druhý kanál (druhý kroucený pár) pro přijímání zpráv (Rx). Průchodnost spoje se tak může až zdvojnásobit. Zatímco rozbočovač směruje všechny rámce do všech větví hvězdicové topologie, přepínač si všechny rámce ukládá a postupně je směruje (store and forward) jen do toho segmentu sítě, pro který je daný rámec určen. Pravděpodobnost kolize se tím výrazně zmenší a efektivita přenosu výrazně vzrůstá.
Přístupová metoda CSMA/CD je v každém případě sice přirozená a efektivní pro místní kancelářské sítě, avšak nedefinovaný okamžik přístupu k přenosovému médiu je největším omezením determinismu komunikace, a tím i role Ethernetu 802.3 pro komunikaci a řízení v reálném čase. V tomto ohledu mají všichni kritici Ethernetu 802.3 jako varianty průmyslové sběrnice pravdu. Až na to, že průmyslový Ethernet může být a také je navržen tak, aby metodu CSMA/CD využíval jen pro časově nekritické zprávy; pro přenosy v reálném čase se používají jiné metody, které nemají tu slabinu jako metoda CSMA/CD.
5. Síťová vrstva protokolu Ethernet TCP/IP
Síťová vrstva v síti Ethernet TCP/IP je reprezentována protokolem IP, na rozdíl od protokolů spojové vrstvy umožňujícím přenášet data mezi sítěmi Ethernet (dvěma i více). V současnosti se používá protokol IPv4 s adresovacím prostorem 32 bitů [4]. Dané čtyři bajty se využívají pro adresování jak sítě (Net ID), tak koncového zařízení (Host ID). Příslušná adresa, zvaná adresa IP, musí být v tak rozsáhlé síti, jakou je např. internet, jedinečná. Rezervace a přidělování řídí úřad IANA (Internet Assigned Numbers Autority). Adresy IP jsou podle určení rozděleny do tří tříd: třída A pro rozsáhlé sítě, třída B pro organizace typu univerzit a třída C pro ostatní. Dále mohou ještě být použity třídy D a E, určené pro výzkumné a další účely.
Pro dosažení co nejlepší efektivity jsou zmíněné čtyři bajty IP využity v různých třídách různě. Ve třídě A je první bajt využit pro Net ID a zbylé tři bajty pro Host ID, třída B má první dva bajty vyhrazené pro Net ID a následující dva bajty pro Host ID a třída C využívá tři první bajty pro Net ID a poslední bajt pro Host ID.
Obr. 4. Struktura datagramu protokolu IPv4 [4]
Některé adresové prostory i adresy jsou využity pro speciální účely. Například nejvyšší adresy v síti třídy C jsou rezervovány jako adresa příjemce indikující všesměrově vysílané zprávy (broadcast, např. v síti třídy C s Net ID 131.32.140 je pro broadcast využita adresa IP 131.32.140.255). Pro skupinové (multicast) zprávy je využit adresový prostor od 224.0.0.0 až po 239.255.255.255. Struktura datového datagramu protokolu IPv4 je na obr. 4.
Protože adresovací prostor protokolu IPv4 přestává být pro rozsáhlou a stále se zvětšující síť Internet dostačující, byl v roce 1998 standardizován protokol IPv6, který postupně nahrazuje dosavadní IPv4.
Protokol IPv6 má větší adresovací prostor než IPv4, a to celých 128 bitů. Na rozdíl od IPv4 pokryje IPv6 adresovací potřeby sítě Internet na velmi dlouhou dobu. Upravena byla také hlavička datagramu, která je zjednodušena a přizpůsobena potřebám modularity a flexibility, aby ji bylo možné podle potřeby rozšiřovat. Dále je zavedena možnost přiřadit zprávám prioritu a také nové dvacetibitové pole, tzv. značka toku (flow label), které spolu s adresami zdroje a příjemce dat může být využito k jednoznačné identifikaci toku dat. V případě IPv4 byl datový tok identifikován pěticí bitových polí reprezentujících adresu zdroje, adresu příjemce, zdrojový port, cílový port a protokol transportní vrstvy (např. UDP nebo TCP). Při použití IPv6 mohou směrovače (router) rychleji směrovat pakety, neboť nemusejí analyzovat celou hlavičku.
Dále je v IPv6, podobně jako v rozšířené verzi IPv4, zaveden také bezpečnostní mechanismus. Ve zkratce to znamená, že obsah paketů může být na ochranu před nežádoucím čtením zašifrován a že ve vrstvě 3 modelu OSI lze autentizovat přijímací i vysílací stanice a obsah paketu.
Obr. 5. Struktura datagramu protokolu IPv6 [4] Obr. 6. Struktura paketu protokolu TCP [4]
Změněna byla také klasifikace sítí. Způsob adresování zpráv je přizpůsoben jejich klasifikaci na zprávy typu multicast, anycast a unicast. Adresování typu broadcast se v IPv6 nepoužívá, protože je implementováno do zpráv typu multicast (viz názvoslovná poznámka v rámečku).
Struktura datagramu protokolu IPv6 je znázorněna na obr. 5.
6. Transportní vrstva
Transportní vrstva využívá služby síťové vrstvy a realizuje spojení pro uživatelské počítačové programy. Těchto programů může být i několik, takže mezi dvěma stanicemi (počítači apod.) může být současně navázáno několik různých spojení. V transportní vrstvě je zaveden např. protokol TCP (Transmission Control Protocol), který podporuje spojovanou službu a je sestaven tak, aby umožňoval zabezpečený (error free) přenos větších objemů dat. Bezchybný příjem dat je kontrolován vysílací stanicí pomocí potvrzování aktivovaného přijímací stanicí. Není-li přijetí paketu potvrzeno do určité doby, vysílač pošle předmětný paket opakovaně. Tak lze chybu nejen detekovat, ale i odstranit.
Uvedený algoritmus (označovaný jako Nagelův) umožňuje také přizpůsobit rychlosti vysílače a přijímače prostřednictvím mechanismu upravujícího délku vysílacího „okna“. Zařízení může současně ustavit několik spojení s druhými stanicemi. Protokolem TCP rovněž řídí navazování spojení. Po dobu trvání spojení mezi dvěma aplikačními programy TCP vytváří obousměrný duplexní virtuální přenosový kanál. Struktura paketu protokolu TCP je znázorněna na obr. 6.
Způsob, jakým TCP navazuje a ukončuje spojení, je znázorněn na obr. 7. Postup při navazování spojení je následující [1]:
Zařízení, které spojení s použitím protokolu TCP (spojení TCP) inicializuje (klient), pošle zprávu SYN k zamýšlenému komunikačnímu partnerovi (serveru). Tato zpráva indikuje úmysl ustavit spojení TCP. Současně zařízení posílá číslo portu serveru, na které bude klient posléze připojen, a číslo sekvence (Initial Sequence Number – ISN) spojení.
Server odpoví na akci klienta svou vlastní zprávou SYN s vlastní ISN a současně pošle potvrzovací zprávu (ACK) s ISN klienta zvětšeným o 1.
Klient odpoví na SYN serveru potvrzovací zprávou s ISN serveru zvětšeným o 1.
Obr. 7. Způsob (a) navázání a (b) ukončení spojení s protokolem TCP (SYN – synchronize: žádost o synchronizaci čísel sekvence; ACK – acknowledgment: potvrzení příjmu předchozí zprávy; FIN – final: ukončení vysílání, vysílač v rámci daného spojení již nebude odesílat další data)
Po uvedené trojnásobné výměně potvrzení spojení (handshake) si obě stanice – klient a server – mohou začít vyměňovat data, přičemž každá zpráva je potvrzována (ACK). Spojení se ukončuje opět trojnásobným „handshake“ posíláním zprávy o ukončení spojení (FIN).
Dojde-li k přerušení komunikace, vrstva TCP o tom uvědomí příslušnou vyšší vrstvu komunikačního modelu.
Porty, jejichž čísla jsou integrována do zpráv, fungují jako rozhraní k aplikačním programům (úlohám). Pro některé úlohy jsou rezervovány určité porty (tzv. well-known ports – např. port 80 je rezervován pro HTTP). Pokud port pro navazované spojení není rezervován, port se rezervuje při navazování spojení.
Kombinace adresy IP zařízení a čísla portu, která se nazývá socket, reprezentuje globálně unikátní koncový bod pro komunikaci.
Obr. 8. Protokoly nejčastěji používané v rámci modelu OSI (viz text)
Funkci vrstvy 4 v RM ISO/OSI může realizovat také protokol UDP (User Datagram Protocol). Ten však je, na rozdíl od TCP, jednosměrný, což znamená, že vysílající stanice nedostává od přijímající stanice žádnou zpětnou informaci o korektnosti nebo ztrátě přenášených dat. Přenos prostřednictvím UDP je rychlejší a protokol je kratší než TCP, neumožňuje však zjistit chybu při přenosu. Detekce chyby při spojení zde musí být řešena v aplikační vrstvě, která je adresována přes porty podobně jako u TCP. Protokol UDP se používá tehdy, kdy je důležitější získat data z procesu v reálném čase než využít sice zabezpečený, ale pomalý přenos kompletním protokolem TCP. Tedy UDP je vhodný protokol pro cyklický a rychlý přenos dat.
7. Aplikační vrstva
Aplikační vrstva tvoří rozhraní komunikačního a uživatelského procesu. Proto proto koly vrstvy 7 v síti Ethernet TCP/IP podporují obecné potřeby otevřené komunikace běžné v oboru informatiky (IT). Zatímco skupina protokolů TCP/IP zajišťuje navázání, udržení a zabezpečení komunikace mezi účastníky, protokoly aplikační vrstvy 7 umožňují všem účastníkům navzájem si rozumět. K tomu je opět nutné použít jednotná pravidla, podle nichž se jednotlivé zprávy od komunikujících účastníků vytvářejí, tedy příslušné protokoly aplikační vrstvy (aplikační protokoly). Na obr. 8 je přehled protokolů nejčastěji používaných v síti Ethernet TCP/IP pro účely internetu a IT obecně, včetně běžných aplikačních protokolů. V následujícím textu je přiblíženo několik běžných aplikačních protokolů známých z IT.
Zjistit adresu IP zařízení na základě adresy MAC umožňují např. aplikační protokoly BootP (Bootstrap Protocol) nebo DHCP (Dynamic Host Configuration Protocol). V obou případech je v síti vyhrazen počítač, který pracuje jako server vyřizující převod adres MAC zařízení na adresy IP. Server BootP přiřazuje adresy IP na základě fixní tabulky adres, DHCP dovoluje přidělovat adresy dynamicky. Pro převod adres srozumitelných lidem, tedy jmen v textové podobě (např. www.vutbr.cz), na adresy IP je určen protokol DNS (Domain Name Service), který na principu stromové struktury databází vyhledává odpovídající adresy.
Pro správu zařízení v síti jsou potřebné protokoly jako SNMP (Simple Network Management Protocol), což je asynchronní protokol umožňující číst a zapisovat data poskytovaná zařízeními.
Dále se běžně používají protokoly poskytující možnost realizovat terminálové připojení ke vzdálenému systému, jako je Telnet (Terminal Over Network) nebo SSH (Secure Shell).
Obr. 9. Úplný referenční model Ethernet TCP/IP pro oblast IT s internetovými a intranetovými protokoly důležitými pro průmyslovou komunikaci (zkratky podle tab. 1)
Pro přenos dat mezi systémy se používají aplikační protokoly jako FTP (File Transfer Protocol) nebo jeho zabezpečená varianta SFTP (Secure FTP).
Mezi nejznámější patří HTTP (HyperText Transfer Protocol) pro přenos webových stránek nebo SMTP (Simple Mail Transfer Protocol), poskytující služby elektronické pošty.
Množství aplikačních protokolů nad Ethernet TCP/IP je díky internetu obrovské. Přitom vznikají stále nové protokoly, ať již zcela, nebo jako náhrada dosavadních. Dosud uvedené protokoly představují jen naprostý základ. Pro získání alespoň rámcového přehledu je v tab. 1 uveden seznam názvů a zkratek běžných protokolů pro Ethernet TCP/IP, vždy s krátkou charakteristikou, a to včetně aplikačních protokolů používaných v IT.
Dále je na obr. 9 ukázán úplný referenční model Ethernet TCP/IP pro oblast IT, včetně internetových a intranetových protokolů, které jsou důležité i pro průmyslovou komunikaci vzhledem k tomu, že téměř všechny varianty průmyslového Ethernetu ve větší či menší míře umožňují komunikaci v síti Internet.
Názvosloví: paket, rámec, datagram, zpráva |
Výrazy paket, rámec, datagram a zpráva jsou často používány jako synonyma, přičemž nejobecněji lze používat označení paket. Nicméně přesněji se používají k označení různých logických bloků předávaných dat v různých vrstvách referenčního modelu ISO/OSI, a to následovně. |
Paket (packet)
Formátovaný blok dat předávaný po komunikační síti. V modelu ISO/OSI patří k přenosům na úrovni transportní vrstvy. Paket se skládá z řídicích dat (hlavička a zakončení) a volitelně uživatelských dat. |
Rámec (frame)
Blok dat posílaný po přenosovém médiu na úrovni spojové vrstvy. |
Datagram
Obecně označení paketu, který není posílán zabezpečeným spojením (tedy je odeslán bez předchozího navázání spojení nebo potvrzení o příjmu). Zpravidla je spojován se síťovou vrstvou, popř. s transportní vrstvou u nespojovaných služeb. Datagramy IP tvoří základní datové bloky internetu. Jeden datagram může být rozdělen a odeslán po částech. Tomuto mechanismu se říká fragmentace a používá se pro úpravu počtu bitů/bajtů (délky) odeslaných dat tak, aby odpovídala maximální délce pro daný typ spojení. |
Zpráva (message)
Data na úrovni aplikační vrstvy. |
Zatímco aplikační protokoly pro účely IT jsou v celé své šíři jednotně používány abonenty sítě Internet i dalších sítí typu LAN, a umožňují tak tvorbu homogenních komunikačních struktur, existující aplikační protokoly pro automatizaci nad systémem Ethernet TCP/IP jsou vzájemně nekompatibilní. Například organizace ODVA zavedla pro komunikaci po Ethernetu aplikační protokol Ethernet/IP, organizace IDA Group používá modifikaci aplikačního protokolu Modbus pod názvem Modbus/TCP, organizace uživatelů sítě Profibus (PNO) využívá protokoly skupiny Profinet apod. O těchto aplikačních protokolech nad systémem Ethernet TCP/IP pro automatizaci budou pojednávat další díly seriálu.
8. Závěr
Druhý díl seriálu článků o průmyslovém Ethernetu byl věnován referenčnímu modelu otevřené komunikace ISO/OSI, který před více než dvaceti lety definovala organizace ISO. Bylo ukázáno na souvislost tohoto referenčního modelu s komunikačním modelem Ethernet TCP/IP a vysvětleny funkce a protokoly jednotlivých vrstev, do kterých se uvedený model Ethernet TCP/IP zobrazuje. Článek poskytuje základní informace o fyzické, spojové, síťové a transportní vrstvě. V závěru je uveden přehled aplikačních protokolů nad standardem Ethernet TCP/IP pro IT a jsou nastíněny obtíže související se současnou nekompatibilitou již používaných aplikačních protokolů pro automatizaci.
Názvosloví: vysílání (zprávy) typu unicast, anycast, multicast a broadcast |
unicast |
zpráva jedinému příjemci (unikátní); jde o zprávy navržené pro směrovací algoritmus založený na porovnávání co možná nejdelších adres |
anycast |
zpráva určená k doručení většímu počtu přijímacích stanic (výběrová); přijímají
ji jen stanice nacházející se blízko vysílací stanice |
multicast |
zpráva určená většímu počtu příjemců (skupinová); přijímají ji i vzdálené stanice |
broadcast |
zpráva určená všem stanicím na síti (všesměrová) |
Literatura:
[1] LÜDER, A. – LORENTZ, K.: IAONA Handbook – Industrial Ethernet. 2nd edition, IAONA, April 2005.
[2] COOKSLEY, M.: SNMP – Einsatz eines Netzwerk – Management. SPS Magazin, Ausgabe 12+1/2002.
[3] MARSHALL, P. S.: Industrial Ethernet. ISA, USA, 2002, ISBN 1-55617-774-7.
[4] KABELOVÁ, A. – DOSTÁLEK, L.: Velký průvodce protokoly TCP/IP a systémem DNS. 3. vydání. Computer Press, Brno, 2002, ISBN: 80-7226-675-6.
[5] BAUMANN, G.: Ethernet: Grundlagen – Technologie. SPS Magazin, Ausgabe 8/2002.
[6] ZEZULKA, F. – HYNČICA, O.: Průmyslový Ethernet I: Historický úvod. Automa, 2007, roč. 13, č. 1, s. 41–43.
prof. Ing. František Zezulka, CSc.
(zezulka@feec.vutbr.cz),
Ing. Ondřej Hynčica
(xhynci00@stud.feec.vutbr.cz),
UAMT FEKT VUT v Brně
|