TCP Explicit Congestion Notification

Podobné dokumenty
Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Nezávislé unicast a multicast topologie s využitím MBGP

Semestrální projekt do předmětu SPS

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

QoS na MPLS (Diffserv)

ZÁKLADNÍ ANALÝZA SÍTÍ TCP/IP

BEZTŘÍDNÍ SMĚROVÁNÍ, RIP V2 CLASSLESS ROUTING, RIP V2

VLSM Statické směrování

3. Linková vrstva. Linková (spojová) vrstva. Počítačové sítě I. 1 (5) KST/IPS1. Studijní cíl

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Možnosti Multi-Topology Routing v Cisco IOS (ISIS, OSPF, BGP, EIGRP)

VLSM Statické směrování

Cisco IOS TCL skriptování využití SMTP knihovny

MPLS Penultimate Hop Popping

Podpora QoS (L2, L3) na DSLAM Zyxel IP Express IES 1000

Analýza aplikačních protokolů

Použití Virtual NAT interfaces na Cisco IOS

Projekt VRF LITE. Jiří Otisk, Filip Frank

GRE tunel APLIKA ˇ CNÍ P ˇ RÍRU ˇ CKA

VRRP v1+v2, konfigurace, optimalizace a reakce na události na plaformě RouterOS

5. Směrování v počítačových sítích a směrovací protokoly

Přednáška 3. Opakovače,směrovače, mosty a síťové brány

Ověření možností generování provozu na platformě MikroTik + srovnání s Cisco a Open Source řešeními

Analýza síťového provozu. Ing. Dominik Breitenbacher Mgr. Radim Janča

Obsah PODĚKOVÁNÍ...11

Možnosti vylaďování subsecond konvergence EIGRP

Možnosti IPv6 NAT. Lukáš Krupčík, Martin Hruška KRU0052, HRU0079. Konfigurace... 3 Statické NAT-PT Ověření zapojení... 7

Access Control Lists (ACL)

Základy IOS, Přepínače: Spanning Tree

L2 multicast v doméně s přepínači CISCO

Zajištění kvality služby (QoS) v operačním systému Windows

Uživatelský manuál WEB SERVICE V3.0 IP kamer Dahua

Programování síťové služby Sniffer OSPFv2 a OSPFv3

4. Síťová vrstva. Síťová vrstva. Počítačové sítě I. 1 (6) KST/IPS1. Studijní cíl. Představíme si funkci síťové vrstvy a jednotlivé protokoly.

L2 multicast v doméně s přepínači CISCO

Analýza protokolů rodiny TCP/IP, NAT

Přepínaný Ethernet. Virtuální sítě.

Route reflektory protokolu BGP

7. Aplikační vrstva. Aplikační vrstva. Počítačové sítě I. 1 (5) KST/IPS1. Studijní cíl. Představíme si funkci aplikační vrstvy a jednotlivé protokoly.

Počítačové sítě pro V3.x Teoretická průprava II. Ing. František Kovařík

Další nástroje pro testování

Implementace Windows Load Balancingu (NLB)

The Locator/ID Separation Protocol (LISP)

Hot Standby Router Protocol (zajištění vysoké spolehlivosti výchozí brány)

Abychom se v IPv6 adresách lépe orientovali, rozdělíme si je dle způsobu adresování do několika skupin:

Y36PSI QoS Jiří Smítka. Jan Kubr - 8_rizeni_toku Jan Kubr 1/23

MPLS MPLS. Label. Switching) Michal Petřík -

Zone-Based Firewall a CBAC na Cisco IOS

3.17 Využívané síťové protokoly

Řešení priority provozu v síti

QoS MIB na ISR routerech s Cisco IOS - možnosti čtení QoS konfigurace a aktuálních statistik

Technologie počítačových sítí

Multiple Event Support

Relační vrstva SMB-Síťový komunikační protokol aplikační vrstvy, který slouží ke sdílenému přístupu k souborům, tiskárnám, sériovým portům.

