7. lekcija Datortīkli dr. dat. Valdis Vītoliņš gada pavasaris

Slides:



Advertisements
Similar presentations
Ma.
Advertisements

Click on each of us to hear our sounds.
11- IP Network Layer4-1. Network Layer4-2 The Internet Network layer forwarding table Host, router network layer functions: Routing protocols path selection.
Defining Network Protocols Application Protocols –Application Layer –Presentation Layer –Session Layer Transport Protocols –Transport Layer Network Protocols.
Network Technologies essentials Week 4: Internetworking Compilation made by Tim Moors, UNSW Australia Original slides by David Wetherall, University of.
Midterm Review These slides contain 90% recycled content.
TCP/IP Essentials A Lab-Based Approach Shivendra Panwar, Shiwen Mao Jeong-dong Ryoo, and Yihan Li Chapter 5 UDP and Its Applications.
Chapter 4 TCP/IP Overview Connecting People To Information.
Fall 2005Computer Networks20-1 Chapter 20. Network Layer Protocols: ARP, IPv4, ICMPv4, IPv6, and ICMPv ARP 20.2 IP 20.3 ICMP 20.4 IPv6.
Internet 1) Internet basic concepts 2) The IP protocol stack 3) The IP datagram header (IPv4 and IPv6) 4) Addressing and routing 5) Example: downloading.
Networked Graphics Building Networked Virtual Environments and Networked Games Chapter 3: Overview of the Internet.
Network Layer by peterl. forwarding table routing protocols path selection RIP, OSPF, BGP IP protocol addressing conventions datagram format packet handling.
1 Figure 3-5: IP Packet Total Length (16 bits) Identification (16 bits) Header Checksum (16 bits) Time to Live (8 bits) Flags Protocol (8 bits) 1=ICMP,
Transport Protocols.
Network Layer by peterl. forwarding table routing protocols path selection RIP, OSPF, BGP IP protocol addressing conventions datagram format packet handling.
Līguma jēdziens, veidi, noslēgšana. Līgumu brīvība.
IP - Internet Protocol No. 1  Seattle Pacific University IP: The Internet Protocol Kevin Bolding Electrical Engineering Seattle Pacific University.
Tālmācības centra redzējums un pieredze par biznesu zināšanu sabiedrībā Komercdarbības kursā  Jānis Kapenieks, Atis Kapenieks  Tālmācības studiju centrs,
SAM «Veicināt efektīvu energoresursu izmantošanu, enerģijas patēriņa samazināšanu un pāreju uz AER apstrādes rūpniecības nozarē» , Uzraudzības.
MA. ME MI MO MU MÁ MÉ MÍ MÓ MŮ LA LE LI.
© 2003, Cisco Systems, Inc. All rights reserved.
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Brokastis ar Amadeus Neatkarīgi un unikāli Līga Kovale gada 17
SECURITY SERVICES STATISTICS IN LATVIA
Bibliotēka 2.0 Teorija „Teorētiskā bāze maģistra darba izstrādei”
Ieskats komunikāciju vēsturē, tagadnē un nākotnē
Chapter 5 Network and Transport Layers
Autoceļu problemātika
Programmatūras paštestēšana
Kopīpašums kā aprobežojums. Kopīpašuma vēsturiskie tipi
Jānis Zuters, Ratnieki Latvijas Universitāte Datorikas fakultāte
Līklīnijas kustība Ķermeņa līklīnijas kustības trajektorija var būt jebkuras formas līkne. Līknei var būt noslēgta vai nenoslēgta forma. Mag.phys. A.Krons.
Modelēšana un rīku būve (specseminārs)
– instruments komunikācijas prasmju uzlabošanai biznesam
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Kopīpašums.
Advanced Computer Networks
Darbības - sazarojuma operatori
Redzes evolūcija un IT revolūcija… Kopsolis vai kļūda attīstībā?
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
IP Programming.
Formālās specifikācijas
11/20/2018 5:11 PM Kreditoru prasījumu izvērtēšana maksātnespējas procesā. Problemātika un aktuālā tiesu prakse. Ivanda Avotiņa – sertif. maksātnespējas.
Eiropas Sociālā fonda projekts
Populārzinātniskā lekcija: Ievads loģiskajās operācijas
PVN numura pārbaude Guntis Strazds Rīga, 2004.gada 23.septembris
Emisijas faktori un smaku mērījumi
1.seminārs “Pētījuma stratēģija un problēmas identificēšana”
Ms Access Tabulas 2. daļa Andris Šteins, 2009.
DMF Informātikas katedra
Dzeramā ūdens kvalitātes stabilitāte pilota mēroga ūdens apgādes sistēmā VPP Projekts Nr.4 – Tehnoloģijas drošai un uzticamai gudrajai pilsētai (GUDPILS)
TIENS CINKA KAPSULAS.
Atvērtā koda programmatūra
Eiro- zona Latvija ES ES valstis Perso- nības Kontū- ras
Wide Area Networks and Internet CT1403
REACH 2018 Sagatavojiet reģistrācijas pieteikumu kā IUCLID dokumentāciju.
Globalizācija un attīstība
REACH 2018 Apvienojieties ar saviem līdzreģistrētājiem —
REACH 2018 Atrodiet savus līdzreģistrētājus un gatavojieties kopīgai reģistrācijai.
Programmēšanas valodu klasifikācija un lietojumsfēra
Attēlojuma līmenis (Presentation Layer)
IEPIRKUMU PLĀNS Kristīne Ruskule Finanšu kontroles institūcija
Lietu klasifikācija.
Projekts “Pašvaldību aktivitāšu īstenošana, lai nodrošinātu skolēnu pārvadāšanu un ar to saistītos atbalsta pasākumus” Sandra Cakule Valsts reģionālās.
Darbinieku nosūtīšanas tiesiskie un praktiskie aspekti.
Zinātniski metodiskie Analizatora uzbūves pamati:
Transport Protocols An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
46 to 1500 bytes TYPE CODE CHECKSUM IDENTIFIER SEQUENCE NUMBER OPTIONAL DATA ICMP Echo message.
Review of Internet Protocols Network Layer
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Presentation transcript:

