internet-reititys (routing)

156
2/6/01 Internet-reititys (Routing) Verkkokerroksen tehtävänä on toimittaa data (paketit) lähettäjän koneelta vastaanottajan koneelle Välissä voi olla hyvin monimutkainen monista erilaisista aliverkoista koostuva verkko. Internet, jossa miljoonia reitittimiä ja yli sata miljoonaa konetta, eri yritysten omistuksessa 2.11.2000: 100. miljoonas ‘host’ Miten tämä saadaan aikaiseksi?

Upload: stu

Post on 12-Jan-2016

70 views

Category:

Documents


0 download

DESCRIPTION

Internet-reititys (Routing). Verkkokerroksen tehtävänä on toimittaa data (paketit) lähettäjän koneelta vastaanottajan koneelle Välissä voi olla hyvin monimutkainen monista erilaisista aliverkoista koostuva verkko. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Internet-reititys (Routing)

2/6/01

Internet-reititys (Routing)� Verkkokerroksen tehtävänä on

toimittaa data (paketit) lähettäjän koneelta vastaanottajan koneelle� Välissä voi olla hyvin monimutkainen monista

erilaisista aliverkoista koostuva verkko. � Internet, jossa miljoonia reitittimiä ja yli sata

miljoonaa konetta, eri yritysten omistuksessa� 2.11.2000: 100. miljoonas ‘host’

� Miten tämä saadaan aikaiseksi?

Page 2: Internet-reititys (Routing)

2/6/01

Verkkojen yhdistäminen (Internetworking) (ss.396-406)

� verkot erilaisia� nyt ja aina

� verkkoja yhdistävät� toistin: bittien kopiointia

� silta: kehys, store-and-forward, yhdistää LANeja

� reititin: paketti, store-and-forward, erilliset verkot ‘moniprotokolla’reitittimillä

� kulj.kerr. yhdyskäyt.: tavuvirta kuljetuskerroksessa

� sovelluskerr. yhdysk.: sovelluksen tietoyksiköitä

Page 3: Internet-reititys (Routing)

2/6/01

puoliyhdyskäytävä (half gateway)

� kun yhdistettävät verkot� etäällä toisistaan� eri organisaatioissa

� yhdyskäytävä jaetaan kahdeksi puolikkaaksi� kumpikin puoli hoitaa omat asiansa� puolikkaat yhdistetty pelkällä johdolla

� sovittava vain johdossa käytetty protokolla

Page 4: Internet-reititys (Routing)

2/6/01

� silta � tunnettava kehysotsikot� ei tarpeen tietää hyötykuorman takana olevaa

protokollaa

� reititin� tunnettava verkkoprotokolla� alakerran toimintatavoista ei väliä

� käytännössä termejä käytetään vapaammin!

Page 5: Internet-reititys (Routing)

2/6/01

Yhdistämisen vaikeus

� ongelmana on erilaisten toiminnallisuuksien yhteensopivuus� luotettavuus � ruuhkan valvonta� kuittaukset� toimitusaikatakuut

Page 6: Internet-reititys (Routing)

2/6/01

Pakettien pirstominen (fragmentation)

� kaikissa verkoissa paketilla jokin maksimikoko

� laitteisto (TDM-viipaleen pituus)� käyttöjärjestelmä (käytetty puskurinkoko)� protokolla (pituuskentän bittien lukumäärä)� standardinmukaisuus� virheistä johtuvan uudelleenlähetyksen

vähentäminen� tasapuolisuuden tavoite

� 48 tavua (atm) => 65515 tavua (IP)

Page 7: Internet-reititys (Routing)

2/6/01

Liian iso paketti verkkoon� liian iso paketti paloitellaan

yhdyskäytävässä� missä paketti kootaan?

� samassa verkossa, missä paloiteltiin� kaikki paketit ohjattava samaan yhdyskäytävään� jatkuvaa pilkkomista ja kokoamista!

� vasta määränpäässä� pieni pakettikoko => lisää yleisrasitetta� kaikkien solmujen kyettävä kokoamaan paketteja

Page 8: Internet-reititys (Routing)

2/6/01

Pakettien kokoaminen� edellyttää palojen ‘numerointia’

� on tiedettävä, minkä paketin mikä osa on kyseessä

� kaikissa paloissa alkuperäisen paketin tunniste + sijainti paketissa� sijainti: pakettiin kuuluvan ensimmäisen

tavun sijainti alkuperäisessä paketissa

� lisäksi tieto, onko pala paketin viimeinen

� tai tiedettävä paketin pituus

Page 9: Internet-reititys (Routing)

2/6/01

56

56

56

0 0

0 1

127 0

alkuperäinen paketti

paketin alkuosa

paketin loppuosa

paketin tunnus sijainti-

kohtaeliosannumero

viimeinen paketin osa?

paketin data

Page 10: Internet-reititys (Routing)

2/6/01

Verkkojen yhdistäminen � virtuaalikanavien kytkentä

� virtuaalikanava lähettäjältä vastaanottajalle rakennetaan vaihe vaiheelta

� tietosähkeverkkojen yhdistäminen� verkkoon voi syöttää pakettaja, verkko yrittää

toimittaa ne vastaanottajlle� erilaiset verkkoprotokollat� osoittaminen

� tunnelointi� kahden samanlaisen verkon välillä

� IP-protokolla => Internet

Page 11: Internet-reititys (Routing)

2/6/01

virtuaalikanavien kytkentä

� edellytys� löytyy reititys, jossa pystytään toteuttamaan

‘päästä-päähän’ -minimivaatimukset

� sopivuus� sopii parhaiten, jos verkoilla suunnilleen

samat ominaisuudet

� samat edut ja haitat kuin virtuaalipiirillä

Page 12: Internet-reititys (Routing)

2/6/01

Yhteydettömien verkkojen yhdistäminen

� lähes samanlaiset verkkoprotokollat� hyvin erilaisia lähes mahdoton yhdistää

� osoittaminen� IP: 32-bittinen osoite� OSI: puhelinnumeron kaltainen osoite

� osoitteiden yhteensovittaminen?� globaaliosoiteavaruus? standardi?

� ainoa tapa yhdistää, jos verkossa ei ole virtuaalipiiriä

� entä kun useita erilaisia verkkoja?

Page 13: Internet-reititys (Routing)

yhdyskäytävä

Luotettava, kuittaava, uudelleenlähettävä

Epäluotettava, ei kuittauksia, ei uudelleenlähetyksiä verkkokerroksella

AB

Verkko

X

Verkko

Y

Mitä tapahtuu, kun A lähettää B:lle?

Voiko yhdyskäytävä paikata asian?

Page 14: Internet-reititys (Routing)

2/6/01

Tunnelointi (tunneling)

� kohde- ja lähdeverkko samanlaisia, välissä erilainen verkko� vain reititinpari näkee välissä olevan verkon

� ~ iso tunneli niiden välissä

� lähdeverkon paketti (esim. IP-paketti) kulkee välissä olevan verkon paketin sisällä hyötykuormana

Page 15: Internet-reititys (Routing)

Välissä oleva erilainen verkko

X ja Y samanlaisia verkkoja

AB

X Y

Paketit välitetään verkon läpi hyötykuormana, kapseloituna ko. verkon protokollakehyksessä.

Page 16: Internet-reititys (Routing)

2/6/01

Internet� Yhdistää hyvin erilaiset verkot

yhteentoimivaksi kokonaisuudeksi� kaikkien käytettävä samaa IP-protokollaa � kaikkien käytettävä samaa IP-osoitustapaa

� verkkojen tarvitsee osata vain kuljettaa dataa lähettäjältä vastaanottajalle

� samantekevää kuinka sen tekee� verkko=> ‘linkkiyhteys’ tai tunneli

Page 17: Internet-reititys (Routing)

Frame Relay

Token ring

IP IP IP

host router host

Page 18: Internet-reititys (Routing)

2/6/01

Internetin verkkokerros� Internet

� on kokoelma ‘itsenäisiä’ aliverkkoja eli autonomisia järjestelmiä (AS, Autonomous Subsystem)

� joita yhdistää runkolinjat

� IP-protokolla� verkkotason protokolla, joka pitää Internetin koossa� tavoite: kuljettaa paketti (datagram) lähteestä

kohteeseen yli kaikkien tarpeellisten verkkojen

Page 19: Internet-reititys (Routing)

2/6/01

Reititys� (hajautettu) päätöksenteko

� yhteydellinen: alussa� yhteydetön: jatkuvasti

� system-wide fault tolerance� jatkuvaa muutosta

