Datakom høsten Datakommunikasjon høsten 2002 Forelesning nr 4, mandag 9. september Chapter 4, Network Layer and Routing
Datakom høsten Øvingsoppgaver zChapter 2, Review questions y1, 2, 3, 6, 7, 8, og 13 zGjennomgås torsdag 12. september kl 12
Datakom høsten Kommunikasjonslagene (referert til OSI) ApplicationPresentationSession Ethernet IP ARP ICMP TCPUDP NetworkTransportData LinkPhysicalApplicationTransportNetworkData Link PPP FTPHTTP DNS OSI Internet-TCP/IP SMTP RFC871
Datakom høsten Innkapsling IP Header Data TCP Header Data
Datakom høsten Innkapsling IP Header Data TCP Header Data
Datakom høsten Innkapsling IP Header Data TCP Header Data Ethernet Header Ethernet Checksum Data
Datakom høsten Ethernet Header Ethernet Checksum Data Innkapsling IP Header Data TCP Header Data ‘Protocoll type’ identifiserer neste protokoll som IP (=0800) ‘Protocol’ definerer neste protokoll som TCP (=6) ‘Destination port’ definerer applikasjon, f.eks. HTTP (=80)
Datakom høsten zRuting yIP adresser yVeivalg zFragmentering zOverføring(‘best effort’) yUpålitelig yForbindelsesløs Pakker kan: xmistes xdupliseres xkomme i feil rekkefølge IP rydder ikke opp i dette IP - Internet Protocol RFC791
Datakom høsten IP Header VersionIHLType of ServiceTotal length Source Address Destination Address Options Version -Hvilken verson av IP som benyttes, her vil det stå 4, siden dette er en IPv4 header IHL -Internetwork Header Length - headerens lengde i 32-bits ord (er 5 for header uten opsjoner) Type of Service -Precedence (3 bit), Delay (low/normal), Throughput (normal/high), Reliability (normal/high), Cost (normal/maximize) Total Length -Totalt antall oktetter (IP-header + data) Identification 0 DFDF MFMF Fragment Offset Identification -Benyttes for å identifisere sammenhørende fragmenter (når opprinnelig IP-pakke var for stor for link-laget). DF -Don’t Fragment - settes hvis det ikke ønskes at pakker skal fragmenteres.0 - Null - Alltid satt til 0MF - More-flag;1 hvis flere fragmenter, 0 hvis siste fragment (eller hvis ikke fragmentert). Fragment Offset -Offset i antall 64-bits ord; plassering av dette fragmentet i opprinnelig pakke (= 0 for første fragment eller hvis ikke fragmentert) Time to LiveProtocolHeader Checksum Time To Live -Maxverdi for søkets levetid. Angis i sekunder, men blir i praksis antall ruterhopp; telles ned i hver ruter det passerer inntil det når 0, da sendes det ikke videre. Protocol -Angir det overliggende lags protokoll, f.eks. TCP. RFC791 Eksempel
Datakom høsten IP-adresser 0 NettLokal Klasse A (0-127): 01 NettLokal Klasse B ( ): 011 NettLokal Klasse C ( ): RFC791
Datakom høsten IP-adresser zHvordan angis en IP-adresse? yfire desimale nummer, et pr. byte i adressen, separert med punktum yKalles for “dotted decimal notation” yEksempel
Datakom høsten IP-adresser zSpesielle adresser yBroadcast - en til alle Lokaladresse har alle bit satt til 1 yLoopback (tilgang til tjenester på egen maskin) yAlle bit 0; ukjent IP-adresse (eller default rute) zMåter å adressere yUnicast - en til en yBroadcast - en til alle yMulticast - en til mange
Datakom høsten Subnett zKlasseinndelingen er lite fleksibel, og gir mange ubrukte adresser zBedre utnyttelse av adresseområdet oppnås ved bruk av subnettmasker. zEn subnettmaske angir hvor stor del av adressen som er nettprefikset (nett+subnett) og dermed også hvor stor del lokaladressen er RFC950
Datakom høsten Subnett, eksempel RFC NettLokal Opprinnelig klasse B (1 nett med lokaladresser) Nå: 64 subnett, hvert med 1022 lokaladresser 01 NettSubnettLokal Subnettmaske: eller /22
Datakom høsten Subnett zVariabel Length Subnet Mask yMan kan ha subnett av forskjellig størrelse yMer effektiv utnyttelse av organisasjonens adresseområde. zMåter å angi subnettmasker: y , subnettmaske y /24 y/24 betyr at 24 bit benytttes til å angi nettadressen yTotalt tilgjengelig 32 bit y32 – 24 = 8 bit til host adresser RFC950
Datakom høsten Subnett - variable subnettmasker, eksempel RFC NettLokal Opprinnelig klasse C nett, 1 nett med 254 lokaladresser 011 NettLokal 4 subnett, hvert med 30 lokaladresser Subnett xx0 011 NettLokal 4 subnett, hvert med 14 lokaladresser Subnett 0x1x Pluss: 011 NettLokal 8 subnett, hvert med 6 lokaladresser Subnett x1x1x NÅ:
Datakom høsten Adresseoversetting zBedre kjent som NAT (Network Address Translator) zIP-adresser innenfor et nettverk yikke er gyldige for bruk utenfra yskal skjules for utenverdenen zEn organisasjon har færre eksterne adresser enn størrelsen på det interne nettverket tilsier Noen adresseområder er reservert til privat bruk y y y Disse adressene kan fritt benyttes bak en brannmur uten å komme i konflikt med andre sine IP-adresser på Internett. RFC2663
Datakom høsten ICMP - Internet Control Message Protocol zBrukes for feilmeldinger, rutinginformasjon og test zBenytter IP for å sende pakker (på samme måte som TCP og UDP), men er samtidig en nødvendig del av IP zEksempler: yICMP redirectICMP redirect yICMP echoICMP echo yICMP time exceededICMP time exceeded RFC792
Datakom høsten ICMP message types Type FieldMessage Type 0Echo Reply (Svar på Ping) 3Destination Unreachable 4Source Quench (Flyt kontroll) 5Redirect 8 Echo Request (Ping) 11Time Exceeded for a Datagram (Traceoute) 12Parameter Problem on a Datagram 13Timestamp Request 14Timestamp Reply 15Information Request 16Information Reply 17Address Mask Request 18Address Mask Reply
Datakom høsten ICMP eksempel PC Internett Ruter Fefault GW = WEB-server ICMP redirect Intranett
Datakom høsten Tracert kommando zTraceroute, lister opp hvilke rutere som passeres på vei til mottaker zBenytter TTL (Time To Live) feltet i ICMP Echo Request zFår svar i form av ICMP Time Exceeded melding zTTL settes til 1 for så og økes med 1 hver gang
Datakom høsten Tracert
Datakom høsten PING program zBenyttes for å finne ut om en maskin er på lufta. zSender ICMP Echo Request zForventer å få ICMP Echo Reply som svar
Datakom høsten PING ping Pinging [ ] with 32 bytes of data: Reply from : bytes=32 time=140ms TTL=126 Reply from : bytes=32 time=10ms TTL=126 Ping statistics for : Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 10ms, Maximum = 140ms, Average = 42ms
Datakom høsten ARP - Address Resolution Protocol zFinne fysisk adresse fra IP-adresse zBenyttes i lokale nett zARP request sendes som broadcast zSvar på denne lagres (og kan benyttes senere) zEn host kan svare på vegne av en annen (proxy ARP) zEksempler yARP request, ARP replyARP requestARP reply RFC826
Datakom høsten The Internet Network layer routing table Host, router network layer functions: Routing protocols path selection RIP, OSPF, BGP IP protocol addressing conventions datagram format packet handling conventions ICMP protocol error reporting router “signaling” Transport layer: TCP, UDP Link layer physical layer Network layer
Datakom høsten IP Addressing: introduction zIP address: 32-bit identifier for host, router interface zinterface: connection between host, router and physical link yrouter’s typically have multiple interfaces yhost may have multiple interfaces yIP addresses associated with interface, not host, router =
Datakom høsten IP Addressing zIP address: ynetwork part (high order bits) yhost part (low order bits) zWhat’s a network ? ( from IP address perspective) ydevice interfaces with same network part of IP address ycan physically reach each other without intervening router network consisting of 3 IP networks (for IP addresses starting with 223, first 24 bits are network address) LAN
Datakom høsten IP Addressing How to find the networks? zDetach each interface from router, host zcreate “islands of isolated networks Interconnected system consisting of six networks
Datakom høsten IP Addresses 0 network host 10 network host 110 networkhost 1110 multicast address A B C D class to to to to bits given notion of “network”, let’s re-examine IP addresses: “class-full” addressing:
Datakom høsten IP addressing: CIDR zclassful addressing: yinefficient use of address space, address space exhaustion ye.g., class B net allocated enough addresses for 65K hosts, even if only 2K hosts in that network zCIDR: Classless InterDomain Routing ynetwork portion of address of arbitrary length yaddress format: a.b.c.d/x, where x is # bits in network portion of address network part host part /23
Datakom høsten IP addresses: how to get one? Hosts (host portion): zhard-coded by system admin in a file zDHCP: Dynamic Host Configuration Protocol: dynamically get address: “plug-and-play” yhost broadcasts “DHCP discover” msg yDHCP server responds with “DHCP offer” msg yhost requests IP address: “DHCP request” msg yDHCP server sends address: “DHCP ack” msg
Datakom høsten IP addresses: how to get one? Network (network portion): zget allocated portion of ISP’s address space: ISP's block /20 Organization /23 Organization /23 Organization /23... ….. …. …. Organization /23
Datakom høsten Hierarchical addressing: route aggregation “Send me anything with addresses beginning /20” / / /23 Fly-By-Night-ISP Organization 0 Organization 7 Internet Organization 1 ISPs-R-Us “Send me anything with addresses beginning /16” /23 Organization Hierarchical addressing allows efficient advertisement of routing information:
Datakom høsten Hierarchical addressing: more specific routes ISPs-R-Us has a more specific route to Organization 1 “Send me anything with addresses beginning /20” / / /23 Fly-By-Night-ISP Organization 0 Organization 7 Internet Organization 1 ISPs-R-Us “Send me anything with addresses beginning /16 or /23” /23 Organization
Datakom høsten IP addressing: the last word... Q: How does an ISP get block of addresses? A: ICANN: Internet Corporation for Assigned Names and Numbers yallocates addresses ymanages DNS yassigns domain names, resolves disputes
Datakom høsten Getting a datagram from source to dest. IP datagram: A B E misc fields source IP addr dest IP addr data zdatagram remains unchanged, as it travels source to destination zaddr fields of interest here Dest. Net. next router Nhops routing table in A
Datakom høsten Getting a datagram from source to dest A B E Starting at A, given IP datagram addressed to B: zlook up net. address of B zfind B is on same net. as A zlink layer will send datagram directly to B inside link-layer frame yB and A are directly connected Dest. Net. next router Nhops misc fields data
Datakom høsten Getting a datagram from source to dest A B E Dest. Net. next router Nhops Starting at A, dest. E: zlook up network address of E zE on different network yA, E not directly attached zrouting table: next hop router to E is zlink layer sends datagram to router inside link- layer frame zdatagram arrives at zcontinued….. misc fields data
Datakom høsten Getting a datagram from source to dest A B E Arriving at , destined for zlook up network address of E zE on same network as router’s interface yrouter, E directly attached zlink layer sends datagram to inside link-layer frame via interface zdatagram arrives at !!! (hooray!) misc fields data network router Nhops interface Dest. next