Lataa esitys
Esittely latautuu. Ole hyvä ja odota
JulkaistuRaimo Karvonen Muutettu yli 9 vuotta sitten
1
3. IP-kerroksen muita protokollia ja mekanismeja
ICMP (Internet Control Message Protocol) ARP (Address Resolution Protocol) DHCP (Dynamic Host Configuration Protocol) CIDR (Classless InterDomain Routing) NAT (Network Address Translation) RIP (Routing Information Protocol) OSPF (Open Shortest Path First) BGP (Border Gateway Protocol)
2
3.1. 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 Toteutettu IP-protokollan yhteyteen
3
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
4
ICMP-sanomia Destination unreachable Time-To-Live exceeded
Parameter problem Source quench Redirect Echo request, Echo reply Timestamp request, Timestamp reply
5
Summary of ICMP 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
6
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
7
Type 11:Time-To-Live exceeded
Sanoma hävitettiin, koska sen elinaika ehti kulua umpeen Code 0 = time to live exceeded in transit; 1 = fragment reassembly time exceeded.
8
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
9
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
10
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
11
Echo-sanomat Type 0: echo reply Type 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
12
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.
13
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
14
3.2. 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
15
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
16
reitittimet eivät välitä ARP-kyselyjä
joko reititin vastaa itse ARP-kyselyihin (proxy ARP) tai muihin verkkoihin menevät paketit lähetetään oletuspaikkaan, joka huolehtii niiden lähettämisestä
17
3.3. DHCP (Dynamic Host Configuration Protocol) (RFC 2131)
IP-osoitteen antaminen koneelle DHCP-palvelin antaa koneille IP-osoitteita myös tilapäisiä IP-osoitteita DHCP- välittäjä agentti (reititin) jokaisessa lähiverkossa tuntee DHCP-palvelim osoitteen välittää oman verkon DHCP DISCOVER – paketit DHCP-palvelimelle
18
DHCP discover message: DHCP offer message
yleislähetyksenä kohde: ; lähde DHCP offer message vastauksena DHCP-palvelimelta voi tulla useita, jos useita palvelimia IP-osoite ja sen vuokra-aika (lease) DHCP request valittu osoite yleislähetyksenä DHCP ACK palvelimen kuittaus
19
aikaisempia tapoja: RARP, BOOTP
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 reititin ei välitä RARP-viestejä joka verkossa oltava oma RARP-palvelin
20
BOOTP-protokollaa käyttää UDP-viestejä, jotka reititin välittää toisiin verkkoihin lisäinformaatiota tiedostopalvelimen IP-osoite oletusreitittimen IP-osoite aliverkkomaski
21
3.4. CIDR (Classless Inter Domain Routing)
IP-osoitteiden riittävyys! C-osoitteita paljon, mutta koneosoitteita vain 256 B-osoitteessa koneosoitteita riittävästi, mutta B- osoitteita vain 65536! verkkoa jo 1996! useassa B-verkossa alle 50 konetta reititystaulujen koon kasvaminen reitittimien tunnettava kaikki verkot => laskennan monimutkaisuus, => tietojenvaihto vie paljon resursseja
22
CIDR-idea varataan C-osoitteet peräkkäisinä lohkoina
esim 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: Eurooppaan
23
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ää Muihin verkkoihin Verkko-osoite, portti Omaan (omiin) verkkoihin Oma verkko, host portti
24
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
25
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
26
Esimerkki CIDR:n käytöstä
varataan osoitteet Turun yliopisto 2048 osoitetta ja maski Helsingin yliopisto osoitetta ja maski Tampereen yliopisto 1024 osoitetta ja maski talletetaan reititystauluihin jokaisesta osoitteen alku eli kantaosoite ja maski saapuva paketti esim AND-operaatio ensin Turun maskilla jos tuloksena Turun kantaosoite, menossa Turkuun muuten yritetään muita
27
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
28
aliverkkomaski verkko-osoite aliverkko koneosoite Reitittimen reititystaulussa: verkko1, ulosmeno a …... verkkon, ulosmeno I 0, aliverkkoi, ulosmeno u ……….. 0, aliverkkok, ulosmeno v 0, tämä aliverkko, kone1 ulosmeno k ……… 0, tämä aliverkko, konen ulosmeno m
29
Aliverkkomaskin käyttö
maskin avulla osoitteesta poistetaan koneosoite AND-operaatio etsitään verkko-osoite reititystaulusta esim. paketin kohdeosoite: maski: 11 … osoite: AND: tuloksena verkko-osoite:
30
3.6. NAT (Network Address Translation, RFC3022)
yritykselle riittää muutama, jopa yksi IP-osoite, jolla kommunikoidaan ulkomaailmaan yrityksen sisällä koneilla on omat IP- osoitteet yksikäsitteisiä vain yrityksen sisällä yksityiset osoitteet: – /8 ( kpl) – (n. 1 miljoona) ( kpl)
31
palomuuri, jonka kautta kaikki liikenne sisään ja ulos kulkee
lähettäjä palomuuri, jonka kautta kaikki liikenne sisään ja ulos kulkee NAT lähettäjä
32
palomuuri, jonka kautta kaikki liikenne sisään ja ulos kulkee
vast.ottaja palomuuri, jonka kautta kaikki liikenne sisään ja ulos kulkee NAT vast.ottaja Entä, kun tulee vastaus, miten NAT osaa ohjata sen oikealle koneelle?
33
vast.ottaja ; portti 1026 indeksi porttinro IPosoite 567: : NAT vast.ottaja portti 567 vast.ottaja ; portti 567 Käytetään TCP:n ja UDP:n porttinumeroita, joilla tunnistetaan yhteyden prosessit
34
NAT:n ongelmia jokaisella koneella pitäisi olla oma IP- osoite
tuhansilla koneilla on osoite ! ei enää tilaton => yhtä haavoittuva kuin virtuaalipiiri Jos NAT kaatuu! rikkoo protokollien kerrostamista nojaa ylemmän protokollan ominaisuuksiin entä muut kuin TCP ja UDP? IP-osoite itse tekstissä säilyy ’vääränä’ korkeintaan konetta
35
3.7. Internetin reititysprotokollista
AS (autonomous system) reititys AS:n sisällä (Interior routing protocols) RIP (Routing Information Protocol), RIP2, RIPng etäisryysvektorireititysprotokolla OSPF (Open Shortest Path First) linkkitilareititysprorokolla reititys AS:ien välillä (Exterior gateway protocols) BGP (Border Gateway Protocol)
36
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 : 100. miljoonas ‘host’ Miten tämä saadaan aikaiseksi?
37
Autonominen järjestelmä (AS)
Internet on kokoelma ‘itsenäisiä’ aliverkkoja eli autonomisia järjestelmiä (AS, Autonomous System) yli 700 AS:ää 1994 joita yhdistää runkolinjat AS:n sisällä IGP (Interior Gateway Protocol) OSPF tai RIP alueiden välillä EGP (Exterior Gateway Protocol) BGP (Border Gateway Protocol)
38
Internet koostuu autonomisista systeemeistä AS (autonomous system), jotka yhdistetty runkolinja- alueella. AS 3 AS 5 AS 1 AS 0 AS 2 AS 4
39
Hierarkkinen reititys
reitityksen skaalautuvuus isossa verkossa runsaasti reitittimiä reititystaulut suuria reittien laskeminen raskasta tietopaketit kuluttavat linjakapasiteettia hierarkiaa jaetaan verkko ja sen reitittimet autonomisiin osiin AS (autonomous system) yritysten ja organisaatioiden omat verkot “A set of routers and networks under the same administration.” Kullakin AS:llä on oma 16-bittinen AS-numero.
40
AS:n yhdysreitittimet
Yhden AS:n sisällä reitittimet käyttävät samaa reititysprotokollaa OSPF, RIP,… Tärkeää on tehokkuus kukin reititin tuntee kaikki muut tämän AS:n reitittimet ja saa niiltä reititystietoja tietää mikä reititin tai mitkä reitittimet (gateway router) hoitavat liikenteen muihin AS:iin AS:n yhdysreitittimet
41
AS:ien välillä yhdysreitittimet vaihtavat reititystietoja eri AS:ien välillä käyttäen toisenlaista reititysprotokollaa esim. BGP (Border Gateway Protocol) Muut seikat kuin tehokkuus ovat tärkeämpiä Toimintapolitiikkaan liittyvät Luotettavuus ja turvallisuus Lait ja määräykset kustannukset
42
AS:ien alueet Monet AS:t ovat usein hyvin laajoja
=> voidaan jakaa alueiksi (areas) verkko tai verkkojoukko alueen ulkopuolella sen topologia ei näy jokainen alue laskee omat reititystietonsa sama algoritmi, mutta eri kopio ja eri tilatiedot jokaisessa AS:ssä runkolinja-alue alue 0 kaikki alueet kiinni runkolinjassa ja liikenne alueelta toiselle käy aina runkolinjan kautta
43
Iso AS voi koostua useasta alueesta.
44
Erilaisia reititintyyppejä
sisäinen reititin alueen sisäisiä alueen reunareititin sekä alueessa että runkolinjassa runkolinjareititin runkolinjaan kuuluvia AS:n yhdysreititin runkolinjan reitin, joka on yhteydessä muiden AS:ien reitittimiin
45
AS-yhdysreititin Alueen reunareititin Runkolinja reitittimiä Area 3 Area 2 Area 1 Alueiden sisäisiä reitittimiä
46
Reitittimien toiminta
Alueen sisällä kaikilla reitittimillä sama linkkitilatietokanta sama lyhimmän polun algoritmi reititin laskee lyhimmän polun kaikkiin muihin alueen reitittimiin Alueiden välillä reitittimillä on useita kopioita samasta reititysalgoritmista yksi kutakin aluettaan varten
47
AS:ien välillä AS:eissä voidaan käyttää erilaisia reititysprotokollia
linkkitilareititystä tai etäisyysvektorireititystä eri metriikat erilaiset tavat kerätä ja vaihtaa tietoja tarvitaan jokin yhteinen reititysptotokolla, jolla yhdysreitittimet voivat vaihtaa reititystietoja esim. BGP
48
Reitittimien toiminta
reititin tulvittamalla tai vaihtamalla tietoja naapureittensa muiden välittää alueensa kaikille muille reitittimille naapurinsa kustannustiedot (monta erilaista) joko suoraan tai välittäjäreitittimien avulla muodostaa etäisyysverkon ja laskee lyhimmät reitit alueensa /alueittensa sisällä
49
runkoverkon reititin lisäksi
saa alueiden reunareitittimiltä tietoja, joista laskee parhaat reitit runkoverkon reitittimistä kaikkiin muihin reitittimiin palauttaa tiedot reunareitittimille, jotka levittävät ne alueensa sisäisille reitittimille alueen sisäinen reititin reititys alueen sisällä alueiden välillä => sopiva runkoverkon reititin
50
AS:n rajareititin vaihtaa reititystietoja muiden AS:ien rajareitittimien kanssa välittää muille reitittimille AS:ien välillä käyttää BGP-reititystä
51
Hierarkkinen reititystietojen vaihto
B:n viereiset reitittimet: kaikki L2:n reitittimet, A ja C A:n viereiset reitittimet: kaikki L1: n reitittimet, B ja D L2 L1 B A Hierarkkinen reititystietojen vaihto A, B, C ja D välittäjäreittimiä C D L3 C: osa L3:n reititti- mistä, D ja B D: loput L3:n reitittimistä, C ja A
52
E on AS-yhdysreititin, joka tietää reitit muihin AS:iin
ra mittaa etäisyydet naapureihinsa rb:hen ja rd:hen ja lähettää tiedot A:lle E L2 L1 r b ra B A rc rd re A saa myös tiedot muiden alueiden etäisyyksistä B:ltä ja D:ltä ==> ra:lle => ra tietää kumpaa reititintä rb vai rd tulee kulloinkin käyttää A saa tiedot etäisyyksistä kaikilta L1:n reitittimiltä ja välittää tiedot muille => ra osaa laskea etäisyydet muihin L1:n reitittimiin C D L3
53
tarvitaan kolmenlaisia reittejä
alueen sisäisiä reititin itse tietää lyhyimmän reitin alueiden välisiä alueiden väliset reitit kulkevat aina runkolinjaa pitkin reititin tietää lyhyimmän reitin runkolinjaan alueeseen AS:ien välisiä Näistä huolehtivat AS-yhdysreitittimet esim. BGP-protokollalla AS-yhdysreitittimet tietävät reitin muihin AS:iin yleensä AS-runkolinjan kautta
54
Yleisesti käytetyt reititysalgoritmit
Etäisyysvektorireititys (Distance Vector Routing) ARPA-verkon alkuperäinen reititysalgoritmi Internetin RIP-algoritmi Ciscon IGRP ja EIGRP (mm. useita eri kustannusmittoja) linkkitilareititys (Link State Routing) ARPA-verkon reititysalgoritmi vuodesta 1979 Internetin OSPF-algoritmi ISO:n IS-IS (Intermediate System to Intermediate System) “IS-IS = 0”
55
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.
56
x ratkaisu ei toimi aina Linkki CD katkeaa, B A ja B ilmoittavat C:lle
ettei 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 B A C x D
57
RIP-reititysprotokollia
etäisyysvektorireititys autonomisen alueen sisäinen protokolla naapurit vaihtavat reititystietoja keskenään Counting to Infitity Split Horizon Triggered Updates RIPv1 RIPv2 RIPng
58
RIP-1 (RFC 1058) joka linkillä kustannus 1
hyppyjä: 1-15 hyppyä maksimi 15 => korkeintaan 15 hypyn matka mahdollinen reititystietojen vaihto naapureiden kanssa RIP response message (advertisement) yleislähetyksenä (broadcast), jos mahdollista n. 30 s välein. Jos naapuri ei lähettele 180 s sisällä, linkin oletetaan olevan poikki. UDP-protokollaa käyttäen RIP on toteutettu sovelluskerroksen prosessina ja siis sovelluskerroksen protokolla, joka käyttää UDP-porttia 520 sanomien lähettämiseen ja vastaanottoon
59
RIP-sanoman muoto Command version 0 RIP- entry IP address metric
Address family identif. = IP address metric 0 …..… … …………… … … RIP- entry Command = sanoman tyyppi: 1= pyyntö (request), 2 = vastaus (response) Address family identifier = peruja UNIX-BSD:ssä käytetystä osoitustavasta; ajatuksena toteuttaa RIP muihin osoitusmuotoihin (esim. X.25, XNS) metric = kustannus hyppyinä ; max. = 16 eli ääretön
60
RIP:n toiminta Normaalisti lähetetään vastauksia 30 sekunnin välein
kun omassa taulussa muutoksia peräkkäisetei muutokset vasta 1-5 sekunnin kuluttua, jotta ei syntyisi ‘päivitystulvaa’ Reititin käsittelee saamansa vastaukset yhden kerrallaan Kohteen osoite etäisyysmitta seuraava reititin äsken päivitetty useita ajastimia U(ppdated) , 12, …… … …… … …..
61
Yhdessä sanomassa korkeintaan 25 alkion tiedot (512 tavua)
tarvittaessa useita peräkkäisiä sanomia Reititystietopyyntö, kun reititin aloittaa toimintansa koko reititystaulun sisältö osoitteena (default osoite) ja kustannuksena ‘ääretön’ normaali operaatio tietyt reitit kyselyssä ilmoitettuihin osoitteisiin lähinnä vikojen selvittämisessä
62
RIP-2 (RFC 2453) tehokkaampi koodaus aliverkkoreititys autentikointi
ei turhien nollakenttien lähettämistä aliverkkoreititys RIP-1: aliverkot eivät näy ulospäin RIP-2: aliverkkomaski osoitteen mukana => CIDR autentikointi RIP-1 luotti porttiin 520, jota sai käyttää vain etuoikeutettu käyttäjä RIP-2: ensimmäinen alkio voi olla autentikointisegementti Next Hop, monilähetys RIP-1: yleislähetys
63
RIP-2-sanoman otsake Command version Address family identif Route Tag IP address Subnet Mask Next Hop metric 0 …..… … …………… … … RIP- entry …. - Subnet Mask = aliverkkojen käsittelyyn verkon ulkopuolella
64
Next Hop -kenttä AS X AS Y Ethernet-kaapeli tms. A B C
Ongelma: A:lta paketti F:lle: - ensin D:lle joka siirtää F:lle eli paketti kulkee kaksi kertaa samaa kaapelia! D E F Ratkaisu: D ilmoittaa kustannuksen lisäksi suoraan seuraavan kohteen (next hop) (‘Kustannus D:n kautta F:ään on xyz, mutta paras lähettää suoraan E:lle.’)
65
RIP-2: sanoman autentikointisegmentti
0 …..… … …………… … … Command version Routing Domain 0xFFFF AuthenticationType Autentikointidataa 1. RIP- entry …. salasana selväkielisenä tai salakirjoitettuna (RFC 2082) myös tehokkaampia suojauksia
66
RIPng (RFC 2080) ja muita parannuksia
RIP-protokollan käyttö IPv6:n kanssa parannetut turvapiirteet Käytössä IPv6 turvapiirteet päivitystahdistumisen estäminen päivitysten kuittaukset => vähemmän lähettämistä useiden eri kustannusmittojen käyttö “count-to-infinity”-ongelma ‘source-tracing’-algoritmi, joka etsii silmukat iteratiivisesti ‘turhaa hyvän ja yksinkertaisen protokollan monimutkaistamista?’
67
Linkkitilareititys Globaali reititysalgoritmi
Kullakin reitittimellä käytössään koko verkon informaatio tästä lasketaan hajautetusti tai keskitetysti parhaat reitit monimutkainen algoritmi => paljon laajempi standardi
68
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
69
väärin toimiva reititin
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
70
OSPF (Open Shortest Path First)
linkkitilaprotokolla tavoitteet: avoin (eli julkinen) erilaisia eäisyysmittoja dynaaminen algoritmi myös palvelutyyppiin (TOS) perustava reititys kyettävä kuorman tasoittamiseen ja usean reitin käyttämiseen hierarkkinen reititys suojauspiirteitä myös tunneloinnilla yhdistetyt reitittimet
71
eri reitit voivat olla ‘yhtä pitkiä’
=> liikenne voidaan reitittää usean reitin yli => kuormituksen tasapainoitus eikä välttämättä kaikkia paketteja lähetetä samaa reittiä osa parasta reittiä osa toiseksi parasta lopputulos voi olla parempi
72
OSPF:n käyttöalueet: kahden reitittimen välinen kaksipisteyhteys
monen reitittimen yleislähetysverkot esim. useimmat lähiverkot (LAN) monen reitittimen verkot, joissa ei ole yleislähetystä useimmat laajaverkot (WAN)
73
Verkosta tehdään malli (suunnattu verkko)
reitittimet ja verkot solmuina, niiden väliset linjat kaarina kaarilla kustannuksina etäisyys, kustannus, luotettavuus multiaccess-verkkoa vastaa oma solmu, josta kustannus reitittimeen on nolla mallilla lasketaan lyhyin reitti kaikkien reititinparien välille eri etäisyysmitoille omat reitit
74
OSPF:n toiminta reititystietojen vaihto
linkkitilaviestejä säännöllisin väliajoin ja topologian muuttuessa viestit tulvitetaan, viestit numeroidaan, viestit kuitataan viestit ohjataan valitulle (designed) välittäjäreitittimelle kommunikoi LAN:n tai alueen muiden reitittimien kanssa; kerää tiedot ja välittää ne eteenpäin jokainen reititin ei lähetä jokaiselle, vaan omalle välittäjäreitittimelleen vähentää viestien määrää: n(n-1)/2 ==> 2(n-1), jos n =20, niin 20*19/2 = 190 ja 2*19 = 38!
75
Välittäjäreititin Välittäjä valitaan Hello-protokollalla
välittäjäreititin vähentää tulvituspaketteja riittää ensin lähettää monilähetyksenä välittäjäreitittimille osoite => kaikille välittäjäreitittimille tarvittaessa välittäjäreititin monilähettää kaikille OSPF-reitittimille ( ) Entä, kun välittäjäreititin kaatuu? valitaan myös varavälittäjä, joka vastaanottaa monilähetyspaketteja, mutta ei vastaa mihinkään välittäjän kaatuminen havaitaan Hello-protokollalla
76
OSPF-sanomat hello link state update link state ack
naapurien selvillesaaminen link state update omien linkkikustannusten lähettäminen link state ack vastaanotettujen linkkikustannusten kuittaus database description tietokannan ajantasaisuuden selvittäminen link state request toisen linkkikustannusten kysyminen
77
OSPF-paketin otsake Versio # type packet length Router ID Area ID
Authentication Checksum Autype (= Autentikointialgoritmi)
78
Hello-paketti OSPF packet header, type = 1 (hello) Network mask
Hello interval options priority Dead interval Designated router Backup designated router Neighbor
79
Hello-paketin kentät Network mask = liitäntäkortin aliverkkomaski
Hello interval = hello-sanomien lähetysväli Options: T-bitti => TOS-reitityskykyinen E-bitti = ulkoisten reittien vastaanotto ja lähetys Priority: reitittimen prioriteetti 0-255 välittäjäksi korkeimman prioriteetin reititin; jos sama arvo usealla, niin suurin ID-numero valitaan Dead interval jos tässä ajassa ei tule hello-sanomaa, merkitään ‘kuolleiden’ listaan
80
Hello-paketin kentät jatkuvat
Designated router Backup desigated router reititin ilmoittaa haluavansa toimia välittäjäreitittimenä tai varavälittäjäreitittimenä valintaa suoritetaan jatkuvasti ja joka hello-sanomassa reititin muistaa, ketkä ilmoittautuneet välittäjiksi Neigbor Näiltä on jo saatu HELLO-paketti
81
Tilatietojen vaihto database description
Asymmetrinen: isäntä ja orja Ensin sovitaan roolit ja sitten isäntä kertoo dd- paketeissaan tietokantansa tietueista ja orja omistaan saamiensa dd-pakettien kuittauksissa ‘Näistä minulla on tietoa.’ Jos toisella on sellaista tietoa, mitä itseltä ei löydy, niin sitä pyydetään Link state request81
82
Linkin tila muuttuu tieto tästä (ilmoitus) tulvitetaan muille
Link state update Pidetään kirjaa jo nähdyistä Ilmoitukset kuitataan Link state ack Kuitataan monia tilatietoja yhdellä kertaa Välittäjäreitittimen lähetyksen kuulee myös alkuperäinen lähettäjä Yleislähetys “ kaikki OSPF-reitittimet
83
BGP (Border Gateway Protocol) (RFC 1771)
AS:ien välillä otettava huomioon eri AS:ien politiikat AS:ien sisällä tärkeintä tehokkuus AS:ien välillä toimintapolitiikka kieltoja tai suosituksia reitittää tiettyjen AS:ien kautta politiikat manuaalisesti BGP-reitittimiin hyvin erilaisia sääntöjä: politiikka, turvallisuus, taloudellisuus ‘Kanadasta Kanadaan ei saa lähettää USA:n kautta.’ ‘AS xyz ei hyväksy transit-liikennettä.’ ‘Pentagonista lähteviä paketteja ei reititetä Irakin kautta.’ ‘Viikonloppuisin käytetään reittiä abc.’
84
BGP (jatkuu) pohjimmiltaan etäisyysvektoriprotokolla
polkuvektori tallettaa kunkin reitin koko polun ei kustannustietoja, vaan polulla olevat AS:t havaitaan mahdolliset silmukat! kertoo naapureilleen käyttämänsä reitin hylkää itsensä kautta kulkevat reitit, jotta ei synny silmukoita keino välittää reitti-informaatioita ei määrää, kuinka reiteistä valitaan oikea reitti kukin AS voi valita reittinsä, miten haluaa
85
BGP näkee verkon joukkona AS:iä
jokaisella AS:lla oma tunnus (ASN) reitittimellä on reititystaulussaan reittejä sen tuntemiin AS:iin esim. AS X:ään , Y:hyn ja Z:aan B D F X B G I K X F C A H P Y S Y E C A Z
86
BGP:n toiminta reitti-ilmoitusten vastaanottaminen naapureilta (’lupauksia’) silmukoiden poistaminen ei-toivotut AS:t reitin valinta reititysmekanismi reitityspolitiikka politiikkaratkaisut hallinnon asia Reitti-ilmoitusten lähettäminen naapureille Mitä kellekin ilmoitetaan
87
Reittien salaaminen M ei kerro H:lle reittiä itsensä kautta H M
M kertoo kyllä J:lle J ja J kertoo H:lle J
88
BGP-sanomat OPEN ‘esittelysanoma’: tunnus + autentikointitiedot (vrt. OSPF:n Hello) ja ajastintietoja KEEPALIVE lähettäjä ‘elossa’, mutta sillä ei ole mitään lähetettävää toimii myös kuittauksena OPEN-sanomalle UPDATE ilmoitetaan uusia reittejä ja poistetaan vanhoja NOTIFICATION ilmoitus virheestä ilmoitus BGP-istunnon lopettamisesta
89
Sanomien lähettämiseen käytetään TCP:tä
ruuhkavalvonta, hidas aloitus sanomille korkea prioriteetti muutospäivitykset = lähetetään vain muutokset Reittien valinta arvioidaan reitit: ‘local preferance’ -metric kielletyt AS:t epävarmat tai saavuttamattomat yhteydet polun AS:ien määrä jne. valitaan sopivin reitti ilmoitetaan paras reitti AS:n muille reitittimille
90
I-BGP Edellä esitelty E-BGP (External-BGP)
Tarvitaan myös I-BGP (Internal-BGP) Kertoo AS:n sisällä reitit muihin AS:iin Voidaan toteuttaa myös oletusreiteillä I-BGP:t AS:n sisällä toistensa ‘naapureita’ = vaihtavat tietoja keskenään Rajoituksia sille, mitä reittejä saa ilmoitella muille
91
4. Monilähetysreititys Paketti lähetetään usealle vastaanottajalle
Miksi? Monet sovellukset hyötyvät ohjelmistopäivitykset WWW-välimuistien päivitykset etäopetus, virtuaalikoulu videoiden, äänitteiden lähetys interaktiiviset pelit Mitä hyötyä? Nopeus, tehokkuus
92
paketti monelle vastaanottajalle
useita kaksipistelähetyksiä: kaikille oma paketti tulvitus multidestination routing: kohteet lueteltu paketissa, reititin kopioi kaikkiin tarpeellisiin ulosmenoihin lähettäjän virittävä puu (spanning tree) ei silmukoita yhteinen tai jokaiselle lähettäjälle oma puu reverse path -algoritmi (käänteinen polku) estimoi virittävää puuta
93
Monilähetys Monilähetysryhmä Monilähetyksen reitittäminen
ryhmäosoite (Luokan D osoite) vastaanottajaryhmän hallinta ryhmien muodostus, poistaminen vastaanottajien lisääminen, poistaminen Monilähetyksen reitittäminen reitittimet tietävät ketkä kuuluvat mihinkin ryhmään laskevat lyhimmät reitit vastaanottajiin ohjaavat reititystaulujensa avulla paketit vastaanottajille
94
IGMP (Internet Group Management Protocol) (RFC 2236)
Monilähetysryhmien hallinta IGMP isäntäkoneen ja sen lähimmän reitittimen välillä isäntäkone ilmoittaa itsensä jäseneksi tiettyyn ryhmään isäntäkone poistaa itsensä ryhmästä monilähetysreititysalgoritmi reitittimien välillä monilähetysten koordinoimiseksi esim. PIM, DVMRP, MOSPF huom! ryhmän isäntäkoneiden välillä ei ole mitään protokollaa eivät tiedä, ketkä muut kuuluvat ryhmään
95
D-osoitteet monilähetykset D-osoitetta käyttäen pysyviä ryhmiä
28 bittiä => yli 250 miljoonaa ryhmäosoitetta perilletoimitus ‘best effort’ pysyviä ryhmiä kaikki lähiverkossa kaikki reitittimet lähiverkossa kaikki OSPF-reitittimet lähiverkossa kaikki ‘designated’ OSPF-reitittimet lähiverkossa tilapäisiä ryhmiä
96
IGMP:n toimintaperiaate
kysely/vastaus monilähetysreitittimet kyselevät noin minuutin välein kysyvät kaikilta koneiltaan, mihin ryhmiin kuuluvat osoitteella koneet vastaavat ilmoittamalla kaikkien niiden ryhmien D-osoitteet, joihin jokin niiden sovellus on liittynyt kysely vastaus router host
97
IGMP-sanomat Kyselyillä maksimivastausaika Membership query
general: mihin ryhmiin kuuluvia? specific: onko tiettyyn ryhmään kuuluvia? Kyselyillä maksimivastausaika Membership report kone haluaa liittyä tai on liittynyt ilmoitettuun ryhmään Leave group kone ilmoittaa poistuvansa ryhmästä vapaaehtoinen! Jos ei vastaa kyselyihin, ei ole enää mukana => jäsenyyden voimassaololle aikaraja
98
IGMP-sanoma Type max. response checksum time Multicast Group Address
Type = mikä sanoma kyseessä max. response time = maksimivastausaika kyselyissä Checksum = taskistussumma Multicast Group Address = monilähetysryhmän osoite
99
Maksimivastausaika? => vastausten määrä pienenee
Optimointia varten, esim. LAN-verkoissa, joissa kaikki kuulevat kaikki sanomat reititin haluaa tietää vain onko kukaan sen LANin koneista kiinnostunut tietystä ryhmästä ei sitä ketkä koneista haluavat ryhmän jäseniksi ei edes montako sen koneista on tietyn ryhmän jäseninä koneet vastaavat satunnaisen ajan kuluttua jos joku muu kone jo vastannut, ei enää vastaa => vastausten määrä pienenee
100
Internetin monilähetyspalvelumalli
Kone ilmoittaa omalle reitittimelleen haluavansa liittyvä tiettyyn ryhmään IGMP:n membership_report-sanomalla Reitittimet alkavat välittää koneelle tämän ryhmän viestejä vastaanottajavetoinen (receiver-driven) Lähettäjä ei pidä kirjaa ryhmän jäsenistä eikä tiedä kenelle kaikille viesti menee. Kuka tahansa voi toimia lähettäjänä eri lähettäjien sanomat tulevat sekaisin Monilähetysosoitteita ei koordinoida verkkotasolla eri ryhmille voidaan valita sama osoite
101
Monilähetysreititys (multicast routing)
Ongelma: Reitittimien on kyettävä rakentamaan ‘optimaaliset’ reitit ryhmän kaikille vastaanottajille kun mikä tahansa kone voi toimia lähettäjänä ryhmään voi kuulua eri määrä vastaanottajia lähes kaikki isäntäkoneet vain muutama isäntäkone ryhmän jäsennyys voi olla hyvin dynaamista Tavoitteena on löytää mahdollisimman optimaalinen linkkipuu, joka yhdistää kaikki ryhmän jäsenet sanomien reititys puun linkkejä pitkin
102
A, B, E ja F: reitittimillä ryhmän jäseniä
C C ja D: reitittimillä ei ole ryhmän jäseniä D F E
103
Monireitityspuun rakentaminen
Kaksi erilaista lähestymistapaa yksi puu koko ryhmälle (group shared tree) kuka tahansa toimii lähettäjänä, niin reitityksessä käytetään samaa puuta jokaiselle lähettäjälle oma puu (source-based tree) jos ryhmässä on n jäsentä, niin muodostetaan n eri puuta jokaisen lähettäjän sanomat reititetään sen oman linkkipuun avulla
104
Yksi puu koko ryhmälle A, B, E ja F: reitittimillä ryhmän jäseniä A B
C C ja D: reitittimillä ei ole ryhmän jäseniä D F E reitityslinkki
105
Eri lähettäjille omat puut
A, B, E ja F :reitittimillä ryhmän jäseniä A B C ja D: reitittimillä ei ole ryhmän jäseniä C D A:n lähettäessä B:n lähettäessä F E
106
Reititys käyttäen yhtä puuta koko ryhmälle
Löydettävä puu, joka yhdistää kaikki ryhmän reitittimet mukana myös muita reitittimiä puun kustannus on sen linkkien kustannusten summa pienimmän kustannuksen puu 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 jo muutenkin laskettujen kustannusten hyödyntäminen
107
Pienimmän kustannuksen monilähetyspuu
A, B, E ja F: reitittimillä ryhmän jäseniä A 4 3 2 B C 1 C ja D: reitittimillä ei ole ryhmän jäseniä 2 2 D F 1 E 1
108
Keskuspohjainen reititys (Center-based routing)
Ryhmän puun keskuksena on jokin solmu, johon muut myöhemmin liittyvät ensin saadaan selville keskussolmu muut liittyvät siihen JOIN-sanomilla yksilähetyksiä keskussolmulle Miten keskussolmu valitaan? Valitaan siten, että puu on melko lähellä optimia
109
Keskuspohjainen monilähetyspuu
A, B, E ja F: reitittimillä ryhmän jäseniä A 4 C ja D: reitittimillä ei ole ryhmän jäseniä 3 3. 2 B C 1 2. Ratkaisevaa on keskussolmun järkevä valinta 2 2 D F 1 1 E G 1.
110
Jokaiselle lähettäjälle oma puu
Tavallisessa reitityksessä jo yleensä lasketaan pienimmän kustannuksen puu lähettäjältä muihin solmuihin Dijkstra => reititystaulu least unicast-cost path tree = näiden polkujen yhdistelmä 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
111
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
112
lähettäjä ryhmän jäsen ei ole jäsen A C B pruning: ’Älä turhaan lähetä tänne!’ F E D G
113
Monilähetysreititys Internetissä
DVMRP (Distance Vector Multicast Routing Protocol) (RFC 1075) kullekin lähteelle oma puu käyttäen ‘reverse path forwarding’-menetelmää ja karsimista (pruning) ja lisäämistä (graft) etäisyysvetrorialgoritmin avulla kukin reititin laskee lyhyimmän polun jokaiseen mahdolliseen lähteeseen ja tallettaa linkin (next hop) tieto puussa ‘alavirtaan’ sijaitsevista reitittimistä, jotta tiedetään, milloin haara voidaan karsia kun kaikki reitittimet ilmoittavat, etteivät enää ole kiinnostuneita
114
Muita MOSPF (Multicast Open Shortest Path First) (RFC 1584)
OSPF:ää käyttävissä AS:issä linkkitilailmoituksissa myös tieto monilähetysryhmien jäsennyydestä kaikki reitittimet tietävät, mihin monilähetysryhmiin muiden reittimien isäntäkoneet kuuluvat voivat laskea kullekin lähteelle oman ennaltakarsitun lyhyimmän polun puun kullekin monilähetysryhmälle
115
Muita monilähetysprotokollia: CBT
CBT (Core-based Trees) (RFC 2201, RFC 2189) kaksisuuntainen yhteiskäyttöinen puu, jossa yksi keskus sanomia JOIN_REQUEST keskussolmulle, kun haluaa liittyä ryhmään JOIN_ACK keskussolmu tai lähin jo ryhmässä oleva reititin ECHO_REQUEST vieläkö mukana ryhmässä ECHO_REPLY vielä mukana FLUSH_TREE poistetaan ryhmästä
116
Muita: PIM PIM (Protocol Independent Multicast) (RFC 2362)
dense mode ~ DVMRP tulvita ja karsi sopii hyvin, jos vastaanottajia on ‘tiheään’ sparse mode ~ CBT JOIN-sanomia, jotka ohjataan yksilähetyksenä keskussolmuun polulla olevat reitittimet monilähetysmoodiin keskussolmu lähettää monilähetyksenä muille yksi puu <=> lähettäjälle oma puu
117
4.3 Mobile IP IP-reititys IP-osoitteen perusteella
koneen osoite riippuu verkosta, jossa kone sijaitsee kun kone siirtyy toiseen verkkoon tilapäisesti, osoite ei ole enää voimassa koneelle uusi osoite tässä verkossa? Tieto uudesta osoitteesta muille? TCP-yhteys katkeaa saumaton siirtyminen tuntumattomasti ei ole mahdollinen kaikille koneille verkosta riippumaton osoite?
118
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
119
Liikkuvien isäntäkoneiden reititys
liikkuva kone (mobile host) kotiosoite (home address, home location) pysyvä osoite omassa verkossa, aina tavoitettavissa tällä osoitteella kotiagentti (home agent) tietää, missä omat liikkuvat ovat jos ei liikkuva kone ei ole kotiverkossa, kotiagentti osaa ohjata sille tulevat sanomat liikkuvan uuteen osoitteeseen
120
vierasagentille (foreign agent)
kun liikkuva kone ilmaantuu vieraalle alueelle, se rekisteröityy alueen vierasagentille (foreign agent) joka hoitaa alueelle tulleet vieraat liikkuvat antaa niille osoitteen (care of address) tämän verkon osoite tarkistaa vieraan tiedot sen kotiagentilta ilmoittaa kotiagentille koneen uuden osoitteen näin kotiagentti tietää uuden sijainnin
121
Uudelle alueelle rekisteröinti
Koti- agentti Vieras- agentti Rekisteröinti- pyyntö Pyynnön välitys Käsittelee pyynnön ja vastauksen Sallii tai kieltää vastaus Vastaus koneelle
122
Rekisteröintipyyntö sisältää:
sanoman tyypin (1) lippuja, mm. haluttu tunnelointitapa rekisteröinnin keston koneen kotiosoitteen, kotiagentin osoitteen ja koneen vierasverkon osoitteen rekisteröintipyynnön tunnisteen laajennuksia, mm. autentikointilaajennus
123
Rekisteröintivastauksessa:
Sanoman tyyppi (3) hyväksyttiinkö vai hylättiinkö rekisteröintipyyntö, kuka hylkäsi kotiagentti vai vierasgentti hyväksytty rekisteröinnin kesto pyynnön tunniste liittää vastauksen pyyntöön laajennusosia mm. autentikointi
124
Rekisteröinnissä ongelma on turvallisuus
Tekeytyminen vierasagentiksi haluaa kaapata koneen liikenteen tehokas autentikointi estää autentikoinnin laajennusosa MN -->FA, MN --> HA, FA --> HA vanhojen rekisteröintipyyntöjen lähettäminen kotiagentille kotiagentille väärä osoite => koneelle ei voi lähettää kotiosoitteella pyyntöihin aikaleimat
125
Agentin löytäminen verkosta
Agentit ilmoittelevat itsestään säännöllisin välein ilmoituksissa reitittimen osoite rekisteröinnin kesto joukko lippuja: toimiiko vieras- vai kotiagenttina, onko kiireinen, millaista kapselointia kykenee käyttämään vierasosoitteita, vähintään yksi ilmoitusten avulla kone havaitsee siirtyneensä toiseen verkkoon agentin osoite vaihtuu => uudelleenrekisteröinti kotiverkossa, kun saa ilmoituksia omalta kotiagentiltaan peruutettava rekisteröinti
126
Liikkuva kone kysyy itse agenttia
huomaa liikkuneensa toiseen verkkoon, kun alkaa saada sanomia toisella taajuudella lähettää verkkoon kyselypyynnön, johon agentti vastaa ilmoituksella suoraan kyselevälle koneelle
127
Sanoman reititys vieraassa verkossa olevalle koneelle
CN Vastaus suoraan Normaali IP-reititys Vieras- verkko tunnelointi HA FA MN Kotiverkko FA vierasagentti HA kotiagentti MN liikkuva kone CN kommunikoiva kone
128
Kotiagentti välittäjänä
Kun paketti lähetetään liikkuvalle, se ohjautuu IP-osoitteen perusteella kotiverkkoon. Kotiagentti ottaa paketin itselleen. Se tietää vastaanottajan nykyisen sijainnin ja ohjaa paketin sinne. Käytetään IP-tunnelointia uusi osoite COA on usein FA:n valvoma osoite Lähde = CD, Kohde =MN Protocol = TCP Lähde=HA, Kohde= COA, protocol= IP in IP (4) TCP-otsake + data Uusi IP-otsake alkuperäinen IP-paketti
129
Toiminta eetteriverkossa
CN R HA MN CN R HA MN Normaali reititys Kotiagentti tunneloi sanoman MN:lle
130
Kun joku lähettää liikkuvalle paketin
se tulee ensin reitittimelle reititin kysyy vastaanottajan LAN-osoitetta ARP:illa jos liikkuva on kotiverkossaan, se vastaa ja ilmoittaa oman koneosoitteensa muuten kotiagentti vastaa omalla osoitteellaan ja saa paketin kotiagentti lähettää tunneloinnilla vierasosoitteeseen (yleensä vierasagentin oma osoite) vierasagentti kysyy ARP:lla vierailijan LAN- osoitetta (‘koneosoitetta’) Ja lähettää sanoman vierailevalle koneelle.
131
Ongelma: CN MN On vasta siirtymässä uuteen paikkaan eikä ole vielä ehtinyt ilmoittaa uutta osoitettaan Vastaanottajaa ei ole enää tässä verkossa => paketit katoavat R FA ?? HA ??
132
Entä jos vierasverkossa ei ole FA:ta?
MN saa tilapäisen IP-osoitteen verkkoon PPP- tai DHCP-protokollalla käyttäen tätä osoitetta COA-osoitteena se voi itse toimia omana FA:na Ongelmia: tunnelointi lisää yleisarasitetta (ylim. IP-otsake) ja viimeinen linkki on hidas radiolinkki liikkuvat tarvitsevat paljon tilapäisiä IP-osoitteita => osoitteet voivat loppua poistuva kone ei aina ilmoita lähdöstään kun kone poistuu, FA katoaa ja matkalla olevat paketit varmasti katoavat
133
Monilähetys vierasverkossa olevalle koneelle
HA ohjaa yksitellen kaikki lähetykset tehotonta, voi aiheuttaa turhaa kuormitusta voi aiheuttaa turhaa monilähetystä tai sitten sanomaa ei toimiteta MN:lle tunnelointi FA HA Yleislähetys vierasverkossa Yleislähetys kotiverkossa MN
134
Monilähetys vierasverkossa olevalle koneelle
Jos käytössä verkon FA:aa, niin käytetään kaksoiskapselointia: HA tietää rekisteröintitiedoista, käyttääkö MN FA:ta vai toimiiko itse oman FA:naan Source=CN, Dest =broadcast, Protocol=UDP Source=HA, Dest=COA, Protocol= encaps Source=HA, Dest=MN, Protocol= encaps UDP header + data Uusi IP-otsake kaksoiskapselointi alkuperäinen monilähetys Järkevämpää tosin olisi rekisteröityä monilähetysryhmään uudelleen vierasverkossa!!
135
Mobile IPv6 Osoitteita riittää Ei tarvita erityistä vierasagenttia
vierailijat tarvitsevat IP-osoitteita vierailunsa aikana Ei tarvita erityistä vierasagenttia MN toimii yleensä itse omana vierasagenttinaan neighbor discovery stateless address autoconfiguration Paremmat turvallisuuspiirteet mm. estämään väärennetyt osoitemuutokset ja toistohyökkäykset (replay attack)
136
Tehokkaampi kotiagentin löytäminen
Reitin optimointi turvalaajennoksen avulla MN voi ilmoittaa oman uuden osoitteensa suoraan lähettäjille binding updates/acks/requests kolmioreititystä ei tarvitse turvattomuuden takia käyttää Route Optimization Tehokkaampi kotiagentin löytäminen Dynamic Home Agent Discovery lähetetään Binding Update-sanoma kotiagenteille anycast- osoitteella, jolloin vain yksi ehkä useasta kotiagentista vastaa. Kotiagentin osoite voi olla muuttunut poissaolon aikana lähdereititysotsakkeen avulla saadaan tehokas kapselointi two-hop source route Filteroivien palomuurien läpäisy
137
5. 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
138
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?
139
=> ruuhkaa jos ==> C1 C2 C3 C4 ==>
140
ruuhkan valvonta <=> vuon valvonta
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
141
‘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
142
‘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
143
lähetyskäyttäytymisen muuttaminen ruuhkan vähentämiseksi
liian hidas reagointi => ruuhka kasvaa liian nopea reagointi => heiluriliikettä
144
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
145
Ruuhkanvälttämispolitiikat
siirtoyhteyskerros uudelleenlähetyspolitiikka epäjärjestyksessä saapuneiden talletuspolitiikka kuittauspolitiikka, vuon valvontapolitiikka, verkkokerros virtuaalipiiri <=> tietosähke pakettien jonotuspolitiikka pakettien poistamispolitiikka reititysalgoritmi pakettien elinikä
146
kuljetuskerros uudelleenlähetyspolitiikka
epäjärjestyksessä saapuneiden talletuspolitiikka kuittauspolitiikka vuon valvontapolitiikka ajastinaikojen asetukset
147
Päästäpäähän ruuhkanvalvonta (end-to-end)
TCP käyttää Kaikki tieto lähettäjän ja vastaanottajan välillä Verkkokerros ei anna mitään lisätietoa eikä avusta ruuhkanvalvonnassa IP-kerros ei välitä ruuhkainformaatiota Poikkeuksena ehdotettu ECN ja RED-jono
148
Verkonavustama ruuhkanvalvonta
Reitittimet antavat lähettäjille tietoa verkon ruuhkautumisesta Yksittäinen bitti kertoo ruuhkasta linkissä Reititin kertoo, millä nopeudella linkillä voi lähettää Tieto voidaan lähettää suoraan lähettäjälle Hillintäpaketti (Choke packet) tai liittää se vastaanottajalle menevään pakettiin ECN-ehdotus Hitaaampi tapa
149
Atm ABR ruuhkanvalvonta
ABR (available bit rate) Atm-soluja (‘pieniä paketteja’) kuljetetaan lähettäjältä vastaanottajalle useiden kytkimien (‘reitittimien’) läpi. Soluvirrassa on datasolujen lisäksi erityisiä hallintasoluja RM-soluja Välittävät mm. ruuhkaan liittyviä tietoja reitittimien ja isäntäkoneiden välillä
150
Tieto ensin vastaanottajalle
RM RM RM RM RM RM RM RM RM
151
Tieto suoraan lähettäjälle
RM RM RM
152
Lähetysnopeuteen perustuva
sovitaan tietystä lähetysmäärästä vastaanottajalle tietoa ruuhkasta EFCI-bitti (explicit forward congestion indication bit) ilmoittaa vastaanottajlle ruuhkasta; ruuhkautunut reititin asettaa vastaanottaja lähettää ruuhkasta kertovan RM-solun lähettäjälle (CI-bitti (congestion indication) asetettuna) RM-solun CI -ja NI -bitit (no increase) reititin asettaa: NI-bitti = lievä ruuhka CI-bitti = vakava ruuhka vasataanottaja palauttaa RM-solun lähettäjälle RM-solun ER-kenttä kertoo todellisen siirtonopeuden ruuhkainen reititin voi asettaa kentän arvon pienemmäksi kaikille rreitin reitittimille alempimarvo
153
Liikenteen tasoitus (traffic shaping)
liikenne tyypillisesti purskeista juuri purskeisuus aiheuttaa ruuhkaisuutta tasoitetaan liikennevirtaa puskurilla puskuri toimii jonona vuotava ämpäri vuoromerkkiämpäri liikennevirran määrittely määrittelee asiakkaan oikeudet ja velvollisuudet
154
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
155
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
156
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
157
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
158
hidastuspaketti (choke packet)
voidaan käyttää kaikenlaisissa verkoissa reititin tarkkailee kuormitusta ulosmenolinjojen käyttöastetta jonopituuksia esim Unew = aUold + (1-a)f a kuinka nopeasti aikaisempi historia unohtuu f kuormitettu vai ei ( o tai 1)
159
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ö
160
Hidastuspaketin ongelmia:
lähettäjän hidastus vapaaehtoista reilu jonotus: kullakin lähettäjällä oma jono jokaiseen ulosmenolinjaan A B C Lähetetään vuorotellen eri jonoista.
161
Hidastuspaketin vaikutuksen hitaus pitkillä linjoilla Ratkaisu:
ei pelkästään lähettäjälle myös välissä olevat reitittimet alkavat hidastaa
162
Kuorman kevennys (Load Shedding)
tuhotaan paketteja => kuorma kevenee reititin täyttyy: mitä paketteja tuhotaan? reititin 13 12 11 10 9 8 7 6 FTP: tuhotaan 8 => paketit 8-11 uudelleen tuhotaan 11 => paketti 11 uudelleen video: ?
163
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
164
Vuopohjainen reititys (Flow-Based Routing)
viive = jonotusaika + siirtoaika etsitään pienin mahdollinen viive koko verkolle tunnettava verkon topologia kapasiteettimatriisi eri linkkien kapasiteetti liikennematriisi eri solmujen välinen liikenne alustava reititys
165
lasketaan T = 1/( C - ) (jonoteoriasta)
kunkin linjan kuormitus i keskim. pakettien määrä kullakin linjalla Ci keskim. pakettikoko = 1/esim bittiä) keskim viive kullekin linjalle T = 1/( C - ) (jonoteoriasta) 1/ = keskim. paketin koko bitteinä C = kapasiteetti bps = keskim. pakettivirta (kuormitus) paketteina sekunnissa
166
eri reititysalgoritmien vertailu
koko verkon viive painotettu keskiarvo eri linkkien viipeistä painotuksena linkin osuus koko liikenteestä eri reititysalgoritmien vertailu lasketaan erikseen kaikille reititysvaihtoehdoille mahdollinen, vaikka raskas valitaan ‘paras’ edellyttää kuormituksen pysyvän melko samanlaisena ei oikein sovellu koko ajan muuttuvaan verkkoon
167
Piirikytkentäisten verkkojen reititys
lyhyin polku (Shortest path first) (ABD tai ACD) vähiten kuormitettu polku (Least loaded path) (ABCD) eniten vapaita piirejä omaava polku (Maximum free circuit) (ABD) 35/70 5/20 19/20 1/19 6/20 B D A C A/B B = linkin kapasiteetti A= siitä käytössä oleva osuus, esim. piirien määränä
168
Piirikytkentäisissä verkoissa
kaikki reitittimet tietävät kaikkien linkkien tilan linkkitilatyyppinen reititys tietojen oikeellisuus ja ajantasaisuus tärkeää 37/70 D B 2/19 5/20 10/10 6/20 A C 19/20
169
3.7. Internetin reititysprotokollista
AS (autonomous system) reititys AS:n sisällä (Interior routing protocols) RIP (Routing Information Protocol), RIP2, RIPng etäisryysvektorireititysprotokolla OSPF (Open Shortest Path First) linkkitilareititysprorokolla reititys AS:ien välillä (Exterior gateway protocols) BGP (Border Gateway Protocol)
170
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 : 100. miljoonas ‘host’ Miten tämä saadaan aikaiseksi?
171
Autonominen järjestelmä (AS)
Internet on kokoelma ‘itsenäisiä’ aliverkkoja eli autonomisia järjestelmiä (AS, Autonomous System) yli 700 AS:ää 1994 joita yhdistää runkolinjat AS:n sisällä IGP (Interior Gateway Protocol) OSPF tai RIP alueiden välillä EGP (Exterior Gateway Protocol) BGP (Border Gateway Protocol)
172
Internet koostuu autonomisista systeemeistä AS (autonomous system), jotka yhdistetty runkolinja- alueella. AS 3 AS 5 AS 1 AS 0 AS 2 AS 4
173
Hierarkkinen reititys
reitityksen skaalautuvuus isossa verkossa runsaasti reitittimiä reititystaulut suuria reittien laskeminen raskasta tietopaketit kuluttavat linjakapasiteettia hierarkiaa jaetaan verkko ja sen reitittimet autonomisiin osiin AS (autonomous system) yritysten ja organisaatioiden omat verkot “A set of routers and networks under the same administration.” Kullakin AS:llä on oma 16-bittinen AS-numero.
174
AS:n yhdysreitittimet
Yhden AS:n sisällä reitittimet käyttävät samaa reititysprotokollaa OSPF, RIP,… Tärkeää on tehokkuus kukin reititin tuntee kaikki muut tämän AS:n reitittimet ja saa niiltä reititystietoja tietää mikä reititin tai mitkä reitittimet (gateway router) hoitavat liikenteen muihin AS:iin AS:n yhdysreitittimet
175
AS:ien välillä yhdysreitittimet vaihtavat reititystietoja eri AS:ien välillä käyttäen toisenlaista reititysprotokollaa esim. BGP (Border Gateway Protocol) Muut seikat kuin tehokkuus ovat tärkeämpiä Toimintapolitiikkaan liittyvät Luotettavuus ja turvallisuus Lait ja määräykset kustannukset
176
AS:ien alueet Monet AS:t ovat usein hyvin laajoja
=> voidaan jakaa alueiksi (areas) verkko tai verkkojoukko alueen ulkopuolella sen topologia ei näy jokainen alue laskee omat reititystietonsa sama algoritmi, mutta eri kopio ja eri tilatiedot jokaisessa AS:ssä runkolinja-alue alue 0 kaikki alueet kiinni runkolinjassa ja liikenne alueelta toiselle käy aina runkolinjan kautta
177
Iso AS voi koostua useasta alueesta.
178
Erilaisia reititintyyppejä
sisäinen reititin alueen sisäisiä alueen reunareititin sekä alueessa että runkolinjassa runkolinjareititin runkolinjaan kuuluvia AS:n yhdysreititin runkolinjan reitin, joka on yhteydessä muiden AS:ien reitittimiin
179
AS-yhdysreititin Alueen reunareititin Runkolinja reitittimiä Area 3 Area 2 Area 1 Alueiden sisäisiä reitittimiä
180
Reitittimien toiminta
Alueen sisällä kaikilla reitittimillä sama linkkitilatietokanta sama lyhimmän polun algoritmi reititin laskee lyhimmän polun kaikkiin muihin alueen reitittimiin Alueiden välillä reitittimillä on useita kopioita samasta reititysalgoritmista yksi kutakin aluettaan varten
181
AS:ien välillä AS:eissä voidaan käyttää erilaisia reititysprotokollia
linkkitilareititystä tai etäisyysvektorireititystä eri metriikat erilaiset tavat kerätä ja vaihtaa tietoja tarvitaan jokin yhteinen reititysptotokolla, jolla yhdysreitittimet voivat vaihtaa reititystietoja esim. BGP
182
Reitittimien toiminta
reititin tulvittamalla tai vaihtamalla tietoja naapureittensa muiden välittää alueensa kaikille muille reitittimille naapurinsa kustannustiedot (monta erilaista) joko suoraan tai välittäjäreitittimien avulla muodostaa etäisyysverkon ja laskee lyhimmät reitit alueensa /alueittensa sisällä
183
runkoverkon reititin lisäksi
saa alueiden reunareitittimiltä tietoja, joista laskee parhaat reitit runkoverkon reitittimistä kaikkiin muihin reitittimiin palauttaa tiedot reunareitittimille, jotka levittävät ne alueensa sisäisille reitittimille alueen sisäinen reititin reititys alueen sisällä alueiden välillä => sopiva runkoverkon reititin
184
AS:n rajareititin vaihtaa reititystietoja muiden AS:ien rajareitittimien kanssa välittää muille reitittimille AS:ien välillä käyttää BGP-reititystä
185
Hierarkkinen reititystietojen vaihto
B:n viereiset reitittimet: kaikki L2:n reitittimet, A ja C A:n viereiset reitittimet: kaikki L1: n reitittimet, B ja D L2 L1 B A Hierarkkinen reititystietojen vaihto A, B, C ja D välittäjäreittimiä C D L3 C: osa L3:n reititti- mistä, D ja B D: loput L3:n reitittimistä, C ja A
186
E on AS-yhdysreititin, joka tietää reitit muihin AS:iin
ra mittaa etäisyydet naapureihinsa rb:hen ja rd:hen ja lähettää tiedot A:lle E L2 L1 r b ra B A rc rd re A saa myös tiedot muiden alueiden etäisyyksistä B:ltä ja D:ltä ==> ra:lle => ra tietää kumpaa reititintä rb vai rd tulee kulloinkin käyttää A saa tiedot etäisyyksistä kaikilta L1:n reitittimiltä ja välittää tiedot muille => ra osaa laskea etäisyydet muihin L1:n reitittimiin C D L3
187
tarvitaan kolmenlaisia reittejä
alueen sisäisiä reititin itse tietää lyhyimmän reitin alueiden välisiä alueiden väliset reitit kulkevat aina runkolinjaa pitkin reititin tietää lyhyimmän reitin runkolinjaan alueeseen AS:ien välisiä Näistä huolehtivat AS-yhdysreitittimet esim. BGP-protokollalla AS-yhdysreitittimet tietävät reitin muihin AS:iin yleensä AS-runkolinjan kautta
188
Yleisesti käytetyt reititysalgoritmit
Etäisyysvektorireititys (Distance Vector Routing) ARPA-verkon alkuperäinen reititysalgoritmi Internetin RIP-algoritmi Ciscon IGRP ja EIGRP (mm. useita eri kustannusmittoja) linkkitilareititys (Link State Routing) ARPA-verkon reititysalgoritmi vuodesta 1979 Internetin OSPF-algoritmi ISO:n IS-IS (Intermediate System to Intermediate System) “IS-IS = 0”
189
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.
190
x ratkaisu ei toimi aina Linkki CD katkeaa, B A ja B ilmoittavat C:lle
ettei 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 B A C x D
191
RIP-reititysprotokollia
etäisyysvektorireititys autonomisen alueen sisäinen protokolla naapurit vaihtavat reititystietoja keskenään Counting to Infitity Split Horizon Triggered Updates RIPv1 RIPv2 RIPng
192
RIP-1 (RFC 1058) joka linkillä kustannus 1
hyppyjä: 1-15 hyppyä maksimi 15 => korkeintaan 15 hypyn matka mahdollinen reititystietojen vaihto naapureiden kanssa RIP response message (advertisement) yleislähetyksenä (broadcast), jos mahdollista n. 30 s välein. Jos naapuri ei lähettele 180 s sisällä, linkin oletetaan olevan poikki. UDP-protokollaa käyttäen RIP on toteutettu sovelluskerroksen prosessina ja siis sovelluskerroksen protokolla, joka käyttää UDP-porttia 520 sanomien lähettämiseen ja vastaanottoon
193
RIP-sanoman muoto Command version 0 RIP- entry IP address metric
Address family identif. = IP address metric 0 …..… … …………… … … RIP- entry Command = sanoman tyyppi: 1= pyyntö (request), 2 = vastaus (response) Address family identifier = peruja UNIX-BSD:ssä käytetystä osoitustavasta; ajatuksena toteuttaa RIP muihin osoitusmuotoihin (esim. X.25, XNS) metric = kustannus hyppyinä ; max. = 16 eli ääretön
194
RIP:n toiminta Normaalisti lähetetään vastauksia 30 sekunnin välein
kun omassa taulussa muutoksia peräkkäisetei muutokset vasta 1-5 sekunnin kuluttua, jotta ei syntyisi ‘päivitystulvaa’ Reititin käsittelee saamansa vastaukset yhden kerrallaan Kohteen osoite etäisyysmitta seuraava reititin äsken päivitetty useita ajastimia U(ppdated) , 12, …… … …… … …..
195
Yhdessä sanomassa korkeintaan 25 alkion tiedot (512 tavua)
tarvittaessa useita peräkkäisiä sanomia Reititystietopyyntö, kun reititin aloittaa toimintansa koko reititystaulun sisältö osoitteena (default osoite) ja kustannuksena ‘ääretön’ normaali operaatio tietyt reitit kyselyssä ilmoitettuihin osoitteisiin lähinnä vikojen selvittämisessä
196
RIP-2 (RFC 2453) tehokkaampi koodaus aliverkkoreititys autentikointi
ei turhien nollakenttien lähettämistä aliverkkoreititys RIP-1: aliverkot eivät näy ulospäin RIP-2: aliverkkomaski osoitteen mukana => CIDR autentikointi RIP-1 luotti porttiin 520, jota sai käyttää vain etuoikeutettu käyttäjä RIP-2: ensimmäinen alkio voi olla autentikointisegementti Next Hop, monilähetys RIP-1: yleislähetys
197
RIP-2-sanoman otsake Command version Address family identif Route Tag IP address Subnet Mask Next Hop metric 0 …..… … …………… … … RIP- entry …. - Subnet Mask = aliverkkojen käsittelyyn verkon ulkopuolella
198
Next Hop -kenttä AS X AS Y Ethernet-kaapeli tms. A B C
Ongelma: A:lta paketti F:lle: - ensin D:lle joka siirtää F:lle eli paketti kulkee kaksi kertaa samaa kaapelia! D E F Ratkaisu: D ilmoittaa kustannuksen lisäksi suoraan seuraavan kohteen (next hop) (‘Kustannus D:n kautta F:ään on xyz, mutta paras lähettää suoraan E:lle.’)
199
RIP-2: sanoman autentikointisegmentti
0 …..… … …………… … … Command version Routing Domain 0xFFFF AuthenticationType Autentikointidataa 1. RIP- entry …. salasana selväkielisenä tai salakirjoitettuna (RFC 2082) myös tehokkaampia suojauksia
200
RIPng (RFC 2080) ja muita parannuksia
RIP-protokollan käyttö IPv6:n kanssa parannetut turvapiirteet Käytössä IPv6 turvapiirteet päivitystahdistumisen estäminen päivitysten kuittaukset => vähemmän lähettämistä useiden eri kustannusmittojen käyttö “count-to-infinity”-ongelma ‘source-tracing’-algoritmi, joka etsii silmukat iteratiivisesti ‘turhaa hyvän ja yksinkertaisen protokollan monimutkaistamista?’
201
Linkkitilareititys Globaali reititysalgoritmi
Kullakin reitittimellä käytössään koko verkon informaatio tästä lasketaan hajautetusti tai keskitetysti parhaat reitit monimutkainen algoritmi => paljon laajempi standardi
202
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
203
väärin toimiva reititin
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
204
OSPF (Open Shortest Path First)
linkkitilaprotokolla tavoitteet: avoin (eli julkinen) erilaisia eäisyysmittoja dynaaminen algoritmi myös palvelutyyppiin (TOS) perustava reititys kyettävä kuorman tasoittamiseen ja usean reitin käyttämiseen hierarkkinen reititys suojauspiirteitä myös tunneloinnilla yhdistetyt reitittimet
205
eri reitit voivat olla ‘yhtä pitkiä’
=> liikenne voidaan reitittää usean reitin yli => kuormituksen tasapainoitus eikä välttämättä kaikkia paketteja lähetetä samaa reittiä osa parasta reittiä osa toiseksi parasta lopputulos voi olla parempi
206
OSPF:n käyttöalueet: kahden reitittimen välinen kaksipisteyhteys
monen reitittimen yleislähetysverkot esim. useimmat lähiverkot (LAN) monen reitittimen verkot, joissa ei ole yleislähetystä useimmat laajaverkot (WAN)
207
Verkosta tehdään malli (suunnattu verkko)
reitittimet ja verkot solmuina, niiden väliset linjat kaarina kaarilla kustannuksina etäisyys, kustannus, luotettavuus multiaccess-verkkoa vastaa oma solmu, josta kustannus reitittimeen on nolla mallilla lasketaan lyhyin reitti kaikkien reititinparien välille eri etäisyysmitoille omat reitit
208
OSPF:n toiminta reititystietojen vaihto
linkkitilaviestejä säännöllisin väliajoin ja topologian muuttuessa viestit tulvitetaan, viestit numeroidaan, viestit kuitataan viestit ohjataan valitulle (designed) välittäjäreitittimelle kommunikoi LAN:n tai alueen muiden reitittimien kanssa; kerää tiedot ja välittää ne eteenpäin jokainen reititin ei lähetä jokaiselle, vaan omalle välittäjäreitittimelleen vähentää viestien määrää: n(n-1)/2 ==> 2(n-1), jos n =20, niin 20*19/2 = 190 ja 2*19 = 38!
209
Välittäjäreititin Välittäjä valitaan Hello-protokollalla
välittäjäreititin vähentää tulvituspaketteja riittää ensin lähettää monilähetyksenä välittäjäreitittimille osoite => kaikille välittäjäreitittimille tarvittaessa välittäjäreititin monilähettää kaikille OSPF-reitittimille ( ) Entä, kun välittäjäreititin kaatuu? valitaan myös varavälittäjä, joka vastaanottaa monilähetyspaketteja, mutta ei vastaa mihinkään välittäjän kaatuminen havaitaan Hello-protokollalla
210
OSPF-sanomat hello link state update link state ack
naapurien selvillesaaminen link state update omien linkkikustannusten lähettäminen link state ack vastaanotettujen linkkikustannusten kuittaus database description tietokannan ajantasaisuuden selvittäminen link state request toisen linkkikustannusten kysyminen
211
OSPF-paketin otsake Versio # type packet length Router ID Area ID
Authentication Checksum Autype (= Autentikointialgoritmi)
212
Hello-paketti OSPF packet header, type = 1 (hello) Network mask
Hello interval options priority Dead interval Designated router Backup designated router Neighbor
213
Hello-paketin kentät Network mask = liitäntäkortin aliverkkomaski
Hello interval = hello-sanomien lähetysväli Options: T-bitti => TOS-reitityskykyinen E-bitti = ulkoisten reittien vastaanotto ja lähetys Priority: reitittimen prioriteetti 0-255 välittäjäksi korkeimman prioriteetin reititin; jos sama arvo usealla, niin suurin ID-numero valitaan Dead interval jos tässä ajassa ei tule hello-sanomaa, merkitään ‘kuolleiden’ listaan
214
Hello-paketin kentät jatkuvat
Designated router Backup desigated router reititin ilmoittaa haluavansa toimia välittäjäreitittimenä tai varavälittäjäreitittimenä valintaa suoritetaan jatkuvasti ja joka hello-sanomassa reititin muistaa, ketkä ilmoittautuneet välittäjiksi
215
BGP (Border Gateway Protocol) (RFC 1771)
AS:ien välillä otettava huomioon eri AS:ien politiikat AS:ien sisällä tärkeintä tehokkuus AS:ien välillä toimintapolitiikka kieltoja tai suosituksia reitittää tiettyjen AS:ien kautta politiikat manuaalisesti BGP-reitittimiin hyvin erilaisia sääntöjä: politiikka, turvallisuus, taloudellisuus ‘Kanadasta Kanadaan ei saa lähettää USA:n kautta.’ ‘AS xyz ei hyväksy transit-liikennettä.’ ‘Pentagonista lähteviä paketteja ei reititetä Irakin kautta.’ ‘Viikonloppuisin käytetään reittiä abc.’
216
BGP (jatkuu) pohjimmiltaan etäisyysvektoriprotokolla
polkuvektori tallettaa kunkin reitin koko polun ei kustannustietoja, vaan polulla olevat AS:t havaitaan mahdolliset silmukat! kertoo naapureilleen käyttämänsä reitin hylkää itsensä kautta kulkevat reitit, jotta ei synny silmukoita keino välittää reitti-informaatioita ei määrää, kuinka reiteistä valitaan oikea reitti kukin AS voi valita reittinsä, miten haluaa
217
BGP näkee verkon joukkona AS:iä
jokaisella AS:lla oma tunnus (ASN) reitittimellä on reititystaulussaan reittejä sen tuntemiin AS:iin esim. AS X:ään , Y:hyn ja Z:aan B D F X B G I K X F C A H P Y S Y E C A Z
218
BGP:n toiminta reitti-ilmoitusten vastaanottaminen naapureilta (’lupauksia’) silmukoiden poistaminen ei-toivotut AS:t reitin valinta reititysmekanismi reitityspolitiikka politiikkaratkaisut hallinnon asia Reitti-ilmoitusten lähettäminen naapureille Mitä kellekin ilmoitetaan
219
Reittien salaaminen M ei kerro H:lle reittiä itsensä kautta H M
M kertoo kyllä J:lle J ja J kertoo H:lle J
220
BGP-sanomat OPEN ‘esittelysanoma’: tunnus + autentikointitiedot (vrt. OSPF:n Hello) ja ajastintietoja KEEPALIVE lähettäjä ‘elossa’, mutta sillä ei ole mitään lähetettävää toimii myös kuittauksena OPEN-sanomalle UPDATE ilmoitetaan uusia reittejä ja poistetaan vanhoja NOTIFICATION ilmoitus virheestä ilmoitus BGP-istunnon lopettamisesta
221
Sanomien lähettämiseen käytetään TCP:tä
ruuhkavalvonta, hidas aloitus sanomille korkea prioriteetti muutospäivitykset = lähetetään vain muutokset Reittien valinta arvioidaan reitit: ‘local preferance’ -metric kielletyt AS:t epävarmat tai saavuttamattomat yhteydet polun AS:ien määrä jne. valitaan sopivin reitti ilmoitetaan paras reitti AS:n muille reitittimille
222
I-BGP Edellä esitelty E-BGP (External-BGP)
Tarvitaan myös I-BGP (Internal-BGP) Kertoo AS:n sisällä reitit muihin AS:iin Voidaan toteuttaa myös oletusreiteillä I-BGP:t AS:n sisällä toistensa ‘naapureita’ = vaihtavat tietoja keskenään Rajoituksia sille, mitä reittejä saa ilmoitella muille
223
4.2 Monilähetysreititys Paketti lähetetään usealle vastaanottajalle
Miksi? Monet sovellukset hyötyvät ohjelmistopäivitykset WWW-välimuistien päivitykset etäopetus, virtuaalikoulu videoiden, äänitteiden lähetys interaktiiviset pelit Mitä hyötyä? Nopeus, tehokkuus
224
paketti monelle vastaanottajalle
useita kaksipistelähetyksiä: kaikille oma paketti tulvitus multidestination routing: kohteet lueteltu paketissa, reititin kopioi kaikkiin tarpeellisiin ulosmenoihin lähettäjän virittävä puu (spanning tree) ei silmukoita yhteinen tai jokaiselle lähettäjälle oma puu reverse path -algoritmi (käänteinen polku) estimoi virittävää puuta
225
Monilähetys Monilähetysryhmä Monilähetyksen reitittäminen
ryhmäosoite (Luokan D osoite) vastaanottajaryhmän hallinta ryhmien muodostus, poistaminen vastaanottajien lisääminen, poistaminen Monilähetyksen reitittäminen reitittimet tietävät ketkä kuuluvat mihinkin ryhmään laskevat lyhimmät reitit vastaanottajiin ohjaavat reititystaulujensa avulla paketit vastaanottajille
226
IGMP (Internet Group Management Protocol) (RFC 2236)
Monilähetysryhmien hallinta IGMP isäntäkoneen ja sen lähimmän reitittimen välillä isäntäkone ilmoittaa itsensä jäseneksi tiettyyn ryhmään isäntäkone poistaa itsensä ryhmästä monilähetysreititysalgoritmi reitittimien välillä monilähetysten koordinoimiseksi esim. PIM, DVMRP, MOSPF huom! ryhmän isäntäkoneiden välillä ei ole mitään protokollaa eivät tiedä, ketkä muut kuuluvat ryhmään
227
D-osoitteet monilähetykset D-osoitetta käyttäen pysyviä ryhmiä
28 bittiä => yli 250 miljoonaa ryhmäosoitetta perilletoimitus ‘best effort’ pysyviä ryhmiä kaikki lähiverkossa kaikki reitittimet lähiverkossa kaikki OSPF-reitittimet lähiverkossa kaikki ‘designated’ OSPF-reitittimet lähiverkossa tilapäisiä ryhmiä
228
IGMP:n toimintaperiaate
kysely/vastaus monilähetysreitittimet kyselevät noin minuutin välein kysyvät kaikilta koneiltaan, mihin ryhmiin kuuluvat osoitteella koneet vastaavat ilmoittamalla kaikkien niiden ryhmien D-osoitteet, joihin jokin niiden sovellus on liittynyt kysely vastaus router host
229
IGMP-sanomat Kyselyillä maksimivastausaika Membership query
general: mihin ryhmiin kuuluvia? specific: onko tiettyyn ryhmään kuuluvia? Kyselyillä maksimivastausaika Membership report kone haluaa liittyä tai on liittynyt ilmoitettuun ryhmään Leave group kone ilmoittaa poistuvansa ryhmästä vapaaehtoinen! Jos ei vastaa kyselyihin, ei ole enää mukana => jäsenyyden voimassaololle aikaraja
230
IGMP-sanoma Type max. response checksum time Multicast Group Address
Type = mikä sanoma kyseessä max. response time = maksimivastausaika kyselyissä Checksum = taskistussumma Multicast Group Address = monilähetysryhmän osoite
231
Maksimivastausaika? => vastausten määrä pienenee
Optimointia varten, esim. LAN-verkoissa, joissa kaikki kuulevat kaikki sanomat reititin haluaa tietää vain onko kukaan sen LANin koneista kiinnostunut tietystä ryhmästä ei sitä ketkä koneista haluavat ryhmän jäseniksi ei edes montako sen koneista on tietyn ryhmän jäseninä koneet vastaavat satunnaisen ajan kuluttua jos joku muu kone jo vastannut, ei enää vastaa => vastausten määrä pienenee
232
Internetin monilähetyspalvelumalli
Kone ilmoittaa omalle reitittimelleen haluavansa liittyvä tiettyyn ryhmään IGMP:n membership_report-sanomalla Reitittimet alkavat välittää koneelle tämän ryhmän viestejä vastaanottajavetoinen (receiver-driven) Lähettäjä ei pidä kirjaa ryhmän jäsenistä eikä tiedä kenelle kaikille viesti menee. Kuka tahansa voi toimia lähettäjänä eri lähettäjien sanomat tulevat sekaisin Monilähetysosoitteita ei koordinoida verkkotasolla eri ryhmille voidaan valita sama osoite
233
Monilähetysreititys (multicast routing)
Ongelma: Reitittimien on kyettävä rakentamaan ‘optimaaliset’ reitit ryhmän kaikille vastaanottajille kun mikä tahansa kone voi toimia lähettäjänä ryhmään voi kuulua eri määrä vastaanottajia lähes kaikki isäntäkoneet vain muutama isäntäkone ryhmän jäsennyys voi olla hyvin dynaamista Tavoitteena on löytää mahdollisimman optimaalinen linkkipuu, joka yhdistää kaikki ryhmän jäsenet sanomien reititys puun linkkejä pitkin
234
A, B, E ja F: reitittimillä ryhmän jäseniä
C C ja D: reitittimillä ei ole ryhmän jäseniä D F E
235
Monireitityspuun rakentaminen
Kaksi erilaista lähestymistapaa yksi puu koko ryhmälle (group shared tree) kuka tahansa toimii lähettäjänä, niin reitityksessä käytetään samaa puuta jokaiselle lähettäjälle oma puu (source-based tree) jos ryhmässä on n jäsentä, niin muodostetaan n eri puuta jokaisen lähettäjän sanomat reititetään sen oman linkkipuun avulla
236
Yksi puu koko ryhmälle A, B, E ja F: reitittimillä ryhmän jäseniä A B
C C ja D: reitittimillä ei ole ryhmän jäseniä D F E reitityslinkki
237
Eri lähettäjille omat puut
A, B, E ja F :reitittimillä ryhmän jäseniä A B C ja D: reitittimillä ei ole ryhmän jäseniä C D A:n lähettäessä B:n lähettäessä F E
238
Reititys käyttäen yhtä puuta koko ryhmälle
Löydettävä puu, joka yhdistää kaikki ryhmän reitittimet mukana myös muita reitittimiä puun kustannus on sen linkkien kustannusten summa pienimmän kustannuksen puu 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 jo muutenkin laskettujen kustannusten hyödyntäminen
239
Pienimmän kustannuksen monilähetyspuu
A, B, E ja F: reitittimillä ryhmän jäseniä A 4 3 2 B C 1 C ja D: reitittimillä ei ole ryhmän jäseniä 2 2 D F 1 E 1
240
Keskuspohjainen reititys (Center-based routing)
Ryhmän puun keskuksena on jokin solmu, johon muut myöhemmin liittyvät ensin saadaan selville keskussolmu muut liittyvät siihen JOIN-sanomilla yksilähetyksiä keskussolmulle Miten keskussolmu valitaan? Valitaan siten, että puu on melko lähellä optimia
241
Keskuspohjainen monilähetyspuu
A, B, E ja F: reitittimillä ryhmän jäseniä A 4 C ja D: reitittimillä ei ole ryhmän jäseniä 3 3. 2 B C 1 2. Ratkaisevaa on keskussolmun järkevä valinta 2 2 D F 1 1 E G 1.
242
Jokaiselle lähettäjälle oma puu
Tavallisessa reitityksessä jo yleensä lasketaan pienimmän kustannuksen puu lähettäjältä muihin solmuihin Dijkstra => reititystaulu least unicast-cost path tree = näiden polkujen yhdistelmä 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
243
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
244
lähettäjä ryhmän jäsen ei ole jäsen A C B pruning: ’Älä turhaan lähetä tänne!’ F E D G
245
Monilähetysreititys Internetissä
DVMRP (Distance Vector Multicast Routing Protocol) (RFC 1075) kullekin lähteelle oma puu käyttäen ‘reverse path forwarding’-menetelmää ja karsimista (pruning) ja lisäämistä (graft) etäisyysvetrorialgoritmin avulla kukin reititin laskee lyhyimmän polun jokaiseen mahdolliseen lähteeseen ja tallettaa linkin (next hop) tieto puussa ‘alavirtaan’ sijaitsevista reitittimistä, jotta tiedetään, milloin haara voidaan karsia kun kaikki reitittimet ilmoittavat, etteivät enää ole kiinnostuneita
246
Muita MOSPF (Multicast Open Shortest Path First) (RFC 1584)
OSPF:ää käyttävissä AS:issä linkkitilailmoituksissa myös tieto monilähetysryhmien jäsennyydestä kaikki reitittimet tietävät, mihin monilähetysryhmiin muiden reittimien isäntäkoneet kuuluvat voivat laskea kullekin lähteelle oman ennaltakarsitun lyhyimmän polun puun kullekin monilähetysryhmälle
247
Muita monilähetysprotokollia: CBT
CBT (Core-based Trees) (RFC 2201, RFC 2189) kaksisuuntainen yhteiskäyttöinen puu, jossa yksi keskus sanomia JOIN_REQUEST keskussolmulle, kun haluaa liittyä ryhmään JOIN_ACK keskussolmu tai lähin jo ryhmässä oleva reititin ECHO_REQUEST vieläkö mukana ryhmässä ECHO_REPLY vielä mukana FLUSH_TREE poistetaan ryhmästä
248
Muita: PIM PIM (Protocol Independent Multicast) (RFC 2362)
dense mode ~ DVMRP tulvita ja karsi sopii hyvin, jos vastaanottajia on ‘tiheään’ sparse mode ~ CBT JOIN-sanomia, jotka ohjataan yksilähetyksenä keskussolmuun polulla olevat reitittimet monilähetysmoodiin keskussolmu lähettää monilähetyksenä muille yksi puu <=> lähettäjälle oma puu
249
4.3 Mobile IP IP-reititys IP-osoitteen perusteella
koneen osoite riippuu verkosta, jossa kone sijaitsee kun kone siirtyy toiseen verkkoon tilapäisesti, osoite ei ole enää voimassa koneelle uusi osoite tässä verkossa? Tieto uudesta osoitteesta muille? TCP-yhteys katkeaa saumaton siirtyminen tuntumattomasti ei ole mahdollinen kaikille koneille verkosta riippumaton osoite?
250
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
251
Liikkuvien isäntäkoneiden reititys
liikkuva kone (mobile host) kotiosoite (home address, home location) pysyvä osoite omassa verkossa, aina tavoitettavissa tällä osoitteella kotiagentti (home agent) tietää, missä omat liikkuvat ovat jos ei liikkuva kone ei ole kotiverkossa, kotiagentti osaa ohjata sille tulevat sanomat liikkuvan uuteen osoitteeseen
252
vierasagentille (foreign agent)
kun liikkuva kone ilmaantuu vieraalle alueelle, se rekisteröityy alueen vierasagentille (foreign agent) joka hoitaa alueelle tulleet vieraat liikkuvat antaa niille osoitteen (care of address) tämän verkon osoite tarkistaa vieraan tiedot sen kotiagentilta ilmoittaa kotiagentille koneen uuden osoitteen näin kotiagentti tietää uuden sijainnin
253
Uudelle alueelle rekisteröinti
Koti- agentti Vieras- agentti Rekisteröinti- pyyntö Pyynnön välitys Käsittelee pyynnön ja vastauksen Sallii tai kieltää vastaus Vastaus koneelle
254
Rekisteröintipyyntö sisältää:
sanoman tyypin (1) lippuja, mm. haluttu tunnelointitapa rekisteröinnin keston koneen kotiosoitteen, kotiagentin osoitteen ja koneen vierasverkon osoitteen rekisteröintipyynnön tunnisteen laajennuksia, mm. autentikointilaajennus
255
Rekisteröintivastauksessa:
Sanoman tyyppi (3) hyväksyttiinkö vai hylättiinkö rekisteröintipyyntö, kuka hylkäsi kotiagentti vai vierasgentti hyväksytty rekisteröinnin kesto pyynnön tunniste liittää vastauksen pyyntöön laajennusosia mm. autentikointi
256
Rekisteröinnissä ongelma on turvallisuus
Tekeytyminen vierasagentiksi haluaa kaapata koneen liikenteen tehokas autentikointi estää autentikoinnin laajennusosa MN -->FA, MN --> HA, FA --> HA vanhojen rekisteröintipyyntöjen lähettäminen kotiagentille kotiagentille väärä osoite => koneelle ei voi lähettää kotiosoitteella pyyntöihin aikaleimat
257
Agentin löytäminen verkosta
Agentit ilmoittelevat itsestään säännöllisin välein ilmoituksissa reitittimen osoite rekisteröinnin kesto joukko lippuja: toimiiko vieras- vai kotiagenttina, onko kiireinen, millaista kapselointia kykenee käyttämään vierasosoitteita, vähintään yksi ilmoitusten avulla kone havaitsee siirtyneensä toiseen verkkoon agentin osoite vaihtuu => uudelleenrekisteröinti kotiverkossa, kun saa ilmoituksia omalta kotiagentiltaan peruutettava rekisteröinti
258
Liikkuva kone kysyy itse agenttia
huomaa liikkuneensa toiseen verkkoon, kun alkaa saada sanomia toisella taajuudella lähettää verkkoon kyselypyynnön, johon agentti vastaa ilmoituksella suoraan kyselevälle koneelle
259
Sanoman reititys vieraassa verkossa olevalle koneelle
CN Vastaus suoraan Normaali IP-reititys Vieras- verkko tunnelointi HA FA MN Kotiverkko FA vierasagentti HA kotiagentti MN liikkuva kone CN kommunikoiva kone
260
Kotiagentti välittäjänä
Kun paketti lähetetään liikkuvalle, se ohjautuu IP-osoitteen perusteella kotiverkkoon. Kotiagentti ottaa paketin itselleen. Se tietää vastaanottajan nykyisen sijainnin ja ohjaa paketin sinne. Käytetään IP-tunnelointia uusi osoite COA on usein FA:n valvoma osoite Lähde = CD, Kohde =MN Protocol = TCP Lähde=HA, Kohde= COA, protocol= IP in IP (4) TCP-otsake + data Uusi IP-otsake alkuperäinen IP-paketti
261
Toiminta eetteriverkossa
CN R HA MN CN R HA MN Normaali reititys Kotiagentti tunneloi sanoman MN:lle
262
Kun joku lähettää liikkuvalle paketin
se tulee ensin reitittimelle reititin kysyy vastaanottajan LAN-osoitetta ARP:illa jos liikkuva on kotiverkossaan, se vastaa ja ilmoittaa oman koneosoitteensa muuten kotiagentti vastaa omalla osoitteellaan ja saa paketin kotiagentti lähettää tunneloinnilla vierasosoitteeseen (yleensä vierasagentin oma osoite) vierasagentti kysyy ARP:lla vierailijan LAN- osoitetta (‘koneosoitetta’) Ja lähettää sanoman vierailevalle koneelle.
263
Ongelma: CN MN On vasta siirtymässä uuteen paikkaan eikä ole vielä ehtinyt ilmoittaa uutta osoitettaan Vastaanottajaa ei ole enää tässä verkossa => paketit katoavat R FA ?? HA ??
264
Entä jos vierasverkossa ei ole FA:ta?
MN saa tilapäisen IP-osoitteen verkkoon PPP- tai DHCP-protokollalla käyttäen tätä osoitetta COA-osoitteena se voi itse toimia omana FA:na Ongelmia: tunnelointi lisää yleisarasitetta (ylim. IP-otsake) ja viimeinen linkki on hidas radiolinkki liikkuvat tarvitsevat paljon tilapäisiä IP-osoitteita => osoitteet voivat loppua poistuva kone ei aina ilmoita lähdöstään kun kone poistuu, FA katoaa ja matkalla olevat paketit varmasti katoavat
265
Monilähetys vierasverkossa olevalle koneelle
HA ohjaa yksitellen kaikki lähetykset tehotonta, voi aiheuttaa turhaa kuormitusta voi aiheuttaa turhaa monilähetystä tai sitten sanomaa ei toimiteta MN:lle tunnelointi FA HA Yleislähetys vierasverkossa Yleislähetys kotiverkossa MN
266
Monilähetys vierasverkossa olevalle koneelle
Jos käytössä verkon FA:aa, niin käytetään kaksoiskapselointia: HA tietää rekisteröintitiedoista, käyttääkö MN FA:ta vai toimiiko itse oman FA:naan Source=CN, Dest =broadcast, Protocol=UDP Source=HA, Dest=COA, Protocol= encaps Source=HA, Dest=MN, Protocol= encaps UDP header + data Uusi IP-otsake kaksoiskapselointi alkuperäinen monilähetys Järkevämpää tosin olisi rekisteröityä monilähetysryhmään uudelleen vierasverkossa!!
267
Mobile IPv6 Osoitteita riittää Ei tarvita erityistä vierasagenttia
vierailijat tarvitsevat IP-osoitteita vierailunsa aikana Ei tarvita erityistä vierasagenttia MN toimii yleensä itse omana vierasagenttinaan neighbor discovery stateless address autoconfiguration Paremmat turvallisuuspiirteet mm. estämään väärennetyt osoitemuutokset ja toistohyökkäykset (replay attack)
268
Tehokkaampi kotiagentin löytäminen
Reitin optimointi turvalaajennoksen avulla MN voi ilmoittaa oman uuden osoitteensa suoraan lähettäjille binding updates/acks/requests kolmioreititystä ei tarvitse turvattomuuden takia käyttää Route Optimization Tehokkaampi kotiagentin löytäminen Dynamic Home Agent Discovery lähetetään Binding Update-sanoma kotiagenteille anycast- osoitteella, jolloin vain yksi ehkä useasta kotiagentista vastaa. Kotiagentin osoite voi olla muuttunut poissaolon aikana lähdereititysotsakkeen avulla saadaan tehokas kapselointi two-hop source route Filteroivien palomuurien läpäisy
269
5. 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
270
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?
271
=> ruuhkaa jos ==> C1 C2 C3 C4 ==>
272
ruuhkan valvonta <=> vuon valvonta
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
273
‘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
274
‘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
275
lähetyskäyttäytymisen muuttaminen ruuhkan vähentämiseksi
liian hidas reagointi => ruuhka kasvaa liian nopea reagointi => heiluriliikettä
276
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
277
Ruuhkanvälttämispolitiikat
siirtoyhteyskerros uudelleenlähetyspolitiikka epäjärjestyksessä saapuneiden talletuspolitiikka kuittauspolitiikka, vuon valvontapolitiikka, verkkokerros virtuaalipiiri <=> tietosähke pakettien jonotuspolitiikka pakettien poistamispolitiikka reititysalgoritmi pakettien elinikä
278
kuljetuskerros uudelleenlähetyspolitiikka
epäjärjestyksessä saapuneiden talletuspolitiikka kuittauspolitiikka vuon valvontapolitiikka ajastinaikojen asetukset
279
Päästäpäähän ruuhkanvalvonta (end-to-end)
TCP käyttää Kaikki tieto lähettäjän ja vastaanottajan välillä Verkkokerros ei anna mitään lisätietoa eikä avusta ruuhkanvalvonnassa IP-kerros ei välitä ruuhkainformaatiota Poikkeuksena ehdotettu ECN ja RED-jono
280
Verkonavustama ruuhkanvalvonta
Reitittimet antavat lähettäjille tietoa verkon ruuhkautumisesta Yksittäinen bitti kertoo ruuhkasta linkissä Reititin kertoo, millä nopeudella linkillä voi lähettää Tieto voidaan lähettää suoraan lähettäjälle Hillintäpaketti (Choke packet) tai liittää se vastaanottajalle menevään pakettiin ECN-ehdotus Hitaaampi tapa
281
Atm ABR ruuhkanvalvonta
ABR (available bit rate) Atm-soluja (‘pieniä paketteja’) kuljetetaan lähettäjältä vastaanottajalle useiden kytkimien (‘reitittimien’) läpi. Soluvirrassa on datasolujen lisäksi erityisiä hallintasoluja RM-soluja Välittävät mm. ruuhkaan liittyviä tietoja reitittimien ja isäntäkoneiden välillä
282
Tieto ensin vastaanottajalle
RM RM RM RM RM RM RM RM RM
283
Tieto suoraan lähettäjälle
RM RM RM
284
Lähetysnopeuteen perustuva
sovitaan tietystä lähetysmäärästä vastaanottajalle tietoa ruuhkasta EFCI-bitti (explicit forward congestion indication bit) ilmoittaa vastaanottajlle ruuhkasta; ruuhkautunut reititin asettaa vastaanottaja lähettää ruuhkasta kertovan RM-solun lähettäjälle (CI-bitti (congestion indication) asetettuna) RM-solun CI -ja NI -bitit (no increase) reititin asettaa: NI-bitti = lievä ruuhka CI-bitti = vakava ruuhka vasataanottaja palauttaa RM-solun lähettäjälle RM-solun ER-kenttä kertoo todellisen siirtonopeuden ruuhkainen reititin voi asettaa kentän arvon pienemmäksi kaikille rreitin reitittimille alempimarvo
285
Liikenteen tasoitus (traffic shaping)
liikenne tyypillisesti purskeista juuri purskeisuus aiheuttaa ruuhkaisuutta tasoitetaan liikennevirtaa puskurilla puskuri toimii jonona vuotava ämpäri vuoromerkkiämpäri liikennevirran määrittely määrittelee asiakkaan oikeudet ja velvollisuudet
286
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
287
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
288
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
289
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
290
hidastuspaketti (choke packet)
voidaan käyttää kaikenlaisissa verkoissa reititin tarkkailee kuormitusta ulosmenolinjojen käyttöastetta jonopituuksia esim Unew = aUold + (1-a)f a kuinka nopeasti aikaisempi historia unohtuu f kuormitettu vai ei ( o tai 1)
291
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ö
292
Hidastuspaketin ongelmia:
lähettäjän hidastus vapaaehtoista reilu jonotus: kullakin lähettäjällä oma jono jokaiseen ulosmenolinjaan A B C Lähetetään vuorotellen eri jonoista.
293
Hidastuspaketin vaikutuksen hitaus pitkillä linjoilla Ratkaisu:
ei pelkästään lähettäjälle myös välissä olevat reitittimet alkavat hidastaa
294
Kuorman kevennys (Load Shedding)
tuhotaan paketteja => kuorma kevenee reititin täyttyy: mitä paketteja tuhotaan? reititin 13 12 11 10 9 8 7 6 FTP: tuhotaan 8 => paketit 8-11 uudelleen tuhotaan 11 => paketti 11 uudelleen video: ?
295
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
296
Vuopohjainen reititys (Flow-Based Routing)
viive = jonotusaika + siirtoaika etsitään pienin mahdollinen viive koko verkolle tunnettava verkon topologia kapasiteettimatriisi eri linkkien kapasiteetti liikennematriisi eri solmujen välinen liikenne alustava reititys
297
lasketaan T = 1/( C - ) (jonoteoriasta)
kunkin linjan kuormitus i keskim. pakettien määrä kullakin linjalla Ci keskim. pakettikoko = 1/esim bittiä) keskim viive kullekin linjalle T = 1/( C - ) (jonoteoriasta) 1/ = keskim. paketin koko bitteinä C = kapasiteetti bps = keskim. pakettivirta (kuormitus) paketteina sekunnissa
298
eri reititysalgoritmien vertailu
koko verkon viive painotettu keskiarvo eri linkkien viipeistä painotuksena linkin osuus koko liikenteestä eri reititysalgoritmien vertailu lasketaan erikseen kaikille reititysvaihtoehdoille mahdollinen, vaikka raskas valitaan ‘paras’ edellyttää kuormituksen pysyvän melko samanlaisena ei oikein sovellu koko ajan muuttuvaan verkkoon
299
Piirikytkentäisten verkkojen reititys
lyhyin polku (Shortest path first) (ABD tai ACD) vähiten kuormitettu polku (Least loaded path) (ABCD) eniten vapaita piirejä omaava polku (Maximum free circuit) (ABD) 35/70 5/20 19/20 1/19 6/20 B D A C A/B B = linkin kapasiteetti A= siitä käytössä oleva osuus, esim. piirien määränä
300
Piirikytkentäisissä verkoissa
kaikki reitittimet tietävät kaikkien linkkien tilan linkkitilatyyppinen reititys tietojen oikeellisuus ja ajantasaisuus tärkeää 37/70 D B 2/19 5/20 10/10 6/20 A C 19/20
Samankaltaiset esitykset
© 2024 SlidePlayer.fi Inc.
All rights reserved.