� rikkoutuvat komponentit, muuttuva topologia� ristiriitaisia vaatimuksia

� optimaalisuus /reiluus (fairness)� suorituskyky

� mean packet delay, network throughput

Verkkokerroksen tärkein tehtävä

Page 20: Internet-reititys (Routing)

� Koneilla ja reitittimillä yksikäsitteiset verkko-osoitteet� IP-osoite: verkko ja koneen osoite verkossa

� Muuttuvassa verkossa pystyttävä selvittämään kulloinkin parhaat reitit� reititysalgoritmi, reititysprotokolla

� reititin pystyy ohjaamaan seuraavaksi� reititystaulu (routing table)

Page 21: Internet-reititys (Routing)

2/6/01

Reititysalgoritmit� mukautuva / mukautumaton (adaptive / nonadaptive)

� dynaaminen /staattinen

� mittaukseen perustuva vai ‘kirjanpitopohjainen’� suuri ero aikaskaalassa (sekuntej, minuutteja <=>

päiviä, ihminen muuttaa)� optimaaliset reitit

� kaikista lähteistä annettuun kohteeseen� => puu, jonka juurena kohde

� Ongelmia:� reitittimien tietojen hankita� verkko elää=> reitittimien tietojen ylläpito?

Page 22: Internet-reititys (Routing)

2/6/01

Reititysalgoritmejä

� Dijkstran reititysalgoritmi (Shortest Path Routing)

� yleisesti käytetty

� tulvitus (flooding)� satunnainen (‘kuuma peruna’, hot potato)

� Flow-Based Routing

Page 23: Internet-reititys (Routing)

2/6/01

Flow-Based Routing

� viive = jonotusaika + siirtoaika� etsitään pienin mahdollinen viive

koko verkolle� tunnettava

� verkon topologia� kapasiteettimatriisi� liikennematriisi� alustava reititys

Page 24: Internet-reititys (Routing)

� lasketaan � kunkin linjan kuormitus i� keskim. pakettien määrä kullakin linjalla Ci

� keskim. pakettikoko = 1/esim. 800 bittiä)

� keskim viive kullekin linjalle

T = 1/( C - ) (jonoteoriasta) 1/ = keskim. paketin koko bitteinä C = kapasiteetti bps = keskim. pakettivirta (kuormitus) paketteina sekunnissa

Page 25: Internet-reititys (Routing)

� koko verkon viive� painotettu keskiarvo eri linkkien viipeistä

� painotuksena linkin osuus koko liikenteestä

� eri reititysalgoritmien vertailu� lasketaan erikseen kaikille reititysvaihtoehdoille� valitaan ‘paras’

� edellyttää kuormituksen pysyvän melko samanlaisena

Page 26: Internet-reititys (Routing)

2/6/01

Yleisesti käytetyt reititysalgoritmit

� etäisyysvektorireititys� Distance Vector Routing� Bellman-Ford, Ford-Fulkerson� ARPANETin alkuperäinen reititysalgoritmi� Internetin RIP-algoritmi

� linkkitilareititys� Link State routing� ARPANETin reititysalgoritmi vuodesta 1979

Page 27: Internet-reititys (Routing)

2/6/01

Etäisyysvektorireititys

� Solmut vaihtavat informaatiota vain naapuriensa kanssa

� Eri solmuilla eri näkemys verkosta� hyvät uutiset etenevät nopeasti, huonot hitaasti

� count- to-infinity, � simple split horizon : ei ilmoita naapurille sen kautta

meneviä parhaita reittejä� Split horizon with poisoned reverse" ilmoittaa, mutta

merkitsee ne äärettömiksi.

Page 28: Internet-reititys (Routing)

� ratkaisu ei toimi aina

A B

C

D

Linkki CD katkeaa,A ja B ilmoittavat C:lleettei D:hen pääse

C päättelee, että D:tä ei voi saavuttaa

Kuitenkin A kuulee B:ltä, että sillä on etäisyys 2 D:hen => oma etäisyys 3

x

Page 29: Internet-reititys (Routing)

2/6/01

Globaali reititysalgoritmi

� Kullakin reitittimellä käytössään koko verkon informaatio

� tästä lasketaan hajautetusti tai keskitetysti parhaat reitit

� monimutkainen algoritmi

Page 30: Internet-reititys (Routing)

2/6/01

Linkkitilareititys (Link State Routing)

� reitittimen tehtävät� selvitettävä naapurit ja niiden osoitteet� mitattava etäisyys / kustannus naapureihin� koottava tietopaketti ko. tiedoista� lähetttävä tietopaketti kaikille reitittimille� laskettava lyhin reitti kaikkiin muihin reitittimiin

� kyseessä maailman laajuinen verkko� kaikki häiriöt sattuvat

� joskus ja jossain

� vikasietoisuus

Page 31: Internet-reititys (Routing)

2/6/01

ongelmia

� väärin toimiva reititin� kertoo vääriä tietoja� ei välitä tietopaketteja� väärentää tietopaketteja� laskee reitit väärin

� isossa verkossa aina joku toimii väärin� tavoitteena rajata ongelmat pienelle alueelle

Page 32: Internet-reititys (Routing)

2/6/01

Hierarkkinen reititys� reitityksen skaalautuvuus

� isossa verkossa runsaasti reitittimiä� reititystaulut suuria� reittien laskeminen raskasta� tietopaketit kuluttavat linjakapasiteettia

� hierarkiaa� jaetaan reitittimet ryhmiin (alueet, regions)� kukin reititin tuntee kaikki alueensa sisällä� tietää mikä reititin hoitaa liikenteen muihin

alueisiin

Page 33: Internet-reititys (Routing)

2/6/01

IP-osoitteet� jokaisella verkon isäntäkoneella ja

reitittimellä on oma yksikäsitteinen osoite muotoa� verkon numeroverkon numero� isäntäkoneen numeroisäntäkoneen numero

� osoite on 32-bittinen� luokallinen reititys (A-, B- ja C-luokan osoitteet)� CIDR (classless Interdomain Routing)

� verkko-osan pituus vaihtelee : a.b.c.d/’pituus bitteinä’� 200.23.16.0/20

Page 34: Internet-reititys (Routing)

2/6/01

IP-osoitteiden jako� ICANN (The Internet Corporation for Assigned Names and

Numbers)� the non-profit corporation that was formed to assume responsibility

for the IP address space allocation, protocol parameter assignment, domain name system management, and root server system management functions previously performed under U.S. Government contract by IANA and other entities

� Alueellinen jako� APNIC Aasia� ARIN Amerikka + Etelä-Afrikka� RIPE NCC Eurooppa + lähialueet

� näiden alla Internet-palvelujen tarjoajat (ISP Internet Service Provider)

Page 35: Internet-reititys (Routing)

2/6/01

Osoitteiden antaminen koneille

� Manuaalisesti� DHCP (Dynamic Host Configuration Protocol)

� DHCP-palvelin antaa asiakkaalle dynaamisesti osoitteen� lähiverkoissa, PPP-yhteyksissä, liikkuville asemille

Page 36: Internet-reititys (Routing)

A: 0 verkko-os. koneosoite

B: 10 verkko-osoite koneosoite

C: 110 verkko-osoite koneos.

D: 1110 monilähetysosoite

E: 11110 varatttu tulevaan käyttöön

IP-osoitteiden luokkamuodot

0 8 16 24 31

Page 37: Internet-reititys (Routing)

2/6/01

IP-osoitteiden luokkajako� A-luokka: 126 verkkoa, 16 miljoonaa konetta/verkko� B-luokka: 16382 verkkoa, 65528 konetta/verkko� C-luokka:noin 2 miljoonaa verkkoa, kussakin

korkeintaan 254 konetta� D-luokka: monilähetysosoite� E-luokka: varattu tulevaan käyttöön

� Luokkajako osoittautui epäonnistuneeksi:� C-luokassa koneita liian vähän => useita eri verkkoja� B-luokassa koneita liian paljon => hukkakäyttöä, B-

osoitteet olivat loppua

Page 38: Internet-reititys (Routing)

2/6/01

Erikoisosoitteet� 0 tarkoittaa omaa verkkoa tai omaa isäntäkonetta

� 00000000000000000000000000000000� oma isäntäkone (‘minä itse’)

� 00 … 000 | isäntäkoneen osoite� isäntäkone omassa verkossa

� yleislähetykset� 11111111111111111111111111111111

� yleislähetys omassa verkossa� verkko-osoite|11111 … 11111

� yleislähetys toisessa verkossa

Page 39: Internet-reititys (Routing)

2/6/01