6. Transportní vrstva

Vlastnosti podporované transportním protokolem TCP:

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

TPS projekt. QoS MIB na ISR routerech s Cisco IOS - možnosti čtení QoS konfigurace a aktuálních statistik. Filip Volný, vol0015 Jakub Drešl, dre0009

Počítačová síť. je skupina počítačů (uzlů), popřípadě periferií, které jsou vzájemně propojeny tak, aby mohly mezi sebou komunikovat.

1 Protokol TCP/IP (Transmission Control Protocol/Internet Protocol) a OSI model

Definice pojmů a přehled rozsahu služby

SEMESTRÁLNÍ PROJEKT Y38PRO

Směrovací protokol Mesh (802.11s) na platformě Mikrotik

12. Virtuální sítě (VLAN) VLAN. Počítačové sítě I. 1 (7) KST/IPS1. Studijní cíl. Základní seznámení se sítěmi VLAN. Doba nutná k nastudování

Střední odborná škola a Střední odborné učiliště, Hořovice

Pokročilé možnosti DHCP serveru v Cisco IOS. Vladimír Jarotek

Podsíťování. Počítačové sítě. 7. cvičení

Typická využití atributu Community protokolu BGP - modelové situace

Konfigurace DHCP serveru a překladu adres na směrovačích Cisco

Kapitola 1 Představení SIP telefonu

JAK ČÍST TUTO PREZENTACI

32-bitová čísla Autonomních Systémů v protokolu BGP

Y36PSI Protokolová rodina TCP/IP

Telekomunikační sítě Protokolové modely

PIM Dense mode State Refresh

Připojení do PC aplikace Camera Live

Počítačové sítě ZS 2012/2013 Projekt návrhu sítě zadání

Inovace výuky prostřednictvím šablon pro SŠ

Protokol GLBP. Projekt do předmětu Správa počítačových systémů Radim Poloch (pol380), Jan Prokop (pro266)

Provozní statistiky Uživatelský manuál

Úvod do analýzy. Ústav informatiky, FPF SU Opava Poslední aktualizace: 8. prosince 2013

Y36SPS QoS Jan Kubr - Y36SPS 1 5/2008

Počítačové sítě. Lekce 4: Síťová architektura TCP/IP

Komunikační protokoly počítačů a počítačových sítí

Routování směrovač. směrovač

ZAŘÍZENÍ PRO VZDÁLENÝ SBĚR A PŘENOS DAT FIRMWARE

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

e1 e1 ROUTER2 Skupina1

Technologie MPLS X36MTI. Michal Petřík

Střední odborná škola a Střední odborné učiliště, Hořovice

EIGRP funkce Stub. Jiří Boštík (BOS031)

32-bitová čísla Autonomních Systémů v protokolu BGP

Počítačové sítě. Miloš Hrdý. 21. října 2007

Při konfiguraci domácího směrovače a bezdrátové sítě se setkáte s obrovským počtem zkratek, jejichž význam je jen málokdy dostatečně vysvětlen.

Operační systémy 2. Firewally, NFS Přednáška číslo 7b

1. Integrované služby (Integrated services IntServ) 2. Rozlišované služby (Differentiated services diffserv)

Název školy: Základní škola a Mateřská škola Žalany. Číslo projektu: CZ. 1.07/1.4.00/ Téma sady: Informatika pro devátý ročník

Počítačové sítě. Počítačová síť. VYT Počítačové sítě

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Popis a ověření možností přepínacího modulu WIC- 4ESW pro směrovače Cisco

Transkript:

TCP Explicit Congestion Notification Dziwisz(dzi033), Slivečka(sli167), Kolář(kol0067) Abstrakt: V tomto projektu máme za úkol teoreticky popsat TCP Explicit Congestion Notification. Jedná se o adaptivní řízení vnucovaného toku mezilehlými routery. Dále jej máme porovnat s ECN v IP protokolu a na závěr odzkoušet ECN na aktuální OS s použitím Cisco směrovačů. Klíčová slova: ECN, TCP ECN, IP ECN, Explicit Congestion Notification, Adaptivní řízení toku, Cisco 1 Seznámení s ECN...2 2 IP a TCP ECN a jejich funkce...2 2.1 IP ECN...2 2.2 TCP ECN...2 3 Praktická realizace...3 3.1 Topologie...3 3.2 Nastavení ECN na směrovači...3 3.3 Nastavení ECN na PC...4 3.4 Kontrola funkčnosti skrze směrovač...4 3.5 Kontrola funkčnosti skrze Wireshark...4 3.6 Další možnosti kontroly...6 4 Závěr...8 5 Použité zdroje...8 květen 2013 1/8

1 Seznámení s ECN TCP ECN je metoda, která hlásí koncovým zařízením blížící se přehlcení sítě. Tuto zprávu generují mezilehlé směrovače (v našem případě CISCO). Jedná se o určitý typ QoS. Poskytuje TCP paketům podporu, ve smyslu zvýhodnění paketů, citlivých na zpoždění či ztrátu. Jedná se například o Telnet, webové prohlížení, přenos audia a videa. Výhoda použítí je v redukci zpoždění a ztráty paketů při přenosu. ECN nezahazuje pakety, ale označuje je pomocí značek (tzv. flag). Kromě přidání na mezilehlé směrovače, musíme ECN přidat i na koncová zařízení (musí ji používat obě koncová zařízení). Tato možnost se v řadě distribucí Linuxu zapíná implicitně. Avšak zdaleka ne všechna síťová zařízení, jako např. firemní směrovače (včetně hardwarových řešení značky jako je Cisco) a nedokonale spravované servery, podporují ECN správně: paket označený tcp příznakem ECN například zahodí jako neplatný jen proto, že ve starší specifikaci normy je bit označen jako rezervovaný, byť zároveň norma v takovém případě přikazuje bit ignorovat. Na požadavek uživatele pak nepřijde žádná odpověď, což prohlížeč interpretuje jako nefunkční web. Pokud směrovač ECN nepodporuje, má congestion bit ignorovat a nic hrozného se nestane nikomu. [1] 2 IP a TCP ECN a jejich funkce Když je ECN úspěšně nakonfigurováno, tak se v IP hlavičce používají pro funkci dva speciální bity (viz. Obrázek 1) a přestane docházet k zahazování paketů, jako třeba u QoS funkce WRED. Poté samotný směrovač odešle ECHO paket zpět odesílateli, aby odesílatel věděl, že jeho paket byl zvolen k zahození a tedy by se měla redukovat rychlost přenosu. Pro ECN se musí používat jak čtvrtá, tak třetí vrstva referenčního modelu ISO OSI. Směrovače se mezi sebou domlouvají na třetí vrstvě a to pomocí již zmíněných bitů v Ip hlavičce. Poté ale směrovače komunikují s koncovými stanicemi pomocí vrstvy čtvrté (odeslání ECHO paketu). Proto je ECN rozděleno v následujících podkapitolách na IP a TCP ECN. [2][5] 2.1 IP ECN Pracuje tak, že používá dva 2 bity v IPv4 nebo IPv6 hlavičce, podle následujícího schématu: 00: bez ECT 10: ECN Capable Transport ECT(0) 01: ECN Capable Transport ECT(1) 11: Congestion Encountered CE Obrázek 1: ECN v hlavičce IP a TCP paketu[4] Když obě koncová zařízení podporují ECN, tak označí své IP pakety ECT(1) a nebo ECT(0) podle obrázku. Pokud směrovače podporují jiný typ QoS (např. RED), tak mohou být pakety místo zahození označeny jako CE. Tomuto se říká značkování (marking) a je to informace o hrozícím přetížení linky a je informován odesílatel, aby se redukovala přenosová rychlost. Metoda CE může být funkční jen s pomocí TCP.[2][5] 2.2 TCP ECN Pracuje na principu tří značek v hlavičce paketu. První z nich Nonce Sum (NS) je použit k ochraně proti náhodnému, nebo útočnému zatajení označených paketů ze strany vysílače. Zbylé dva bity (ECN-Echo a květen 2013 2/8

CWR Congestion Window Reduced) jsou využity jako signál od směrovače k odesílateli, který říká o jakou velikost má vysílací informaci redukovat. Pokud chceme ECN na TCP použít, musí být vyjednáváno o založení spojení pomocí SYN a SYN-ACK segmentů. Když je spojení založeno, odesílatel indikuje pakety IP, které nesou TCP segmenty tohoto spojení a označí je pomocí ECT. Toto pomůže mezilehlým směrovačům při rozeznávání toho, zda je ECN používáno a posílá je dál. Pokud nastane situace, že má být okénko redukováno, tak namísto zahození paketu (v praxi se používá výraz taildrop) je paket označen tzv. codepoint (CE). Směrovač odesílá koncové stanici značku ECN-ECHO v TCP hlavičce. Když odesílatel dostane odezvu s ECN-ECHO a CWR značkou, tak redukuje plovoucí okénko.[2] [5] Obrázek 2: Komunikace mezi směrovači a koncovými stanicemi[5] 3 Praktická realizace V této části projektu se již zabýváme uvedením ECN do provozu. Používali jsme CISCO směrovače, které musí mít verzi IOS 12.2 (Námi použítá verze 12.4(24)). Dále jsme používali koncová zařízení se systémy Linux Ubuntu a Windows 7 Professional. Jelikož nevlastníme koncové zařízení, na kterém běží Mac OS, neměli jsme možnost odzkoušet tuto verzi systému. 3.1 Topologie Tato topologie má mezi směrovači jeden rozbočovač, který skrze PC a program Wireshark sleduje celý síťový provoz. Na topologii byly přiděleny IP adresy pomocí VLSM a spuštěn směrovací protokol RIPv2 Obrázek 3: Topologie testovacího zapojení s rozbočovačem 3.2 Nastavení ECN na směrovači Pro nastavení na mezilehlých směrovačích stačí zadat jednoduchou sérii příkazů: Zapnout ECN pro TCP: Router(config)# ip tcp ecn květen 2013 3/8

