RIM 2009 Template

13
8 th International Scientific Conference on Production Engineering DEVELOPMENT AND MODERNIZATION OF PRODUCTION TCP AND UDP FOR REAL-TIME CONTROL Edin Mujčić, Alma Osmanović Faculty of technical engineering Bihać, [email protected] , [email protected] Keywords: Time delay, TCP, UDP, Real-time control, Matlab@simulink ABSTRACT: Currently computers that are networked use either the Transport Control Protocol (TCP/IP) or the User Datagram Protocol (UDP) for most aplications. With TCP/IP there is no data loss, it provides a point to point channel for applications that require reliable communication. This protocol is confirmation based, meaning it transmits data and waits for confirmation from other side, if not, it retransmits. TCP is a reliable, connection-oriented protocol that uses Internet Protocol to provide byte stream service to the end users. Apart from providing connection oriented service one of the important functions TCP perform is flow and congestion control. UDP protocol provides communication that is not guaranteed between two application on the network, and this protocol is not confirmation based. In UDP based connections data is packed into packets called datagrams, adresses and then transmitted, it is like sending letter through mail, the order of arival is not guaranteed. If consider TCP and UDP for real-time control, then our choice would be UDP. This is because a consistent sample rate with lower fluctuations can be maintained with UDP, which makes it more attractive for digital control applications. 1. INTRODUCTION (10 pt, Bold) Edited by: I.Karabegovic, V. Dolecek, M. Jurkovic 1 University of Bihac, Faculty of Technical Engineering

Transcript of RIM 2009 Template

Page 1: RIM 2009 Template

8th International Scientific Conference on Production EngineeringDEVELOPMENT AND MODERNIZATION OF PRODUCTION

TCP AND UDP FOR REAL-TIME CONTROL

Edin Mujčić, Alma OsmanovićFaculty of technical engineering Bihać, [email protected], [email protected]

Keywords: Time delay, TCP, UDP, Real-time control, Matlab@simulink

ABSTRACT:

Currently computers that are networked use either the Transport Control Protocol (TCP/IP) or the User Datagram Protocol (UDP) for most aplications. With TCP/IP there is no data loss, it provides a point to point channel for applications that require reliable communication. This protocol is confirmation based, meaning it transmits data and waits for confirmation from other side, if not, it retransmits. TCP is a reliable, connection-oriented protocol that uses Internet Protocol to provide byte stream service to the end users. Apart from providing connection oriented service one of the important functions TCP perform is flow and congestion control. UDP protocol provides communication that is not guaranteed between two application on the network, and this protocol is not confirmation based. In UDP based connections data is packed into packets called datagrams, adresses and then transmitted, it is like sending letter through mail, the order of arival is not guaranteed. If consider TCP and UDP for real-time control, then our choice would be UDP. This is because a consistent sample rate with lower fluctuations can be maintained with UDP, which makes it more attractive for digital control applications.

1. INTRODUCTION (10 pt, Bold)

The chapter titles have to be written with capital letters font 10 pt. bold. The chapters are numbered as above shown. The chapter text has to be written by Times New Roman font, 9 pt. The distance between text and title is one line of 9 pt font.

2. TCP/IP

TCP/IP(Transmission Control Protocol/Internet Protocol) je protokol za upravljanje prijenosom koji je namjenski projektovan da obezbjedi pouzdan tok bajtova s kraja na kraj "veze" kroz nepouzdanu kombinovanu mrežu. Kombinovana mreža se razlikuje od jedinstvene mreže utoliko što njeni različiti dijelovi mogu imati drastično različite topologije, propusne opsege, kašnjenja, veličine paketa i druge parametre. Za TCP se kaže da je konekcioni protokol jer prije nego aplikacije procesa počnu da šalju podatke jedne drugima, dva procesa se prvo moraju "rukovati", tj. moraju poslati preliminarne segmente jedni drugima da utvrde parametre narednog prenosa podataka. Nakon uspostavljanja veze, slijedi slanje podataka. Klijent proces šalje niz podataka kroz soket. Nakon što podaci prođu kroz