� osoitetta 0.0.0.0 käytetään vain, kun kone on juuri käynnistetty

� osoite testausta varten� 127.xx.yy.zz

� paketteja ei lähetetä, käsitellään vastaanotettuina

Page 40: Internet-reititys (Routing)

2/6/01

C-osoitteiden käyttö� verkon kasvu => ongelmia� kun tarvittiin lisää osoitteita => piti ottaa

uusi verkko-osoite => yritykselle useita eri verkkoja� nimien/osoitteiden hallinta, reititys � konfiguraatiohallinta

� koneen vaihto verkosta toiseen

Page 41: Internet-reititys (Routing)

2/6/01

Aliverkko-osoitteiden käyttö (subnets)

� aliverkot B-osoitteiden avulla� ulospäin verkko yhtenäinen,mutta sisäisesti

jaettu aliverkkoihin� B-luokka => osa koneosoitteen biteistä aliverkon

osoitteelle

� verkonhallinta voi itse päättää aliverkko-osoitteiden jakamisesta

Page 42: Internet-reititys (Routing)

2/6/01

CIDR (Classless InterDomain Routing)� IP-osoitteiden riittävyys!

� C-osoitteita paljon, mutta koneosoitteita vain 256� B-osoitteessa koneosoitteita riittävästi, mutta B-

osoitteita vain 65536!� 100000 verkkoa jo 1996!� useassa B-verkossa alle 50 konetta

� reititystaulujen koon kasvaminen� reitittimien tunnettava kaikki verkot

� => laskennan monimutkaisuus, � => tietojenvaihto vie paljon resursseja

Page 43: Internet-reititys (Routing)

2/6/01

CIDR-idea

� varataan C-osoitteet peräkkäisinä lohkoina� esim. 2000 osoitetta => varataan 8 peräkkäistä C-

verkkoa (= 8*258 = 2048)� jaetaan osoitteet neljään osaan, kukin osa

varataan yhdelle maanosalle (Eurooppa, Pohjois-Amerikka, Etelä-Amerikka,

Aasia+Pasific)� kullekin noin 32 miljoonaa osoitetta� 320 miljoona jää vielä varastoon

� reititetään myös maanosien mukaan� osoitteet: 194.0.0.0 - 195.255.255.255 Eurooppaan

Page 44: Internet-reititys (Routing)

2/6/01

Paketin reititys

� Reititys verkko-osoitteen perusteella� Kun paketti saapuu reitittimeen, sen kohdeosoitteen

verkko-osoite etsitään reititystaulusta ja nähdään, minne porttiin paketti tulee lähettää

Verkko-osoite, 0 portti

Oma verkko, host portti

Muihin verkkoihin

Omaan (omiin) verkkoihin

Page 45: Internet-reititys (Routing)

2/6/01

� kun paketti saapuu, sen kohdeosoite etsitään reititystaulusta

� jos etäverkko => seuraavalle reitittimelle� jos sama verkko => kohdekoneelle

� jos ei löydy reittitaulusta, ohjataan reitittimelle, joka tietää enemmän

Page 46: Internet-reititys (Routing)

2/6/01

� Osoitteen luokka kertoi verkko-osoitteen bitit ja koneosoitteen bitit

� CIDR => verkko-osoitteen koko vaihtelee� CIDR:n käyttö vaatii maskin, joka kertoo, mitkä

bitit kuuluvat verkko-osoitteeseen ja mitkä koneosoitteeseen

� samoin aliverkko-osoitteita käytettäessä tarvitaan aliverkkomaski

Page 47: Internet-reititys (Routing)

� Esimerkki CDR:n käytöstä� varataan osoitteet

� Turun yliopisto 2048 osoitetta� 194.24.0.0 - 194.24.7.255 ja maski 255.255.248.0

� Helsingin yliopisto 4096 osoitetta� 194.24.16.0 - 194.24.31.255 ja maski 255.255.240.0

� Tampereen yliopisto 1024 osoitetta� 194.24.8.0 - 194.24.11.255 ja maski 255.255.255.0

� talletetaan reititystauluihin� jokaisesta osoitteen alku eli kantaosoite ja maski

� saapuva paketti esim. 194.24.17.4� AND-operaatio ensin Turun maskilla� jos tuloksena Turun kantaosoite, menossa Turkuun� muuten yritetään muita

Page 48: Internet-reititys (Routing)

2/6/01

Reititys aliverkko-osoitteita käytettäessä

� Reititystaulussa� (muu_verkko, 0) � (oma_verkko, muu _aliverkko, 0)� (oma_verkko, oma_aliverkko, kone)

� kukin reititin tietää� oman aliverkkonsa koneet, � kuinka päästä muihin aliverkkoihin/verkkoihin

� aliverkon maski� kertoo mitkä bitit ovat koneosoitetta, mitkä

aliverkko-osoitetta

Page 49: Internet-reititys (Routing)

10 verkko-osoite aliverkko koneosoite

111111111111111111111111111111000000000000

aliverkkomaski

Reitittimen reititystaulussa:verkko1,0 ulosmeno a…...verkkon,0 ulosmeno I0, aliverkkoi, 0 ulosmeno u………..0, aliverkkok, 0 ulosmeno v0, tämä aliverkko, kone1 ulosmeno k………0, tämä aliverkko, konen ulosmeno m

Page 50: Internet-reititys (Routing)

2/6/01

Aliverkkomaskin käyttö

� maskin avulla osoitteesta poistetaan koneosoite

� AND-operaatio

� etsitään verkko-osoite reititystaulusta� esim. paketin kohdeosoite: 130.50.15.6maski: 11 …1 11111100 00000000osoite: 00001111 00000110AND: 00001100 000000000tuloksena verkko-osoite: 130.50.12.0

Page 51: Internet-reititys (Routing)

2/6/01

Reititin (Router)

reititin

Page 52: Internet-reititys (Routing)

2/6/01

Reitittimen rakenne

ulostuloportitsisäänmenoportit

Reititys- prosessori

Kytkentä-osa

(switching fabric)

... ...

Page 53: Internet-reititys (Routing)

� Portit� peruskerroksen toiminnot (PK)

� fyysisen siirtoyhteyden pää

� linkkikerroksen toiminnot (LK)� virhetarkistukset, vuonvalvonta, � MAC-kerroksen toiminnot

� pakettien edelleenohjaaminen (PE)� datapaketit kytkentäverkoston kautta oikeaan ulostuloporttiin� valvontapakettit (RIP, OSPF, BGP) reititysprosessorille

PK LK PEkytkentäosa

sisääntuloportti

Page 54: Internet-reititys (Routing)

PE LK PKKytkentä osa

ulostuloportti

Vastaavasti kukin ulostuloportti tallettaa sen kautta eteenpäin lähtevät paketit ja suorittaa niille linkkikerroksen ja peruskerroksen vaatimat toimenpiteet.

Käytännössä useita portteja on yhdistetty yhdeksi linjakortiksi (line card) reitittimen sisällä.

Page 55: Internet-reititys (Routing)

Reititysprosessori suorittaa reititysprotokollaa RIP, OSPF, BGP, .. päivittää reititystauluja hallinta- ja ylläpitotoimintoja

Kytkentäosa yhdistää paketin sisääntuloportit ulostuloportteihin paketti siirtyy oikeaan verkkoon täysin reitittimen sisällä

Page 56: Internet-reititys (Routing)

Line termination

Data Link Processing

Lookup, forwarding

queuing

Sisääntuloportin toiminta

Etsitään reititystaulusta kohdeosoitetta vastaava ulosmenoportti.

Yleensä kopio reitistystaulusta talletettu porttiin ja reititysprosessori päivittää sitä. Näin kukin portti pystyy itse etsimään oikean ulosmenoportin.

Muuten paketti ohjataan reititysprosessorille, joka etsii reititystaulusta oikean portin (portti on pelkkä verkkokortti).

Page 57: Internet-reititys (Routing)

� Etsitään reititystaulusta� valitaan pisin sopiva verkko-osa

� Runkolinjareitittimiltä vaaditaan hyvin suuria nopeuksia� miljoonia hakuja sekunnissa� pitäisi pystyä toimimaan linjan nopeudella

� OC48-linkki => 2.5 Gbps� jos paketin koko 256 tavua => noin miljoona hakua

sekunnissa

� erilaisia tekniikoita� talletetaan reittitaulun alkiot puurakenteina

Page 58: Internet-reititys (Routing)

0 1

0 1

0 1

Osoitteen

1. bitti

2. bitti

3. bitti

jne

001…..

Kun n = 32 ei ole tarpeeksi nopea nykyisiin runkoreitittimiin!