3.3 Nastavení ECN na PC Pro spuštění ECN na koncových stanicích existuje sada příkazů (pro každý operační systém různá). Pro linuxové systémy je to: Kontrola nastavení ecn (výchozí nastavení je na 2): $ sysctl net.ipv4.tcp_ecn net.ipv4.tcp_ecn = 1 Nastavení ecn na hodnotu 1 (zapnuto): # sysctl -w net.ipv4.tcp_ecn=1 net.ipv4.tcp_ecn = 1 Pro nastavení na WINDOWS systémech je to odlišný příkaz: netsh interface tcp set global ecncapability=enabled Pro nastavení na MAC OS (netestováno v praxi): net.inet.tcp.ecn_negotiate_in net.inet.tcp.ecn_initiate_out 3.4 Kontrola funkčnosti skrze směrovač Pro kontrolu lze použít výpis running-config, ve kterém musí být důležitý řádek ip tcp ecn, což znamená, že ECN je spuštěno. Router# show running-config ip tcp ecn Další kontrolou je testovací režim - debug. Když zapneme debug a spustíme program, který je citlivý na ztrátu dat, např. Telnet, můžeme vidět, jak probíhá ECN. Prvním příkazem je spuštěn debug. Druhý příkaž již spouští samotný Telnet a zobrazuje ECN provoz, jež putuje mezi směrovači. Router# debug ip tcp ecn! TCP ECN debugging is on! Router# telnet 10.1.25.31 Trying 10.1.25.31...! 01:43:19: 10.1.25.35:11000 <---> 10.1.25.31:23 out ECN-setup SYN 01:43:21: 10.1.25.35:11000 <---> 10.1.25.31:23 congestion window changes 01:43:21: cwnd from 1460 to 1460, ssthresh from 65535 to 2920 01:43:21: 10.1.25.35:11000 <---> 10.1.25.31:23 in non-ecn-setup SYN-ACK 3.5 Kontrola funkčnosti skrze Wireshark Při správné funkci ECN by se měl mezi směrovači objevovat IP paket s dvěma bity pro ECN zapnuto (ve tvaru 10 nebo 01 viz. Obrázek 4 na šestém řádku) a pokud by mělo dojít k redukci okénka z důvodu přehlcení linky, tak by směrovač měl označit vyhrazené bity jako 11. Tato skutečnosti se nám při měření květen 2013 4/8