7. lekcija Datortīkli dr. dat. Valdis Vītoliņš 2011. gada pavasaris Pēc Scott Shenker Networks & Protocols http://inst.eecs.berkeley.edu/~ee122/

IP adresēšanas apkopojums IP pakešu pārsūtīšana Transporta slānis Plāns IP adresēšanas apkopojums IP pakešu pārsūtīšana Transporta slānis Uzticama piegāde neieskaitot: TCP detaļas Sastrēgumu kontroli 2 2

IP adresēšanas apkopojums 32-bitu skaitlis nosaka saskarnes Tiek izdalīts, nosakot tīkla adreses garumu (prefikss) Nevienveidīga hierarhija nodrošina mērogojamību un elastību Maršrutēšana tiek balstīta uz CIDR adresēm Ir vairāki rezervēti apgabali Adrešu apgabalus izdala sekojoši: ICANN  RIR  ISP  lietotāja tīkls  mītne Apskatīsim vēlāk Kā mītnes iegūst adresi (DHCP) Kā IP adresi piesaista tīkla saites adresei (ARP) 3 3

CIDR: hierarhiska adrešu izdalīšana Adreses sākums (priedēklis) ir mērogošanas pamats Adreses izdala nepārtrauktos apgabalos ar vienotu sākumu Maršrutēšanas likumus veido šiem kopīgajiem apgabaliem 12.253.128.0/17 12.0.0.0/8 12.0.0.0/15 12.253.0.0/16 12.2.0.0/16 12.3.0.0/16 : 12.3.0.0/22 12.3.4.0/24 12.3.254.0/23 12.253.0.0/19 12.253.32.0/19 12.253.64.0/19 12.253.64.108/30 12.253.96.0/18 4 4

Hierarhiskā struktūra Nodrošina ne tikai mērogojamību Bet arī vienkāršu deleģēšanu un kontroli ICANN  RIR  ISP  lietotāja tīkls  mītne Mērogošana atkārtojas atkal un atkal (arī DNS, kas būs nākamajā lekcijā) Mērogojamībā svarīga ir arī decentralizācija 5

