DIG IN TO Nätverksteknologier

Relevanta dokument
Föreläsning 5. Vägval. Vägval: önskvärda egenskaper. Mål:

TCP/IP och Internetadressering

DIG IN TO Nätverksteknologier

DIG IN TO Nätverksteknologier

Grundläggande nätverksteknik. F3: Kapitel 4 och 5

Transportnivån. Kommunikation mellan processer. Kommunikation mellan processer. Sockets och TCP. UDP (User Datagram Protocol) Checksumman

TCP och UDP-nivån. Portnummer

Internetprotokollen. Maria Kihl

Föreläsning 9 Transportprotokoll UDP TCP

Kihl & Andersson: Kapitel 6 (+ introduktioner från kap 7, men följ slides) Stallings: 9.5, 14.1, 14.2, Introduktion i 14.3, 16.1

Tentamen i Datorkommunikation den 10 mars 2014

Grundläggande nätverksteknik. F2: Kapitel 2 och 3

Kihl & Andersson: , Stallings: , , DHCP beskrivs även bra på

5 Internet, TCP/IP och Applikationer

DIG IN TO Nätverksteknologier

Mattias Wiggberg 1. Orientera på Internet. IP-adress. IP-adresserna räcker inte... Mer om IP-adresser

DIG IN TO Nätverksteknologier

5 Internet, TCP/IP och Tillämpningar

Internetprotokollen. Maria Kihl

DIG IN TO Administration av nätverk- och serverutrustning

Stora datanät. Maria Kihl

5. Internet, TCP/IP tillämpningar och säkerhet

DA 2012: F13. Nätverk 2 Ann-Sofi Åhn

Instuderingsfrågor ETS052 Datorkommuniktion

Internet. Internet hur kom det till? Internets framväxt. Ett hierarkiskt uppbyggt telenät Kretskopplat/circuit switching

IT för personligt arbete F2

Ver Guide. Nätverk

KomSys Hela kursen på en föreläsning ;-) Jens A Andersson

Transportskiktets uppgifter. Transportskiktet UDP. UDP-kapning (DNS) DNS-sökning, Ethernet-ram <#>

Grundläggande datavetenskap, 4p

Transportskiktet. Sidorna , i boken

Datasäkerhet och integritet

1. Internets Applikationer 8 poäng

Olika slags datornätverk. Föreläsning 5 Internet ARPANET, Internet började med ARPANET

Från användare till användare ARP. (Maria Kihl)

Datakommunika,on på Internet

Tentamen i datakommunikation EDA343/DIT420 Vt 2011

Tillförlitlig dataöverföring. Jens A Andersson

Real-time requirements for online games

Hanna Germundsson, Karl-Johan Lundberg.

Karlstads universitet Institutionen för Informationsteknologi Datavetenskap

5. Internet, TCP/IP och Applikationer

3) Routern kontrollerar nu om destinationen återfinns i Routingtabellen av för att se om det finns en väg (route) till denna remote ost.

Grundläggande nätverksteknik. F7: Rep66on

Christer Scheja TAC AB

Datainsamling över Internet

Kapitel 5: Lokala nät Ethernet o 802.x. Lokala nät. Bryggan. Jens A Andersson (Maria Kihl)

WWW. Exempel på klientsidan. Överföring av en html-fil. Snyggare variant. Verkligt format. Meddelandeformat för begäran HTTP

Objektorienterad Programkonstruktion. Föreläsning 10 7 dec 2015

Kihl & Andersson: , 4.5 Stallings: , , (7.3)

DIG IN TO Nätverksteknologier

Föreläsning 5: ARP (hur hitta MAC-adress) IPv4, IPv6 Transportprotokoll (TCP) Jens A Andersson

Datakommunika,on på Internet

Vad är Internet? - Flera olika slags nät - Vill kunna kommunicera över dessa nät - Vad gör man?

Föreläsning 5: Stora datanät Från användare till användare ARP

Webbteknik II. Föreläsning 4. Watching the river flow. John Häggerud, 2011

Informationsteknologi sommarkurs 5p, Datakommunikation

Uppgift: Design and evaluation of a TCP proxy which provides secure tunneling to another TCP proxy.

Lokala nät Ethernet o 802.x. (Maria Kihl)

Hur Internet fungerar?

Föreläsning 5: ARP (hur hitta MAC-adress) Från applikation till applikation

Stora datanät Från användare till användare. Jens A Andersson

F8 Meddelandesändning med UDP

3. Remote Procedure Call (RPC)

DIG IN TO Administration av nätverk- och serverutrustning

Föreläsning 9. Transportskiktet. User Datagram Protocol (1/2) Introduktion till modern telekommunikation Gunnar Karlsson, Bengt Sahlin 1

