350 likes | 486 Views
Flere detaljerte funksjoner i datanett. Foreleser: Kjell Åge Bringsrud. Ennå litt mer detaljer:. IP Adressering TCP, UDP Øvre lag Applikasjonsprotokoller. Internett “Best-effort” overføring. IP. IP. Nett. Nett. Internett. IP tjeneste-modellen.
E N D
Fleredetaljerte 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 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
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) Klasse D 1110 Multicast • 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
B A Ende-til-ende 5 2 3 Kommunikasjonsmedium Tilbakeblikk • OSI Referansemodellen: • lagdelt / abstraksjonslag • et lag bygger på laget under og tilbyr en verdiøket tjeneste Transport Transport Nett Nett Link Link Fysisk Fysisk 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 Transport Ende-til-ende 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 UDP TCP Transport ICMP Internet IP ARP Nettverk Nett1 Nett2 Nett3 INF1060
Pålitelig byte-strømTCP(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
SrcPort DestPort SequenceNum Acknowledgement HdrLen 0 Flags Adv.Window CheckSum UrgPointer Options (variable) Data Segment format Pseudo-header Flags: SYN FIN ACK RESET PUSH URG Checksum: pseudo header + tcp header + data INF1060
SrcPort DestPort Checksum Length Data Src-address Dest-address 0 Protocol Length 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 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 r Disk Disk Navne tjener 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
Segm. 2 Segm. 1 Segm. 3 Oktett-strøm mellom applikasjonsprosesser Applik. pros Applik. pros TCP TCP receive buffer send buffer 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
00000010 00010001 00100010 01111110 01111110 00100010 00010001 00000010 Eksempel; hardwareforskjeller Integerverdien 34.677.374 Mest signif. Minst signif. Big-endians Byte 4 Byte 1 Small-endians Minst signifik. Mest signifik. INF1060
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
Serialisering Marshalling/serialisering Applikasjonens datastruktur • Marshalling • konvertering • serialisering • innpakking INF1060
Type Lengde Verdi INT 4 B1 B2 B3 B4 Type lengde type lengde verdi type lengde verdi 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 INF1060
Remote Procedure Call (RPC) Directory(Name) Server export import Server (1) Client (3) (7) (2) proc stub stub Client (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