Ļauj nosūtīt paketes uz vajadzīgo vietu Kam izmanto adresi? Ļauj nosūtīt paketes uz vajadzīgo vietu Ir līdzeklis, lai sasniegtu mērķi Bet nav mērķis To veic ar pakāpenisku pakešu pārsūtīšanu Ko tagad arī apskatīsim... 6

Pakešu pārsūtīšana 7 7

Katram maršrutētājam ir pārsūtīšanas tabula Pakešu pārsūtīšana Katram maršrutētājam ir pārsūtīšanas tabula Salāgo mērķa adresi … … ar izejošo saskarni (= saiti) Pārsūtīšanas tabulu veido: Maršrutēšanas algoritmi Statiski likumi Saņemot paketi No paketes IP iesākuma uzzina mērķa adresi Atrod to pārsūtīšanas tabulā Pārsūta paketi uz atbilstošu saskarni 8 8

Ar klašu adresēm tas ir vienkārši Adreses vecākie biti nosaka masku Maršrutēšanas tabula Ar klašu adresēm tas ir vienkārši Adreses vecākie biti nosaka masku A klase[0]: /8 B klase [10]: /16 C klase [110]: /24 Var atrast precīzu adreses atbilstību prefiksa izmanto kā maršrutēšanas sarakstu Kāpēc tas nestrādā ar CIDR? Adrese nenosaka masku CIDR adresēšana rada 2 problēmas Atrast atbilstību nav triviāli Adreses neatspoguļo tīkla topoloģiju 9

1. piemērs: Piegādātājs ar 4 klientiem Link 1 Link 4 201.143.0.0/22 201.143.4.0/24 201.143.5.0/24 201.143.6.0/23 Provider Link 2 Link 3 Prefix Link 201.143.0.0/22 Link 1 201.143.4.0.0/24 Link 2 201.143.5.0.0/24 Link 3 201.143.6.0/23 Link 4 10 10

Atbilstības atrašana Katrai adresei ir tikai 1 atbilstība Bet to nav viegli atrast Piemēram: 11001001 10001111 00000101 11010010 Pirmie 21 biti atbilst 4 prefiksiem Pirmie 22 biti atbilst 3 prefiksiem Pirmie 23 biti atbilst 2 prefiksiem Pirmie 24 biti atbilst tieši vienam prefiksam 11001001 10001111 000000−− −−−−−−− 201.143.0.0/22 11001001 10001111 00000100 −−−−−−− 201.143.4.0/24 11001001 10001111 00000101 −−−−−−− 201.143.5.0/24 11001001 10001111 0000011− −−−−−−− 201.143.6.0/23 11

2. piemērs: Klientu apvienošana Prefix Link 201.143.0.0/21 Provider 1 201.144.0.0/21 Provider 2 201.144.0.0/21 201.144.0.0/22 201.144.4.0/24 201.144.5.0/24 201.144.6.0/23 Provider 2 201.143.0.0/21 201.143.0.0/22 201.143.4.0/24 201.143.5.0/24 201.143.6.0/23 Provider 1 12 12

3. piemērs: Sarežģījumi Pārsūtīšanas tabulas paliek sarežģītas, kad adreses neataino tīkla topoloģiju 201.144.0.0/21 201.144.0.0/22 201.144.4.0/24 201.144.5.0/24 201.144.6.0/23 Provider 2 201.143.0.0/21 201.143.0.0/22 201.143.4.0/24 201.143.5.0/24 201.143.6.0/23 Provider 1 13 13

Unikālie prefiksi Provider 1 11001001 10001111 000000−− −−−−−−− 11001001 10001111 00000100 −−−−−−− 11001001 10001111 0000011− −−−−−−− 11001001 10010000 00000100 −−−−−−− Provider 2 11001001 10001111 00000101 −−−−−−− 11001001 10010000 000000−− −−−−−−− 11001001 10010000 00000101 −−−−−−− 11001001 10010000 0000011− −−−−−−− 14

