Nätskiktet och Internet Protocol Sidorna 190-222 i boken
Nätskiktet Internet-protokollet (IP) implementerar nätskiktet Datakommunikationspaket förmedlas över olika fysiska skikt från en maskin till en annan IP erbjuder en otillförlitlig förmedlingstjänst av "best effort" - typ Högre skikt förmedlar data till rätt tillämpning, IP förmedlar till rätt maskin Det finns andra nätskiktsprotokoll (t.ex. X.25, IPX) men de behandlas inte på denna föreläsning Nätskiktets adressrymd är global
IP Internet Protocol Ursprungligen definierad i standarden RFC 791 IP förmedlar datagram från maskin till maskin IP erbjuder en otillförlitlig och förbindelsefri tjänst Ingen kontroll on meddelanden kommit fram Sändaren får felmeddelande endast om IP-skiktet inte vet hur mottagaren kan nås varje IP-paket är på IP-nivån ett unikt meddelande som behandlas skilt På denhär kursen behandlas IP version 4 Version 6 tas småningom i bruk, den viktigaste skillnaden är en större adressrymd
End-to-end -argumentet I planeringen av Internet-teknologierna var en ledande tanke ett tillståndslöst paketförmedlat nät (stateless packet switched) Tillståndslöst: väljarnätet är omedvetet om förbindelsernas tillstånd Paketförmedlat: all datatrafik sköts genom att förmedla datagram d.v.s. meddelanden All information om förbindelsen mellan två objekt finns i dessa objekt och de kommunicerar via meddelanden Nätet erbjuder endast paketförmedlingstjänst Väsentligt olika från t.ex. telefonnätets lösningar Nuförtiden fungerar detta inte fullständigt, bl.a. på grund av brandväggar och NAT/PAT transformationer
IP och länkskiktet För att fungera behöver IP: Inramning från länkskiktet Vägvalsinformation, som kopplar IP-adresser till länkskiktets adresser I lokalnätet transformation mellan IP-adressen och motsvarande MAC-adress (ARP) I point-to-point nät information om IP-näten som finns bakom följande länk Vägvalsinformationen kan ställas in fast (typiskt för väljare på kanten av nätet) sökas med DHCP (arbetsstationer) konstrueras mellan väljare som kommunicerar sinsemellan med vägvalsprotokoll (stamnätets väljare, behandlas inte på denna kurs)
IP-pakethuvudet 0 16 bits 31 Vers TTL Hdr length Identification TOS Protocol Options... Source IP address Destination IP address Data Flags Total length Fragment offset Header checksum Padding Normal längd är 20 byte, optionerna kan öka längden
...IP-pakethuvudet Version är 4, i IPv6-paket 6 Type of Service -fältet innehöll ursprungligen kvalitetsparametrar som aldrig användes och ifrågavarande byte har återanvänts inom olika lösningar som erbjuder transportkvalitet Identification är en unik paketidentifierare för hantering av duplikat Flags innehåller information om fragmentering Fragment offset berättar vart i ursprungliga paketet detta fragment hör
...IP pakethuvudet Time to Live (TTL) -fältets värde minskas med ett för varje väljare som paketet passerar och när fältet får värdet 0 slängs paketet och ett felmeddelande Time exceeded skickas till sändaren Protocol-fältet anger högre skiktets protokoll TCP (6), UDP (17), ICMP (1) o.s.v. Med Optionerna kan ny funktionalitet läggas till på IPnivå en stor mängd sådana har definierats, men de flesta har problem med prestationsförmåga och säkerhet, och i praktiken används de just inte T.ex. loose och strict source routing, route recording, time stamping" och "military security options"
Fragmentering Olika protokoll på länkskiktet har ofta begränsningar för paketlängden Vad göra om sändaren skickar 64kB paket och mottagaren har en begränsning på 1,5kB IP-protokollet ger väljare möjligheten att dela inkommande paket i delar och skicka vidare dessa fragment som mottagaren kopplar ihop till hela IP-paket Fragmentering orsakar kapacitetsproblem hos mottagaren Mottagaren måste spara mottagna fragment i minnet tills hela paketet har samlats Mottagaren måste kunna hantera enstaka försvunna fragment (som är i skilda IP-paket) Dessutom har fragmentering säkerhetsproblem Fel strukturerade fragment Möjlighet till överbelastningsattack (DoS) I praktiken används fragmentering därför inte Istället utreds största tillåtna segment på förhand
Path MTU Discovery För att undvika fragmentering bör vi reda ut vad största tillåtna längden för IP-paket är Skicka ett rätt så stort IP-paket med "Don't Fragment" -flaggan på Eftersom paketet inte får fragmenteras, svarar väljaren med ICMPmeddelandet "Fragmentation Needed Upprepa med mindre paket tills lämplig paketlängd hittas Dessutom, ifall TCP-förbindelser används, kan vardera parten skicka sitt eget näts största tillåtna segmentlängd, TCP:s Maximum Segment Size -option Ej möjligt för UDP-trafik I praktiken begränsar Ethernet IP-paketens maximistorlek till 1500 byte och oftast är ena eller båda parterna i en förbindelse i ett lokalnät.
IP-adresser IP-adressen är en identifierare för nätanslutning (interface) En maskin i nätet kan ha flere samtidiga nätanslutningar Väljare Pålitlighet Separat backup-nät IPv4-adresser är 32 bit långa IPv6 erbjuder 128 bits adresser Vanligaste presentationssyntax 4 byte som decimala siffror, separerade med punkter ("dotted quad") T.ex.: 130.233.240.9 Början av adressen anger nätet (network id), resten anger maskinen i nätet (host id) T.ex. lokalnät eller företagets hela nät Väljare förmedlar paket på basen av nätdelen
IP-nätets notation Vanligaste notationen för nätets adress är CIDR Classless Inter-Domain Routing Berättar nätadressen och antalet betydande bitar T.ex.. 130.223.0.0/16 är TKK:s nät på stamnätsnivå Alla paket skickade till adresser som börjar 130.223 förmedlas i stamnätet på basen av denna information Gränsen är bit-gräns,inte byte-gräns Inom TKK:s nät kan vi ha delnät, t.ex. 130.223.236.0/22 Det här nätets nätmask (netmask) är 255.255.252.0 Nätmasken får direkt ur CIDR -notationen Adresserna 130.223.236.0-130.223.239.255 hör till detta nät Notera att 130.223.237.0/22 inte är ett giltigt delnät, bit-gränsen måste vara rätt RFC 1518, 1519
Gamla IP-adressklasser Ursprungligen delades adresserna statiskt i nät- och maskindel Nuförtiden används denna delning när man syftar på en viss storleks nät C-klassen är 256 adresser Gamla A-allokeringar kunde tas i allmänt bruk (--> politik) Class netid host first first use bits bits byte bits A 7 24 0-127 0 large organizations B 14 16 128-191 10 medium -"- C 21 8 192-223 110 small -"- D 28 0 224-239 1110 multicast addresses E 27 0 240-247 11110 reserved
Internets adresser som fraktalkarta IPv4- adressrymdens användning är en politisk fråga Gröna adresser är inte allokerade Källa och noggrannare förklaring: http://www.xkcd. com/c195.html
0.0.0.0 Vilken/vem som helst (any) sändaren har inte ännu IP-adress 255.255.255.255 Lokal rundsändning (broadcast) Alla bitar 1 i maskindelen av adressen Nätets rundsändning T.ex.. 222.1.16.255/24 127.*.*.* Loopback, refererar till ifrågavarande anslutning I allmänhet 127.0.0.1 Mycket praktisk, jmf. "./" i Unix katalogerna Alla bitar 0 i maskindelen av adressen Nätets adress T.ex. 222.1.16.0/24 Speciella adresser
Adresser reserverade för privat bruk Vissa adresser är definierade för enbart lokalt bruk 10.0.0.0/8 192.168.0.0/16 172.16.0.0/12 Stamnätet vägrar förmedla dessa Dessa adresser kan fritt användas, men de kan inte kommunicera direkt till Internet Används i lokalnät, eftersom det är brist på adresser i allmänna nät Även i testnät Trafik till Internet möjligt med NAT/PAT (Network/Port Address Translation)
NAT/PAT 1 2 10.0.0.2 4 10.0.0.1 194.197.18.3 3 130.233.9.10 From IP From Port To IP To Port 1 10.0.0.2 8890 130.233.9.10 80 2 194.197.18.3 3498 130.233.9.10 80 3 130.233.9.10 80 194.197.18.3 3498 4 130.233.9.10 80 10.0.0.2 8890
ICMP Internet Control Message Protocol Standard RFC 792 Enkelt meddelande i ett IP-paket Mellan två maskiners TCP/IP stack Inte mellan tillämpningar Förverkligar Nätets felmeddelanden Ping Traceroute Användning ofta begränsad på grund av säkerhetsskäl "Route redirect", "router advertisement" gör det möjligt att kapa förbindelser Ping räcker för att kartlägga maskinerna i nätet
ICMP-meddelande Type Code Checksum Data Type definierar meddelandet: echo request, echo reply, destination unreachable, o.s.v. Code definierar orsaken: host unreachable, port unreachable, o.s.v. Data innehåller väsentliga delar av IP-paketet som orsakat felet Definition av parametrarna http://www.iana.org/assignments/icmp-parameters
IP i lokalnätet Ett lokalnätssegment är oftast också ett IP-nät IP-nätet har en nätadress och en rundsändningsadress Problemet: lokalnätet förstår inte IP-adresser För att IP skall fungera i lokalnätet måste IP-adresserna översättas till lokalnätets adresser ARP erbjuder denna tjänst Dessutom måste varje maskin få veta sin IP-adress DHCP löser den frågan Kan också definieras för hand För att man från nätet skall kunna kommunicera med andra nät, måste maskinen veta väljarens (router) adress och kunna skilja lokala adresser från stamnätets adresser
IP i lokalnätet Maskinens anslutningar definieras (Unix) Loopback: ifconfig lo 127.0.0.1 Ethernet: ifconfig eth0 194.197.118.42 broadcast \ 194.197.118.255 netmask 255.255.255.0 Övriga anslutningar Default route är väljaren för allt som inte hör till lokalnätet route add default 194.197.118.1
ARP Address Resolution Protocol Kopplar samman IP-adresser och lokalnätets MAC-adresser Frågaren skickar en rundsändning i lokalnätet med mottagarens IP-adress Ägaren av IP-adressen svarar med sin MAC-adress Frågaren skriver upp första svaret som kommer i sin dynamiska ARP-tabell APR har vissa säkerhetsproblem Om maskinen har mer än en IP-adress i samma anslutning, svarar den alla förfrågningar med samma MAC-adress RFC 826
ARP paketets format hardw type prot type hardw size prot size OP sender MAC address sender IP address target MAC address target IP address 2 2 1 1 2 6 4 6 4 bytes Kapslas direkt i länkskiktets ram Längden är alltid 28 byte hardw type = MAC-adressens typ (0x0001 = Ethernet) prot type = nätprotokollets typ (0x0800 = IP) OP = operation (ARP request/reply)
DHCP Dynamic Host Configuration Protocol Automatisk utdelning av IP-adresser i lokalnätet Permanenta IP-adresser på basen av klientens MAC-adress Dynamiska IP-adresser från en pool Ersätter tidigare BOOTP:n ja RARP:n Kräver en server eller Proxyserver i lokalnätet RFC 2131, 2132
DHCP Meddelandena kapslade som UDP över IP Servern i port 67, klienten i port 68 Servern söka med rundsändning Första paketet skickas till adressen 255.255.255.255 från adressen 0.0.0.0 Meddelandetyper DISCOVER, OFFER, REQUEST, DECLINE, ACK, NAK, RELEASE Servern ger den grundinformation som en arbetsstation i lokalnätet behöver IP-adress, nätmask, standardgateway DNS-serverns adress mm
DHCP MSC-diagram Server1 Client Server 2 DHCPDISCOVER DHCPDISCOVER DHCPOFFER DHCPREQUEST DHCPOFFER DHCPREQUEST DHCPACK DHCPRELEASE
Vägval För att nätet skall vara ett nät, bör det erbjuda alternativa rutter mellan två noder Internet är ett stort och dynamiskt nät Företags och andra organisationers nät ändras också rätt så ofta Meningen med alternativa rutter är feltolerans, även i ett statiskt när finns dynamiska händelser Väljare förmedlar information on nätets läge och tjänsterna de erbjuder via vägvalsprotokoll Vägval betyder beslutet om hur paketet förmedlas vidare i nätet Vägvalsbesluten görs på basen av information som samlats via vägvalsprotokollen Informationen sparas i en vägvalstabell
Väljare En väljare är en nätenhet som förmedlar trafik mellan nät Väljaren har två eller fler nätanslutningar Väljaren kan göra beslut on vidareförmedling gällande alla adresser i IP-adressrymden Beslutet kan också vara skicka ingenstans Detta vidaresändningsbeslut gäller även arbetsstationer och servrar, även om de har bara en nätanslutning T.ex. Unix "route" och Windows "route print" Beslutet görs med hjälp av vägvalstabellen Datastruktur som innehåller information om IP-adresser och hantering av datakommunikationspaket Uppdateras med hjälp av vägvalsprotokoll (dynamiskt vägval)
Statiskt vägval Vägvalstabellen i arbetsstationer och gränsväljare är vanligen statisk Vägvalsprotokoll används inte När paketet kommer till väljaren, görs vägvalsbeslutet på basen av mottagaradressen i paketet och vägvalsinformationen i tabellen I en arbetsstation jämförs utgående IP-paketets mottagare med maskinens egen adress inom ramen för nätmasken Gränsväljaren (t.ex. i hemmanätet) känner lokala nätets nätadresser och skickar all annan trafik till standardlänken (default)
Dynamiskt vägval De lokala näten och deras adresser ställs in för hand i väljaren Väljaren berättar med vägvalsprotokollen för övriga väljare om sina egna nät och tar emot information om andra förbindelser På basen av den mottagna informationen byggs en dynamisk vägvalstabell upp Vägval behandlas i detalj på kursen T-110.4100 Datornät
Enkel vägvalstabell Internet s0 R e0 193.209.237.72/30 Typiskt litet hemmanät Vägvalstabell Destination 193.209.237.72/30 * Next hop e0 s0 Comment Local LAN (Ethernet) Serial line to Internet (default route)
Mer invecklat vägval Här behövs dynamiska egenskaper Kontoret har en 2 Mbps länk till Internet via grannkontoret och en reservförbindelse på 128 kbps (t.ex.. ISDN) 193.209.237.0/24 L2, 2 Mbps R1 L1, 2 Mbps Inet R2 L2, 128 kbps s1 s0 R3 e0 194.197.118.0/25
...Vägvalstabell Vägvalstabellen in väljaren R3 i exemplet Destination Next hop Cost Comment 194.197.118.0/24 e0 0 Directly connected 193.209.237.0/24 s0 1 Fastest route 193.209.237.0/24 s1 10 Backup via R2 * s0 1 Fastest route via R1 * s1 10 Slower "Cost" räknas inte i pengar utan styr prioritering
Stamnät Ett nät med Internet-kontakt är inte ännu en del av stamnätet Näten i stamnätet förmedlar trafik från andra nät väljarna i stamnätet har ingen standardlänk, utan de måste känna till växlingen för alla världens IP-adresser Ca. 100 000 element i tabellen En väljare behöver bara veta till vilken länk den skall styra paketet, väljaren behöver inte känna till hela rutten
Vägvalsprotokoll Det finns skilda vägvalsprotokoll för stamnätet och mindre nät Stamnätet in Internet använder BGP4 (Border Gateway Protocol) För internt vägval finns ett antal alternativ IGRP (Interior Gateway Routing Protocol) EIGRP (Enhanced Interior Gateway Routing Protocol) OSPF (Open Shortest Path First) RIP (Routing Information Protocol) IS-IS (Intermediate System to Intermediate System) Protokollen förmedlar information. Dessutom måste väljaren implementera en vägvalsalgoritm för att bygga upp vägvalstabellen på basen av den samlade informationen.
En ny version av IP är på kommande Största nyttan är en stor adressrymd 128 bitar Borde räcka för ca. 1500 adresser per m2 på jorden - även med dåligt utnyttjade adresser Andra fördelar Bättre stöd för autokonfiguration Inga optioner i egentliga pakethuvudet -> effektivare IPsec inbyggt IPv4 och IPv6 kan användas samtidigt, mekanismer för övergången definierade Övergången till IPv6 har börjat I Asien har operatörerna riktig brist på IPv4 adresser 3GPP R5 definierar ett IPv6 stamnät för operatörerna Stöd finns (tillgängligt) ren i de vanligaste operativsystemen IPv6
Sammanfattning Nätskiktet är nuförtiden in praktiken IP in Internet-arkitekturen För tillfället version 4, version 6 på kommande Högre protokoll (TCP, UDP) antar att nätskiktet lyckas tillräckligt bra i sin strävan att förmedla paket från maskin till maskin Behöver inte lyckas fullständigt, oftast räcker IPv4-adresser är en kontrollerad resurs som kan delas in i delnät vid en bitgräns