Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Ryhmän kokoonpano ja panostus

Samankaltaiset esitykset


Esitys aiheesta: "Ryhmän kokoonpano ja panostus"— Esityksen transkriptio:

1 Ryhmän kokoonpano ja panostus
Kääntäjät: Ilari Sahi Roman Hyvönen Markus Kyläheiko Jere Lehtinen Antti Termonen Ville Hartikainen Sami Arho Saku Arho Laadunvaloja: Joel Salminen

2 Chapter 4: network layer
chapter goals: understand principles behind network layer services: network layer service models forwarding versus routing how a router works routing (path selection) broadcast, multicast instantiation, implementation in the Internet Network Layer

3 Luku 4: verkkokerros Kappaleen tavoitteet:
Ymmärtää verkkokerroksen palveluiden takana olevat periaatteet: Verkkokerroksen palvelumallit Edelleenlähetys vastaan reititys Miten reititin toimii Reititys (reitin valinta) Lähetys, ryhmälähetys Ilmentöitymän luominen, toteutus internetissä Network Layer

4 Chapter 4: outline 4.1 introduction
4.2 virtual circuit and datagram networks 4.3 what’s inside a router 4.4 IP: Internet Protocol datagram format IPv4 addressing ICMP IPv6 4.5 routing algorithms link state distance vector hierarchical routing 4.6 routing in the Internet RIP OSPF BGP 4.7 broadcast and multicast routing Network Layer

5 Luku 4: pääpiirteet 4.1 Esittely
4.2 Näennäispiiri ja datagrammi verkot 4.3 Mitä on reitittimen sisällä 4.4 IP: Internet Protokolla datagrammi formaatti IPv4 osoittaminen ICMP (Internet Control Message Protocol) IPv6 4.5 Reititys algoritmit Linkin tila Etäisyys vektori Hierarkkinen reititys 4.6 Reititys internetissä RIP (Routing Information Protocol) OSPF (Open Shortest Path First) BGP (Border Gateway Protocol) 4.7 Lähetyksen ja ryhmälähetyksen reitittäminen Network Layer

6 Network layer transport segment from sending to receiving host
application transport network data link physical transport segment from sending to receiving host on sending side encapsulates segments into datagrams on receiving side, delivers segments to transport layer network layer protocols in every host, router router examines header fields in all IP datagrams passing through it network data link physical application transport network data link physical Network Layer

7 Verkkokerros application transport network data link physical kuljettaa segmentti lähettävältä vastaanottavalle hostille Lähettäjän puolella tiivistetään segmentit datagrammeiksi Vastaanottajan puolella toimitetaan segmentit kuljetuskerrokselle Verkkokerroksen protokollat jokaisessa hostissa, reititin Reititin tutkii otsikkokentät jokaisessa siitä kulkevasta IP datagrammista network data link physical application transport network data link physical Network Layer

8 Two key network-layer functions
forwarding: move packets from router’s input to appropriate router output routing: determine route taken by packets from source to dest. routing algorithms analogy: routing: process of planning trip from source to dest forwarding: process of getting through single interchange Network Layer

9 Kaksi avain verkkotason funktiot
Edelleenlähetys: siirretään paketit reitittimen syötöstä oikeaan ulostuloon Reititys: Määritetään reitti, jonka paketit kulkevat lähteestä määränpäähän. Reititys algoritmit analogia: reititys: Matkan suunnittelemisen prosessi lähteestä määränpäähän Edelleenlähetys: Prosessi yhden vaihdon aikaansaamiseksi Network Layer

10 Interplay between routing and forwarding
1 2 3 0111 value in arriving packet’s header routing algorithm local forwarding table header value output link 0100 0101 1001 routing algorithm determines end-end-path through network forwarding table determines local forwarding at this router Network Layer

11 Reitityksen ja edelleenlähetyksen välinen vuorovaikutus
1 2 3 0111 Saapuvan paketin otsikossa oleva arvo routing algorithm local forwarding table header value output link 0100 0101 1001 Reititysalgoritmi määrittää päästä- päähän mentävän reitin verkossa Edelleenlähetystaulu määrää paikallisen edelleenlähetyksen kyseisessä reitittimessä Network Layer

12 Connection setup 3rd important function in some network architectures:
ATM, frame relay, X.25 before datagrams flow, two end hosts and intervening routers establish virtual connection routers get involved network vs transport layer connection service: network: between two hosts (may also involve intervening routers in case of VCs) transport: between two processes Network Layer

13 Yhteyden muodostaminen
Kolmanneksi tärkein toiminnallisuus joissain verkkoarkkitehtuureissa: ATM (Asynchronous Transfer Mode), kehyksen välitys, X.25 Ennen kuin datagrammit virtaavat kaksi päätylaitetta ja välissä olevat reitittimet luovat näennäisyhteyden Reitittimet osallistuvat Verkko- vastaan kuljetuskerros yhdistämispalvelu: verkko: Kahden hostin välinen (saattaa myös sisällyttää välissä olevia reitittimiä VC (virtuaalipiiri) tapauksissa) kuljetus: Kahden prosessin välillä Network Layer

14 Network service model Q: What service model for “channel” transporting datagrams from sender to receiver? example services for individual datagrams: guaranteed delivery guaranteed delivery with less than 40 msec delay example services for a flow of datagrams: in-order datagram delivery guaranteed minimum bandwidth to flow restrictions on changes in inter-packet spacing Network Layer

15 Verkon palvelumalli Q: Mikä palvelumalli “kanavalle” joka lähettää datagrammeja lähettäjältä vastaanottajalle? Esimerkkipalveluja yksittäisille datagrammeille: Varma toimitus Varma toimitus alle 40ms viiveellä Esimerkkipalveluja datagramien virralle: Datagramien oikeassa järjestyksessä perille toimittaminen Varmistettu minimikaistanleveys virralle rajoituksia sisäisten pakettien välien muuttamisessa Network Layer

16 Network layer service models:
Guarantees ? Network Architecture Internet ATM Service Model best effort CBR VBR ABR UBR Congestion feedback no (inferred via loss) no congestion yes Bandwidth none constant rate guaranteed minimum Loss no yes Order no yes Timing no yes Network Layer

17 Verkkokerroksen palvelumallit:
Takuita? Verkko Arkkitehtuuri Internet ATM Palvelu Malli Paras yritys CBR VBR ABR UBR Ruuhka Palaute ei (puututaan häviön avulla) Ei ruuhkaa Kyllä Kaistanleveys Ei yhtään Tasainen Tahti Taattu Minimi Häviö Ei Kyllä Järjestys Ei Kyllä Rytmitys Ei Kyllä Network Layer

18 Chapter 4: outline 4.1 introduction
4.2 virtual circuit and datagram networks 4.3 what’s inside a router 4.4 IP: Internet Protocol datagram format IPv4 addressing ICMP IPv6 4.5 routing algorithms link state distance vector hierarchical routing 4.6 routing in the Internet RIP OSPF BGP 4.7 broadcast and multicast routing Network Layer

19 Connection, connection-less service
datagram network provides network-layer connectionless service virtual-circuit network provides network-layer connection service analogous to TCP/UDP connecton-oriented / connectionless transport-layer services, but: service: host-to-host no choice: network provides one or the other implementation: in network core Network Layer

20 Yhteys, yhteydetön palvelu
datagramiverkko tarjoaa verkkokerrokselle yhteydetöntä palvelua virtuaalipiiriverkko tarjoaa verkkokerrokselle yhteydellistä palvelua Vastaavanlainen TCP/UDP yhteyspainotteiseen / yhteydettömään kuljetuskerroksen palveluun, mutta: palvelu: hostilta hostille ei vaihtoehtoa: verkko tarjoaa jommankumman toteutus: verkon ytimessä Network Layer

21 Virtual circuits “source-to-dest path behaves much like telephone circuit” performance-wise network actions along source-to-dest path call setup, teardown for each call before data can flow each packet carries VC identifier (not destination host address) every router on source-dest path maintains “state” for each passing connection link, router resources (bandwidth, buffers) may be allocated to VC (dedicated resources = predictable service) Network Layer 4-21

22 Virtuaalipiirit “Lähteestä-päämäärään polku, käyttäytyy hyvin samanlaisesti kuin puhelinpiiri” Suoritustavoiltaan Verkon toiminnat lähteestä-päämäärään polulla soiton asetus, purkaminen jokaiselle kutsulle ennenkuin data voi virrata Jokainen paketti sisältää VC-tunnistimen (ei päämäärän host osoitetta) Jokainen reititin lähteetä-päämäärään polulla pitää yllä “tilaa” jokaista ohitsemenevää yhteyttä kohti linkki, reititinresurssit (kaistanleveys, puskurit) voidaan myöntää VC:lle (omistautuneet resurssit = ennalta- arvattava palvelu) Network Layer 4-22

23 VC implementation a VC consists of:
path from source to destination VC numbers, one number for each link along path entries in forwarding tables in routers along path packet belonging to VC carries VC number (rather than dest address) VC number can be changed on each link. new VC number comes from forwarding table Network Layer 4-23