LABORATIONSRAPPORT Säkerhet och Sårbarhet Laboration 1 Brandväggar

Länkhantering (feldetektering, felhantering, flödeskontroll) Maria Kihl

Ad-hoc-nätverk och spontana nätverk

Hur BitTorrent fungerar

Laborationer onsdag/fredag. Laborationer onsdag/fredag. Tillförlitlig dataöverföring Multiplexering Lokala nät (inledning) Labbmanual

DIG IN TO Administration av nätverk- och serverutrustning

Skriftlig tentamen i kursen TDTS04 Datornät och distribuerade system kl. 8 12

Datalänklagret. Datalänklagret ska:

Grundläggande nätverksteknik. F1: Introduk6on

Tillförlitlig dataöverföring Egenskaper hos en länk Accessmetoder. Jens A Andersson

Karlstads universitet Institutionen för Informationsteknologi Datavetenskap

Tentamen Nätverksprogrammering Lösningsförslag

Övningar - Datorkommunikation

Nätverk och Java, grunder Föreläsning 0: 0: Introduktion till Internet

Kapitel 5: Lokala nät Ethernet o 802.x. Felkorrektion. Att bekräfta paket. Jens A Andersson (Maria Kihl)

Karlstads universitet Institutionen för Informationsteknologi Datavetenskap

2D1395, Datasäkerhet. GF3 Paketfiltrering

Testtentamen i kursen TDTS04 Datornät och distribuerade system vt 2009

Introduktion - LAN Design och switching concepts Basic Switch Concepts and Configuration Frågor? Referenser. Nätverksteknik 2

Webbservrar, severskript & webbproduktion

Följande signaler har kodats med Manchester. Hur ser bitströmmen ut om den inleds med en 0:a?

IP-baserade program. Telnet

SSL/TLS-protokollet och

IP Från användare till användare Vägval DNS Jens A Andersson (Maria Kihl) Att skicka data över flera länkar. Nätprotokoll

1. Blandade frågor 4p

adressöversättning. Adressöversättning bryter mot principen att kommunicera end-to-end. introduktion till ip 93 Testa själv

RUTINBESKRIVNING FÖR INSTALLATION AV KAMERA

Mattias Wiggberg 1. Datorkommunikation, grundbegrepp. Skiktade kommunikationsprotokoll

F1 Nätverk och meddelandesändning

Transport Layer. Transport Layer. F9 Meddelandesändning med UDP EDA095 Nätverksprogrammering. Java och UDP TCP/UDP

Nätverk grunder Föreläsning 1: 1: Introduktion till Internet

DIG IN TO Administration av nätverk- och serverutrustning

Systemkrav och tekniska förutsättningar

IP-telefoni (Voice over IP) Jonas Myhrman, , D.

Transkript:

DIG IN TO Nätverksteknologier

CCNA 1 Transportskiktet

Agenda Transportskiktets syfte Kommunikationskontroller Tillförlitligt och otillförlitlig transport protokoll TCP och UDP protokoll TCP Header TCP Initiering och stängning TCP flödeskontroll Portadressering Datasegmentering UDP server-klient process

CCNA 1 Inledning

Transportskiktets syfte tillhandahålla datasegmentering och styra hur segmenten sätts ihop på destinationen. följa upp varje enskild kommunikation genom att behålla aktiva alla kommunikationsströmmar. beskriva tjänster för datainkapsling och dess associationer. specificera rätt applikation vid destinationen. Leverera dataströmmar till rätt program via rätt portnummer. 1

Kommunikationskontroller Transportskiktet etablerar först en session mellan kommunicerande applikationer innan data överförs. Kommunikationskontroller möjliggör felfria leveranser. Det gäller att ha ordning i leveranser. Flödeskontrollen reglerar sändarens och mottagarens överföringsresurser: bandbredden buffertminnet. 2

Felhantering Flera applikationer kan kommunicera med varandra samtidigt (multiplexering) och enskilda dataströmmar kan identifieras. Segmentering möjliggör multiplexering. Fel kan uppstå och det måste identifieras för att reglera dataflöde återsända felaktiga leveranser. 3

Datasegmentering Program kan generera stora datamängder som inte kan direkt transporteras. Begränsningar i nätverkshanterare och eventuella fel skulle komplicera överföringen samt öka rejält leveranstiden. Data segmenteras så att de kan multiplexeras. Styrinformation i headern hjälper till att dataströmmar sätts ihop i rätt ordning. UDP och TCP tillhandahåller hantering av styrinformation 17

CCNA 1 Transportskiktets protokoll

