T-110.2100 Johdatus tietoliikenteeseen kevät 2013
Verkkokerros ja Internet- protokolla
Matti Siekkinen
TCP/IP-protokollapino
Sovelluskerros
Middleware: HTTP, SSL, XML...
Kuljetuskerros: TCP, UDP, ...
Verkkokerros: IPv4, IPv6 Linkkikerros: Ethernet, MPLS,
WLAN, GPRS ...
Tiedonsiirto yhden linkin yli Tiedonsiirto päästä päähän, Internetin yli (end to end)
Asiakas/palvelin- sovellukset ja monenväliset
palveluarkkitehtuurit
Viime luennolla…
§ Kuljetuskerros tarvitaan yhdistämään sovelluksia verkon yli
– Monia aktiivisia sovelluksia yhtäaikaa päätelaitteen sisällä
§ Erityyppisiä palveluita
– UDP: epäluotettava viestinvälitys
– TCP: luotettava tavuvirta
Sisältö
§ Verkkokerroksen tehtävä ja ominaisuudet
§ Internet-protokolla
– Osoitteet
§ IP-osoitteiden käyttö
– NAT ja DHCP
§ ICMP
§ Reititin ja reititys
§ IPv6
Tämän luennon jälkeen…
§ Ymmärrätte:
– Verkkokerroksen tehtävän ja toiminnan – Internetin verkkokerroksen toiminnan
• Internet protokolla (IP)
• DHCP, NAT, ICMP
– Mikä on reitin ja mitä se tekee
§ Tiedostatte:
– Mitä reititys on
– Internetin globaalin rakenteen
Mikä pilvi?
Internet
ARPANET 1969
§
Muutama kymmenen tuhatta
Autonomista järjestelmää (AS)Verkkokerroksen tehtävä
§ Mahdollistaa päätelaitteiden yhdistämisen
§ Liikuttaa dataa pisteestä toiseen
– Useiden erilaisten fyysisten kerrosten ylitse koneelta koneelle
Sovelluskerros Kuljetuskerros Verkkokerros
Linkkikerros Sovelluskerros
Kuljetuskerros Verkkokerros
Linkkikerros
Verkkokerros Linkkikerros
reititin
Verkkokerroksen ominaisuuksia
§ Pakettikytkentä eli pakettien välityspalvelu
§ Myös verkkokerros voi tarjota erilaisia palveluita
– Luotettava tai ei, min. kaistanleveys, max. viiveen vaihtelu (jitter), tiedonsalaus, etc.
§ Virtuaalipiiri (virtual circuit) vs. datagrammi
– Virtuaalipiiriverkko tarjoaa yhteydellisen palvelun
• Yhteyden muodostus (virtuaalipiiri) ennen datan lähetystä
• Hyvää: helpompi toteuttaa parempi palvelu (esim. max jitter)
• Huonoa: reitittimet joutuvat pitämään lukua yhteyksistä
• Esim. ATM ja x.25
– Datagrammiverkko tarjoaa yhteydettömän palvelun
• Paketteja liikutellaan kohdeosoitteen avulla
• Reitittimet ei joudu pitämään tilaa yhteyksistä (niitä ei ole!)
• Esim. Internet Protokolla (IP)
§ Tällä luennolla käsitellään jatkossa vain IP:aa
Sisältö
§ Verkkokerroksen tehtävä ja ominaisuudet
§ Internet-protokolla
– Osoitteet
§ IP-osoitteiden käyttö
– NAT ja DHCP
§ ICMP
§ Reititin ja reititys
§ IPv6
Internetin verkkokerros
§ Internet-protokolla (IP) toteuttaa Internetin verkkokerroksen
– IP tuo datan päätelaitteeseen, kuljetuskerros välittää sen oikealle sovellukselle
– Kuljetuskerroksen segmentti paketoidaan IP- paketin sisälle
• Lisätään IP-otsake
§ Jokaisella päätelaitteella on IP-osoite
– Tarkemmin: jokaisella verkkorajapinnalla (Wi- Fi, 3G, LTE, Eth…)
– Osoiteavaruus on globaali
IP: Internet Protocol
§ Määritelty standardissa RFC 791
§ Se tarjoaa epäluotettavan ja yhteydettömän palvelun ( "best effort”)
– Viestin perillemenoa ei varmenneta
• Lähettäjä saa virheilmoituksen vain jos IP-kerros ei tiedä miten toimittaa viesti perille
• Esim. jos reitittimen puskurimuisti on täynnä, tuleva data vain hylätään
– Reitittimet käsittelevät jokaisen IP-paketin erikseen
§ IP-protokollan versio 4 nyt pääasiassa käytössä
– IPv6 myös käytössä, mutta pienemmässä määrin
• Protokolla olemassa jo 15 vuotta
– IPv6:n olennaisin parannus on suurempi osoiteavaruus
IPv4-otsake
Vers Hdr
length TOS Total length
Identification Flags Fragment offset
TTL Protocol Header checksum
Source IP address Destination IP address
Options... Padding
Data
0 16 31
Ei oikeastaan käytössä
4
Kasvava laskuri -> Uniikki id paketille
fragmentointi
Time to Live:
- vähennetään yhdellä jokaisessa reitittimessä - kun 0 -> paketti hylätään
Kuljetuskerroksen protokolla
Harvoin käytössä: tietoturva &
tehokkuusongelmat
Lasketaan vain IP-otsakkeesta
Fragmentointi
§ Linkkikerroksella on maksimikoko siirrettävälle segmentille
– MTU: maximum transmission unit – Riippuu linkin tyypistä
• Esim. Ethernet 1500 tavua, WiFi 2304 tavua
§ Mitä tehdään, jos IP-paketin lähettäjä
lähettää 64 kB paketin ja vastaanottajan kokorajoitus on 1,5 kB?
– Vastaus: Fragmentointi
§ Reititin jakaa paketin osiin (fragmentit) ja lähettää ne erillisinä IP-paketteina
§ Vastaanottaja kokoaa taas yhdeksi IP-
paketiksi
Fragmentointi
§ Tehokkuusongelmat
– Pitää lähettää enemmän otsakkeita (overhead)
• Riippuu valitusta fragmentin koosta
– Vastaanottaja puskuroi vastaanotetut palaset kunnes voidaan kasata koko paketti
– Kaikki paketin palaset pitää lähettää uudelleen jos yksittäinen palanen katoaa
§ Aiemmin myös tietoturvaongelma
– Jolt2: palvelunestohyökkäys väärinrakennetuilla fragmenteilla
§ Pyritään välttämään
– Selvitetään ennemmin suurin sallittu segmentin koko
Path MTU Discovery
§ Fragmentoinnin välttämiseksi selvitetään suurin sallittu IP-paketin koko (RFC 1191, 1990)
§ Lähetetään suurehko IP-paketti, jossa on "Don't Fragment" -lippu päällä
– Ensimmäinen reititin jonka MTU pienempi kuin
paketin koko vastaa ICMP "Fragmentation Needed"
viestillä (sis. linkin MTU:n)
– Muutetaan paketin koko vastaamaan MTU:a – Toistetaan kunnes paketti menee perille asti
§ Ongelma: palomuuri voi estää ICMP viestit
– Ratkaisu: lähetetään toinen toistaan suurempia
paketteja kunnes paketti katoaa (RFC 4821, 2007)
IP-osoitteet
§ IP-osoite on verkkoliittymän (interface) tunniste
– Päätelaitteella voi olla useita samanaikaisia verkkoliittymiä
• Reitittimet
• Luotettavuus (eräänlainen multihoming)
• Erilaiset linkit (esim. kännykän WLAN, UMTS)
§ IPv4-osoitteet ovat 32-bitin mittaisia
– IPv6 tarjoaa 128-bitin osoitteet
§ IPv4: Neljä pisteiden erottamaa tavua desimaalinumeroina
– Esim: 130.233.240.9
§ Alkuosa osoitteesta kertoo verkon (network prefix), loppuosa viittaa koneeseen verkossa (host id)
– Esim. lähiverkko tai yrityksen koko verkko
– Reitittimet välittävät paketteja verkko-osan perusteella
IP-verkko ja osoitteet
223.1.2.9 223.1.1.4
223.1.3.27
223.1.3.1 223.1.3.2 223.1.1.1
223.1.1.2
223.1.1.3
223.1.2.1
223.1.2.2
IP-verkko ja osoitteet
§ Käytetään on CIDR notaatiota
– Classless Inter-Domain Routing
– Aiemmin oli käytössä osoiteluokat eri kokoisille organisaatioille
§ Ilmoitetaan verkko-osoite ja merkitsevien bittien määrä
– Esim. 130.223.0.0/16 on TKK:n verkko runkoverkon tasolla
• Kaikki 130.223 -alkuisiin osoitteisiin matkaavat paketit ohjataan tässä verkossa
– Raja on bitteinä, ei tavuina
IP-verkko ja osoitteet
§ TKK:n verkon sisällä voi olla aliverkkoja, esim.
130.223.236.0/22
– Verkkomaski (netmask) tässä on 255.255.252.0
– Osoitteet 130.223.236.0-130.223.239.255 kuuluvat tähän verkkoon
§ Onko 130.223.237.0/22 eri aliverkko?
10000010 11011111 11101100 00000000 11111111 11111111 11111100 00000000 10000010 11011111 111011
130.223.236.0 verkkomaski 130.223.236.0/22
10000010 11011111 11101101 00000000 11111111 11111111 11111100 00000000 10000010 11011111 111011
130.223.237.0 verkkomaski 130.223.237.0/22
Sama
Ei.
IP-verkko ja osoitteet
223.1.2.9 223.1.1.4
223.1.3.27 223.1.1.1
223.1.1.2
223.1.1.3
223.1.2.1
223.1.2.2 223.1.1.0/24
223.1.2.0/24
223.1.3.0/24 223.1.2.0/28
223.1.3.0/27
Erityiset osoitteet
§ 0.0.0.0
– Mikä/kuka tahansa (any)
– Lähettäjällä ei ole vielä IP-osoitetta
§ 255.255.255.255
– Paikallinen yleislähetys (broadcast)
§ Koneen osoite -osan kaikki bitit 1
– Verkon yleislähetys – Esim. 222.1.16.255/24
§ 127.*.*.*
– Loopback, viittaa ko. liittymään – Yleensä. 127.0.0.1
– Erittäin käytännöllinen
• Asiakas ja palvelin samassa päätelaitteessa
Yksityiskäyttöön varatut osoitteet
§ Tietyt osoitteet on määritelty vain paikalliseen käyttöön
– 10.0.0.0/8
– 192.168.0.0/16 – 172.16.0.0/12
§ Runkoverkko kieltäytyy reitittämästä niitä
– Voi käyttää vapaasti, mutta niistä ei voi viestiä (suoraan) Internetiin
– Käytetään lähiverkoissa
• julkisen verkon IPv4 osoitteista on pulaa
§ Liikennöinnin Internetiin mahdollistaa NAT
(Network Address Translation)
IPv6 osoitteet
§ Kahdeksan kaksoispisteiden erottamaa 16-bittistä heksadesimaalisarjaa
– 2001:0db8:0000:0000:0000:0000:1420:57ab – 2001:db8::1420:57ab (sama osoite)
§ 3.4×10 38 mahdollista osoitetta
– Noin 4.8×10
28osoitetta jokaiselle ihmiselle
§ Helpompaa allokoida osoiteavaruutta
– Ei tarvitse huolehtia osoitteiden niukkuudesta
– Aggregointi mahdollisesti tehokkaampaa
Sisältö
§ Verkkokerroksen tehtävä ja ominaisuudet
§ Internet-protokolla
– Osoitteet
§ IP-osoitteiden käyttö
– NAT ja DHCP
§ ICMP
§ Reititin ja reititys
§ IPv6
NAT
§ Network/Port Address Translation (NAT/
PAT)
§ Mahdollistaa julkisen osoitteen jakamisen usean laitteen kesken
§ Reitittimellä yksi (tai muutama) julkinen IP- osoite ja sisäverkossa yksityisosoitteita
– Yksityisosoitteet vaihdetaan julkisiin reitittimessä ja päinvastoin
– Reititin pitää kirjaa yksityinen ↔ julkinen osoite (ja portti) kuvauksesta
– Nyt reitittimessä on verkkoyhteyden tila
NAT
§ IP-paketin muuttuminen matkalla
10.0.0.2 10.0.0.1 194.197.18.3
130.233.9.10 lähdeosoite Lähdeportti Kohdeosoite kohdeportti
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
1 2
3 4
lähdeosoite Lähdeportti Kohdeosoite kohdeportti 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
lähdeosoite Lähdeportti Kohdeosoite kohdeportti 1 10.0.0.2 8890 130.233.9.10 80
2 194.197.18.3 3498 130.233.9.10 80
lähdeosoite Lähdeportti Kohdeosoite kohdeportti
1 10.0.0.2 8890 130.233.9.10 80
NAT: huono puoli
§ B haluaa viestiä A:n kanssa
§ Mihin osoitteeseen lähetetään ensimmäinen paketti?
§ Osoitteeseen 10.0.0.3?
à yksityisosoite (ei reittiä eikä reititin välitä)
§ Osoitteeseen 194.197.18.3?
à NAT1 ei tiedä kummalle paketti kuuluu
C: 10.0.0.2 10.0.0.1 194.197.18.3 B: 10.0.0.2
Internet
10.0.0.1 194.192.11.1
?
NAT1 NAT2
A: 10.0.0.3
NAT: huono puoli
§ Internetistä ei voi aloittaa yhteyttä NATin taakse
– NAT toteuttaa siis tietynlaisen palomuurin (hyöty?) – Kiinteä NAT-muunnos saa NATin takana olevan
palvelimen näkymään julkiseen verkkoon
§ Kaksi NATin takana olevaa päätelaitetta eivät pysty viestimään keskenään ilman apua
– Ratkaisuina STUN, ICE, TURN
– Pyritään tunnistamaan NAT:n toimintatapa
• Esim. viestimällä STUN-palvelimen kanssa
– Viimeisenä konstina välityspalvelin eli relay (TURN)
• Molemmat päätepisteet ottavat yhteyden palvelimeen
Miten IP-osoite saadaan?
§ Blokki osoitteita
– Internet-yhteydentarjoajalta (ISP) – ICANN hallinnoi globaalisti
• Internet Assigned Numbers Authority (IANA)
– ICANNin alla
• Viisi kappaletta Regional Internet Registryä (RIR)
– Melkein maanosittain
– IANAlta IPv4 osoitteet loppuivat jo...
• Osalla RIR:stä on vielä muutamaksi vuodeksi
§ Yksittäisen päätelaitteen osoite
– Manuaalisesti konfiguroimalla
– Automaattisesti: Dynamic Host Configuration Protocol (DHCP)
• Erittäin käytännöllistä (esim. läppärit)
DHCP
§ Dynamic Host Configuration Protocol
– Automaattinen IP-osoitteiden jakelu lähiverkossa
§ Eri toimintatapoja
– Staattinen allokointi
• Pysyvät IP-osoitteet asiakkaan MAC-osoitteen perusteella
• Vaatii manuaalisesti MAC-osoitteiden konffaamisen serverille
– Automaattinen allokointi
• Ei manuaalista MAC-osoitteiden konffaamista
• Ensimmäisen kerran jälkeen staattinen allokointi
– Dynaaminen allokointi
• IP-osoitteet täysin dynaamisesti poolista
• Sama asiakas voi saada joka kerta eri osoitteen
§ Edellyttää palvelimen tai proxy-palvelimen lähiverkkoon
§ RFC 2131, 2132
DHCP
§ Viestit kapseloitu UDP:nä IP:n yli
– Palvelin portissa 67, asiakas portissa 68
§ Palvelin löydetään yleislähetyksellä
– Ensimmäinen paketti osoitteeseen 255.255.255.255 osoitteesta 0.0.0.0
§ Viestityypit
– DISCOVER, OFFER, REQUEST, DECLINE, ACK, NAK, RELEASE
§ Palvelin antaa lähiverkon työaseman tarvitseman perusinformaation
– IP-osoite, verkkomaski, yhdyskäytävä – DNS-palvelimen osoite
– Yms.
Läh: 0.0.0.0:68 Vast:
255.255.255.255:67 yiaddr: 223.1.2.4
ID: 655
Server ID: 223.1.2.5 Läh: 223.1.2.5:67
Vast:
255.255.255.255:68 yiaddr: 223.1.2.4
ID: 655
Server ID: 223.1.2.5 Läh: 223.1.2.5:67
Vast: ??
yiaddr: 223.1.2.4 ID: 654
Server ID: 223.1.2.5
Läh: ??
Vast: ??
yiaddr: 0.0.0.0 ID: 654
DHCP esimerkki
Palvelin A
(
223.1.2.6) Asiakas Palvelin B
(
223.1.2.5) DHCPDISCOVERDHCPOFFER DHCPREQUEST
DHCPACK
DHCPRELEASE DHCPDISCOVER
DHCPOFFER
DHCPREQUEST
Läh: 0.0.0.0:68 Vast:
255.255.255.255:67 yiaddr: 0.0.0.0
ID: 654
Läh: 0.0.0.0:68 Vast: ??
yiaddr: 223.1.2.4 ID: 654
Server ID: 223.1.2.5
Sisältö
§ Verkkokerroksen tehtävä ja ominaisuudet
§ Internet-protokolla
– Osoitteet
§ IP-osoitteiden käyttö
– NAT ja DHCP
§ ICMP
§ Reititin ja reititys
§ IPv6
ICMP
§ Internet Control Message Protocol
§ RFC 792
§ Yksinkertainen viesti IP-paketin sisällä
– Luodaan IP-kerroksella
– Kahden koneen IP-kerroksien, ei sovelluksien, välillä – Viestin ilmoitus usein kuitenkin välitetään sovellukselle
§ Toteuttaa
– Verkon virheilmoitukset – Ping
– Traceroute
§ Turvasyistä käyttö usein rajoitettu
– Esim. yhteyden kaappaus tai DoS perustuen "Route redirect",
"router advertisement” -viesteihin
– Pelkkä ping mahdollistaa verkon koneiden kartoituksen
ICMP-viesti
Type Code Checksum
Data
§ Type määrittelee viestin: echo request, echo reply, destination unreachable, jne.
– Esim. Ping = ICMP ”echo request” + ICMP ”echo reply”
§ Code määrittelee syyn: host unreachable, port unreachable, jne.
§ Data sisältää virheviesteissä virheen aiheuttaneen IP-
paketin oleelliset osat
traceroute
§ Mahdollistaa IP-tason polun selvittämisen
§ Lähettäjä lähettää UDP-segmenttejä
– Kohdeosoite on polun päätepiste
• Kohdeportiksi joku epätodennäköisesti auki oleva
– Aluksi TTL=1, kasvatetaan yhdellä peräkkäisissä segmenteissä – Myös ajastin käynnistetään jokaista segmenttiä lähetettäessä
§ Kun TTL=0
– Reititin hylkää segmentin
– Lähettää ICMP TTL expired viestin lähettäjälle
§ ICMP viestit paljastavat polun reitittimien osoitteet ja viiveen
L
TTL=1 TTL=2 TTL=3 …V
ICMP esimerkki
§ Mitä tapahtuu?
§ Nimeltään Smurf-hyökkäys
– Ei pitäisi toimia enää…
Internet
89.223.0.0/16
109.27.57.70
ICMP “echo request” (Ping) Vast: 89.223.255.255
Läh: 109.27.57.70
129.47.17.2
toista N kertaa, N hyvin suuri
Sisältö
§ Verkkokerroksen tehtävä ja ominaisuudet
§ Internet-protokolla
– Osoitteet
§ IP-osoitteiden käyttö
– NAT ja DHCP
§ ICMP
§ Reititin ja reititys
§ IPv6
Reititys
§ Verkossa useita vaihtoehtoisia reittejä pisteiden välille
– Vikasietoisuus
– Sopimukset liikenteen siirtämisestä ISP:n välillä
§ Reititys: Polkujen löytämistä osoitteesta toiseen
§ Reititysprotokolla: Tapa jolla reitittimet vaihtavat tietoa verkon tilasta ja tarjoamistaan osoitteista
§ Reititystaulu: Reitittimen tallentama tieto osoitteiden sijainneista
– Mahdollisesti reititysprotokollan avulla selvitetty
Reititin
§ Kaksi tehtävää:
– Reititys
• Ei välttämätöntä
– Esim. manuaalisesti konfiguroitu reititystaulu
– Edelleenlähetys (Forwardointi)
• Siirretään paketti sisääntulevasta portista
ulosmenevään (linkistä toiseen) reititystaulun perusteella à prefix-haku
• Tehdään siis jokaiselle paketille
• Erittäin aikakriittinen tehtävä
– Miljoonia paketteja sekunnissa nopeissa reitittimissä
• Jokainen lähetys vaatii prefix-haun
Prefix-haku (lookup)
§ Kohdeosoitetta verrataan reititystaulun sääntöihin
§ Longest prefix matching rule
– Aina haetaan pisin soveltuva sääntö reititystaulusta
Destination Next Hop
200.223.0.0/16 R2
200.16.0.0/13 R4
200.22.0.0/15 R1
Kohdeosoite: 200.223.146.51
Longest Prefix Matching Rule
Destination Next Hop
11001000 11011111 R2
11001000 00010 R4
11001000 0001011 R1
§ Mihin tämä paketti lähetetään?
Kohdeosoite on: 200.23.146.51
11001000 00010111 10010010 00110011
200.223.0.0/16
200.16.0.0/13
200.22.0.0/15
Miksi longest prefix matching?
§ Vastaus on route aggregation (a.k.a. address aggregation)
– Voidaan esittää useita aliverkkoja yhdellä säännöllä
§ Pienentää reititystaulujen kokoa
Destination Next Hop 10.1.0.0/24
10.1.2.0/24 10.2.1.0/24 10.3.1.0/24 20.0.0.0/8
R3 direct direct
R3 R2 Destination Next Hop
10.1.0.0/24 10.1.2.0/24 10.2.1.0/24 10.3.1.0/24 20.2.0.0/16 20.1.1.0/28
R3 direct direct
R3
R2
R2
Reitittimen arkkitehtuuri
Hae IP-osoite -> portti
Päivitä otsake
portti
reititystaulu
Hae IP-osoite -> portti
Päivitä otsake
portti
reititystaulu
Hae IP-osoite -> portti
Päivitä otsake
portti
Data Hdr
Data Hdr
Data Hdr
Puskurin- hallinta
Puskuri
Puskurin- hallinta
Puskuri
Puskurin- hallinta
Data Hdr Data Hdr
Data Hdr Kytkentäosa
(Switching Fabric)
Reititin: haasteita
§ Mikä on oikea puskurien koko?
– Viime aikoina ymmärretty ettei ehkä vieläkään tiedetä J
– Liian suuri:
• Kallista
• TCP:n ruuhkanhallinta reagoi myöhässä à epästabiili
– Vrt. liian vetelä auton jousitus
– Liian pieni:
• Ei riittävästi toleranssia purskeiselle liikenteelle
§ Suuret nopeusvaatimukset
– Prefix-haku pitää olla todella nopeaa
– Useita eri ratkaisuja keksitty esim. kytkentäosioon – Täysin optisia reitittimiä myös mietitty...
• Erityisesti puskurien toteutus hankalaa optisesti
Staattinen reititys
§ Työasemissa ja verkon reunareitittimissä reititystaulu on usein staattinen
– Reititysprotokollia ei käytetä
– Eli oikeastaan ei reititystä ollenkaan
§ Forwardointi
– Työasema vertaa lähtevän paketin kohdeosoitetta omaan osoitteeseen verkkomaskin puitteissa
– Reunareititin (esim. kotiverkossa) tietää
lähiverkon verkko-osoitteet ja ohjaa kaiken
muun oletuslinkille (default)
Esimerkki: kotiverkko
§ Tyypillinen pieni kotiverkko
§ Reititystaulu:
Destination Next hop Comment
193.209.237.72/30 e0 Local LAN (Ethernet)
* s0 WAN (default route)
Internet s0 e0
193.209.237.72/30
Dynaaminen reititys
§ Reitittimille asetetaan käsin paikalliset (lähi)verkot ja niiden osoiteavaruudet
§ Reitittimet ”mainostavat” toisilleen omia verkkojaan
– Reititysprotokollat
§ Vastaanotetusta tiedosta rakennetaan reititystaulu
– Päivitetään jatkuvasti
§ Protokollat käsitellään tarkemmin kurssilla
T-110.4100 Tietokoneverkot
Toinen esimerkki
§ Toimipisteellä on 100 Mbps linkki Internetiin toisen toimipisteen kautta ja 2 Mbps varalinkki
Inet s1
s0
e0
L2, 100 Mbps L1, 100 Mbps
L2, 2 Mbps
193.209.237.0/24
194.197.118.0/25
R1R2 R3
Vähän monimutkaisempi...
§ R3:n reititystaulu:
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" ei ole rahallinen kustannus vaan ohjaa
Inet s1
s0
e0
L2, 100 Mbps L1, 100 Mbps
L2, 2 Mbps
193.209.237.0/24
194.197.118.0/25
R1R2 R3
Internetin rakenne
§ Internet-yhteydentarjoajat (ISP) jaoteltu kolmeen luokkaan
– tier 1: globaali
• Vähän yli kymmenen kappaletta
• Internetin “selkäranka” eli runkoverkko
• Sallivat toistensa liikenteen maksutta verkkonsa kautta (a.k.a. settlement free peering)
– tier 2: alueellinen
• Myös peering, lisäksi myös ostaa yhteyttä muilta (transit palvelu)
– tier 3: lokaali
• Yksinomaan ostaa yhteyttä muilta (ylemmän kategorian) ISP:lta
§ Internet koostuu Autonomisista järjestelmistä (AS)
– “a connected group of one or more IP prefixes run by one or more network operators which has a single and clearly defined routing
policy” [RFC 1930]
Internetin rakenne
Reititysprotokollat
§ Internetissä on käytössä erilaisia reititysprotokollia
– AS:n sisällä eli intra-domain routing protokollat – AS:n välille eli inter-domain routing protokollat
§ Sisäiseen reititykseen on tarjoilla joukko vaihtoehtoja
– EIGRP, OSPF, RIP, IS-IS, ...
– Yleensä ”shortest path” reititystä
§ AS:n välillä käytetään BGP4:ää (Border Gateway Protocol)
– Myös suurempien AS:n sisällä
– Pääasiassa ”policy based” reititystä (AS:n väliset sopimukset, kustannukset), ei ”shortest path”
§ Reititin toteuttaa myös reititysalgoritmin
– Rakennetaan tiedosta reititystaulu
– Yleensä protokolla määrittää myös käytetyn algoritmin
Runkoverkon reititys
§ Runkoverkon reitittimillä ei oletusreittejä
– Tiedettävä kaikkien maailman IP-osoitteiden reititys
– Ei tietenkään koko polkua, vain seuraava pysäkki
– Muista route aggregation
Sisältö
§ Verkkokerroksen tehtävä ja ominaisuudet
§ Internet-protokolla
– Osoitteet
§ IP-osoitteiden käyttö
– NAT ja DHCP
§ ICMP
§ Reititin ja reititys
§ IPv6
IPv6
§ IP:n uudempi versio
§ Tärkein etu on suuri osoiteavaruus
– 128 bittiä
– Laskettu riittävän huonostikin käytettynä
§ Muita etuja
– Parempi autokonfigurointi
– Optiot toteutettu eri tavalla
– IPsec ”sisäänrakennettuna”
59
IPv6 käyttöönotto
§ IPv6 käyttöönotto kasvanut
exponentiaalisesti 2007 eteenpäin
§ IPv4 ja IPv6
samanaikaisesti
– dual stack –tyyliin – Tunnelointi
0 5000 10000 15000 20000 25000 30000 35000 40000
Jan 1998
Jan 2000
Jan 2002
Jan 2004
Jan 2006
Jan 2008
Jan 2010
Jan 2012
0 500 1000 1500 2000 2500 3000 3500 4000 4500
Number of ASes (IPv4) Number of ASes (IPv6)
IPv4 IPv6
0 20000 40000 60000 80000 100000 120000 140000
Jan 1998
Jan 2000
Jan 2002
Jan 2004
Jan 2006
Jan 2008
Jan 2010
Jan 2012
0 2000 4000 6000 8000 10000 12000 14000 16000
Number of AS links (IPv4) Number of AS links (IPv6)
IPv4 IPv6
Figure 1: Both AS nodes and links grow linearly in IPv4 but exponentially (as of 2007) in IPv6.
ployment along three dimensions: topology, routing, and performance. Section 2 describes the data sources and sup- porting analysis techniques we use throughout the paper.
We find that the IPv6 network is maturing, as indicated by its increasing similarity in size and composition (Section 3), AS path congruity (Section 4), topological structure (Sec- tion 5), and dynamics (Section 6), to the public IPv4 In- ternet. While core Internet transit providers have mostly deployed IPv6, edge networks are lagging behind. While all geographic regions show exponential growth in IPv6 adop- tion, early IPv6 deployment was stronger in Europe and the Asia-Pacific region than in North America. The IPv6 network is characterized by the presence of a single promi- nent player, Hurricane Electric (HE). Hurricane Electric cur- rently appears in between 20% and 95% of IPv6 AS paths seen from different vantage points, and is more prominent in IPv6 than the most prominent player in IPv4. Further, when IPv4 and IPv6 AS paths differ, HE is the network most often added to the IPv6 path. Routing dynamics in the IPv6 topology are largely similar to those in IPv4. While routing churn grows linearly in IPv4 and super-linearly in IPv6, it is important to note that these trends match those of the underlying IPv4 and IPv6 AS topology growth. In terms of performance (Section 7), our measurements show that IPv6 data-plane performance closely matches IPv4 per- formance when the AS-level paths are the same, while it can be significantly worse when AS-level paths differ.
2. DATASETS AND METHODS
We use a variety of data sources and analysis methods, which we summarize here, providing more detail in sections that use specific data. Our analysis of the IPv6 Internet’s size, routing behavior, and structure (Sections 3-5) relies on publicly available historical BGP tables. Section 6 uses BGP updates from the same public repositories to analyze rout- ing dynamics of the IPv4 and IPv6 networks over time. We gather our own data using active measurements from five vantage points around the world, to compare and correlate IPv4 and IPv6 performance with other growth parameters.
To compare the composition of the IPv4 and IPv6 graphs ac- cording to type of networks, we classify the business types of
and the business relationships of the links between them (e.g., customer, provider, peer) using Gao’s algorithm [7].
BGP topology data
We collected historical BGP data from the two major public repositories at RouteViews [8] and RIPE [9]. We rely only on these two data sources because no other source of topo- logical/routing data (routing registries, traceroutes, looking glass servers, etc.) provides historical information. Route- views and RIPE started collecting IPv4 BGP data as early as 1998; the first IPv6 collector, however, became active in 2003. Consequently, our IPv4 data spans 14 years from 1998 to 2011, while the IPv6 data is from 2003 to 2011. The use of Routeviews/RIPE repositories of BGP data has been shown to inadequately expose the complete Internet topology [10, 11, 12] – although this data captures most ASes, it misses a significant fraction of peering and backup links at the edges of the Internet [13, 12, 14]. However, we are mainly inter- ested in customer-provider links used most of the time. AS links revealed by short term failures and transient routing events can “confuse” an evolutionary study, misinterpreting link disappearances and appearances due to transient fail- ures as link deaths and births respectively. For example, the primary link lp between ASes X and Y fails at time t1, caus- ing the activation of a backup linklb between ASes X and Z.
lp is repaired att2 and the connectivity returns to its original state. Since we focus on primary links, our goal is to ignore the transient event during (t1, t2) and not detect lb. On the other hand, a change of routing policy that makes lb the primary link should be detected as the death of lp and the birth of lb. To remove backup and transient links, we apply the method of “majority filtering” described in our previous work [6] on the set of BGP AS paths obtained from BGP table dumps at Routeviews and RIPE collectors. We do not use BGP updates to construct our topology snapshots, as these reveal backup and transient links which we want to filter. The majority filtering method works as follows. For both IPv4 and IPv6, we construct a topology snapshot by collecting 5 sets of AS paths over a duration of 3 weeks, only using AS paths that were seen in a majority of those five samples. We collect such a topology snapshot every 3 months, resulting in 56 snapshots of the IPv4 topology and 36 snapshots of the IPv6 topology. We refer the reader to our previous work [6] for a detailed description of the data collection and pre-processing.
BGP routing dynamics data
Our comparative analysis of routing dynamics of the IPv4 and IPv6 infrastructures is based on BGP updates collected by the Routeviews project. Routeviews collectors run BGP sessions with routers (or monitors) in many networks. Each monitor sends a BGP update to the collector every time there is a change in the preferred path from the monitor to a destination prefix. We use update traces from two Route- views collectors: Routeviews6 for IPv6 data and Oregon- IX for IPv4 data. The IPv4 updates span the period from 1 Jan 2003 to 16 Feb 2012, while the IPv6 updates span 7 May 2003 through 16 Feb 2012. We use monitors from five networks that contributed both IPv4 and IPv6 routing data throughout the study period: AT&T, Hurricane Elec- tric (HE), NTT-America, and Tinet, and IIJ. AT&T’s IPv4 monitor was unavailable for three months in 2003, and its IPv6 monitor was unavailable between May 2005 and May
A. Dhamdhere, M. Luckie, B. Huffaker, k. claffy, A. Elmokashfi, and E. Aben, “Measuring the Deployment of IPv6: Topology, Routing and Performance'', in Internet Measurement Conference (IMC), Nov 2012.