- content addressable memory (CAM)

- välimuistin käyttö

Page 59: Internet-reititys (Routing)

2/6/01

Kytkentäosa� Kytkentä muistin kautta

� portit tavallisia käyttöjärjestelmän I/O-laitteita� keskeytys ilmoittaa paketin saapumisesta� CPU kopioi paketin sisääntuloportista muistiin� CPU tutkii osoitteen ja reitistystaulusta etsii vastaavan

ulosmenoportin� CPU kopioi paketin muistista tähän ulosmenoporttiin� muistin saantinopeus rajoittaa toimintaa

� nykyiset reitittimet � käyttävät linjakortin omia prosessoreita

� Memory shared multiprocessors

Page 60: Internet-reititys (Routing)

� Kytkentä väylän kautta� sisääntuloportit siirtävät paketin väylän kautta

suoraan oikeaan ulosmenoporttiin� vain yksi paketti kerrallan voi kulkea väylässä� jos väylä on varattu, paketti joutuu odottamaan� väylän nopeus rajoittaa kytkentänopeutta

� Gbps nopeudet riittävät LANeille ja yritysverkoilla

� Kytkentä kytkentäverkon kautta� ristikkäinkytkin (crossbar switch)� 2N väylää, jotka yhdistävät N sisääntuloporttia N:ään

ulosmenoporttiin� voivat tukkeutua => odotusta sisäänmenoportissa

� Cisco 12000: 64 Gbps

Page 61: Internet-reititys (Routing)

2/6/01

Ulosmenoportit

Line termination

Data Link Processing

Queuing

Buffer Management

Ulosmenoportti lähettää paketin taas seuraavaan verkkoon

Page 62: Internet-reititys (Routing)

2/6/01

Jonotus reitittimessä

� Sekä sisäänmeno- että ulostuloporttiin voi syntyä jonoa� näissä jonoissa reititin voi kadottaa paketteja,

kun puskuritila ei enää riitä� se kummassa jonossa paketit katoavat, riippuu

kytkimen ja linjan nopeuden suhteista� jonoa voi syntyä myös, koska useasta lähteestä

pyritään samaan kohteeseen

Page 63: Internet-reititys (Routing)

Yhdelle linjalle liian paljon liikennettä => ulosmenoportin puskuritila täyttyy ja paketteja katoaa!

N linjaa sisään N linjaa ulos

Kytkin toimii riittävällä nopeudella, joten sisääntulossa ei tarvitse jonottaa.

Page 64: Internet-reititys (Routing)

Esim. Ristikkäinkytkimessä paketti joutuu odottamaan, jos samaan kohteeseen on menossa useita paketteja. Jonottava paketti voi tukkia tien myös muilta saman portin paketeilta, jotka muuten voisivat edetä kytkimessä.

(head-of-the-line-blocking)

N linjaa sisään N linjaa ulos

Jos kytkin ei toimi tarpeeksi nopeasti, sisääntuloportteihin syntyy jonoja.

Page 65: Internet-reititys (Routing)

2/6/01

Yleislähetysreititys (Broadcast routing)

� paketti monelle vastaanottajalle� useita kaksipistelähetyksiä: kaikille oma paketti� tulvitus� multidestination routing: kohteet lueteltu paketissa,

reititin kopioi kaikkiin tarpeellisiin ulosmenoihin� virittävä puu (spanning tree)

� ei silmukoita� yhteinen tai jokaiselle oma puu

� reverse path forwarding-algoritmi� estimoi virittävää puuta

Page 66: Internet-reititys (Routing)

2/6/01

Reverse path forwarding -algoritmi� idea

� tuliko paketti portista, josta normaalisti lähetetään paketin aloittaneelle solmulle?� jos tuli, paketti kopioidaan kaikkiin muihin portteihin� jos ei tullut paketti tuhotaan kaksoiskappaleena

� edut� tehokas ja helppo toteuttaa� ei tarvitse tuntea virittävää puuta� ei ylim. yleisrasitetta (kohdelista, lisäbittejä)� tulvitus päättyy itsestään

Page 67: Internet-reititys (Routing)

2/6/01

Monilähetysreititys (multicast routing)

� Monilähetysryhmä� ryhmäosoite (Luokan D osoite)� vastaanottajaryhmän hallinta

� ryhmien muodostus, poistaminen� vastaanottajien lisääminen, poistaminen

� reitittimet tietävät ketkä kuuluvat mihinkin ryhmään

� reititin laskee virittävän puun� puusta poistetaan linjat, jotka eivät johda ryhmään

kuuluviin solmuihin � skaalautuu huonosti

Page 68: Internet-reititys (Routing)

2/6/01

Koko ryhmälle yksi puu� Vain yksi reitityspuu koko

monilähetysryhmälle� pienimmän kustannuksen puun löytäminen NP-

täydellinen ongelma (Steiner tree problem)� suht.koht. hyviä heuristisia ratkaisuja on � ei ole käytössä Internetissä

� tiedettävä kaikki kaikki linkkikustannukset� kustannusten muuttuessa laskettava uudelleen

� ryhmän keskuksena jokin solmu, johon muut myöhemmin liittyvät

Page 69: Internet-reititys (Routing)

2/6/01

Jokaiselle lähettäjälle oma puu

� Tavallisessa reitityksessä jo yleensä lasketaan pienimmän kustannuksen puu lähettäjältä muihin solmuihin� Dijkstra => reititystaulu

� Reverse path forwarding� “Älä turhaan lähetä tänne” (pruning)

� paljon puita� N lähettäjää => N puuta� reitityksessä käytetty puu valitaan lähettäjän mukaan

Page 70: Internet-reititys (Routing)

2/6/01

Liikkuvien isäntäkoneiden reititys

� liikkuva kone (mobile host)� kotiosoite (home address, home location)� kotiagentti (home agent)

� tietää, missä omat liikkuvat ovat

� kun ilmaantuu vieraalle alueelle, se rekisteröityy� vierasagentti (foreign agent)

� hoitaa alueelle tulleet vieraat liikkuvat

Page 71: Internet-reititys (Routing)

� vierasagentti ilmoittelee itsestään � yleislähetyksiä: ‘minä täällä’

tai vieras liikkuva kyselee� ‘onko täällä vierasagenttia’

� vieras liikkuva ilmoittaa vierasagentille� kotiosoitteensa� siirtoyhteyskerroksen osoitteensa (current data link

address)� todentamistietoja (authentication information)

� vierasagentti ottaa yhteyden liikkuvan kotiagenttiin� ‘liikkuva xyz on nyt täällä’� vierasagentin verkko-osoite� todentamistietoja

Page 72: Internet-reititys (Routing)

� kotiagentti tarkistaa tiedot� mm aikaleima

ja jos kaikki kunnossa, tallettaa sijaintipaikan� kun vierasagentti saa kuittauksen kotiagentilta,

se merkitsee liikkuvan xyz vieraakseen ja ilmoittaa liikkuvalle rekisteröinnin onnistuneen

� Kun paketti lähetetään liikkuvalle, se ohjautuu osoitteen perusteella kotialueelle

� kotiagentti tietää nykyisen sijainnin ja ohjaa paketin sinne

� uusi osoite lähettäjälle?� lähettäjä lähettää paketit suoraan ko. vierasagentille

välitettäväksi xyz:lle

Page 73: Internet-reititys (Routing)

2/6/01

IP-protokolla

� IP-datasähke� otsake� dataosa

� otsake� pituus 20 tavun kiinteä osa� vaihtelevan mittainen valinnainen osuus� big endian: vasemmalta oikealle, korkein bitti ensin

Page 74: Internet-reititys (Routing)

2/6/01

IP-otsakkeen kentät

� versio� IHL

� otsakkeen pituus vähintään viisi 32 bitin sanaa (20-60 tavua)

� type of service� kertoo halutun palvelun

� nopeus, luotettavuus, kapasiteetti� ääni <-> tiedostonsiirto

� yleensä ei käytössä

Page 75: Internet-reititys (Routing)

2/6/01

Type of service -bitit:

� presedence-kenttä (3 bittiä)� sanoman prioriteetti 0-7

0 normaali 7 verkon valvontapaketti

� D-bitti, T-bitti, R-bitti� mikä on tärkeää yhteydessä

D: viive (Delay), T: läpimeno (Throughput) R: luotettavuus (Reliability)

� lisäksi vielä 2 käyttämätöntä bittiä

Page 76: Internet-reititys (Routing)

2/6/01

IP-otsakkeen kentät jatkuvat