Tillförlitliga och otillförlitliga transportprotokoll Tillförlitliga: Följer upp varje dataström Kvitterar felfria leveranser Återsänder icke kvitterade leveranser. Otillförlitliga: Är snabba Mindre styrinformation Kvitterar inte leveranser Återsänder inte Levererar utan ordning Programmerare väljer protokoll associerat till applikationen. 4

TCP header TCP är ett förbindelseorienterat protokoll därmed kan det garantera felfria leveranser. Kontrollmekanismer specificeras i varje segments header. Avsändaren och destinationen identifieras via portnummer. Segment sätts ihop med hjälp av sekvensnummer. Leveranser i byte kvitteras. Headerns längd specificeras och dataflödet regleras. Felkontroll Alternativ 0101 ACK RST SYN FIN 6

UDP header UDP är ett förbindelselöst protokoll som är snabbare än TCP men det verifierar inte dataleveranser. Om tillförlitlighet krävs när UDP används som transportprotokoll, måste det hanteras av applikationen. En av de viktigaste kraven för att leverera live video och röst över nätverket är att data fortsätter att flöda snabbt. Live video- och röstprogram kan tolerera viss dataförlust med minimal eller ingen märkbar effekt och passar utmärkt för UDP. UDP segment kallas datagram och dess header är inte större än 8 byte. 6

Portadressering TCP och UDP baserade tjänster identifierar kommunicerande applikationer med hjälp av deras portnummer. I tillhörande headern på varje segment eller datagram finns avsändarens och destinationens portnummer. Portnummer tilldelas beroende på meddelandets typ (request/replay). IP adress kombinerat med portnummer kallas "socket" 192.168.1.20:80 13

Portadressering Portnummer genereras med 16 bitar (2 ^16 =65536). System Ports: 0 1023. wellknown ports används av välkända kommunikationsprotokoll. User Ports: 1024 49151 (Registered Ports) Dynamic/Private Ports: 49152-65535 Servrar använder systemportnummer (0 1023). Klienter använder slumpartade portnummer över 1 023. Systemportnummer tilldelas av IETF Användarportnummer och Privata portnummer tilldelas av IANA. 14

Portadressering 172.39.1.55 80 NAT 1150 2250 172.39.1.65 110 181.171.161.51 192.168.10.22 Till Från begär 172.39.1.55:80 181.171.161.51:1150 HTTP 172.39.1.65:110 181.171.161.51:2250 POP3 Till Från Svar 181.171.161.51:1150 172.39.1.55:80 HTTP 181.171.161.51:2250 172.39.1.65:110 POP3 15

Netstat Netstat returnerar en tabell med de aktiva portar Adressen 0.0.0.0 innebär att datorn tar emot anrop från vilken annan adress som helst. Adress 127.0.0.1 innebär att programmet bara accepterar anrop från den egna maskinen. Port scanning: nslookup www.astar.se Online port scanning 16

CCNA 1 TCP och UDP

Tillförlitlig kommunikation Tillförlitligheten i TCP kommunikation utförs av förbindelseorienterade sessioner. En session etableras först där sändaren och destinationen sammanbinds innan någon dataöverföring sker. Efter en session har etablerats, sänder destinationen bekräftelser till källan för de segment som den tar emot. 7

TCP sessions initiering TCP sessioner startas av klienter i en trestegsprocess som kallas handskakning: 1. Klienten skickar ett segment som identifieras med en sekvensnummer 2. Servern svarar med en ACK signal (samma SN + 1), samt synkroniseringstiden 3. Klienten svarar med en ACK signal Klient server 3 1 Send SYN SEQ=100 CTL=SYN SYN received Established (SEQ=101 ACK=301 CTL=ACK) SYN received Send SYN, ACK SEQ=300 ACK=101 CTL=SYN, ACK ACK received 2 8

TCP sessions terminering För att avsluta uppkopplingen används en två vägs handskakning. 1. När klienten inte har mer data att sända skickar till server ett segment med flaggan FIN satt till ett. 2. Servern svarar med ett ACK signal 3. Server skickar ett segment med flaggan FIN 4. Klienten svarar med en ACK signal. 4 1 Send FIN ACK received FIN received Send ACK FIN received Send ACK Send FIN ACK received 3 2 9

Flödeskontroll - Windowing Mottagare använder kvittensnumret för att verifiera leveranser av bytes och för att indikera att den är redo att ta emot nästa bitgrupp i sessionen Avsändaren förväntas sända ett segment identifierat med ett sekvensnummer som är lika med kvittensnumret. Sekvensnummer och kvittensnummer utbyts i båda riktningarna. För många kvittenser, istället kan flera segment sändas och bekräftas med en enda TCP-meddelande. 10