Edited by: I.Karabegovic, V. Dolecek, M. Jurkovic 1University of Bihac, Faculty of Technical Engineering

Page 2: RIM 2009 Template

Edin Mujčić, Alma Osmanović

socket, sa njima uprvlja TCP koji se izvodi na klijent procesu. Dalje TCP usmjerava ove podatke prema spremniku za slanje, to je jedan od spremnika koji je uspostavljen za vrijeme triple handshake- a (slika 1).

Slika 1. TCP three-way handshake: razmjena segmenata

Nakon uspostavljanja veze, vrši se razmjena paketa između klijenta i servera. Ovakav rad sa prozorima u protokolu TCP nije direktno vezan s potvrđivanjem, što je uglavnom slučaj u protokolima sloja veze podataka. Pretpostavimo, npr. da primalac ima spremnik veličine 4096 bajtova kao na slici 2. Ako mu pošiljalac uputi segment veličine 2048 bajtova i ovaj bude ispravno primljen, primalac će ga potvrditi. Međutim, pošto u baferu sada ima slobodnih samo 2048 bajtova, on će objaviti prozor veličine 2048 bajtova koji počinje sljedećim očekivanim bajtom.Sada pošiljalac upućuje drugih 2048 bajtova, koji se potvrđuju, ali se oglašava prozor veličine 0. Slanje se mora prekinuti dok aplikacija na računaru primaoca ne preuzme nešto podataka iz bafera i TCP jedinica ne oglasi veći prozor. Na slici 2 SEQ označava redni broj segmenta, a WIN veličinu prozora u ovom slučaju. Ulazni podaci se podijele na segmente, i svaki segment dobije svoj redni broj. Svaki od segmenata koji dolaze od hosta imaju Redni broj podataka koji pristižu od klijenta do servera. Broj potvrde koji server stavlja u svoje segmente je Redni broj idućeg bajta koji server očekuje od klijenta. S obzirom da TCP potvrđuje samo bajtove do prvog bajta koji nije primljen, za TCP se kaže da obezbjeđuje kumulativnu potvrdu, a njena predost je da svi paketi sigurno stižu od pošiljaoca do primaoca, a mana je da se poremeti redoslijed slanja podataka kod real-time aplikacija.

RIM 20112

Page 3: RIM 2009 Template

Edin Mujčić, Alma Osmanović

Slika 2. Rad s prozorom u protokolu TCP

3. UDP

UDP (User Datagram Protocol) ili takozvani protokol za korisničke datagrame omogućava aplikacijama da šalju kapsulirane IP datagrame za koje ne moraju prethodno da uspostavljaju vezu. UDP prenosisegmente koji se sastoje od osmobitnog zaglavlja i korisničkih podataka. Zaglavlja UDP protokola (slika 3) sadrži po jedan port na računaru koji šalje i računaru koji prima podatke.

Slika 3. Zaglavlje UDP paketa

Dužina UDP paketa obuhvata osmobitno zaglavlje i podatke. Ukupna dužina ovog polja je 16 bita. Ovo zaglavlje sadrži još i kontrolnu sumu čija je dužina također 16 bita, a obezbeđuje kontrolu integriteta paketa, tj. Da li je paket oštećen ili ne u toku prijenosa. Polje podaci može biti promjenjive dužine u zavisnosti od podataka koji se šalju preko UDP protokola.

RIM 2011 3

Page 4: RIM 2009 Template

Edin Mujčić, Alma Osmanović

Prilikom uspostave veze između dva hosta ne mora se ostvarivati sesija kao kod TCP protokola. Aplikacija na hostu sa kojeg se šalju podaci zna broj porta aplikacije sa kojom se ostvaruju komunikacija sa hostom koji prima podatke.

Slika 4. UDP zaglavlje enkapsulirano u dio sa podacima IP paketa [2]