potvrdila. Dále jsme také zkoumali příchozí pakety ke koncovým stanicím s oznámením o redukci plovoucího okénka. Obrázek 4: IP zpráva mezi dvěma směrovači s ECN bity (1 0) Následující obrázky ukazují zachycený paket od směrovače směrem ke koncové stanici, na kterém je značka ECN-ECHO = 1. Také je ve zprávě značka s CWR příkazem tedy s příkazem k redukci plovoucího okna. Obrázek 5: Zobrazení jednotlivých značek v TCP hlavičce Obrázek 6: Zachycené pakety ve Wiresharku květen 2013 5/8

Další obrázek ukazuje potvrzení o přijetí požadavku na CWR. Můžeme vidět, že ECN-Echo je stále aktivní a také zde vidíme potvrzení přizajetého paketu Acknowledgement. Obrázek 7: Potvrzení přijetí paketu pro redukci plovoucího okna 3.6 Další možnosti kontroly Pro další možnost kontroly jsme vyřadili prostřední linku s rozbočovačem: Obrázek 8: Topologie zapojení bez použití testovacího PC Nastavili jsme QoS politiku (service-policy), abychom mohli vysledovat provoz za směrovačem 2 (mezi R1 a R2), přičemž jsme využívali telnet z PC2 na PC1. Červené poznámky vysvětlují jednotlivé příkazy: RJ(config)#class-map match-all mapa RJ(config-cmap)#match protocol telnet RJ(config)#policy-map ecn-test RJ(config-pmap)#class mapa RJ(config-pmap-c)#bandwidth percent 50 RJ(config-pmap-c)#random-detect RJ(config-pmap-c)#random-detect ecn RJ(config)#interface fastethernet 0/0 RJ(config-if)#service-policy output ecn-test RJ(config)#do sh policy-map interface fastethernet 0/0 FastEthernet0/0 //vytvoření prostředí pro konfiguraci QoS //přiřazení sledovaného protokolu //vstup do nastavení QoS politiky //přiřazení prostředí pro konfiguraci QoS //nastavení šířky pásma //spuštění detekce ECN paketů //přiřazení na sledovaný interface //zobrazení ecn testu, který jsme vytvořili květen 2013 6/8