� Total length� koko datasähkeen pituus � maksimi 65535 tavua

� maksimipituus vielä riittävä, mutta tulevaisuuden nopeille verkoille jo ongelma

� Identification� tietosähkeen numero� kaikissa saman tietosähkeen osissa sama tunnus

Page 77: Internet-reititys (Routing)

2/6/01

IP-otsakkeen kentät jatkuvat

� DF- bitti (Don’t fragment)

� kieltää paloittelun � esim. jos vastaanottaja ei kykene kokoamaan

datasähkettä

� MF-bitti (More fragments)

� ilmoittaa, onko datasähkeen viimeinen osio vai tuleeko vielä lisää

Page 78: Internet-reititys (Routing)

2/6/01

IP-otsakkeen kentät jatkuvat

� Fragment offset� osion paikka datasähkeessä� osioiden oltava 8 tavun monikertoja (paitsi

viimeisen)� 13 bittiä => korkeintaan 8192 osiota yhdessä

datasähkeessä

� lisäksi 1 käyttämätön bitti

Page 79: Internet-reititys (Routing)

2/6/01

IP-otsakkeen kentät jatkuvat

� Time to live� rajoittaa paketin elinaikaa� maksimi 255 sekuntia� vähenee

� joka hypyllä reitittimestä toiseen� myös odottaessaan reitittimessä (ei yleensä)� paketti hävitetään, kun laskuri menee nollille

� Protocol� mille kuljetuskerrokselle kuuluu

� esim. TCP- tai UDP-siirtoon kuuluva

Page 80: Internet-reititys (Routing)

2/6/01

IP-otsakkeen kentät jatkuvat

� Header checksum� tarkistussumma lasketaan vain otsakkeelle� 16-bitin sanat lasketaan yhteen yhden

komplementin aritmetiikalla� laskettava uudestaan joka reitittimessä

� Source address, Destination address� kohteen ja lähettäjän osoitteet muodossa

� verkon numero ja isäntäkoneen numero

Page 81: Internet-reititys (Routing)

2/6/01

IP-otsakkeen kentät jatkuvat

� Options� vaihtelevan mittaisia

� 1. tavu kertoo option koodin� voi seurata pituuskenttä� datakenttiä� täytettä jotta 4 tavun monikertoja

� käytössä 5 optiota� mutta reitittimet eivät välttämättä ymmärrä

Page 82: Internet-reititys (Routing)

2/6/01

Optiot

� Security� datasähkeen luottamuksellisuus ja salassapidettävyys

� Strict source routing� datasähkeen kuljettava tarkalleen annettua reittiä

� Loose source routing� kuljettava ainakin annettujen reitittimien kautta

� Record route� reitin varrella olevat reitittimet liittävät tunnuksensa

� Timestamp� tunnuksen lisäksi liitettävä myös aikaleima

Page 83: Internet-reititys (Routing)

2/6/01

IPv6

� CIDR on ‘kikkailua’, ei ratkaise IP:n perusongelmia

� tavoitteita:� biljoonia osoitteita� pienempiä reititystauluja� yksinkertaisempia protokollia� turvallisuutta� mukaan palvelutyyppi (tosiaikainen), monilähetys� liikkuvien koneiden osoitteet� jatkokehitys ja nykyisten protokollien toimivuus

Page 84: Internet-reititys (Routing)

2/6/01

IPv6� 16 tavun osoitteet

� => ‘rajaton’ määrä osoitteita

� yksinkertaisempi otsake-kenttä� kiinteä kehys, jossa vain 7 kenttää

� valinnaisten piirteiden käsittely� monet ennen pakolliset nyt valinnaisia� opitioiden uusi esitystapa => nopeampi käsittely

� turvaus� todentaminen� yksityisyys

Page 85: Internet-reititys (Routing)

2/6/01

� palvelutyyppi otettu paremmin huomioon

� multimedia

� yhteensopiva Internetin protokollien kanssa

� osoitteiden koko

� ei ole yhteensopiva IPv4:n kanssa

Page 86: Internet-reititys (Routing)

IPv6-otsake

Source address (16 tavua)

Destination address (16 tavua)

Payload length Next header Hop limit

Flow labelV P

V = version, P = Priority

Page 87: Internet-reititys (Routing)

2/6/01

Otsakekentät

� Versio (version)� aina 6 IPv6:lle ja 4 IPv4:lle

� prioriteetti (priority)� 0-7 ruuhkatilanteessa voi hidastaa� 8-15 tosiaikapaketteja (video/audio)� isompi numero, tärkeämpi paketti

� vuonimiö (flow label)� pseudoyhteys, jolla tietyt ominaisuudet ja

vaatimukset (esim. viive, viipeen vaihtelu jne)� vuot muodostetaan etukäteen ja niille annetaan

tunnus: lähde- ja kohdeosoite ja vuonumero

Page 88: Internet-reititys (Routing)

� kuorman pituus (payload length)� paketin koko (ilman otsaketta)

� seurava otsake (next header)� otsikon laajentaminen� 6 otsikon laajennusosaa� viimeisessä kertoo kuljetusprotokollan (TCP, UDP)

� hyppyraja (hop limit)� hyppylaskuri, vähenee joka hypyllä

� source address, destination address� 16 tavun osoitteita

Page 89: Internet-reititys (Routing)

2/6/01

IPv4:n kentistä puuttuvat� paketin paloitteluun liittyvät kentät

� kaikki kykenevät käsittelemään ainakin 576 tavun paketteja

� lähettäjä huolehtii, että paketti on riittävän pieni� reititin ilmoittaa virheestä, jos se havaitsee liian

suuren paketin => ohjeet pilkkoa paketti pienemmäksi

� tarkistussumma� ei lasketa verkkokerroksella

� luotettavammat verkot� siirtoyhteyskerros laskee / kuljetuskerros laskee

Page 90: Internet-reititys (Routing)

IPv6- otsake

Laajennus-otsake

Laajennus- otsake

... TPDU

Ei yhtään, yksi tai useita laajennusotsikoita

Seuraava otsake -kenttä (Next header Field)

* ilmoittaa minkä tyyppinen otsakekenttä seuraa IPv6-otsaketta

* seuraaja voi olla jokin laajennusotsake tai ylemmän protokollan, kuten

TCP:n tai UDP:n otsake

Page 91: Internet-reititys (Routing)

2/6/01

Laajennusotsakkeet� Hop-By-Hop- optioiden otsake

� tietoja reitittimille, käsitellään joka reitittimessä� reititysotsake (Routing header)

� laajennettu reititys ~IPv4:n lähdereititys, � vaadittu reitti tai reitin osa

� paloitteluotsake (Fragmentation header)� paloitteluun ja kokoamiseen liittyvää tietoa

� autentikointiotsake (Authentication header)� paketin ehyys ja autentikointi (= taattu lähettäjän identiteetti)

� turvatun kuorman otsake (Encapsulating Security Payload header)� pakettien salakirjoitus

� kohdeoptioiden otsake (Destination Options header)� paketin vastaanottajille tarkoitettua tietoa

Page 92: Internet-reititys (Routing)

2/6/01

Otsakkeiden järjestys� Standardin otsakkeet myös annetaan

edellä esitetyssä järjestyksessä� Poikkeuksena ovat kohdeoptioiden otsakkeet

� Optiot voidaan tarkoittaa myös usealle kohteelle. Tällöin annetaan ensimmäinen osoite kohdeosoitteen kentässä ja muiden kohteiden lista reititysotsakkeessa.

� Tällainen kohdeoptioiden otsake esiintyy heti hop-by-hop-otsakkeen jälkeen.

� Jos otsakkeen tiedot on tarkoitettu vain paketin viimeiselle vastaanottajalle. Niin annetaan viimeisenä laajennuksena.

Page 93: Internet-reititys (Routing)

2/6/01

IPv6:n prioriteetit� ruuhkavalvottu liikenne (esim. TCP)

� viive saa jossain määrin vaihdella� pakettien järjestys saa muuttua

� ruuhkavalvomaton liikenne� tosiaikavideo tai audio� vakionopeus ja vakioviive => tasainen pakettivirta

� prioriteetti suhteessa muihin saman lähteen paketteihin � prioriteetti suhteessa saman liikennetyypin paketteihin

� ruuhkavalvotun ja valvomattoman liikenteen välillä ei ole määritelty prioriteettia

Page 94: Internet-reititys (Routing)

2/6/01

Ruuhkavalvottu liikenne

