Förra föreläsningen Tre sätt att förmedla data Datagram Virtual circuit Source routing Bryggor ATM Kopplingslöst nätverkslager Måste kunna hitta destinationen Paket får inte hoppa runt för evigt Vilken service ska erbjudas? Måste fungera mot olika datalänksprotokoll Måste veta hur det går? Måste skala 17 November, 2000 Datakommunikation - Jonny Pettersson, UmU 1 17 November, 2000 Datakommunikation - Jonny Pettersson, UmU 2 Internet Protocol - s servicemodell och datagram -adressering Forwarding av datagram ARP - Address Resolution Protocol DHCP - Dynamic Host Configuration Proto. ICMP - Internet Control Message Protocol VPN - Virtual Private Network (Routingprotokoll) 17 November, 2000 Datakommunikation - Jonny Pettersson, UmU 3 Terminologi Nätverk Direkt kopplat eller växlat nätverk internet Flera ihopkopplade nätverk Ett logiskt nätverk byggt av fysiska nätverk Internet Routers Kopplar ihop nätverk Kallas gateways ibland H1 H2 H3 Network 2 (Ethernet) R1 17 November, 2000 Datakommunikation - Jonny Pettersson, UmU 4 H4 H5 Network 3 (FDDI) H6 R2 Network 1 (Ethernet) H7 R3 H8 Network 4 (point-to-point) Transportprotokoll i Internet s service modell Internet Protocol () Andra finns (X: Novell, XNS: Xerox, ) TCP H1 FDDI R1 FDDI PPP R2 PPP R3 H8 TCP Adressering Kopplingslös (datagram) Best-effort Paket kan tappas bort Paket kan kastas om Paket kan dupliceras Paket kan fördröjas (länge) Inga garantier 17 November, 2000 Datakommunikation - Jonny Pettersson, UmU 5 17 November, 2000 Datakommunikation - Jonny Pettersson, UmU 6
Datagram En typ av paket som sänds på ett kopplingslöst sätt över nätverk Har fullständig info för att nå destination Enklast möjliga tjänst - dess styrka Gör att routrar kan göras enkla kan köras över allt Packet format 0 4 8 16 19 31 Version HLen TOS Length Ident Flags Offset TTL Protocol Checksum SourceAddr DestinationAddr Options (variable) Pad (variable) Data 17 November, 2000 Datakommunikation - Jonny Pettersson, UmU 7 17 November, 2000 Datakommunikation - Jonny Pettersson, UmU 8 Första raden 0 4 8 16 19 31 Version HLen TOS Length Version v4 Hlen Headerlängd i 32-bitars words TOS Type Of Service, olika prioritetsfält Length Hela datagramets längd i bytes Max storlek 65535 byte Priority is an attempt to implement the principles of jealousy and envy in computer networks - Tony Lauck 17 November, 2000 Datakommunikation - Jonny Pettersson, UmU 9 Fragmentering och hopsättning Ident Flags Offset MTU varierar i olika nät, två val Alla paket tillräckligt små Fragmentering och hopsättning Alla fragment har samma Ident Tappas ett fragment slängs alla 17 November, 2000 Datakommunikation - Jonny Pettersson, UmU 10 Fragmentering (forts) Fragmenterings-exempel H1 R1 R2 R3 H8 (1400) FDDI (1400) PPP (512) PPP (512) PPP (376) (512) (512) (376) Varje fragment fullständigt -datagram Hopsättning hos mottagaren Designat för ytterligare fragmentering Numera uppmanas sändaren göra path MTU discovery eftersom hopsättning inte är enkelt (Obs: Offset fel i boken) Ident= x 0 Offset= 0 1400 data bytes Ident= x 1 Offset= 0 512 data bytes Ident= x 1 Offset= 64 512 data bytes Ident= x 0 Offset= 128 376 data bytes 17 November, 2000 Datakommunikation - Jonny Pettersson, UmU 11 17 November, 2000 Datakommunikation - Jonny Pettersson, UmU 12
Tredje raden Rad 3-5 TTL Protocol Checksum TTL Time To Live, hopcount, initialt 64 (default) Protocol Identifierar högre liggande protokoll Checksum Beräknas på headern 17 November, 2000 Datakommunikation - Jonny Pettersson, UmU 13 SourceAddr DestinationAddr Options (variable) Pad (variable) SourceAddr Behövs för val av acceptans och reply DestinationAddr Fullständig adress till destinationen Options Finns men används inte så mycket 17 November, 2000 Datakommunikation - Jonny Pettersson, UmU 14 Adressering Varje adress måste vara globalt unik Ethernetadress är unik, men flat hierarki adresser är hierarkiska Nätverksdel och hostdel 7 24 Tre (fem) klasser A: 0 NetId HostId D: multicast 14 16 E: oanvända B: 1 0 NetId HostId Dotnotation 21 8 130.239.40.83 C: 1 1 0 NetId HostId 17 November, 2000 Datakommunikation - Jonny Pettersson, UmU 15 Speciella adresser Nätverksadresser har HostId fylld med 0 127.0.0.1 - Reserverad för loopback 0.0.0.0 - Den här maskinen Bara 0 or i NetId - Maskin på detta nät Bara 1 or - Broadcast i lokalt nät Bara 1 or i HostId - Broadcast i NetId Det krävs en Ip-adress för varje interface i en maskin 17 November, 2000 Datakommunikation - Jonny Pettersson, UmU 16 Svagheter i Internetadresseringen Om en maskin flyttas måste också adresser bytas Om ett C-klass nätverk växer till mer än 254 maskiner måste alla adresser bytas Rutten baseras på adressen - vägen till en multi-homed host påverkas av adressen Forwarding - Routing Forwarding Ta ett paket från inputporten och skicka ut på någon outputport Routing Processen att bygga upp tabellen som gör att paket hamnar på rätt outputport 17 November, 2000 Datakommunikation - Jonny Pettersson, UmU 17 17 November, 2000 Datakommunikation - Jonny Pettersson, UmU 18
Forwarding av datagram Varje paket har fullständig adress Nätverksdelen av adressen identifierar ett och endast ett fysiskt nätverk Alla maskiner som har samma nätverksdel kan kommunicera med varandra direkt Varje fysiskt nätverk som är en del av Internet har minst en router som är kopplad till ett annat fysiskt nätverk Forwarding tabell <NetworkNum, NextHop> Default router Byggs upp manuellt eller via routing algoritm Hierarkisk hopsamling Låt routern hitta endast rätt nätverk 17 November, 2000 Datakommunikation - Jonny Pettersson, UmU 19 17 November, 2000 Datakommunikation - Jonny Pettersson, UmU 20 Forwarding algortim Om direkt kopplad till destinationens nätverk - skicka direkt till destination annars om destinationen finns i forwarding tabellen - skicka till NextHop routern annars -skicka till default routern Forwarding tabell R2 NetworkNum NextHop 1 R3 2 R1 3 interface 1 4 interface 0 Network 2 (Ethernet) R1 H5 H6 17 November, 2000 Datakommunikation - Jonny Pettersson, UmU 21 H1 H4 H2 H3 Network 3 (FDDI) R2 Network 1 (Ethernet) H7 R3 H8 Network 4 (point-to-point) -adress - Fysisk adress Maskiner kan bara kommunicera via fysiska adresser Maskiner måste översätta -adressen till fysisk adress Om -adress och fysisk adress får bestämmas vid installation kan översättningen ske med en funktion Direct Mapping Resolution Bättre med en dynamisk lösning Dynamic Binding Resolution 17 November, 2000 Datakommunikation - Jonny Pettersson, UmU 22 Dynamic Binding Resolution TCP/ använder sig av ett lågnivåprotokoll ARP (Address Resolution Protocol) ARP-mekanismen är både effektiv och lätt att underhålla Del av det fysiska nätverket och inte en del av Internetprotokollen ARP - Address Resolution Protocol Mål: Varje maskin i ett nätverk ska kunna bygga upp en tabell med -adress - länk-nivå-adress mappningar ARP-cache En post tas bort efter ca 15 minuter Använder sig av broadcast 17 November, 2000 Datakommunikation - Jonny Pettersson, UmU 23 17 November, 2000 Datakommunikation - Jonny Pettersson, UmU 24
Hur går det till? En maskin upptäcker att mottagaren är på samma nätverk Kollar i ARP-cachen Om inte där Broadcast ARP-Query (inkl mottagarens -adress) Alla tar emot, den berörda svarar ARP-Query innehåller även sändarens och länk-nivå-adress Alla kan uppdatera sin cache om sändaren finns ARP paket 0 8 16 31 Hardware type = 1 ProtocolType = 0x0800 HLen = 48 PLen = 32 Operation SourceHardwareAddr (bytes 0 3) SourceHardwareAddr (bytes 4 5) SourceProtocolAddr (bytes 0 1) SourceProtocolAddr (bytes 2 3) TargetHardwareAddr (bytes 0 1) TargetHardwareAddr (bytes 2 5) TargetProtocolAddr (bytes 0 3) 17 November, 2000 Datakommunikation - Jonny Pettersson, UmU 25 17 November, 2000 Datakommunikation - Jonny Pettersson, UmU 26 Exempel ARP-cache emil ~>/usr/sbin/arp -a Net to Media Table Device Address Mask Flags Phys Addr ------ -------------------- --------------- ----- --------------- hme0 130.239.40.1 255.255.255.255 00:10:11:fa:2c:00 hme0 peppar.cs.umu.se 255.255.255.255 08:00:20:b6:57:47 hme0 nelson.cs.umu.se 255.255.255.255 00:20:35:35:e7:dd hme0 oxe.cs.umu.se 255.255.255.255 08:00:20:89:77:bf hme0 gauss.cs.umu.se 255.255.255.255 08:00:20:18:77:b8 hme0 eclipse.cs.umu.se 255.255.255.255 08:00:20:a7:ed:df hme0 piglet.cs.umu.se 255.255.255.255 08:00:20:91:7c:1e hme0 netlink.cs.umu.se 255.255.255.255 08:00:20:8f:84:b4 hme0 emil.cs.umu.se 255.255.255.255 SP 08:00:20:9c:9f:50 hme0 skalleper.cs.umu.se 255.255.255.255 08:00:20:9c:9f:52 hme0 dante.cs.umu.se 255.255.255.255 00:aa:00:c9:a3:59 hme0 tjorven.cs.umu.se 255.255.255.255 08:00:20:9c:13:6c hme0 salt.cs.umu.se 255.255.255.255 08:00:20:18:f3:21 hme0 tenn.cs.umu.se 255.255.255.255 08:00:69:08:25:2d hme0 ytterboda.cs.umu.se 255.255.255.255 08:00:20:88:6d:53... 17 November, 2000 Datakommunikation - Jonny Pettersson, UmU 27 Host konfigurering En ny nod behöver -adress Default router Manuellt - jobbigt, lätt att göra fel DHCP - Dynamic Host Configuration Protocol Enklast: Tabell med MAC-/-adresser Bättre: Pool av tillgängliga adresser 17 November, 2000 Datakommunikation - Jonny Pettersson, UmU 28 DHCP Men hur hittar en ny maskin DHCP servern? Broadcast DHCPDISCOVER meddelande DHCP server måste inte finnas på varje nätverk Relay agent med adress till DHCP servern DHCP exempel på skalning av nätverksadministrationen ICMP ICMP - Internet Control Message Protocol Olika typer av meddelanden Echo (ping) Redirect (från router till source host) Destination unreachable (protocol, port, eller host) TTL exceeded (så datagram inte finns för evigt) Checksum failed Reassembly failed Cannot fragment 17 November, 2000 Datakommunikation - Jonny Pettersson, UmU 29 17 November, 2000 Datakommunikation - Jonny Pettersson, UmU 30
Virtual Private Network - VPN VC (ATM) tunnel Packa paket i nytt datagram, skicka till tunnels ände Inkludera i forwarding tabell Network 1 R1 Internetwork R2 Network 2 header, Destination = 2.x payload header, Destination = 10.0.0.1 header, Destination = 2.x 10.0.0.1 header, Destination = 2.x payload VPN Varför? Säkerhet Utökad funktionalitet i de sammanbundna näten Andra protokoll över Men det kostar Ökad paketlängd Prestanda i ändroutrarna Administration payload 17 November, 2000 Datakommunikation - Jonny Pettersson, UmU 31 17 November, 2000 Datakommunikation - Jonny Pettersson, UmU 32 Kopplingslöst nätverkslager - Network Service Types Måste kunna hitta destinationen Paket får inte hoppa runt för evigt Vilken service ska erbjudas? Måste fungera mot olika datalänksprotokoll Måste veta hur det går? Måste skala Tillförlitlig eller best-effort Kopplingsorienterad eller kopplingslös Prestandagarantier Reservationer 17 November, 2000 Datakommunikation - Jonny Pettersson, UmU 33 17 November, 2000 Datakommunikation - Jonny Pettersson, UmU 34 Kopplingsorienterad vs kopplingslös De som är för kopplingsorienterad säger Snabbare routrar kan byggas Bättre neka nya kommunikationer än försämra för gamla Det är enklare för transportlagret med en uniform service från nätverket Lättare med RTT och MTU Transportlagret kan göras enklare Kopplingsorienterade kan verka sårbara, men vid topologiförändringar i kopplingslösa tar det långt tid innan stabila routingtabeller finns 17 November, 2000 Datakommunikation - Jonny Pettersson, UmU 35 Kopplingsorienterad vs kopplingslös De som är för kopplingslösa säger Transportlagret måste ändå hantera paketkontroll Enklare interface till kopplingslösa nätverk Alla applikationer kräver inte sekventiell leverans av paket Nätverkstrafik är oftast bursty Bättre alla får någon form av service än att några få får toppservice Svårt hantera stora mängder med tillstånd i routrar 17 November, 2000 Datakommunikation - Jonny Pettersson, UmU 36
Ett protokoll Real-life example of know the problem : When my son was three I saw him in the hallway crying, holding up his hand, saying, My hand! My hand! I took his hand lovlingly and kissed it a few times and said, What s the matter, honey? Did you hurt it? He sobbed, No, I got pee on it. -Radia Perlman 17 November, 2000 Datakommunikation - Jonny Pettersson, UmU 37