Скачать презентацию Datakommunikasjon Høsten 2001 Forelesning nr 10 29 oktober Скачать презентацию Datakommunikasjon Høsten 2001 Forelesning nr 10 29 oktober

93716388f66ba110dff88a2a4d9e3cd2.ppt

  • Количество слайдов: 70

Datakommunikasjon Høsten 2001 Forelesning nr 10, 29. oktober 2001 Chapter 17 Transport Protocols + Datakommunikasjon Høsten 2001 Forelesning nr 10, 29. oktober 2001 Chapter 17 Transport Protocols + DNS og SNMP

Øvingsoppgaver z Ingen z Obligatorisk oppgave nr 2 deles ut onsdag 31. oktober. z Øvingsoppgaver z Ingen z Obligatorisk oppgave nr 2 deles ut onsdag 31. oktober. z Innleveringsfrist onsdag 14. oktober z Prøveekasamen deles ut mandag 19. november z Gjennomgang onsdag 28. november z Eksamen tirsdag 4. desember

Pensum Chapter 19 Distributed Applications z Følgende er IKKE pensum: z Kapittel 19. 1 Pensum Chapter 19 Distributed Applications z Følgende er IKKE pensum: z Kapittel 19. 1 ASN. 1 z Forelesning 12. november: Network Security (selvkomponert) z Forelesning 19. november: Repitisjon

Dagens tekst: z Transportlaget z TCP – Transmission Control Protocol z UDP – User Dagens tekst: z Transportlaget z TCP – Transmission Control Protocol z UDP – User Datagram Protocol z DNS – Domain Name System z SNMP – Simple Network Management Protocol (? )

TCP – Transmission Control Protocol TCP – Transmission Control Protocol

Kommunikasjonslagene (referert til OSI) Internet-TCP/IP FTP HTTP SMTP OSI Application DNS Presentation Session TCP Kommunikasjonslagene (referert til OSI) Internet-TCP/IP FTP HTTP SMTP OSI Application DNS Presentation Session TCP IP UDP PPP Ethernet Network Data Link ARP Transport Network ICMP Transport Data Link Physical

TCP & UDP z Transmission Control Protocol y. Forbindelsesorientert y. RFC 793 z User TCP & UDP z Transmission Control Protocol y. Forbindelsesorientert y. RFC 793 z User Datagram Protocol (UDP) y. Forbindelsesløs (datagram tjeneste) y. RFC 768

Eks. på brukere av TCP z Telnet yport 23 z FTP (File Transfer Program) Eks. på brukere av TCP z Telnet yport 23 z FTP (File Transfer Program) yport 20 og 21 z SMTP (Simple Mail Transfer Program) yport 25 z DNS (Domain Name System) yport 53 z HTTP (WEB-trafikk) yport 80

Eks. på brukere av UDP z TFTP (Trivial File Transfer Protocol) yport 69 z Eks. på brukere av UDP z TFTP (Trivial File Transfer Protocol) yport 69 z DHCP (Dynamic Host Configuration Protocol) yport 67 og 68 z NTP (Network Time Protocol) yport 123 z DNS (Domain Name Sytem) yport 53

Sockets begrepet z Sending socket y. Avsender IP-adresse + port nummer z Receiving socket Sockets begrepet z Sending socket y. Avsender IP-adresse + port nummer z Receiving socket y. Mottaker IP-adresse + port nummer z Benyttes ifm API-er y. API-Application Program Interface

TCP z TCP overfører data mellom en klient og en tjener (client/server) z Data TCP z TCP overfører data mellom en klient og en tjener (client/server) z Data overføres i segmenter z Brukerene av TCP leverer data som en strøm av data (stream oriented) z TCP sørger for feilretting og at data leveres videre til brukeren av TCP i korrekt rekkefølge z Forbindelsesorientert y Oppkoblingsfase y Dataoverføringsfase y Nedkoblingsfase

TCP streams og segmenter A B Stream TCP Stream Segmenter TCP TCP streams og segmenter A B Stream TCP Stream Segmenter TCP

TCP pakke TCP pakke

Oppgaver til TCP z Adressering z Multipleksing, en TCP prosess må kunne håndtere flere Oppgaver til TCP z Adressering z Multipleksing, en TCP prosess må kunne håndtere flere applikasjoner z Flytkontroll z Feilkontroll z Opp og nedkobling