� Prioriteetit 0- 70 määrittelemätön liikenne (uncharacterized traffic)1 täyttöliikenne (filler traffic) verkkouutiset, USENET-sanomat2 lliikenne, jota käyttäjä ei dottele (unattended data traffic) sähköposti3 ei vielä käytössä4 käyttäjän odottama massasiirto (attended bulk traffic) FTP, HTTP5 ei vielä käytössä6 interaktiivinen liikenne (interactive traffic) TELNET, X7 verkon valvontaliikenne (Internet control traffic) SNMP, OSPF, BGP

Page 95: Internet-reititys (Routing)

2/6/01

Ruuhkavalvomaton liikenne

� Prioriteetit 8-158 sopivin hävitettäväksi esim. teräväpiirtovideo, jossa runsaasti redundanssia

…….15 huonoin hävitettäväksi esim. puhelinkeskustelu, jossa kadonneet paketit aiheuttavat

äänen pätkimistä ja häiriöääniä linjalla

Page 96: Internet-reititys (Routing)

2/6/01

Vuonimiö� Vuo

� peräkkäisten pakettien jono samasta lähteestä samoille vastaanottajille, jota reitittimien halutaan käsittelevän tietyllä tavalla� tiedostonsiirto usealla TCP-yhteydellä => yksi vuo� multimediakonferenssi => monta erilaista vuota

� lähdeosoite + 24-bittinen vuotunnus identifioi vuon� kaikille saman vuon paketeille sama tunnus

Page 97: Internet-reititys (Routing)

2/6/01

� Reitittimelle vuo on joukko peräkkäisiä paketteja, joita tulee käsitellä tietyllä tavalla

� samat resurssivaraukset� samat turvallisuusvaatimukset� samat säännöt pakettien hävittämiseen� samat etuoikeudet jonoissa� samat vaatimukset aliverkon palvelunlaadulle� sama laskutus

Page 98: Internet-reititys (Routing)

2/6/01

� Vuonimiö on pelkkä tunniste� on erikseen esitettävä, mitä toimintoja kuhunkin

nimiöön liittyy� neuvottelemalla etukäteen reitittimen kanssa

valvontaprotokollaa käyttäen� ilmoittamalla paketteja lähetettäessä otsakkeissa

halutut toiminnot� Hop-By-Hop -option otsakkeessa

� voidaan pyytää tiettyä palvelunlaatua (QoS) tai tosiaikaista palvelua

Page 99: Internet-reititys (Routing)

2/6/01

Vuonimiöiden käsittely solmuissa

� Jos ei osaa käsitellä, niin jätetään huomiotta� jos sama vuonimiö, niin oltava myös

� sama kohde- ja lähdeosoite� sama prioriteetti� samat hop-by-hop-optiot (jos käytössä)� samar reititysoptiot (jos käytössä)

jotta reititin pystyy käsittelemään paketin pelkän vuonimiön perusteella

� lähde antaa vuotunnisteen ja pitää kirjaa niistä� noin 16 miljoonaa tunnistetta� valitaan satunnaisesti� sama tunniste uudelleen käyttöön vasta kun sitä ei enää

käytetä

Page 100: Internet-reititys (Routing)

Hop-by-hop -optioiden laajennusotsake

Next Header Hrd Ext Len

One or more options

Next Header: seuraavan otsakkeen tyyppi

Header Extension Length: otsakkeen pituus 64 bitin osina ensimmäisen 64 bitin lisäksi

Page 101: Internet-reititys (Routing)

2/6/01

jumbogrammi� ainoa hop-to-hop- optio toistaiseksi� suuria paketteja tarvitaan

� supertietokoneille� suurien videopakettien siirrossa� erittäin nopeilla yhteyksillä

datagramminpituus4 tavulla

next header 0 194 0

Jumbo payload length ( > 65535 tavua)

option tyyppi

otsakkeen (lisä)pituus

Maksimikooksi yli 4 Gtavua

Page 102: Internet-reititys (Routing)

2/6/01

Paloittelu (fragmentation) � IPv6: sanoman paloittelee

lähettäjäsolmu� ei enää reititin� reititin hylkää liian suuret paketit

� path discovery -algoritmi: � lähettäjä selvittää reitillä olevan pienimmän MTU:n

(Maximum data unit), jotta osaa paloitella sopiviksi osiksi� 576 tavun paketti on kaikkien pystyttävä välittämään

Page 103: Internet-reititys (Routing)

2/6/01

Paloittelu-otsake

Next Header reserved Fragment offset res. M

identification

Fragment offset (13 bittiä): osan sijainti, yksikkönä 64 bitin osat

M-lippu: 1 = lisää palasia, 0= viimeinen pala

Identification (32 bittiä): koko sanoman tunniste, kaikissa osissa sama

,

Page 104: Internet-reititys (Routing)

2/6/01

Reititysotsake

Next Header Hdr Ext Len Routing type Segments left

Type-specific data

Routing type (8 bittiä): reititysotsakkeen tyyppi

Segments left (8 bittiä): kuljettavien välisolmujen määrä

Page 105: Internet-reititys (Routing)

Tyypin 0 reititysotsake

Routing type Segments left

Bit map (23 bittiä): 1 (strict routing) = vastaava osoite on seurava solmu, 0 (loose routing) = ei välttämättä oltava seuraava osoite

Next Header Hdr Ext Len

Address1

reserved Strict/loose bit map

Address n

...

0Segments left

Page 106: Internet-reititys (Routing)

2/6/01

� Kohteen IP-osoite on osoitelistan viimeinen, � IP-otsakkeessa on ensimmäisen reittilistalla

olevan reitittimen osoite� joka vasta tutkii reititysotsikon ja saa selville, minne

paketti ohjataan seuraavaksi� ja päivittää IP-paketin osoitteeksi seuraavan listalla

olevan reitittimen� sekä vähentää yhdellä segments left -kenttää

Page 107: Internet-reititys (Routing)

2/6/01

Turvallisuus verkkokerroksella� Ipsec

� Authentication Header-protokolla (AH-protokolla)

� Encapsulation Security Payload -protokolla (ESP-protokolla)

� ennen käyttöä on luotava kommunikoivien koneiden välille turvasopimus SA (Security Agreement)

� looginen yksisuuntainen yhteys verkkokerroksella � käytetty protokolla (AH tai ESP)� lähettäjän IP-osoite� 32-bittinen yhteystunnus SPI (Security Parameter Index)

� kaikissa SA:n Ipsec-datagrammeissa sama SPI-arvo

Page 108: Internet-reititys (Routing)

2/6/01

AH-otsake� Varmistaa datagrammin eheyden ja

lähettäjän identiteetin� “ juuri tämä lähettäjä on lähettänyt juuri tämän

paketin”� kukaan ei väärentänyt lähettäjää� kukaan ei ole millaan tavoin muuttanut pakettia

AH-otsakeIPv4-otsake TCP/UDP -segmentti

Protokollakenttä ( = 51) ilmoittaa, että mukana on AH-otsake eli käytössä AH-protokolla

Page 109: Internet-reititys (Routing)

2/6/01

AH-otsake� Next header

� onko data TCP-, UDP-,…. Segmentti

� SPI eli yhteystunnus� yhdessä lähettäjän IP-osoitteen ja käytetyn protokollan

kanssa identifioi yhteyden turvasopimuksen SA

� Sequence number� järjestysnumero 32 bitillä

� Authentication Data� sanoman digitaalinen allekirjoitus => lähettäjän

identiteetin ja sanoman yheyden varmistus

Page 110: Internet-reititys (Routing)

2/6/01

AH-otsake

Next Header Auth. Data Len

Securitty Parameters Index (SPI)

Sequence Number

Authentication Data

00000000 00000000

Page 111: Internet-reititys (Routing)

2/6/01

ESP-otsake

� Sanoman salaus ja lähettäjän autentikointi

IP-otsake ESP-otsake TCP/UDP- ESP-peräke ESP-autentikointisegm.

Protokollakenttä (=50): datagrammissa ESP-otsake ja -peräke

salakirjoitettu

autentikoitu

Page 112: Internet-reititys (Routing)

2/6/01

ESP-otsake

Securitty Parameters Index (SPI)

Sequence Number

Opaque Transport Data = salakirjoitettu data

Authentication Data

Pan Len Next Header

Padding

Padding

Page 113: Internet-reititys (Routing)

2/6/01

IPv6: osoiteavaruus

� jaettu osiin� osa IPv4-osoitteille

� palveluntuottajapohjainen osa� Internet-palvelujen tuottajille oma osuus osoitteista� noin 16 miljoonaa tuottajaa

� maantieteellinen osa� vastaa nykyista Internetiä

Page 114: Internet-reititys (Routing)

