Flere detaljerte funksjoner i datanett Foreleser: Kjell Åge Bringsrud INF1060 1
Ennå litt mer detaljer: IP Adressering TCP, UDP Øvre lag Applikasjonsprotokoller INF1060 2
Internett Best-effort overføring IP Nett IP Nett Internett INF1060 3
IP tjeneste-modellen forbindelsesfri transport (datagram transport) best-effort overføring ingen garanti for vellykket overføring: pakker kan bli borte (sjekksumfeil & rutefeil) pakker kan komme frem i gal rekkefølge pakker kan dupliseres pakker kan forsinkes unormalt INF1060 4
Formatet til IP-hodet 4 4 8 16 Vers. Hlen TOS Length Ident Flags Offset TTL Proto Checksum SourceAddr DestinationAddr Opsions (variable) Pad Data INF1060 5
Formatet til IP-hode Version (4): = 4 Hlen (4): antall 32-bits ord i IP hode TOS (8): tjeneste type (type of service)(lite brukt) Length (16): antall bytes, inkludert hode Ident (16): sekvensno. for dette datagrammet Flags/Offset (16): benyttes ved fragmentering Protocol (8): demux nøkkel (TCP=6, UDP=17) Checksum (16): checksum av hele hode DestAddr & SourceAddr (32) INF1060 6
Adressestrukturer (IPv4) formatet; 32 bit (4 oktetter): uten struktur problematisk ruting globalt unike adresser hierarkisk: nettverks-id + vert-id 24 0 nett vert 16 10 nett vert 8 110 nett vert Klasse A Klasse B Klasse C Dot notasjon: 129.240.68.88 INF1060 8
Adressestrukturer (IPv4) 1110 Multicast Klasse D 224.0.0.1 224.0.0.2 224.0.0.5 adresserer alle systemer i et LAN adresserer alle rutere i et LAN adresserer alle OSPF-rutere i et LAN INF1060 9
Subnetting Nett 1 : 129.240.0.0 Destin-addr: 129.240.002.35 subnett 1: 129.240.1.0 Nett-maske = 255.255.255.0 subnett 2: 129.240.2.0 subnett 3: 129.240.3.0 129.240.002.35 & 255.255.255.0 --> 129.240.002.0 subnetting innfører et nytt adressenivå nett-masken identifiserer subnett-adressen subnett er bare synlige innenfor lokalområdet det er fullt mulig med flere subnett på samme fysiske nett INF1060 10
Tilbakeblikk OSI Referansemodellen: lagdelt / abstraksjonslag et lag bygger på laget under og tilbyr en verdiøket tjeneste A B Transport Nett Link Fysisk Ende-til-ende 2 3 5 Transport Nett Link Fysisk Kommunikasjonsmedium INF1060 11
Transportlaget; egenskaper Det nederste laget i referansemodellen med ende-tilende kontroll Transportlaget er hjertet i kommunikasjonen står som garantist for pålitelighet Transportlaget fjerner den siste rest av nettavhengighet Transport Ende-til-ende Transport Datanett INF1060 12
Grunnleggende transport-protokoll problemer For at transport-protokollen skal kunne garantere pålitelighet, må den kunne takle de verst tenkelige situasjoner Pålitelig etablering av en forbindelse: Skille mellom gamle og nye instanser av en forbindelse kræsj -problematikker Pålitelig nedkopling av en forbindelse: Uten tap av data Halvt åpne forbindelser Flyt-kontroll Ende-til-ende maskin Maskin-til-nett INF1060 13
Internett arkitekturen FTP HTTP NV TFTP Applikasjon TCP ICMP IP UDP Transport Internet ARP Nett 1 Nett 2 Nett 3 Nettverk INF1060 14
Pålitelig byte-strøm TCP (Transmission Control Protocol) INF1060 15
Funksjoner TCP forbindelses-orientert støtter en oktett-strøm mellom to prosesser full dupleks flyt-kontroll hindrer sender å oversvømme mottaker demultipleksing metnings-kontroll hindrer sender å oversvømme nettet INF1060 16
Segment format Pseudo-header SrcPort DestPort SequenceNum Acknowledgement HdrLen 0 Flags Adv.Window CheckSum UrgPointer Options (variable) Flags: SYN FIN ACK RESET PUSH URG Data Checksum: pseudo header + tcp header + data INF1060 17
Upålitelig overføring UDP (User Datagram Protocol) INF1060 18
Enkel multiplekser/ demultiplekser (UDP) tilbyr multipleksing og demultipleksing ved hjelp av Service aksess punkter kalt porter; ingen flytkontroll; tjener-siden lytter på velkjente porter checksum: valgbar Src-address Dest-address 0 Protocol Length Pseudo-hode SrcPort Checksum Data DestPort Length INF1060 19
UDP Standard overføringskvalitet forbindelsesfri transport (datagram transport) best-effort overføring ingen garanti for vellykket overføring: pakker kan bli borte (sjekksumfeil & rutefeil) pakker kan komme frem i gal rekkefølge pakker kan dupliseres pakker kan forsinkes unormalt INF1060 20
Nettverks-applikasjoner: noen begreper En prosess er et program som kjører i en vertsmaskin. I samme vertsmaskin kommuniserer to prosesser vha. Interprosesskommunikasjon definert av operativsystemet. Prosesses som kjører i forskjellige vertsmaskiner kommuniserer vha. en applikasjonslags protokoll En brukeragent (user agent) er et grensesnitt mellom brukeren og nettverksapplikasjonen. Web: navigatør (browser) E-post: post-leser streaming audio/video: media-spiller INF1060 21
Oktett-strøm mellom applikasjonsprosesser Applik. pros Applik. pros TCP send buffer TCP receive buffer Segm. 3 Segm. 2 Segm. 1 INF1060 22
Funksjonelle behov applikasjonsprosessenes behov: navning av maskiner og tjenester konvertering av navn til addresser tilgang til kommunikasjonstjenesten (API): service aksess punkt (SAP); virtuelt tilknytningspunkt mellom applikasjonsprosess og komm.hierarkiet etablering, bruk, og nedkopling av forbindelser spesifisere kvalitets-krav INF1060 23
Overførings-syntaks inhomogene ende-systemer ulik hardware ulike operativsystemer ulike programerings-språk kommunikasjonen over nettet må foregå i en syntaks som begge sider oppfatter på samme måten INF1060 24
Eksempel; maskinvare-forskjeller Integerverdien 34.677.374 Mest signif. Minst signif. Big-endians 00000010 00010001 00100010 01111110 Byte 4 Byte 1 Small-endians 01111110 00100010 00010001 00000010 Minst signifik. Mest signifik. INF1060 25
Overføringssyntaks Applik. data Presentasjons koding Applik. data Presentasjons dekoding Pakke 1 Pakke 2 Pakke 3 Data må overføres i en overføringssyntaks som begge sider oppfatter på samme måte! INF1060 26
Marshalling/serialisering Serialisering Applikasjonens datastruktur Marshalling konvertering serialisering innpakking INF1060 27
ASN.1 eksempler Integer > 65 535 32-bits maskin; representert i et 32-bits ord 16-bits maskin; representert i to 16-bits ord Hver datatype kodes ved overføring: Type Lengde Verdi Type lengde type lengde verdi type lengde verdi Primitive typer: Bolean Integer Bit streng Oktett streng Null Objekt ID Objekt deskrip. Real INT 4 B1 B2 B3 B4 Struktur typer INF1060 28
Web-en: http protokollen http: hypertext transfer protocol Web er en applikasjonslagsprotokoll klient/tjener modell klient: navigator som ber om, mottar og viser Web objekter tjener: Web tjener sender objekter som svar på forespørseler http1.0: RFC 1945 http1.1: RFC 2068 PC som kjører Explorer Mac som kjører Navigator Tjenermaskin Som kjører NCSA Web tjener Port 80 er default for http tjener. INF1060 29
http protokollen: mer http er tilstandsløs Tjeneren vedlikeholder ingen informasjon om tidligere klientforespørseler INF1060 30
Epost levering INF1060 31
Noen viktige begreper databit samles i pakker (1000 10.000 bit) noder eller pakke-svitsjer mellom-lagring og fremsending asynkron kommunikasjon virtuelle linjer eller datagram minst to linjer ut fra hver node endesystemer med et stort antall tjenester INF1060 32
Viktige funksjoner Viktige og nødvendige funksjoner adressering, ruting, og fremsending deteksjon og korreksjon av feil ende-til-ende pålitelighet metningskontroll multicasting overføringskvalitet INF1060 33