RED lähteitl hteitä Floyd, S., and Jacobson, V.: Random Early Detection gateways for Congestion Avoidance,, IEEE/ACM Transactions on Networking, Vol. 1, No. 4, August 1993, p. 397-413. Sally Floyd n n RED Web-sivu: http://www.icir.org/floyd/red.html 58 Detailed algorithm for a RED router Initialization: avg = 0 count = -1 for each packet arrival calculate the new average queue size avg: if the queue is nonempty avg = (1 - w q)*avg + w q*q else m = f(time - q_time) avg = (1-w q)m * avg if min th <= avg < max th increment count calculate probability p a: p b = maxp*(avg - min th)/(max th - min th) p a =p b/(1 - count*p b) with probability p a: mark the arriving packet count = 0 else if maxth <= avg mark the arriving packet count = 0 else count = -1 when queue becomes empty q_time = time 59 Page1 1
Variables/parameters for the RED algorithm Saved Variables: avg: average queue size q_time: start of the queue idle time count: packets since last marked packet Fixed Parameters: w q: queue weight (default value = 0.002) min th: minimum threshold for queue (default value = 5 pkts) max th: maximum threshold for queue (default value = 3x min th) max p: maximum value for p b (default value = 0.1 Other: p a: current packet-marking probability q: current queue size time: current time f(t): a linear function of the time t f(t) = t/s s = a typical transmission time for a small packet 60 ECN (Explicit Congestion Notification) K. K. Ramakrishnan,, S. Floyd, D. Black: The Addition of Explicit Congestion Notification (ECN) to IP, RFC 3168, September 2001. (STATUS: Proposed Standard) Tavoite: AQM:n ja eksplisiittisen ruuhkasta ilmoittamisen yhdistäminen Pyritää ään välttämään pakettien pudottamista, ilmoittamalla alkavasta ruuhkasta ilman paketin pudottamista (ennen kuin joudutaan pudottamaan paketti) Vähentää pudotettujen pakettien määrää ja verkon kuormaa TCP:n suorituskyky kasvaa, koska turhista pakettien pudotuksista ei tarvitse enää toipua 61 Page2 2
ECN: lisäys IP-arkkitehtuuriin Käyttöön IP-otsakkeesta 2 bittiä, joita käytetään ruuhkasta ilmoittamiseen,, 4 arvoa 00: Not-ECT (Not ECN-Capable Capable Transport) - kertoo, että kuljetuskerros ei kykene käsittelemään ruuhkailmoituksia (Explixit Congestion Notification) 10 ja 01: ECT(0) ja ECT(1) (ECN-Capable Capable Transport) - kertoo, että kuljetuskerros kykenee käsittelemään ruuhkailmoituksia (Explixit Congestion Notification) 11: CE-bitti (Congestion Experienced) - reititin asettaa,, kun on havainnut ruuhkaa - esim.. kun RED-algoritmin jononpituus indikoi ruuhkaa * Pudottamisen sijaan RED-reititin merkitsee paketin IPv4: TOS-kent kentän bitit 6 ja 7 IPv6: Traffic Class -kentän bitit 6 ja 7 62 Muutokset TCP:hen ECN Echo ja CWR lipukkeet (bitit 8 ja 9) TCP-otsakkeen varattu -kentässä 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 TCP head. Length Reserved U A P R S F R C S S Y I G K H T N N Sovittava vastapuolen kanssa ECN:n käytöstä osattava reagoida CE-asetukseen vastaanottajan ilmoitettava lähettäjälle ruuhkasta - ECN Echo -lipuke TCP-otsakkeessa lähettäjän hidastettava lähetysvauhtiaan,, kun saa tiedon ruuhkasta lähettäjän ilmoittava vastaanottajalle, että on reagoinut ruuhkaan - Congestion Window Reduced (CWR) -lipuke TCP- otsakkeessa 63 Page3 3
Yhteydenmuodostus Yhteyden muodostusvaiheessa sovitaan ECN:n käytöstä ECN Echo -lipuke ja CWR -lipuke Client Server SYN (ECN, CWR) SYN ACK (ECN) Time Time 64 Kun käytöstä on sovittu, lähetettyjen IP-pakettien ECT- kenttä on asetettu - jos ei ole asetettu, ei reitittimien eikä vastaanottajan tule reagoida kun vastaanottaja saa ruuhkasta ilmoittavan IP-paketin paketin, sen tulee kuittauksessa asettaa ECN Echo -lipuke ECN Echo -lipuke asetetaan kuittauksiin niin kauan, kunnes saadaan paketti, jossa CWR-lipuke on asetettu 65 Page4 4
Kun lähettäjä saa kuittauksen, jossa ECN Echo- lipuke on asetettu, niin sen tulee puolittaa ruuhkaikkuna pienentää hitaan aloituksen lopettamisen kynnysarvoa toiminta sama kuin paketin kadotessa, muttei uudelleenlähetyst hetystä vähennys korkeintaan kerran yhden kiertoviiveen aikana 66 3. IP-protokolla, ARP, ICMP, DHCP, CIDR, NAT 67 Page5 5
IP-protokolla Internet Verkkojen verkko kokoelma itsenäisiä (ali)verkkoja eli autonomisia järjestelmiä (AS, Autonomous Subsystem) joita yhdistävät reitittimet erilaisten runkolinjojen avulla Isänt ntäkoneet verkon reunoilla (Edge) IP-protokolla Tarjoaa maailman laajuisen virtuaaliverkon Verkkotason protokolla, joka pitää Internetin koossa Kuljettaa paketin (IP datagram) lähteestä kohteeseen yli kaikkien tarpeellisten verkkojen Etappivälitys litys: reitittimet välittävät 68 Internet (yksinkertaistettu näkemys) n R=Reititin H=Isäntäkone 69 Page6 6
IP-protokolla Yhdistää hyvin erilaiset verkot yhteentoimivaksi kokonaisuudeksi kaikkien käytettk ytettävä samaa IP-protokollaa kaikkien käytettk ytettävä samaa IP-osoitustapaa Kunkin linkin (verkon) tarvitsee osata vain kuljettaa dataa (paketti) solmulta toiseen samaan linkkiin kytketylle solmulle Host Host Host Router Router Router 70 IP-palvelut Yksikäsitteiset sitteiset osoitteet Pakettien välitys/siirto v (Forwarding) Jos ei tälle t koneelle, niin siirrä seuraavalle etapille Jos tälle t koneelle, niin anna ylemmälle lle protokollamodulille Pakettien pilkkominen (fragmenteiksi) Pakettien kokoaminen 71 Page7 7
IP-otsake Versio IHL TOS Datasähkeen pituus (tavuja) Tunniste Lähettäjän IP-osoite Vastaanottajan IP-osoite Flag Fragmentin siirtymä Elinaika Protokolla otsakkeen tarkistussumma Optiot (jos on käytössä) data 72 IP-osoitteet Jokaisella verkon isänt ntäkoneen ja reitittimen verkkoliitynnäll llä on oma yksikäsitteinen sitteinen osoite muotoa verkon numero isänt ntäkoneen numero Solmulla voi olla useita osoitteita Jos kone kuuluu useaan verkkoon (multihomed) Liitynnöilla illa eri verkkonumerot IPv4:n osoite on 32-bittinen luokallinen reititys (A-,, B-B ja C-luokan C osoitteet) 73 Page8 8
Osoiteluokat 0 8 16 24 31 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 74 Osoiteluokat A-luokka: 126 verkkoa, ~16 miljoonaa konetta/verkko B-luokka: 16382 verkkoa, 65534 konetta/verkko C-luokka: noin ~2 miljoonaa verkkoa, kussakin korkeintaan 254 konetta D-luokka: monilähetysosoite E-luokka: varattu tulevaan käyttk yttöön Myös s aliverkotettujen osoitteiden käyttk yttö yleistä Aliverkkopeite muuttaa verkko-osoitteen osoitteen osuutta A-luokan verkko-osoite osoite 127.0.0.0 varattu testisilmukka (loopback) osoitteiksi Yleensä joka koneella paikallinen osoite 127.0.0.1 75 Page9 9
IP Forwarding Jokaisella koneella reititystaulu Reititystaulun alkiossa: <kohde, seuraavan etapin IP-osoite> Kohteena voi olla - Verkko (verkkotunniste) - Yksittäinen inen kone (IP-osoite) - Oletusreitti IP-kerros toimii samoin kaikissa koneissa Paketin lähetys: l - Selvitä reitti (seuraava etappi) * Suora reitti (omassa verkossa) * Epäsuora reitti Paketin vastaanotto: - Paketti ylemmän n protokolla jonoon - Paketti välitetv litetään n eteenpäin (vain, jos sallittu) - Paketti hylätää ään 76 IP Forwarding 77 Page 10 10
Reititystaulujen ylläpito Manuaalisesti (isänt ntäkoneet aiemmin) ICMP routing redirect ICMP router advertisement DHCP Reititysprotokollat (reitittimet) (HELLO) RIP, Routing Information Protocol OSPF, Open Shortest Path First EGP, Exterior gateway Protocol BGP, Border Gateway Protocol 78 ARP (Address Resolution Protocol) Yleislähetysverkoissa Kohde samassa verkossa, miten saadaan selville kohteen MAC-osoite, kun sen IP-osoitet tiedetää ään Yleislähetys verkkoon Kenellä on IP-osoite A.B.C.D Kohde vastaa MAC-osoitteensa Tulos ARP-välimuistiin (ARP-cache) Säilytetään n joitakin minuutteja Tarkkaillaan myös s muiden kyselyjä Kyselijä voi laittaa oman IP-osoite <=> MAC- osoite kuvauksen pyyntöö öön n mukaan ==> muut oppivat samalla 79 Page 11 11
ICMP (Internet Control Message Protocol) ICMP (RFC 792) ICMPv6 (RFC 2463) Verkkoinformaation välittv littämiseen isänt ntäkoneiden ja reitittimien välillä, esim: reitittimet ilmoittavat verkon ongelmista toisilleen reitittimet ilmoittavat lähetysten l kohtalosta isänt ntäkoneille "Destination network unreachable" testauspakettien lähettl hettäminen Toteutettu IP-protokollan yhteyteen 80 ICMP-sanomat kapseloidaan IP-paketteihin TCP- ja UDP-segmenttien tavoin IP-paketin protokollakentäss ssä ICMP (prokolla = 1) => paketti annetaan ICMP:n käsiteltk siteltäväksi ICMP-sanomassa tyyppi + koodi kertovat sanoman tyypin (á( 1 tavu) varmistussumma (16 bittiä) Vaihteleva mää äärä dataa riippuen tyypistä ja koodista: Esim. IP-otsake ja 8 datatavua ICMP-virhesanoman aiheuttaneesta IP-paketista, jotta vastaanottaja tietää ää, mikä IP-paketti aiheutti virhesanoman 81 Page 12 12
ICMP Message Types 0 Echo Reply 3 Destination Unreachable 4 Source Quench 5 Redirect 8 Echo 9 Router advertisement 10 Router Discovery 11 Time Exceeded 12 Parameter Problem 13 Timestamp 14 Timestamp Reply 15 Information Request (Obsoleted( Obsoleted) 16 Information Reply (Obsoleted( Obsoleted) 17 Address Mask 18 Address Reply http://www.iana.org/assignments/icmp-parameters parameters 82 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 83 Page 13 13
Type 11: Time-To To-Live exceeded IP-paketti hävitettiin, koska sen elinaika ehti kulua umpeen Code 0 = time to live exceeded in transit; 1 = fragment reassembly time exceeded. 84 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 ssä Sanoma lähetetl hetetään n vain, jos IP-paketti joudutaan virheen takia hävitth vittämään n eikä ko. virhettä varten ole omaa ICMP-sanomaa 85 Page 14 14
Type 4: Source quench Tällä voidaan ilmoittaa lähettl hettäjälle, että sen tulee vähentää lähettämistään reititin joutuu hävitth vittämään n paketteja puskuristaan vastaanottaja ei ehdi käsitellk sitellä paketteja sitä vauhtia,, kun niitä tulee HUOM! KäyttK yttöä ei suositella (=ei pidä käyttää /RFC 1812) TCP-ruuhkanvalvonta TCP-vuonvalvonta 86 Router advertisement / discovery Address mask request / reply Router advertisement / router discovery (Type= 10 / 9) Reitittimet mainostavat aika ajoin olemassaolostaan (Router advertisement yleislähetys / monilähetys) Voidaan käyttk yttää oletusreitittimen valintaan / konfigurointiin Mainostuksia ei kovin usein ==> kone voi myös s pyytää reitittimiä lähettämään n mainoksensa (router discovery ) Address mask request /reply (Type = 17 / 18) Lähiverkossa kone voi kysyä aliverkkomaskia lähiverkonl reitittimeltä Helpottaa uuden koneen tuloa verkkoon 87 Page 15 15
Type 5: Redirect Reititin voi pyytää isänt ntäkonetta lähettl hettämään n tietylle kohteelle osoitetut paketit 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 88 Echo-sanomat Type 0: echo reply Type 8: echo request Echo-pyynn pyynnön n sanoma tulee palauttaa echo- vastauksessa ping-ohjelma lähettää echo-pyynn pyynnön n koneelle ja pyynnön n vastaanottanut kone palauttaa sen 89 Page 16 16
Timestamp-sanomat sanomat type 13: timestamp message type 14: timestamp reply message lähettäjä leimaa lähettl hettäessään ja vastaanottaja saadessaan ja uudelleenlähett hettäessään The timestamp is 32 bits of milliseconds since midnight UT. Käyttöajatus mm. reitittimien kellojen synkronointiin Sittemmin NTP-protokolla otettu käytöön kellojen synkronoimiseksi 90 Page 17 17