� Monilähetysosoitteet (multicast)� lippukentän bitti: pysyvä vai tilapäinen ryhmä� scope-kenttä rajoittaa monilähetyksen

� linkkiin� solmuun� yritykseen� planeettaan

� anycast� osoitteena ryhmä,� riittää lähettää jollekin ryhmän jäsenelle

Page 115: Internet-reititys (Routing)

2/6/01

Osoitteen esitysmuoto

� kahdeksan neljän heksaluvun ryhmää:

8000:0000:0000:0000:0123:4567:89AB:CDEF

� ryhmän alkunollat voi jättää pois� 16 nollan ryhmät voi korvava kaksoispisteellä

=> 8000::123:4567:89AB:CDEF� IPv4-osoitteet => ::193.31.20.46

Page 116: Internet-reititys (Routing)

2/6/01

� osoitteita on PALJON! 2**128 => ~3* 10**38� tasaisesti jaettuna noin 7 * 10**23 IP-

osoitetta jokaista maapallon pinnan neliömetriä kohden

� vaikka jako olisi epätasaisempi, ainakin yli 1000 IP-osoitetta neliömetriä kohden

Page 117: Internet-reititys (Routing)

2/6/01

Siirtyminen IPv4 => IPv6

� Kestää pitkään � syntyvät IPv6-saarekkeet

kommunikoivat tunneloinnilla� Dual stack -ratkaisut� IPv6-reitittimet

Page 118: Internet-reititys (Routing)

2/6/01

Internet-protokollia

� ICMP (Internet Control Message Protocol)� ARP (Address Resolution Protocol)� RARP (Reverse Address Resolution Protocol)� OSPF (Open Shortest Path First)� BGP (Border Gateway Protocol)� IGMP (Internet Group Management Protocol)� Mobile IP� CIDR (Classless InterDomain Routing)� IPv6

Page 119: Internet-reititys (Routing)

2/6/01

ICMP (Internet Control Message Protocol)

� Verkkoinformaation välittämiseen isäntäkoneiden ja reitittimien välillä� reitittimet ilmoittavat verkon ongelmista

toisilleen� reitittimet ilmoittavat lähetysten kohtalosta

isäntäkoneille� "Destination network unreachable"

� testauspakettien lähettäminen

Page 120: Internet-reititys (Routing)

2/6/01

� ICMP-sanomat kapseloidaan IP-paketteihin� TCP- ja UDP-segmenttien tavoin� IP-paketin protokollakentässä 'ICMP'� => paketti annetaan ICMP:n käsiteltäväksi

� ICMP-sanomassa� tyyppi + koodi kertovat sanoman� 8 tavua sanoman aiheuttaneesta IP-paketista

� jotta lähettäjä tietää, mikä paketti aiheutti sanoman

Page 121: Internet-reititys (Routing)

2/6/01

ICMP-sanomia� Destination unreachable� Time-To-Live exceeded� Parameter problem� Source quench� Redirect� Echo request, Echo reply� Timestamp request, Timestamp reply

Page 122: Internet-reititys (Routing)

2/6/01

Summary of Message Types

� 0 Echo Reply� 3 Destination Unreachable� 4 Source Quench� 5 Redirect� 8 Echo� 11 Time Exceeded� 12 Parameter Problem� 13 Timestamp� 14 Timestamp Reply� 15 Information Request� 16 Information Reply

Page 123: Internet-reititys (Routing)

2/6/01

Type 3: Destination unreachable

Code 0 = net unreachable;

1 = host unreachable;

2 = protocol unreachable;

3 = port unreachable;

4 = fragmentation needed and DF set;

5 = source route failed.

6 = network unknown

7 = host unknown

Page 124: Internet-reititys (Routing)

2/6/01

Type 11:Time-To-Live exceeded

Sanoma hävitettiin, koska sen elinaika ehti kulua umpeen

Code0 = time to live exceeded in transit;

1 = fragment reassembly time exceeded.

Page 125: Internet-reititys (Routing)

2/6/01

Type 12: Parameter problem

Virhe IP-otsakkeessa� Sanomassa osoitin, joka kertoo virheellisen� kohdan

� ilmoittaa virheellisen tavun� esim. osoittimen arvo 1 kertoo, että vika on TOS-

kentässä

� Sanoma lähetetään vain, jos IP-sanoma joudutaan virheen takia hävittämään

Page 126: Internet-reititys (Routing)

2/6/01

Type 4: Source quench

Tällä voidaan ilmoittaa lähettäjälle, että sen tulee vähentää lähettämistään� reititin joutuu hävittämään paketteja puskuristaan� vastaanottaja ei ehdi käsitellä paketteja sitä

vauhtia kun niitä tulee

HUOM! Käyttöä ei suositella• TCP-ruuhkanvalvonta • TCP-vuonvalvonta

Page 127: Internet-reititys (Routing)

2/6/01

Type 5: Redirect

Reititin voi pyytää isäntäkonetta lähettämään sanoman toiselle reitittimelle

Code:

0 = Redirect datagrams for the Network.

1 = Redirect datagrams for the Host.

2 = Redirect datagrams for the Type of Service and Network.

3 = Redirect datagrams for the Type of Service and Host

Page 128: Internet-reititys (Routing)

2/6/01

Echo-sanomat

Type 0: echo replyType 8: echo request

Echo-pyynnön sanoma tulee palauttaa echo-vastauksessa• ping-ohjelma lähettää echo-pyynnön koneelle ja

pyynnön vastaanottanut kone palauttaa sen

Echo-sanomat

Page 129: Internet-reititys (Routing)

2/6/01

Timestamp-sanomat

type 13: timestamp message type 14: timestamp reply message

lähettäjä leimaa lähettäessään ja vastaanottaja saadessaan ja

uudelleenlähettäessään • The timestamp is 32 bits of milliseconds since

midnight UT.

Page 130: Internet-reititys (Routing)

2/6/01

Traceroute-ohjelma

� Lähettää kohdekoneelle ICMP-sanomia, joissa TTL on 1, 2, 3,... sekuntia• reititin, jolla jonkin sanoman TTL loppuu,

lähettää tästä ilmoituksen, jossa on reitittimen osoite ja aikaleima

� Lähettäjä saa näin selville kiertoajan ja reitittimen eli kuljetun reitin lähettäjältä kohdekoneelle

Page 131: Internet-reititys (Routing)

2/6/01

ARP (Address Resolution Protocol)

� muuttaa IP-osoitteen siirtoyhteyskerroksen osoitteeksi� lähiverkkoon liitetyt laitteet ymmärtävät vain

LAN-osoitteita� esim. eetteriverkon 48-bittisiä osoitteita

� yleislähetys lähiverkkoon� “Kenellä on IP-osoite vv.xx.yy.zz ?”� vastauksena osoitteen omistavan laitteen

lähiverkko-osoite

Page 132: Internet-reititys (Routing)

2/6/01

� optimointia:� kyselyn tulos välimuistiin

� talletetaan muutaman minuutin ajan

� kyselijä liittää omat osoitteensa kyselyyn� alustettaessa jokainen laite ilmoittaa osoitteensa

muille� kysyy omaa osoitettaan� jos tulee vastaus, niin konfigurointivirhe

Page 133: Internet-reititys (Routing)

2/6/01

� reitittimet eivät välitä ARP-kyselyjä� reititin vastaa itse ARP-kyselyihin (proxy ARP)� muihin verkkoihin menevät paketit lähetetään

oletuspaikkaan, joka huolehtii niiden lähettämisestä

Page 134: Internet-reititys (Routing)

2/6/01

RARP (Reverse Address Resolution Protocol)

muuttaa lähiverkko-osoitteen IP-osoitteeksi

• käynnistettäessä levytön työasema

– asema kysyy IP-osoitettaan yleislähetyksenä• “Lähiverkko-osoitteeni on xxxxx..xx. Mikä on IP-

osoiteeni?”• RARP-palvelin vastaa kertomalla laitteen IP-

osoitteen

=> kaikille laitteille voidaan käyttää samaa aloitustiedostoa

Page 135: Internet-reititys (Routing)

2/6/01

� reititin ei välitä RARP-viestejä � joka verkossa oltava oma RARP-palvelin� käytetään BOOTP-protokollaa

� käyttää UDP-viestejä, jotka reititin välittää toisiin verkkoihin

� lisäinformaatiota• tiedostopalvelimen IP-osoite• oletusreitittimen IP-osoite• aliverkkomaski

Page 136: Internet-reititys (Routing)

2/6/01

5.3 Ruuhkan valvonta� yleistä ruuhkan valvonnasta� ruuhkan estäminen

