Aplikazio geruza | DNS, FTP, HTTP, HTTPS, IMAP, IRC, NFS, NNTP, NTP, POP3, SMB/CIFS, SMTP, SNMP, SSH, Telnet, SIP, gehiago |
Aurkezpen geruza | ASN.1, MIME, SSL/TLS, XML, gehiago |
Saio geruza | NetBIOS, gehiago |
Garraio geruza | SCTP, SPX, TCP, UDP, gehiago |
Sare geruza | AppleTalk, IP, IPX, NetBEUI, X.25, gehiago |
Lotura geruza | ATM, Ethernet, Frame Relay, HDLC, PPP, Token Ring, Wi-Fi, STP, gehiago |
Geruza fisikoa | Kable ardazkide, Zuntz optiko, Pare kordatu, Mikrouhin-sarea, Irrati bidezko sarea, RS-232, gehiago |
*OSI ereduaren arabera |
User Datagram Protocol (UDP) protokoloa Internet sarean erabiltzen diren protokoloen artean beharrezkoetako bat da. UDP-rekin, ordenagailuen aplikazioek mezuak bidali ditzakete, kasu honetan datagramak deituak direnak, beste zerbitzari batzuetara Internet Protokoloa (Internet Protocol, IP) erabiliz, aurretik komunikaziorik behar izan gabe (ez da konexio bidezkoa, IP bezala), hau da, komunikazio erraza eta arina da. Protokoloa David P. Reed-ek diseinatu zuen 1980an eta [1]-an dago zehazki definitua.
UDP-k transmisiorako eredu sinple bat erabiltzen du, protokolo mekanismo minimoak baliatuz. Ez dauka handshaking elkarrizketarik eta, hortaz, azpiko sare protokoloaren edozein akats argitara ateratzen du erabiltzailearen programan. Kasu gehienetan IP protokoloa denez, ez dago entrega, orden edo errepikapenak ekidingo diren ziurtasunik. UDP protokoloak checksum izeneko hash funtzio bat darama datagramaren osotasuna bermatzeko, baita portu zenbakiak ere, jatorri eta helburuko helbideak jasotzeko.
UDP egokia da erroreen zainketa eta zuzenketa beharrezkoa ez denerako edo aplikazioan egiten ez direnerako, horrela sare interfaze mailako goiburukoaren prozesamendua ekidinez. Abiadura azkarra behar duten aplikazioek maiz erabiltzen dute UDP, komenigarriagoa delako paketeak galtzea atzeratutakoei itxarotea baino. [2] Erroreen zuzenketa beharrezkoa bada sare interfaze mailan, aplikazioak Transmission Control Protocol (TCP) edo Stream Control Transmission Protocol (SCTP) erabiliko du ziurrenik, zeinak helburu horretarako diseinatuak dauden hain zuzen ere.
Protokolo honen zenbait ezaugarrik aplikazio jakin batzuetarako egokia izatea eragiten dute:
Aplikazioek datagrama socketak erabiltzen dituzte zerbitzarien arteko komunikazioak ezartzeko. Aplikazioak socket bat lotzen du bere data garraioaren bukaeran, zeina IP helbidearen eta portuaren arteko konbinazio bat den. Portu bat software estruktura bat da, portu zenbaki batekin definitzen dena, 16 biteko osoko balio bat (hortaz, portu zenbakiak 0 eta 65535 balioen artean egon daitezke). 0 portua erreserbatuta da, baina onartuta dago jatorrizko portu bezala erabiltzea erantzunik espero ez denean.
Internet Assigned Numbers Authority-k 3 tartetan banatu ditu portu zenbakiak. [3] 0-1023 tarteko zenbakiak well-known zerbitzuetarako erreserbatuta daude. Unix motako sistema eragileetan, portu hauetako bat erabiltzeko supererabiltzaile edo administratzaile baimena behar da. 1024-49151 tarteko portu zenbakiak erregistratutako portu zenbakiak dira, IANA-erregistratutako zerbitzuetarako erabiliak. Gainerako portuak (49512-65535) dinamikoak dira eta ez daude ofizialki zerbitzu jakin batentzat gordeak; edozein helburutarako erabil daitezke. Behin behineko portu gisa ere erabiltzen dira, automatikoki hautatuak. Batez ere bezero eta zerbitzarien arteko komunikazioan erabiltzen dira denbora tarte batez.
UDP garraio mailako protokolo bat da, ahalik eta mezu gutxien bidaltzea lortzeko helburuz. IETF RFC 786-an dago dokumentatuta.
UDP-k ez dio bermatzen maila bat altuagoko protokoloari mezuen entrega egingo denik eta mailan bertan ez da mezuaren egoera gordetzen behin hau bidali denean. Hori dela eta, batzuetan UDP-ri Unreliable Datagram Protocol (fidagaitza) deitzen zaio. [4]
Protokoloak aplikazioen multiplexazioa (portu zenbakien bitartez) eskaintzen du, baita goiburukoaren osotasunaren egiaztatzea (checksum bidez) ere. Garraioan fidagarritasuna nahi bada, erabiltzailearen aplikazioan inplementatu behar da. [5] If transmission reliability is desired, it must be implemented in the user's application.
' | Zortziko | 0 | 1 | 2 | 3 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Zortziko | Bit | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
0 | 0 | Jatorrizko portua | Helburu portua | ||||||||||||||||||||||||||||||
4 | 32 | Luzera | Checksum-a |
UDP goiburukoak 4 eremu dauzka, bakoitza 2 bytekoa (16 bit). [2] Checksum eta jatorrizko portuen eremuak hautazkoak dira IPv4ean (arrosaz). IPv6an, jatorrizko portua da hautazko bakarra.
Checksum-a kalkulatzeko erabiltzen den metodoa RFC 768-an definitua dago:
Checksum balioa zero bada (16 bitak 0), bateko konplementu gisa bidali behar da, hots, 1 balioko 16 bit.
IPv4 eta IPv6 arteko desberdintasuna checksum-a kalkulatzeko erabilitzako informazioan datza.
Checksum-a kalkulatzeko “pseudo-goiburuko”[9] bat erabiltzen da, IPv4-ren benetako goiburukoak duen informazio zati bat gordetzen duena. Pseudo-goiburukoa ez da IP paketeak bidaltzeko erabiltzen den benetako goiburukoa, checksum-a kalkulatzeko bakarrik erabiltzen da.
bitak | 0 – 7 | 8 – 15 | 16 – 23 | 24 – 31 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | Jatorriko helbidea | |||||||||||||||||||||||||||||||
32 | Helburuko helbidea | |||||||||||||||||||||||||||||||
64 | Zeroak | Protokoloa | UDP luzera | |||||||||||||||||||||||||||||
96 | Jatorriko portua | Helburuko portua | ||||||||||||||||||||||||||||||
128 | Luzera | Checksum | ||||||||||||||||||||||||||||||
160+ | Data |
Jatorriko eta helburuko helbideak IPv4 goiburuko berdinak dira. UDP luzera eremuko balioa UDP goiburukoaren eta informazioaren luzera da.
IPv4an, UDP checksum-a egitea hautazkoa da.
Kasu honetan, checksum-a nahitaezkoa da. Aldaketa egiteko metodoa RFC 2460 arauan zehaztuta dago:
Checksum-a kalkulatzerakoan, berriro ere pseudo-goiburuko bat erabiltzen da, benetako IPv6 goiburukoaren berdina.
Zortziko | 0 | 1 | 2 | 3 | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Zortziko | Bitak | 0 – 7 | 8 – 15 | 16 – 23 | 24 – 31 | ||||||||||||||||||||||||||||
0 | 0 | Jatorriko helbidea | |||||||||||||||||||||||||||||||
4 | 32 | ||||||||||||||||||||||||||||||||
8 | 64 | ||||||||||||||||||||||||||||||||
12 | 96 | ||||||||||||||||||||||||||||||||
16 | 128 | Helburuko helbidea | |||||||||||||||||||||||||||||||
20 | 160 | ||||||||||||||||||||||||||||||||
24 | 192 | ||||||||||||||||||||||||||||||||
28 | 224 | ||||||||||||||||||||||||||||||||
32 | 256 | UDP luzera | |||||||||||||||||||||||||||||||
36 | 288 | Zeroak | Hurrengo goiburukoa | ||||||||||||||||||||||||||||||
40 | 320 | Jatorriko portua | Helburuko portua | ||||||||||||||||||||||||||||||
44 | 352 | Luzera | Checksuma | ||||||||||||||||||||||||||||||
48+ | 384+ | Data |
Jatorriko helbidea, IPv6ko goiburuko berdina da. Helburuko helbidea helmuga da.
Fidagarritasun falta dela eta, UDP aplikazioak datu batzuen galera, erroreak eta errepikapenak onartu behar dituzte. Aplikazio batzuk, adibidez, TFTP-k, fidagarritasuna lortzeko mekanismo gehigarri batzuk gehitzen dituzte aplikazio mailan, beharren arabera. [3]
Media streaming-a, denbora errealeko jokalari ugariko jokoak eta voice over IP (VoIP) aplikazioek UDP erabiltzen dute gehienetan. Aplikazio hauetan zehazki, paketeen galera ez da arazo larria. Aplikazio batek fidagarritasun maila altua eskatzen badu, UDP protokoloa orde TCP erabili ohi da.
Potentzialki larriago, TCP-k ez bezala, UDP erabiltzen duten aplikazioek ez daukate kongestioa ekiditeko eta kontrolerako mekanismorik. Atzigarri dagoen banda zabaleraren zati handi bat erabiltzen duten UDP aplikazioek interneten egonkortasuna arriskuan jar dezakete. Sarean oinarritutako mekanismoak proposatu dira arazo hau ekiditeko. Adibidez, maiz, routerrak dira erreminta bakarra UDP trafikoa mantsotzeko, paketeak ilaran jarriz. Datagram Congestion Control Protocol (DCCP) arazo hau ekiditeko ari dira diseinatzen.
Interneten hainbat aplikaziok erabiltzen dute UDP, esaterako, Domain Name System (DNS), non eskaerak azkarrak diren eta eskaera eta erantzuna emateko pakete bakar bana behar den; Simple Network Management Protocol (SNMP); Routing Information Protocol (RIP) eta Dynamic Host Configuration Protocol (DHCP).
Ahotsa eta bideoa orokorrean UDP bidez garraiatzen dira. Denbora errealeko bideo eta soinuarentzako streaming protokoloak pakete batzuek galerari aurre egiteko diseinatzen dira, hortaz, degradazio txiki bat bakarrik gertatzen da galdutako paketeen zain atzerapen handiak jasan ordez.
Transmission Control Protocol konexio bidezko protokolo bat da, hots, handshaking-a beharrezkoa du komunikazio bat martxan jartzeko. Behin konexioa ezarri denean, informazioa bi norabidetan bidal daiteke.
UDP sinpleagoa da. Ez du konexiorik behar, hots, ez du konexioa ezarri beharrik. Komunikazioa jatorri batetik helburu batera norabide bakarrean informazioa garraiatuz lortzen da, prest dagoen ala ez egiaztatu gabe.
rfc768
izeneko erreferentziarako