Na slici 2 je prikazan enkapsuliran UDP datagram u okviru IP datagrama. Kad IP datagram stigne na odredište IP zaglavlja se uklanja i ostavlja originalni UDP paket, a odredišni broj porta se određuje iz UDP zaglavlja i UDP prenosi podatke na određeni broj porta. UDP ne vrši provjeru da li je neki podatak stigao na odredišnu adresu ili ne, i ne vrši ponovno slanje podatka koji je izgubljen ili oštećen u toku prijenosa preko mreže.

3. UPOTREBA TCP/IP ZA REAL-TIME PRIJENOS PODATAKA

Real-time aplikacije zahtjevaju blagovremene i tačne informacije tj. prilikom slanja podaci moraju blagovremeno i po istom redoslijedu stići na odredište. TCP sadrži tačka po tačka kanal za aplikacije koje zahtjevaju pouzdanu komnikaciju. TCP/IP se bazira na potvrdi, slanje podataka i čekanje za potvrdu prijema podatka. U slučaju kada je podatak izgubljen, vrši se ponovno slanje istog podatka. Iz tog razloga dolazi do mijenjanja redoslijeda prijema podataka u odnosu na reoslijed poslanih podataka. Na slici 5. je prikazano kašnjenje signala i ulazno/izlazni signali kada se koristi TCP protokol za prijenos podataka.

Slika 5. Vrijeme kašnjenja i ulazno/izlazni signali pri prijenosu signala sa TCP protokolom

RIM 20114

Page 5: RIM 2009 Template

Edin Mujčić, Alma Osmanović

Sa slike 5. vidimo da je promijenjen redoslijed prijema signala u odnosu na redoslijed slanja signala, što je dovelo do deformacije ulaznog signala, tj od ulaznog sinusnog signala dobili smo potpuno izobličen signal koji nije moguće ponovo rekonstruisati u ulazni signal. Na osnovu ovog možemo zaključiti da TCP/IP protokol nije pogodan za aplikacije koje zahtjevaju i sačuvan ulazni oblik signala ( kao npr. za real-time upravljanje).

4. UPOTREBA UDP ZA REAL-TIME PRIJENOS PODATAKA

UDP protokol omogućava komunikaciju koja ne garantuje pouzdan prijenos podataka preko interneta. Nije potrebna uspostava komunikacije i podaci se šalju bez provjere da li je podatak stigao na odredišnu adresu ili ne. Ovaj način komunikacije zadržava redoslije slanja podataka, ali podaci koji se izgube ili oštete prilikom prijenosa su zauvijek izgubljeni. Na slici 6. je prikazano kašnjenje signala između dvije lokacije i uazno/izlazni signali pri prijenosu signala pomoću UDP-a.

Slika 6. Kašnjenje signala i ulazno/izlazni signali pri prijenosu podataka UDP-om.

Sa slike 6. vidimo da je sačuvan oblik izlaznog signala, a podaci koji nisu stigli na odredište su zauvijek izgubljeni. Zbog sačuvanog oblika signala UDP protokol je pogodan za aplikacije koje zahtjevaju sačuvan oblik signala (za real-time upravljanje) s tim da je gubitak podataka veoma mali, tako da izgubljeni podaci ne predstavljaju problem jer se oni nadomještaju sa susjednim podacima.

RIM 2011 5

Page 6: RIM 2009 Template

Edin Mujčić, Alma Osmanović

5. EKSPERIMENTALNI REZULTATI

U ovom dijelu rada su dati eksperimentalni rezultati za upotrebu TCP i UDP protokola između dvije geografski raspoređene lokacije. Podaci se od jednog računara šalju do drugog udaljenog računara i ponovo vraćaju ka lokalnom (ulaznom) računaru. U prvom slučaju se koristi TCP protokol za međusobnu komunikaciju između dva računara, a u drugom slučaju se koristi UDP protokol za komunikaciju između lokalnog i udaljenog računara. Eksperimenti se izvode u programskom jeziku Java. Programi su pisani na taj način da se koriste programske niti za prijem odnosno slanje podataka. To je rađeno iz razloga da se dobije istovremeno slanje i prijem podataka.

