Ennå litt mer detaljer: Internett Best-effort overføring Flere detaljerte funksjoner i datanett Foreleser: Kjell Åge Bringsrud IP Adressering, UDP Øvre lag Applikasjonsprotokoller IP IP Internett 23.11.2005 1 23.11.2005 2 23.11.2005 3 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 Formatet til IP-hodet 4 4 8 16 Vers. Hlen TOS Length Ident Flags Offset TTL Proto Checksum SourceAddr DestinationAddr Opsions (variable) Pad Data 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 (=6, UDP=17) Checksum (16): checksum av hele hode DestAddr & SourceAddr (32) 23.11.2005 4 23.11.2005 5 23.11.2005 6
IP addresses and hostnames 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 23.11.2005 7 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 23.11.2005 8 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 23.11.2005 9 Subnetting 1 : 129.240.0.0 Destin-addr: 129.240.002.35 subnett 1: 129.240.1.0 -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 23.11.2005 10 Tilbakeblikk OSI Referansemodellen: lagdelt / abstraksjonslag et lag bygger på laget under og tilbyr en verdiøket tjeneste A Link Fysisk Ende-til-ende 2 3 5 Kommunikasjonsmedium 23.11.2005 11 B Link Fysisk laget; egenskaper Det nederste laget i referansemodellen med ende-tilende kontroll laget er hjertet i kommunikasjonen står som garantist for pålitelighet laget fjerner den siste rest av nettavhengighet Ende-til-ende Datanett 23.11.2005 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 kræsj -problemer 23.11.2005 13 Internett arkitekturen FTP HTTP NV TFTP Applikasjon UDP ICMP IP ARP 1 2 3 Internet verk 23.11.2005 14 Pålitelig byte-strøm (Transmission Control Protocol) 23.11.2005 15 Funksjoner 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 23.11.2005 16 Segment format Pseudo-header SrcPort DestPort SequenceNum Acknowledgement HdrLen 0 Flags Adv.Window CheckSum UrgPointer Options (variable) Data Flags: SYN FIN ACK RESET PUSH URG Checksum: pseudo header + tcp header + data 23.11.2005 17 Upålitelig overføring UDP (User Datagram Protocol) 23.11.2005 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 Pseudo-hode Src-address Dest-address 0 Protocol Length SrcPort DestPort Checksum Length Data 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 Tjener LAN Disk Komm. Prog. vare System arkitektur Navne tjener Internett Disk Komm. Prog. vare Klient LAN B r u k e r 23.11.2005 19 23.11.2005 20 23.11.2005 21 Network applications: some jargon Vanlige applikasjons-behov Oktett-strøm mellom applikasjonsprosesser 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 23.11.2005 22 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 23.11.2005 23 Applik. pros Applik. pros send buffer receive buffer 1 Segm. 3 Segm. 2 Segm. 23.11.2005 24
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 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 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. 23.11.2005 25 23.11.2005 26 23.11.2005 27 Overføringssyntaks Marshalling/serialisering ASN.1 eksempler Applik. data Presentasjons koding Pakke 1 Pakke 2 Pakke 3 Applik. data Presentasjons dekoding Data må overføres i en overføringssyntaks som begge sider oppfatter på samme måte! Serialisering Applikasjonens datastruktur Marshalling konvertering serialisering innpakking 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 INT 4 B1 B2 B3 B4 Primitive typer: Bolean Integer Bit streng Oktett streng Null Objekt ID Objekt deskrip. Real Struktur typer 23.11.2005 28 23.11.2005 29 23.11.2005 30
Remote Procedure Call (RPC) The Web: the http protocol The http protocol: more Directory(Name) Server import export Client (3) (1) Server (2) (7) Client stub stub proc (12) (8) (11) (4) (6) (9) transp transp net net (5) (10) 23.11.2005 31 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 PC running Explorer Mac running Navigator http request http response http request http response Server running NCSA Web server Port 80 is default for http server. 23.11.2005 32 http is stateless server maintains no information about past client requests 23.11.2005 33 Email delivery 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 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 23.11.2005 34 23.11.2005 35 23.11.2005 36