Likumu vienkāršošana /21 masku izmanto vairumā gadījumu, /24 masku izmanto izņēmumiem 201.144.0.0/21 201.144.0.0/22 201.144.4.0/24 201.144.5.0/24 201.144.6.0/23 Provider 2 201.143.0.0/21 201.143.0.0/22 201.143.4.0/24 201.143.5.0/24 201.143.6.0/23 Provider 1 15 15

Garākā prefiksa atrašana Paketes mērķis: 11001001 10010000 00000100 01101101 Paketes mērķis: 11001001 10010000 00000101 01101101 Garākā prefiksa atrašana Provider 1 11001001 10001111 00000−−− −−−−−−− 201.143.0.0/21 11001001 10010000 00000100 −−−−−−− 201.144.4.0/24 Provider 2 11001001 10010000 00000−−− −−−−−−− 201.144.0.0/21 11001001 10001111 00000101 −−−−−−− 201.143.5.0/24 16

Garākā prefiksa atrašana CIDR adrešu maršruta atrašanu veic pēc garākā prefiksa (longest prefix meach – LPM) Iepriekš nevar pateikt, kad beidzas tīkla adrese Jāpārbauda bitu pa bitam LPM samazina maršrutēšanas tabulu Paātrina atrašanu Samazina nepieciešamo atmiņas apjomu Bet kā LPM strādā? Un kā to paātrināt? 17

LPM pārsūtīšana Forwarding Table prefix outgoing link destination 201.10.7.17 destination 192.0.0.0/4 2 4.83.128.0/17 1 201.10.0.0/21 3 201.10.6.0/23 201: 11001001 10: 00001010 7: 00000111 17: 00010001 192: 11000000 18 18

LPM pārsūtīšana Forwarding Table prefix outgoing link destination 201.10.7.17 destination 192.0.0.0/4 2 4.83.128.0/17 1 201.10.0.0/21 3 201.10.6.0/23 201: 11001001 10: 00001010 7: 00000111 17: 00010001 192: 11000000 19 19

LPM pārsūtīšana Forwarding Table prefix outgoing link destination 201.10.7.17 destination 192.0.0.0/4 2 4.83.128.0/17 1 201.10.0.0/21 3 201.10.6.0/23 201: 11001001 10: 00001010 7: 00000111 17: 00010001 4: 00000100 83: 01010011 128: 10000000 20 20

LPM pārsūtīšana Forwarding Table prefix outgoing link destination 201.10.7.17 destination 192.0.0.0/4 2 4.83.128.0/17 1 201.10.0.0/21 3 201.10.6.0/23 201: 11001001 10: 00001010 7: 00000111 17: 00010001 201: 11001001 10: 00001010 0: 00000000 21 21

LPM pārsūtīšana Forwarding Table prefix outgoing link destination 201.10.7.17 destination 192.0.0.0/4 2 4.83.128.0/17 1 201.10.0.0/21 3 201.10.6.0/23 201: 11001001 10: 00001010 7: 00000111 17: 00010001 201: 11001001 10: 00001010 6: 00000110 22 22

Algoritmiska problēma: kā to darīt ātri? LPM pārsūtīšana Forwarding Table prefix outgoing link destination 192.0.0.0/4 2 4.83.128.0/17 1 201.10.0.0/21 3 201.10.6.0/23 201.10.7.17 201: 11001001 10: 00001010 7: 00000111 17: 00010001 2 Algoritmiska problēma: kā to darīt ātri? 23 23

Pa vienam pārlasa visus maršrutēšanas likumus Vienkāršs algoritms Pa vienam pārlasa visus maršrutēšanas likumus Pārbauda, vai adrese atbilst prefiksam Atceras atrastā ieraksta garumu un izmanto visgarāko Ja neatrod, izmanto noklusēto maršrutu Darbietilpība ir lineāra no ierakstu skaita Šodien maršrutētājiem var būt 200 000 – 250 000 ierakstu! Bet atrašanas laiks ir nanosekundes … jo tad tīklā pienāk nākamā pakete Tāpēc nepieciešami efektīvāki algoritmi, kas atbilst līniju ātrumiem Labāki algoritmi Realizēti aparatūrā 24 24

