Oversikt: Hva er en protokoll? Hva er Internet? Hva er en protokoll? Endesystemer Kjernenett Aksessnett og fysiske media Gjennomstrømning (throughput), tap og forsinkelse Protokoll lag IP, TCP, UDP Applikasjoner Protokoller definerer formater, rekkefølge for sending og mottak av meldinger, og de aksjoner som mottak av meldinger initierer. (En hendelse fører ofte til tilstandsforandringer) INF1060 1 INF1060 Introduksjon 2 Hva er Internet? Internet: nettverk av nettverk Delvis hierarkisk Offentlig Internet versus private intranet ISP-er: Internet Tjeneste-ytere ( Service Providers ) Protokoller Kontrollerer sending og mottak av meldinger. F.eks., TCP, IP, HTTP, FTP, PPP lokal ISP Institusjonsnettverk ruter tjener arbeidsstasjon mobil enhet regional ISP INF1060 Introduksjon 3 Ende-systemer Ende-systemer Kjører applikasjonsprogrammer F.eks., web browser, web-tjener, epost Befinner seg på ytterkanten av nettverket Klient/tjener model Klienten spør etter, og får en tjeneste fra tjener F.eks. WWW klient (browser)/ tjener; epost klient/tjener Peer-to-peer model Interaksjoner er symmetriske F.eks.. Telefon-konferanse Internet standards: RFC: Request for comments IETF: Internet Engineering Task Force INF1060 Introduksjon 4 1
Kommunikasjonssystemer beskrives ofte ved en lagdelt arkitektur - hvorfor? TCP/IP - protokoll stack Hensikten er å lette kontrollen av komplekse systemer: odularisering forenkler Design Vedlikehold Updatering av et system Eksplisit struktur tillater Identifikasjon av de enkelte delene Relasjoner mellom disse Klar struktur: lagdeling Lagdelt referanse-model ål: Forskjellige implementasjoner av et lag passer til alle implementasjoner av andre lag applikasjon: understøtter nettverksapplikasjoner ftp, smtp, http Dine applikasjoner transport: data-overføring fra endesystem til endesystem TCP, UDP nettverk: finne veien gjennom nettverket fra maskin til maskin IP (data) link: data-overføring mellom to naboer I nettverket ppp, ethernet fysisk: bit på ledningen applikasjon transport nettverk link fysisk INF1060 Introduksjon 5 INF1060 Introduksjon 6 OSI - modellen applikasjon Generelt pakkeformat Er en internasjonal standard for lagdeling av kommunikasjonsprotokoller OSI: Open Systems Interconnection Definert av ISO the International Standardization Institute Denne arkitekturen har to lag i tillegg til de man har i Internet stack-en presentasjon: oversetter mellom forskjellige formater XL, XDR Sørger for plattform uavhengighet sesjon: kontroll av forbindelser, opp- og nedkoplinger av kommunikasjons-sesjoner, synkronisering og resynkronisering RTP presentasjon session sesjon transport nettverk link fysisk INF1060 Introduksjon 7 Hode Data, for eks. 10.000 bit Hale -adresse S-adresse rammer pakker segment meldinger PDU (Protocol Data Unit) Sjekksum INF1060 8 2
Protokoll-lag og data Hvert lag henter data fra det ovenforliggende laget Legger til informasjon i hodet (header) for å lage en ny data enhet (melding, segment, ramme, pakke ) Send den nye data-enheten til det nedenforliggende laget kilde destinasjon Fysisk Fysisk Lag Fysisk Ht HnHt Hl HnHt applikasjon transport nettverk link fysisk applikasjon transport nettverk link fysisk Ht HnHt Hl HnHt melding segment datagram ramme Den primære oppgaven flytte bits fra avsender til mottaker krever: standardisert måte å representere bit inn på transmisjonsmediet standardisering av kabler og tilkoplingsutstyr synkronisering av klokketakt mellom sender og mottaker INF1060 Introduksjon 9 INF1060 10 Fysisk medium Fysisk medium: koaks, fiber Fysisk link: et sendt bit forplanter seg gjennom linken Lukkete media: Signaler forplanter seg i kabel (kobber, fiber) Åpne media: Signaler forplanter seg fritt, f.eks. radio. Tvunnet Par (TP) To isolerte kobber kabler Kategori 3: tradisjonelle telefonkabler, 10 bps Ethernet Kategori 5 TP: 100bps Ethernet Kategori 6 TP: 1Gpbs Ethernet Koaksial-kabel Ledning (signal bærer) i en ledning (skjerming) basebånd: en enkelt kanal på en kabel bredbånd: flere kanaler på en kabel Toveis (bidireksjonal) Typisk brukt for 10bs Ethernet. Fiberoptisk kabel Optisk fiber som bærer lys impulser Høyhastighets punkt-til-punkt overføring Lav feilrate Lange avstander 100bps, 1Gbps Ethernet INF1060 Introduksjon 11 INF1060 Introduksjon 12 3
ultipleksing Linklaget Innramming av nyttelasten n kanaler inn 1 link n kanaler tids multipleksing frekvens multipleksing pakke multipleksing n kanaler ut Transport av rammer over mediet Adressering Feilhåndtering: Feildeteksjon Feilkorreksjon Flytkontroll INF1060 13 INF1060 14 Flytkontroll Lokalnett strukturer Normalt en feed-back (tilbakemelding) protokoll der mottaker informerer senderen om sin buffer-kapasitet To vanlige tilnærminger: 1. sender stopper når spesiell NAK mottas 2. mottaker informerer senderen om hvor mange pakker/bytes den har plass til, og senderen sender ikke mer data enn oppgitt inntil den får ny beskjed (kredittbasert flytkontroll) Ethernet Konkurranseutsatt Radio-LAN Konkurranseutsatt Token Ring Konkurransefri Nøkkelbegrep: edium Aksess kontroll INF1060 15 INF1060 16 4
Broer: knytter sammen lokalnett på link-nivå framsending basert på AC-adresser effektivt sammenkoplingsalternativ kan benyttes til isolering av trafikk konsumerer ikke IP-nettverks adresser Oppgavene til Netverks-laget Ansvarlig for ende-til-ende transport Adressering av maskiner Framsending Forbindelsesløs datagram; ingen fast rute gjennom nettverket Forbindelses-orientert (for eksempel X.25 or AT) Tre faser: oppkopling av forbindelsen, data-overføring, nedkopling Fast rute gjennom nettverket Forholdsvis sikker og ordnet overføring Flytkontroll INF1060 17 INF1060 18 Nettverks-laget: IP Adressering og ruting Datagram svitsjing IP Internet Protokoll Datagram tjeneste på Internet RFC 791 IP tilbyr: Datagram tjeneste Upålitelig Uordnet Adressering Ruting IP nettverk kan benytte virtuelle kretser IPv4: en virtuell krets er ett hopp hver ting vi vil finne frem til, må ha en adresse! adresse: en streng av bytes som enhetlig identifiserer tingen adressetyper: unicast; identifiserer et endepunkt (ting) kringkasting; identifiserer alle gruppe-kringasting; identifiserer alle i en gruppe INF1060 Introduksjon 19 INF1060 20 5
Ruting Formatet til IP-hodet 1 2 3 Pre- Pross. 1 2 4 3 Ruting prosess Rutetabell 1 2 3 4 4 8 16 Vers. Hlen TOS Length Ident Flags Offset TTL Proto Checksum SourceAddr DestinationAddr Opsions (variable) Pad 4 Fremsender 4 Data INF1060 21 INF1060 22 IP adresser og vertsnavn Vertsnavn er nøyaktig fullstendig spesifiserte vertsnavn Ser ut som klodrik.ifi.uio.no Vert klodrik I subdomene ifi, Institutt for Informatik I domene uio, Universitetet i Oslo I toppnivå-domene no, Norge Hvem bestemmer dette?.no - IANA ga det til Uninett ( Internet Assigned Numbers Authority ).uio - Uninett ga det til UiO.ifi - USIT, UiO s drift, ga det til IFI klodrik - IFI drift ga det til maskinen INF1060 23 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 24 6
TCP Transportlaget 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 25 INF1060 26 Pseudo-header SrcPort DestPort SequenceNum Acknowledgement HdrLen 0 Flags Adv.Window CheckSum UrgPointer Options (variable) Data Segment format Flags: SYN FIN ACK RESET PUSH URG Checksum: pseudo header + tcp header + data INF1060 27 UDP 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 28 7
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 DestPort Checksum Length Data 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 29 INF1060 30 Overførings-syntaks Transport-laget: applikasjoner 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 Applikasjoner som benytter TCP: HTTP (WWW) FTP (filoverføring) STP (epost) Telnet (fjern innlogging) Applikasjoner som benytter UDP: Streaming media Video-konferanse Internet telefoni NTP (network time protocol) INF1060 31 INF1060 Introduksjon 32 8