Adressering z Applikasjon adresseres med: xhost, port • Kalles en socket i TCP x. Adressering z Applikasjon adresseres med: xhost, port • Kalles en socket i TCP x. Port representerer en bruker av TCP, dvs en applikasjon y. Transport entity identifikasjon • TCP og UDP y. Host og nettverksadresse, dvs IP-adresse

Multipleksing z Flere applikasjoner kan benytte samme transport protokoll z Applikasjon identifiseres med port Multipleksing z Flere applikasjoner kan benytte samme transport protokoll z Applikasjon identifiseres med port nummer eller service access point (SAP)

Flytkontroll z Variabel transmissjonsforsinkelse y. Vanskeligjør bruk av timere z Må ha flytkontroll pga Flytkontroll z Variabel transmissjonsforsinkelse y. Vanskeligjør bruk av timere z Må ha flytkontroll pga at: y. Mottaker ikke kan motta data så raskt som avsender z Resulterer i buffere som fylles

Håndtering av krav til flytkontroll (1) z Gjør ingenting y. Segmenter kastes y. Avsender Håndtering av krav til flytkontroll (1) z Gjør ingenting y. Segmenter kastes y. Avsender vil ikke motta ACK og vil retransmittere x. Resulterer i mer inndata z Avise segmenter når buffer er fullt y. Trigger flytkontroll på lavere lag. y. Hvis flere transportforbindelser er multiplekset over en enkelt nettverksforbindelse foregår flytkontrollen “summen” av alle transportforbindelsene

Håndtering av krav til flytkontroll (2) z Bruke av fast sliding window protokoll y. Håndtering av krav til flytkontroll (2) z Bruke av fast sliding window protokoll y. Fungerer bra i pålitelige nett x. Manglende mottak av ACK håndteres som flytkontroll y. Fungerer dårlig i upålitelige nett x. Kan ikke skille mellom tapte pakker og flytkontroll z Bruk av “credit scheme”

Credit Scheme z Vindusstørrelse og ACK er ikke lenger koblet sammen y. Kan gi Credit Scheme z Vindusstørrelse og ACK er ikke lenger koblet sammen y. Kan gi ACK uten å gi kreditt og vice versa z Hver oktett har et sekvensnummer z Hvert transport segment har sekvens nummer, ack nummer og vindusstørrelse i header

TCP oppkobling Maskin A Maskin B SYN (SYNchronize sequence numbers) SYN, ACK TID Kalles TCP oppkobling Maskin A Maskin B SYN (SYNchronize sequence numbers) SYN, ACK TID Kalles for: Three-way handshake

TCP sekvens nummer Maskin A Maskin B SYN=1, Sequence=X SYN=1, ACK=1, Sequence=Y, Ack no=X+1 TCP sekvens nummer Maskin A Maskin B SYN=1, Sequence=X SYN=1, ACK=1, Sequence=Y, Ack no=X+1 ACK=1, Ack no=Y+1 TID

Credit Allocation Credit Allocation

Sending and Receiving Perspectives Sending and Receiving Perspectives

Three Way Handshake: Examples Three Way Handshake: Examples

Three Way Handshake: State Diagram Three Way Handshake: State Diagram

Netstat –s (gir protokollstatistikk) TCP Statistics Active Opens = 696 Passive Opens = 39 Netstat –s (gir protokollstatistikk) TCP Statistics Active Opens = 696 Passive Opens = 39 Failed Connection Attempts = 46 Reset Connections = 363 Current Connections =3 Segments Received = 265696 Segments Sent = 275847 Segments Retransmitted = 285

TCP - Transmission Control Protocol RFC 793 TCP Header Source Port Destination Port Sequence TCP - Transmission Control Protocol RFC 793 TCP Header Source Port Destination Port Sequence Number Acknowledge Number Header Length Reserved U A P R S F R CK S S Y I G H T N N TCP Checksum Window Size Urgent Pointer Options

URG (Urgent mode) flagg z Urgent mode y. Gir mulighet for den ene part URG (Urgent mode) flagg z Urgent mode y. Gir mulighet for den ene part å fortelle at ”urgent data” er sent innimellom den normale datastrømmen z Urgent mode aktiveres ved å y. URG bit settes = 1 y 16 bir urgent pointer settes til et positivt offset y. Urgent data befinner er da i de oktettene som angis av sequence number + urgent pointer offset z Benyttes av telnet, rlogin og FTP.

ACK – Acknowledge number z Benyttes til å si at dette er kvittering for ACK – Acknowledge number z Benyttes til å si at dette er kvittering for mottatte data