Saglabā maršrutus kā koku Adrešu koks Saglabā maršrutus kā koku Katrs adreses bits atbilst vienam koka līmenim Dažās virsotnēs ir atļautie prefiksi Kad pienāk pakete Pārlūko koku atbilstoši mērķa adresei Meklēšanas laiks: atkarībā no bitu skaita kokā 1 00* 0* 11* 100* 101* 25 25

Kā pārsūta mītne? Maršrutēšana ir vienkārša Vai pakete ir paredzēta mītnei (piem., 1.2.3.4/32) Nosūta mītnei Vai pakete paredzēta lokālam tīklam (piem., 1.2.3.0/25) Nosūta uz saskarni ar atbilstošu LAN adresi (ARP) Ta vai tā ir lokāla adrese, nosaka pēc tīkla maskas (piem., 255.255.255.128) Vai pakete ir ārējā tīkā Nosūta paketi lokālai vārtejai Piem., lokālā tīkla maršrutētājam vai Interneta piegādātājam Kā šos likumus nosaka Ar statisku adreses, tīkla maskas un vārtejas konfigurēšanu Dinamiski ar Dynamic Host Configuration Protocol ( DHCP) 26 26

Kā tiek atrastas mītnes? Kā pēdējais maršrutētājs atrod mītni? Katrai saskarnei ir unikāls nemainīgs identifikators MAC adrese (Media Access Control) - 2 slānis Kas ir iešūts tīkla saskarnē (NIC) Parast adrese ir plakana (nav hierarhiska) Tiek izveidota adrešu atrises (resolution) tabulu Salāgo MAC adresi ar IP adresi Izmanto Address Resolution Protocol (ARP) 1.2.3.4 1.2.3.7 1.2.3.156 ... host host host LAN router 27 27

5 min pauze Jautājumi? 28 28

Transporta slānis 29 29

Saziņa starp procesiem (piem., ligzdām) Transporta slāņa loma Lietojumu slānis Lietotņu saziņa Piem., HyperText Transfer Protocol (HTTP), File Transfer Protocol (FTP), Network News Transfer Protocol (NNTP) Transporta slānis Saziņa starp procesiem (piem., ligzdām) Balstās uz tīkla slāni; atbalsta lietojumu slāni Piem., TCP un UDP Tīkla slānis Saziņa starp tīkla mezgliem Noslēpj konkrēto saišu realizāciju Piem., IP 30 30

logical end-end transport Transporta protokoli Nodrošina loģisko saziņu starp lietotņu procesiem, kas stādā dažādās mītnēs Darbojas mītnēs Sūtītājs: sadala lietotnes ziņojumus segmentos, un nodod tīkla slānim Saņēmējs: apvieno segmentus ziņojumos, nodot lietotņu slānim Ir izmantojami dažādi transporta protokoli Internetā: TCP, UDP, ICMP (galvenokārt) application transport network data link physical logical end-end transport network data link physical network data link physical network data link physical network data link physical network data link physical application transport network data link physical 31 31

Interneta transporta protokoli Datagrammu ziņojumu serviss (UDP) Vienkāršs IP "labākā iespējamā" servisa paplašinājums Multipleksēšana/demultipleksēšana starp procesiem Uzticama, sakārtota piegāde (TCP) Savienojuma izveide un izbeigšana Salauzto pakešu izmešana Pakešu pārsūtīšana Plūsmas kontrole Sastrēgumu kontrole Ko nenodrošina Kavējuma vai caurlaidspējas garantijas Savienojumus, kas pārdzīvo IP adreses maiņu 32 32

16b iesākuma kontrolsumma versija iesāk. garums 8b servisa tips (TOS) 16b kopējais garums (B) 16b identifikācija 3b Karogi 13b fragmenta nobīde 8b dzīves laiks (TTL) 8b protokols 16b iesākuma kontrolsumma 32b avota IP adrese 32b mērķa IP adrese Opcijas (ja ir) Vērtums 33

