Dintre tehnicile de transmisie (rutare) a datelor: anycast, unicast, broadcast, multicast şi geocast, în aplicaţiile de monitorizare şi control de la distanţă, transmiterea unui mesaj sau a unei informaţii către un grup destinatar, simultan către toţi membrii acestuia, se poate realiza utilizând tehnica multicast, ţinând cont şi de necesitatea implementării unei selectivităţi a receptorilor din cadrul întregii reţele. Deoarece entităţile din grupul multicast sunt conectate într-o reţea IP, discuţia se va axa pe conceptul multicast prin UDP. Se vor trece în revistă avantajele şi dezavantajele implementării acestuia, subliniindu-se şi rolul important pe care îl au echipamentele cu care dorim să realizăm această implementare (switch-uri, routere, servere pentru dispozitive seriale). De asemenea, va fi prezentat un exemplu în care va fi ilustrată atât implementarea multicast prin UDP, cât şi utilizarea serverelor pentru dispozitive seriale industriale în acest tip de aplicaţii, cu o descriere în prealabil a clasei de echipamente utilizate.
Conceptul UDP Multicast
În transmisiile de date, multicast reprezintă o tehnică de transmitere a unui mesaj sau a unei informaţii către un grup destinatar, simultan către toţi membrii acestuia, într-o singură transmisie sau, unde topologia reţelei impune acest lucru, prin crearea unor copii către alte elemente din reţea (routere, switch-uri cu management etc.) [1]. Alternativele acestui tip de transmisie sunt: anycast, unicast şi broadcast, unde transmiterea unui mesaj de la o singură sursă se poate realiza la cel mai apropiat nod cu potenţiali receptori (anycast), către un singur destinatar (unicast) sau către toţi membrii unei subreţele (broadcast). O formă particulară a tehnicii multicast este geocast, ce presupune transmiterea informaţiei către un grup destinatar din cadrul unei reţele definită prin localizarea ei geografică. Necesitatea utilizării tehnicii multicast rezultă din gama foarte variată de servicii pe care reţelele locale sau Internetul o pot oferi utilizatorilor. Transmisia unor imagini video, a unor semnale de control sau a unor înregistrări de date rezultate în urma monitorizării proceselor industriale, în contextul necesităţii implementării unei selectivităţi a receptorilor, se poate realiza utilizând tehnica multicast.
De asemenea, trebuie menţionat faptul că, în cadrul utilizării protocolului IPv6, multicast are un rol foarte important întrucât tehnica broadcast nu mai este implementată [2].
Multicast prin IP este aşadar o tehnică de comunicaţie de tip one-to-many (unul-către-mulţi) care acoperă o infrastructură IP (Internet Protocol) în cadrul unei reţele. Un avantaj semnificativ, sesizabil în cazul extinderii reţelei, este posibilitatea implementării acestei tehnici pentru mărirea numărului de receptoare fără a fi necesară o cunoaştere în prealabil a tipului şi a numărului de utilizatori. Întrucât sursa trimite un pachet de date o singură dată, chiar dacă numărul de receptori implicaţi este considerabil, rezultă şi o utilizare eficientă a infrastructurii reţelei.
Pentru a realiza adresarea de tip multicast, cel mai utilizat protocol, situat la nivelul Transport (în modelul OSI), este Protocolul Datagramelor Utilizator (User Datagram Protocol – UDP). Conceput în anul 1980 de către David P. Reed, ulterior definit în RFC768, UDP este utilizat în aplicaţiile în care se transmit mesaje (datagrame) în cadrul unei reţele IP, fără a necesita realizarea în prealabil a unei comunicaţii în scopul configurării speciale a canalelor de transmisie sau a unor alte căi de date. Deşi are unele dezavantaje, cum ar fi faptul că verificarea şi corectarea nu este considerată a fi necesară sau efectuată la nivel de aplicaţie, UDP are avantajul utilizării în aplicaţiile de timp real sau în aplicaţii unde un sistem de corecţie al erorilor ar mări timpul de transmisie. În cazul în care corectarea erorilor este absolut necesară, atunci se poate utiliza Protocolul de Control al Transmisiei (Transmission Control Protocol – TCP). Spre deosebire de TCP, UDP este compatibil cu multicasting. Dintre aplicaţiile din cadrul reţelelor ce utilizează UDP, menţionăm Sistemul de Nume de Domenii (Domain Name System – DNS), Protocolul de Configurare Dinamică a Gazdelor (Dynamic Host Configuration Protocol – DHCP) sau Voce prin IP (Voice over IP – VoIP).
În configurarea unei gazde drept receptor multicast prin Internet, cel mai important rol îl au routerele – echipamente ce aparţin reţelei locale în cadrul căreia este instalată gazda. În acest caz, este necesară implementarea unui protocol de routare multicast, ce permite construcţia unor arbori de livrare, de asemenea multicast, ce suportă transmisia de pachete de date de la o sursă la mai mulţi utilizatori. În plus, fiecare router trebuie să implementeze un protocol de apartenenţă la grup, lucru ce îi permite să descopere membrii grupului din cadrul subreţelelor direct ataşate la acesta.
Schimbul de informaţii dintre gazde şi routere privind apartenenţa la grupul multicast este realizat prin intermediul IGMP (Protocolul de Gestionare a Grupurilor pe Internet – Internet Group Management Protocol). IGMP este un standard IEEE ce are rolul de a superviza transmiterea de date dintre o gazdă şi un router sau un switch de nivel 3 – un switch cu posibilitatea de oferi funcţii suplimentare la nivele superioare în modelul OSI [3]. În principal, diferenţa între cele două tipuri de echipamente se regăseşte la nivel fizic, respectiv la gestionarea activităţii nu de către un microprocesor, ci de către un circuit integrat special dedicat aplicaţiei (ASIC – Application-Specific Integrated Circuit).
Dintre switch-urile cu management de nivel 2, conform modelului OSI, ce suportă funcţia de căutare IGMP (IGMP snooping), tehnologie de proprietate MOXA, conform IGMP v.1/v.2 şi, în curând, v.3, se menţionează seriile: EDS-728, EDS-510A, EDS-518A, EDS-516A şi EDS-505A/508A.
De asemenea, sunt propuse şi două serii de switch-uri de nivel 3, precum PT-7828 şi EDS-828. Pentru mai multe detalii consultaţi site-ul Web al firmei IMPERIAL ELECTRIC, unic distribuitor MOXA în România: www.imperialelectric.ro, secţiunea Hardware Industrial.
Implementarea conceptului UDP multicast în aplicaţii cu servere industriale pentru dispozitive seriale
Echipamentele din seria NPort IA5150A/IA5250A sunt servere industriale pentru dispozitive seriale ce pot fi utilizate cu succes pentru conectarea la reţele Ethernet a echipamentelor ce comunică prin serialele tradiţionale RS-232/422/485. În principiu, numim server pentru dispozitive seriale (Serial Device Server) un mini-computer echipat cu procesor, sistem de operare în timp real şi protocoale TCP/IP, acestea conferindu-i posibilitatea de a converti bidirecţional date din formatul serial în cel Ethernet. Cu ajutorul acestora putem accesa, gestiona şi configura de oriunde din lume, prin intermediul Internetului, echipamentele şi instalaţiile ce sunt prevăzute cu interfeţe seriale de comunicaţie.
Sistemele tradiţionale SCADA se bazează pe porturi seriale (RS-232/422/485) pentru a asigura controlul diverselor echipamente şi pentru a colecta datele provenite de la diverse instrumente. Cu ajutorul serverelor pentru dispozitive seriale din seria Nport IA5000A, sistemele de tip SCADA pot accesa echipamentele seriale prin intermediul unei reţele TCP/IP, indiferent dacă dispozitivul este amplasat local sau la distanţă. În măsura în care calculatorul gazdă suportă protocolul TCP/IP (universal valabil pentru calculatoarele moderne), echipamentele din seria NPort IA5000A se pot utiliza pentru a extinde numărul de porturi seriale, fără a se mai pune problema numărului limitat de magistrale disponibile (de exemplu ISA sau PCI), ori a diverselor incompatibilităţi ce pot apărea între drivere şi sistemul de operare. Tot în această ordine de idei, driverele Real COM/TTY, compatibile cu Windows, respectiv Linux, asigură transmisia intactă a semnalelor seriale. Avantajul imediat este posibilitatea de a utiliza software-ul deja existent, fără a necesita modificări sau alte investiţii.
În funcţie de modurile de utilizare ale soclului (socket), avem următoarele moduri principale de operare: Server TCP, Client TCP şi Server/Client UDP. După cum a fost precizat, modul UDP asigură transmisia unicast sau multicast, către o singură adresă IP sau către grupuri de adrese IP.
Aplicaţie: conversie serială/Ethernet şi transmisie UDP multicast prin intermediul serverelor seriale industriale de la MOXA.
Se doreşte transmiterea datelor de la un PLC sau de la un PAC (Programmable Automation Controller) către o reţea de calculatoare. PLC-ul va comunica utilizând interfaţa serială (RS-232/422/485), astfel încât recepţionarea datelor se va realiza doar de către anumiţi membrii ai reţelei. Primul obstacol ce trebuie eliminat este conversia semnalelor de la RS-232/422/485 la Ethernet, MOXA oferind o gamă largă de servere pentru dispozitive seriale, ce realizează cu succes această conversie.
Totodată, pentru a implementa funcţia de multicast, soluţia optimă, atât avantajoasă economic, cât şi uşor şi rapid de pus în practică, este utilizarea serverelor industriale pentru dispozitive seriale din seria NPort IA5000A, echipamente ce oferă suport pentru IGMP versiunea 2.
În aplicaţia prezentată, soluţia de transmisie a datelor către destinaţii multiple şi selective, utilizând tehnica UDP multicast, este completată de un switch industrial cu management, ce oferă şi suport pentru IGMP v.2.
În cadrul reţelei ilustrate în Figura 3, remarcăm aşadar prezenţa a două grupuri IGMP. Un grup este reprezentat prin IP-ul 224.1.1.1 (Grupul 1), celălalt fiind reprezentat de către IP-ul 239.1.1.1 (Grupul 2). Dacă setăm IP-ul UDP pe echipamentul NPort drept 224.1.1.1, la primirea datelor pe linia serială, NPort-ul IA5150 (conform Figura 3) va realiza conversia în semnale Ethernet, iar prin intermediul switch-ului cu management din seria EDS-516A, datele vor fi trimise către Grupul 1. Configurarea modului de lucru se face facil, fie prin utilizarea consolei Web, fie prin intermediul utilitarului NPort Administrator, ilustrat în Figura 4. După selectarea modului de operare UDP, este necesară introducerea adresei IP de început şi de sfârşit, corespunzătoare grupului sau grupurilor multicast cu care se doreşte stabilirea comunicaţiei. Conform Autorităţii de Desemnare a Numerelor Internet (Internet Assigned Numbers Authority – IANA), adresele IP UDP sunt adrese de clasă D – cuprinse între 224.0.0.0 şi 239.255.255.255.
Beneficiind de protecţii la supratensiuni tranzitorii conform standardului IEC 61000-4-5 [4], de nivel 2 (1kV), pentru liniile de comunicaţie (seriale şi Ethernet) şi de nivel 3 (2kV), pentru linia de alimentare, serverele pentru dispozitive seriale din seria NPort IA5000A, sunt o soluţie ideală pentru implementarea unei conversii Ethernet/RS-232/422/485 sau pentru realizarea unei scheme de transmisie de date complexe cum ar fi multicast prin UDP sau gruparea porturilor COM.
Ing. Sergiu-Cristian COSMESCU
IMPERIAL ELECTRIC S.A.
Referinţe:
[1] Daniel Minoli, IP Multicast with Applications to IPTV and Mobile DVB-H, Wiley-IEEE Press, Apr. 2008;
[2] R. Hinden, S. Deering, RFC4291 – IP Version 6 Addressing Architecture, Febr. 2006;
[3] Ray Hsu, Optimizing Subnet Interconnections with Industrial Layer 3 Switches, Moxa White Paper, Mai 2008;
[4] Jasmine Lin, How to Prevent Power Surges: The Leading Cause of Serial Device Server Failures, Moxa White Paper, 2009.