Flere detaljerte funksjoner i datanett Foreleser: Kjell Åge Bringsrud INF1060
Ennå litt mer detaljer: IP Adressering TCP, UDP Øvre lag Applikasjonsprotokoller INF1060
Internett “Best-effort” overføring IP IP Nett Nett Internett INF1060
IP tjeneste-modellen forbindelsesfri transport (datagram transport) et IP-datagram er ende-til-ende invariant “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
Formatet til IP-hodet Vers. Hlen TOS Length Ident Flags Offset 4 4 8 16 Vers. Hlen TOS Length Ident Flags Offset TTL Proto Checksum SourceAddr DestinationAddr Opsions (variable) Pad Data INF1060
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
IP addresses and hostnames More exactly fully qualified host names Look like niu.ifi.uio.no Host niu In subdomain ifi, Institutt for Informatik In domain uio, Universitet i Oslo In top level domain no, Norway Who decided this? .no - IANA gave it to Uninett (”Internet Assigned Numbers Authority”) .uio - Uninett gave it to UiO .ifi - USIT, UiO’s drift, gave it to IFI niu - IFI drift gave it to the machine INF1060
Adressestrukturer (IPv4) formatet; 32 bit (4 oktetter): uten struktur problematisk ruting globalt unike adresser hierarkisk: nettverks-id + vert-id 24 0 nett vert Klasse A 16 Dot notasjon: 129.240.68.88 10 nett vert Klasse B 8 110 nett vert Klasse C INF1060
Adressestrukturer (IPv4) 1110 Multicast Klasse D 224.0.0.1 adresserer alle systemer i et LAN 224.0.0.2 adresserer alle rutere i et LAN 224.0.0.5 adresserer alle OSPF-rutere i et LAN INF1060
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
Tilbakeblikk OSI Referansemodellen: A B 2 3 5 lagdelt / abstraksjonslag et lag bygger på laget under og tilbyr en verdiøket tjeneste A B 2 3 5 Ende-til-ende Transport Transport Nett Nett Link Link Fysisk Fysisk Kommunikasjonsmedium INF1060
Transportlaget; egenskaper Det nederste laget i referansemodellen med ende-til-ende 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
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 ”kræsj”-problemer INF1060
Internett arkitekturen FTP HTTP NV TFTP Applikasjon TCP UDP Transport ICMP Internet IP ARP Nettverk Nett1 Nett2 Nett3 INF1060
Pålitelig byte-strøm TCP (Transmission Control Protocol) INF1060
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
Segment format Pseudo-header Flags: SYN FIN ACK RESET PUSH URG SrcPort DestPort SequenceNum Acknowledgement HdrLen 0 Flags Adv.Window CheckSum UrgPointer Options (variable) Data Checksum: pseudo header + tcp header + data INF1060
”Upålitelig” overføring UDP (User Datagram Protocol) INF1060
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 Pseudo-hode SrcPort DestPort Checksum Length Data Src-address Dest-address 0 Protocol Length INF1060
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
System arkitektur Tjener Klient B r u k e Navne tjener LAN LAN Disk Komm. Prog. vare Komm. Prog. vare LAN LAN Internett INF1060
Network applications: some jargon A process is a program that is running within a host. Within the same host, two processes communicate with interprocess communication defined by the OS. Processes running in different hosts communicate with an application-layer protocol A user agent is an interface between the user and the network application. Web:browser E-mail: mail reader streaming audio/video: media player INF1060
Vanlige applikasjons-behov garantere avlevering av pakker tillate vilkårlige pakkestørrelser avlevere pakker i riktig sekvens avlevere kun en kopi av hver pakke synkronisere samarbeidende prosesser til hverandre utøver flytkontroll støtte mange applikasjonsprosesser i hver vert INF1060
Oktett-strøm mellom applikasjonsprosesser Applik. pros Applik. pros TCP TCP send buffer receive buffer Segm. 3 Segm. 2 Segm. 1 INF1060
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
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
Eksempel; hardwareforskjeller 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
Overføringssyntaks Data må overføres i en overføringssyntaks Applik. data Applik. data Presentasjons koding 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
Marshalling/serialisering Applikasjonens datastruktur Marshalling konvertering serialisering innpakking Serialisering INF1060
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: Primitive typer: Bolean Integer Bit streng Oktett streng Null Objekt ID Objekt deskrip. Real Struktur typer Type Lengde Verdi Type lengde type lengde verdi type lengde verdi INT 4 B1 B2 B3 B4 INF1060
Remote Procedure Call (RPC) Directory(Name) Server export import Client (3) (1) Server (2) (7) proc Client stub stub (8) (12) (6) (9) (11) (4) transp transp net net (5) (10) INF1060
The Web: the http protocol http: hypertext transfer protocol Web’s application layer protocol client/server model client: browser that requests, receives, “displays” Web objects server: Web server sends objects in response to requests http1.0: RFC 1945 http1.1: RFC 2068 http request PC running Explorer http response http request Server running NCSA Web server http response Port 80 is default for http server. Mac running Navigator INF1060
The http protocol: more http is “stateless” server maintains no information about past client requests INF1060
Email delivery INF1060
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
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