24 VC:n käyttöönpano VC sisältää:
polun lähteestä päämäärään VC numeroita, yksi numero jokaista linkkiä kohden polulla Merkinnät eteenpäinlähetys taulukoissa reitittimissä polulla VC:n paketti kantaa VC numeroa (ennemmin kuin päämäärän osoitetta) VC numeroa voi vaihtaa jokaisessa linkissä. Uusi VC numero tulee eteenpäinlähetys taulukosta. Network Layer 4-24

25 VC forwarding table VC routers maintain connection state information!
22 12 32 1 3 2 VC number interface number forwarding table in northwest router: Incoming interface Incoming VC # Outgoing interface Outgoing VC # … … … … VC routers maintain connection state information! Network Layer 4-25

26 VC edelleenlähetystaulukko
22 12 32 1 3 2 VC numero Liitäntä- numero edelleenlähetystaulukko luoteisessa reitittimessä: Saapuva liitäntä Saapuva VC # Ulospäinsuuntautuva liitäntä Ulospäinsuuntautuva VC # … … … … VC reitittimet säilyttävät yhteyden tilan tiedot! Network Layer 4-26

27 Virtual circuits: signaling protocols
used to setup, maintain teardown VC used in ATM, frame-relay, X.25 not used in today’s Internet application transport network data link physical application transport network data link physical 5. data flow begins 6. receive data 4. call connected 3. accept call 1. initiate call 2. incoming call Network Layer 4-27

28 5. datan virtaaminen alkaa
Virtuaalipiirit: signalointiprotokollat Käytetään asettamaan, ylläpitämään purkamaan VC käytetty pankkiautomaateissa, kuva- lähetys, X.25 Ei käytetty nykypäivän Internetissä sovellus kuljetus verkko linkki fyysinen sovellus kuljetus verkko linkki fyysinen 5. datan virtaaminen alkaa 6.vastaanota data 4.puhelu yhdistetty 3. hyväksy puhelu 1.aloittaa puhelun 2.saapuva puhelu Network Layer 4-28

29 Datagram networks no call setup at network layer
routers: no state about end-to-end connections no network-level concept of “connection” Packets forwarded using destination host address application transport network data link physical application transport network data link physical 1. send datagrams 2. receive datagrams Network Layer 4-29

30 2. vastaanota datagrammeja
Datagramiverkot Ei puhelun asetusta verkko tasolla reitittimet: ei tilaa päädystä-päätyyn yhteyksille Ei verkkon tasolla konsepta “yhteydestä” Paketit edelleenlähetetään käyttäen päämäärän hostin osoitetta sovellus kuljetus verkko linkki fyysinen sovellus kuljetus verkko linkki fyysinen 1. lähetä datagrammeja 2. vastaanota datagrammeja Network Layer 4-30

31 Datagram forwarding table
4 billion IP addresses, so rather than list individual destination address list range of addresses (aggregate table entries) routing algorithm local forwarding table dest address output link address-range 1 address-range 2 address-range 3 address-range 4 3 2 1 IP destination address in arriving packet’s header 1 2 3 Network Layer 4-31

32 Datagram edelleenlähetystaulukko
4 miljardia IP osoitetta, joten mielummin kuin listataan jokainen erillinen päämäärän osoite Listataan osoitteiden alue (yhteenlasketaan taulukoiden merkinnät) reititysalgoritmi paikallinen edelleenlähetys taulukkoo Päämr osoite Ulosmeno linkki address-range 1 address-range 2 address-range 3 address-range 4 3 2 1 IP päämäärän osoite saapuvan paketin otsikossa 1 2 3 Network Layer 4-32

33 Datagram forwarding table
Destination Address Range through otherwise Link Interface 1 2 3 Q: but what happens if ranges don’t divide up so nicely? Network Layer 4-33

34 Datagram edelleenlähetys taulukko
Päämäärä Osoite Alue through otherwise Linkki liitäntä 1 2 3 Q: mutta mitä tapahtuu jos alue ei jakaudu niin hienosti? Network Layer 4-34

35 Longest prefix matching
when looking for forwarding table entry for given destination address, use longest address prefix that matches destination address. Link interface 1 2 3 Destination Address Range *** ********* ********* *** ********* otherwise examples: DA: which interface? DA: which interface? Network Layer 4-35

36 Pisin etuliitten sovitus
Pisin etuliitteen sovitus Kun etsitään edelleenlähetys taulukon merkintää annetulle päämäärän osoitteelle, käytä pisintä osoitteen etuliitettä joka sopii päämäärän osoitteeseen. Linkki liitäntä 1 2 3 Määränpää Osoite Väli *** ********* ********* *** ********* muuten esim: DA: Mikä liitäntä? DA: Mikä liitäntä? Network Layer 4-36

37 Datagram or VC network: why?
Internet (datagram) data exchange among computers “elastic” service, no strict timing req. many link types different characteristics uniform service difficult “smart” end systems (computers) can adapt, perform control, error recovery simple inside network, complexity at “edge” ATM (VC) evolved from telephony human conversation: strict timing, reliability requirements need for guaranteed service “dumb” end systems telephones complexity inside network Network Layer 4-37

38 Datagram vai VC verkko: miksi?
Internetti (datagram) Data vaihtuu tietokoneiden välillä “elastinen” palvelu, ei tiettyä aikautusta tarvittu. monta linkki tyyppiä eri ominaisuudet Yhdenmukainen palvelu vaikeaa “fiksuja” päätysysteemeitä (computers) Voi sopeutua, suorittaa valvontaa, virheestätoipuminen Simppeli verkossa, monimutkainen “reunoilla” Pankkiautomaatti (VC) Kehittynyt puhelinliikennenteestä Ihmisen keskutelu: Tiukat ajoitukset, luotettavuusvaatimuksia Tarvitsee taatun palvelun “tyhmät” pääty systeemit puhelimet Monimutkaiset verkossa Network Layer 4-38

39 Chapter 4: outline 4.1 introduction
4.2 virtual circuit and datagram networks 4.3 what’s inside a router 4.4 IP: Internet Protocol datagram format IPv4 addressing ICMP IPv6 4.5 routing algorithms link state distance vector hierarchical routing 4.6 routing in the Internet RIP OSPF BGP 4.7 broadcast and multicast routing Network Layer 4-39

40 Router architecture overview
two key router functions: run routing algorithms/protocol (RIP, OSPF, BGP) forwarding datagrams from incoming to outgoing link forwarding tables computed, pushed to input ports routing processor routing, management control plane (software) forwarding data plane (hardware) high-seed switching fabric router input ports router output ports Network Layer 4-40

41 Reititinarkitehtuurin yleisnäkymä
Reitittimen kaksi avainfunktiota: Pyörittää reititys algoritmeja/protokollia(RIP, OSPF, BGP) edelleenlähetys datagrammit saapuvista linkeistä ulosmeneviin linkkeihin edelleenlähetystaulukot lasketaan, pusketaan sisäänmeno portteihin Reititys prosessori reititys, johto ohjaustaso (sovellus) Edelleenlähettäminen datataso (hardware) high-seed kytkentä rakenne Reitittimen sisäänmeno portit Reitittimen ulosmeno portit Network Layer 4-41

42 Input port functions decentralized switching:
lookup, forwarding queueing line termination link layer protocol (receive) switch fabric physical layer: bit-level reception data link layer: e.g., Ethernet see chapter 5 decentralized switching: given datagram dest., lookup output port using forwarding table in input port memory (“match plus action”) goal: complete input port processing at ‘line speed’ queuing: if datagrams arrive faster than forwarding rate into switch fabric Network Layer 4-42

43 Sisäänmeno portin funktiot
etsintä, edelleenlähetys jonottaminen Linja toteuttaminen linkki tason protokolla (vastaanotto) Kytkin rakenne Fyysinen taso: bitti-tason vastaanotto data linkki taso: esm, Ethernet katso kappale 5 Hajautettu kytkentä: annettu datagram pääm., etsi ulosmeno portti käyttäen edelleenlähetys taulukkoa sisääntulo portin muistista (“sovitus plus toiminta”) päämäärä: suorita sisääntulo portti prosessointi ‘linja nopeudella’ jonottelu: jos datagrammit saapuvat nopeammin kuin edelleenlähetys nopeus kytkin rakenteeseen Network Layer 4-43

44 Switching fabrics transfer packet from input buffer to appropriate output buffer switching rate: rate at which packets can be transfer from inputs to outputs often measured as multiple of input/output line rate N inputs: switching rate N times line rate desirable three types of switching fabrics memory memory bus crossbar Network Layer

45 kytkentäkentät Siirtää paketin syöttäpuskurista asianmukaiseen antopuskuriin Vaihtoaktiivisuus: nopeus, jolla paketit voidaan siirtää syötöstä antoon. Usein mitataan useita syöttä/anto linjanopeuksia N syöttöjä: vaihtoaktiivisuus N kertaa linjanopeus Kolme kenttäkytkentä tyyppiä memory muisti bussi poikkipuu Network Layer

46 Switching via memory first generation routers: input output port
traditional computers with switching under direct control of CPU packet copied to system’s memory speed limited by memory bandwidth (2 bus crossings per datagram) input port (e.g., Ethernet) memory output system bus Network Layer