4 5 Payload 16-bit Total Length (Bytes) 16-bit Identification Type of Service (TOS) 16-bit Total Length (Bytes) 3-bit Flags 16-bit Identification 13-bit Fragment Offset 8-bit Time to Live (TTL) 8-bit Protocol 16-bit Header Checksum 32-bit Source IP Address 32-bit Destination IP Address Payload 34

4 5 Payload 16-bit Total Length (Bytes) 16-bit Identification Type of Service (TOS) 16-bit Total Length (Bytes) 3-bit Flags 16-bit Identification 13-bit Fragment Offset 8-bit Time to Live (TTL) 6 = TCP 17 = UDP 16-bit Header Checksum 32-bit Source IP Address 32-bit Destination IP Address Payload 35

4 5 Payload 16-bit Total Length (Bytes) 16-bit Identification Type of Service (TOS) 16-bit Total Length (Bytes) 3-bit Flags 16-bit Identification 13-bit Fragment Offset 8-bit Time to Live (TTL) 6 = TCP 17 = UDP 16-bit Header Checksum 32-bit Source IP Address 32-bit Destination IP Address 16-bit Source Port 16-bit Destination Port More transport header fields …. Payload 36

Multipleksēšana un demultipleksēšana Mītne saņem IP datagrammas Katrai datagrammai ir avota un mērķa adreses, Katrā datagrammā ir transporta slāņa segments Katram segmentam ir avota un mērķa ports Mītne izmanto IP adreses un portu numurus, lai aizvadītu segmentu uz noteiktu ligzdu 32 bits source port # dest port # other header fields application data (message) TCP/UDP segment format 37 37

Porti Kā noteikt, kurai lietotnei pienākas kuras paketes? Risinājums: katrai ligzdai nosaka portu Klientam ir jāzina servera ports Atsevišķi 16-bitu porti UDP unTCP (avota_IP, avota_ports, mērķa_IP, mērķa_ports) nosaka TCP savienojumu Kā ar UDP? Labi zināmie porti (0-1023): visi ir vienojušies, kas ir pievienots šiem portiem piem., ssh:22, http:80 Īslaicīgos portus (1024-65535) izmanto klienti Piem., pārlūkprogrammas, pļāpu lietotnes, vienranga tīkli 38 38

UDP: neuzticama ziņojumu nosūtīšana Vienkāršs starpprocesu saziņas veids Novērš garantētas nosūtīšanas papildu izmaksas Nosūta un saņem ziņojumus ligzdā User Datagram Protocol (UDP; RFC 768 - 1980!) IP un porta numurs nodrošina (de)multipleksēšanu Iespējama pakešu satura kļūdu kontrole (checksum field = 0 nozīmē “nepārbaudīt kontrolsummu”) SRC port DST port checksum length DATA 39 39

Kāpēc kādam vajadzīgs UDP? Precīzāka kontrole, kad un kā sūtīt datus Tiklīdz process iesūta datus ligzdā … UDP sagatavo un nosūta paketi Nav savienojuma izveides aiztures UDP vienkārši sūta datus bez jebkādiem priekšnoteikumiem … kas novērš nevēlamas aiztures Nav savienojuma stāvokļa Nav nepieciešami buferi, kārtas skaitļi, taimeri … … vienkāršāk apkalpot daudzus paralēlus klientus Nelieli paketes datu virstēriņi UDP iesākums ir tikai 8 baiti 40 40

Populāras lietotnes, kas izmanto UDP Multivides straumēšana Zaudēto/bojāto pakešu atkārtotai pārraidei nav jēgas, jo ir jau par vēlu Piem., telefona zvani, video konferences, spēles Jaunākie straumēšanas protokoli izmanto TCP (un HTTP) Vienkāršu pakalpojumu protokoli, piemēram, Domain Name System Savienojuma izveide dubultotu pakešu skaitu Ja nepieciešams, vienkāršāk lietotnei pārsūtīt datus “Address for bbc.co.uk?” “212.58.224.131” 41 41

Transmission Control Protocol (TCP) Savienojumu orientēts Tieša TCP savienojuma izveide un izbeigšana Piedāvā uzticamu datu straumi Nosūta un saņem baitu straumes, nevis ziņojumus Sastrēgumu kontrole Dinamiski pielāgojas tīkla caurlaidspējai Uzticama, sakārtota piegāde TCP pamatīgi strādā, lai nodrošināt uzticamu baitu straumi Lai arī ir datu bojājumi un zudumi Plūsmas kontrole Nodrošina, ka sūtītājs nepārslogo saņēmēju 42 42

