České vysoké učení technické v Praze Fakulta elektrotechnická Katedra telekomunikační techniky Optimalizace přenosu dat v kanálech se značně proměnnou propustností a zpožděním Disertační práce Ing. Zbyněk Kocur Doktorský studijní program: Elektrotechnika a informatika Studijní obor: Telekomunikační technika Praha, Únor 2014
ii Školitel: Doc. Ing. Jiří Vodrážka, Ph.D. Katedra telekomunikační techniky Fakulta elektrotechnická České vysoké učení technické v Praze Technická 2 166 27 Praha 6 Česká republika Copyright c 2014 Ing. Zbyněk Kocur
iii Abstrakt a vlastní přínos Předložená práce se zabývá návrhem a optimalizací řídicích algoritmů paketového regulátoru, který dokáže efektivně a automaticky udržovat v paketové síti takové množství dat, aby byla zachována maximální výkonnost přenosu s minimálním zpožděním a ztrátovosti. Paketový regulátor je navrhován jako součást komunikačního systému schopného přenášet data pomocí několika nezávislých přenosových cest v IP síti. V práci je popsán jak samotný návrh paketového regulátoru, tak i jeho optimalizace pro prostředí bezdrátových mobilních sítí. Součástí práce je rovněž návrh metodiky, pomocí které byla funkce navrženého regulátoru ověřena v reálných podmínkách. Hlavní přínosy této doktorské práce jsou následující: Návrh inverzního paketového multiplexoru využívajícího paketový regulátor pro navýšení přenosové rychlosti v paketové síti. Provedení důkladné rešerše podobných řešení využívající vícekanálový paketový přenos v komunikačních sítích. Návrh paketového regulátoru s různým režimem činnosti. Optimalizace návrhu paketového regulátoru pro nasazení v mobilních sítích. Návrh a realizace metodiky měření paketových sítí založený na využití principu mezivrstvové spolupráce. Bližší specifikace definovaných přínosů v podobě cílů disertační práce je uvedena v kapitole 4. Klíčová slova: Internet věcí, paketová síť, TCP/IP, paketový regulátor, měření, kvalita služby.
iv Abstract and contributions The present work Optimization of Data Transmission in Channels with Highly Variable Throughput and Latency deals with the design and optimization of control algorithms packet controller, which can effectively and automatically keep the packet network such amount of data, in order to maintain maximum performance with minimal transmission delay and loss. Packet controller is proposed as part of the communication system capable of transmitting data using several independent transmission paths in an IP network. The work is described as a making of the proposal packet controller, and optimization of the environment for wireless mobile networks. The thesis also proposes a methodology by which the function of the proposed controller tested in real conditions was performed by. The main contributions of this thesis are as follows: Proposal Packet inverse multiplexer utilizing the packet controller to increase the transmission speed packet network. A comprehensive literature search of the similar solutions using the multi-channel packet communication networks. The proposal packet controller with the different modes of operation. The design optimization of the packet controller for use in the mobile networks. The design and implementation of the methodology for measuring of the packet networks based on the use of the principle of adhesion in cooperation. The further specification of the defined benefits in the terms of the objectives of the thesis is presented in Chapter 4. Key words: Internet of Things, Packet Network, TCP/IP, Packet Regulator, Measurement, Quality of Service.
v Prohlášení Prohlašuji, že jsem tuto disertační práci vypracoval samostatně, pouze za odborného vedení svého školitele Doc. Ing. Jiřího Vodrážky, Ph.D. Dále prohlašuji, že veškeré podklady a zdroje, ze kterých jsem čerpal, jsou uvedeny v seznamu použité literatury v souladu s Metodickým pokynem o etické přípravě vysokoškolských závěrečných prací. Nemám závažný důvod proti užívání tohoto školního díla ve smyslu 60 Zákona č.121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon).
vi Poděkování Nejdříve bych rád poděkoval své manželce Veronice a synu Maxmiliánovi za trpělivost, kterou museli vynaložit při mé domácí vědecko-výzkumné činnosti. Velký dík patří mému školiteli Doc. Ing. Jiřímu Vodrážkovi, Ph.D. za špičkové odborné vedení a pomoc s realizací práce. Praktická realizace komunikačního systému a implementace všech kódů do reálného HW by nebyla možná bez Ing. Petera Macejka a Ing. Ondřeje Vondrouše, proto i jim patří velký dík za umožnění ověření všech navržených mechanismů v reálných podmínkách. Rád bych také poděkoval spolupracovníkům na katedře telekomunikační techniky, fakulty elektrotechnické ČVUT v Praze, kteří mi vytvořili potřebné zázemí pro provádění všech experimentů a vždy byli na blízku, když bylo třeba. Má práce byla rovněž podpořena grantem TA ČR v rámci projektu číslo TA02011015 Výzkum a vývoj nového komunikačního systému s vícekanálovým přístupem a mezivrstvovou spoluprací pro průmyslové aplikace řešeného ve spolupráci se společností CertiCon, a.s.
Obsah Abstrakt a vlastní přínos Abstract and contributions Seznam obrázků Seznam tabulek Seznam zkratek iii iv xi xiii xiv 1 Úvod 1 1.1 Motivace k využití více paralelních přenosových cest........... 2 1.2 Definice problémů.............................. 3 1.3 Předchozí práce a výsledky......................... 4 1.4 Struktura práce............................... 5 2 Zvolené metody zpracování 7 2.1 Shromažďování a třídění informací..................... 7 2.2 Metodika zpracování............................ 8 2.2.1 Aplikace zvolené metodiky zpracování............... 9 3 Aktuální stav řešené problematiky 10 3.1 Systémy pro sdružování komunikačních kanálů.............. 10 3.1.1 Uzavřená řešení........................... 11 3.1.1.1 Icomera AB........................ 11 3.1.1.2 Viprinet GmbH...................... 12 3.1.2 Otevřená řešení........................... 14 vii
OBSAH viii 3.1.2.1 Stream Control Transmission Protocol......... 14 3.1.2.2 Multipath TCP...................... 16 3.2 Možnosti regulace datových toků v paketové síti............. 20 3.2.1 Spojová vrstva........................... 21 3.2.2 Síťová vrstva............................ 22 3.2.3 Transportní vrstva......................... 23 3.2.4 Zhodnocení možností regulace na analyzovaných vrstvách.... 23 3.3 Dílčí zhodnocení.............................. 24 4 Cíle disertační práce 26 5 Rozbor řešení 28 5.1 Princip mezivrstvové spolupráce...................... 28 5.2 Inverzní paketový multiplexor....................... 30 5.2.1 Princip činnosti........................... 31 5.2.1.1 Rozřazovací paketový zásobník............. 33 5.2.1.2 Paketový filtr/omezovač................. 35 5.2.1.3 Paketová fronta...................... 35 5.2.1.4 Vstupní paketový zásobník................ 35 5.2.1.5 Skládací paketový zásobník............... 36 5.2.1.6 Řídicí jednotka...................... 37 5.2.2 Komunikační protokol....................... 39 5.2.2.1 Informační pakety.................... 40 5.2.2.2 Monitorovací pakety................... 41 5.3 Teorie nasazení regulátorů v komunikačních sítích............ 42 5.3.1 Základní rozdělení regulátorů................... 44 5.3.2 Diskrétní regulace.......................... 44 5.3.3 Paketová regulace.......................... 45 5.3.3.1 Přenosová rychlost.................... 46 5.3.3.2 Zpoždění......................... 48 5.3.3.3 Ztrátovost......................... 49 5.3.4 Zhodnocení možností paketové regulace.............. 51
OBSAH ix 6 Návrh a optimalizace paketového regulátoru 52 6.1 Řídicí funkce................................ 53 6.1.1 Grafické zobrazení řídicí funkce.................. 54 6.1.2 Nastavení paketového filtru.................... 55 6.2 Monitorování komunikačních kanálů.................... 58 6.2.1 Výpočet vyhlazeného zpoždění ve smyčce............. 59 6.2.2 Volba velikosti monitorovacího intervalu............. 60 6.3 Analýza chování komunikačního kanálu.................. 61 6.3.1 Statické vlastnosti......................... 61 6.3.2 Dynamické vlastnosti........................ 62 6.3.3 Analýza průběhů.......................... 62 6.4 Popis návrhu řídicí funkce......................... 64 6.4.1 Regulace dle lomené čáry...................... 64 6.4.1.1 Výpočet jednotlivých bodů lomené čáry........ 64 7 Praktické ověření 70 7.1 Praktický návrh regulátoru......................... 70 7.1.1 Testovací scénář........................... 71 7.1.2 Výchozí test propustnosti přenosových rozhraní......... 71 7.1.3 Návrh konfigurace přenosového systému............. 73 7.1.3.1 Volba požadovaného zpoždění.............. 73 7.1.3.2 Volba intervalu kontroly přenosové cesty........ 75 7.1.3.3 Vyhlazovací faktor.................... 75 7.1.3.4 Výběr vhodné lomené řídicí funkce........... 75 7.1.4 Ověření navrženého regulátoru včetně odvozených koeficientů.. 77 7.2 Závěr z reálného měření regulátoru.................... 82 8 Závěr 84 8.1 Závěrečné shrnutí.............................. 84 8.2 Splnění vytyčených cílů........................... 84 8.3 Náměty na další směry výzkumu v dané oblasti............. 87 Literatura 88 Standardy 90
OBSAH x Vybrané publikace autora 92 A Měřicí nástroj FlowPing 95 A.1 Motivace vzniku aplikace.......................... 95 A.2 Možnosti aplikace.............................. 95 A.3 Příklady použití............................... 96 A.3.1 Příkazová řádka........................... 96 A.3.2 Definiční soubor........................... 97 B Ukázky naměřených průběhů 100 B.1 Technologie UMTS............................. 100 B.2 Technologie EDGE............................. 102
Seznam obrázků 2.1 Kolbův cyklus učení............................ 8 3.1 Princip funkce komunikačního systému Icomera AB (Obrázek převzat z [L1])...................................... 12 3.2 Principiální znázornění průběhu TCP spojení v systému Viprinet GmbH (Obrázek převzat z [L2])........................... 13 3.3 Ukázka polí (červeně) v záhlaví IP paketů a TCP datagramů, které jsou po průchodu sítí nejčastěji měněny.................... 17 3.4 Zjednodušená ukázka MPTCP sekvenčního automatu (Obrázek převzat z [L3]).................................... 18 5.1 Vrstvový model s vyčleněným komunikačním kanálem.......... 29 5.2 Principiální schéma komunikačního systému............... 31 5.3 Detailní schéma komunikační jednotky přenosového systému...... 32 5.4 Ukázka informačního paketu........................ 40 5.5 Ukázka monitorovacího paketu....................... 42 5.6 Obecné schéma regulačního obvodu.................... 43 5.7 Obecné schéma diskrétního regulačního obvodu............. 45 5.8 Obecné schéma plně diskrétního regulačního obvodu........... 46 5.9 Obecné schéma síťového regulačního obvodu regulujícího přenosovou rychlost................................... 47 5.10 Obecné schéma síťového regulačního obvodu regulujícího zpoždění ve smyčce.................................... 48 5.11 Obecné schéma síťového regulačního obvodu regulujícího ztrátovost.. 50 6.1 Paketový regulátor komunikačního systému................ 53 xi
SEZNAM OBRÁZKŮ xii 6.2 Grafické znázornění převodu regulační odchylky T RT na akční veličinu V P..................................... 54 6.3 Porovnání vlivu jednotlivých koeficientů α na průběh vyhlazení T RT.. 60 6.4 Princip odečtu hodnot statických a dynamických veličin......... 63 6.5 Ukázky lomené řídicí funkce........................ 65 7.1 Topologie měřicí sítě............................ 71 7.2 Definice řídicí lomené funkce pro oba kanály............... 76 7.3 Výsledný průběh regulačního procesu ve zvolené oblasti......... 78 7.4 Mechanismus řízení přenosové rychlosti ve zvolené oblasti........ 79 7.5 Zpoždění ve smyčce během datového přenosu ve zvolené oblasti.... 80 7.6 Výsledná přenosová rychlost ve zvolené oblasti.............. 81 A.1 Průběh testu aplikace FlowPing...................... 97 A.2 Průběh testu aplikace FlowPing s daty z definičního souboru...... 99 B.1 Celkový průběh měření T RT = f ( vout) P programem FlowPing s lineárním nárůstem přenosové rychlosti od 0.01 M bit/s do 5 M bit/s. Svislá modrá čára signalizuje ztrátu paketu.................... 100 B.2 Detail nárůstu zpoždění s vyznačením vyšetřovaných bodů....... 101 B.3 Celkový průběh měření T RT = f ( vout) P programem FlowPing s lineárním nárůstem přenosové rychlosti od 10 kbit/s do 300 kbit/s. Svislá modrá čára signalizuje ztrátu paketu........................ 102 B.4 Detail nárůstu zpoždění s vyznačením vyšetřovaných bodů....... 103
Seznam tabulek 3.1 Zhodnocení možnosti regulace na analyzovaných vrstvách........ 24 7.1 Specifikace experimentálních zařízení použitých při testech....... 72 7.2 Souhrnná tabulka základních parametrů provedeného měření...... 73 7.3 Výsledky měření propustnosti pro protokol TCP ve vzestupném směru na nezatížené mobilní síti.......................... 74 7.4 Parametry přenosového systému...................... 74 7.5 Změřené parametry mobilních sítí na fyzické vrstvě........... 77 7.6 Výsledky měření propustnosti vzestupného směru TCP......... 81 A.1 Ukázka obsahu definičního souboru.................... 98 xiii
Seznam symbolů a zkratek Seznam použitých symbolů Symbol p q t I M T e(t) u(t) v(t) w(t) y(t) e(kt ) u(kt ) w(kt ) y(kt ) v P Význam symbolu index čísla paketu druhá souřadnice průsečíku přímky s osou y čas index čísla rozhraní koeficient strmosti regulační křivky vzorkovací perioda regulační odchylka ve spojitém tvaru akční zásah ve spojitém tvaru poruchová veličina požadovaná hodnota regulované veličiny ve spojitém tvaru řídicí veličina ve spojitém tvaru regulační odchylka v diskrétním tvaru akční zásah v diskrétním tvaru požadovaná hodnota regulované veličiny v diskrétním tvaru regulovaná veličina v diskrétním tvaru aktuální přenosová rychlost v komunikační síti Pokračování na následující straně... xiv
SEZNAM ZKRATEK xv... pokračování z předchozí strany v P e Symbol v P in v P I ] v P lim v P max v P req K v P SE T RT T RT e T RT T RT min T RT max T RT req T MON T RT T RT P n P P P P req Význam symbolu přenosová rychlost po jejíž překročení vykazuje přenosový kanál ztrátovost maximální množství dat, které je do komunikační jednotky přenosového systému vpuštěno maximální množství dat, které je schopno dané rozhraní bezeztrátově přenést přenosová rychlost nastavená paketovým filtrem maximální přenosová rychlost, u které nedochází ke ztrátovosti paketů požadovaná přenosová rychlost v komunikační síti směrnice rychlosti plnění paketových zásobníků v měřené síti standardní chyba průměru T RT zpoždění ve smyčce, u kterého dochází k výskytu ztrátovosti paketů aktuální zpoždění ve smyčce v komunikační síti zpoždění ve smyčce v nezatížené síti zpoždění ve smyčce, u kterého je dosaženo maximální přenosové rychlosti vmax, P ale bez výskytu ztracených paketů požadované zpoždění ve smyčce v komunikační síti interval odesílání monitorovacích paketů vyhlazené zpoždění ve smyčce v komunikační síti průměrné zpoždění ve smyčce bod lomené čáry aktuální ztrátovost v komunikační síti maximální přípustná ztrátovost Pokračování na následující straně...
SEZNAM ZKRATEK xvi... pokračování z předchozí strany Symbol Význam symbolu α τ ω v σ σ 2 v P P P T RT V P vyhlazovací faktor množina vzorků okamžitého zpoždění ve smyčce vzorkovací úhlová frekvence rozptyl směrodatná odchylka výběrového průměru regulační odchylka požadované přenosové rychlosti regulační odchylka požadované ztrátovosti regulační odchylka požadovaného zpoždění ve smyčce v komunikační síti akční veličina nastavující množství dat v komunikační síti
SEZNAM ZKRATEK xvii Seznam použitých zkratek Zkratka ADSL AIMD ALG ATM BCCH BE CNR DiffServ DoS DSCP EDGE E-MAIL FIFO FTP GPRS GSM HSUPA HTTP HW IEC IEEE IMA IPM Význam zkratky Asymmetric Digital Subscriber Line Additive Increase/Multiplicative Decrease Application-level Gateway Asynchronous Transfer Mode Broadcast Control Channel Best Effort Carrier to Noise Ratio Differentiated Services Denial of Srvice Differentiated Services Code Point Enhanced Data rates for GSM Evolution Electronic Mail First In First Out File Transfer Protocol General Packet Radio Service Groupe Spécial Mobile High-Speed Uplink Packet Access Hyper Text Transport Protocol Hardware International Electrotechnical Commission Institute of Electrical and Electronics Engineers Inverse Multiplexing of ATM Inverse Packet Multiplexing Pokračování na následující straně...
SEZNAM ZKRATEK xviii... pokračování z předchozí strany Zkratka IntServ IP IPS ISO ISP LACP LAN LTE MAN MHD MD5 MPTCP MTU MVČR NAT OSI PID PSD PWM QoS RFC RM RTSP Význam zkratky Integrated Services Internet Protocol Intrusion Prevention System International Organization for Standardization Internet Service Provider Link Aggregation Control Protocol Local Area Network Long Term Evolution Metropolitan Area Network Městská hromadná doprava Message-Digest Algorithm Multipath TCP Maximal Transmission Unit Ministerstvo vnitra České republiky Network Address Translation Open Systems Interconnection Proportional/Integral/Derivative Controller Proportional/Sum/Derivative Controller Pulse Width Modulation Quality of Service Request for Comments Reference Model Real Time Stream Protocol Pokračování na následující straně...
SEZNAM ZKRATEK xix... pokračování z předchozí strany Zkratka Význam zkratky RTT Round Trip Time SCTP Stream Control Transmission Protocol SS7 Signalling System 7 TAČR Technologická agentura České republiky TCP Transmission Control Protocol UDP User Datagram Protocol UMTS Universal Mobile Telecommunication System USB Universal Serial Bus VDSL Very-high-bit-rate Digital Subscriber Line WAN Wide Area Network WWW World Wide Web Wi-Fi Wireless Fidelity WiMAX Worldwide Interoperability for Microwave Access WLAN Wireless LAN xdsl all types of Digital Subrsciber Lines 2G Second Generation of Mobile Telecommunications Technology 3G Third Generation of Mobile Telecommunications Technology
Kapitola 1 Úvod Vývoj komunikačních systému v posledním desetiletí jasně směřuje ke konvergenci klasických telekomunikačních sítí a Internetu přesněji sítí rodiny protokolů TCP/IP (Transmission Control Protocol / Internet Protocol) [S1], [S2]. Systémy s podporou protokolů IP (Internet Protocol) jsou dnes nejrychleji nasazovanými komunikačními systémy a díky nově nastolenému trendu internetu věcí IoT (Internet of Things) [L4] bude jejich obliba i zájem o něj dále stoupat. Uvedená konvergence nenastává pouze v oblasti telekomunikačních sítí, ale i v oblasti průmyslových sítí, které byly doposud spíše konzervativní a držely se léty ověřených technologií a koncepcí. I zde je v posledních letech patrný odklon z ryze proprietárních řešení k více univerzální technologii Ethernet a rodině protokolů TCP/IP. Telekomunikační i průmyslové sítě vytvářejí přirozený tlak na IP svět v podobě zvýšených nároků na poskytovanou kvalitu služby. Do doby, než začal být skrze IP síť přenášen hovorový signál v reálném čase nebo řídící povely průmyslových zařízení, nebyl zásadní požadavek na dodržování parametrů kvality služby. Aplikace a služby jakými jsou E-MAIL (Electronic Mail), WWW (World Wide Web) nebo FTP (File Transfer Protocol) nevyžadovaly komunikaci v reálném čase. Uživatel vyžadoval spíše dostatečnou přenosovou rychlost než odezvu v řádech jednotek až desítek ms. Nově provozované služby spojené s přenosem dat v reálném čase (telemetrie, řízení apod.) vyžadují kromě dostatečné přenosové rychlosti i nízké zpoždění a vysoký činitel pohotovosti. Uvedené požadavky lze dnes velmi dobře dodržet v rámci řady přenosových technologií využívající Ethernet, protokol IP je rovněž rozšířen o záhlaví DSCP (Differentiated Services Code Point) [S3], do kterého lze zanést údaj o povaze/prioritě přenášených dat. 1
KAPITOLA 1. ÚVOD 2 Obecně lze tvrdit, že pokud je známá přesná struktura datové sítě a ta je postavená na přenosové technologii s neměnnými parametry fyzické vrstvy, lze v rámci protokolů IP a vyšších zajistit přenášené informací požadovanou úroveň kvality služby. Pokud je ovšem struktura datové sítě neznáma a parametry fyzické vrstvy jsou proměnné, lze obtížně zaručit některý z požadovaných parametrů. Typickým příkladem jsou mobilní sítě, kde hraje velkou roli i aktuální stav rádiového kanálu mezi uživatelem a sítí. Podobná situace může nastat i v pevné síti, kdy jsou sice jasně definovány parametry fyzické vrstvy, ale vlivem koncentrace provozu na hranicích páteřní sítě nejsme schopni zaručit požadované kvalitativní parametry. 1.1 Motivace k využití více paralelních přenosových cest Jedním ze základních problémů, se kterými se potýkají dnešní komunikační sítě, je nedostatečná rychlost reakce na změny v přenosovém médiu. Tyto změny působí vesměs negativně a zhoršují kvalitativní parametry komunikační sítě. Velkým problémem jsou hlavně mobilní bezdrátové sítě, kde predikce chování fyzického kanálu je velmi náročná a v praxi málo využívaná. V těchto sítích je velmi obtížné navyšovat kapacitu nebo spolehlivost podobným způsobem jako je tomu u technologie Ethernet, kde existují mechanismy jako LACP (Link Aggregation Control Protocol) viz standard [S4]. Technologie Ethernet je sice ve své nejpoužívanější variantě IEEE 802.3 rovněž nedeterministická, ale díky jasně definovanému chování na fyzické vrstvě lze velmi efektivně sdružit více datových toků do jediného a zvýšit tak přenosovou kapacitu nebo spolehlivost. V dnešní době existuje na trhu řada zařízení, která jsou vybavena několika síťovými rozhraními. Typicky jde o různá síťová zařízení, která jsou vybavena jak bezdrátovými rozhraními (3G (Third Generation of Mobile Telecommunications Technology), Wi-Fi (Wireless Fidelity) apod.), tak rozhraními pro kabelové a optické sítě - Ethernet nebo xdsl (all types of Digital Subrsciber Lines) (ADSL (Asymmetric Digital Subscriber Line), VDSL (Very-high-bit-rate Digital Subscriber Line) a podobné). Zásadní přínos pro zvýšení spolehlivosti a navýšení výkonnosti přenosu by mělo současné využití všech dostupných komunikačních rozhraní. Nezanedbatelný přínos by mělo i využití několika nezávislých poskytovatelů datové
KAPITOLA 1. ÚVOD 3 konektivity. Tím by se velmi elegantně obešel problém s vysokým provozním zatížením některých datových sítí. Tento problém je zvláště patrný v mobilních a xdsl sítích, kde vykazují některé lokality v určitý čas velmi vysoké provozní zatížení vedoucí k výraznému omezení dostupnosti poskytovaných služeb. Přenosová síť je v těchto místech velmi nestabilní. Parametry jako přenosová rychlost a zpoždění ve smyčce RTT (Round Trip Time) velmi kolísají a to dokonce v řádech stovek procent oproti stavu v nezatížené síti. Obdobně se mění i ztrátovost paketů, která narůstá v řádech desítek procent oproti normálnímu stavu. Komunikační systém využívající několika nezávislých přenosových cest by byl vůči těmto vlivům odolný. 1.2 Definice problémů Z hlediska univerzálnosti a transparentnosti pro přenášená data je nejvhodnější provádět sdružování jednotlivých datových toků na úrovni třetí vrstvy RM ISO/OSI [S5, S6]. Oproti prvním dvěma vrstvám zajišťuje tato vrstva již dostatečnou nezávislost na použité komunikační technologii. Systém lze tak využít i pro přenos dat skrze více různých přenosových technologií. Čtvrtá vrstva je rovněž použitelná pro sdružování jednotlivých datových toků, ale její použití již nezaručuje dostatečnou univerzálnost a transparentnost pro dnes nejpoužívanější protokoly z rodiny TCP/IP. Z těchto důvodů se třetí vrstva jeví jako nejvhodnější, i když samotná realizace sdružování jednotlivých datových toků je zde komplikovaná. Aby mohl systém rozdělování a následného sdružování přenášených paketů fungovat efektivně je nutné eliminovat veškeré negativní vlivy ovlivňující jednotlivé přenosové cesty. Výkonnost a efektivitu systému snižují hlavně rozdílné vlastnosti jednotlivých komunikačních kanálů. Pokud vykazují jednotlivé kanály rozdílné zpoždění ve smyčce, není ovlivněno jen celkové zpoždění sdruženého datového toku, ale i výsledná přenosová rychlost a ztrátovost paketů. V síti s dostatečně velkými zásobníky a bezeztrátovým přenosem by došlo jen ke zhoršení celkové odezvy, a to na hodnotu nejpomalejšího z kanálů, výsledná přenosová rychlost by však byla součtem všech příspěvkových toků. V reálné síti dochází ke ztrátě přenášených dat vlivem výrazného rozdílu ve zpoždění v jednotlivých kanálech a výsledná přenosová rychlost je menší než očekávaná. Aby mohl být, i v reálné síti, zajištěn co nejefektivnější přenos dat v jednotlivých kanálech je nutné regulovat množství dat, které do nich vstupují. Pokud je datový kanál přetížen dochází vlivem přeplnění zásobníků k výraznému zvýšení zpoždění ve smyčce
KAPITOLA 1. ÚVOD 4 a ztrátovosti, což vede ke snížení reálné propustnosti na vyšších vrstvách komunikace. Pokud je množství dat, které vstupuje do datového kanálu drženo těsně pod hranicí přetížení, bude využito jeho maximální kapacity bez výrazného zhoršení zpoždění ve smyčce a ztrátovosti. Pokud jsou tímto způsobem regulovány všechny dílčí přenosové kanály, lze je velmi efektivně sdružit a výsledný sdružený kanál pak vytváří velmi dobré podmínky pro přenos za pomocí protokolů vyšších vrstev TCP, UDP (User Datagram Protocol) apod. Typicky minimální ztrátovost a regulované zpoždění ve smyčce dokáže zlepšit činnost řídících algoritmů TCP protokolu, který pak vykazuje lepší vlastnosti než při běžném použití v rámci jedné přenosové cesty. Obdobně dojde ke zlepšení odezev a ztrátovosti také u protokolu UDP. Výše uvedené poznatky a závěry byly zjištěny z řady měření provedených jak v mobilních [A1], tak pevných sítí [A2], a to pomocí metodiky vyvinuté autorem této práce a publikované v jeho diplomové práci [A3]. Výsledky řady měření rovněž potvrdily potřebu efektivní a adaptabilní regulace množství přenášených dat, kterou stávající komunikační protokoly díky své izolovanosti na konkrétní vrstvě referenčního modelu ISO/OSI nejsou schopny zajistit. Regulaci množství dat v přenosovém kanálu lze provádět několika způsoby. Jedním z nich je i použití paketového regulátoru, který na základě znalosti aktuální propustnosti, zpoždění ve smyčce a ztrátovosti upraví množství vysílaných dat. Návrhem paketového regulátoru, který bude vhodný pro nasazení v systému pro sdružování datových toků na úrovni třetí vrstvy RM ISO/OSI (Reference Model International Organization for Standardization / Open Systems Interconnection) [S7] se zabývá tato práce. 1.3 Předchozí práce a výsledky Předchozí práce doktoranda byla zaměřena na návrh a ověření metodiky pro měření reálných parametrů komunikačních sítí. V této metodice, která byla poprvé publikována v diplomové práci [A3] bylo provedeno měření komunikačních sítí na více vrstvách zároveň. Konkrétně šlo o měření na fyzické a síťové vrstvě, kdy se dávaly do korelace výsledky měření parametrů signálu, přenosové rychlosti a zpoždění ve smyčce během přenosu dat z akrobatických letadel pomocí modifikované technologie Wi-Fi [A4, A5, A6] založené na standardu IEEE 802.11g [S8]. Na základě výsledků měření byla následně provedena úprava komunikačního protokolu a byl vyvinut systém umožňující přenos video signálu z rychle se pohybujících objektů [A7], který je chráněn užitným vzorem
KAPITOLA 1. ÚVOD 5 číslo 19713 [A8]. V současnosti je navržený systém používán pro přenos videa v reálném čase z akrobatických letadel během amatérských domácích i mezinárodních soutěží. Zkušenosti získané z přenosu dat z akrobatických letadel [A9] byly zužitkovány při návrhu a realizaci komunikačního systému využívajícího principu inverzního paketového multiplexu popsaného v kapitole 5.2. Při hledání optimální konfigurace komunikačního systému byla vypracována komplexní metodika měření jejímž výstupem jsou údaje o dynamických i statických vlastnostech měřených sítí. Metodika je uzpůsobena pro provádění dlouhodobých i krátkodobých testovacích scénářů a v současné době je používána pro ověření modelů komunikačního systému [A10] i samotných návrhů regulátorů v reálném prostředí. Uvedená metodika měření byla rovněž ověřena při analýze a následné optimalizaci komunikačního systému s názvem BENDER [A11], který je instalován na Mendelově polární stanici [A12]. Zde byla optimalizována komunikace využívající satelitní technologii Inmarsat [A13] a protokol TCP/IP. Optimalizovaný přenosový systém používá česká polární expedice při svém pobytu na stanici. Uvedená metodika se stala také základem postupu pro měření rychlosti přenosu dat v mobilních sítích dle standardu LTE [A14], který byl součástí realizované aukce kmitočtů pro mobilní sítě LTE (2013). Samotná koncepce systému umožňujícího sdružování datových kanálu na třetí vrstvě RM ISO/OSI pomocí tzv. systému inverzního paketového multiplexu IPM (Inverse Packet Multiplexing) vychází z dřívějších vědecko-výzkumných aktivit autora. Konečná verze komunikačního systému byla realizována na základě zkušeností z realizace funkčních vzorků demonstrujících sdružování datových toků v mobilních sítích EDGE (Enhanced Data rates for GSM Evolution), UMTS (Universal Mobile Telecommunication System) [A1] a pevných sítí xdsl [A2]. Bližší informace o komunikačním systému realizujícím vícecestný přenos dat v paketové síti, jsou uvedeny v kapitole 5.2. 1.4 Struktura práce Tato disertační práce je rozdělena do několika kapitol: 1. Úvod: První kapitola popisuje motivaci pro psaní této disertační práce včetně stanovení hlavních cílů.
KAPITOLA 1. ÚVOD 6 2. Zvolené metody zpracování : Kapitola popisuje postup a metody, které byly použity při řešení disertační práce. 3. Aktuální stav řešené problematiky: V této kapitole jsou zpracovány a utříděny informace o aktuálním stavu řešené problematiky. 4. Cíle disertační práce: V této kapitole jsou stanoveny cíle a přínos disertační práce. 5. Rozbor řešení : Kapitola poskytuje veškeré informace, které jsou nutné pro porozumění problematiky návrhu paketového regulátoru. 6. Návrh a optimalizace paketového regulátoru: Tato kapitola popisuje návrh a realizaci paketového regulátoru. 7. Praktické ověření : V kapitole jsou popsány jednotlivé výsledky simulací a měření navrženého regulátoru. 8. Závěr: V závěru jsou shrnuty výsledky provedených návrhů a jejich ověření. V této kapitole jsou rovněž nastíněny další směry výzkumu a vývoje v této oblasti.
Kapitola 2 Zvolené metody zpracování V průběhu plnění cílů předložené práce bylo postupně použito několik výzkumných metod. Kromě základního procesu shromažďování a třídění získaných informací bylo využito řady vědecko-výzkumných metod [L5] pro zpracování a nalezení řešení předložených problémů. Popisem použitých metod a postupů se zabývá tato kapitola. 2.1 Shromažďování a třídění informací Problematika paketové regulace vztažená k omezování množství dat v síti Internet je velmi diskutovaným tématem. Řada odborných publikací i komerčních řešení se tímto problémem zabývá. Navržené řešení se snaží vyplnit mezeru, která je v implementaci komunikačních protokolů do přenosových technologií, které nejsou schopny garantovat poskytovanou službu. V rámci analýzy novosti představeného řešení byly významným zdrojem informací publicistické a vědecké články, dále bylo hledání zaměřeno i na monografie a kvalifikační práce české i zahraničí. Neocenitelným pomocníkem byly informace získané ze sítě Internet. Významným zdrojem informací byla rovněž důkladná rešerše patentových databází v ČR i zahraničí, o čemž svědčí i výsledky hledání uvedené v kapitole 3.1. Veškeré výše provedené analýzy byly provedeny před samotným započetím vědeckovýzkumné práce. O úspěšně provedené rešerši svědčí i to, že na základě užitného vzoru PUV-25772 [A15], který vznikl v rámci vědecko-výzkumných aktivit, byla podána patentová přihláška PV-2013-252, která úspěšně prošla rešeršním řízením. Samotný patent bude zapsán v první polovině roku 2014. 7
KAPITOLA 2. ZVOLENÉ METODY ZPRACOVÁNÍ 8 2.2 Metodika zpracování Zásadním problémem při řešení práce se ukázala volba vhodné metodiky řešení jednotlivých vědecko-výzkumných etap. Existují dva základní způsoby vedení vědeckovýzkumných projektů [L5]: Deduktivní výzkum je založen na formování hypotéz z teorií, tzn. ověřování tvrzení. Nebezpečí této metody spočívá v tom, že jednou ověřené teorie mohou badatele ovlivnit natolik, že opustí ověřenou cestu bez analýzy nových a třeba i zajímavých pozorování. Induktivní přístup k výzkumu naopak spočívá ve shromažďování empirických dat reálného světa, na jejichž základě jsou následně vyvozována obecná tvrzení (např. teorie či modely). Tato metoda je rovněž známá jako objevování nebo vynalézání. Nebezpečí této metody spočívá v tom, že badatel má omezené znalosti šíře jednotlivých modelů a teorií. Tím, že je výzkum založen na konkrétní situaci je v rámci jeho provádění přijímáno pouze omezené množství informací. DEDUKCE Konkrétní zkušenost Aktivní experimentování, testování Pozorování, přemýšlení, reflexe Abstraktní představa, vytvoření pojmu INDUKCE Obr. 2.1: Kolbův cyklus učení
KAPITOLA 2. ZVOLENÉ METODY ZPRACOVÁNÍ 9 Vzájemnou souvislost mezi oběma přístupy demonstruje Kolbův cyklus učení [L6] uvedený na Obr. 2.1. 2.2.1 Aplikace zvolené metodiky zpracování Návrh paketového regulátoru vyžaduje využít řadu empiricky zjištěných informací z měření reálných komunikačních sítí. Ze získaných informací lze na základě pozorování provést zobecnění, díky kterému lze vyvodit řadu závěrů důležitých pro návrh paketového regulátoru. Návrh pak postupně vylepšovat na základě jeho simulací na modelu komunikační sítě a v pozdější fázi i v reálném prostředí. Uvedený popis jednoznačně odpovídá induktivnímu přístupu řešení vědecko-výzkumných projektů. Pro úspěšné vyřešení jednotlivých problémů spojených s návrhem a ověřením řádné funkce paketového regulátoru, muselo být provedeno několik činností. 1. Výchozí měření parametrů komunikačních kanálů. Získání zobecněných informací a modelů přenosové rychlosti, zpoždění ve smyčce a ztrátovosti. 2. Návrh paketové regulátoru dle získaných informací. 3. Ověření navrženého paketového regulátoru pomocí simulací a měření v reálné síti. 4. Pokud jsou výstupy ověření nedostatečné, je nutná úprava parametrů paketového regulátor dle výsledku simulací a měření v reálné síti. Následně je nutné upravený návrh opětovně ověřit (návrat do kroku 3.). 5. Jakmile se výsledky ověření shodují s požadavky, lze přejít ke dlouhodobým ověřovacím měřením v reálné komunikační síti. Jejich cílem je ověřit dlouhodobou stabilitu navrženého řešení v reálném prostředí.
Kapitola 3 Aktuální stav řešené problematiky Návrhu a realizaci paketového regulátoru předcházely důkladné rešerše nejen v oblasti sdružování datových kanálů za účelem navýšení přenosové rychlosti a spolehlivosti, ale i v oblasti regulace datových toků v paketových sítích. Souhrnné výsledky provedených rešerší jsou uvedeny v této kapitole. 3.1 Systémy pro sdružování komunikačních kanálů V textu jsou popsány základní mechanismy uvedených řešení sdružování komunikačních kanálů za účelem navýšení přenosové rychlosti nebo spolehlivosti včetně zhodnocení jejich výhod a nevýhod pro reálné nasazení. Kvůli komplexnosti jednotlivých řešení je popis proveden jen velmi stručně a detailnější informace lze nalézt v rámci referencí na patřičnou literaturu nebo standardy. Do oblasti zájmu byla zahrnuta jak otevřená řešení, viz kapitola 3.1.2, tak i komerční, chráněná řešení viz kapitola 3.1.1. V textu nejsou vyjmenována všechna dostupná řešení, ale jen ta, která se přibližují navrženému a realizovanému komunikačnímu systému, viz kapitola 5.2. Zvyšování propustnosti a spolehlivosti datového přenosu se běžně realizuje úpravou a optimalizací fyzické a částečně i spojové vrstvy referenčního modelu ISO/OSI. V současné době existuje několik mechanismů v paketových datových sítích, které jsou schopny využívat paralelních cest za účelem navýšení propustnosti nebo spolehlivosti datové komunikace. Běžné jsou mechanismy tzv. inverzního multiplexu pracující na úrovni kanálových intervalů fyzické vrstvy, rámců a jejich segmentů spojové vrstvy, například technologie Ethernet, a na úrovni ATM (Asynchronous Transfer Mode) bu- 10
KAPITOLA 3. AKTUÁLNÍ STAV ŘEŠENÉ PROBLEMATIKY 11 něk [S9], například IMA (Inverse Multiplexing of ATM) [S10]. 3.1.1 Uzavřená řešení Popsaný princip komunikačního systému umožňujícího sdružování přenosových cest u bezdrátových a jiných nedeterministických systémů je součástí řady užitných vzorů a patentů. V těchto dokumentech je popsána řada mechanismů, které lze využít pro sdružování jednotlivých přenosových cest. Sdružování dat je prováděno na úrovni fyzické vrstvy například v podobě sdružování jednotlivých kanálových intervalů mobilní technologie EDGE za účelem navýšení přenosové kapacity. Sdružování je prováděno i na vyšších vrstvách RM ISO/OSI typicky: spojová, síťová a transportní, kde dochází ke sdružování na úrovni datových rámců, paketů nebo datagramů. Sdružování přenosových kanálů je v komerčních systémech prováděno několika způsoby, nejčastěji však pomocí inverzní multiplexace datového obsahu. Kromě toho je v řadě systému modifikován i procházející datový provoz, hlavně pak signalizace protokolu TCP. Díky této modifikaci se dosahuje mnohem lepší výkonnosti při přenosu dat, ale zásadně komplikuje transparentní chování celého systému a nezřídka je takovýto systém nepoužitelný pro řadu služeb. Tento problém se vyskytuje hlavně u průmyslových sítí, kde se může používat jiná konfigurace standardizovaných protokolů. Průmyslová zařízení sice komunikují dle standardních protokolů rodiny TCP/IP, ale vlivem použití jiných algoritmů pro řízení spojení může dojít k neporozumění ze strany komunikačního systému, a tím i ke zhoršení přenosových parametrů nebo úplnému znemožnění komunikace. Typickými zástupci komerčních komunikačních systémů umožňujících sdružování datových toků za účelem navýšení přenosové rychlosti nebo spolehlivosti jsou společnosti Icomera AB a Viprinet GmbH. Zevrubnému popisu jejich řešení jsou věnovány následující kapitoly. 3.1.1.1 Icomera AB Jedním z komerčních komunikačních systémů, který se nejvíce podobá představovanému řešení je produkt společnosti Icomera AB jehož principiální schéma převzaté z patentu EP 1175757 B1 [L1] je uvedeno na obrázku 3.1. Jejich řešení rovněž umožňuje přenos dat pomocí několika paralelních datových cest v rámci IP sítě a to za účelem navýšení přenosové rychlosti. Řešení by mělo být plně transparentní pro veš-
KAPITOLA 3. AKTUÁLNÍ STAV ŘEŠENÉ PROBLEMATIKY 12 kerý TCP/IP datový provoz. Systém byl vyvíjen pro použití v mobilních dopravních prostředcích a podporuje většinu dostupných mobilních přenosových technologií (GSM (Groupe Spécial Mobile), EDGE, UMTS, LTE (Long Term Evolution), Wi-Fi a jiné). Obr. 3.1: Princip funkce komunikačního systému Icomera AB (Obrázek převzat z [L1]). Použitelnost jednotlivých přenosových cest je v uvedeném řešení aktivně sledována pomocí měření zpoždění ve smyčce. Výsledky z těchto měření jsou použity při rozhodování zda je daná cesta pro přenos dat použitelná či nikoliv. Oproti komunikačnímu systému prezentovanému v této práci, který komunikuje pomocí UDP paketů, jsou jednotlivé příspěvkové datové toky komerčního řešení transportovány pomocí protokolu TCP, který je zodpovědný i za veškeré činnosti spojené s řízením množství dat v jednotlivých kanálech. Výsledky měření zpoždění ani jiné parametry nejsou použity pro řízení chování jednotlivých příspěvkových kanálů. Celková výkonnost komerčního přenosového systému je tak odkázána na TCP algoritmy, které se zvláště v mobilních sítích chovají velmi nestabilně a vykazují velké kolísání zpoždění, které vede k výrazné nestabilitě datové komunikace. 3.1.1.2 Viprinet GmbH Obdobně jako řešení společnosti Icomera AB se komunikační systém společnosti Viprinet GmbH specializuje na přenos dat skrze více komunikačních kanálů. Principiálně jsou oba komerční komunikační systémy velmi podobné. Obdobně jako u konkurence je přenosových systém chráněn patentem číslo US 2008/0253282 A1 [L2], ale díky po-
KAPITOLA 3. AKTUÁLNÍ STAV ŘEŠENÉ PROBLEMATIKY 13 dobnosti prvních 26 nároků se systémem Icomera AB byly tyto nároky zrušeny, následujících 27 nároků zůstalo beze změny. Oproti systému Icomera AB nedisponuje řešení Viprinet GmbH systémem pro aktivní sledování stavu jednotlivých dílčích přenosových cest. Jejich stav je kontrolován jen v rámci procházející TCP komunikace. Obr. 3.2: Principiální znázornění průběhu TCP spojení v systému Viprinet GmbH (Obrázek převzat z [L2]). Zásadním rozdílem mezi oběma řešeními je pak způsob nakládání s TCP datovým tokem jak dokládá schématické vyjádření na obrázku 3.2 převzaté z patentu [L2]. Řešení Viprinet GmbH provádí aktivní zásahy do TCP komunikace mezi komunikujícími klienty. Navazování a rušení TCP spojení ponechává bez aktivního zásahu, ale jakmile se začnou přenášet data, generuje přenosový systém falešné potvrzovací pakety, aby přinutil zdrojovou stranu ke stálému posílání dat, i když zrovna nepřichází potvrzení o jejich doručení. Tímto způsobem se snaží obejít kontrolní mechanismy TCP spojení, které na přenosových kanálech s horším RTT způsobují nízkou propustnost pro TCP komunikaci. Uvedený mechanismus dokáže zajistit stabilní přísun dat pro všechny dílčí kanály, ale jen na spojeních, které vykazují nízkou chybovost a stabilní zpoždění. Díky využívání standardních regulačních mechanismů TCP protokolu je jeho nasazení na spojeních, které mají výrazné kolísání zpoždění a ztrátovosti velmi neefektivní. Dokonce díky absenci rozumného systému pro regulaci množství dat v jednotlivých kanálech může způsobovat jejich zahlcení.
KAPITOLA 3. AKTUÁLNÍ STAV ŘEŠENÉ PROBLEMATIKY 14 3.1.2 Otevřená řešení Obdobná funkcionalita využití několika nezávislých přenosových cest během komunikace je na vyšších komunikačních vrstvách implementována v novém protokolu MPTCP (Multipath TCP), viz standardy RFC 6181 [S11], 6182, [S12] a částečně i v nové verzi protokolu SCTP (Stream Control Transmission Protocol), který je definován v RFC 2960 [S13], a úvodní text obstarává RFC 3286 [S14]. Oba protokoly fungují nad protokolem IP. Velkou nevýhodou je, že fungují jen jako náhrada protokolu TCP a tím jsou použitelné pouze pro aplikace a systémy, které tento protokol využívají. Protokol UDP nebo jiné pracující nad IP podporovány nejsou. Další nevýhodou, alespoň u protokolu MP-TCP, je jeho minimální podpora v současných operačních systémech. Jelikož reálná implementace protokolu MPTCP existuje teprve několik měsíců a jeho aktuální verze má označení 0.88, je jeho podpora v operačních systémech velmi sporadická. Jediným systémem, kde lze v současnosti nalézt rozumně použitelnou implementaci tohoto protokolu je Linux. Podpora protokolu SCTP (Stream Control Transmission Protocol) je ze strany operačních systémů větší než je tomu u MPTCP, ale jeho použití je dnes omezeno výhradně na přenos telefonní signalizace přes IP síť. Detailnější analýza výše zmíněných protokolů je provedena v následujících odstavcích. 3.1.2.1 Stream Control Transmission Protocol SCTP je protokolem transportní vrstvy, kterou navrhla v roce 2000 pracovní skupina SIGTRAN (IETF Signaling Transport) zabývající se přenosem telefonní signalizace SS7 (Signalling System 7) po IP. Odtud pochází požadavek na několik navzájem nezávislých kanálů, kterými jsou data přepravovány paralelně. Právě to je zřejmě největší odlišností SCTP od stávajících transportních protokolů. Po navázání spojení, kterému se v terminologii SCTP říká asociace, po něm lze přenášet řadu navzájem nezávislých datových proudů. V rámci každého z nich dokáže SCTP garantovat doručení všech dat ve správném pořadí. Případný výpadek nebo zdržení paketů v některém z proudů se však nijak netýká proudů ostatních. Jejich komunikace pokračuje bez přerušení. Protokol SCTP obsahuje několik zajímavých funkcí, které jej výkonnostně i parametricky odlišují od dnes běžně používaného protokolu TCP. Multihoming - jde o vlastnost, díky které má komunikující uzel několik IP adres. Dostupné adresy si partneři vyměňují při vytvoření asociace a může se jednat o libovolnou kombinaci IPv4 a IPv6 adres. Během komunikace je jedna z nich
KAPITOLA 3. AKTUÁLNÍ STAV ŘEŠENÉ PROBLEMATIKY 15 brána jako primární a na ni jsou odesílána data. Pro opakování však vybírá jinou a pokud má primární adresa častější problémy s dostupností, přejde odesilatel na jinou (je-li k dispozici). Doručení dat v balících (Chunk) - Pomocí proudů eliminuje nechtěné chybějící bloky dat, jako je tomu v případě TCP. Pomocí datových balíků lze přenášet v jediném paketu různé typy dat. Pokud by se pro SCTP využilo pro přenos protokolu HTTP [S15], mohly by se v jediném paketu přenášet jak textová část internetové stránky, tak i jednotlivé obrázky. Výběr a sledování cesty - V průběhu komunikace je aktivně monitorován stav všech přidružených přenosových cest. V případě problémů s primární přenosovou cestou, je komunikace přesunuta na některou ze záložních cest. Ověřovací a potvrzovací mechanismy - SCTP komplikuje některé útoky směřující k nedostupnosti služeb, typicky DoS útoky. Zajišťuje ověření opakujících se a chybějících balíků. Funkcionalita Multihoming umožňuje využití několika přenosových cest pro komunikaci, ale vždy jen jediná je aktivní (jsou skrze ni přenášena data), zbytek cest je ve stavu horké zálohy pro případ výpadku primární cesty. U všech přenosových cest ale probíhá aktivní monitoring, který ověřuje aktuální stav všech využitých komunikačních kanálů. Tento způsob přístupu k výměně informací nabízí vyšší spolehlivost při přenosu dat než u běžného protokolu TCP. Pro řízení množství dat v jednotlivých kanálech využívá SCTP podobné mechanismy, které jsou použity v běžném protokolu TCP viz jejich popis v doporučení RFC 5681 [S16]. Zhodnocení protokolu Protokol SCTP byl navržen pro přenos signalizačních dat v prostředí IP sítí. U signalizace není potřeba dosahovat vysokých přenosových rychlostí. Velký důraz je zde kladen na spolehlivost, která je zde zajištěna jak opětovným odesíláním ztracených dat, tak i možností přenosu po paralelní cestě. Jelikož se přenášejí signalizační zprávy, není zde potřeba ani zálohování přenosových cest v reálném čase. Protokol je situován do 4. vrstvy referenčního modelu ISO/OSI a na řadě platforem jej lze použít i pro přenos
KAPITOLA 3. AKTUÁLNÍ STAV ŘEŠENÉ PROBLEMATIKY 16 běžných uživatelských protokolů a dat (HTTP, FTP apod.). Protokol umožňuje využít několika přenosových cest, ale vždy jen jedna je aktivní - určena pro přenos dat. Protokol nejde využít pro navýšení přenosové rychlosti spojením několika přenosových cest. 3.1.2.2 Multipath TCP Multipath TCP (MPTCP) je novým protokolem pracujícím na transportní vrstvě, který dokáže využít několik nezávislých komunikačních kanálu, a to i skrze jiné přenosové technologie, viz Obr. 3.4. S tímto protokolem není problém přenášet data mezi serverem a klientem pomocí několika komunikačních technologií zároveň. Typickým příkladem je mobilní telefon, kterým se lze k serveru na IP síti připojit nejen pomocí modemu, ale zároveň i pomocí Wi-Fi rozhraní a využívat tak kapacitu obou sítí. V případě výpadku jednoho z komunikačních kanálů není zrušeno probíhající spojení a jsou využívány jen dostupné přenosové cesty. Celková přenosová rychlost se sníží, ale spojení se nerozpadne. Pokud je v průběhu dostupný další přenosový kanál, je do systému začleněn bez rozpadu stávající komunikace a umožní celkové navýšení dostupné přenosové rychlosti. Velmi zajímavá je možnost využít na jednotlivých kanálech rozdílené implementace protokolu IP resp. IPv4 a IPv6 a použít tak protokol pro vytvoření heterogenní sítě, kdy při výpadku jednoho z protokolů se automaticky použije druhý v pořadí. Případně se využijí oba dva zároveň. První verze doporučení RFC 6181 a 6182 vyšly v březnu roku 2011 a doposud se implementace zásadně nerozšířila a zůstává doménou výhradně systémů s operačním systémem Linux po doplnění systémového jádra o nezbytný modul. Jako jedna z prvních komerčních aplikací je uváděn hlasový průvodce SIRI v mobilním operačním systému ios verze 7 společnosti Apple. Větší rozšíření je očekáváno v roce 2015, kdy by se měl protokol rozšířit i do dalších operačních systémů. Velkým problémem pro nasazení tohoto protokolu do praxe je velké množství síťových prvků v dnešních paketových sítích a hlavně síti Internet, které aktivně zasahují do TCP komunikace a mění přenášený obsah. V terminologii doporučení RFC jsou tato zařízení označována jako Middleboxes. Díky jejich činnosti se velmi obtížně sestavuje a hlavně udržuje vícecestné TCP spojení. Systémy jako ALG (Application Learning Gateway), NAT (Network Address Translation), TCP Proxy, IPS (Intrusion Prevention System) a podobné mění záhlaví IP i TCP paketů a způsobují nefunkčnost
KAPITOLA 3. AKTUÁLNÍ STAV ŘEŠENÉ PROBLEMATIKY 17 nebo přinejmenším alespoň nestabilitu navázaného vícecestného TCP spojení. Typická ukázka jedné z nejhorších situací v transparentnosti komunikace mezi koncovými stanicemi v síti Internet je uvedena na obrázku 3.3. Modifikované položky jsou zobrazeny červeně. Většina naprogramovaného kódu v současné implementaci MPTCP pro operační systém Linux je proto napsána pro detekci a opravu jednotlivých TCP spojení po průchodu tímto druhem síťových zařízení. Stále však existuje řada zařízení, které stávající implementace detekovat neumí a způsobují nefunkčnost MPTCP protokolu. Typicky jde o síťová zařízení, která jsou umístěna v zemích s velmi fádním přístupem k otevřenosti sítě Internet nebo ve složitých strukturách podnikových sítí. 0 1 2 3 4 bytes 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 bits +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Version IHL Type of Service Total Length +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Identification Flags Fragment Offset +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Time to Live Protocol Header Checksum +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Source Address +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Destination Address +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Options +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Source Port Destination Port +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Sequence Number +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Acknowledgment Number +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Data Offset Reserved Flags Window +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Checksum Urgent Pointer +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Options +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Payload... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+... Obr. 3.3: Ukázka polí (červeně) v záhlaví IP paketů a TCP datagramů, které jsou po průchodu sítí nejčastěji měněny MPTCP byl navržen tak, aby dokázal koexistovat v sítích, kde se nachází i běžný protokol TCP. Pro sestavení spojení se u MPTCP používá obdobně jako u běžného TCP třícestný handshake. Strana navazující spojení přidá do SYN paketu příznak MP_CAPABLE, který informuje přijímací stranu o možnosti aktivovat vícekanálový režim. Jestliže přijímací strana MPTCP podporuje, přidá tento příznak do odpovědi SYN+ACK. Pokud je přijetí potvrzení podpory MPTCP navazující stranou potvrzeno
KAPITOLA 3. AKTUÁLNÍ STAV ŘEŠENÉ PROBLEMATIKY 18 paketem ACK s rozšířením MP_CAPABLE, je zahájená multipath relace o jediné přenosové cestě obdobně jako u standardního TCP spojení. Následující řídící pakety protokolu MPTCP vyjednají možnost navázání dalších dílčích TCP spojení skrze jiné přenosové cesty. Jednotlivá dílčí TCP spojení se mohou v průběhu trvání MPTCP relace dynamicky sestavovat a rušit. Stejný mechanismus navazování spojení se používá u všech kanálů, které mají být spřaženy do jednoho MPTCP datového toku. Aby byla zajištěna co největší kompatibilita s běžným TCP protokolem, využívají se pro přenos signalizace jak standardní pole TCP záhlaví, tak i doplňková pole tzv. Options viz obrázek 3.3. Při návrhu protokolu se uvažovalo rovněž o zakódování signalizace do přenášených dat, ale z důvodu složitosti a kompatibility s původním TCP protokolem byly tyto návrhy brzy opuštěny. Práce se segmenty a segmentovými čísly probíhá stejně jako u regulérního TCP spojení. Díky sémantické kontrole procházejících dílčích spojení na některých síťových zařízeních, je nutné pro každý dílčí MPTCP kanál udržovat konzistentní sekvenční číslování. Z tohoto důvodů bylo vytvořeno pro MPTCP ještě sekundární sekvenční číslování (Datasequence Number), které je prováděno skrze všechny dílčí kanály a řídí se stejným stavovým automatem jako je u TCP. Toto číslo je uloženo v poli Options a při průchodu síťovými prvky by nemělo docházet k jeho nevhodné modifikaci. Jeho použití je ve zjednodušené podobě uvedeno na obrázku 3.4. Obr. 3.4: Zjednodušená ukázka MPTCP sekvenčního automatu (Obrázek převzat z [L3]) Princip řízení jednotlivých příspěvkových toků se u protokolu MPTCP provádí obdobným způsobem jako je tomu u klasického protokolu TCP, kde se používají mecha-