Tento test měl v tabulce zobrazovat označené ECN pakety, tedy ty, které byly zvoleny k zahození, ale díky použití ECN nebyly. class Transmitted ECN Random drop Tail drop Mk pkts/bytes marked pkts/bytes pkts/bytes thb 0 0/0 0 0/0 0/0 0 1 0/0 0 0/0 0/0 0 2 0/0 0 0/0 0/0 0 3 0/0 0 0/0 0/0 0 4 0/0 0 0/0 0/0 0 5 0/0 0 0/0 0/0 0 6 0/0 0 0/0 0/0 0 7 0/0 0 0/0 0/0 0 Jak ale můžeme vidět, tak žádný označený paket nebyl odchycen. Důvod neodchycení je popsán v závěru. [3] Pro další testování můžeme použít napříkad TCPdump a filtr (tcp[13]& 0xc0!= 0). Ten jsme z nedostatku času neodzkoušeli. Jednoduchá kontrola funkčnosti a ukázka, jak ECN funguje se dá provést také na jediné stanici, připojené k internetu. Stačí, aby poskytovatel podporoval ECN na směrovačích. Na koncové stanici (která má spuštěný ECN) spustíme Wireshark a zahltíme síť mnoha požadavky (web, streaming a podobně). Poté odchytíme všechna TCP spojení skrze Wireshark. Očekávaný výsledek nalezneme právě například u webového prohlížení, jelikož na úkor ostatních aplikací bude web nucen redukovat své plovoucí okénko a tedy pošle koncovému zařízení značky CWR a ECN-ECHO, což se také potvrdilo. Pokud však síť nezahlcujeme, k žádnému CWR tedy nedochází a proto nejsou odesílány ani ECN-ECHO pakety ke koncové stanici. Obrázek 9: Přijetí ECN-ECHO na koncové stanici květen 2013 7/8

4 Závěr Jelikož se jedná o typ QoS, zjišťování funkčnosti je velice problematické, na rozdíl od konfigurace, která může být uskutečněna pomocí několika příkazů. ECN musí být spuštěno jak na směrovačích, tak na koncových stanicích, jinak je nefunkční. Při vyhodnocování ECN jsme použili dva různé typy kontroly. Prvním typem bylo odchytávání toku mezi mezilehlými směrovači pomocí rozbočovače a testovacího PC, na kterém byl spuštěn Wireshark. Tato metoda byla úspěšná, jak lze vidět v ukázkách výše. Ještě lepších výsledků je dosáhnuto při přeposílání souboru či videa skrze seriové rozhraní, na kterém se dá dobře redukovat rychlost linky. Bohužel pak musí odpadnout sledování IP paketů mezi směrovači, protože zmizí ze zapojení rozbočovač. Druhou metodou bylo vytvoření politické QoS mapy a přiřazení k sledované lince. Tímto způsobem jsme mohli sledovat QoS provoz na zvoleném FastEthernetu. Bohužel bychom museli zahltit směrovač a PC skutečným provozem, abychom dosáhli jistého značkování paketů. Také je možnost, že jsme nenakonfigurovali správně policy-map (např. nastavení šířky pásma). QoS typu ECN funguje tak jak má vcelku jednoduše. Pakety mezi směrovači jsou opravdu označkovávány při přehlcení linky a informace o redukci okénka jsou odesílány směrovači na koncové stanice. O ECN je literatury méně a proto jsme museli déle pátrat, než jsme se dostali ke kvalitnějším literárním zdrojům. 5 Použité zdroje [1] ECN: Explicit Congestion Notification. In: Phil.muni.cz [online]. 2005 [cit. 2013-05-05]. Dostupné z: http://www.phil.muni.cz/~letty/linuxfaq/106-ecn.html [2] Explicit Congestion Notification. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, 2001- [cit. 2013-05-05]. Dostupné z: http://en.wikipedia.org/wiki/explicit_congestion_notification [3] Cisco DQOS: Exam Certification Guide. In: Docstore.mik.ua [online]. 2010 [cit. 2013-05-05]. Dostupné z: http://docstore.mik.ua/cisco/pdf/routing/cisco%20press%20-%20dqos%20exam%20certification %20Guide.pdf [4] SIMULATION-BASED STUDY OF ECN PERFORMANCE IN RED NETWORKS. In: Maom_onet [online]. 2007 [cit. 2013-05-23]. Dostupné z: http://maom_onet.republika.pl/papers/ecn/ecnspects03.pdf [5] Quality of Service (QoS)-Part7. In: Network Horizon [online]. 2013 [cit. 2013-05-28]. Dostupné z: http://networkshorizon.blogspot.cz/2012/04/quality-of-service-qos-part7-congestion.html květen 2013 8/8