PSH (PUSH) flagg z Avsender side: y. Brukeren av TCP setter PUSH flagget for PSH (PUSH) flagg z Avsender side: y. Brukeren av TCP setter PUSH flagget for at TCP skal sende data som er mottatt med en gang, dvs ikke vente til at bufferet f. eks. er fullt. z Mottaker side: y. TCP skal sende de mottatte data umiddelbart til brukeren av TCP z Eksempel på bruk er telnet

RST (RESET) flagg z RESET flagg benyttes til å yresette en forbindelse yavbryte en RST (RESET) flagg z RESET flagg benyttes til å yresette en forbindelse yavbryte en forbindelse z Oppsett til en ikke eksisterende port y. TCP sender RESET y. UDP sender ICMP port unreachable z Eksempel telnet til en ikke eksisterende port

SYN (SYNCHRONIZE) flagg z Synkronisering av sekvens nummer ifm initiering av en forbindelse z SYN (SYNCHRONIZE) flagg z Synkronisering av sekvens nummer ifm initiering av en forbindelse z Avsender et SYN segment som inneholder ”initial sequence number” z Mottaker returnerer et syn segment som også inneholder ”initial sequence number”

FIN flagg z Indikerer at forbindelsen skal kobles ned, dvs det skal ikke overføres FIN flagg z Indikerer at forbindelsen skal kobles ned, dvs det skal ikke overføres flere data z TCP avslutter forbindelsen z TCP foretar en såkalt ”half close” når en forbindelse kobles ned z Dette betyr at selv om den ene siden har sendt FIN kan fortsatt den andre siden sende data

TCP - Sekvens opp- /nedkobling RFC 793 SYN, detaljer SYN, ACK - Data FIN TCP - Sekvens opp- /nedkobling RFC 793 SYN, detaljer SYN, ACK - Data FIN ACK Sekvens detaljer FIN ACK detaljer

TCP half close Applikasjon avslutter FIN ACK DATA Applikasjon leser data FIN ACK Applikasjon TCP half close Applikasjon avslutter FIN ACK DATA Applikasjon leser data FIN ACK Applikasjon sender data

