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 - wq)*avg + wq*q else m = f(time - q_time) avg = (1-wq) m * avg if minth <= avg < maxth increment count calculate probability pa: pb = maxp*(avg - minth)/(maxth - minth) pa = pb/(1 - count*pb) with probability pa: 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 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: wq: queue weight (default value = 0.002) minth: minimum threshold for queue (default value = 5 pkts) maxth: maximum threshold for queue (default value = 3x minth) maxp: maximum value for pb (default value = 0.1 Other: pa: 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 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 60 61 ECN: lisäys IP-arkkitehtuuriin Muutokset TCP:hen 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än bitit 6 ja 7 IPv6: Traffic Class -kentän bitit 6 ja 7 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 U A P R S F head. Reserved R C S S Y I G K H T N N Length 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 62 63 Page1 1
Yhteydenmuodostus Yhteyden muodostusvaiheessa sovitaan ECN:n käytöstä ECN Echo -lipuke ja CWR -lipuke Client Server SYN (ECN, CWR) 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 SYN ACK (ECN) Time Time 64 65 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 3. IP-protokolla, ARP, ICMP, DHCP, CIDR, NAT 66 67 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 R=Reititin H=Isäntäkone Internet (yksinkertaistettu näkemys) n 68 69 Page2 2
IP-protokolla IP-palvelut 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 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 70 71 IP-otsake IP-osoitteet Versio IHL TOS Datasähkeen pituus (tavuja) Tunniste Flag Fragmentin siirtymä Elinaika Protokolla otsakkeen tarkistussumma Lähettäjän IP-osoite Vastaanottajan IP-osoite Optiot (jos on käytössä) 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) data 72 73 Osoiteluokat 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 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 74 75 Page3 3
IP Forwarding 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: - Selvitä reitti (seuraava etappi) * Suora reitti (omassa verkossa) * Epäsuora reitti Paketin vastaanotto: - Paketti ylemmän protokolla jonoon - Paketti välitetään eteenpäin (vain, jos sallittu) - Paketti hylätään 76 77 Reititystaulujen ylläpito ARP (Address Resolution Protocol) 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 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 78 79 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 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ää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 80 81 Page4 4
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 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 http://www.iana.org/assignments/icmp-parameters parameters 82 83 Type 11: Time-To To-Live exceeded Type 12: Parameter problem IP-paketti hävitettiin, koska sen elinaika ehti kulua umpeen Code 0 = time to live exceeded in transit; 1 = fragment reassembly time exceeded. 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 84 85 Type 4: Source quench Router advertisement / discovery Address mask request / reply 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 Router advertisement / router discovery (Type= 10 / 9) Reitittimet mainostavat aika ajoin olemassaolostaan (Router advertisement yleislähetys / monilähetys) Voidaan käyttää oletusreitittimen valintaan / konfigurointiin Mainostuksia ei kovin usein ==> kone voi myös pyytää reitittimiä lähettämään mainoksensa (router discovery ) Address mask request /reply (Type = 17 / 18) Lähiverkossa kone voi kysyä aliverkkomaskia lähiverkon reitittimeltä Helpottaa uuden koneen tuloa verkkoon 86 87 Page5 5
Type 5: Redirect Echo-sanomat 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 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 88 89 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 Page6 6