Uzticama piegāde Kā tā tiek nodrošināta? Kā jūs sarunājaties trokšņainā telefona līnijā? Pozitīvs apstiprinājums (“Ack”) Saņēmējs tieši norāda, ka ir saņēmis TCP apstiprinājumi ir kumulatīvi (“Esmu saņēmis visu līdz #N”) Iespējams apstiprināt arī atsevišķus segmentus (“SACK”) Negatīvs apstiprinājums (“Nack”) “Neesmu saņēmis: …” Kā saņēmējs zina, ka kaut ko nav saņēmis? Vai to vienmēr var noteikt? (Izmanto TCP netieši izmantoto "ātro pārsūtīšanu") 43 43

Uzticama piegāde (turpinājums) Noildze Ja no saņēmēja ilgi nav ziņu, sūtīt vēlreiz Problēma: cik ilgi gaidīt? TCP izmanto novērtēto atbildes laiku (estimated RTT) Problēma: ko darīt ja neapstiprina atkārtotu pārraidi? TCP (u.c.) izmanto exponenciālo atkāpšanos (backoff) Nākamo pārsūtīšanu veic pēc 2* ilgāka laik, līdz sasniedz maksimāli pieļauto Samazina slodzi sastrēgumu laikā Pavisam cits uzticamības nodrošināšanas veids: sūtīt pārpalicīgus datus Telefona piemērs: “Tiksimies 14:00, atkārtoju, 14:00” Vienkārša kļūdu kontrole Zaudētos datus atgūst gandrīz momentā! Bet: iespējams tikai noteiktā zudumu diapazonā Un: tīklam rada papildu slodzi 44 44

TCP atbalsts garantētai piegādei Kārtas numuri Izmanto, lai noteiktu zudušos datus ... un lai saņemtos datus sakārtotu Kontrolsummas Izmanto, lai atklātu bojātos datus … saņēmējs šādu paketi nomet Ja netiek saņemta kļūda – atgriežas pie normālas pārraides Pārsūtīšana Sūtītājs pārsūta zudušos vai bojātos datus Noildzi nosaka pēc aprites laika (RTT) Ātrā pārsūtīšana straujai bojāto datu pārsūtīšanai 45 45

Veiktspējīgas uzticamības nodrošināšana 46 46

Vienkāršs "atkārtot pārraidi" (ARQ) Automatic Repeat Request Saņēmējs nosūta apstiprinājumu (ACK), kad ir saņēmis paketi Sūtītājs gaida ACK līdz iestājas noildze Viekāršs ARQ protokols Nosūti un gaidi Nosūti paketi un gaidi apstiprinājumu Sender Receiver Packet ACK Timeout Time 47 47

Cik ātri darbojas "nosūti un gaidi"? Pieņemam, ka sūtam no UCB uz Ņujorku: Caurlaidspēja = 1 Mb/s (megabits/sek) RTT = 100 msec Maximum Transmission Unit (MTU) = 1500 B = 12,000 b Nav citas slodzes un pakešu zudumu vai bojājumu Kāds ir aptuvenais "nosūti un gaidi" datu apmaiņas ātrums? Kas mainās, ja tīkla caurlaidspēja ir = 1 Gb/s? 48 48

Vairākas paketes lidojumā “Lidojumā” = “Neapstiprinātas” Sūtītāja problēma: cik daudz pakešu (baitu)? Saņēmēja problēma: cik daudz buferēt datiem, kas ir “virs apstiprinātā”? piem., datus nevar pārsūtīt, jo trūkst iepriekš sūtītie dati Pieņem, ka serviss nodrošina sakārtotu piegādi (kā TCP) 49 49

Pieļauj lielus datu apjomus “lidojumā” Slīdošais logs Pieļauj lielus datu apjomus “lidojumā” Ļauj sūtītājam skriet pa priekšu saņēmējam … tomēr, ne pārāk tālu pa priekšu Sending process Receiving process TCP TCP Last byte written Last byte read Receiver Window Sender Window Next byte needed Last byte ACKed Last byte received Last byte can send 50 50

Slīdošais logs (turpinājums) Sūtītājs un saņēmējs uztur logu, kurā tiek uzskaitīti dati, kas ir lidojumā, kurus sūtītājs ir nosūtījis, bet saņēmējs vēl nav saņēmis Loga kreisā mala: Sūtītājam: neapstiprināto datu sākums Saņēmējam: nenosūtīto datu sākums Sūtītājam: Loga izmērs = datu lidojumā apjoms Nosaka datu apmaiņas ātrums Sūtītājam vajag vismaz tik lielu, vai nedaudz lielāku buferi Saņēmējam: Loga izmērs = maksimālais nesaņemto datu daudzums Saņēmējam vajag vismaz šādā izmēra buferi 51 51

Kad sūtītājs saņem apstiprinājumu, logs virzās uz priekšu Slīdošais logs Kad sūtītājs saņem apstiprinājumu, logs virzās uz priekšu Sending process TCP Last byte written Sender Window Last byte ACKed Last byte can send 52 52

Kad sūtītājs saņem apstiprinājumu, logs virzās uz priekšu Slīdošais logs Kad sūtītājs saņem apstiprinājumu, logs virzās uz priekšu Sending process TCP Last byte written Sender Window Last byte ACKed Last byte can send 53 53

Saņēmējam logs virzās uz priekšu, kad sakārtotos datus savāc process Slīdošais logs Saņēmējam logs virzās uz priekšu, kad sakārtotos datus savāc process Receiving process TCP Last byte read Receiver Window Next byte needed Last byte received 54 54

Saņēmējam logs virzās uz priekšu, kad sakārtotos datus savāc process Slīdošais logs Saņēmējam logs virzās uz priekšu, kad sakārtotos datus savāc process Receiving process TCP Last byte read Next byte needed Receiver Window Last byte received 55 55

Slīdošais logs (turpinājums) Sūtītāja: logs bīdās uz priekšu, kad saņem apstiprinājumu Saņēmēja: logs virzās uz priekšu, kad process savāc datus Kas notiek, ja sūtītāja logs izstiepjas garāks par saņēmēja logu? Saņēmējs brīdina sūtītāju, kur beidzas saņēmēja logs (loga “labā mala”) Sūtītājs piekrīt nepārkāpt šo robežu Tas izveido savu logu tādu, lai tā mala nepārsniedz saņēmēja loga malu 56 56

Slīdošā loga veiktspēja Tas pats UCB  Ņujorka 1 Mb/s ar 100 msec RTT sūtītāja un saņēmēja logi = 100 Kb = 12.5 KB Cik ātri var pārraidīt? Kas notiek, ja ir 12.5 KB logs un 1 Gb/s tīkls? Lai pilnībā izmantotu tīklu, logs ir: Caurlaidspēja*aizture 1 Gb/s * 100 msec = 100 Mb = 12.5 MB Piezīme: lieli logi = daudzas paketes lidojumā 57 57

Balstīta uz garāko atbilstošo prefiksu Apkopojums IP pakešu pārsūtīšana Balstīta uz garāko atbilstošo prefiksu Tīkla gala sistēmas (mītnes) izmanto tīkla masku, lai noteiktu, vai pakete pieder lokālajam tīklam (LAN) ... un šajā gadījumā tās sūta paketes pa tiešo, izmantojot ARP lai noteiktu MAC adresi … ja pakete pieder citam tīklam ... tad paketi pārsūta lokālā tīkla vārtejai (maršrutētājam) To iestata manuāli, vai arī dinamiski ar DHCP Transporta protokoli Multipleksēšana/demultipleksēšana notiek, izmantojot portu numurus UDP nodrošina vienkāršu datagrammu servisu TCP nodrošina uzticamu baitu straumi Uzticamība uzreiz rada veiktspējas problēmas Piem. "Pārtrauc un gaidi" un "Slīdošais logs" 58 58