Flödeskontroll window size Flödeskontrollen hjälper att justera dataöverföring under en session så att ingen återsändning behövs göra det. Detta kallas fönsterstorlek (Window Size). Fönsterstorleken specificeras i ett fält i TCP-huvudet. När avsändaren verifierar att mottagaren klarar av att ta emot den överförda datamängden, fortsätter dataöverföringen. Den ursprungliga fönsterstorleken bestäms i sessionens handskakning. 11

Flödeskontroll dynamisk justering Fönsterstorleken kan dimensioneras dynamiskt genom att avsändaren kräver fler kvittenser. Det gör att dataöverföringens takt sänks eftersom avsändaren måste vänta för en kvittens innan en ny överföring skickas ut. Mottagaren kan också skicka en kvittens som indikerar mindre buffertkapacitet. Avsändaren sänker då fönsterstorleken enligt mottagarens kvittens. När det inte verifieras någon dataförlust kan avsändaren öka fönsterstorlek successivt tills det uppstår dataförlust. 12

TCP datasegmentering För att det ursprungliga meddelandet ska kunna förstås av mottagaren måste alla segment sättas ihop i rätt ordning. Segmenten anländer till destinationen i olika ordning. Detta kan göras med segmentets sekvensnummer. Den mottagande TCP process placerar mottagna kopior i sitt mottagningsbuffert. Där placeras segmenten i rätt ordning innan de skickas till applikationsskiktet. 18

TCP sekvensnummer Under en session ställs in en initial sekvensnummer (ISN). ISN representerar utgångsvärde för varje överförd byte. Sekvensnumret ökar under dataöverföringen motsvarande med det antal byte som har levererats. Denna sekvens av databyten gör att varje segment kan identifieras och monteras i rätt ordning vid destinationen. Saknade segment kan identifieras och återsändas. 19

TCP återsändning Mottagaren kvitterar endast mottagna leveranser av bytes. En kopia av överförda segment läggs i avsändarens buffert. Varje kopia stämplas med en timer. Segmenten tas bort från bufferten när kvittenser ankommer, annars återsänds de. Diskontinuerliga kvittensen kan accepteras om funktionen "Selective Acknowledgements" stödjas, sänds åter endast de borttappade segment. 20

UDP datagramhantering Eftersom UDP är förbindelselöst protokoll föregås inte några uppkopplingar innan någon kommunikation sker. Program som använder UDP skickar små mängder data som kan passa i ett segment. Dock kommer vissa program att skicka större mängder data som behöver segmenteras, dessa segment kallas datagram. När flera datagram skickas till en destination, kan de ta olika vägar och komma fram i fel ordning. UDP slår samman alla mottagna datagram utan ordning och vidarebefordrar den till högre skikt i kommunikationsmodellen. 21

UDP datagramhantering UDP är ett enkelt transportprotokoll som saknar säkerhetsmekanismer för återsändning, flödeskontroll. Säkerhetsmekanismer kan tillhandahållas av andra protokoll. Även om den totala mängden av UDP- trafik är ofta relativt låg finns flera populära nätverkstjänster och applikationer som använder UDP exempelvis: Domain Name System (DNS) Simple Network Management Protocol (SNMP) Dynamic Host Configuration Protocol (DHCP) Routing Information Protocol (RIP) Trivial File Transfer Protocol ( TFTP ) Online-spel 22

UDP serverprocess Liksom TCP-baserade applikationer tilldelas UDP-baserade serverprogram välkända eller Registrerade portnummer. När dessa program eller processer körs kommer de att acceptera data som matchar med den tilldelade portnummer. UDP tar emot ett datagram avsedda för någon av dessa program/tjänst och vidarebefordrar den till rätt applikation. 23

UDP klientprocess UDP klientprocessen väljer slumpmässigt ett portnummer från de dynamiska portnummer. UDP serverprocessen använder en av de välkända eller registrerade portnummer. Randomiserade portnummer ökar säkerheten. Dessa tilldelade portnummer används för alla datagram i transaktionen. 24

Sammanfattning Transportsskiktets primära syfte är datasegmentering och datarekonstruktion. Eftersom data ankommer till destinationen i olika tider behövs ett sekvensnummer för rekonstruktionen. UDP är ett enkelt förbindelselös protokoll som är snabbare än TCP men saknar säkerhetsmekanismer. TCP använder kvittensnumret för att verifiera leveranser av bytes och för att välkomma nästa bitgrupp i sessionen (expectational acknowledgement). Flödeskontrollen hjälper att justera dataöverföring under en session så att ingen återsändning behövs. Fönsterstorleken kan dimensioneras genom att avsändaren kräver fler kvittenser. 25