SIDE (IRT 3930) Loeng 11 Transpordiprotokollid Teema - infotransport Klient- mudel Teenuste jaotus Infotransport klient- seoses Töökindel infoülekanne võrgukihi kaudu ja transpordiprotokollid Põhipunktid Avo Ots telekommunikatsiooni õppetool, TTÜ raadio- ja sidetehnika inst. Infotransport avo.ots@ttu.ee 301 Infotransport 302 Infotransport kliendilt ini Client Application level / Server Application level / ICMP Teenuse (lingi) demultipleks Application Transport Network Application Application Application Application IGMP ARP RARP Link Driver incoming frame Infotransport 303 Infotransport 304 Demultiplexing Details 1024-5000 FTP telnet 21 23 src port dest port header 17 ICMP 1 6 IGMP 2 hdr dest header protocol type cksum addr ARP Others x0806 RARP x8035 Novell x0800 AppleTalk echo 7 discard 9 data source addr dest source addr addr frame type data CRC ( frame types in hex, others in decimal) Infotransport 305 data Rakendusteenuste tarve Rakendusteenused Application Services (e-mail, WWW, Telnet, FTP,...) Edastusohje protokoll Kasutajadatagrammi protokoll Reliable Stream Transport () Unreliable Transport Service () Ühenduseta paketi edastuse teenus (interneti protokoll) Connectionless Packet Delivery Service () Infotransport 306 1
4 RFC 793, RFC 768 Infotransport Pordid aadress identifitseerib hosti Hostiga on seotud mitmeid rakendusi Port (16-bitiline identifikaator) määratleb rakenduse Application WWW E-mail Telnet Port 80 25 23 - Transmission Control Protocol - User gram Protocol HTTP - Hypertext Transfer Protocol Infotransport 307 192.18.22.13 Infotransport 308 Erinevad vaated Baidi transport / vahendusel / tagab baidivoo ülekande Rakendus Rakendus byte stream / Mõningad baidid edastamiseks, mis nende sisu ei tea... byte stream / Kohaletoimetatud rakenduse tarbeks Rakendusprotokollid määratlevad voo sisu Infotransport 309 Infotransport 310 Transpordiprotokollid Protokollid Parim võimalik (Best-effort) sama tüüpi teenus, mida kasutab User gram Protocol () Kontrollsumma Best-effort Transmission Control Protocol () Kontrollsumma Töökindel baidivoo kohaletoimetamine Voo ja ummistuste haldus Kasutaja A e-mail klient / driver/kaart Kommunikatsioonikeskkond SMTP / IEEE 802.3 standard Kasutaja B e-mail / driver/kaart Infotransport 311 (elektrilised) signaalid Infotransport 312 2
App. Transport Network Port 1 protokoll Port 2 Port 1 Port 2 Eristus pordi numbri järgi Eristus protokolli järgi Ühenduse ID: Source: (address, port) ja Destination: (address, port) Active open: application requests OS to connect to an (host, port) Passive open: application contacts OS & indicates will accept incoming connection, OS assigns port and listens Infotransport 313 Sokkel (socket) Määratletakse protokolli, aadresside ja pordi järgi Rakendus võib olla seotud mitme sokliga Sokli kaudu võib pääseda mitme rakenduseni Rakendused soklid Soklid soklid seotuna pordid 1 2... 65535 portidega 1 2... 65535 pordid Rakendused Viited Infotransport 314 Transpordiprotokoll Hi there Hey there, I am ready for data Sending Handshaking Reliable data transfer Flow Control Congestion Control Encapsulation gram Segment Päis Päis 20 Bytes 20 Bytes Connection-oriented I got it. Ready for more! Ühendusorienteeritud Baidivoog Veakindel, kordusteta infoülekanne Infotransport 315 Infotransport 316 päis (RFC 793) 8 8 8 8 SP DP Järjenumber (Seq No) Kinnitus (Ack. No). CRC Window Urgent... Infotransport 317 infovahetuse kulg Connection Request Request and Payload + header + header + header + Payload ühenduse loomine + header Andmeülekanne A N D M E Ü L E K A N N E Termination Request + header Request + header ühenduse Termination Request + header katkestamine Connection Terminated + header Infotransport 318 3
Kient- mudel Päring saadetakse teadaolevasse porti klient Vastus saadetakse kliendi porti klient Infotransport 319 Järjenumber Baidivoos on igal baidil järjenumber (Sequence Number) 32-bitine loendur Alustatakse uuesti (Wraps around) Algväärtus valitakse alustamisel jagab baidivoo pakettideks ehk segmentideks Paketi pikkus on piiratud MTU Maximum Segment Size Välditakse edasist paketi fragmenteerimist Igal segmandil on järjenumber. Järjenumber näitab segmendi asukohta baidivoos 13450 14950 16050 17550 segment 8 segment 9 segment 10 Infotransport 320 Aeg Stop&Wait ei saada järgmist paketti, kui ta pole kindel, et vastuvõtja sai kätte eelmise paketi. Paketi ja kättesaamise kinnituse () järgnevus võimaldab töökindluse Järjenumbrid võimaldavad vältida topelt pakettide saamise Probleem on edastuse pidev kestmine (keeping the pipe full) Näide: 2 Mbps kanal * 45 ms RTT = 90 kb (11 kb) 1 kb kasutab kanalist 1/11 osa (~10%) Aeg Libisev aken (Sliding Window) Saadetakse mitu paketti enne, kui oodatakse kättesaamise kinnitust () Kinnituseta saadetavate pakettide maksimaalne arv aken - window Infotransport 321 Infotransport 322 Time Kinnitused ja timeout (a) (c) No Handshaking! No Reliable data transfer No Flow Control No Congestion Control Connectionless Infotransport (b) (d) 323 Infotransport 324 4
(User gramm protocol) SP DP Len. CRC Tagasivaade Ressursi jagamine 1974: cycles, storage, bandwidth expensive, people cheap 2002: resources cheap, people expensive 1974: Share computer resources 2002: Communicate with people, access documents, buy, sell 1974 - no separation between transport () and network () layers (/) 2002 - separate transport (, ) and network () layer Infotransport 325 Infotransport 326 Põhineb pakettvõrgul Ühine ja üldine esitusviis on ühendav lüli Hourglass architecture all hosts and routers run Interneti arhitektuur Infotransport 327 Satellite ATM Kokkuhoidlik lähenemine Rumal võrk provide minimal functionalities to support connectivity addressing, forwarding, routing Tark lõpp-punkt transport layer or app does more sophisticated functionalities flow control, error control, congestion control Eelised accommodate heterogeneous technologies support diverse applications (telnet, ftp, Web, X windows) decentralized network administration Puudused poor realtime performance poor accountability Infotransport 328 Ülekandetempo valik Lõpulingid (11) Tagatud Praegune Suurim http://www.ietf.org/rfc/rfc0793.txt?number=793 http://www.cisco.com/warp/public/535/4.html http://www.cheswick.com/ches/talks/uomm.pdf http://www.williamstallings.com http://vig.prenhall.com/catalog/academic/product /0,1144,0132433109,00.html http://www.iana.org/assignments/port-numbers Garanteeritud edastus Edasta, kui võimalik Kõik liigsed jäta kõrvale Infotransport 329 Infotransport 330 5