Oversikt: What is the Internet? What is a protocol? End systems Core networks Access network and physical media Throughput, loss and delay Protocol layers IP, TCP, UDP Applications
What is the Internet? Internet: “network of networks” Protocols Partly hierarchical Public Internet versus private intranet ISPs: Internet Service Providers Protocols Control sending, receiving of messages E.g., TCP, IP, HTTP, FTP, PPP router workstation server mobile unit local ISP company networks regional ISP
End systems End systems Client/server model Peer-to-peer model Run application programs E.g., web browser, web server, email At “the edge” of the net Client/server model Clients ask for, and get a service from the servers E.g. WWW client (browser)/ server; email client/server Peer-to-peer model Interactions are symmetrical E.g. telephone conferences
What is a protocol? Human protocols: “What time is it?” “I have a questions” Formal phrases… … are special “messages” that are sent, which lead to … … defined events or actions when the message is received Network protocols: Machine instead of people All communication activity in the Internet is controlled by protocols Protocols define formats, order of sending and receiving of messages, and the actions that the reception initiates.
Reference models; Why layering? Management of complex systems: Modularisation simplifies Design Maintenance Updating of a system Explicit structure allows Identification of the individual parts Relations among them Clear structure: layering Layered reference model Goal: different implementation of one layer fit with all implementations of other layers
TCP/IP - protocol stack application: supports network applications ftp, smtp, http Your applications transport: data transfer from end system to end system TCP, UDP network: finding the way through the network from machine to machine IP (data) link: data transfer between two neighbors in the network ppp, ethernet physical: bits “on the wire” application transport network link physical
OSI - model application presentation application session transport A standard for layering of communication protocols Open Systems Interconnection by the ISO – International Standardization Institute Two additional layers to those of the Internet stack presentation: translates between different formats XML, XDR provides platform independence session: manages connection, control and disconnection of communication sessions RTP presentation application session transport network link physical
Generelt pakkeformat rammer pakker meldinger PDU (Protocol Data Unit) Hode Data, for eks. 10.000 bit Hale M-adresse S-adresse Sjekksum
Protocol layer and data Each layer takes data from next higher layer Adds header information to create a new data unit (message, segment, frame, packet …) Send the new data unit to next lower layer source destination application transport network link physical application transport network link physical M H t n l message M H t n l segment datagram frame
Access network and physical media How to connect end systems to edge routers? Home network Company network (schools, companies) Mobile access network Keep in mind when choosing a technology: Bandwidth? Shared or dedicated medium?
Physical medium Physical link: a sent bit propagates through the link Closed media: Signals propagate in cable media (copper, fiber) Open media: Signals propagate freely, e.g. radio.
Core networks Graph of interconnected routers One fundamental question: how is data passed through the net? Circuit switching Packet switching Dedicated line through the network Discrete data units are sent through the network
Fysisk Lag 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
Multipleksing frekvens multipleksing pakke multipleksing 1 link n kanaler n kanaler inn n kanaler ut tids multipleksing frekvens multipleksing pakke multipleksing
Linklaget Innramming av nyttelasten Transport av rammer over mediet Adressering Feilhåndtering: Feildeteksjon Feilkorreksjon Flytkontroll
Flytkontroll 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)
Lokalnett strukturer Konkurranseutsatt Ethernet Konkurransefri Token Ring Radio-LAN Konkurranseutsatt Nøkkelbegrep: Medium Aksess kontroll
Broer: framsending basert på MAC-adresser knytter sammen lokalnett på link-nivå framsending basert på MAC-adresser effektivt sammenkoplingsalternativ kan benyttes til isolering av trafikk konsumerer ikke IP-nettverks adresser
Tasks of the Network Layer Responsible for end-to-end transport Addressing of machines Forwarding Connectionless datagram; no fixed path through the network Connection-oriented (e.g. X.25 or ATM) Three phases: connection establishment, data transmission, teardown Fixed path through the network Relatively reliable and ordered transmission Flow control
Network layer: IP Datagram switching IP offers: IP Datagram service Internet Protocol Datagram service of the Internet RFC 791 IP offers: Datagram service Unreliable Unordered Addressing Routing IP networks can use virtual circuits IPv4: circuit is one hop IPv6: can have a tag
Adressering og ruting 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
Ruting Rutetabell 2 1 4 3 1 1 2 2 Pre- Pross. 3 3 4 4 Ruting prosess Fremsender
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
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
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
Transportlaget
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
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
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
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
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
Applications Applications that use TCP: Applications that use UDP: HTTP (WWW) FTP (file transfer) SMTP (email) Telnet (remote login) Applications that use UDP: Streaming media Video conferencing Internet telephony NTP (network time protocol)