Toggle menu
310,1 tis.
50
18
525,6 tis.
Hrvatska internetska enciklopedija
Toggle preferences menu
Toggle personal menu
Niste prijavljeni
Your IP address will be publicly visible if you make any edits.

RUDP

Izvor: Hrvatska internetska enciklopedija
IP Model
Sloj Protokol
Aplikacijski DNS, DHCP, TLS/SSL, TFTP, FTP, HTTP, IMAP, IRC, NNTP, POP3, SIP, SMTP, SNMP, SSH, Telnet, BitTorrent, RTP, rlogin, …
Transportni TCP, UDP, DCCP, SCTP, IL, RUDP,
Mrežni IP (IPv4, IPv6), ICMP, IGMP, ARP, RARP, …
Podatkovni Ethernet, Wi-Fi, Token ring, PPP, SLIP, FDDI, ATM, DTM, Frame Relay, SMDS, …

RUDP (engl. Reliable User Datagram Protocol) je protokol transportnog sloja koji je dizajniran u Bell Labs za operacijski sustav Plan 9. Cilj mu je pružiti rješenje gdje je UDP previše primitivan jer je poželjna isporuka paketa s jamstvom redoslijeda, ali TCP dodaje previše složenosti/overheada.[1][2]

Povijest

RUDP je nastao kao dio TCP/IP skupa protokola koji omogućuju komunikaciju između računala na mreži. TCP/IP se sastoji od četiri sloja:

  1. mrežnog sloja,
  2. internetskog sloja,
  3. transportnog sloja, i
  4. aplikacijskog sloja.

Mrežni sloj se bavi fizičkim prijenosom podataka između računala, internetski sloj se bavi adresiranjem i usmjeravanjem paketa, transportni sloj se bavi pouzdanošću i redoslijedom paketa, a aplikacijski sloj se bavi specifičnim protokolima za različite vrste komunikacije.

Sloj Naziv Primjeri protokola
Mrežni Fizički i veznik Ethernet, Wi-Fi, PPP
Internetski IP IPv4, IPv6
Transportni TCP i UDP TCP, UDP, RUDP
Aplikacijski HTTP, FTP, SMTP HTTP, FTP, SMTP, DNS


Transportni sloj nudi dva osnovna protokola: TCP i UDP. TCP je pouzdan i orijentiran na vezu protokol koji jamči da će svi paketi doći do odredišta u ispravnom redoslijedu i bez grešaka. TCP koristi mehanizme kao što su potvrde (engl. acknowledgments), ponovna slanja (engl. retransmissions), kontrola zagušenja (engl. congestion control) i klizni prozor (engl. sliding window) kako bi postigao pouzdanost. Međutim, TCP ima i neke nedostatke kao što su visoki overhead, velika latencija (engl. delay) i osjetljivost na gubitak veze.

UDP je nepouzdan i neorijentiran na vezu protokol koji ne jamči ništa o isporuci paketa. UDP samo dodaje izvor i odredište portove na podatke koje šalje na internetski sloj. UDP nema mehanizme za potvrde, ponovna slanja, kontrolu zagušenja ili klizni prozor. Prednosti UDP-a su niski overhead, mala latencija i neovisnost o stanju veze.

RUDP je protokol koji pokušava pronaći sredinu između TCP-a i UDP-a. RUDP koristi UDP kao osnovu, ali dodaje neke značajke koje poboljšavaju pouzdanost i redoslijed paketa. RUDP koristi klizni prozor za kontrolu protoka podataka, potvrde za potvrdu primitka paketa i ponovna slanja za oporavak od gubitka paketa. RUDP također podržava višestruke veze (engl. multiplexing) između istih portova i opcionalne checksume za provjeru integriteta podataka.

Funkcioniranje

RUDP se sastoji od tri glavne komponente: segmenta, veze i sesije. Segment je jedinica podataka koju RUDP šalje ili prima preko UDP-a. Segment se sastoji od zaglavlja i tereta (engl. payload). Zaglavlje sadrži sljedeće polja:

Polje Veličina (bajtovi) Opis
Verzija 1 Označava verziju RUDP protokola
Zastavice 1 Označavaju različite opcije kao što su checksum, potvrda, reset i završetak
Prozor 2 Označava veličinu kliznog prozora u broju segmenata
Sekvenca 4 Označava redni broj segmenta
Potvrda 4 Označava redni broj sljedećeg očekivanog segmenta
Checksum 2 (opcionalno) Sadrži kontrolnu sumu za provjeru grešaka
Teret Varijabilno Sadrži korisne podatke


Veza je logička veza između dva RUDP krajnjaka (engl. endpoints). Veza se uspostavlja slanjem segmenta s zastavicom potvrde i reset. Veza se završava slanjem segmenta s zastavicom završetka. Veza ima stanje koje se sastoji od sljedećih varijabli:Veza je logička veza između dva RUDP krajnjaka (engl. endpoints). Veza se uspostavlja slanjem segmenta s zastavicom potvrde i reset. Veza se završava slanjem segmenta s zastavicom završetka. Veza ima stanje koje se sastoji od sljedećih varijabli:

Prijenos:
  • Ako je sljedeći za slanje manji ili jednak od posljednjeg poslanog plus lokalni prozor, pošalji segment s rednim brojem sljedeći za slanje i povećaj ga za jedan.
  • Ako je primljena potvrda s rednim brojem većim od posljednjeg poslanog, ažuriraj udaljeni prozor i ponovi korak 1.
  • Ako je isteklo vrijeme čekanja (engl. timeout) za segment s rednim brojem manjim ili jednakim od posljednjeg poslanog, ponovno pošalji taj segment i ponovi korak 2.
Primanje:
  • Ako je primljen segment s rednim brojem jednakim sljedećem za primanje, isporuči teret aplikaciji, pošalji potvrdu s rednim brojem sljedećeg za primanje plus jedan i povećaj ga za jedan.
  • Ako je primljen segment s rednim brojem manjim od sljedećeg za primanje, pošalji potvrdu s rednim brojem sljedećeg za *primanje.
  • Ako je primljen segment s rednim brojem većim od sljedećeg za primanje, spremi ga u međuspremnik (engl. buffer), pošalji potvrdu s rednim brojem sljedećeg za primanje i ponovi korak 1.

Primjena

RUDP se može koristiti za aplikacije koje zahtijevaju pouzdanost i redoslijed paketa, ali ne mogu tolerirati visoku latenciju ili overhead TCP-a. Takve aplikacije su npr. glasovna ili video komunikacija, prijenos datoteka, igre u stvarnom vremenu.

Izvori