47 Kytkentä muistin kautta
Ensimmäisen sukupolmen reitittimet: Perinteisten tietokoneiden kytkentä CPU:n valvonnassa Paketit kopioitu järjestelmän muistiin nopeus rajoitettu muistin kaistanleveydellä(2 bus ylittää per datagrammi) syöttä portti (esim., Ethernet) muisti anto (esim, system bus Network Layer

48 Switching via a bus datagram from input port memory
to output port memory via a shared bus bus contention: switching speed limited by bus bandwidth 32 Gbps bus, Cisco 5600: sufficient speed for access and enterprise routers bus Network Layer

49 Väylän vaihtaminen Datagrammi tuloportin muistista
lähtöporttiin muistin kautta väylää vaihtamalla Väylän väite: kytykentänopeus rajoitettu kaistanleveyteen 32 Gbps väylä, Cisco 5600: riittävän nopea pääsy ja yritysten reitittimet bus Network Layer

50 Switching via interconnection network
overcome bus bandwidth limitations banyan networks, crossbar, other interconnection nets initially developed to connect processors in multiprocessor advanced design: fragmenting datagram into fixed length cells, switch cells through the fabric. Cisco 12000: switches 60 Gbps through the interconnection network crossbar Network Layer

51 Yhteenliittämis verkon kautta kytkeminen
Voittaa kaistanleveys rajoitukset banyan verkot, poikkipuu, muut yhteenliittämis verkot kehitetty yhdistämään suorittimia multisuorittimiksii Edistyksellinen muotoilu: datagrammin pilkkominen kiinteän pituisiin soluihin,kytkin solute kuidun läpi. Cisco 12000: kytkimet 60 Gbps yhteenliittämis verkon kautta crossbar Network Layer

52 Output ports This slide in HUGELY important!
datagram buffer queueing switch fabric link layer protocol (send) line termination buffering required when datagrams arrive from fabric faster than the transmission rate scheduling discipline chooses among queued datagrams for transmission Datagram (packets) can be lost due to congestion, lack of buffers Priority scheduling – who gets best performance, network neutrality Network Layer

53 Tämä dia on ERITTÄIN tärkeä!
lähtöportit Tämä dia on ERITTÄIN tärkeä! datagrammin puskuir jonotus Kytkin kuitu linkki kerroksen protokolla (lähetys) linjan päättyminen purkurointiin tarvitaan, kun datagrammeja saapuu kankaasta nopeammin kuin kerkeää siirtää Aikataulutus kurinalaisuus valitsee keskuudestaan jonossa lähetettävät datagrammit Datagrammi (packetit) voidaan menettään ruuhkan vuoksi ,puskurien puute Prioriteettivuorotus – kuka saa parhaan suorituskyvyn,verkon puolueettomuutta Network Layer

54 Output port queueing at t, packets more from input to output one packet time later switch fabric buffering when arrival rate via switch exceeds output line speed queueing (delay) and loss due to output port buffer overflow! Network Layer

55 Lähtöporttijonotus T, paketteja enemmän syötöstä kuin lähdöstä Yksi paketin aika myöhemmin Kytkin kuitu Puskurointi kun saapumisnopeus kytkimesä ylittää lähtölinjan nopeuden Jonotus (viive) ja menetys lähtöportin puskurin ylivuodon takia! Network Layer

56 How much buffering? RFC 3439 rule of thumb: average buffering equal to “typical” RTT (say 250 msec) times link capacity C e.g., C = 10 Gpbs link: 2.5 Gbit buffer recent recommendation: with N flows, buffering equal to RTT C . N Network Layer

57 Kuinka paljon puskurointia?
RFC 3439 peukkusääntö: keskimääräinen puskurointi yhtä kuin ”tyypillinen”RTT ( sanotaan 250 msec) kertaa linkin kapasiteetti C esim, C = 10 Gpbs linkki: 2.5 Gbit puskuri Äskettäinen suositus: N virta , puskurointia vastaa RTT C . N Network Layer

58 Input port queuing fabric slower than input ports combined -> queueing may occur at input queues queueing delay and loss due to input buffer overflow! Head-of-the-Line (HOL) blocking: queued datagram at front of queue prevents others in queue from moving forward one packet time later: green packet experiences HOL blocking switch fabric switch fabric output port contention: only one red datagram can be transferred. lower red packet is blocked Network Layer

59 Tuloportin jonotus Kuitu hitaampi kuin tuloportit yhteensä, jonotus voi esiintyä tulojonoina Jonotusviivettä ja häviötä, tulopuskurin ylivuodon seurauksena! Head-of-the-Line (HOL) esto: Jonon edessä olevat datagrammit estävät toisia liikkumasta eteenpäin jonossa Yksi paketti myöhemmin: Vihreä paketti kokee HOL eston switch fabric switch fabric Lähtöportti väite: Vain yksi punainen datagrammmi voidaan siirtää. Alempi punainen paketti on estetty Network Layer

60 Chapter 4: outline 4.1 introduction
4.2 virtual circuit and datagram networks 4.3 what’s inside a router 4.4 IP: Internet Protocol datagram format IPv4 addressing ICMP IPv6 4.5 routing algorithms link state distance vector hierarchical routing 4.6 routing in the Internet RIP OSPF BGP 4.7 broadcast and multicast routing Network Layer

61 The Internet network layer
host, router network layer functions: transport layer: TCP, UDP IP protocol addressing conventions datagram format packet handling conventions routing protocols path selection RIP, OSPF, BGP network layer forwarding table ICMP protocol error reporting router “signaling” link layer physical layer Network Layer

62 Internet – verkkokerros
Isäntä,reititin verkkokerroksen toimintoja kuljetuskerros: TCP, UDP IP protokolla yleissopimusten käsittely datagrammin formaatti paketti käsittelyn yleissopimukset Reititysprotokollat reitin valinta RIP, OSPF, BGP verkkokerros forwarding table ICMP protokolla virhe raportointi reititin “signalointi” linkkikerros fyysinenkerros Network Layer

63 32 bit destination IP address
IP datagram format IP protocol version number ver length 32 bits data (variable length, typically a TCP or UDP segment) 16-bit identifier header checksum time to live 32 bit source IP address head. len type of service flgs fragment offset upper layer 32 bit destination IP address options (if any) total datagram length (bytes) header length (bytes) “type” of data for fragmentation/ reassembly max number remaining hops (decremented at each router) upper layer protocol to deliver payload to e.g. timestamp, record route taken, specify list of routers to visit. how much overhead? 20 bytes of TCP 20 bytes of IP = 40 bytes + app layer overhead Network Layer

64 IP datagrammin formaatti
IP protokollam versio numero ver length 32 bits data (variable length, typically a TCP or UDP segment) 16-bit identifier header checksum time to live 32 bit source IP address head. len type of service flgs fragment offset upper layer 32 bit destination IP address options (if any) Datagrammin pituus (bittejä) Otsikon pituus (bittejä) Datan tyyppi Paloitteluun/ uudelleenkasauksen Max numero jäljellä (pienennetään Jokaiseen reitittimen) Ylemmän kerroksen protokolla Esim. Aikaleima, Tallennettu reitti, Määritä luettelo reitittimistä jota vierailla Kuinka paljon yläpuolella? 20 bittiä TCP 20 bittiä IP = 40 bittiä + sov kerrosyläpuolella Network Layer

65 IP fragmentation, reassembly
network links have MTU (max.transfer size) - largest possible link-level frame different link types, different MTUs large IP datagram divided (“fragmented”) within net one datagram becomes several datagrams “reassembled” only at final destination IP header bits used to identify, order related fragments fragmentation: in: one large datagram out: 3 smaller datagrams reassembly Network Layer

66 IP:n paloittelu, uudelleenkokoaminen
Verkoyhteyksillä on MTU (Max.transfer size) – suurin mahdollinen yhteystason kehys Eri linkki tyyppejä, eri MTU Suuri IP datagrammi jaetaan ”paloihin” netissä Yhdestä datgrammista tulee useita datagrammeja Uudelleenkokoaminen vain määränpäässä IP-otsikkon bittejä käytetään tunnistamaan,liittyvät palat paloittelu: sisään: yksi iso datagrammi ulos: 3 pienempää datagrammia reassembly Network Layer

67 IP fragmentation, reassembly
ID =x offset =0 fragflag length =4000 example: 4000 byte datagram MTU = 1500 bytes ID =x offset =0 fragflag =1 length =1500 =185 =370 =1040 one large datagram becomes several smaller datagrams 1480 bytes in data field offset = 1480/8 Network Layer

68 IP:n hajottaminen, kokoominen
ID =x offset =0 fragflag length =4000 Esimerkki: 4000 tavun datapaketti MTU = 1500 tavua ID =x offset =0 fragflag =1 length =1500 =185 =370 =1040 Yhdestä isosta datapaketista tehdään monta pientä datapakettia 1480 tavua datakentässä offset = 1480/8 Network Layer

69 Chapter 4: outline 4.1 introduction
4.2 virtual circuit and datagram networks 4.3 what’s inside a router 4.4 IP: Internet Protocol datagram format IPv4 addressing ICMP IPv6 4.5 routing algorithms link state distance vector hierarchical routing 4.6 routing in the Internet RIP OSPF BGP 4.7 broadcast and multicast routing Network Layer

70 IP addressing: introduction
IP address: 32-bit identifier for host, router interface interface: connection between host/router and physical link router’s typically have multiple interfaces host typically has one or two interfaces (e.g., wired Ethernet, wireless ) IP addresses associated with each interface = 223 1 1 1 Network Layer

71 IP-osoitteen anto: Esittely
IP-osoite: 32-bittinen tunnistin isätäkoneelle, reitittimen rajapinta Rajapinta: yhteys isäntäkoneen/reitittimen ja fyysisen linkin välillä Reitittimillä on yleensä monia rajapintoja Isäntäkoneella on tyypillisesti yksi tai kaksi rajapintaa (esim. Ethernet ja ) IP-osoitteet liittyvät jokaiseen rajapintaan = 223 1 1 1 Network Layer

72 IP addressing: introduction
Q: how are interfaces actually connected? A: we’ll learn about that in chapter 5, 6. A: wired Ethernet interfaces connected by Ethernet switches A: wireless WiFi interfaces connected by WiFi base station For now: don’t need to worry about how one interface is connected to another (with no intervening router) Network Layer

73 IP-osoitteen anto: Esittely
Q: Miten rajapinnat ovat kytkeytyneet? A: Opimme se luvuissa 5 ja 6 A: Ethernet rajapinnat ovat kytkeytyneen (Ethernet) kytkinten avulla A: langattomat WiFi rajapinnat ovat kytkeytyneet WiFi tukiaseman kautta Toistaiseksi: ei tarvitse huolehtia miten rajapinnat ovat kytkeytyneet toisiinsa (ilman välissä olevaa reititintä) Network Layer

74 Subnets IP address: what’s a subnet ? subnet part - high order bits
host part - low order bits what’s a subnet ? device interfaces with same subnet part of IP address can physically reach each other without intervening router subnet network consisting of 3 subnets Network Layer

75 Aliverkot IP-osoitteet: Mikä on aliverkko?
Aliverkon osa - high order bits Isäntäkoneen osa - low order bits Mikä on aliverkko? Laite on omaa saman aliverkon osan IP-osoitteessaan Samassa aliverkossa olevat laitteet voivat fyysisesti tavoittaa toisen häiritsemättä reititintä Aliverkko Verkko, jossa on kolme aliverkkoa Network Layer

76 Subnets /24 /24 /24 subnet recipe to determine the subnets, detach each interface from its host or router, creating islands of isolated networks each isolated network is called a subnet subnet mask: /24 Network Layer

77 Aliverkot /24 /24 /24 aliverkko resepti Määrittääksesi aliverkon, irroita kaikki rajapinnat laitteestan tai reitittimestään, lopputuloksena eristettyjen verkkojen saari Jokainen eristetty verkko on nimeltään aliverkko Aliverkon maski: /24 Network Layer

78 Subnets how many? Network Layer

79 Aliverkot Kuinka monta? 223.1.1.2 223.1.1.1 223.1.1.4 223.1.1.3
Network Layer

80 IP addressing: CIDR CIDR: Classless InterDomain Routing
subnet portion of address of arbitrary length address format: a.b.c.d/x, where x is # bits in subnet portion of address subnet part host part /23 Network Layer

81 IP-osoitteen anto: CIDR
CIDR: Classless Inter-Domain Routing Aliverkon osa on mielivaltainen pala osoitteen pituudesta Osoitteen tyyppi on muotoa: a.b.c.d/x, missä x on aliverkon osan bittien määrä Aliverkon osa Isäntäkoneen osa /23 Network Layer

82 IP addresses: how to get one?
Q: How does a host get IP address? hard-coded by system admin in a file Windows: control-panel->network->configuration->tcp/ip->properties UNIX: /etc/rc.config DHCP: Dynamic Host Configuration Protocol: dynamically get address from as server “plug-and-play” Network Layer

83 IP-osoitteet: Kuinka hankkia?
Q: Miten isäntäkone saa IP-osoitteen? kovakoodattu järjestelmänvalvojan toimesta tiedostoon Windows: control-panel->network->configuration->tcp/ip->properties UNIX: /etc/rc.config DHCP: Dynamic Host Configuration Protocol: tarjoaa isäntäkoneelle IP-osoitetta “plug-and-play” Network Layer

84 DHCP: Dynamic Host Configuration Protocol
goal: allow host to dynamically obtain its IP address from network server when it joins network can renew its lease on address in use allows reuse of addresses (only hold address while connected/“on”) support for mobile users who want to join network (more shortly) DHCP overview: host broadcasts “DHCP discover” msg [optional] DHCP server responds with “DHCP offer” msg [optional] host requests IP address: “DHCP request” msg DHCP server sends address: “DHCP ack” msg Network Layer

85 DHCP: Dynamic Host Configuration Protocol
Tavoite: Sallia isäntäkoneen hankkia dynaamisesti itselleen IP-osoite palvelimelta kun se liittyy verkkoon Voi uusia “vuokrasopimuksen” omasta osoitteestaan Sallii uudellenkäytön osoitteille (käyttää osoitetta vain silloin kun on kytketty/päällä) Tukee mobiilikäyttäjiä, jotka haluavat liittyä verkkoon (tilapäisesti) DHCP yleiskatsaus: Isäntäkone lähettää “DHCP discover” viestin [valinnainen] DHCP-palvelin vastaa “DHCP offer” viestillä [valinnainen] Isäntäkone pyytää IP-osoitetta “DHCP request” viestillä DHCP-palvelin lähettää osoitteen “DHCP ack” viestillä Network Layer

86 DHCP client-server scenario
/24 arriving DHCP client needs address in this network /24 /24 Network Layer

87 DHCP Asiakas/Palvelin skenaario
/24 Saapuva DHCP asiakas tarvitsee osoitteen ko. verkkoon /24 /24 Network Layer

88 DHCP client-server scenario
DHCP server: DHCP discover src : , 68 dest.: ,67 yiaddr: transaction ID: 654 arriving client Broadcast: is there a DHCP server out there? DHCP offer src: , 67 dest: , 68 yiaddrr: transaction ID: 654 lifetime: 3600 secs Broadcast: I’m a DHCP server! Here’s an IP address you can use DHCP request src: , 68 dest:: , 67 yiaddrr: transaction ID: 655 lifetime: 3600 secs Broadcast: OK. I’ll take that IP address! DHCP ACK src: , 67 dest: , 68 yiaddrr: transaction ID: 655 lifetime: 3600 secs Broadcast: OK. You’ve got that IP address! Network Layer

89 DHCP Asiakas/Palvelin skenaario
DHCP-palvelin: DHCP discover src : , 68 dest.: ,67 yiaddr: transaction ID: 654 Saapuva asiakas Lähetys: Onko siellä DHCP-palvelinta? DHCP offer src: , 67 dest: , 68 yiaddrr: transaction ID: 654 lifetime: 3600 secs Lähetys: Minä olen DHCP-palvelin! Tässä sinulle IP-osoite, jota voit käyttää DHCP request src: , 68 dest:: , 67 yiaddrr: transaction ID: 655 lifetime: 3600 secs Lähetys: OK. Minä otan sen IP-osoitteen! DHCP ACK src: , 67 dest: , 68 yiaddrr: transaction ID: 655 lifetime: 3600 secs Lähetys: OK. Sinä sait sen IP-osoitteen! Network Layer

90 DHCP: more than IP addresses
DHCP can return more than just allocated IP address on subnet: address of first-hop router for client name and IP address of DNS sever network mask (indicating network versus host portion of address) Network Layer

91 DHCP: enemmän kuin vain IP-osoitteiden jakaja
DHCP voi palauttaa muutakin kuin pelkästään varatun IP-osoitteen aliverkolle: Asiakasta lähimpänä olevan reitittimen DNS-palvelimen nimen ja IP-osoitteen Verkon maskin (joka ilmaisee verkon ja isäntälaitteen osuudet osoitteesta) Network Layer

92 DHCP: example DHCP UDP IP Eth Phy DHCP DHCP connecting laptop needs its IP address, addr of first-hop router, addr of DNS server: use DHCP DHCP DHCP request encapsulated in UDP, encapsulated in IP, encapsulated in Ethernet DHCP DHCP UDP IP Eth Phy DHCP Ethernet frame broadcast (dest: FFFFFFFFFFFF) on LAN, received at router running DHCP server router with DHCP server built into router Ethernet demuxed to IP demuxed, UDP demuxed to DHCP Network Layer

93 DHCP: esimerkki Yhdistetty kannettava tietokone tarvitsee IP-osoitteen, lähimmän reitittimen osoitteen, DNS-palvelimen osoitteen: käytetään DHCP:ta DHCP UDP IP Eth Phy DHCP DHCP DHCP DHCP-pyyntö tiivistettynä UDP:n, tiivistettynä IP:hen, tiivistettynä Ethernet DHCP DHCP UDP IP Eth Phy DHCP Ethernet-kehys broadcastaa (määränpää: FFFFFFFFFFFF) lähiverkossa, viesti vastaanotetaan reitittimellä, joka toimii DHCP-palvelimena Reititin sisäänrakennetulla DHCP-palvelimella Network Layer

94 DHCP: example DHCP DCP server formulates DHCP ACK containing client’s IP address, IP address of first-hop router for client, name & IP address of DNS server DHCP UDP IP Eth Phy encapsulation of DHCP server, frame forwarded to client, demuxing up to DHCP at client DHCP UDP IP Eth Phy DHCP DHCP router with DHCP server built into router client now knows its IP address, name and IP address of DSN server, IP address of its first-hop router DHCP Network Layer

95 DHCP: esimerkki DHCP DCP-palvelin muotoilee DHCP-kuittauksen, joka sisältää asiakkaan IP-osoitteen, asiakkaan lähimmän reitittimen IP-osoitteen, DNS-palvelimen nimen ja IP-osoitteen DHCP UDP IP Eth Phy DHCP-palvelimen tiivistys, kehys edelleenläheteään asiakkaalle, demultipleksataan DHCP:n asti asiakkaalla DHCP UDP IP Eth Phy DHCP DHCP router with DHCP server built into router Asiakas tuntee nyt IP-osoitteensa, DNS-palvelimen nimen ja osoitteen sekä lähimmän reitittimen osoitteen DHCP Network Layer

96 DHCP: Wireshark output (home LAN)
Message type: Boot Reply (2) Hardware type: Ethernet Hardware address length: 6 Hops: 0 Transaction ID: 0x6b3a11b7 Seconds elapsed: 0 Bootp flags: 0x0000 (Unicast) Client IP address: ( ) Your (client) IP address: ( ) Next server IP address: ( ) Relay agent IP address: ( ) Client MAC address: Wistron_23:68:8a (00:16:d3:23:68:8a) Server host name not given Boot file name not given Magic cookie: (OK) Option: (t=53,l=1) DHCP Message Type = DHCP ACK Option: (t=54,l=4) Server Identifier = Option: (t=1,l=4) Subnet Mask = Option: (t=3,l=4) Router = Option: (6) Domain Name Server Length: 12; Value: E F ; IP Address: ; IP Address: ; IP Address: Option: (t=15,l=20) Domain Name = "hsd1.ma.comcast.net." reply Message type: Boot Request (1) Hardware type: Ethernet Hardware address length: 6 Hops: 0 Transaction ID: 0x6b3a11b7 Seconds elapsed: 0 Bootp flags: 0x0000 (Unicast) Client IP address: ( ) Your (client) IP address: ( ) Next server IP address: ( ) Relay agent IP address: ( ) Client MAC address: Wistron_23:68:8a (00:16:d3:23:68:8a) Server host name not given Boot file name not given Magic cookie: (OK) Option: (t=53,l=1) DHCP Message Type = DHCP Request Option: (61) Client identifier Length: 7; Value: D323688A; Option: (t=50,l=4) Requested IP Address = Option: (t=12,l=5) Host Name = "nomad" Option: (55) Parameter Request List Length: 11; Value: 010F03062C2E2F1F21F92B 1 = Subnet Mask; 15 = Domain Name 3 = Router; 6 = Domain Name Server 44 = NetBIOS over TCP/IP Name Server …… request Network Layer

97 IP addresses: how to get one?
Q: how does network get subnet part of IP addr? A: gets allocated portion of its provider ISP’s address space ISP's block /20 Organization /23 Organization /23 Organization /23 … … …. Organization /23 Network Layer

98 IP-osoitteen: kuinka hankitaan?
Q: miten verkko hankkii IP-osoitteen aliverkon osuuden? A: verkko saa varatun osuuden palveluntarjoajansa osoiteavaruudesta. ISP's block /20 Organization /23 Organization /23 Organization /23 … … …. Organization /23 Network Layer

99 Hierarchical addressing: route aggregation
hierarchical addressing allows efficient advertisement of routing information: Organization 0 /23 Organization 1 “Send me anything with addresses beginning /20” /23 Organization 2 /23 . Fly-By-Night-ISP . Internet Organization 7 /23 “Send me anything with addresses beginning /16” ISPs-R-Us Network Layer

100 Hierarkinen osoittaminen: reitin kokoaminen
Hierarkinen osoittaminen mahdollistaa tehokkaan reititystietojen mainostamisen: Organization 0 /23 Organization 1 “Send me anything with addresses beginning /20” /23 Organization 2 /23 . Fly-By-Night-ISP . Internet Organization 7 /23 “Send me anything with addresses beginning /16” ISPs-R-Us Network Layer

101 Hierarchical addressing: more specific routes
ISPs-R-Us has a more specific route to Organization 1 Organization 0 /23 “Send me anything with addresses beginning /20” Organization 2 /23 . Fly-By-Night-ISP . Internet Organization 7 /23 “Send me anything with addresses beginning /16 or /23” ISPs-R-Us Organization 1 /23 Network Layer

102 Hierarkinen osoittaminen: tarkempia reittejä
ISPs-R-Us has a more specific route to Organization 1 Organization 0 /23 “Send me anything with addresses beginning /20” Organization 2 /23 . Fly-By-Night-ISP . Internet Organization 7 /23 “Send me anything with addresses beginning /16 or /23” ISPs-R-Us Organization 1 /23 Network Layer

103 IP addressing: the last word...
Q: how does an ISP get block of addresses? A: ICANN: Internet Corporation for Assigned Names and Numbers allocates addresses manages DNS assigns domain names, resolves disputes Network Layer

104 IP osoitteet: loppusanat
Q: Miten ISP hankkii läjän osoitteita? A: ICANN: Internet Corporation for Assigned Names and Numbers Varaa osoitteita hallitsee DNS:ää Jakaa verkkonimiä, ratkaisee erimielisyyksiä Network Layer

105 NAT: network address translation
rest of Internet local network (e.g., home network) 10.0.0/24 all datagrams leaving local network have same single source NAT IP address: ,different source port numbers datagrams with source or destination in this network have /24 address for source, destination (as usual) Network Layer

106 NAT: network address translation
Loput internetistä Paikallinen lähiverkko (esim. kotiverkko) 10.0.0/24 Kaikki paikallisesta lähiverkosta poistuvat datagramit sisältävät saman NAT IP-osoitteen lähdetietoina: ,eri lähdeporttinumerot Datagrammeilla on /24 osoite lähdölle ja määränpäälle Network Layer

107 NAT: network address translation
motivation: local network uses just one IP address as far as outside world is concerned: range of addresses not needed from ISP: just one IP address for all devices can change addresses of devices in local network without notifying outside world can change ISP without changing addresses of devices in local network devices inside local net not explicitly addressable, visible by outside world (a security plus) Network Layer

108 NAT: network address translation
motivaatiota: paikallinen lähiverkko käyttää vain yhtä IP-osoitetta ulkomaailman näkökulmasta: Ei tarvita useita osoitteita ISP:ltä: vain yksi IP-osoite kaikille laitteille Paikallisverkon osoitteita voidaan muuttaa vapaasti ilman, että ulkomaailmalle tarvitsee ilmoittaa asiasta mitään ISP:tä voidaan vaihtaa ilman paikallisten osoitteiden muuttumista Paikallisverkon laitteet eivät ole täsmällisesti osoitettavissa tai näkyvissä ulkomaailmaan (turvallisempaa) Network Layer

109 NAT: network address translation
implementation: NAT router must: outgoing datagrams: replace (source IP address, port #) of every outgoing datagram to (NAT IP address, new port #) . . . remote clients/servers will respond using (NAT IP address, new port #) as destination addr remember (in NAT translation table) every (source IP address, port #) to (NAT IP address, new port #) translation pair incoming datagrams: replace (NAT IP address, new port #) in dest fields of every incoming datagram with corresponding (source IP address, port #) stored in NAT table Network Layer

110 NAT: network address translation
toteutus: NAT-reitittimen täytyy: Lähtevät datagrammit: korvata (lähdon IP-osoite, portti#) kaikkien lähtevien datagramien (NAT IP-osoite, uusi portti#) . . . Etäiset asiakkaat/palvelimet vastaavat (NAT IP-osoite, uusi portti#) päämäärän osoitteena muistaa (NAT-muunnostaulussa) kaikki (lähdön IP-osoite, portti#) -> (NAT IP-osoite, uusi portti#) muunnosparit Tulevat datagrammit: korvata (NAT IP-osoite, uusi portti#) kaikkien tulevien datagramien määränpääkentissä sitä vastaavalla (lähdön IP-osoite, portti#), joita säilytetään NAT-taulussa Network Layer

111 NAT: network address translation
NAT translation table WAN side addr LAN side addr 1: host sends datagram to , 80 2: NAT router changes datagram source addr from , 3345 to , 5001, updates table , , 3345 …… …… S: , 3345 D: , 80 1 S: , 80 D: , 3345 4 S: , 5001 D: , 80 2 S: , 80 D: , 5001 3 4: NAT router changes datagram dest addr from , 5001 to , 3345 3: reply arrives dest. address: , 5001 Network Layer

112 NAT: network address translation
16-bit port-number field: 60,000 simultaneous connections with a single LAN-side address! NAT is controversial: routers should only process up to layer 3 violates end-to-end argument NAT possibility must be taken into account by app designers, e.g., P2P applications address shortage should instead be solved by IPv6 Network Layer

113 NAT: network address translation
16-bittinen porttinumerokenttä: 60,000 samanaikaista yhteyttä yhdellä LAN-osoittella! NAT on kiistanalainen: Reitittimien tulisi prosessoida vain kolmanteen kerrokseen asti Rikkoo päästä-päähän argumenttia Sovellusten suunnittelijoiden tulee ottaa NAT:n mahdollisuus huomioon, esim. P2P-sovelluksissa Osoitteden puute tulisi sen sijaan ratkaista IPV6:lla Network Layer

114 NAT traversal problem client wants to connect to server with address server address local to LAN (client can’t use it as destination addr) only one externally visible NATed address: solution1: statically configure NAT to forward incoming connection requests at given port to server e.g., ( , port 2500) always forwarded to port 25000 client ? NAT router Network Layer

115 NAT läpikulkuongelma Asiakas haluaa luoda yhteyden palvelimeen osoitteessa Palvelinosoite paikallinen LAN (asiakas ei voi käyttää sitä päämääräosoitteena) Vain yksi ulkoisesti näkyvä NAT-osoite: ratkaisu1: staattisesti konfiguroidaan NAT edelleenlähettämään sisääntulevat yhteyspyynnöt annettuun porttiin palvelimella Esim. ( , portti 2500) edelleen lähetetään aina , portti 25000 client ? NAT router Network Layer

116 NAT traversal problem learn public IP address (138.76.29.7)
solution 2: Universal Plug and Play (UPnP) Internet Gateway Device (IGD) Protocol. Allows NATed host to: learn public IP address ( ) add/remove port mappings (with lease times) i.e., automate static NAT port map configuration NAT router IGD Network Layer

117 NAT:in läpikulkuongelma
ratkaisu 2: Universal Plug and Play (UPnP) Internet Gateway Device (IGD) protokollat. Päästävät NAT:ia käyttävän laitteen: Tuntemaan julkisen IP-osoitteen ( ) Lisäämään/poistamaan porttikartat (vuokra-ajoilla) esim. automatisoi staattisen NAT porttikartan määritykset NAT router IGD Network Layer 4-117

118 NAT traversal problem NATed client establishes connection to relay
solution 3: relaying (used in Skype) NATed client establishes connection to relay external client connects to relay relay bridges packets between to connections 2. connection to relay initiated by client NAT router 1. connection to relay initiated by NATed host 3. relaying established client Network Layer

119 NAT:in läpikulkuongelma
ratkaisu 3: välitys (käytetään Skypessä) NAT:ia käyttävä laite muodostaa yhteyden välitykseen Ulkopuolinen asiakas yhdistää välitykseen Välitys siltaa paketit laitteiden välillä 2. yhteys välitykseen asiakkaan toimesta NAT router 1. yhteys välitykseen NAT:ia käyttävän laitteen toimesta 3. välitys muodostettu client Network Layer 4-119

120 Chapter 4: outline 4.1 introduction
4.2 virtual circuit and datagram networks 4.3 what’s inside a router 4.4 IP: Internet Protocol datagram format IPv4 addressing ICMP IPv6 4.5 routing algorithms link state distance vector hierarchical routing 4.6 routing in the Internet RIP OSPF BGP 4.7 broadcast and multicast routing Network Layer

121 ICMP: internet control message protocol
used by hosts & routers to communicate network-level information error reporting: unreachable host, network, port, protocol echo request/reply (used by ping) network-layer “above” IP: ICMP msgs carried in IP datagrams ICMP message: type, code plus first 8 bytes of IP datagram causing error Type Code description echo reply (ping) dest. network unreachable dest host unreachable dest protocol unreachable dest port unreachable dest network unknown dest host unknown source quench (congestion control - not used) echo request (ping) route advertisement router discovery TTL expired bad IP header Network Layer

122 ICMP: internet kontrolliviestiprotokolla
Laitteet ja reitittimet hyödyntävät verkkotason tiedon siirrossa Virheilmoitukset: saavuttamattomissa oleva laite, verkko, portti, protokolla Kaikupyyntö/vastaus (pingin käyttämä) Verkkokerros IP:een “yläpuolella” : ICMP viestit kuljetetaan IP datagrammeissa ICMP viesti: tyyppi, koodi + ensimmäiset kahdeksan IP datagrammin tavua aiheuttavat ongelman Tyyppi Koodi Kuvaus echo reply (ping) dest. network unreachable dest host unreachable dest protocol unreachable dest port unreachable dest network unknown dest host unknown source quench (congestion control - not used) echo request (ping) route advertisement router discovery TTL expired bad IP header Network Layer 4-122

123 Traceroute and ICMP source sends series of UDP segments to dest
first set has TTL =1 second set has TTL=2, etc. unlikely port number when nth set of datagrams arrives to nth router: router discards datagrams and sends source ICMP messages (type 11, code 0) ICMP messages includes name of router & IP address when ICMP messages arrives, source records RTTs stopping criteria: UDP segment eventually arrives at destination host destination returns ICMP “port unreachable” message (type 3, code 3) source stops 3 probes 3 probes 3 probes Network Layer

124 Traceroute ja ICMP kun ICMP viestit saapuvat, lähde tallettaa RTT:t
lähde lähettää sarjan UDP segmenttejä vastaanottajalle 1:llä setillä TTL =1 2:lla setillä TTL=2, jne. Epätodennäköinen porttinumero kun n-arvoinen datagrammien setti saapuu n-arvoiselle reitittimelle: Reititin hylkää datagrammit Ja lähettää lähteelle ICMP viestejä (tyyppi 11, koodi 0) ICMP iestit sisältävät reitittimen nimen ja IP- osoitteen kun ICMP viestit saapuvat, lähde tallettaa RTT:t lopetuskriteeri: UDP segmentti saapuu lopulta päätelaitteelle päätelaite palauttaa ICMP “portti saavuttamattomissa” viestin (tyyppi 3, koodi 3) Lähde lopettaa 3 probes 3 probes 3 probes Network Layer 4-124

125 IPv6: motivation initial motivation: 32-bit address space soon to be completely allocated. additional motivation: header format helps speed processing/forwarding header changes to facilitate QoS IPv6 datagram format: fixed-length 40 byte header no fragmentation allowed Network Layer

126 IPv6: motivaatio Lähtökohta motivaatiolle: 32-bittiset osoitteet ovat kohta kaikki käytössä. lisämotivaatio: otsikkomuoto nopeuttaa käsitellyä/ohjausta Otsikkomuodon muutos helpottaa QoS:ia IPv6 datagrammin muoto: 40 tavunen otsikko fragmentaatiota ei suvaita Network Layer 4-126

127 IPv6 datagram format priority: identify priority among datagrams in flow flow Label: identify datagrams in same “flow.” (concept of“flow” not well defined). next header: identify upper layer protocol for data ver pri flow label payload len next hdr hop limit source address (128 bits) destination address (128 bits) data 32 bits Network Layer

128 IPv6 datagrammin muoto priority: tunnistaa tärkeysjärjestyksen liikenteessä flow Label: tunnistaa saman “flow”:n datagrammit (“flow”:in konseptia ei ole määritelty vielä). next header: tunnistaa ylemmän tason protokollan datalle ver pri flow label payload len next hdr hop limit source address (128 bits) destination address (128 bits) data 32 bits Network Layer 4-128

129 Other changes from IPv4 checksum: removed entirely to reduce processing time at each hop options: allowed, but outside of header, indicated by “Next Header” field ICMPv6: new version of ICMP additional message types, e.g. “Packet Too Big” multicast group management functions Network Layer

130 Muut muutokset Ipv4:stä
tarkistussumma: poistettu kokonaan nopeuttaakseen käsittelyä vaihtoehdot: sallittuja, mutta otsikon ulkopuolella, “Next Header” -kentän alla ICMPv6: ICMP:n uusi versio lisäviestityypit, esim. “Packet Too Big” ryhmälähetyksen hallinnointitoiminnot Network Layer 4-130

131 Transition from IPv4 to IPv6
not all routers can be upgraded simultaneously no “flag days” how will network operate with mixed IPv4 and IPv6 routers? tunneling: IPv6 datagram carried as payload in IPv4 datagram among IPv4 routers IPv4 header fields UDP/TCP payload IPv6 source dest addr IPv6 header fields IPv4 payload IPv4 source, dest addr IPv6 datagram IPv4 datagram Network Layer

132 Vaihtaminen Ipv4:stä Ipv6:een
Kaikki reitittimiä ei voida päivittää yhtäaikaa ei “lippupäiviä” Kuinka verkot toimii, kun sekoitetaan IpV4:ää ja Ipv6:sta? tunnelointi: IPv6 datagrammi kuljetaan kuin ylimääräisenä painona IPv4 datagrammissa IPv4 reitittimien välillä IPv4 header fields UDP/TCP payload IPv6 source dest addr IPv6 header fields IPv4 payload IPv4 source, dest addr IPv6 datagram IPv4 datagram Network Layer 4-132

133 connecting IPv6 routers
Tunneling logical view: IPv4 tunnel connecting IPv6 routers E IPv6 F A B A B IPv6 C D E IPv6 F physical view: IPv4 IPv4 Network Layer

134 yhdistämässä IPv6 reitittimiä
Tunnelointi Looginen näkymä: IPv4 tunnelointi yhdistämässä IPv6 reitittimiä E IPv6 F A B A B IPv6 C D E IPv6 F Fyysinen näkymä: IPv4 IPv4 Network Layer 4-134

135 connecting IPv6 routers
Tunneling logical view: IPv4 tunnel connecting IPv6 routers E IPv6 F A B A B IPv6 C D E IPv6 F physical view: IPv4 IPv4 flow: X src: A dest: F data A-to-B: IPv6 Flow: X Src: A Dest: F data src:B dest: E B-to-C: IPv6 inside IPv4 B-to-C: IPv6 inside IPv4 Flow: X Src: A Dest: F data src:B dest: E E-to-F: IPv6 flow: X src: A dest: F data Network Layer

136 IPv6: adoption US National Institutes of Standards estimate [2013]:
~3% of industry IP routers ~11% of US gov’t routers Long (long!) time for deployment, use 20 years and counting! think of application-level changes in last 20 years: WWW, Facebook, … Why? Network Layer

137 Ipv6:en mukaantulo US National Institutes of Standards arvioi [2013]:
~3% teollisuuden IP-reitittimistä ~11% USA:n hallituksen reitittimistä Pitkä (pitka!) aika todelliseen muutokseen 20 vuotta ja vieläkin kesken! Ajattele sovellustason muutoksia viime 20 vuoden aikana: WWW, Facebook, … Miksi? Network Layer 4-137

138 Chapter 4: outline 4.1 introduction
4.2 virtual circuit and datagram networks 4.3 what’s inside a router 4.4 IP: Internet Protocol datagram format IPv4 addressing ICMP IPv6 4.5 routing algorithms link state distance vector hierarchical routing 4.6 routing in the Internet RIP OSPF BGP 4.7 broadcast and multicast routing Network Layer

139 Interplay between routing, forwarding
routing algorithm determines end-end-path through network routing algorithm forwarding table determines local forwarding at this router local forwarding table dest address output link address-range 1 address-range 2 address-range 3 address-range 4 3 2 1 IP destination address in arriving packet’s header 1 2 3 Network Layer

140 Reitityksen ja edelleensiirron yhteispeli
reititysalgoritmi määrittää päätteestä päätteelle -polun verkossa routing algorithm Ohjaustaulu määrittää paikallisen ohjauksen reitittimessä local forwarding table dest address output link address-range 1 address-range 2 address-range 3 address-range 4 3 2 1 IP pääteosoite saapuvan paketin otsikkotiedossa 1 2 3 Network Layer 4-140

141 Hierarchical routing our routing study thus far - idealization
all routers identical network “flat” … not true in practice scale: with 600 million destinations: can’t store all dest’s in routing tables! routing table exchange would swamp links! administrative autonomy internet = network of networks each network admin may want to control routing in its own network Network Layer

142 Hierarkinen reititys Meidän reititys opit tähän asti - idealisointi
Kaikki reitittimet samanlaisia verkko “litteä” … ei pidä paikkaansa käytännössä skaala: 600 milj. määränpäätä: Ei voi tallentaa kaikkia määränpäitä taulukkoon! Reititys taulukon vaihto upottaisi linkit! Hallinnallinen autonomia internet = verkkojen verkko Joka verkon ylläpitäjä voi hallita reititystä omassa verkossa Network Layer

143 Hierarchical routing aggregate routers into regions, “autonomous systems” (AS) routers in same AS run same routing protocol “intra-AS” routing protocol routers in different AS can run different intra-AS routing protocol gateway router: at “edge” of its own AS has link to router in another AS Network Layer

144 Hierarkinen reititys Porttireititin:
Ryhmittää reitittimet alueisiin, “autonomiset systeemit” (AS) Reitittimet samassa AS käyttää samaa reititysprotokollaa “intra-AS” reititys protokolla Reitittimet eri AS:ssä voivat käyttää eri intra-AS reititysprotokollaa Porttireititin: Oman AS:n “reunalla” On linkki eri AS:n reitittimeen Network Layer

145 Interconnected ASes 3b 1d 3a 1c 2a AS3 AS1 AS2 1a 2c 2b 1b Intra-AS Routing algorithm Inter-AS Forwarding table 3c forwarding table configured by both intra- and inter-AS routing algorithm intra-AS sets entries for internal dests inter-AS & intra-AS sets entries for external dests Network Layer

146 Yhdistetyt AS 3b 1d 3a 1c 2a AS3 AS1 AS2 1a 2c 2b 1b Intra-AS Routing algorithm Inter-AS Forwarding table 3c Edelleenlähetys taulukko konfiguroitu molempien intra- ja inter-AS reititys algoritmien mukaan intra-AS asettaa sisäänpääsyt sisäisille määränpäille inter-AS & intra-AS asettaa sisäänpääsyt ulkoisille määränpäille Network Layer

147 Inter-AS tasks suppose router in AS1 receives datagram destined outside of AS1: router should forward packet to gateway router, but which one? AS1 must: learn which dests are reachable through AS2, which through AS3 propagate this reachability info to all routers in AS1 job of inter-AS routing! 3c 3a 3b 2c AS3 other networks AS1 1c 1a 1d 1b 2a 2b other networks AS2 Network Layer

148 Inter-AS tehtävät Olettaa, että reititin AS1:ssä saa dataa mikä kuuluu AS1:n ulkopuolelle: Reitittimen pitäisi lähettää paketti porttireitittimelle, mutta mille? AS1 täytyy: Oppia mitkä määränpäät ovat saavutettavissa AS2:n läpi, ja mitkä AS3:n läpi Levittää tämä tieto kaikille AS1:n reitittimille job of inter-AS routing! 3c 3a 3b 2c AS3 other networks AS1 1c 1a 1d 1b 2a 2b other networks AS2 Network Layer

149 Example: setting forwarding table in router 1d
suppose AS1 learns (via inter-AS protocol) that subnet x reachable via AS3 (gateway 1c), but not via AS2 inter-AS protocol propagates reachability info to all internal routers router 1d determines from intra-AS routing info that its interface I is on the least cost path to 1c installs forwarding table entry (x,I) x 3c 3a 3b 2c AS3 other networks AS1 1c 1a 1d 1b 2a 2b other networks AS2 Network Layer

150 Esimerkki: asetetaan edelleenlähetystaulukko 1d reitittimeen
Oletetaan, että AS1 oppii (inter-AS protokolla) että aliverkko x saavutettavissa AS3: avulla (portti 1c), mutta ei AS2:n avulla inter-AS protokolla levittää infoa kaikille sisäisille reitittimille reititin1d päättää intra-AS: reititys infosta, että rajapinta I on halvin tie1c Asentaa edelleenlähetystaulukkoon alkion (x,I) x 3c 3a 3b 2c AS3 other networks AS1 1c 1a 1d 1b 2a 2b other networks AS2 Network Layer

151 Example: choosing among multiple ASes
now suppose AS1 learns from inter-AS protocol that subnet x is reachable from AS3 and from AS2. to configure forwarding table, router 1d must determine which gateway it should forward packets towards for dest x this is also job of inter-AS routing protocol! x 3c …… 3a 3b 2c AS3 other networks AS1 1c 1a 1d 1b 2a 2b other networks AS2 ? Network Layer

152 Esimerkki: valinta monen AS:n välillä
Nyt oletetaan, että AS1 oppii inter-AS protokollasta, että aliverkko x on saavutettavissa AS3:sta ja AS2:sta. Konfiguroidakseen edelleenlähetys taulukon, reitittimen 1d täytyy päättää, mihin porttiin sen pitäisi lähettää paketit, jotta ne menisivät x. Tämä on myös inter-AS reititinprotokollan tehtävä! x 3c …… 3a 3b 2c AS3 other networks AS1 1c 1a 1d 1b 2a 2b other networks AS2 ? Network Layer

153 BGP basics BGP session: two BGP routers (“peers”) exchange BGP messages: advertising paths to different destination network prefixes (“path vector” protocol) exchanged over semi-permanent TCP connections when AS3 advertises a prefix to AS1: AS3 promises it will forward datagrams towards that prefix AS3 can aggregate prefixes in its advertisement 3c 3a BGP message 3b 2c AS3 other networks AS1 1c 1a 1d 1b 2a 2b other networks AS2 Network Layer

154 BGP perusteet BGP sessio: kaksi BGP reititintä (“peers”) vaihtavat BGP viestejä: mainostaa reittejä eri määränpäihin (“reittivektori”-protokolla) Vaihdetaa semi-pysyvillä TCP yhteyksillä Kun AS1 mainostaa prefiksiä AS3 AS3 lupaa, että se lähettää dataa siihen prefiksiin AS3 voi liittää prefiksejä sen mainostamiseen 3c 3a BGP message 3b 2c AS3 other networks AS1 1c 1a 1d 1b 2a 2b other networks AS2 Network Layer

155 BGP basics: distributing path information
using eBGP session between 3a and 1c, AS3 sends prefix reachability info to AS1. 1c can then use iBGP do distribute new prefix info to all routers in AS1 1b can then re-advertise new reachability info to AS2 over 1b-to-2a eBGP session when router learns of new prefix, it creates entry for prefix in its forwarding table. eBGP session 3a 3b iBGP session 2c AS3 other networks 1c 2a 2b other networks 1a 1b AS2 1d AS1 Network Layer

156 BGP perusteet: jakamassa reitti infoa
käyttäessä eBGP sessiota 3a ja 1c välillä, AS3 lähettää prefiksin saavutettavuus infoa AS1. 1c voi silloin käyttää iBGP jakaakseen uutta prefiksi infoa kaikille reitittimille AS1:ssä 1b voi silloin mainostaa saavutettavuus infoa AS2 yli 1b-to-2a eBGP sessiolla Kun reititin oppii uuden prefiksinse luo sisäänkäynnin prefiksille sen edelleenlähetys taulukkoon. eBGP session 3a 3b iBGP session 2c AS3 other networks 1c 2a 2b other networks 1a 1b AS2 1d AS1 Network Layer

157 Path attributes and BGP routes
advertised prefix includes BGP attributes prefix + attributes = “route” two important attributes: AS-PATH: contains ASs through which prefix advertisement has passed: e.g., AS 67, AS 17 NEXT-HOP: indicates specific internal-AS router to next-hop AS. (may be multiple links from current AS to next-hop-AS) gateway router receiving route advertisement uses import policy to accept/decline e.g., never route through AS x policy-based routing Network Layer

158 Reitti atribuutit ja BGP reitit
Mainostettu prefiksi sisältää BGP ominaisuudet prefiksi + ominaisuus = “reitti” Kaksi tärkeää ominaisuutta: AS-PATH: selvittää AS:n läpi mikä prefiksi on ohittanut: e.g., AS 67, AS 17 NEXT-HOP: ilmaisee tarkan sisäisen-AS reitittimen next-hop AS. (voi olla useita linkkejä nykyisestä AS next-hop-AS) Reitti mainosta saava porttireititin käyttää tuonti käytäntöä hyväksyä/hylätä esim., ei ikinä reittiä läpi AS x Käytäntö-perusteinen reititys Network Layer

159 Router may receive multiple routes
BGP message 3b 2c AS3 other networks AS1 1c 1a 1d 1b 2a 2b other networks AS2 Router may receive multiple routes for same prefix Has to select one route

160 Reititin voi saada useita reittejä
3c 3a BGP viesti 3b 2c AS3 muut verkot AS1 1c 1a 1d 1b 2a 2b muut verkot AS2 Reititin voi saada useita reittejä samalle etuliitteelle Täytyy valita yksi reitti

161 Select best BGP route to prefix
Router selects route based on shortest AS-PATH Example: AS2 AS17 to /22 AS3 AS131 AS201 to /22 What if there is a tie? We’ll come back to that! select

162 Valitse paras BGP-reitti etuliitteelle
Reititin valitsee reitin lyhyimmän AS-PATH:n perusteella Esimerkki: AS2 AS17 to /22 AS3 AS131 AS201 to /22 Mitä jos tulee tasapeli? Palaamme tähän! valitse

163 Find best intra-route to BGP route
Use selected route’s NEXT-HOP attribute Route’s NEXT-HOP attribute is the IP address of the router interface that begins the AS PATH. Example: AS-PATH: AS2 AS17 ; NEXT-HOP: Router uses OSPF to find shortest path from 1c to AS3 AS2 3b 3c 3a AS1 1c 1a 1d 1b 2a 2c 2b other networks

164 Etsi paras sisäinen reitti BGP-reitille
Käytä valitun reitin NEXT-HOP ominaisuutta Reitin NEXT-HOP määrite on sen reitittimen rajapinnan IP-osoite, joka aloittaa AS PATH:n. Esimerkki: AS-PATH: AS2 AS17 ; NEXT-HOP: Reititin käyttää OSPF löytääkseen lyhimmän reitin 1c:stä osoitteeseen AS3 AS2 3b 3c 3a AS1 1c 1a 1d 1b 2a 2c 2b muut verkot

165 Router identifies port for route
Identifies port along the OSPF shortest path Adds prefix-port entry to its forwarding table: ( /22 , port 4) AS3 AS2 3b 3c 3a AS1 1c 1a 1d 1b 2a 2c 2b other networks router port 1 4 2 3

166 Reititin tunnistaa portin reitille
Tunnistaa portin OSPF lyhimmällä reitillä Lisää etuliite-portti -merkinnän edelleenlähetystauluunsa: ( /22 , port 4) AS3 AS2 3b 3c 3a AS1 1c 1a 1d 1b 2a 2c 2b muut verkot reitittimen portti 1 4 2 3

167 Hot Potato Routing Suppose there two or more best inter-routes.
Then choose route with closest NEXT-HOP Use OSPF to determine which gateway is closest Q: From 1c, chose AS3 AS131 or AS2 AS17? A: route AS3 AS201 since it is closer AS3 AS2 3b 3c 3a AS1 1c 1a 1d 1b 2a 2c 2b other networks

168 Kuuma peruna -reititys
Oletetaan että on kaksi tai useampia parhaita reittejä Valitse reitti jolla on lähin NEXT-HOP Käyttää OSPF päättääkseen mikä portti on lähin K: 1c:stä, valitse AS3 AS131 vai AS2 AS17? V: reitti AS3 AS201 koska se on lähempänä AS3 AS2 3b 3c 3a AS1 1c 1a 1d 1b 2a 2c 2b muut verkot

169 How does entry get in forwarding table?
Summary Router becomes aware of prefix via BGP route advertisements from other routers Determine router output port for prefix Use BGP route selection to find best inter-AS route Use OSPF to find best intra-AS route leading to best inter-AS route Router identifies router port for that best route Enter prefix-port entry in forwarding table

170 Miten merkintä päätyy edelleenlähetystauluun?
Yhteenveto Reititin tulee tietoiseksi etuliitteestä BGP:llä reittimainoksia muilta reitittimiltä Määritä reitittimen lähtöportti etuliitteelle Käytä BGP reitinvalitsinta löytääkseen parhaan ulkoisen-AS reitin Käytä OSPF löytääkseen parhaan sisäisen-AS reitin joka johtaa parhaalle ulkoiselle AS-reitille Reititin tunnistaa parhaan reitittimen portin tälle parhaalle reitille Lisää etuliite-portti -merkintä edelleenlähetystauluun

171 BGP routing policy A,B,C are provider networks
X Y legend: customer network: provider network A,B,C are provider networks X,W,Y are customer (of provider networks) X is dual-homed: attached to two networks X does not want to route from B via X to C .. so X will not advertise to B a route to C Network Layer

172 BGP reitityskäytäntö A,B,C ovat palveluntarjoajan verkkoja
W X Y selite: asiakas verkko: palveluntarjoaja verkko A,B,C ovat palveluntarjoajan verkkoja X,W,Y ovat (palveluntarjoajien verkkojen) asiakkaita X on kaksikotinen: liitetty kahteen verkkoon X ei tahdo reittiä B:stä X:n kautta C:hen .. joten X ei mainosta B:lle reittiä C:hen Network Layer

173 BGP routing policy (2) A advertises path AW to B
X Y legend: customer network: provider network A advertises path AW to B B advertises path BAW to X Should B advertise path BAW to C? No way! B gets no “revenue” for routing CBAW since neither W nor C are B’s customers B wants to force C to route to w via A B wants to route only to/from its customers! Network Layer

174 BGP reitityskäytäntö (2)
A B C W X Y selite: asiakas verkko: palveluntarjoaja verkko A mainostaa polkua AW B:lle B mainostaa polkua BAW X:lle Pitäisikö B:n mainostaa polkua BAW C:lle? Ei tosiaan! B ei hyödy reitittämällä CBAW sillä ei W eikä C ole B:n asiakkaita B haluaa pakottaa C:n reitittämään W:hen A:n kautta B haluaa reitittää vain sen asiakkaille/asiakkailta! Network Layer

175 Why different Intra-, Inter-AS routing ?
policy: inter-AS: admin wants control over how its traffic routed, who routes through its net. intra-AS: single admin, so no policy decisions needed scale: hierarchical routing saves table size, reduced update traffic performance: intra-AS: can focus on performance inter-AS: policy may dominate over performance Network Layer

176 Miksi erilaiset sisäiset-, ulkoiset-AS reititykset?
käytäntö: ulkoinen-AS: ylläpitäjä haluaa hallita liikenteen reititystä, kuka reitittää sen verkon kautta. sisäinen-AS: yksi ylläpitäjä, joten ei tarvita käytäntöpäätöksiä mittakaava: hierarkinen reititys säästää taulukon kokoa, vähennetty päivitysliikenne tehokkuus: sisäinen-AS: voi keskittyä tehokkuuteen ulkoinen-AS: käytäntö voi mennä tehokkuuden edelle Network Layer


Lataa ppt "Ryhmän kokoonpano ja panostus"

Samankaltaiset esitykset


Iklan oleh Google