5.1 Upotreba TCPa za real-time prijenos podataka

Pri upotrebi TCP/IP slika 7. dolazi do deformacije ulaznog signala zbog toga što se neiporučeni podaci ponovo šalju. Zbog toga je veoma teško (u većini slučajeva nemoguće) ponovo rekonstruisati početni signal na osnovu signala koji je prošao kružnu petlju.

Slika 7. Ulazno/izlazni signali i vrijeme kašnjenja pri upotrebi TCP protokola

Kao ulazni signal se koristi sinusni signal a podaci se šalju (svakih 5ms). Sa slike također vidimo da je kašnjenje veoma promjenjivo. Iz gore navedenih razloga možemo zaključiti da TCP protokol nije pogodan za sisteme koji zahtjevaju blagovremene i neizobličene ulazne signale.

5.1 Upotreba UDPa za real-time prijenos podataka

U drugom eksperimentu smo koristili UDP protokol za real-time prijenos podataka u kružnoj petlji. Za ulazni signal smo također koristili sinusni signal a podatke smo slali svakih 5 ms (kao i kod TCP protokola). Na slici 8. su prikazani ulazno/izlazni signali pri korištenju UDP protokola i vrijeme kašnjenja pri upotrebi istog. Sa slike 8. možemo zaključiti da pri upotrebi UDP protokola dolazi do znatno manje deformacije ulaznog signala pri prolasku signala kroz kružnu petlju. Možemo vidjeti da je srednje vrijeme kašnjenja manje i da je manje promjenjivo.

RIM 20116

Page 7: RIM 2009 Template

Edin Mujčić, Alma Osmanović

Slika 8. Ulazno/izlazni signali i vrijeme kašnjenja pri upotrebi UDP protokola

Na osnovu ovog možemo zaključiti da se UDP protokol može koristiti u sistemima koji zahtjevaju blagovremene i nedeformisane ulazne signale.

6. ZAKLJUČAK

U ovom radu su obrađeni najpoznatiji protokoli i njihova primjena za real-time prijenos podataka putem interneta. Navedene su prednosti i mane TCP i UDP protokola, odnosno struktura pakovanja i međusobne komunikacije između dva udaljena računara. Eksperimentima je potvrđena prednost UDP protokola kod sistema koji zahtjevaju blagovremene i nedeformisane ulazne signale. Tu se prije svega misli na sisteme upravljanja koji rade u zatvorenoj povratnoj vezi. Ovim je potvrđeno da se UDP prookol može uspješno koristiti u ovakvim sistemima.

7. LITERATURA

[1] [2] Jurković M.: Matematičko modeliranje inženjerskih procesa i sistema, Mašinski fakultet Bihać,

1999[3] Saghir M.: Internet-Based Teleoperation, Gorgia Institute of Technology, March 2001 [4] X. Zhen, K. Ato*, and W. Pingdong.: A Study on Bilateral Telecontrol of Networked Robotwith Variable Time-delay. In Proceeding on Fluid Power, Tsukuba 2005[5] Sawashima H.:Characteristics of UDP Packet Loss: Effect of TCP Traffic[6] M. S. Arslan: Improving Performance of a Remote Robotic Teleoperation over the Internet, Thesis, 2005

RIM 2011 7

Page 8: RIM 2009 Template

Edin Mujčić, Alma Osmanović

[7] Lee J-y.:Transport Protocols for the Internet Interactive Applications 2009, (pregledano 07.05.2011.)

RIM 20118

Page 9: RIM 2009 Template

Edin Mujčić, Alma Osmanović

RIM 2011 9

Page 10: RIM 2009 Template

Edin Mujčić, Alma Osmanović

RIM 201110

Page 11: RIM 2009 Template

Edin Mujčić, Alma Osmanović

RIM 2011 11