TCP Mekanismer (1) z Oppsett y. Three way handshake y. Mellom to porter (source TCP Mekanismer (1) z Oppsett y. Three way handshake y. Mellom to porter (source og destination port) z Data transfer y. Logisk strøm av oktetter y. Oktettene er nummerert modulo 223 y. Flyt kontroll basert på kreditt av nummer av oktetter y. Data buffres hos avsender og mottaker

TCP Mekanismer (2) z Nedkobling y. Graceful close y. TCP bruker sender CLOSE primitive TCP Mekanismer (2) z Nedkobling y. Graceful close y. TCP bruker sender CLOSE primitive y. Transport entity setter FIN flagg på siste segment som sendes y. ABORT primitive x. All sending og mottak av data opphører x. RST sendes

Implementeringsopsjoner z Send z Deliver z Accept z Retransmit z Acknowledge Implementeringsopsjoner z Send z Deliver z Accept z Retransmit z Acknowledge

Sending av data z Hvis ikke PUSH flagget er satt kan TCP sende data Sending av data z Hvis ikke PUSH flagget er satt kan TCP sende data når den synes det “passer” z Data buffres i et sende buffer z Kan vente med å sende til den har fått en viss mengde data

Levering av data z Hvis ikke PUSH flagg, levere når det passer z KAn Levering av data z Hvis ikke PUSH flagg, levere når det passer z KAn levere data etter hvert som den mottar segmenter z Kan lagre data i et buffer før det sendes videre

Aksept av mottatte data z Segments kan ankomme ute av sekvens z Segmenter y. Aksept av mottatte data z Segments kan ankomme ute av sekvens z Segmenter y. Akseptere kun segmenter i riktig rekkefølge y. Forkaste segmenter som ikke kommer i riktig rekkefølge z Innenfor vindusstørrelsen y. Akseptere alle segmenter innenfor mottakervindu

Retransmisjon z TCP vedlikeholder en kø av de segmenter som er sendt og som Retransmisjon z TCP vedlikeholder en kø av de segmenter som er sendt og som ikke det er mottatt ack på z TCP vil retransmittere hvis det ikke er mottatt ACK innen en viss tid

Acknowledgement z Øyeblikkelig z Kumulative, dvs mottar flere segmenter før ACK sendes Acknowledgement z Øyeblikkelig z Kumulative, dvs mottar flere segmenter før ACK sendes

TCP Slow Start z Algoritme som skal sørge for at TCP tilpasser seg overføringskapasiteten TCP Slow Start z Algoritme som skal sørge for at TCP tilpasser seg overføringskapasiteten i nettet z Kalles ”Congestion window” eller cwnd z Er initielt satt til et segment hvor størrelsen av segmentet er den segmentstørrelsen som er annonsert av mottakeren z Hver gang en ACK mottas økes cwnd med 1

UDP z User datagram protocol z RFC 768 z Forbindelsesløs tjeneste y. Det settes UDP z User datagram protocol z RFC 768 z Forbindelsesløs tjeneste y. Det settes ikke opp noen forbindelse mellom avsender og mottaker som med TCP y. Upålitelig y. Garanterer ikke at data kommer frem z Lite overhead

UDP og fragmentering z Et UDP datagram resulterer hos avsender i et IP datagram UDP og fragmentering z Et UDP datagram resulterer hos avsender i et IP datagram z Et IP datagram kan imidlertid bli fragmentert dersom MTU (Maximum Transfer Unit) er mindre enn størrelsen på IP datagrammet z Dette settes i sammen hos mottakeren, men hvis det er feil forkastes alle fragmenter z IP ber ikke om retransmisjon, og heller ikke UDP z Tjenesten som benytter UDP må derfor ta ansvar for all retransmisjon

UDP - User Datagram Protocol RFC 768 UDP Header Source Port Destination Port UDP UDP - User Datagram Protocol RFC 768 UDP Header Source Port Destination Port UDP length UDP checksum UDP length = lengden av hele datagrammet UDP checksum = sjekksum av hele datagrammet Eksempel

DNS - Domain Name System RFC 1034, RFC 1035 z Mapper mellom hostnavn og DNS - Domain Name System RFC 1034, RFC 1035 z Mapper mellom hostnavn og IP-adresse (og omvendt) z Benyttes av TCP/IP applikasjoner z Distribuert, hierarkisk z Benytter både TCP og UDP som transport, port nummer 53 z Eksempler y DNS Query y DNS Reply

DNS - Domain Name System RFC 1034, RFC 1035 z Distribuert y Ingen navneserver DNS - Domain Name System RFC 1034, RFC 1035 z Distribuert y Ingen navneserver har lagret all informasjon y Et nett (firma, organisasjon o. l) har en eller flere navneservere x. Inneholder hele eller deler av egne definisjoner x. Håndterer også forespørsler utenfra z Hierarkisk y Hvis egen server ikke har nødvendig informasjon, sendes forespørselen til nivået over y Et overliggende nivå vil gjenkjenne nok til å kunne velge underliggende nivå forespørsel.

DNS - Domain Name System RFC 1034, RFC 1035 Unnamed root Top Level Domains DNS - Domain Name System RFC 1034, RFC 1035 Unnamed root Top Level Domains Second Level Domains ARPA COM INADDR YAHOO SCANDPOWER 36 PEOPLE WWW 136 NO 69 196 EDU GOV MIL NET ORG Generic Domains ARPA - Special Domain for address-to-name mappings AE NO ZW Country Domains

DNS - Domain Name System RFC 1034, RFC 1035 z Resultat fra en ekstern DNS - Domain Name System RFC 1034, RFC 1035 z Resultat fra en ekstern forespørsel kan lagres i lokal navneserver til senere bruk z En DNS respons vil inneholde informasjon om kilden er autoritativ eller ikke.

ARP – Address Resolution Prottocol N: >arp -a Interface: 193. 69. 136. 8 on ARP – Address Resolution Prottocol N: >arp -a Interface: 193. 69. 136. 8 on Interface 0 x 2 Internet Address 193. 69. 136. 60 193. 69. 136. 115 193. 69. 136. 133 Physical Address Type 00 -50 -da-4 f-31 -8 c dynamic 08 -00 -09 -70 -2 c-8 e dynamic 08 -00 -09 -87 -fe-29 dynamic N: >arp -a Internet Address 193. 69. 136. 34 193. 69. 136. 56 193. 69. 136. 60 193. 69. 136. 115 193. 69. 136. 133 Physical Address Type 00 -60 -b 0 -3 d-82 -74 dynamic 00 -10 -5 a-66 -21 -78 dynamic 00 -00 -0 c-76 -55 -ce dynamic 00 -50 -da-4 f-31 -8 c dynamic 08 -00 -09 -70 -2 c-8 e dynamic 08 -00 -09 -87 -fe-29 dynamic

SNMP z Simple Network Management Protocol SNMP z Simple Network Management Protocol

Network Management Model Request Manager Response Agent Unsolicited trap Network Management Station Network Management Network Management Model Request Manager Response Agent Unsolicited trap Network Management Station Network Management Protocol Managed Node (Management Information) 55

Managed Nodes z Hosts y. WS, PC, Terminal Server, Printer z Routers z Media Managed Nodes z Hosts y. WS, PC, Terminal Server, Printer z Routers z Media Devices y. Bridge, HUB, Repeater, SDH equipment 56

Managed Node Komponenter Management Protocol “Useful” Protocols “Hooks” (Management Instrumentation) Network 57 Managed Node Komponenter Management Protocol “Useful” Protocols “Hooks” (Management Instrumentation) Network 57

Network Management Agent z Protokoll maskin yimplementerer Network Management protokollen y“peer”-prosess med Manager applikasjonen Network Management Agent z Protokoll maskin yimplementerer Network Management protokollen y“peer”-prosess med Manager applikasjonen z Management profil yautentisering og aksesskontroll y. MIB View 58

Administrativt Rammeverk z SNMPv 1 definerer en community som en relasjon mellom en Manager Administrativt Rammeverk z SNMPv 1 definerer en community som en relasjon mellom en Manager og en Agent z Implementert som en string som overføres (i klartekst) i hver SNMP melding z Autorisasjon skjer via comunity string og transport adresse til Manager z Aksesskontroll til Managed Objects håndteres via MIB views 59

Network Management Station z Overvåking og kontroll yprotokollmaskin tilsvarende agentene z Network Operations Centre Network Management Station z Overvåking og kontroll yprotokollmaskin tilsvarende agentene z Network Operations Centre z Network Management Functions y. FCAPS (Fault-, Configuration-, Accounting-, Performance-, og Security Management) 60

Structure of Management Information (SMI) z Spesifiserer hvordan Management Informasjonen er strukturert - ASN. Structure of Management Information (SMI) z Spesifiserer hvordan Management Informasjonen er strukturert - ASN. 1 z Spesifiserer internet sub-treet i det globale treet z Definerer datatyper som kan benyttes z Definerer regler for MIB dokumenter z Definerer format for definisjon av Managed Objects 61

SNMPv 1 RFCs z rfc 1155 - Structure and Identification of Management Information for SNMPv 1 RFCs z rfc 1155 - Structure and Identification of Management Information for TCP/IP based Internets z rfc 1156/1213 - Management Information Base for Network Management of TCP/IP based Internets z rfc 1157 - Simple Network Management Protocol 62

SNMP protokollen z Baserte seg på Simple Gateway Monitor Protocol (SGMP) z SNMP ble SNMP protokollen z Baserte seg på Simple Gateway Monitor Protocol (SGMP) z SNMP ble Internet standard i 1990 z Hovedhensikten var å lage en enkel management protokoll som krever få ressurser av utstyret den implementeres i z Benytter UDP som transportprotokoll 63

SNMP Operasjoner z SNMPv 1 omfatter få operasjoner: y. Get. Next y. Set y. SNMP Operasjoner z SNMPv 1 omfatter få operasjoner: y. Get. Next y. Set y. Trap z SNMPv 1 omfatter kun en svarmelding: y. Get. Response 64

SNMP protokollen Manager Get. Request, Get. Next. Request, Set. Request Agent Port 161 Get. SNMP protokollen Manager Get. Request, Get. Next. Request, Set. Request Agent Port 161 Get. Response Port 162 Trap 65

SNMP innkapsling: LLC/MAC header Data Link nivå IP header Nettverksnivå UDP header Transportnivå SNMP SNMP innkapsling: LLC/MAC header Data Link nivå IP header Nettverksnivå UDP header Transportnivå SNMP melding LLC/MAC trailer Applikasjonsnivå 66

SNMPv 1 melding En SNMPv 1 melding består av 3 deler: Versjons nummer Community SNMPv 1 melding En SNMPv 1 melding består av 3 deler: Versjons nummer Community string En av de 5 SNMP PDUene 67

SNMPv 1 PDU type Request Id Error status name 1: value 1 Error index SNMPv 1 PDU type Request Id Error status name 1: value 1 Error index name 2: value 2 Variable Bindings . . 68

SNMPv 1 Trap PDU type enterprise agent address name 1 : value 1 generic SNMPv 1 Trap PDU type enterprise agent address name 1 : value 1 generic trap type specific timestamp trap type name 2 : value 2 variable bindings . . 69

Distribuert Network Management kongigurasjon Distribuert Network Management kongigurasjon