� liikenteen tasoittaminen� vuotava ämpäri, vuoromerkkiämpäri� liikennevirran määrittely

� ruuhkan säätely� kuorman rajoittaminen

� pääsyvalvonta, hidastuspaketit� kuorman purkaminen

� pakettien tuhoaminen

Page 137: Internet-reititys (Routing)

2/6/01

Yleistä ruuhkasta

� suorituskyvyn rajat� palvelijaketju (reititin, linkki, reititin, …)� ketjun maksimiteho korkeintaan hitaimman

palvelijan teho � suoritusteho: sanoma/aikayksikkö

� hitain palvelija on pullonkaula� jos hitainta tehostetaan => missä / mikä on uusi

pullonkaula?

Page 138: Internet-reititys (Routing)

> i

==>==> C1 C2 C4C3

=> ruuhkaajos

Page 139: Internet-reititys (Routing)

2/6/01

ruuhkan valvonta <=> vuon valvonta

� ruuhkanvalvonta� verkon selvittävä tarjotusta kuormasta� globaali ongelma

� monta lähettäjää, monta vastaanottajaa

� vuonvalvonta� lähettäjä ei saa lähettää enempää kuin

vastaanottaja pystyy käsittelemään� kaksipisteyhteys

� suora palaute vastaanottajalta lähettäjälle

Page 140: Internet-reititys (Routing)

2/6/01

‘open-loop’ control

� järjestelmä suunnitellaan sellaiseksi, ettei ruuhkaa synny� uuden asiakkaan hyväksyminen� pakettien hävittäminen� skedulointiperiaatteet

� järjestelmän tila ei vaikuta päätöksentekoon

Page 141: Internet-reititys (Routing)

2/6/01

‘closed-loop’ control

� palautesilmukka (feed back loop)� seurataan järjestelmän tilaa

� puskurien täyttöaste� uudelleenlähetysten lukumäärät, viipeet, viipeiden

vaihtelu

� ongelman havaitsija ilmoittaa� pakettien alkuperäiselle lähettäjälle, kaikille

� reitittimet aktiivisesti kyselevät� nopeampi reagointi mahdollista

Page 142: Internet-reititys (Routing)

� lähetyskäyttäytymisen muuttaminen ruuhkan vähentämiseksi� liian hidas reagointi => ruuhka kasvaa � liian nopea reagointi => heiluriliikettä

Page 143: Internet-reititys (Routing)

2/6/01

Toiminnan säätö ruuhkatilanteessa

� lisää kapasiteettia� kiintiön nostaminen� varajärjestelmän käyttö

� vähennä kuormaa� ei uusia käyttäjiä, huonompi palvelu, jne� sopii hyvin virtuaalipiireihin

� virtuaalipiirit =>verkkokerroksella� datasähkeet => kuljetuskerroksella

Page 144: Internet-reititys (Routing)

2/6/01

Ruuhkanestopolitiikat� siirtoyhteyskerros

� uudelleenlähetyspolitiikka� epäjärjestyksessä saapuneiden talletuspolitiikka� kuittauspolitiikka, � vuon valvontapolitiikka,

� verkkokerros� virtuaalipiiri <=> tietosähke� pakettien jonotuspolitiikka� pakettien poistamispolitiikka� reititysalgoritmi� pakettien elinikä

Page 145: Internet-reititys (Routing)

2/6/01

� kuljetuskerros� uudelleenlähetyspolitiikka� epäjärjestyksessä saapuneiden talletuspolitiikka� kuittauspolitiikka� vuon valvontapolitiikka� ajastinaikojen asetukset

Page 146: Internet-reititys (Routing)

2/6/01

Liikenteen tasoitus (traffic shaping)

� liikenne tyypillisesti purskeista� aiheuttaa ruuhkaisuutta

� tasoitetaan liikennevirtaa puskurilla� puskuri toimii jonona

� vuotava ämpäri� vuoromerkkiämpäri

� liikennevirran määrittely� määrittelee asiakkaan oikeudet ja velvollisuudet

Page 147: Internet-reititys (Routing)

2/6/01

Vuotava ämpäri (leaky bucket)

� purskeisuutta tasoittaa iso puskuri, josta liikenne valuu tasaisesti

� ‘vuotava ämpäri’� yksi tavu / yksi paketti lähtee jossain aikayksikössä,

jos on lähetettävää

� jos datapurske mahtuu puskuriin, se aikanaan pääsee matkaan

� äärellinen jono� yläraja saapumistiheydelle

Page 148: Internet-reititys (Routing)

2/6/01

Vuoromerkkiämpäri (Token bucket)

� lähettäminen vaatii vuoromerkin� vuoromerkkejä generoituu tasaisella

nopeudella� jos ei lähetettävää, merkkejä jää

säästöön� korkeintaan niin paljon kuin ämpäriin mahtuu� => sallii rajoitetut ‘minipurskeet’

� joustavampi kuin vuotava ämpäri� purskeet voivat aiheuttaa ruuhkaa => vuotava

ämpäri vuoromerkkiämpärin perään

Page 149: Internet-reititys (Routing)

2/6/01

Liikenteen määrittely (flow specification)

� sovitaan liikennevirrasta yhteyttä muodostettaessa� asiakas esittää kuorma- ja palvelutoiveet� palvelija: ok/ ei käy/ vastaehdotus� pyydetty palvelu

� pakettien katoamisen sietokyky (loss sensitivity): missä määrin asiakas sietää pakettien tuhoamista

� viiveherkkyys (delay, delay variation)� takuu: onko toive vai ehdoton vaatimus

� asiakas ei aina tiedä mitä todella haluaa

Page 150: Internet-reititys (Routing)

2/6/01

Virtuaalikanavan ruuhkanvalvonta

� pääsynvalvonta (admission control)� jos ruuhkaa, ei uusia virtuaalikanavia� uusi kanava ok, jos kiertää ruuhka-alueen

� virtuaalikanavaa avattaessa� sovitaan liikennekuormituksesta ja palvelun

laadusta� verkosta varataan tarvittavat resurssit

� resurssien varaus� milloin varataan, paljonko varataan

� liikenne on purskeista� turha varaus tuhlaa resursseja

Page 151: Internet-reititys (Routing)

2/6/01

hidastuspaketti (choke packet)

� voidaan käyttää kaikenlaisissa verkoissa

� reititin tarkkailee kuormitusta� ulosmenolinjojen käyttöastetta� jonopituuksia� esimUnew = aUold + (1-a)fUnew = aUold + (1-a)fa kuinka nopeasti aikaisempi historia unohtuuf kuormitettu vai ei ( o tai 1)

Page 152: Internet-reititys (Routing)

� jos liikaa kuormaa, reititin huolestuu� lähettäjälle hidastuspaketti� lähettäjä hidastaa lähetystään

� vähentää ensin puoleen� ja sitten taas puoleen

� perustuu vapaaehtoisuuteen� reilu jonotus

� useita kynnysarvoja� lievä, vakava, erittäin vakava varoitus

� muita ruuhkan ‘mittoja’� jonon pituus� puskurikäyttö

Page 153: Internet-reititys (Routing)

2/6/01

Hidastuspaketin ongelmia:

� lähettäjän hidastus vapaaehtoista� reilu jonotus:

� kullakin lähettäjällä oma jono jokaiseen ulosmenolinjaan

ABC

Lähetetään vuorotellen eri jonoista.

Page 154: Internet-reititys (Routing)

2/6/01

� Hidastuspaketin vaikutuksen hitaus pitkillä linjoilla

� Ratkaisu:� ei pelkästään lähettäjälle� myös välissä olevat reitittimet alkavat hidastaa

Page 155: Internet-reititys (Routing)

2/6/01

Kuorman kevennys (Load Shedding)

� tuhotaan paketteja => kuorma kevenee� reititin täyttyy:

� mitä paketteja tuhotaan?

11 10 9 8

reititin

7 613 12

FTP: tuhotaan 8 => paketit 8-11 uudelleen tuhotaan 11 => paketti 11 uudelleenvideo: ?

Page 156: Internet-reititys (Routing)

� riippuu sovelluksesta� viini: vanha parempi kuin uusi� maito: uusi parempi kuin vanha

� eriarvoiset paketit� perusdata/muutokset� teksti / kuva

� käyttäjä ilmoittaa prioriteetin� arvokkaita ei tuhota� prioriteetin käytön valvonta: hinta/sallitun

lähetysmäärän ylittävät paketit

� paketti tuhottu, entä sanoma� mitä tehdään ko. sanomalle