Č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 c 2014 Ing. Zbyněk Kocur Copyright
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
iii
Abstract and contributions
iv
Seznam obrázků
xi
Seznam tabulek
xiii
Seznam zkratek
xiv
1 Úvod 1.1 Motivace k využití více paralelních přenosových cest 1.2 Definice problémů . . . . . . . . . . . . . . . . . . . 1.3 Předchozí práce a výsledky . . . . . . . . . . . . . . 1.4 Struktura práce . . . . . . . . . . . . . . . . . . . .
. . . .
1 2 3 4 5
2 Zvolené metody zpracování 2.1 Shromažďování a třídění informací . . . . . . . . . . . . . . . . . . . . . 2.2 Metodika zpracování . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 Aplikace zvolené metodiky zpracování . . . . . . . . . . . . . . .
7 7 8 9
3 Aktuální stav řešené problematiky 3.1 Systémy pro sdružování komunikačních kanálů 3.1.1 Uzavřená řešení . . . . . . . . . . . . . 3.1.1.1 Icomera AB . . . . . . . . . . 3.1.1.2 Viprinet GmbH . . . . . . . . 3.1.2 Otevřená řešení . . . . . . . . . . . . .
vii
. . . . .
. . . . .
. . . . .
. . . .
. . . . .
. . . .
. . . . .
. . . .
. . . . .
. . . .
. . . . .
. . . .
. . . . .
. . . .
. . . . .
. . . .
. . . . .
. . . .
. . . . .
. . . .
. . . . .
. . . .
. . . . .
. . . . .
10 10 11 11 12 14
viii
OBSAH
3.2
3.3
3.1.2.1 Stream Control Transmission Protocol 3.1.2.2 Multipath TCP . . . . . . . . . . . . . Možnosti regulace datových toků v paketové síti . . . . 3.2.1 Spojová vrstva . . . . . . . . . . . . . . . . . . 3.2.2 Síťová vrstva . . . . . . . . . . . . . . . . . . . 3.2.3 Transportní vrstva . . . . . . . . . . . . . . . . 3.2.4 Zhodnocení možností regulace na analyzovaných Dílčí zhodnocení . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vrstvách . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
14 16 20 21 22 23 23 24
4 Cíle disertační práce
26
5 Rozbor řešení 5.1 Princip mezivrstvové spolupráce . . . . . . . . . . 5.2 Inverzní paketový multiplexor . . . . . . . . . . . 5.2.1 Princip činnosti . . . . . . . . . . . . . . . 5.2.1.1 Rozřazovací paketový zásobník . 5.2.1.2 Paketový filtr/omezovač . . . . . 5.2.1.3 Paketová fronta . . . . . . . . . . 5.2.1.4 Vstupní paketový zásobník . . . . 5.2.1.5 Skládací paketový zásobník . . . 5.2.1.6 Řídicí jednotka . . . . . . . . . . 5.2.2 Komunikační protokol . . . . . . . . . . . 5.2.2.1 Informační pakety . . . . . . . . 5.2.2.2 Monitorovací pakety . . . . . . . 5.3 Teorie nasazení regulátorů v komunikačních sítích 5.3.1 Základní rozdělení regulátorů . . . . . . . 5.3.2 Diskrétní regulace . . . . . . . . . . . . . . 5.3.3 Paketová regulace . . . . . . . . . . . . . . 5.3.3.1 Přenosová rychlost . . . . . . . . 5.3.3.2 Zpoždění . . . . . . . . . . . . . 5.3.3.3 Ztrátovost . . . . . . . . . . . . . 5.3.4 Zhodnocení možností paketové regulace . .
28 28 30 31 33 35 35 35 36 37 39 40 41 42 44 44 45 46 48 49 51
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
ix
OBSAH 6 Návrh a optimalizace paketového regulátoru 6.1 Řídicí funkce . . . . . . . . . . . . . . . . . . . . . . . . 6.1.1 Grafické zobrazení řídicí funkce . . . . . . . . . . 6.1.2 Nastavení paketového filtru . . . . . . . . . . . . 6.2 Monitorování komunikačních kanálů . . . . . . . . . . . . 6.2.1 Výpočet vyhlazeného zpoždění ve smyčce . . . . . 6.2.2 Volba velikosti monitorovacího intervalu . . . . . 6.3 Analýza chování komunikačního kanálu . . . . . . . . . . 6.3.1 Statické vlastnosti . . . . . . . . . . . . . . . . . 6.3.2 Dynamické vlastnosti . . . . . . . . . . . . . . . . 6.3.3 Analýza průběhů . . . . . . . . . . . . . . . . . . 6.4 Popis návrhu řídicí funkce . . . . . . . . . . . . . . . . . 6.4.1 Regulace dle lomené čáry . . . . . . . . . . . . . . 6.4.1.1 Výpočet jednotlivých bodů lomené čáry
. . . . . . . . . . . . .
52 53 54 55 58 59 60 61 61 62 62 64 64 64
. . . . . . . . . .
70 70 71 71 73 73 75 75 75 77 82
8 Závěr 8.1 Závěrečné shrnutí . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2 Splnění vytyčených cílů . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3 Náměty na další směry výzkumu v dané oblasti . . . . . . . . . . . . .
84 84 84 87
Literatura
88
Standardy
90
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
7 Praktické ověření 7.1 Praktický návrh regulátoru . . . . . . . . . . . . . . . . . . . . . . . . 7.1.1 Testovací scénář . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1.2 Výchozí test propustnosti přenosových rozhraní . . . . . . . . 7.1.3 Návrh konfigurace přenosového systému . . . . . . . . . . . . 7.1.3.1 Volba požadovaného zpoždění . . . . . . . . . . . . . 7.1.3.2 Volba intervalu kontroly přenosové cesty . . . . . . . 7.1.3.3 Vyhlazovací faktor . . . . . . . . . . . . . . . . . . . 7.1.3.4 Výběr vhodné lomené řídicí funkce . . . . . . . . . . 7.1.4 Ověření navrženého regulátoru včetně odvozených koeficientů . 7.2 Závěr z reálného měření regulátoru . . . . . . . . . . . . . . . . . . .
x
OBSAH Vybrané publikace autora
92
A Měřicí nástroj FlowPing A.1 Motivace vzniku aplikace A.2 Možnosti aplikace . . . . A.3 Příklady použití . . . . . A.3.1 Příkazová řádka . A.3.2 Definiční soubor .
95 95 95 96 96 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í . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1
Princip funkce komunikačního systému Icomera AB (Obrázek převzat z [L1]). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Principiální znázornění průběhu TCP spojení v systému Viprinet GmbH (Obrázek převzat z [L2]). . . . . . . . . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . . . Zjednodušená ukázka MPTCP sekvenčního automatu (Obrázek převzat z [L3]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 3.3 3.4
5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9
8
12 13 17 18
Vrstvový model s vyčleněným komunikačním kanálem . . . . . . . . . . Principiální schéma komunikačního systému . . . . . . . . . . . . . . . Detailní schéma komunikační jednotky přenosového systému . . . . . . Ukázka informačního paketu . . . . . . . . . . . . . . . . . . . . . . . . Ukázka monitorovacího paketu . . . . . . . . . . . . . . . . . . . . . . . Obecné schéma regulačního obvodu . . . . . . . . . . . . . . . . . . . . Obecné schéma diskrétního regulačního obvodu . . . . . . . . . . . . . Obecné schéma plně diskrétního regulačního obvodu . . . . . . . . . . . Obecné schéma síťového regulačního obvodu regulujícího přenosovou rychlost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.10 Obecné schéma síťového regulačního obvodu regulujícího zpoždění ve smyčce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.11 Obecné schéma síťového regulačního obvodu regulujícího ztrátovost . .
29 31 32 40 42 43 45 46
6.1
53
Paketový regulátor komunikačního systému . . . . . . . . . . . . . . . .
xi
47 48 50
xii
SEZNAM OBRÁZKŮ
6.3 6.4 6.5
Grafické znázornění převodu regulační odchylky ∆T RT na akční veličinu ∆V P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Porovnání vlivu jednotlivých koeficientů α na průběh vyhlazení T RT . . Princip odečtu hodnot statických a dynamických veličin . . . . . . . . . Ukázky lomené řídicí funkce . . . . . . . . . . . . . . . . . . . . . . . .
54 60 63 65
7.1 7.2 7.3 7.4 7.5 7.6
Topologie měřicí sítě . . . . . . . . . . . . . . . . . . . . . . . . Definice řídicí lomené funkce pro oba kanály . . . . . . . . . . . Výsledný průběh regulačního procesu ve zvolené oblasti . . . . . Mechanismus řízení přenosové rychlosti ve zvolené oblasti . . . . Zpoždění ve smyčce během datového přenosu ve zvolené oblasti Výsledná přenosová rychlost ve zvolené oblasti . . . . . . . . . .
. . . . . .
71 76 78 79 80 81
A.1 Průběh testu aplikace FlowPing . . . . . . . . . . . . . . . . . . . . . . A.2 Průběh testu aplikace FlowPing s daty z definičního souboru. . . . . .
97 99
6.2
. . . . . .
. . . . . .
. . . . . .
P programem FlowPing s lineárním B.1 Celkový průběh měření T RT = f vout nárůstem přenosové rychlosti od 0.01 M bit/s do 5 M bit/s. Svislá modrá čára signalizuje ztrátu paketu. . . . . . . . . . . . . . . . . . . . B.2 Detail nárůstu zpoždění s vyznačením vyšetřovaných bodů . . . . . . . RT P B.3 Celkový průběh měření T = f vout 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. . . . . . . . . . . . . . . . . . . . . . . . B.4 Detail nárůstu zpoždění s vyznačením vyšetřovaných bodů . . . . . . .
100 101
102 103
Seznam tabulek 3.1
Zhodnocení možnosti regulace na analyzovaných vrstvách . . . . . . . .
24
7.1 7.2 7.3
Specifikace experimentálních zařízení použitých při testech . . . . . . . Souhrnná tabulka základních parametrů provedeného měření . . . . . . Výsledky měření propustnosti pro protokol TCP ve vzestupném směru na nezatížené mobilní síti . . . . . . . . . . . . . . . . . . . . . . . . . . Parametry přenosového systému . . . . . . . . . . . . . . . . . . . . . . Změřené parametry mobilních sítí na fyzické vrstvě . . . . . . . . . . . Výsledky měření propustnosti vzestupného směru TCP . . . . . . . . .
72 73 74 74 77 81
A.1 Ukázka obsahu definičního souboru . . . . . . . . . . . . . . . . . . . .
98
7.4 7.5 7.6
xiii
Seznam symbolů a zkratek Seznam použitých symbolů
Symbol
Význam symbolu
p
index čísla paketu
q
druhá souřadnice průsečíku přímky s osou y
t
čas
I
index čísla rozhraní
M
koeficient strmosti regulační křivky
T
vzorkovací perioda
e(t)
regulační odchylka ve spojitém tvaru
u(t)
akční zásah ve spojitém tvaru
v(t)
poruchová veličina
w(t)
požadovaná hodnota regulované veličiny ve spojitém tvaru
y(t)
řídicí veličina ve spojitém tvaru
e(kT )
regulační odchylka v diskrétním tvaru
u(kT )
akční zásah v diskrétním tvaru
w(kT )
požadovaná hodnota regulované veličiny v diskrétním tvaru
y(kT )
regulovaná veličina v diskrétním tvaru
vP
aktuální přenosová rychlost v komunikační síti Pokračování na následující straně ...
xiv
xv
SEZNAM ZKRATEK ... pokračování z předchozí strany
Symbol
Význam symbolu
veP
přenosová rychlost po jejíž překročení vykazuje přenosový kanál ztrátovost
P vin
maximální množství dat, které je do komunikační jednotky přenosového systému vpuštěno
vIP ]
maximální množství dat, které je schopno dané rozhraní bezeztrátově přenést
P vlim
přenosová rychlost nastavená paketovým filtrem
P vmax
maximální přenosová rychlost, u které nedochází ke ztrátovosti paketů
P vreq
požadovaná přenosová rychlost v komunikační síti
Kv P
směrnice rychlosti plnění paketových zásobníků v měřené síti
SET RT
standardní chyba průměru T RT
TeRT
zpoždění ve smyčce, u kterého dochází k výskytu ztrátovosti paketů
T RT
aktuální zpoždění ve smyčce v komunikační síti
RT Tmin
zpoždění ve smyčce v nezatížené síti
RT Tmax
zpoždění ve smyčce, u kterého je dosaženo maximální přenosové P , ale bez výskytu ztracených paketů rychlosti vmax
RT Treq
požadované zpoždění ve smyčce v komunikační síti
T M ON
interval odesílání monitorovacích paketů
T˜RT
vyhlazené zpoždění ve smyčce v komunikační síti
T¯RT
průměrné zpoždění ve smyčce
Pn
bod lomené čáry
PP
aktuální ztrátovost v komunikační síti
P Preq
maximální přípustná ztrátovost Pokračování na následující straně ...
xvi
SEZNAM ZKRATEK
... pokračování z předchozí strany
Symbol
Význam symbolu
α
vyhlazovací faktor
τ
množina vzorků okamžitého zpoždění ve smyčce
ωv
vzorkovací úhlová frekvence
σ
rozptyl
σ2
směrodatná odchylka výběrového průměru
∆v P
regulační odchylka požadované přenosové rychlosti
∆P P
regulační odchylka požadované ztrátovosti
∆T RT
regulační odchylka požadovaného zpoždění ve smyčce v komunikační síti
∆V P
akční veličina nastavující množství dat v komunikační síti
xvii
SEZNAM ZKRATEK Seznam použitých zkratek
Zkratka
Význam zkratky
ADSL
Asymmetric Digital Subscriber Line
AIMD
Additive Increase/Multiplicative Decrease
ALG
Application-level Gateway
ATM
Asynchronous Transfer Mode
BCCH
Broadcast Control Channel
BE
Best Effort
CNR
Carrier to Noise Ratio
DiffServ
Differentiated Services
DoS
Denial of Srvice
DSCP
Differentiated Services Code Point
EDGE
Enhanced Data rates for GSM Evolution
E-MAIL
Electronic Mail
FIFO
First In First Out
FTP
File Transfer Protocol
GPRS
General Packet Radio Service
GSM
Groupe Spécial Mobile
HSUPA
High-Speed Uplink Packet Access
HTTP
Hyper Text Transport Protocol
HW
Hardware
IEC
International Electrotechnical Commission
IEEE
Institute of Electrical and Electronics Engineers
IMA
Inverse Multiplexing of ATM
IPM
Inverse Packet Multiplexing Pokračování na následující straně ...
xviii
SEZNAM ZKRATEK
... pokračování z předchozí strany
Zkratka
Význam zkratky
IntServ
Integrated Services
IP
Internet Protocol
IPS
Intrusion Prevention System
ISO
International Organization for Standardization
ISP
Internet Service Provider
LACP
Link Aggregation Control Protocol
LAN
Local Area Network
LTE
Long Term Evolution
MAN
Metropolitan Area Network
MHD
Městská hromadná doprava
MD5
Message-Digest Algorithm
MPTCP
Multipath TCP
MTU
Maximal Transmission Unit
MVČR
Ministerstvo vnitra České republiky
NAT
Network Address Translation
OSI
Open Systems Interconnection
PID
Proportional/Integral/Derivative Controller
PSD
Proportional/Sum/Derivative Controller
PWM
Pulse Width Modulation
QoS
Quality of Service
RFC
Request for Comments
RM
Reference Model
RTSP
Real Time Stream Protocol Pokračování na následující straně ...
xix
SEZNAM ZKRATEK
... 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
8
KAPITOLA 2. ZVOLENÉ METODY ZPRACOVÁNÍ
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) bu10
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
3.1.2
14
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
17
KAPITOLA 3. AKTUÁLNÍ STAV ŘEŠENÉ PROBLEMATIKY
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 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |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 ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ...
bytes bits
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-
KAPITOLA 3. AKTUÁLNÍ STAV ŘEŠENÉ PROBLEMATIKY
19
nismy pro předcházení zahlcení datového kanálu jako AIMD (Additive Increase / Multiplicative Decrease) [S17] a jiné. Pokud dojde v určitém přenosovém kanále ke ztrátě nebo neúměrnému zpoždění paketů je ve standardní implementaci MPTCP vyvolán mechanismus „Fast Retransmit“. Pokud dojde v přenosovém kanále ke ztrátě paketů, jsou nepotvrzená data (segmenty) přenesena jiným kanálem viz RFC 6824 [S18], které je stále označeno jako „experimentální“. V rámci stávající implementace MPTCP do systému Linux je použita základní skupina mechanismů pro řízení datového toku viz doporučení RFC 5861 [S16]. Aktuální množství dat, které je v síti nepotvrzeno se stejně jako u TCP řídí tzv. metodou okna. V rámci MPTCP spojení se udržuje vždy jen jedno společné okno pro všechny dílčí toky. Údaj o velikosti okna je vložen stejně jako u TCP do odpovídajícího datového pole v rámci záhlaví TCP resp. MPTCP datagramu. Kromě aktivit, které jsou spojeny s obcházením zařízení blokujících MPTCP komunikaci je i další oblast, kde velmi aktivně probíhá výzkum oblast algoritmů pro řízení množství dat v jednotlivých kanálech, viz [L7, L8]. Jednotlivé algoritmy by měly být navrhovány tak, aby dokázaly využít co nejvíc přenosové kapacity u všech kanálů, ale nechovaly se příliš agresivně a nepotlačovaly jak běžný TCP, tak i jiný MPTCP provoz. Tento požadavek vede k tomu, že podobně jako u TCP bude existovat řada různých algoritmů a nastavení pro řízení MPTCP spojení. V současné době kopíruje jak standard samotný, tak i jeho linuxová implementace požadavky na přenos dat po vysokorychlostních a širokopásmových sítích typu Ethernet, Wi-Fi, xDSL a jim podobných. Rozumné algoritmy pro použití MPTCP zatím neexistují pro technologie s výrazným zpožděním (satelitní spoje) nebo pro technologie vykazující velkou chybovost, jakými jsou 2G (Second Generation of Mobile Telecommunications Technology) nebo radiomodemové sítě. Zhodnocení protokolu Protokol MPTCP představuje velmi zajímavé řešení pro potřeby navýšení propustnosti nebo spolehlivosti v paketových sítích a hlavně v síti Internet. Jde o velmi mladý protokol, který má v současné době definovanou pouze kostru budoucího robustního protokolu. Mládí protokolu přináší i velmi velkou nevýhodu v podobě jeho neznalosti stávajícími aktivními síťovými prvky, které v rámci svého standardního nastavení komunikaci protokolem MPTCP výrazně omezí nebo dokonce znemožní. Velkou výhodou protokolu MPTCP je umožnění koexistence obou implementací protokolu IP (verze 4,
KAPITOLA 3. AKTUÁLNÍ STAV ŘEŠENÉ PROBLEMATIKY
20
6). MPTCP lze nakonfigurovat tak, aby byly oba IP protokoly vzájemně zálohovány nebo při použití více rozhraní došlo i k navýšení přenosové rychlosti. Tím že je protokol MPTCP navržen jako rozšíření dnes běžně používaného protokolu TCP, přebírá od něj mnoho dobrých, ale i špatných vlastnosti. Kromě velké univerzálnosti a transparentnosti pro stávající aplikace v případě dobrých vlastností je na straně negativních vlastností hlavně systém řízení datového toku. Ten je poplatný svému situování do 4 vrstvy referenčního modelu ISO/OSI, kde lze jen velmi obtížně provádět regulační zásahy ve spolupráci s vrstvou fyzickou případně aplikační. Dalším výrazným omezením, hlavně pro aplikace reálného času, je podpora pouze spojově orientovaného přenosu resp. protokolu TCP. Nespojově orientovaný přenos (typicky UDP) zde podporován není. Otázka bezpečnosti je dalším z velmi často diskutovaných témat u protokolu MPTCP. Stávající implementace stále neobsahuje řadu bezpečnostních mechanismů, které jsou známy z běžného protokolu TCP. Donedávna chyběla podpora „TCP SYN cookies“ a MD5 (Message-Digest Algorithm) podpisů TCP hlaviček (ve verzi 0.88.8 již existuje). Bez podpory „TCP SYN cookies“ lze na MPTCP server provést velmi snadno DoS (Denial of Service) útok, při kterém je server zaplaven požadavky na otevření TCP spojení, ale proces otevření spojení není klientem dokončen. Na serveru tak může dojít k zaplnění zásobníku polootevřenými spojeními a server přestane přijímat a zpracovávat další požadavky na otevření spojení. Jeho TCP služby budou nedostupné.
3.2
Možnosti regulace datových toků v paketové síti
Problematika regulace datových toků v paketové síti je velmi obsáhlá, proto je následující rešerše zaměřena jen na oblast, která se přímo dotýká návrhu řešeného paketového regulátoru. Regulace datových toků je jedním z mechanismů udržení kvality služby (QoS - Quality of Service) v paketové síti. Protokoly pro QoS se snaží zajistit vyhrazení a dělení dostupné přenosové kapacity takovým způsobem, aby nedocházelo zahlcením sítě ke snížení kvality síťových služeb. V dnešních paketových sítích jsou dostupné tři mechanismy pro udržení kvality služby: Best-effort services (BE) - metoda největší snahy, která mechanismus QoS vyřazuje z provozu a snaží se každý paket co nejrychleji a nejefektněji přenést k cíli.
KAPITOLA 3. AKTUÁLNÍ STAV ŘEŠENÉ PROBLEMATIKY
21
Je to základní metoda použitá jak v pevných, tak i bezdrátových paketových sítích, Integrated services (IntServ) - mechanismus, který před odesláním dat rezervuje v paketové síti potřebnou přenosovou kapacitu. Nejčastěji je tento mechanismus řešen protokolem RSVP (Resource Reservation Protocol). Uvedený protokol musí být podporován jak koncovými body komunikace, tak i směrovači, skrze které komunikace probíhá. Tato vlastnost jej činí velmi těžce aplikovatelnými. Kromě toho nezajišťuje prioritizaci přenášených dat a vyžaduje podporu v rámci provozovaných aplikací. Jeho použití je v dnešních sítích sporadické a byl nahrazen mnohem jednodušší metodou DiffServ. Differentiated services (DiffServ) - u tohoto mechanismu se pakety rozdělují do kategorií a následně jsou paketovou sítí přeneseny s respektováním priority dané kategorie. V IP sítích se údaj o kategorii/prioritě zaznamenává do speciálního pole v záhlaví paketu, viz doporučení RFC 2474 [S3]. Jde o nejčastěji používanou metodu pro definování priorit provozu v dnešních paketových sítích založených na protokolu TCP/IP. Tato metoda je rovněž aplikována v rámci spojové vrstvy technologie Ethernet a je zahrnuta do standardu IEEE 802.1Q [S19]. Uvedené mechanismy samy o sobě neregulují množství dat v síti, ale jejich primárním účelem je rezervace dostupné přenosové kapacity dle požadavku aplikace nebo služby. Samotný proces regulace množství dat v síti je v současné době uplatňován převážně na síťové a transportní vrstvě referenčního modelu ISO/OSI. Některé velmi jednoduché způsoby regulace množství odeslaných dat lze aplikovat i na spojové vrstvě. Mechanismy regulace prováděné na třetí a čtvrté vrstvě se díky odlišnému poslání jednotlivých vrstev rovněž liší. Základní popis nejběžnějších mechanismů regulace datových toků, které jsou aplikovány na jednotlivé vrstvy je uveden v následujících kapitolách.
3.2.1
Spojová vrstva
Spojová vrstva nepřináší mnoho možností pro regulaci přenášených dat. Mezi nejznámější regulační mechanismus patří v síti Ethernet Flow Control, který umožňuje řízení přenosové rychlosti mezi dvěma body takovým způsobem, aby odesílatel nezahltil příjemce. Pokud je příjemce zahlcen, odešle ke zdroji PAUSE rámec, který na určitou
KAPITOLA 3. AKTUÁLNÍ STAV ŘEŠENÉ PROBLEMATIKY
22
dobu přeruší vysílání rámců. Z popisu funkce vyplývá, že jde o jednoduchý bistabilní zpětnovazební regulační mechanismus, který umožňuje pouhé přerušení vysílaných dat. Plynulá regulace množství přenášených dat v tomto mechanismu implementována není. Další regulační mechanismy se v praxi příliš nepoužívají. Použití mechanismu Flow Control je rovněž velmi sporadické, a to hlavně díky řízení toku na třetí a zvláště pak ve čtvrté vrstvě, které jsou mnohem efektivnější.
3.2.2
Síťová vrstva
Síťová vrstva je třetí vrstvou referenčního modelu ISO/OSI starající se o adresování, směrování a hlášení problémů s doručením paketů v síti. Sama o sobě nezaručuje doručení dat, a proto i mechanismy, které ovlivňují datový tok, nejsou tak sofistikované jako na 4. vrstvě. Většinou jde o mechanismy, které nevyužívají možnosti zpětné vazby a regulují dle pevně zadané mezní hodnoty. Typicky jde o regulaci na požadovanou přenosovou rychlost, na požadovaný počet paketů za sekundu apod. Tento druh regulace je obvykle uplatňován v síťových směrovačích a jiných zařízeních, které jsou umístěny v cestě mezi komunikujícími stanicemi. Koncové stanice tento druh regulace neprovádějí. Samotná regulace je obvykle řešena pomocí následujících principů. • Traffic Policing - snižování datového toku zahazováním paketů, překračuje-li datový tok daný limit. • Traffic Shaping - snižování datového toku pozdržením paketů, překračuje-li datový tok daný limit. Aplikace výše uvedených principů se provádí na základě informací o aktuálním zaplnění paketových zásobníků a stavu interních čítačů v systému, který regulaci provádí. Pokud jsou dosaženy mezní hodnoty zaplnění zásobníků nebo překročeny maximální hodnoty čítačů přenesených dat, dojde k zahazování paketů, které se objeví na vstupu. Regulační mechanismus je koncipován většinou takovým způsobem, že nejdříve je na datový tok aplikován „Traffic Shaping“ a po zaplnění všech zásobníků a překročení mezních hodnot čítačů „Traffic Policing“. Tento systém je velmi rychlý a efektivní pro rezervaci určitého přenosového pásma, ale díky své statické povaze již nezajistí efektivní sdílení přenosové kapacity mezi aplikacemi nebo službami v rámci datového toku. Toto sdílení jsou schopné zajistit až regulační mechanismy aplikované v transportní vrstvě.
KAPITOLA 3. AKTUÁLNÍ STAV ŘEŠENÉ PROBLEMATIKY
3.2.3
23
Transportní vrstva
Transportní vrstva je čtvrtou vrstvou referenčního modelu ISO/OSI. Hlavním úkolem této vrstvy je přenos dat mezi dvěma koncovými uzly. V rámci protokolové rodiny TCP/IP nabízí tato vrstva dva režimy přenosu. Prvním je spojově orientovaný režim reprezentovaný protokolem TCP. Oproti tomu nespojově orientovaný přenos je doménou protokolu UDP. Spojově orientovaný přenos musí zajistit bezchybné doručení dat mezi dvěma koncovými uzly sítě. Kromě toho musejí být data doručena ve správném pořadí a s vyřazením duplicit. Tyto činnosti zhoršují celkovou odezvu systému, a proto pro aplikace, kde je potřeba dosáhnout rychlejší odezvy nebo vyšší propustnosti je nutné použít nespojově orientovaný přenos. Nespojově orientovaný přenos transportní vrstvy se velmi podobá přenosu dat na síťové vrstvě, proto i regulační mechanismy třetí vrstvy jsou aplikovatelné na tento druh přenosu. Datový tok se reguluje pozdržováním nebo zahazováním paketů. Zpětná vazba pro řízení zde rovněž neexistuje. Oproti tomu jsou u spojově orientovaných protokolů implementovány mechanismy, které se snaží udržet datový tok na takové úrovni, aby nebyl datový kanál zahlcen. Tímto přístupem se snaží protokol předejít nadměrným ztrátám a zpoždění. Oproti dříve jmenovaným mechanismům třetí vrstvy a nespojově orientovaným spojením jsou řídící mechanismy spojově orientovaného spojení zpětnovazební a řízení množství dat, které se přenáší sítí je prováděno vysílací stranou na základě informací o aktuálním stavu přenosového kanálu. Podrobnou studii řídících algoritmů protokolu TCP pro různé přenosové technologie provedl autor ve své odborné studii [A16].
3.2.4
Zhodnocení možností regulace na analyzovaných vrstvách
Zhodnocení regulačních mechanismů analyzovaných vrstev bylo pro zjednodušení provedeno formou tabulky 3.1, ve které jsou uvedené nejdůležitější vlastnosti dané vrstvy vztažené k možnostem regulace datového toku. Z hodnot v tabulce je patrné, že nejefektivnější regulace je prováděná na transportní vrstvě, protože umožňuje provádět regulaci až na úroveň konkrétní služby nebo aplikace. Ze všech uvedených možností je také výkonnostně i časově nejnáročnější. Použité algoritmy vyžadují obousměrný datový přenos a odezva na provedený zásah je vždy s určitým provozním zpožděním, které může vygradovat na některých techno-
24
KAPITOLA 3. AKTUÁLNÍ STAV ŘEŠENÉ PROBLEMATIKY Parametr Regulovaný tokol
Spojová vrstva pro-
Síťová vrstva
Transportní vrstva
Ethernet
IP
TCP
Datová jednotka
rámec
paket
datagram
Regulovaná entita
rozhraní
L3 datový tok
služby, aplikace
Metoda regulace
pozdržení rámců
zahazování, pozdržení vysílaných paketů
omezení množství odesílaných dat
Regulovaná oblast
mezi přepínači
mezi směrovači
mezi koncovými stanicemi
Odezva na regulační zásah
rychlá
rychlá
pomalá
Náročnost lace
minimální
střední
velká
NE
ANO
NE
regu-
Generování ztráty při regulaci
vysílání
Tab. 3.1: Zhodnocení možnosti regulace na analyzovaných vrstvách logiích (mobilní sítě apod.) až k rozpadu spojení. Oproti tomu je regulace na síťové vrstvě mnohem jednodušší což se pozitivně projeví i na rychlosti reakce po provedení zásahu do datového toku, ale za cenu možné ztráty paketu. Kromě toho se reguluje jen na úrovni IP spojení koncových stanic, bez rozlišení konkrétní služby nebo aplikace. Spojová vrstva je z pohledu regulačních schopnostmi hodnocena nejhůře ze všech jmenovaných. Odezva na zásah je sice velmi rychlá, ale možnosti regulace jsou velmi omezené. Většinou jde jen o regulaci datového toku mezi dvěma fyzickými rozhraními bez možnosti rozlišení datových toků vyšších vrstev (IP, TCP apod.).
3.3
Dílčí zhodnocení
Z provedené analýzy dostupných možností pro regulaci datového provozu v paketových sítích vyplývá, že stávající mechanismy jsou optimalizovány pro nasazení v běžných sítích s deterministickým chováním. Dnes běžně používané protokoly spojové, síťové a
KAPITOLA 3. AKTUÁLNÍ STAV ŘEŠENÉ PROBLEMATIKY
25
transportní vrstvy jsou optimalizované pro sítě, kde se předpokládá, že veškerá ztrátovost je způsobena regulačními mechanismy ve třetí vrstvě. Ztráty způsobené jinými mechanismy než záměrným zahazováním paketů v síťových prvcích se jen velmi obtížně kompenzují. Typickým příkladem jsou mobilní bezdrátové sítě, kde vlivem nestability přenosového kanálu a jeho nedeterministického chování lze jen velmi obtížně udržet přijatelnou kvalitu služby. Protokoly transportní vrstvy jsou pro kompenzaci těchto chyb velmi nepružné a pomalé. Existuje řada modifikací protokolu TCP [L9], které vykazují na konkrétním typu sítě lepší chování než jeho standardní implementace, ale jejich nasazení v síti Internet je díky malé podpoře ze strany operačních systémů velmi problematické. Stávající přenosové technologie se snaží tento problém částečně obejít na fyzické a spojové vrstvě takovým způsobem, aby se přenosový kanál choval stabilněji i za cenu nižší propustnosti a tak umožnily řádnou funkci protokolům vyšších vrstev. Prováděné úpravy jsou specifické pro danou přenosovou technologií v konkrétní síti a použití takto upravené technologie v jiné síti nemusí řádně fungovat. Velmi perspektivním řešením výše zmíněného problému jsou systémy, které dokáží využít více paralelních přenosových cest za účelem zvýšení celkové spolehlivosti nebo propustnosti datové sítě. Provedená analýza ukázala, že se na trhu vyskytuje řada zařízení, která tuto funkcionalitu řeší napříč všech vrstev referenčního modelu ISO/OSI. Analýza rovněž ukázala zásadní nedostatky u některých z dnes běžně dostupných řešení, která se opírají o stávající implementace protokolu TCP. Hlavním problémem všech uvedených řešení je rychlost adaptace na změny v přenosovém kanále. Ty nejsou dostatečně rychlé, a proto v řadě situací vykazují tyto systémy velmi špatnou funkčnost. Uvedené nedostatky všech jmenovaných systémů otevírají možnost pro další vývoj v této oblasti. Myšlenka využití několika paralelních komunikačních cest je opodstatněná a její přínos je zjevný. Uvedené nedostatky se snaží odstranit navržený komunikační systém viz kapitola 5.2, jehož součástí je navrhovaný paketový regulátor. Ten je rovněž stěžejním tématem této práce a jedním z hlavních přínosu doktoranda do řešené problematiky.
Kapitola 4 Cíle disertační práce Předložená práce se zabývá návrhem 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 ve smyčce a minimální ztrátovostí. 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. Stanovené cíle této disertační práce jsou následující: 1. Analýza přínosu inverzního paketového multiplexoru využívajícího paketový regulátor pro navýšení přenosové rychlosti v paketové síti. Rozbor teoretického principu činnosti a jeho praktické implementace v podobně navrženého komunikačního systému. Návrh inteligentního systému rozřazování paketů před přenosem a jejich opětovného složení po přenosu několika komunikačními kanály. 2. Provedení rešerše podobných řešení využívající vícekanálový paketový přenos v komunikačních sítích. Provedení rešerše komerčních, nekomerčních i vědeckovýzkumných aktivit v této oblasti. 3. Návrhu paketového regulátoru, který vytvoří příznivé podmínky ke sdružování více datových kanálů za účelem navýšení přenosové rychlosti. Provedení teoretického návrhu paketového regulátoru pro prostředí IP sítí. 4. Optimalizace návrhu paketového regulátoru pro nasazení v mobilních sítích. Úprava návrhu paketového regulátoru takovým způsobem, aby mohl být 26
KAPITOLA 4. CÍLE DISERTAČNÍ PRÁCE
27
nasazen v běžně používaných mobilních sítích technologií GPRS, EDGE, UMTS a LTE. 5. Návrh a realizace metodiky měření paketových sítí založený na využití principu mezivrstvové spolupráce. Měření paketových sítí dle navržené metodiky by mělo zohlednit nejen chování komunikačního kanálu na úrovní měřící aplikace, ale mělo by využít i informací z ostatních komunikačních vrstev za účelem zpřesnění získaných výsledků a korelaci událostí k identifikaci negativních jevů.
Kapitola 5 Rozbor řešení Stěžejním tématem této kapitoly je aplikace teorie regulace do oblasti paketových sítí popsaných v kapitole 5.3. Paketový regulátor je navrhován jako modul originálního komunikačního systému založeného na principu inverzního paketového multiplexu, jehož popisu je věnována kapitola 5.2. Další moduly komunikačního systému zprostředkovávají paketovému regulátoru komplexní informace o dění jak v komunikačním kanále, tak i ve vyšších vrstvách referenčního modelu ISO/OSI. Principiálně využívá inverzní paketový multiplexor princip mezivrstvové komunikace, který je popsána v první podkapitole 5.1.
5.1
Princip mezivrstvové spolupráce
Většina současných komunikačních systémů vychází z referenčního modelu ISO/OSI (ISO/IEC 7498-1). Standardní model ISO/OSI byl vytvořen koncem osmdesátých let minulého století. Tento model je základem všech dnes běžně používaných komunikačních systémů a protokolů, což svědčí o jeho nadčasovosti a celkově jeho velmi dobré koncepci. Oddělení jednotlivých vrstev umožňuje mnohem jednodušší návrh celého systému. Je tak dostatečně flexibilní pro současné i budoucí potřeby v rámci návrhu nových komunikačních technologií. Celá koncepce je ovšem funkční pouze tehdy, pokud celá komunikace probíhá v rámci definovaných kritérií. Každá ze zúčastněných vrstev si vyměňuje informace se svou podřízenou i nadřízenou vrstvou dle domluveného scénáře (formát zprávy, podmínky předání). Pokud dojde vlivem nepredikované výjimky během komunikace k po28
29
KAPITOLA 5. ROZBOR ŘEŠENÍ
rušení domluvených pravidel a tato situace není ošetřena, může dojít až k rozpadu sestaveného spojení nebo přinejmenším k výraznému omezení některého ze sledovaných výkonnostních parametrů (propustnost, zpoždění ve smyčce, ztrátovost) [L10, L11]. Každá z vrstev má své autonomní řízení, které je většinou nezávislé na stavu okolních vrstev. Jednotlivé vrstvy se o nečinnosti svých sousedů dovědí až po určité době. Většinou po vypršení staticky nastavených časovačů. Vlivem špatného nastavení komunikačního protokolu pro dané přenosové médium může dojít při výpadku fyzické vrstvy k neinformování vrstev vyšších a tím místo rozpadu spojení k jeho zablokování, kdy vyšší vrstvy očekávají data, které jim ovšem díky neprůchozímu fyzickému kanálu přijít nemohou. Tento problém je zvláště patrný u protokolů z rodiny TCP/IP, které jsou velmi citlivé na parametry zpoždění ve smyčce a ztrátovosti. Těchto příkladů existuje několik a jsou více rozpracovány v odborné studii [A16]. Problematická situace s rychlostí informování o aktuálním stavu jednotlivých komunikačních vrstev může být řešena vyčleněným komunikačním kanálem viz Obr. 5.1 mezi jednotlivými vrstvami. Typicky mezi fyzickou a transportní vrstvou. Pomocí tohoto kanálu lze reportovat aktuální stav fyzického přenosového média a na jeho základě pak informovat vyšší vrstvy o možnosti data odeslat se zpožděním, nebo spojení přerušit a pokusit se ho navázat za určitou dobu. Stejným kanálem je pak možné provést vyhrazení určitého množství přenosových prostředků na základě znalosti množství a důležitosti dat, která jsou pro přenos připravena. Aplikační vrstva Prezentační vrstva
Transportní vrstva Síťová vrstva Spojová vrstva Fyzická vrstva
Mezivrstvové propojení
Relační vrstva
Obr. 5.1: Vrstvový model s vyčleněným komunikačním kanálem Uvedený princip byl využit při návrhu a realizaci inverzního paketového mul-
KAPITOLA 5. ROZBOR ŘEŠENÍ
30
tiplexoru pro přenos dat skrze více komunikačních kanálů. Principiálně využívá inverzní paketový multiplexor znalosti aktuálního stavu přenosového média k tomu, aby dokázal efektivně přizpůsobit nastavení vyšších vrstev a optimalizovat datový kanál tím způsobem, aby bylo minimalizováno zpoždění ve smyčce a ztrátovost. Za tímto účelem jsou vyměňovány informace mezi prvními čtyřmi vrstvami referenčního modelu ISO/OSI jak je znázorněno na Obr. 5.1.
5.2
Inverzní paketový multiplexor
Navržený komunikační systém je složen z několika částí. Kromě HW platformy v podobě řídicího mikropočítače a komunikačních rozhraní jsou jeho součástí i obslužné programové vybavení, v podobě běhového prostředí (operační systém, ovládací mikrorutiny apod.), a řídicí algoritmy. Komunikační systém byl navržen pro použití na úrovni třetí vrstvy referenčního modelu ISO/OSI. Díky tomuto přístupu je plně transparentní pro komunikaci vyšších vrstev. V průběhu komunikace jsou sbírány informace ze všech vrstev podílejících se na přenosu dat. Tyto informace jsou následně použity pro optimalizaci přenosového kanálu síťové vrstvy. Systém se snaží korigovat přenosový kanál takovým způsobem, aby byla zajištěna řádná funkce protokolů čtvrté a vyšších vrstev. Oproti dříve jmenovaným systémům v kapitole 3.1 je hlavní regulační logika přenosového systému posunuta na úroveň třetí vrstvy a tak i odezva na regulační zásahy je rychlejší než u systémů na čtvrté vrstvě. Pro přenos dat komunikační sítí je použitý jako nosný protokol UDP/IP, který je doplněn o speciální záhlaví, které se stará o identifikaci jednotlivých dílčích datových toků. Informace v záhlaví slouží i pro monitorování parametrů komunikační sítě. Protokol UDP byl zvolen z důvodu snazší prostupností IP síti, a zvláště pak sítí Internet, oproti protokolu TCP, jehož přenos je ovlivňován stejnými faktory jaké byly vyjmenovány u protokolu MPTCP viz kapitola 3.1.2.2. Vytvořenému komunikačnímu protokolu je věnována kapitola 5.2.2. Ke stěžejním vlastnostem komunikačního systému patří možnost korekce vlastností přenosového kanálu v podobě definice maximálního dovoleného zpoždění ve smyčce nebo maximální dovolené ztrátovosti v komunikačním kanále. Tuto regulaci lze provést nezávisle i přes několik komunikačních kanálů najednou. Pokud je dle shodných cílových podmínek korigováno více datových kanálů, lze jimi přenášet uživatelská data paralelně
31
KAPITOLA 5. ROZBOR ŘEŠENÍ
a tím navýšit celkovou propustnost systému bez výraznějšího zhoršení zpoždění ve smyčce a ztrátovosti [A17, A18], [L12]. Paralelní přenos dat lze využít i pro zanesení redundance do přenášených dat a tím provést navýšení spolehlivosti přenosu [A19]. Komunikační systém byl navržen modulárně, což umožnilo oddělit přenosovou část od systému sledování kvality komunikačních kanálů a systému řízení. Tento přístup umožňuje velmi snadné přizpůsobení systému na nové komunikační technologie a řídící algoritmy.
5.2.1
Princip činnosti
Činnost komunikačního systému je založena na propojení dvou IP sítí pomocí virtuálního kanálu, který je vytvořen nad několika nezávislými přenosovými cestami. Virtuální kanál může být sestaven nad přenosovými technologiemi, které jsou kompatibilní s protokolem IP a dokáží přenášet pakety. Principiální schéma komunikačního systému je uvedeno na obrázku Obr. 5.2. Komunikační systém Inverzní paketový multiplex
Veřejná síť
Inverzní paketový multiplex
Síť B
Síť A Strana A
Virtuální kanál
Strana B
Obr. 5.2: Principiální schéma komunikačního systému Komunikační systém znázorněný na Obr. 5.2 funguje tak, že pakety vstupující ze sítě A do jednotky přenosového systému, jsou rozřazeny dle předem definovaného schématu do jednotlivých rozhraní a skrze veřejnou síť (typicky Internet) jsou odeslány do protější jednotky přenosového systému na straně B. Zde je ze správně přijatých paketů sestaven původní datový tok a následně je odeslán do sítě B. Tento postup funguje i inverzně a systém je tak plně transparentní pro obousměrnou komunikaci. Aktuálně testovaná verze přenosového systému je plně kompatibilní s IP sítěmi a rodinou protokolů TCP/IP. Změnou komunikačních rozhraní lze systém adaptovat i na jiné druhy přenosových technologií a protokolů. Schéma pro rozdělování paketů lze modifikovat
32
KAPITOLA 5. ROZBOR ŘEŠENÍ
takovým způsobem, aby došlo buď k navýšení přenosové rychlosti, nebo k redundanci přenosu tím, že se duplikují data. Komunikační jednotka přenosového systému je složena z řady bloků, které jsou detailně zobrazeny na Obr. 5.3 včetně všech datových i řídících vazeb. Zobrazené schéma je plně symetrické a řeší jak sestupný tak i vzestupný směr komunikace. Na vstupu pakety rozděluje do jednotlivých rozhraní a na výstup předává složený datový tok do původní posloupnosti. packet filter
queue
packet filter
queue
packet splitter
buffer packet joiner buffer control unit regulator
user traffic
analyzer
control
Obr. 5.3: Detailní schéma komunikační jednotky přenosového systému
Jednotlivé funkční bloky komunikační jednotky přenosového systému jsou popsány následujícím způsobem: packet splitter - rozřazovací paketový zásobník, packet filter - paketový filtr/omezovač,
KAPITOLA 5. ROZBOR ŘEŠENÍ
33
queue - výstupní paketová fronta, buffer - vstupní paketový zásobník, control unit - řídicí jednotka, analyzer - analyzační jednotka, regulator - paketový regulátor, packet joiner - skládací paketový zásobník,
Řídící a datové cesty mají ve schématu následující význam: user traffic - plná čára signalizuje datové propojení mezi jednotlivými bloky, control - cesty vyznačené dvojitou čerchovanou čárou jsou využívány pro přenos řídících a monitorovacích informací. Detailní popis použitých funkčních bloků komunikační jednotky přenosového systému je uveden v následujících kapitolách. Samotnému paketovému regulátoru je pak věnována kapitola 5.2.1.6, ve které je principiálně popsán a matematické odvození je pak provedeno v kapitole 6. Výsledky jeho testování jsou následně uvedeny v kapitole 7. 5.2.1.1
Rozřazovací paketový zásobník
Uživatelská data v podobě IP paketů jsou interním směrovacím systémem operačního systému komunikační jednotky směrována do aplikace přenosového systému. Vstupní paketový tok je aplikací přijat v rozřazovacím paketovém zásobníku. Zde je upraveným algoritmem Round-Robin provedeno jejich rozřazení do jednotlivých rozhraní. Rozřazovací proces je popsán pseudokódem viz Alg. 1. Klasický algoritmus Round-Robin rozřazuje příchozí pakety postupně do všech dostupných rozhraní. V případě nemožnosti zápisu do určitého rozhraní je toto rozhraní přeskočeno a paket se vloží do nejbližšího dostupného. Pokud není dostupné žádné rozhraní pro zápis, paket se bez náhrady zahodí. Pokud vykazují všechny přenosové cesty shodné parametry, rozloží se rovnoměrně objem přenášených dat skrze všechna
KAPITOLA 5. ROZBOR ŘEŠENÍ
34
Alg. 1 Rozdělování paketů do jednotlivých rozhraní 1: for every incoming data packet do 2: refresh the maxSize variable at all interfaces; 3: load the packet; 4: curIf ← ((lastIf + 1) mod maxIf ) 5: while curIf 6= lastIf do 6: if packetSize ≤ maxSizecurIf then 7: maxSizecurIf ← maxSizecurIf − packetSize; 8: lastIf ← curIf ; 9: return Send the packet; 10: end if 11: curIf ← ((curIf + 1) mod maxIf ); 12: end while 13: return Discard the packet; 14: end for rozhraní. Pokud vykazuje některá z přenosových cest horší vlastnosti (zpoždění ve smyčce, ztrátovost, propustnost), je skrze toto rozhraní odesláno méně dat. Proměnné použité v pseudokódu mají následující význam: curIf
- označení aktivního rozhraní,
lastIf - číslo posledního použitého rozhraní, maxIf - celkový počet rozhraní, packetSize - velikost příchozího paketu, maxSize - maximální množství dat, které lze odeslat skrze dané rozhraní. Základní algoritmus Round-Robin je pro reálnou implementaci nevhodný, chybí mu zpětná vazba o aktuální zaplněnosti komunikačního kanálu. Používaný algoritmus Alg. 1 již tuto zpětnou vazbu obsahuje, a to v proměnné maxSize, která definuje maximální množství dat, které lze v daný okamžik komunikačním kanálem odeslat. Pokud je velikost právě načteného paketu větší než maxSize dojde k přeskočení daného rozhraní a pro jeho odeslání se použije hned následující. Velikost proměnné maxSize je ovládána řídicí jednotkou na základě informací o aktuálním stavu přenosového kanálu.
KAPITOLA 5. ROZBOR ŘEŠENÍ
35
Předtím, než je paket předán paketovému filtru, je vybaven unikátním 2 bajtovým sekvenčním číslem, které je velmi důležité pro zpětnou rekonstrukci datového toku do původní podoby na přijímací straně. Sekvenční číslo je společně s paketem předáno do paketového filtru, kde je vloženo do záhlaví odchozího informačního paketu. 5.2.1.2
Paketový filtr/omezovač
Paketový filtr plní v komunikační jednotce přenosového systému několik úloh. První úlohou je zablokování přijetí paketu z rozřazovacího zásobníku, pokud ho nemůže předat do komunikačního rozhraní. Toto zablokování přijetí paketu způsobí, že se rozřazovací zásobník pokusí paket odeslat dalším rozhraním. Koordinaci paketového filtru s rozřazovacím zásobníkem provádí řídicí jednotka. Kromě blokování přijímání paketů z rozřazovacího zásobníků realizuje paketový filtr rovněž vkládání speciálního záhlaví do odesílaných paketů a vysílá monitorovací pakety do komunikačního rozhraní. Samotnému komunikačnímu protokolu včetně popisu paketů je věnována kapitola 5.2.2. Z paketového filtru jsou pakety předány do paketové fronty, která vytváří rozhraní mezi aplikací přenosového systému a komunikační technologií. 5.2.1.3
Paketová fronta
Výstupní paketová fronta se stará o plynulé předávání paketů do fyzického přenosového kanálu. Konstrukčně jde o klasickou frontu typu FIFO (First In First Out), která se snaží potlačit nárazové plnění výstupního komunikačního rozhraní. Toto nárazové plnění způsobuje neúměrný nárůst zpoždění ve smyčce a zvyšuje riziko zahození paketů v síťovém rozhraní. 5.2.1.4
Vstupní paketový zásobník
Paketový zásobník přijímá z komunikačního rozhraní informační a monitorovací pakety vícecestného přenosového systému. Pokud je detekováno přijetí monitorovacího paketu, je ihned předán řídící jednotce, aby mohla být bez zbytečného zdržování odeslána odpověď. Pokud je přijat běžný informační paket, je jeho obsah včetně jeho sekvenčního čísla předán do skládacího paketového zásobníku. Paketový zásobník rovněž provádí základní kontrolu konzistence přijatých paketů.
KAPITOLA 5. ROZBOR ŘEŠENÍ
36
Pokud je přijatý paket jakkoli poškozen, je paketovým zásobníkem bez náhrady zahozen. 5.2.1.5
Skládací paketový zásobník
Přijaté pakety jsou ze vstupního paketového zásobníku všech rozhraní odesílány do skládacího paketového zásobníku. Zde jsou jednotlivé pakety složeny, na základě znalosti sekvenčního čísla, do původní posloupnosti, ve které vstupovaly ze zdrojové sítě do komunikačního systému. Pakety, které jsou správně seřazeny, jsou ze skládacího paketového zásobníku odeslány do cílové sítě. Jeho funkce je popsána pomocí pseudokódu uvedeného v Alg. 2, který vychází z algoritmu běžného kruhového zásobníku. Alg. 2 Spojování příchozích paketů 1: for every incoming data packet do 2: if packetN um ≤ lastN um then 3: return Drop packet 4: else if packetN um = lastN um + 1 then 5: lastN um ← lastN um + 1; 6: Send packet to output; 7: else 8: Store packet in buffer; 9: end if 10: while (lastNum + 1) is in buffer do 11: Pop packet from buffer 12: lastN um ← lastN um + 1; 13: Send packet to output; 14: end while 15: end for
Proměnné použité v pseudokódu mají následující význam: packetNum - sekvenční číslo aktuálně vkládaného paketu (získáno z hlaviček paketů), lastNum - sekvenční číslo posledního odeslaného paketu.
KAPITOLA 5. ROZBOR ŘEŠENÍ
37
Kromě výše uvedeného algoritmu musely být do reálného komunikačního systému implementovány i některé další funkce za účelem zlepšení přenosových parametrů: Časové omezení doby setrvání paketu v zásobníku je jednou ze základních funkcí, kterou lze regulovat celkové zpoždění ve smyčce v přenosovém kanálu. Zásobník lze nastavit takovým způsobem, aby bylo preferováno snížení zpoždění ve smyčce nad celkovou chybovostí přenosu. Jde o velmi účinný způsob regulace, kterým lze zvláště při přenosu dat protokolem TCP upravit přenosový kanál do takového stavu, aby mohly interní algoritmy protokolu TCP řádně fungovat. Řízené odesílání dat ze zásobníku do cílové sítě je velmi důležitá funkcionalita, kterou lze docílit plynulé odchozí rychlosti i potlačení kolísání zpoždění ve smyčce, které velmi negativně ovlivňují plynulost multimediálních datových proudů. Typicky jde o přehrávání audia nebo videa v reálném čase, kdy mírný nárůst zpoždění ve smyčce nevadí, pokud jsou pakety se záznamem dodávány do přehrávače v pravidelných intervalech a s požadovanou přenosovou rychlostí. 5.2.1.6
Řídicí jednotka
Ústředním blokem komunikační jednotky přenosového systému je řídicí jednotka, jejíž součástí jsou i systémy pro monitorování stavu komunikačních rozhraní a paketový regulátor. Systém pro monitorování stavu komunikačních rozhraní získává informace o aktuální kondici jednotlivých přenosových kanálů a předává je paketovému regulátoru. Ten na základě získaných informací provádí adekvátní změny v rámci nastavení jednotlivých akčních bloků. V rámci své funkce zastává rovněž řídicí jednotka obsluhu protokolového rozhraní komunikačního systému viz kapitola 5.2.2. V řídicí jednotce jsou generovány a zpracovávány veškeré systémové informace protokolového záhlaví, které jsou pomocí jednotek paketových filtrů vkládány do paketů a odesílány k protější komunikační jednotce. Informace z protější jednotky komunikačního systému se do řídicí jednotky dostanou vyjmutím protokolového záhlaví z příchozích paketů v paketovém zásobníku, viz kapitola 5.2.1.4.
38
KAPITOLA 5. ROZBOR ŘEŠENÍ Analyzační jednotka
Pro efektivní regulaci množství přenášených paketů jednotlivými rozhraními je nezbytně nutné provádět periodický sběr informací o aktuálním stavu těchto rozhraní. Tuto činnost provádí analyzační blok řídicí jednotky. Periodické aktivní sledování komunikačních kanálů lze popsat procesem, ve kterém každá ze stran přenosového systému periodicky vysílá monitorovací pakety skrze všechna dostupná rozhraní. Tyto monitorovací pakety zjišťují aktuální zpoždění ve smyčce a ztrátovosti pro dané rozhraní a směr komunikace (uplink, downlink). Výsledky měření sledovaných veličin slouží jako vstupní informace pro paketový regulátor. Ten na jejich základě upravuje vlastnosti přenosových kanálů takovým způsobem, aby se co nejvíce blížily uživatelsky požadovaným hodnotám. Typicky jde o minimalizaci zpoždění ve smyčce a ztrátovosti, ale i maximalizaci přenosové rychlosti. Více se problematice analyzační jednotky a zvláště pak sledování kvality komunikačních kanálů věnuje kapitola 6.2. Paketový regulátor Množství dat vstupujících do přenosových kanálů je ovlivňováno nastavením jednotlivých zásobníků přenosového systému. Toto nastavení provádí řídicí jednotka na základě pokynů generovaných paketovým regulátorem. Ten pro svou činnost využívá aktuální informace o stavu přenosových kanálů, které jsou mu nepřetržitě dodávány analyzátorem. Řídicí jednotka upravuje v rozřazovacím paketovém zásobníku, pomocí pokynů z P , která ovlivňuje celkové množství dat, paketového regulátoru, hodnotu proměnné vin P je udržováno které může do přenosového systému vstoupit. Nastavení proměnné vin v souladu s aktuální možností paketových filtrů jednotlivých rozhraní bezeztrátově přenášet pakety. Situace je popsána vztahem (5.1). P vin
≤
n X
vIP ,
(5.1)
I=0
kde použité proměnné mají následující význam: P • vin - maximální množství dat, které je do komunikační jednotky přenosového systému vpuštěno [B/s],
KAPITOLA 5. ROZBOR ŘEŠENÍ
39
• vIP - maximální množství dat, které je schopno dané rozhraní bezeztrátově přenést [B/s], • I - označení aktivního komunikačního rozhraní, • n - maximální počet aktivních rozhraní komunikační jednotky přenosového systému. Díky individuálnímu sběru informací o aktuálním stavu každého přenosového kanálu lze aplikovat omezování množství přenesených dat na každý kanál zvlášť. Regulační zásahy jsou prováděny kontinuálně v souladu s možnostmi použitých přenosových technologií. Díky tomuto individuálnímu přístupu není problém provádět regulaci různorodých přenosových technologií na shodné požadované parametry virtuálního datového kanálu. Typicky může jít o spojení technologií EDGE/UMTS nebo xDSL/WLAN (Wireless LAN). Paketový regulátor nemusí využívat jen informací z analyzační jednotky o stavu jednotlivých přenosových kanálů. Může rovněž využít informace z připojené uživatelské sítě a na základě komunikačních požadavků připojených uživatelů upravit nastavení přenosových kanálů takovým způsobem, aby byl vytvářen přiměřený tlak na rezervaci zdrojů ze strany komunikačního rozhraní. Tato metoda je zvláště účinná v mobilních sítích [L13], které přidělují přenosovou kapacitu dynamicky s ohledem na aktuální potřeby uživatele. Problematika paketového regulátoru pro nasazení v komunikačních sítích je blíže diskutována v kapitole 5.3. Jeho praktický návrh a ověření pak v kapitolách 6 a 7.
5.2.2
Komunikační protokol
Vícecestný přenos dat je řízen speciálně navrženým komunikačním protokolem, který se stará o navazování, průběh a rušení spojení ať už na úrovni virtuálního přenosového kanálu, tak jeho dílčích cest. Řízení spojení je odvozeno od protokolu TCP, i když prováděné pomocí upravených paketů UDP. Komunikační protokol tak vytváří spojově orientovaný přenos pomocí UDP paketů. Uvádění dalších podrobností k činnosti použitého komunikačního protokolu je nad rámec této práce, a proto je další text zaměřen pouze na informace týkající se samotného přenosu dat. Jak již bylo uvedeno v kapitole 5.2, UDP protokol byl zvolen záměrně, protože při průchodu sítí není datový obsah ovlivňován. V řadě síťových uzlů může být na něj
40
KAPITOLA 5. ROZBOR ŘEŠENÍ
aplikována přísnější politika pro zahazování paketů, ale s dobře nastaveným paketovým regulátorem to nepředstavuje zásadnější problém. Důležitý je fakt, že veškerá provedená rozšíření v podobě dodatečného záhlaví se pro síťová zařízení, kterými informační paket prochází, jeví jako běžná uživatelská data a tak není obsah nikterak pozměňován. 5.2.2.1
Informační pakety
Uživatelská data jsou vícecestným komunikačním systémem přenášena pomocí informačních paketů, které jsou složeny z běžného IP/UDP paketu doplněného o speciální protokolové záhlaví. Jednotlivá pole informačního paketu jsou zobrazena na Obr. 5.4. IP a UDP záhlaví se nijak neliší od běžně používaných paketů, jediná změna je v doplněném záhlaví, které je vyznačeno červeně. 0
1 2 3 4 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Protocol Type | Reserved | Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Encapsulated Packet ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ...
bytes bits
Obr. 5.4: Ukázka informačního paketu
Význam jednotlivých položek přidaného záhlaví je následující: Protocol Type - typ použitého transportního protokolu (1B), Reserved - rezervováno pro budoucí použití (1B), Sequence Number - unikátní sekvenční číslo přenášeného paketu v rámci celého datového toku na všech přenosových cestách (2B). Encapsulated Packet - přenášený uživatelský paket.
KAPITOLA 5. ROZBOR ŘEŠENÍ
41
Stěžejní informací, která je nesena v doplněném protokolovém záhlaví, je údaj o unikátním sekvenčním čísle přenášeného paketu. Tato informace slouží pro jeho řazení při rekonstrukci původní podoby datového toku. Transportní protokol přenáší v rámci uživatelských dat kompletní IP paket, který je mu z uživatelské sítě doručen. Tento přístup zaručí maximální transparentnost přenosového systému. Pokud je uživatelský paket velký a společně se záhlavím transportního protokolu je překročeno maximální MTU (Maximal Transmission Unit) pro danou technologii je uživatelský paket zkomprimován, aby nedocházelo ke zbytečné fragmentaci transportních paketů v síti. 5.2.2.2
Monitorovací pakety
Řídicí jednotka skrze paketový filtr provádí odesílání monitorovacích paketů za účelem zjištění kvalitativních parametrů přenosového kanálu. Pro monitorování se používá speciální monitorovací paket viz Obr. 5.5, který v sobě nese časový údaj o odeslání paketu. IP a UDP záhlaví se nijak neliší od běžně používaných paketů, jediná změna je v doplněném protokolovém záhlaví, které je vyznačeno červeně. Principiálně je monitorovací paket odeslán k protější komunikační jednotce, která jej ihned po přijetí odešle stejnou cestou zpět. Jakmile monitorovací paket dorazí, zjistí se z rozdílu doby odeslání a přijetí odezva přenosové cesty, kterou použije řídicí systém pro upravení parametrů nastavení rozřazovací jednotky a paketového filtru. Pokud je detekována ztráta monitorovacího paketu provedou se rovněž korekce na vysílací straně. Význam jednotlivých položek přidaného záhlaví je následující: Protocol Type - typ použitého transportního protokolu (1B), Reserved - rezervováno pro budoucí použití (1B), Sequence Number - unikátní sekvenční číslo v rámci celého datového toku na všech přenosových cestách (2B), Timestamp - časová značka odeslání monitorovacího paketu (8B), Padding - Výplňové bity. Vyplňují se dle požadavku na velikost monitorovacích paketů.
42
KAPITOLA 5. ROZBOR ŘEŠENÍ 0
1 2 3 4 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Protocol Type | Reserved | Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Timestamp | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Padding ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- ...
bytes bits
Obr. 5.5: Ukázka monitorovacího paketu V řadě sítí je odezva nebo ztrátovost velmi úzce spojena s množstvím dat v přenosovém kanále. Čím je odesláno více dat, nebo čím je větší četnost odesílání, roste zpoždění ve smyčce a v některých případech i ztrátovost. Aby bylo možné adaptovat komunikační systém na danou přenosovou technologii, podporuje systém měření zpoždění ve smyčce a ztrátovosti dynamickou velikost monitorovacích paketů. To umožňuje proměřit zpoždění ve smyčce a ztrátovost při různém zatížení přenosového kanálu. Pro tyto účely obsahuje monitorovací paket speciální pole Padding, do kterého se vkládají výplňová data na požadovanou velikost paketů resp. odchozí přenosovou rychlost. Zkonstruování monitorovacího paketu stejně jako interval jejich odesílání jsou řízeny řídicím systémem dle pokynů paketového regulátoru.
5.3
Teorie nasazení regulátorů v komunikačních sítích
Pojem regulace datových toků v komunikační síti je pro potřeby této práce omezen na regulaci množství dat v přenosovém kanálu. Samotný pojem regulace je definován jako zpětnovazební proces, ve kterém dochází k nastavení technické veličiny na požadovanou hodnotu a její následné udržování na konstantní úrovni i přizpůsobení poruchám a vnějším vlivům. Uvedenou definici popisuje obrázek 5.6.
43
KAPITOLA 5. ROZBOR ŘEŠENÍ
Typický regulační obvod [L14] je složen ze dvou základních součástí, mezi kterými je vytvořena záporná zpětná vazba. Ústředním členem je regulátor, označen R, který koriguje (řídí) chování regulované soustavy v obrázku 5.6 označené RS. v1(t) v2(t) v3(t)
w(t)
e(t)
R
u(t)
RS
y(t)
y(t)
Obr. 5.6: Obecné schéma regulačního obvodu Výstupem regulačního obvodu je regulovaná veličina značená y, která je regulací udržována na požadované hodnotě. Symbolem w je pak značena požadovaná hodnota regulované veličiny, pomocí které se nastavuje řídicí veličina (5.2). e(t) = w(t) − y(t)
(5.2)
Samotná činnost regulačního obvodu je založena na trvalém měření a porovnávání požadované veličiny s regulovanou. Vytvořený rozdíl je nazýván regulační odchylkou a značí se e, viz rovnice 5.2. Pokud je rozdíl mezi regulovanou a požadovanou hodnotou nenulový, provádí se akční zásah, jehož výsledkem by měl být nulový rozdíl mezi požadovanou a regulovanou veličinou. Míra akčního zásahu je ve většině případů odvozena od velikosti regulační odchylky e, a provádí se pomocí výstupní veličiny regulátoru u, která je nazývána akční veličinou. Regulace je funkční a účinná jen tehdy, pokud výstupní akční veličina zmenšuje regulační odchylku. Proti regulaci působí různé poruchové veličiny vstupující do regulované soustavy (v1, v2, v3 a jiné). Tyto poruchové veličiny působí nežádoucím a nepředvídatelným způsobem na regulovanou soustavu a ovlivňují samotnou regulovanou veličinu. Proces regulace je prováděn kontinuálně po celou dobu aktivní činnosti regulované soustavy, proto i průběhy všech veličin y(t), w(t), u(t), v1−v3(t) a e(t), které se podílejí na činnosti regulátorů jsou časově závislé.
KAPITOLA 5. ROZBOR ŘEŠENÍ
5.3.1
44
Základní rozdělení regulátorů
V současné době je v praxi používáno nepřeberné množství regulátorů. V zásadě lze tyto regulátory rozdělit do dvou skupin: • spojité, • nespojité. Spojité regulátory jsou navrženy pro práci se spojitými signály. Jejich obecné schéma včetně popisu všech veličin odpovídá schématu uvedenému na obrázku 5.6. Tyto regulátory jsou doménou analogové techniky. Vykazují dobrou kvalitu regulace a jejich návrh i realizace nejsou obtížné. V současné době jsou ovšem nahrazovány nespojitými regulátory, které jsou oproti spojitým modulárnější a v řadě případů i efektivnější. Nespojité regulátory nepracují přímo se spojitým signálem, ale jeho diskrétní formou v podobě digitálního signálu, který je reprezentován posloupností numerických hodnot. Základním prvkem těchto regulátorů je číslicový počítač, který pomocí určitého algoritmu plní funkci regulátoru. Typickým příkladem nespojitého signálu jsou i datové bloky přenášené komunikačním systémem v podobě rámců spojové nebo paketů síťové vrstvy. Z uvedených popisů regulátorů vyplývá, že požadavek na regulaci dat v komunikační sítí, která vykazuje diskrétní chování, splňuje nespojitý/diskrétní regulátor. Nasazení spojitých regulátorů do této oblasti se vzhledem k jejich účelu a vlastnostem jeví jako nevhodné, proto se jimi nebude nadále zabývat ani tato práce. V následujících kapitolách tak bude detailněji rozebrány možnosti nasazení principů diskrétní regulace do komunikačních sítí.
5.3.2
Diskrétní regulace
Oproti spojitým regulátorům pracují diskrétní regulátory [L15] se signály, které jsou v čase nespojité. Diskrétní regulační obvod je takovým obvodem, ve kterém má alespoň jedna veličina tvar posloupnosti diskrétních hodnot. Tyto hodnoty jsou většinou vytvářeny v pravidelných časových okamžicích, které bývají vyjádřeny diskrétní funkcí f (kT ). Typická ukázka blokového schématu diskrétního regulačního obvodu je uvedena na obrázku 5.7.
45
KAPITOLA 5. ROZBOR ŘEŠENÍ v(t)
w(kT )
e(kT )
DR
u(kT )
D/A
u(t)
RS
y(t)
y(kT )
A/D Obr. 5.7: Obecné schéma diskrétního regulačního obvodu
2π (5.3) T Jak je patrné z blokového schématu diskrétního regulačního obvodu viz Obr. 5.7, jedná se o běžný typ regulačního obvodu. Regulovaná soustava označena RS je spojitá, proto je spojitá také regulovaná veličina y(t). Ta je pomocí analogově-digitálnímu převodníku vzorkována s periodou T a převedena do číslicového tvaru, na diskrétní funkci y(kT ). Číslicový regulátor DR následně vypočítá regulační odchylku e(kT ) a vlastní řídicí algoritmus určí hodnotu akčního zásahu u(kT ). Tato hodnota je následně digitálně-analogovým převodníkem převedena na spojitý signál u(t), kterým je působeno na spojitou regulovanou soustavu. U některých diskrétních regulátorů není generovaný akční zásah u(kT ) převáděn na spojitý signál, ale spojitá soustava je řízena nespojitě pomocí pulsně šířkové modulace PWM (Pulse Width Modulation). Existují i případy, kdy je regulovaná soustava rovněž diskrétní. V těchto případech není nutné provádět žádné vzorkování vstupního ani tvarování výstupního diskrétního signálu akční veličiny. Situaci ilustruje obrázek 5.8. Do této skupiny regulačních soustav lze zařadit i komunikační sítě založené na přenosu datových rámců nebo paketů. Ty vykazují diskrétní chování a tak lze problematiku diskrétních regulátorů aplikovat i na ně. Použití regulátorů v komunikačních sítích je věnována následující kapitola 5.3.3. ωv =
5.3.3
Paketová regulace
Základními mechanismy pro regulaci množství dat v síti jsou zahazování a pozdržování datových jednotek (rámců, paketů) před odesláním do sítě, jak bylo blíže vysvětleno
46
KAPITOLA 5. ROZBOR ŘEŠENÍ v(t)
w(kT )
e(kT )
DR
u(kT )
DRS
y(kT )
y(kT )
Obr. 5.8: Obecné schéma plně diskrétního regulačního obvodu v kapitole 3.2. Kombinací těchto dvou mechanismů lze velmi efektivně regulovat jak přenosovou rychlost, tak i zpoždění ve smyčce a ztrátovost přenášených dat. Navržený komunikační systém představený v kapitole 5.2 je situován do třetí vrstvy RM ISO/OSI, a proto i návrh regulátor je proveden pro tuto vrstvu. Veškerá manipulace s procházejícími daty je na úrovni síťové vrstvy s nejmenší datovou jednotkou v podobě paketu. V textu je tento typ regulátoru nazýván paketovým regulátorem. Principiálně vychází paketový regulační obvod z plně diskrétního regulačního obvodu viz Obr. 5.8. Akčním zásahem u(kT ) je pro paketovou síť nastavení omezení množství dat (paketů), které je možné do komunikační sítě vpustit, nebo síti v daný okamžik přenést. Regulaci lze provádět na všechny tři výše uvedené veličiny: přenosovou rychlost (Obr. 5.9), zpoždění ve smyčce (Obr. 5.10) a ztrátovost (Obr. 5.11). Každá z uvedených regulačních veličin se hodí pro nasazení v jiném typu sítě a při jiných požadavcích na výsledné chování datového toku. 5.3.3.1
Přenosová rychlost
Regulační obvod dle Obr. 5.9 využívá informace o aktuální přenosové rychlosti v komunikační síti KS. Množství dat, které je možné datovým kanálem přenést je regulováno regulátor R na základě regulační odchylky ∆V P tvořené rozdílem regulované veličiny P v P a požadované veličiny vreq . Regulace na požadovanou přenosovou rychlost nebere v potaz případné vyvolání zhoršení zpoždění ve smyčce nebo ztrátovosti, pokud se požadovaná mez přenosové rychlosti blíží maximální kapacitě přenosového kanálu. Polemika nad výhodami a nevýhodami uvedeného regulačního obvodu je provedena v následujících odstavcích.
47
KAPITOLA 5. ROZBOR ŘEŠENÍ P vreq
∆v P
R
∆V P
KS
vP
omezení datového toku
vP Obr. 5.9: Obecné schéma síťového regulačního obvodu regulujícího přenosovou rychlost Výhody Jednoznačnou výhodou je možnost definovat si cílovou přenosovou rychlost, na kterou má být regulace prováděna. Nevýhody Oproti tomu může uvedený regulační mechanismus, v sítích s výrazným výskytem kolísání zpoždění ve smyčce a ztrátovosti, způsobovat velmi nestabilní regulaci na poP žadovanou přenosovou rychlost vreq . V případě ztrátovosti dochází vlivem zahozených dat v přenosovém kanále k rozdílu mezi množstvím dat na vstupu a výstupu z regulované soustavy. To se projevuje P rozdílem mezi v P a vreq , který nelze tímto typem regulátoru kompenzovat. U zpoždění ve smyčce je situace ještě mnohem komplikovanější. Vlivem zvyšujícího se provozního zatížení komunikační sítě, roste, zvláště v mobilních sítích, i zpoždění ve smyčce. Pokud je na tento typ přenosového kanálu nasazen paketový regulátor, regulující na základě požadované přenosové rychlosti s nevhodně nastavenou hodnotou P může dojít k jeho přetížení, které ve většině případů končí rozpadem spojení. Toto vreq chování je způsobeno zaplněním vyrovnávacích zásobníků v síti, které způsobí nárůst zpoždění ve smyčce oproti normálnímu provoznímu stavu, ve kterém jsou zásobníky využívány pro kompenzaci nadlimitního krátkodobého množství dat. K samotnému přetížení přenosového kanálu dochází takovým způsobem, že díky P nevhodně nastavené veličině vreq na hodnotu blížící se kapacitním možnostem přenosového kanálu způsobí rostoucí zpoždění ve smyčce pokles aktuální hodnoty přenosové rychlosti v P , která je měřitelná při výstupu z přenosového kanálu. Pokles v P způsobí zvětšení regulační odchylky ∆V P , která vede ke zvýšení množství dat, které je přenosovým systémem vpuštěno do přenosového kanálu. To vede ještě k výraznějšímu nárůstu zpoždění ve smyčce vlivem přeplnění vyrovnávacích zásobníků v síti. Pokud jsou zá-
48
KAPITOLA 5. ROZBOR ŘEŠENÍ
sobníky trvale přeplňovány, může zpoždění ve smyčce nabýt takových hodnot, které způsobí rozpojení probíhajících spojení. Probíhající spojení mohou být rozpojena i z důvodu záměrného zahazování přenášených dat komunikační sítí v případě přeplnění vyrovnávacích zásobníků. Uvedené nedostatky lze velmi dobře odstranit použitím paketového regulátoru, který nebude pracovat s veličinou přenosové rychlosti, ale se zpoždění ve smyčcem nebo ztrátovostí. 5.3.3.2
Zpoždění
Regulační obvod dle Obr. 5.10 využívá informace o aktuálním zpoždění ve smyčce. Výsledná dosažitelná přenosová rychlost je závislá na aktuálním zpoždění ve smyčce v přenosovém kanálu reprezentovaného regulovanou veličinou T RT . Regulátor R upravuje množství dat v P vstupujících do komunikačního sítě KS takovým způsobem, aby RT byla dodržena hodnota požadované veličiny Treq v podobě maximálního dovoleného zpoždění ve smyčce. Regulační odchylka je ve schématu znázorněna veličinou ∆T RT . Regulace na maximální dovolené zpoždění ve smyčce nebere v potaz možné vyvolání snížení celkové přenosové rychlosti a zvýšení ztrátovosti v komunikačním kanálu. RT Treq
∆T RT
R
∆V P
KS
T RT
omezení datového toku
T RT Obr. 5.10: Obecné schéma síťového regulačního obvodu regulujícího zpoždění ve smyčce Polemika nad výhodami a nevýhodami uvedeného regulačního obvodu je provedena v následujících odstavcích. Výhody Paketový regulátor omezí množství dat vstupujících do přenosového kanálu takovým RT způsobem, aby bylo dodrženo požadované zpoždění ve smyčce Treq . Tento mechanismus regulace je velmi účinný v sítích, které obsahují velké množství paketových zásobníků ať už za účelem vyrovnávání se se zátěží nebo pro potřeby realizace mobility uživatelů. Typickými zástupci jsou mobilní sítě technologií GPRS/EDGE nebo novější sítě
KAPITOLA 5. ROZBOR ŘEŠENÍ
49
UMTS/LTE. Ve většině případů jde o technologie použité při budování WAN (Wide Area Network) sítí s podporou mobility uživatelů. Principiálně funguje regulace takovým způsobem, že vlivem zvyšování zpoždění ve smyčce v přenosovém kanále dojde k jeho přeplnění a tím ke snížení regulační odchylky ∆T RT , to omezí množství dat, které je do komunikačního kanálu vpuštěno. Výsledná přenosová rychlost je tak udržovaná na takové hodnotě, aby byla přibližně RT ≈ T RT . Snížení množství dat v přenosovém kanálu nevede jen splněna podmínka Treq ke snížení zpoždění ve smyčce, ale nepřímo i snížení ztrátovosti. Snížení rychlosti plnění vyrovnávacích zásobníku oddálí jejich přeplnění a tím i následné zahazovaní paketů. Nevýhody Uvedený způsob regulace neumožňuje stanovit přenosovou rychlost na konkrétní hodnotu. Výsledná hodnota přenosové rychlosti odpovídá aktuálnímu zpoždění ve smyčce v P = f (T RT ). Účinnost a spolehlivost regulace je velmi závislá na rychlosti a kvalitě zpětné vazby o aktuálním stavu sítě v podobě okamžité hodnoty zpoždění ve smyčce T RT . Pomalá zpětná vazba zvyšuje zásadním způsobem nepřesnost regulace. Akční zásahy jsou prováděny se zpoždění ve smyčcem což vede ke zvýšení pravděpodobnosti rozkmitání celého regulačního obvodu a tím ke snížení celkové účinnosti a spolehlivosti regulačního obvodu. 5.3.3.3
Ztrátovost
Regulační obvod dle Obr. 5.11 využívá informace o aktuální ztrátovosti paketů v komunikační síti KS. Výsledná dosažitelná přenosová rychlost je závislá na aktuální ztrátovosti v přenosovém kanále reprezentované regulovanou veličinou P P . Regulační obvod upravuje množství dat vstupujících do komunikačního kanálu v P takovým způsobem, aby byla dodržena hodnota požadované veličiny v podobě maximální dovolené ztrátoP vosti Preq . Regulační odchylka je ve schématu znázorněna veličinou ∆P P . Regulace na maximální dovolenou ztrátovost nebere v potaz možné vyvolání snížení celkové přenosové rychlosti a zvýšení zpoždění ve smyčce v komunikačním kanálu. Polemika nad výhodami a nevýhodami uvedeného regulačního obvodu je provedena v následujících odstavcích.
50
KAPITOLA 5. ROZBOR ŘEŠENÍ P Preq
∆P P
R
∆V P omezení datového toku
KS
PP
PP Obr. 5.11: Obecné schéma síťového regulačního obvodu regulujícího ztrátovost Výhody Paketový regulátor omezí množství dat vstupujících do přenosového kanálu takovým P . Oproti reguzpůsobem, aby byla dodržena požadovaná maximální ztrátovost Preq laci na „Zpoždění“ je tento mechanismus určen pro paketové sítě, které mají vysoké přenosové rychlosti s minimálním zpoždění ve smyčcem a obsahují jen velmi málo mechanismů, které by prováděly kumulaci paketů v síti (zásobníky). V tomto druhu sítě se hodnota zpoždění ve smyčce se vzrůstající zátěží příliš nemění a dosažení maximální možné kapacity je signalizováno nárůstem ztrátovosti. Typickými zástupci tohoto chování jsou sítě postavené na technologiích Ethernet, xDSL, mikrovlnné spoje, WLAN apod. Ve většině případů jde o technologie použité při budování LAN (Local Area Network) a MAN (Metropolitan Area Network) sítí. Způsob funkce je obdobný jako u regulace dle zpoždění ve smyčce. Vlivem přeplnění přenosového kanálu dojde k nárůstu ztrátovosti P P , která je porovnávána s maximální P . Pokud se regulační odchylka ∆P P zvyšuje (jde do kladných dovolenou ztrátovostí Preq hodnot), vydává paketový regulátor pomocí akční veličiny ∆V P pokyny ke snížení množství dat vstupujících do přenosového kanálu. Ten zareaguje omezením zahazování paketů a tím dojde ke snížení ztrátovosti P P . Nevýhody Uvedený způsob regulace neumožňuje stanovit přenosovou rychlost na konkrétní hodnotu. Výsledná hodnota přenosové rychlosti se drží těsně pod úrovní maximální kapacity přenosového kanálu. Pokud není detekováno zahazování dat ze strany sítě, neprovádí regulační obvod žádné omezování procházejících dat. Obdobně jako u regulace na základě zpoždění ve smyčce hrozí rozkmitání celého regulačního obvodu, pokud regulátor neobdrží údaj o aktuální ztrátovosti P P včas. V tomto případě to je ještě kritičtější, protože díky vysoké přenosové rychlosti v LAN a
KAPITOLA 5. ROZBOR ŘEŠENÍ
51
MAN sítích může způsobit nepatrné zpoždění ve smyčce (jednotky až desítky ms), v provedení akčního zásahu, velkou ztrátovost. Ta vyvolá rozpad probíhajících spojení.
5.3.4
Zhodnocení možností paketové regulace
Provedená analýza paketových regulátorů poukázala na rozdílnost chování regulačního obvodu v paketové síti, pokud je regulace prováděna dle informací o přenosové rychlosti, zpoždění ve smyčce nebo ztrátovosti. Nejproblematičtějším způsobem regulace se jeví regulace dle přenosové rychlosti. Ta umožňuje velmi přesně definovat požadovanou přenosovou rychlost, ale pokud komunikační síť vykazuje velmi nestabilní průběh zpoždění ve smyčce a ztrátovosti, vede použití tohoto typu regulátoru k přehlcování komunikačního kanálu nadměrným množstvím odesílaných dat. Tento nedostatek odsuzuje použití tohoto regulátoru zejména do pevných sítí, které vykazují konstantní zpoždění ve smyčce a minimální ztrátovost. Primární oblastí nasazení vyvíjeného komunikačního systému je prostředí mobilních sítí a sítí, které vykazují výraznou nestabilitu, ať už v oblasti zpoždění ve smyčce, tak i ztrátovosti. Pro tato prostředí se nejvíce hodí popsané regulátory dle zpoždění ve smyčce a ztrátovosti. Ty při vhodném nastavení dokáží uzpůsobit množství dat, které vstupuje do regulovaného komunikačního kanálu takovým způsobem, aby nedocházelo k jeho přetěžování a tím k výraznému zhoršování zpoždění ve smyčce a ztrátovosti. V rámci prvotní analýzy celého problému paketové regulace byly dohledány i jiné způsoby regulace množství dat v přenosovém kanále, ale díky jejich složitosti, nebo naopak jednoduchosti nebyl jejich přínos potvrzen. Z tohoto důvodu byl i konečný výběr omezen jen na veličiny jako je přenosová rychlost, zpoždění ve smyčce a ztrátovost. Problematika dostupných řešení regulace množství dat v komunikačním kanále na jednotlivých vrstvách OSI modelu je detailně popsána v kapitole 3.2. Modulární návrh komunikačního systému viz kapitola 5.2 umožňuje relativně snadné nasazení jakéhokoliv z výše zmíněných typů paketového regulátoru. Jelikož je navržený komunikační systém primárně situován do prostředí mobilních bezdrátových sítí, pro které se jeví jako nejúčinnější způsob regulace dle aktuálního zpoždění ve smyčce, budou i dále provedené návrhy paketových regulátorů ve své konečné podobě optimalizovány právě pro tento případ.
Kapitola 6 Návrh a optimalizace paketového regulátoru Navrhovaný paketový regulátor je součástí řídicí jednotky komunikačního systému. Jeho úkolem je optimalizovat množství dat, které vstupuje do jednotlivých přenosových kanálů tak, aby nedocházelo k negativnímu zhoršování zpoždění ve smyčce a ztrátovosti. Svou činností ovlivňuje množství dat, která vstupují do komunikačního kanálu. Každý přenosový kanál disponuje svým vlastním paketovým regulátorem s nezávislou logikou řízení. Každý paketový regulátor je možné nasadit vždy jen do jednoho směru komunikace (vzestupný/sestupný). Veškeré dále uvedené informace jsou platné pro vzestupný směr komunikace (Uplink). Pro návrh paketového regulátoru do sestupného směru komunikace (Downlink) lze postupovat obdobným způsobem. Samotný proces řízení je založen na periodické úpravě vstupních paketových filtrů dle aktuálního stavu komunikačních kanálů, který je získáván jejich pravidelným monitorováním. Tento proces je detailněji popsán v následující kapitole 6.2. Samotný návrh paketových regulátorů je proveden s ohledem na nasazení do prostředí bezdrátových mobilních sítí. Monitorování komunikačních kanálů je z tohoto důvodu zaměřeno na analýzu zpoždění ve smyčce, viz zdůvodnění v kapitole 5.3.4. Díky analýze zpoždění ve smyčce odpadá rovněž nutnost samostatného měření zpoždění pro vzestupný a sestupný směr komunikace a následná, velmi náročná, korelace naměřených hodnot.
52
KAPITOLA 6. NÁVRH A OPTIMALIZACE PAKETOVÉHO REGULÁTORU
6.1
53
Řídicí funkce
Principiální blokové schéma paketového regulátoru komunikačního systému vychází z obecného paketového regulátoru regulujícího dle zpoždění ve smyčce, jehož popisu je věnována kapitola 5.3.3 a jeho blokové schéma je uvedeno na obrázku Obr. 6.1. Na uvedeném schématu jsou kromě samotného paketového regulátoru znázorněny i jeho jednotlivé podpůrné bloky v podobě analyzační jednotky a paketových filtrů. Blokové schéma rovněž znázorňuje veškerá datová a řídicí propojení. packet filter
queue
packet filter
queue
packet splitter
buffer packet joiner buffer u(kT ) y(kT )
control unit regulator
e(kT )
user traffic
analyzer
control
Obr. 6.1: Paketový regulátor komunikačního systému Paketový regulátor uvedený na Obr. 6.1 je řízen algoritmem, který se stará o stanovení podmínek převodu regulační odchylky e(kT ) na akční veličinu u(kT ). V případě paketového regulátoru využívající informace o aktuálním zpoždění ve smyčce hovoříme o regulační odchylce v podobě rozdílu aktuálně naměřeného zpoždění ve smyčce T RT RT s požadovaným zpožděním Treq .
KAPITOLA 6. NÁVRH A OPTIMALIZACE PAKETOVÉHO REGULÁTORU
6.1.1
54
Grafické zobrazení řídicí funkce
Vzájemnou souvislost mezi regulační odchylkou a akční veličinou lze vyjádřit pomocí převodní funkce v grafu kartézské soustavy souřadnic. Regulační odchylka je v této soustavě souřadnic vynášena na osu x a velikost akční veličiny na osu y. Rozložení jednotlivých kvadrantů je znázorněno na Obr. 6.2. +∆V P
nt
ra
d va
k I.
II. kvadrant
+∆T RT
−∆T RT II I. ra ad kv nt
IV. kvadrant
−∆V P Obr. 6.2: Grafické znázornění převodu regulační odchylky ∆T RT na akční veličinu ∆V P Regulační proces se běžně odehrává ve II. a IV. kvadrantu grafu kartézské soustavy souřadnic. Pokud se regulační odchylka ∆T RT pohybuje v záporné části osy x, je přírůstek akční veličiny ∆V P ve II. kvadrantu kladný. V případě kladné regulační odchylky na ose x je přírůstek akční veličiny ve IV. kvadrantu záporný. Ve speciálních případech je možné při návrhu řídicího algoritmu využit i III. kvadrant, díky kterému lze získat záporný přírůstek akční veličiny při záporné regulační odchylce. I. kvadrant není pro potřeby regulace prakticky využitelný.
KAPITOLA 6. NÁVRH A OPTIMALIZACE PAKETOVÉHO REGULÁTORU
6.1.2
55
Nastavení paketového filtru
Nastavení paketového filtru lze z definované řídicí funkce odvodit několika jednoduchými matematickými vztahy. Výpočet regulační odchylky je uveden v rovnici (6.1). RT ∆TiRT = TiRT − Treq
(6.1)
Výstupní akční veličina nastavuje omezení množství dat, které může do komunikačního systému vstoupit, takovým způsobem, aby při jejich rozřazení do jednotlivých kanálů nedocházelo k jejich přetěžování, viz vztah (5.1). Akční veličina ∆V P je závislá na aktuální regulační odchylce a jejich vztah je definován řídící funkcí, která je popsána rovnicí (6.2).
∆ViP = f ∆TiRT
(6.2)
Výsledné nastavení paketových filtrů se provede přičtením akční veličiny k aktuální hodnotě nastavení filtru jak popisuje vztah uvedený v (6.3). P viP = vi−1 + ∆ViP
(6.3)
Samotná aktualizace nastavení paketových filtrů nastává, ve stávající implementaci inverzního paketového multiplexoru komunikačního systému, s každým příchodem monitorovacího paketu. Tento proces je detailněji popsán v kapitole 6.2. Aktualizace nastavení paketových filtrů může být ale prováděna i pravidelně. Bližší popis obou přístupů je uveden v následujícím výčtu: • Pravidelné provádění regulačních zásahů i v době, kdy nepřicházejí monitorovací pakety. Vhodně nastavená řídící funkce umožní provádět regulaci i v případě, že chybí aktuální informace o stavu přenosového kanálu. Tento typ regulace je velmi vhodný pro sítě, které vykazují velmi velké průměrné zpoždění ve smyčce a ztrátovost. Díky pravidelným regulačním zásahům lze potlačit negativní efekt vyššího dopravního zpoždění na prováděnou regulaci. Pokud je řídicí funkce špatně nastavena, můžou regulační zásahy interferovat s interními řídicími mechanismy protokolů přenášených dat. Díky komplexnosti využívaných predikčních modelů je pro použití tohoto mechanismu vyžadován vyšší výpočetní výkon a použité
KAPITOLA 6. NÁVRH A OPTIMALIZACE PAKETOVÉHO REGULÁTORU
56
algoritmy mají také větší paměťové nároky než je tomu u mechanismu s nepravidelně prováděnými regulačními zásahy. Uvedený mechanismus je použitelný zvláště u mobilních sítí s velkým dopravním zpožděním GSM/GPRS/EDGE. • Nepravidelné provádění regulačních zásahů s příchodem monitorovacího paketu. Regulační zásah je proveden vždy, když dorazí monitorovací paket. Akční veličina regulátoru je přímo závislá na regulační odchylce, která je generována na základě údajů z monitorovacího paketu. Pokud komunikační síť vykazuje ztrátovost, může docházet k nepřesné regulaci vlivem ztráty monitorovacích paketů. Tento typ regulace se hodí pro sítě, které vykazují minimální ztrátovost. Oproti předchozímu typu mechanismu pro pravidelné provádění regulačních zásahů má tento mechanismus mnohem nižší výpočetní a paměťové nároky a lze jej provozovat i na méně výkonných HW platformách. Typické nasazení tohoto mechanismu je v sítích, kde hrozí mnohem menší riziko výskytu ztrátovosti nebo blokování přenosové cesty, které by zabránily příchodu monitorovacích paketů. Z praktického hlediska je tento mechanismus použitelný v mobilních sítích třetí a vyšší generace (3G, WiMAX, LTE) a dále u technologií Ethernet nebo Wi-Fi. Výchozí nastavení paketového filtru Výchozí chování paketového filtru je takové, že neblokuje žádná data vstupující do koRT munikačního systému a to tehdy, pokud je aktuální zpoždění ve smyčce T RT ≤ Treq a pohybuje se v oblasti II. kvadrantu grafu uvedeného na Obr.6.2. Jakmile se zpoždění ve D RT smyčce přiblíží požadované hodnotě Treq , kdy −∆T RT , 0 , začne se uplatňovat omezování množství dat vstupujících do jednotlivých přenosových kanálů dle definované řídící funkce pro III. a IV. kvadrant. Uvedený přístup umožňuje zajistit velmi rychlý náběh přenosové rychlosti, který je zvláště důležitý při inicializaci TCP spojení a jeho zahajovací fáze Slow-Start [S1]. Volba požadovaného zpoždění Klíčovým parametrem při návrhu řídicí funkce je volba hodnoty požadovaného zpoždění RT ve smyčce Treq . Jeho hodnota by neměla být volena v blízkém okolí aktuálního zpoždění ve smyčce měřené na nezatížené síti. Způsobilo by to příliš časté regulační zásahy, které by výrazně snižovaly výkonnost přenosu. Naopak, pokud by požadované zpoždění
KAPITOLA 6. NÁVRH A OPTIMALIZACE PAKETOVÉHO REGULÁTORU
57
bylo výrazně větší než průměrné zpoždění ve smyčce v nezatížené síti, způsobilo by to vyřazení regulačního obvodu z činnosti. RT Vzhledem k fluktuacím zpoždění v reálné síti, je dobré volit Treq takové, aby se předešlo nežádoucím oscilacím akční veličiny ∆V P v okolí nulové regulační odchylky RT ∆T RT . Prakticky ověřené určení Treq vychází ze vztahu (6.4) a je založeno na výpočtu RT průměrné hodnoty zpoždění ve smyčce v nezatížené síti T¯min se standardní chybou průměru SET RT [L16].
RT RT + SET RT , > T¯min Treq
(6.4)
σ SET RT = √ . n
(6.5)
kde
Rovnice (6.4) má po doplnění SET RT tvar uvedený v (6.4).
RT Treq
σ T RT RT ¯ > Tmin + √ n
(6.6)
V rovnici (6.6) je σ směrodatná odchylka výběrového průměru a n je množství dat, z nichž se průměr počítá. Pro minimalizaci přílišného rozkmitu SET RT v mobilních sítí, které vykazují velmi nestabilní průběh zpoždění ve smyčce, je vhodné provádět měření T RT u technologie GPRS/EDGE po dobu T M alespoň 40 s a pro technologie UMTS/LTE alespoň 20 s. Množství vzorků n se pak vypočte díky znalosti monitorovacího intervalu T M ON (6.12) vztahem uvedeným v (6.7). n=
TM
(6.7)
T M ON Samotný rozptyl σ 2 se vypočte dle vztahu (6.8) resp. (6.9). 2
σ =
n h X
TiRT
− T¯RT
i=1
i2
pi =
n X
TiRT
2
pi − T¯RT
2
(6.8)
i=1
Jelikož je pravděpodobnost pi všech diskrétních hodnot stejná, zjednoduší se vztah na (6.9). σ2 =
n h i2 1X TiRT − T¯RT , n i=1
(6.9)
KAPITOLA 6. NÁVRH A OPTIMALIZACE PAKETOVÉHO REGULÁTORU
58
RT a výsledný vztah pro výpočet minimálního Treq uvádí rovnice (6.10).
RT Treq
6.2
>
T¯ RT min
v u u +t
n h i 1 X RT ¯RT 2 T − T i n2 i=1
(6.10)
Monitorování komunikačních kanálů
Monitorování zpoždění ve smyčce je prováděno na základě nepřetržitého testování komunikačních kanálů periodickým vysíláním monitorovacích paketů s periodou T M ON . Jejich struktura je blíže popsána v kapitole 5.2.2 a samotný monitorovací proces popisuje pseudokód Alg. 3. Monitorovací jednotka je v systému umístěna mezi paketovým regulátorem a analyzovaným komunikačním kanálem jak ukazuje obrázek Obr. 6.1. Alg. 3 Monitorování aktuálního stavu linky pomocí analýzy zpoždění ve smyčce 1: for each received monitoring packet p on each interface I do o n RT RT RT RT , f (τ ) ∈ R; ...Tp−N,I , Tp−1,I ← f (τ ), τ = Tp,I 2: T˜p,I RT RT RT ˜ ˜ 3: ∆Tp,I ← Tp,I − Treq ; RT RT P ← f ∆T˜p,I , f ∆T˜p,I ∈R; 4: ∆Vp,I P P P ; + ∆Vp,I ← vp−1,I 5: vp,I 6: end for
Proměnné použité v pseudokódu mají následující význam: RT • Treq - požadované zpoždění ve smyčce,
• T˜RT - vyhlazené zpoždění ve smyčce (6.11), • T RT - okamžitá hodnota zpoždění ve smyčce, • ∆T˜RT - regulační odchylka zpoždění ve smyčce (6.1), • ∆V P - akční veličina nastavení paketového filtru (6.2), • v P - množství dat, které je možné přenést skrze dané rozhraní, • τ - množina vzorků okamžitého zpoždění ve smyčce,
KAPITOLA 6. NÁVRH A OPTIMALIZACE PAKETOVÉHO REGULÁTORU
59
• N - index vzorků okamžitého zpoždění ve smyčce, • I - index čísla rozhraní, • p - index čísla paketu. Monitorovací a datové pakety jsou vysílány společně. Pokud nenastane ze strany uživatele požadavek na přenos dat, jsou vysílány pouze monitorovací pakety. Aby bylo měření jednotlivých komunikačních tras co nejpřesnější, má vysílání monitorovacích paketů vyšší prioritu než je tomu u paketů datových. Aktualizace paketových filtrů se provádí s každým přijatým monitorovacím paketem. Celý proces včetně nastavení paketových filtrů je popsán v pseudokódu Alg. 3.
6.2.1
Výpočet vyhlazeného zpoždění ve smyčce
Aby nebyl výstup regulátoru rozkolísaný, zvláště při nasazení v mobilních sítích, nepoužívá se přímo jako vstup do regulátoru aktuálně naměřené zpoždění ve smyčce, ale jeho vyhlazená podoba. Algoritmus realizující vyhlazení průběhu aktuálního naměřeného zpoždění ve smyčce TiRT skrze několik jeho posledních hodnot je uveden v rovnici (6.11). Tento algoritmus byl převzat z protokolu TCP [S1]. Vyhlazené zpoždění RT a z hodnoty aktuálního zpožve smyčce T˜iRT je vypočteno z jeho předešlé hodnoty T˜i−1 RT dění ve smyčce Ti . Algoritmus je ještě doplněn o konstantu vyhlazovacího faktoru α, která určuje velikost vlivu nové hodnoty TiRT na celkovou hodnotu T˜iRT . Konstanta α je definována v rozsahu (0 < α < 1), a čím více se blíží hodnotě 0, tím více se přibližuje průběh T˜iRT průběhu TiRT . RT T˜iRT = α · T˜i−1 + (1 − α) · TiRT ,
(6.11)
kde proměnné použité ve vzorci mají následující význam: • T˜iRT - vyhlazené zpoždění ve smyčce, • TiRT - aktuální zpoždění ve smyčce, • α - konstanta vyhlazovacího faktoru (0 < α < 1). Ukázka vlivu jednotlivých hodnot vyhlazovacího faktoru α na průběh T˜RT je znázorněn v grafu na Obr. 6.3. Pro názornost jsou v uvedeném grafu vyneseny i body aktuálně naměřeného zpoždění ve smyčce TiRT .
KAPITOLA 6. NÁVRH A OPTIMALIZACE PAKETOVÉHO REGULÁTORU 400
60
TiRT α = 0.4 α = 0.5 α = 0.6 α = 0.7 α = 0.8 α = 0.9
350 300
T˜iRT [ms]
250 200 150 100 50 0
0
10
20
30
40
50
60
70
80
i [-]
Obr. 6.3: Porovnání vlivu jednotlivých koeficientů α na průběh vyhlazení T RT
6.2.2
Volba velikosti monitorovacího intervalu
Interval periodického odesílání monitorovacích paketů je specifikován veličinou T M ON . Pro přesnou aproximaci průběhu zpoždění v komunikačním kanále by měl být dodržen Shannon-Kotělníkův teorém (6.12). RT Tmin , 2 odpovídá nejnižšímu naměřenému zpoždění ve smyčce.
T M ON ≤
RT kde Tmin
(6.12)
Podmínka (6.12) je z hlediska množství přenesených paketů za sekundu splnitelná na většině dnes používaných přenosových technologií. Problémy s velkým množstvím generovaných monitorovacích paketů mohou nastat v pevných sítích, které vykazují velmi nízké zpoždění ve smyčce. V těchto sítích je ale použití regulace na požadované RT zpoždění ve smyčce Treq neefektivní, protože se vzrůstajícím provozním zatížením, se
KAPITOLA 6. NÁVRH A OPTIMALIZACE PAKETOVÉHO REGULÁTORU
61
zpoždění ve smyčce mění jen minimálně. Po dosažení maximální přenosové rychlosti P vmax se zásadně mění jen ztrátovost paketů [L12], proto i regulace na maximální doP volenou ztrátovost paketů Preq je nejefektivnějším prostředkem pro ovládání množství dat v těchto přenosových kanálech. Uvedená podmínka (6.12) je vzhledem k výše uvedenému vhodná pro určení monitorovacího intervalu v sítích, které vykazují závislost zpoždění na aktuálním provozním zatížení komunikační sítě nebo přenosového kanálu. Typickými zástupci jmenovaných sítí jsou mobilní paketové sítě GPRS/EDGE/UMTS/LTE. Jejich analýza je uvedena v následující kapitole 6.3.
6.3
Analýza chování komunikačního kanálu
Před návrhem samotné řídicí funkce je nutné znát reálné chování komunikačního kanálu. Za tímto účelem byl vyvinut speciální nástroj nazvaný FlowPing, který umožňuje získat statické i dynamické vlastnosti měřeného komunikačního kanálu. Získané údaje lze následně použít pro návrh řídicích funkcí, který je blíže popsán v kapitole 6.4. Měřicí nástroj FlowPing je blíže popsán v příloze A.
6.3.1
Statické vlastnosti
Mezi statické vlastnosti komunikačního kanálu lze zařadit: P a • maximální přenosová rychlost, u které nedochází ke ztrátovosti paketů vmax RT RT T ≤ Tmax ,
• přenosová rychlost po jejíž překročení vykazuje přenosový systém ztrátovost veP , RT • zpoždění ve smyčce Tmax , u kterého je dosaženo maximální přenosové rychlosti P vmax , ale bez výskytu ztrátovosti,
• zpoždění ve smyčce, u kterého dochází k výskytu ztrátovosti paketů TeRT , RT • zpoždění ve smyčce měřené v nezatížené síti Tmin .
KAPITOLA 6. NÁVRH A OPTIMALIZACE PAKETOVÉHO REGULÁTORU
6.3.2
62
Dynamické vlastnosti
Mezi dynamické vlastnosti pak patří: • Rychlost plnění paketových zásobníku v měřené síti je definována směrnicí přírůstku množství dat v intervalu mezi maximálním otevřením přenosového kanálu a prvním výskytem paketové ztrátovosti KvP . Směrnice je popsána rovnicí (6.13) a princip jejího určení je popsán v grafu na Obr. 6.4.
Kv P =
RT P v P (TeRT ) − v P (Tmax ) veP − vmax = RT RT RT RT Te − Tmax Te − Tmax
(6.13)
• Rychlost vyprázdnění paketových zásobníků v síti je dána hlavně rychlostí páteřní sítě, která je řádově větší než rychlost přístupové sítě. Proto i doba potřebná k vyprázdnění síťových zásobníků je řádově menší než doba jejich zaplnění. Praktická měření tento předpoklad potvrdila, proto se touto rychlostí nebude tato práce dále zabývat.
6.3.3
Analýza průběhů
Výše uvedené vlastnosti jsou demonstrovány na reálných výsledcích měření mobilních sítí technologií UMTS a EDGE, které jsou uvedeny v příloze B. Principiálně je měření založeno na kontinuálním zvyšování množství dat v komunikačním kanále při současném sledování změn zpoždění ve smyčce jak ukazuje schématický graf uvedený na Obr. 6.4. U všech uvedených průběhů lze rozeznat několik shodných oblastí, které se vyznačují určitým specifickým chováním. Jejich popisu je věnován následující výčet. 1. Pokud je mobilní síť všech přenosových technologií nezatížená jiným provozem a množství dat vstupujících do sítě odpovídá množství dat, které je schopná síť bezeztrátově přenést, lze v naměřených průbězích pozorovat relativně konstantní RT průběh zpoždění ve smyčce Tmin . P 2. Jakmile je dosaženo mezní kapacity přenosového kanálu Vmax , odpovídá této RT RT RT rychlosti i zpoždění Tmax viz Tmax ≈ Tmin . P 3. Po překročení rychlosti vmax dochází k výraznému nárůstu zpoždění ve smyčce, RT RT pro které platí, že T Tmax . K výskytu ztrátovosti v této fázi nedochází.
63
f (v P )
P veP − vmax
f (T RT ), f (v P )
KAPITOLA 6. NÁVRH A OPTIMALIZACE PAKETOVÉHO REGULÁTORU
veP
P vmax
f (T RT )
RT TeRT − Tmax
TeRT
RT Tmax
RT Tmin
te
t
Obr. 6.4: Princip odečtu hodnot statických a dynamických veličin 4. Po dosažení zaplnění všech zásobníků, se začne síť bránit zahlcení zahazováním paketů. To i při zvyšujícím se množství generovaných dat zachová hodnotu zpoždění v určitém rozmezí, ale za cenu neustále se zvyšující ztrátovosti. Zpoždění ve smyčce, při kterém jsou paketové zásobníky zaplněny a v komunikaci se začíná projevovat ztrátovost je v grafech označena bodem TeRT a jemu odpovídající kritická přenosová rychlost pak veP . Bod TeRT se nachází v místě, kde se protíná průběh naměřeného zpoždění f (T RT ) se střední hodnotou ustáleného průběhu zpoždění ve smyčce po výskytu prvního zahozeného paketu vlivem dosažení kritické přenosové rychlosti veP . Poloha bodu je popsána výrazem (6.14).
TeRT
= f (T
RT
e +n 1 tX ); TiRT n i=te
(6.14)
5. Pokud vstupní datový tok ustane, jsou díky rychlé páteřní síti všechny zásobníky
KAPITOLA 6. NÁVRH A OPTIMALIZACE PAKETOVÉHO REGULÁTORU
64
téměř okamžitě vyprázdněny a hodnota zpoždění ve smyčce se navrátí do svého původního stavu bez zatížení. Tento proces je téměř okamžitý jak ilustrují grafy v příloze B na obrázcích B.2 a B.4.
6.4
Popis návrhu řídicí funkce
Návrh řídicí funkce vychází z výsledků analýzy komunikačního kanálu, která byla představena v kapitole 6.3. Na základě získaných statických a dynamických parametrů přenosového kanálu lze navrženou metodikou určit jednotlivé koeficienty řídicí funkce. Kromě představeného způsobu regulace dle lomené čáry, byla při návrhu mechanismů regulace ověřována i možnost aproximovat řídicí funkci ∆V P = f (T RT ) pomocí polynomu. Návrh i praktická realizace tohoto způsobu aproximace se ukázala jako velmi komplikovaná. Její výsledky nebyly zároveň lepší než ty dosažené popisovanou regulací dle lomené čáry, proto bylo od dalšího použití upuštěno.
6.4.1
Regulace dle lomené čáry
Lomená čára je vytvořena propojením vzájemné různých bodů v rovině P0 P1 P2 ...Pn kde (n ≥ 2) takovým způsobem, že vytvářejí řadu úseček P0 P1 , P1 P2 až po Pn−1 Pn , které na sebe navazují, přitom žádné dvě sousední úsečky neleží v jedné přímce [L17]. Typické ukázky lomených řídicích čar jsou uvedeny v grafu na Obr. 6.5. Návrh lomené čáry je založen na výpočtu jednotlivých bodů z informací získaných ze statických a dynamických parametrů přenosové sítě, jejichž popisu byla věnována kapitola 6.3. 6.4.1.1
Výpočet jednotlivých bodů lomené čáry
Každý bod (zlom) označený indexem n vytvářené lomené čáry, viz body P na Obr. 6.5, je v definován svou polohou na ose x v podobě regulační odchylky ∆TnRT a na ose y velikostí akčního zásahu ∆VnP . Zápis souřadnic bodu je proveden dle definice (6.15). h
Pn = ∆TnRT ; ∆VnP
i
(6.15)
Výpočet bodů na ose x a y lze při znalosti rychlosti plnění zásobníků transportní
KAPITOLA 6. NÁVRH A OPTIMALIZACE PAKETOVÉHO REGULÁTORU
65
2000 EDGE UMTS
P1 0
P0
P−1
∆V P [B]
−2000
−4000
−6000
P−2
−8000
−10000 −0.5
0
0.5
1
1.5
2
2.5
3
3.5
4
∆T˜RT [s]
Obr. 6.5: Ukázky lomené řídicí funkce sítě, v podobě směrnice KvP (6.13), provést následujícím způsobem: ∆VnP
K · ∆TnRT + qn , = M
(6.16)
kde P RT qn = ∆Vn−1 − K · ∆Tn−1 ,
(6.17)
a parametr M je koeficientem strmosti, kterým je možné upravit rychlost poklesu nebo růstu daného úseku řídicí lomené čáry. Definiční obor koeficientu strmosti je D(M ) = R − {0}. Směrnice K je pak definována dle vztahu (6.18). K = −KvP
(6.18)
Obecně lze výše uvedeným způsobem realizovat n zlomů, ale z provedeného experimentálního ověření se nepotvrdil přínos více než 2 bodů ve III. kvadrantu a jednoho bodu ve II. kvadrantu grafu řídicí funkce (6.19).
KAPITOLA 6. NÁVRH A OPTIMALIZACE PAKETOVÉHO REGULÁTORU
h
i
h
i
h
i
h
i
P1 = ∆T1RT ; ∆V1P P0 = ∆T0RT ; ∆V0P RT P P−1 = ∆T−1 ; ∆V−1
RT P P−2 = ∆T−2 ; ∆V−2
66
(6.19)
Pokud je lomená čára viz Obr. 6.5 správně navržena, pohybuje se aktivní oblast regulace mezi body P1 a P−1 a v ojedinělých případech se přiblíží k bodu P−2 . Z důvodu přílišného otevření nebo naopak uzavření paketového filtru v bodech P1 případně P−2 je na jejich úrovni řídicí funkce omezena. Následující popis je věnován chování a vlivu jednotlivých úseků lomené čáry na nastavení paketového filtru. Oblast hP0 ; P1 i V oblasti hP0 ; P1 i dochází k otevírání paketového filtru v důsledku záporné regulační odchylky ∆T RT . Komunikační systém může být nakonfigurován v tomto úseku řídicí funkce ve dvou režimech: 1. V prvním režimu není vůbec II. kvadrant pro regulaci využit. Jakmile je regulátorem zjištěna záporná regulační odchylka −∆T RT je paketový filtr vyřazen z provozu. K jeho reaktivaci dojde jen pokud je detekována kladná regulační odchylka. Uvedený přístup umožňuje docílit velmi rychlého nárůstu přenosové rychlosti v komunikačním kanálu a jeho maximální využití. Při plném vytížení přenosové kapacity vlastním datovým přenosem bude se vzrůstajícím počtem dalších účastníků docházet k velmi razantnímu přerozdělování dostupných přenosových prostředků. To způsobí zvýšenou četnost ukládání a vyprazdňování dat do a ze zásobníků v síti, což povede k častým skokovým změnám zpoždění a tím i přenosové rychlosti. Uvedené chování neumožňuje, v případě velmi vytížené přenosové technologie, vytvoření stabilního datového kanálu pro protokol TCP. Za tímto účelem je
KAPITOLA 6. NÁVRH A OPTIMALIZACE PAKETOVÉHO REGULÁTORU
67
vhodnější zvolit konzervativnější cestu v podobě postupného nárůstu přenosové rychlosti dle definované lomené čáry. 2. V druhém případě je paketový filtr otevírán postupně dle navržené lomené čáry. Rychlost nárůstu by měla korelovat s možnostmi vytvořeného datového kanálu, proto i směrnice růstu K1 by neměla být strmější než experimentálně změřena směrnice KvP (6.13). Interval, ve kterém se bude lomená čára v záporné části osy x pohybovat je omezen rozdílem reálně dosažitelného a požadovaného zpoždění a x-ové souřadnici bodu P0 (6.20). D
RT RT RT ∆T−x ∈ T¯min − Treq ; P0 (x)
E
(6.20)
Cokoli překračující tuto podmínku je vhodné v rámci implementace omezit na velikost akčního zásahu ∆V P v bodě P1 . RT RT RT a Tmin (interval mezi Treq Pokud je nevhodně zvoleno požadované zpoždění Treq je moc krátký) a směrnice K1 je příliš strmá, bude se systém chovat jako v případě s neomezujícím paketovým filtrem viz bod 1.
V reálných situacích se osvědčilo zadávat v této oblasti stejné parametry jako pro oblast (P0 ; P−1 i, jen s úpravami pro II. kvadrant. Oblast (P0 ; P−1 i V oblasti (P0 ; P−1 i by mělo docházet k omezování množství procházejících dat takovým tempem, které koreluje s rychlostí plnění paketových zásobníků v komunikační síti. Pomalé uzavírání přenosového kanálu nezpůsobuje výraznou ztrátovost uživatelských dat a přitom umožňuje udržovat přenosový kanál v blízkosti maximální přenosové P RT rychlosti vmax a minimálního dosažitelného zpoždění Tmin . Bod P0 lze v případě potřeby posunout do oblasti II. kvadrantu. Tento posun umožní lépe zvládnout situace, kdy zpoždění ve smyčce výrazně roste se vzrůstajícím zatížením přenosové sítě. Typickým příkladem jsou velmi vytížené lokality v centrech měst. Praktická měření ukázala, že pozvolný pokles přenosové rychlosti korelující s rychlostí naplňování paketových zásobníků v síti je vhodný do velikosti zpoždění ve smyčce RT odpovídající 2 · Treq . Hodnotu intervalu poklesu je možné i prodloužit, ale s rizikem
KAPITOLA 6. NÁVRH A OPTIMALIZACE PAKETOVÉHO REGULÁTORU
68
zhoršení reakční doby na změny sítě. Kratší interval není vhodné používat z důvodu výrazného snížení účinnosti regulace. RT Výpočet souřadnice ∆T−1 bodu P−1 se provede dle vztahu (6.21). RT RT RT RT − Treq = Treq = 2 · Treq ∆T−1
(6.21)
P se vypočte při znalosti strmosti nárůstu zpožVýpočet odpovídajícího bodu ∆V−1 dění v síti při jejím zahlcení KvP následujícím způsobem:
P = ∆V−1
RT + q−1 K · ∆T−1 , M−1
(6.22)
kde druhý průsečík s osou y se spočítá následujícím způsobem: q−1 = ∆V0P − K · ∆T0RT ,
(6.23)
pro P0 = [0; 0] pak platí, že q−1 = 0. Směrnice K se určí odečtením z grafu na základě reálného měření a vztahu (6.13). Samotné určení K bude dle následujícího vztahu (6.24). K = −KvP
(6.24)
Koeficient M−1 je vhodné zvolit s ohledem na použitou přenosovou technologii a typ přenášeného datového obsahu. Pokud je systémem přenášen datový provoz protokolu TCP, je vhodné provádět regulační zásahy velmi citlivě po malých krocích. Praktickým měřením byly určeny následující hodnoty koeficientu M−1 pro protokol TCP: T CP = 10, • EDGE – M−1 T CP • UMTS – M−1 = 5.
Řízení datových toků zapouzdřených do paketů protokolu UDP může být prováděno přímo dle zjištěné směrnice KvP (M = 1). Oblast (P−1 ; P−2 i Oblast (P−1 ; P−2 i je vyhrazena pro výrazné regulační zásahy. Typicky jde o situace skokových změn T RT , kdy je nutné provést významný regulační zásah, aby se předešlo
KAPITOLA 6. NÁVRH A OPTIMALIZACE PAKETOVÉHO REGULÁTORU
69
výraznému přetížení komunikačního rozhraní. Popsaná situace může nastat při provozu regulátoru v síti, ve které dochází k výrazné relokaci zdrojů. Typickým příkladem je provoz mobilní sítě na místě, kde se hromadně připojují a odhlašují noví uživatelé (zastávky MHD, metro, shromáždění apod.). Ve většině případů stačí i v této oblasti regulovat dle zjištěné směrnice (6.13), čili s parametrem M−2 = 1. RT je dobré zvolit s ohledem na reálné možnosti komunikační sítě a Polohu bodu ∆T−2 P . Jak bylo napsáno výše, pokud by maximální velikost jednoho regulačního zásahu ∆V−2 nedošlo k omezení velikosti regulačního zásahu, mohlo by v případě výrazné velikosti regulační odchylky dojít k přílišnému uzavření paketového filtru, které by způsobilo rozpad všech sestavených spojení. Z tohoto důvodu je poloha bodu P−2 klíčová i z hlediska definice maximální velikostí akčního zásahu. Praktickými měřeními bylo ověřeno, že nemá význam regulovat množství dat v přenosovém kanále, pokud dojde k jeho přetížení, proto i nastavení maximální regulační RT odchylky ∆T−2 je provedeno dle vztahu (6.25). RT RT ∆T−2 = TeRT − Treq
(6.25)
RT , bude již akční zásah konstantní a bude odpovídat Pokud dojde k překročení ∆T−2 P P je uveden v (6.26). hodnotě ∆V v bodě P−2 . Odpovídající výpočet pro ∆V−2
P ∆V−2 =
RT K · ∆T−2 + q−2 , M−2
(6.26)
kde druhý průsečík s osou y se spočítá následujícím způsobem: P RT q−2 = ∆V−1 − K · ∆T−1 ,
(6.27)
a směrnice K odpovídá vztahu (6.28). K = −KvP
(6.28)
Kapitola 7 Praktické ověření V následující kapitole je představena metodika ověření navrženého regulátoru, který byl popsán v kapitole 5.2. V textu je popsán praktický návrh koeficientů lomené funkce a v závěru jsou popsány výsledky provedených měření včetně jejich zhodnocení.
7.1
Praktický návrh regulátoru
Navržený paketový regulátor byl reálně ověřen v komunikačním systému, který byl pomocí dvou komunikačních rozhraní připojen do mobilních sítí operátorů Telefónica O2 CZ a T-Mobile CZ. Komunikační systém byl nastaven do režimu pro navyšování přenosové rychlosti prostřednictvím dvou nezávislých přenosových kanálů. Paketové regulátory měnily akční veličiny na základě profilu lomené řídící funkce. Jelikož byl komunikační systém nasazen do prostředí mobilních sítí byla zpětná vazba o chování komunikačních sítí získávána na základě monitorování zpoždění. Návrh konfigurace paketového regulátoru byl proveden takovým způsobem, aby bylo poukázáno na pozitivní i negativní stránky regulace datového toku při použití tohoto typu regulátoru. Test byl proveden v nezatížené mobilní síti, kde četnost situací vyžadující regulační zásah je nižší než v zatížené síti. To umožní mnohem snadnější analýzu chování řídicí jednotky komunikačního systému, protože jednotlivé regulační zásahy jsou mnohem lépe identifikovatelné a tím i analyzovatelné. Toto zjednodušení by nemělo mít zásadní vliv na nasazení komunikačního systému se shodným nastavením v síti s větším provozním zatížením.
70
71
KAPITOLA 7. PRAKTICKÉ OVĚŘENÍ
7.1.1
Testovací scénář
Pro ověření správné funkce komunikačního systému s paketovým regulátorem byl sestaven testovací scénář, který popisuje harmonogram provádění ověřovacích testů na zkušební síti, která je sestavena takovým způsobem, aby co nejvěrněji kopírovala reálnou situaci. Principiální schéma topologie testovací sítě je uvedeno na Obr. 7.1. Pomocí programu Iperf v režimu TCP byla ve vzestupném směru přenášena data mezi síti uživatele a serverem v síti Internet. Přenosový systém využíval dvou UMTS modemů Cinterion PH8, kdy každý byl připojen do sítě jiného operátora. Kompletní seznam a specifikace experimentálních zařízení použitých při testech jsou uvedeny v Tab. 7.1.
ISP0
PC1
PC0 iMUXsrv
iMUXcli
ISP1
Obr. 7.1: Topologie měřicí sítě Všechna měření byla prováděná na stejném místě a během samotného měření se jednotka komunikačního systému nepohybovala. Testy byly prováděny v době, kdy nebyla mobilní síť výrazně zatížená. Každý z testů trval 10 minut. Tato doba byla zvolena s ohledem na měření v nezatížené síti, která vykazuje menší četnost výskytu událostí, které vyžadují zásah regulátoru. U měřeného protokolu TCP byla nastavena velikost okna na hodnotu 64 kB, která umožňuje maximální vytížení přenosového kanálu i při zvýšeném zpoždění [L9]. Souhrn základních parametrů prováděných měření je uveden v Tab. 7.2.
7.1.2
Výchozí test propustnosti přenosových rozhraní
Před samotným testováním navyšování přenosové rychlosti byl proveden test přenosové rychlosti protokolu TCP se shodnými parametry jako jsou uvedeny v Tab. 7.2, ale bez
72
KAPITOLA 7. PRAKTICKÉ OVĚŘENÍ
Název zařízení
Označení zařízení
Popis
Komunikační klient
iMUXcli
Multicomm Modular Multiplex verze 1.11 build 20130827, LAN: Ethernet 100 Mbit/s.
iMUXsrv
Multicomm Modular Multiplex verze 1.11 build 20130827, konektivita do sítě Internet 1 Gbit/s
Testovací notebook
PC0
Měřicí notebook Dell Latitude e6420, OS Linux 3.6.12, iPerf verze 2.0.5, LAN: Ethernet 100 Mbit/s
Testovací server
PC1
Měřicí server, OS Linux 3.6.10, iPerf verze 2.0.5, konektivita do sítě Internet 1 Gbit/s
Připojení Telefónica O2 CZ
ISP0
HSUPA připojení k mobilní síti Telefónica O2 CZ pomocí modemu Cinterion PH8 USB 2.0
Připojení T-Mobile CZ
ISP1
HSUPA připojení k mobilní síti T-Mobile CZ pomocí modemu Cinterion PH8 USB 2.0
Komunikační server
Tab. 7.1: Specifikace experimentálních zařízení použitých při testech
73
KAPITOLA 7. PRAKTICKÉ OVĚŘENÍ Parametr
Hodnota
Kanál 0
Telefónica O2 CZ
Kanál 1
T-Mobile CZ
Mobilní technologie
HSUPA
Datový terminál
Cinterion PH8
Velikost TCP okna
64 kB
Počet tetovacích TCP toků
1
Délka jednoho testu
10 minut
Velikost měřících paketů
1460 B
Směr komunikace
vzestupný
Místo měření
Technická 2, 166 27 Praha 6
Tab. 7.2: Souhrnná tabulka základních parametrů provedeného měření účasti přenosového systému. Systém navyšování přenosové rychlosti byl deaktivován. Měření bylo provedeno pro každý modem zvlášť a jeho výsledek je souhrnně uveden v tabulce 7.3. Na základě získaných údajů byla navržena řídicí lomená funkce. Popis jejího návrhu je uveden v kapitole 7.1.3.4.
7.1.3
Návrh konfigurace přenosového systému
Vzhledem k výsledku testů provedených v rámci jednotlivých kanálů viz Tab. 7.3 byla zvolena skupina společných konfiguračních parametrů paketového regulátoru, které jsou uvedeny v souhrnné tabulce Tab. 7.4. 7.1.3.1
Volba požadovaného zpoždění
Použitá technologie HSUPA umožňuje dosáhnout na nezatížené síti zpoždění až 60 ms. Praktickým měření bylo zjištěno, že v měřené lokalitě je typické zpoždění nezatížené sítě Telefónica O2 CZ 95 ms a T-Mobile CZ 72 ms. Z důvodu ověření společné regulační funkce obou kanálů bylo zvoleno požadované zpoždění o velikosti 100 ms, které je těsně nad hodnotou průměrného zpoždění v síti Telefónica O2 CZ, ale výrazně nad průměrným zpožděním v síti T-Mobile CZ. Takto
74
KAPITOLA 7. PRAKTICKÉ OVĚŘENÍ
Veličina
Telefónica O2 CZ
T-Mobile CZ
P vmax
1.575 Mbit/s ± 80 kbit/s
1.82 Mbit/s ± 120 kbit/s
veP
1.78 Mbit/s ± 230 kbit/s
1.93 Mbit/s ± 260 kbit/s
RT Tmax
95 ms ± 10 ms
72 ms ± 15 ms
TeRT
600 ms ± 40 ms
400 ms ± 20 ms
Kv P
50743 B
48742 B
BCCH
-58 dBm ± 2 dBm
-67 dBm ± 2 dBm
CNR
-3.5 dB ± 0.5 dB
-4 dB ± 0.5 dB
Délka měření
10 minut
Čas měření
27.08.2012 od 19:00:00 do 19:10:00
Tab. 7.3: Výsledky měření propustnosti pro protokol TCP ve vzestupném směru na nezatížené mobilní síti
Veličina
Hodnota
RT Treq
100 ms
T M ON
40 ms
Velikost měřících paketů
80 B
α
0.8
Tab. 7.4: Parametry přenosového systému
KAPITOLA 7. PRAKTICKÉ OVĚŘENÍ
75
zvolené zpoždění by mělo umožnit efektivní regulaci množství dat v přenosovém kanálu sítě Telefónica O2 CZ. Pro síť T-Mobile CZ je zvolená velikost požadovaného zpoždění zvolena nevhodně, protože hrozí, že regulace množství dat v přenosovém kanálu bude neúčinná. V experimentu byl použit shodný regulační mechanismus pro oba kanály. Pro praktickou implementaci lze řešit dorovnání zpoždění kanálů s nižším zpožděním přídavným paketovým zpožďovacím obvodem tak, aby bylo dosaženo účinného bodu regulace i pro tento kanál. 7.1.3.2
Volba intervalu kontroly přenosové cesty
S ohledem na podmínku definovanou v 6.12 byl zvolen interval kontroly 40 ms. Tento interval byl zvolen s ohledem na minimální zpoždění v síti Telefónica O2. 7.1.3.3
Vyhlazovací faktor
Vyhlazovací faktor byl pro provedené měření zvolen α = 0.8. Tato hodnota efektivně vyhladí mimořádné špičky ve zpoždění způsobené chvilkovým přeplněním či vyprázdněním paketových zásobníků v síti. Zachová však jeho trend, jak ukazuje Obr. 6.3, což umožní provádět plynulejší regulaci množství dat procházejících komunikačním systémem, která je nezbytná pro efektivní manipulaci s pakety protokolu TCP. 7.1.3.4
Výběr vhodné lomené řídicí funkce
Díky načasování prováděných měření do doby malého vytížení komunikačních sítí, lze relativně snadno dosáhnout maximální kapacity přenosového kanálu. Malé vytížení mobilní sítě umožňuje i velmi rychlé vyprazdňování vyrovnávacích zásobníků v mezilehlých síťových uzlech (základnové stanice, směrovače apod.). To výrazně snižuje pravděpodobnost zahazování dat v některém ze zmiňovaných síťových uzlů v případě jeho zahlcení. Rychlé vyprazdňování zásobníků v mezilehlých síťových uzlech rovněž snižuje transportní zpoždění a rozptyl doby příchodu jednotlivých paketů (jitter) se výrazně snižuje. Tvar lomené křivky byl navržen v souladu s postupem uvedeným v kapitole 6.4.1. Maximální velikost akčního zásahu pro bod P1 je díky výrazně lepším parametrům sítě T-Mobile omezena na 1000 B. Akční zásah je prováděn nejdříve každých 40 ms tj. vždy po přijetí paketu monitorujícího stav přenosové cesty.
76
KAPITOLA 7. PRAKTICKÉ OVĚŘENÍ
∆V P = f ∆T˜RT
P1
0
P0
P−1
∆V P [B]
−5000
−10000
−15000
−20000
P−2
−25000 −0.4
−0.2
0
0.2
0.4
0.6
0.8
1
∆T˜RT [s] Obr. 7.2: Definice řídicí lomené funkce pro oba kanály Navržený tvar lomené křivky zobrazený na Obr. 7.2 bude v případě záporné regulační odchylky, s každým příchodem monitorovacího paketu, zvyšovat množství dat vstupující do paketové jednotky komunikačního systému. Pokud bude regulační odchylka kladná, dojde naopak k omezování množství dat vstupujících do přenosové jednotky komunikačního systému. Řídicí lomená funkce uvedená na Obr. 7.2 pro akční zásah ∆V P je definována níže uvedenými body. Výpočet bodů byl proveden dle metodiky uvedené v kapitole 6. Veličiny a hodnoty použité při výpočtu pocházejí z tabulek Tab. 7.3 a Tab. 7.4. P1 = [0.3; 1000] P0 = [0; 0]
77
KAPITOLA 7. PRAKTICKÉ OVĚŘENÍ
P−1 = [0.11; −1000] P−2 = [0.6; −25000] Ověření zvolených koeficientů bylo provedeno reálným měřením, jehož výsledky jsou uvedeny v následující kapitole 7.1.4.
7.1.4
Ověření navrženého regulátoru včetně odvozených koeficientů
Na základě parametrů uvedených v Tab. 7.4 byla provedena konfigurace řídicí jednotky komunikačního systému. Následně byl znovu proveden test propustnosti přenosového protokolu TCP ve vzestupném směru, ale nyní již pro sdružený komunikační kanál. Měřená topologie je uvedená na Obr. 7.1. Parametry fyzické vrstvy mobilních sítí získané v průběhu měření jsou uvedeny Tab. 7.5. Výsledné hodnoty měřených veličin jsou shodné s veličinami získanými při samostatném měření jednotlivých kanálů, viz výsledky v Tab. 7.3. Veličina
Telefónica O2 CZ
T-Mobile CZ
BCCH
-58 dBm ± 2 dBm
-67 dBm ± 2 dBm
CNR
-3.5 dB ± 0.5 dB
-4 dB ± 0.5 dB
Čas měření
27.08.2012 od 19:30:00 do 19:40:00
Tab. 7.5: Změřené parametry mobilních sítí na fyzické vrstvě Za dobu 10 minutového měření byla identifikována celkem 3 místa, kde byl prováděn akční zásah regulátoru. Pro názornost bude v následujícím textu detailněji popsán pouze jediný regulační zásah, který nastal mezi 3. a 5. minutou měření. Zachycený průběh regulačního procesu je pak pro oba přenosové kanály uveden na Obr. 7.3. V grafu na Obr. 7.3 je průběh vyhlazeného zpoždění T˜RT zobrazen pomocí čárkované modré čáry. Průběh regulační odchylky ∆T˜RT pak zobrazuje červená čára. Přírůstek akční veličiny ∆V P je zobrazen pomocí zelené čáry. Z grafu je velmi dobře patrné, že i při shodně nastavených parametrech regulace pro oba kanály jsou vlivem
78
KAPITOLA 7. PRAKTICKÉ OVĚŘENÍ
T˜RT
∆T RT
∆V P
1000 800
Kanál 0
T RT [ms] a ∆V P [B]
1200
600 400 200 0 −200 0
20
60
T˜RT
∆T RT
80
100
120
100
120
∆V P
1000 800
Kanál 1
T RT [ms] a ∆V P [B]
1200
40
600 400 200 0 −200 0
20
40
60
80
t [s]
Obr. 7.3: Výsledný průběh regulačního procesu ve zvolené oblasti rozdílného T˜RT rozdílné i velikosti jednotlivých akčních zásahů. Odpovídající nastavení P paketového filtru vlim je pak pro oba kanály zobrazeno na obrázku 7.4. Graf na obrázku 7.4 zobrazuje průběh změny nastavení paketového filtru v závislosti na aktuálním stavu přenosového kanálu. Tato mez je v grafu vyznačena červenou čárou. Modrými křížky je pak zobrazena naměřená okamžitá propustnost. Z grafu je patrné, že u kanálu 0 dochází k regulaci množství přenášených dat. Okamžitá přenosová rychlost v některých místech přesahuje maximální mez definovanou paketovým filtrem. Toto omezení způsobilo pokles celkové přenosové rychlosti, ale udrželo zpoždění v požadovaných mezích, což demonstruje graf pro kanál 0 na obrázku 7.5. RT Díky tomu, že je požadované zpoždění Treq nastaveno na hodnotu 100 ms, která
79
KAPITOLA 7. PRAKTICKÉ OVĚŘENÍ 2500 vP p vlim
Kanál 0
v P [kbit/s]
2000
1500
1000
500
0 0
20
40
60
80
100
120
2500 vP P vlim
Kanál 1
v P [kbit/s]
2000
1500
1000
500
0 0
20
40
60
80
100
120
t [s]
Obr. 7.4: Mechanismus řízení přenosové rychlosti ve zvolené oblasti je o 20 ms vyšší než ustálené zpoždění v kanálu 1 (cca 80 ms), nabývá i průběh akční veličiny vyšších hodnot než je tomu u kanálu 0. Zde je běžný rozdíl mezi požadovanou hodnotou zpoždění a její ustálenou velikostí přibližně 8 ms. Díky stejné lomené řídicí funkci, ale rozdílným hodnotám zpoždění, je rovněž reakce akční veličiny rozdílná. Nastavení paketového filtru pro kanál 1 není optimální. To způsobuje nemožnost efektivního provádění regulačních zásahů, jak demonstruje průběh množství dat v přenosovém kanálu pro kanál 1 na obrázku 7.4. Kromě regulačních zásahů paketového filtru v jednotlivých kanálech docházelo také k regulaci datového toku díky interním mechanismům protokolu TCP. Tyto zásahy jsou patrné v celém měřeném intervalu v podobě výkyvů okamžité přenosové rychlosti vP .
80
KAPITOLA 7. PRAKTICKÉ OVĚŘENÍ 300 T RT T˜RT , alpha = 0.8
200
Kanál 0
T RT [ms]
250
150 100 50 0 0
20
40
60
80
100
120
300 T RT T˜RT , alpha = 0.8
200
Kanál 1
T RT [ms]
250
150 100 50 0 0
20
40
60
80
100
120
t [s]
Obr. 7.5: Zpoždění ve smyčce během datového přenosu ve zvolené oblasti Mezi 80 a 100 sekundou došlo v síti T-Mobile k interferenci s dalším účastníkem, což způsobilo nárůst zpoždění, které je jasně patrné v grafu na Obr. 7.5. Paketový filtr kanálu 1 na tuto událost zareagoval adekvátním omezením množství procházejících RT příliš otevřen, nedošlo k dat. Jelikož byl paketový filtr díky nevhodně zvolenému Treq očekávanému efektu snížení množství dat v přenosovém kanále. Což je patrné v grafu na Obr. 7.4 mezi 75 a 90 sekundou. Přenášený TCP protokol zareagoval na nastalou situaci snížením množství vysílaných dat a to se projevilo poklesem přenosové rychlosti v obou kanálech viz pokles přenosové rychlosti v P mezi 80 a 100 sekundou na Obr. 7.4. Vliv regulačního mechanismu protokolu TCP je patrný u obou kanálu, i když k přeplnění došlo primárně u kanálu 1. Tento jev je způsoben použitým rozřazovacím mechanismem Round-Robin, viz algoritmus Alg. 2, který rozřazuje data do jednotli-
81
KAPITOLA 7. PRAKTICKÉ OVĚŘENÍ
vých rozhraní po paketech. Tento způsob rozřazování paketů způsobí prakticky totožný pokles přenášených dat ve všech využívaných kanálech. Průběh výsledné přenosové rychlosti včetně zobrazení příspěvků obou kanálu je zobrazen na Obr. 7.6. 3000
2500
v P [kbit/s]
2000
1500
1000
500
P vCH0
0 0
20
P vCH1 40
60
P vCH0+CH1 80
100
120
t [s]
Obr. 7.6: Výsledná přenosová rychlost ve zvolené oblasti Červené a zelené křížky představují hodnoty okamžité přenosové rychlosti pro kanál 0, respektive 1. Modré kroužky pak průběh celkové přenosové rychlosti, která je tvořena součtem obou příspěvkových toků (kanálů). Hodnoty výsledků měření propustností, za celou dobu měření (10 minut), pro jednotlivé kanály, ale i celkovou sdruženou propustnost, jsou uvedeny v Tab. 7.6. Parametr
Telefónica O2 CZ
T-Mobile CZ
Propustnost na kanál
1.1 Mbit/s ± 152 kbit/s
1.2 Mbit/s ± 154 kbit/s
Výsledná propustnost
2.22 Mbit/s ± 301 kbit/s
Tab. 7.6: Výsledky měření propustnosti vzestupného směru TCP
KAPITOLA 7. PRAKTICKÉ OVĚŘENÍ
7.2
82
Závěr z reálného měření regulátoru
Výsledky měření přenosového systému, který sdružoval dva datové kanály technologie UMTS HSUPA vytvořené přes dva rozdílné mobilní operátory, potvrdily funkčnost navrženého řešení. Vhodným návrhem řídící lomené funkce se povedlo provést regulaci množství dat procházejících datovými kanály. Díky této regulaci bylo možné vstupní vysokorychlostní datový tok rozdělit do dvou pomalejších kanálů a na druhé straně provést jejich opětovné složení. Kromě nevhodně zvolené řídicí lomené funkce pro kanál 1 potvrdilo provedené měření i další slabá místa v použitém regulátoru, které je nutné v další verzí komunikačního systému odstranit. 1. Jedním ze zjištěných nedostatků použitého regulátoru jsou horší dynamické vlastnosti navržené lomené řídicí funkce, díky kterým dochází, zvláště při vyšším provozním zatížení datové sítě, k výraznému rozkolísání paketového filtru. Tento jev je hlavně patrný u sítí s vyšším a kolísavým zpožděním. 2. Dalším slabým místem je proces návrhu lomené řídicí křivky. Samotný návrh je jednoduchý, ale musí mu předcházet časově náročné měření v místě reálného nasazení komunikačního systému. Efektivním řešením prvního zmíněného problému by mohlo být použití sady lomených řídicích funkcí, kdy bude každá zodpovědná za určité pásmo regulační odchylky. Druhý zmíněný problém v podobě potřeby provádění testů v dané lokalitě lze řešit automatickou měřicí procedurou, která stanoví koeficienty regulátoru. Efektivním řešením může být dynamická změna parametrů regulátorů dle aktuálního stavu přenosových cest. Symetrizační efekt u TCP přenosu Záměrně zvolená stejná řídicí lomená křivka pro oba kanály poukázala na zjednodušený algoritmus rozřazovací jednotky, který byl pro účely testování do komunikačního systému implementován. Použití přenosového protokolu TCP ve spojení s komunikačním systémem vede k symetrizaci množství dat ve všech používaných přenosových kanálech. Díky uplatnění řídících algoritmů protokolu TCP [S16] dochází při detekci zahlcení TCP relace k omezení množství odesílaných TCP segmentů. TCP relace je
KAPITOLA 7. PRAKTICKÉ OVĚŘENÍ
83
sestavena skrze všechny využívané přenosově kanály a tak ztráta nebo pozdržení paketů ve kterémkoliv z nich aktivuje regulační mechanismus TCP protokolu. To platí i pro pozdržení nebo zahození paketů v paketovém filtru. To vede k poklesu množství paketů na vstupu komunikačního systému, což se projeví díky použitému základnímu rozřazovacímu mechanismu Round-Robin v jejich rovnoměrném rozdělení mezi všechny použité přenosové kanály. Konečným důsledkem tohoto chování je omezení maximální přenosové rychlosti všech přenosových kanálů využívaných TCP relací dle nejpomalejšího/nejhoršího z nich. Toto výkonnostní omezení je jednoduše odstranitelné pomocí úpravy rozřazovacího mechanismu, který v současné podobě při jednom průchodu odesílá jen jeden paket do daného rozhraní viz popis v kapitole 5.2.1.1. Pokud se algoritmus pozmění takovým způsobem, aby při jednom průchodu bylo odesláno do daného rozhraní více paketů, zlepší se výkonnost přenosu. Přenosové kanály jsou v tomto případě plněny asymetricky dle svého aktuálního stavu a dojde tak k potlačení symetrizačního efektu. Uvedený efekt byl pozorován jen u protokolů, které mají v sobě implementovány vlastní mechanismy řízení. Většinou jde o spojově orientované protokoly (TCP, SCTP apod.). U nespojově orientovaných protokolů (UDP) se toto chování nevyskytuje. V rámci prováděných testů byly při výše popisovaném rozřazovacím mechanismu plněny jednotlivé kanály asymetricky dle svého aktuálního stavu.
Kapitola 8 Závěr 8.1
Závěrečné shrnutí
Předložená práce se zabývá návrhem paketového regulátoru, které dokáže efektivně a automaticky udržovat v komunikační 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átovostí přenášených dat. Paketový regulátor je navržen jako součást, autorem spolu vyvíjeného, 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 odvození koeficientů regulátorů a jeho optimalizace pro prostředí bezdrátových mobilních sítí. Součástí práce je rovněž návrh ověřovacího postupu, pomocí kterého byla funkce navrženého regulátoru testována v reálných podmínkách.
8.2
Splnění vytyčených cílů
Zhodnocení splnění cílů vytyčených v kapitole 4 je provedeno v následujících bodech: 1. Analýza přínosu inverzního paketového multiplexoru využívajícího paketový regulátor pro navýšení přenosové rychlosti v paketové síti. Diskuze nad možnostmi regulace množství dat v komunikačních sítích je pak provedena v kapitole 3.2. Princip činnosti a přínosu inverzního paketového multiplexoru je uveden v kapitole 5.2. Kromě popisu systému inverzního paketového multiplexoru je v kapitole 84
KAPITOLA 8. ZÁVĚR
85
popsán navržený komunikační systém, který ho využívá k regulaci množství dat v jednotlivých komunikačních rozhraních. 2. Provedení rešerše podobných řešení využívající vícekanálový paketový přenos v komunikačních sítích. Provedení rešerše komerčních, nekomerčních i vědeckovýzkumných aktivit v této oblasti je zpracováno v kapitole 3. V rámci provedené rešerše byla potvrzena neexistence univerzálního řešení sdružování paketů na úrovni třetí vrstvy, které by bylo transparentní napříč celou rodinou protokolů TCP/IP. 3. Návrhu paketového regulátoru, který vytvoří příznivé podmínky ke sdružování více datových kanálů za účelem navýšení přenosové rychlosti. Problematika regulátorů a jejich nasazení do paketových sítí je důkladně rozebrána v kapitole 5.3. Navržené řešení plně diskrétního paketového regulátoru je uvedeno v kapitole 5.3.3. První část kapitoly 6 pak obsahuje principiální návrh paketového regulátoru a jeho integraci do vyvíjeného komunikačního systému. Autorem představené řešení je natolik unikátní, že mu byl udělen užitný vzor číslo „PUV-25772“ [A15] a rovněž byla podaná patentová přihláška číslo „PV2013-252“, která úspěšně prošla rešeršním řízením. Samotný patent bude zapsán v první polovině roku 2014. 4. Optimalizace návrhu paketového regulátoru pro nasazení v mobilních sítích. Proces optimalizace pro mobilní sítě je popsán ve druhé části kapitoly 6. Metodika použitá pro ověření návrhu i realizace paketového regulátoru je součásti kapitoly 7 a přílohy B. 5. Návrh a realizace metodiky měření paketových sítí založený na využití principu mezivrstvové spolupráce. Princip mezivrstvové spolupráce je osvětlen v kapitole 5.1 a zvláště pak v odborné rozpravě autora této práce [A16].
KAPITOLA 8. ZÁVĚR
86
Samotná metodika jejíž součástí je i autorem spolu vyvinutá měřicí aplikace FlowPing [L18] je představena na reálném měření v kapitole 7. Popis měřící aplikace „FlowPing“ je uveden v příloze A. Jak vyplývá z předloženého souhrnu a závěrů všech dílčích kapitol této práce, všechny vytyčené cíle byly splněny.
KAPITOLA 8. ZÁVĚR
8.3
87
Náměty na další směry výzkumu v dané oblasti
Další kroky by měly směřovat k činnostem spojeným se zlepšení stability a účinnosti regulace. Velkým přínosem by rovněž bylo zautomatizování konfigurace navrženého regulátoru. Stávající systém regulace je určen pro stacionární pozici komunikačního terminálu. Další vylepšení by měla proto směřovat i do návrhu a realizace regulátoru pro mobilní přenosový kanál. Konkrétně by měl být další vývoj směřován do následujících oblastí: • Automatizace návrhu řídicích funkcí založený na aktuálním stavu komunikačního kanálu. Měřící systém by umožňoval přímo vypočítat koeficienty lomené řídicí funkce po ukončení každého měření. Na základě průběžného měření lze koeficienty adaptabilně měnit. • Pro použití v mobilním prostředí by bylo vhodné implementovat možnost dynamické změny řídicí funkce dle aktuálního profilu zpoždění v přenosových kanálech. Vhodným mechanismem může být fuzzy logika. • Implementace jiných způsobů regulace jak do stávajícího statického, tak i mobilního přístupu účastníka k síti. Možným regulačním mechanismem se jeví aplikace PID/PSD regulátoru.
Literatura [L1] M. Karlsson, M. Bergek, M. Agevald, and K. Axelsson, “A system for data transmission via several communication routes.” Patent, 01 2005. EP 1175757 B1. [L2] S. Kissel, “System and method for transmitting a data flow via bundled network access links as well as an auxiliary transmitter and receiver device and transmission and receiving methods therefore.” Patent Application, 10 2008. US 2008/0253282 A1. [L3] C. Raiciu, J. Iyengar, and O. Bonaventure, Recent advances in reliable transport protocols, ch. 2, pp. 59–106. SIGCOMM, August 2013. See http://sigcomm.org/education/ebook/SIGCOMMeBook2013v1_chapter2.pdf. [L4] G. M. Lee, J. Park, N. Kong, I. Chong, and N. Crespi, “The internet of things : concept and problem statement : 05,” tech. rep., 2012. Contribution IETF. [L5] Z. Molnár, Pokročilé metody vědecké práce. Věda pro praxi, Profess Consulting, 2012. [L6] Organizational Psychology: An experimental approach. Hauptbd. Prentice-Hall, 1979. [L7] D. Wischik, C. Raiciu, A. Greenhalgh, and M. Handley, “Design, implementation and evaluation of congestion control for multipath TCP,” in Proceedings of the 8th USENIX conference on Networked systems design and implementation, NSDI’11, (Berkeley, CA, USA), pp. 8–8, USENIX Association, 2011.
88
LITERATURA
89
[L8] G. Detal, C. Paasch, S. van der Linden, P. Mérindol, G. Avoine, and O. Bonaventure, “Revisiting Flow-Based Load Balancing: Stateless Path Selection in Data Center Networks,” Computer Networks, vol. 57, pp. 1204–1216, April 2013. [L9] M. Hassan and R. Jain, eds., High performance TCP/IP networking: concepts, issues, and solutions. 2004. [L10] D. Mustill and P. J. Willis, “Delivering QoS in the next generation network – a standards perspective,” BT Technology Journal, vol. 23, pp. 48–60, apr 2005. [L11] A. Morton, “Performance metrics for all,” IEEE Internet Computing, vol. 13, no. 4, pp. 82–86, 2009. [L12] P. Lafata, P. Jareš, and J. Vodrážka, “Increasing the Transmission Capacity of Digital Subscriber Lines,” in 35th International Conference Telecommunications and Signal Processing, (Brno), pp. 292–296, Vysoké učení technické v Brně, Fakulta elektrotechniky a komunikačních technologií, 2012. [L13] J. Vodrážka and J. Tejkl, “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,” tech. rep., ČVUT v Praze, České vysoké učení technické v Praze, Fakulta elektrotechnická, Katedra telekomunikační techniky, 1 2012. Průběžná zpráva o projektu. [L14] J. John, Systémy a řízení. Vydavatelství ČVUT v Praze, 2003. [L15] R. Dorf and R. Bishop, Modern Control Systems. Pearson Prentice Hall, 2008. [L16] M. Meloun and J. Militký, Statistická analýza experimentálních dat. Academia, 2004. [L17] Š. Voráčová and L. Csachová, Atlas geometrie: geometrie krásná a užitečná. Atlas (Academia), Academia, 2012. [L18] O. Vondrouš, Z. Kocur, P. Macejko, and P. Jareš, “FlowPing - UDP based ping application,” 2013.
Standardy [S1] J. Postel, “Transmission Control Protocol.” RFC 793 (INTERNET STANDARD), Sept. 1981. Updated by RFCs 1122, 3168, 6093, 6528. [S2] J. Postel, “Internet Protocol.” RFC 791 (INTERNET STANDARD), Sept. 1981. Updated by RFCs 1349, 2474, 6864. [S3] K. Nichols, S. Blake, F. Baker, and D. Black, “Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers.” RFC 2474 (Proposed Standard), Dec. 1998. Updated by RFCs 3168, 3260. [S4] “IEEE Standard for Local and Metropolitan Area Networks - Link Aggregation,” IEEE Std 802.1AX-2008, pp. c1–145, 2008. [S5] H. Zimmermann, “OSI Reference Model–The ISO Model of Architecture for Open Systems Interconnection,” IEEE Transactions on Communications, vol. 28, pp. 425–432, April 1980. [S6] J. D. Day and H. Zimmermann, “The OSI reference model,” Proceedings of the IEEE, vol. 71, pp. 1334–1340, Dec. 1983. [S7] J. Day and H. Zimmermann, “The osi reference model,” Proceedings of the IEEE, vol. 71, no. 12, pp. 1334–1340, 1983. [S8] D. Vassis, G. Kormentzas, A. Rouskas, and I. Maglogiannis, “The IEEE 802.11g standard for high data rate WLANs,” vol. 19, pp. 21–26, May 2005. [S9] J. Dunn and C. Martin, “Terminology for ATM Benchmarking.” RFC 2761 (Informational), Feb. 2000.
90
STANDARDY
91
[S10] R. Vallée, “Inverse Multiplexing for ATM (IMA) Specification, Version 1.1,” in The ATM Forum, Technical Committee, no. AF-PHY-0086.001, (2570 West El Camino Real, Suite 304, Mountain View, CA 94040-1313), The ATM Forum Worldwide Headquarters, March 1999. [S11] M. Bagnulo, “Threat Analysis for TCP Extensions for Multipath Operation with Multiple Addresses.” RFC 6181 (Informational), Mar. 2011. [S12] A. Ford, C. Raiciu, M. Handley, S. Barre, and J. Iyengar, “Architectural Guidelines for Multipath TCP Development.” RFC 6182 (Informational), Mar. 2011. [S13] R. Stewart, Q. Xie, K. Morneault, C. Sharp, H. Schwarzbauer, T. Taylor, I. Rytina, M. Kalla, L. Zhang, and V. Paxson, “Stream Control Transmission Protocol.” RFC 2960 (Proposed Standard), Oct. 2000. Obsoleted by RFC 4960, updated by RFC 3309. [S14] L. Ong and J. Yoakum, “An Introduction to the Stream Control Transmission Protocol (SCTP).” RFC 3286 (Informational), May 2002. [S15] R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, and T. Berners-Lee, “Hypertext Transfer Protocol – HTTP/1.1.” RFC 2616 (Draft Standard), June 1999. Updated by RFCs 2817, 5785, 6266, 6585. [S16] M. Allman, V. Paxson, and E. Blanton, “TCP Congestion Control.” RFC 5681 (Draft Standard), Sept. 2009. [S17] S. Floyd, “Congestion Control Principles.” RFC 2914 (Best Current Practice), Sept. 2000. [S18] A. Ford, C. Raiciu, M. Handley, and O. Bonaventure, “TCP Extensions for Multipath Operation with Multiple Addresses.” RFC 6824 (Experimental), Jan. 2013. [S19] “IEEE Standard for Local and metropolitan area networks–Media Access Control (MAC) Bridges and Virtual Bridged Local Area Networks,” IEEE Std 802.1Q2011 (Revision of IEEE Std 802.1Q-2005), pp. 1–1365, 2011.
Vybrané publikace autora [A1] Z. Kocur, P. Macejko, and J. Vodrážka, “Systém pro zvýšení rychlosti a spolehlivosti přenosu dat pomocí více mobilních spojení,” 2011. Funkční vzorek ČVUT v Praze. [A2] Z. Kocur, P. Macejko, and J. Vodrážka, “Adaptabilní systém pro zvýšení rychlosti a spolehlivosti přenosu dat pomocí více ADSL spojů,” 2011. Funkční vzorek ČVUT v Praze. [A3] Z. Kocur, “Nástroje pro analýzu bezdrátových přístupových sítí,” diplomová práce, České vysoké učení technické v Praze, Fakulta elektrotechnická, Katedra telekomunikační techniky, Technická 2, 166 27 Praha 6, 2 2008. [A4] P. Chlumský, Z. Kocur, and J. Vodrážka, “Comparison Methodology of the Simulation Models Based on the IEEE 802.11 Standard,” Elektrorevue, vol. 3, pp. 32–38, April 2012. [A5] Z. Kocur and M. Šafránek, “High Speed Mobile Communication,” in TSP - 31st International Conference Telecommunications and Signal Processing, (Budapest), pp. –, Asszisztencia Szervezˇo Kft., 2008. [A6] Z. Kocur, V. Machula, J. Kulda, and L. Vojtěch, “Analysis of Influence of Disturbance Level on Data Transmission in Wireless Networks,” in TSP 2010 - 33rd International Conference on Telecommunications and Signal Processing, (Budapest), pp. 292–296, Asszisztencia Szervezˇo Kft., 2010. [A7] P. Chlumský, Z. Kocur, and V. Machula, “Simulation of the Data Transmission from the Aerobatic Plane,” Przeglad Elektrotechniczny, vol. 89, no. 2b/2013, pp. 199–204, 2013.
92
VYBRANÉ PUBLIKACE AUTORA
93
[A8] Z. Kocur and V. Machula, “Systém vysokorychlostního bezdrátového přenosu dat z rychle se pohybujících objektů,” 2009. Užitný vzor. [A9] P. Chlumský, Z. Kocur, and J. Vodrážka, “Comparison of Different Scenarios for Path Diversity Packet Wireless Networks,” Advances in Electrical and Electronic Engineering, vol. 10, pp. 199–203, 11 2012. [A10] Z. Kocur, P. Macejko, and V. Mařík, “Adaptabilní systém pro zvýšení rychlosti a spolehlivosti přenosu dat v přenosové síti,” 2011. Užitný vzor. [A11] Z. Kocur, M. Neruda, and L. Boháč, “Optimization of TCP Satellite Communication in Inmarsat Network,” in The Sixth International Conference on Wireless and Mobile Communications (ICWMC 2010), (Piscataway), pp. 544–548, IEEE, 2010. [A12] M. Neruda, Z. Kocur, J. Zavrtálek, and M. Šafránek, “Komunikační systém Bender pro extrémní klimatické podmínky,” 2009. Užitný vzor. [A13] M. Neruda, Z. Kocur, and J. Burčík, “Data Transfer Optimalization via Inmarsat Satellite Network,” in TSP - 32nd International Conference on Telecommunications and Signal Processing, (Budapest), pp. –, Asszisztencia Szervezˇo Kft., 2009. [A14] J. Vodrážka, Z. Kocur, L. Boháč, and Z. Brabec, “Postup při měření rychlosti přenosu dat v mobilních sítích dle standardu LTE,” 2013. Certifikovaná metodika. [A15] Z. Kocur, J. Vodrážka, P. Macejko, and V. Mařík, “Adaptabilní systém pro zvýšení rychlosti a spolehlivosti přenosu dat v paketové síti s optimalizací zpoždění,” 2013. Užitný vzor. [A16] Z. Kocur, “The Study of TCP/IP Performance in Wireless Environment,” odborná rozprava, Czech Technical University in Prague, Faculty of Electrical Engineering, Department of Telecommunication Engineering, Technická 2, 166 27 Prague 6, 2 2010. [A17] Z. Kocur, P. Macejko, P. Chlumský, J. Vodrážka, and O. Vondrouš, “Adaptable System Increasing the Transmission Speed and Reliability in Packet Network by
VYBRANÉ PUBLIKACE AUTORA
94
Optimizing Delay,” in KTTO 2013 Proceedings of Extended Abstracts, (Ostrava), pp. 13–14, Vysoká škola báňská - Technická univerzita Ostrava, 2013. [A18] P. Chlumský, Z. Kocur, P. Mcejko, and J. Vodrážka, “Adaptable System Increasing the Transmission Speed and Reliability in Packet Network by Optimizing Delay ,” Advances in Electrical and Electronic Engineering, 2014. [A19] Z. Kocur, P. Chlumský, P. Macejko, M. Kozák, L. Vojtěch, and M. Neruda, “Measurement of Mobile Communication Devices on the Testing Railway Ring,” in 15th International Conference on Research in Telecommunication Technologies, (Bratislava), pp. 34–37, Slovak University of Technology in Bratislava, 2013.
Příloha A Měřicí nástroj FlowPing A.1
Motivace vzniku aplikace
Aplikace vznikla za účelem testování zpoždění, ztrátovosti a propustnosti komunikačních sítí. Aplikace je svým výstupem a částečně i ovládáním podobná standardní aplikaci Ping, která je dostupná v každém operačním systému. Na rozdíl od standardní aplikace Ping nepoužívá pro testování protokol ICMP, ale používá jako transportní protokol UDP a funguje tedy v režimu klient-server. Aplikace dále umožňuje provádět komplexní zátěžové testy sítě. Základní testování má podobný charakter jako testovaní pomocí běžně dostupné aplikace iPerf, ale na rozdíl od ní umožňuje definovat testy s proměnnou velikostí generovaného provozu a výstup je podobný jako v případě aplikace Ping. Výběr přenosového protokolu UDP není náhodný, ale vychází z potřeb vyvíjených algoritmů komunikačního systému, kde je rovněž použit jako transportní protokol UDP. Aplikace dále přidává možnost použití reálných dat pro zátěžové testy sítě. Negeneruje se tedy stále stejný, nebo náhodný obsah paketů, ale použije se například datový soubor jako zdroj obsahu paketů.
A.2
Možnosti aplikace
• Aplikace umí u každého paketu na výstupu zobrazit časovou značku s přesností na nanosekundy.
95
PŘÍLOHA A. MĚŘICÍ NÁSTROJ FLOWPING
96
• Aplikace také umožňuje přímé reportování informací o intervalech mezi pakety a o objemu generovaného a příchozího provozu. • Aplikace umí generovat proměnný datový tok, dle definice z příkazové řádky nebo definičního souboru testu. • Aplikace umí rovněž pracovat s proměnnou velikostí paketu, dle definičního souboru testu. • Aplikace dokáže používat reálná data jako výplň paketů, která jsou aplikaci předávána pojmenovaným tokem. • Aplikace umožňuje provádět komplexní testy dle definic v definičním souboru. Čímž značně usnadňuje a urychluje testování sítí. • Aplikace dokáže pracovat v několika režimech plánování času (pasivní čekání na přidělení procesoru, aktivní čekání na přidělení procesoru (Bussy Loop), eskalace priorit procesu). • Aplikace umožňuje také asymetrické testování, kdy server vrací klientovi pouze paket o minimální velikosti. • Pro testy, kde je objem provozu v řádu desítek či stovek Mbit/s, aplikace nabízí možnost zpožděného výpisu průběhu testu do souboru, aby nedošlo k narušení přesnosti generování provozu. • Výstup aplikace je možné provádět ve formátu CSV (hodnoty oddělené středníkem). • Aplikace je schopna stabilně generovat datové toky, v uživatelském prostoru, s rychlostí přesahující 100 000 paketů za vteřinu.
A.3 A.3.1
Příklady použití Příkazová řádka
Následující příkaz definuje test, kdy budou odesílány pakety na hostitele example.net. Test započne generováním datového provozu o objemu 256 kbit/s (parametr -b) a po 30 vteřinách (parametr -t) dojde k postupnému nárůstu objemu provozu.
PŘÍLOHA A. MĚŘICÍ NÁSTROJ FLOWPING
97
Po 90 vteřinách (parametr -T) od začátku testu dojde k ustálení objemu provozu na 512 kbit/s (parametr -B). Tento objem provozu bude generován do času testu 120 vteřin (parametr -T) od počátku testu. Poté dojde k opakování průběhu testu. Test bude trvat 180 vteřin (parametr -w) a během testu budou odesílány pakety o velikosti 500 B (parametr -s). Průběh testu je znázorněn na obrázku A.1. ./flowping -h example.net -b 256 -B 512 -t 30 –R 60 -T 90 -w 180 -s 500
Obr. A.1: Průběh testu aplikace FlowPing
A.3.2
Definiční soubor
Aplikace FlowPing umožňuje také definování komplexních testů v definičním souboru testu. Formát souboru a použití zachycuje ukázka v tabulce A.1. Příkazová řádka bude poté vypadat následujícím způsobem: ./flowping -h example.net -w 180 –u ./soubor-s-definici-testu.src
98
PŘÍLOHA A. MĚŘICÍ NÁSTROJ FLOWPING
Čas [s]
Generovaný datový tok [kbit/s]
Velikost paketu [B]
0
128
64
15
128
64
30
256
64
30
64
500
45
64
500
60
256
24
60
512
24
75
256
24
90
256
24
105
128
24
120
256
24
135
256
64
135
640
1472
150
640
1472
150
512
1000
165
128
1000
180
128
1000
Tab. A.1: Ukázka obsahu definičního souboru
PŘÍLOHA A. MĚŘICÍ NÁSTROJ FLOWPING
99
Na příkazové řádce se definuje délka testu a jako další parametr se předá soubor s definicí testu. Vše je samozřejmě možné kombinovat i s dalšími parametry aplikace FlowPing. Definovaný průběh zachycuje následující obrázek A.2.
Obr. A.2: Průběh testu aplikace FlowPing s daty z definičního souboru.
Příloha B Ukázky naměřených průběhů B.1
Technologie UMTS
Měření datového kanálu mobilní sítě společnosti Telefónica O2 v lokalitě Praha - Dejvice, Technická 2. Měřeno programem FlowPing verze 1.0.0 dne 24.4.2013 ve 12:55:00 na technologii HSUPA pro vzestupný směr komunikace. T˜RT
vP 5000
4000
4000
3000
3000
2000
2000
1000
1000
T RT [ms]
v P [kbit/s]
T RT 5000
0
0 0
50
100
150
200
t [s]
250
300
350
P Obr. B.1: Celkový průběh měření T RT = f vout 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
101
PŘÍLOHA B. UKÁZKY NAMĚŘENÝCH PRŮBĚHŮ
2500
1000
T˜RT
T RT
vP
2000
800
veP
TeRT
1500
600
1000
400
500
200
T RT [ms]
v P [kbit/s]
P vmax
RT Tmax
0
0 100
105
110
115
120
125
t [s] Obr. B.2: Detail nárůstu zpoždění s vyznačením vyšetřovaných bodů Seznam veličin, které byly odečteny z grafu na Obr. B.2: RT = 80 ms, • Tmax
• TeRT = 600 ms, P • vmax = 1.575 M bit/s,
• veP = 1.78 M bit/s, • Kv P =
P veP −vmax RT TeRT −Tmax
=
1.78·106 −1.575·106 0.6−0.08
= 394231 b = 49278 B.
102
PŘÍLOHA B. UKÁZKY NAMĚŘENÝCH PRŮBĚHŮ
B.2
Technologie EDGE
Měření datového kanálu mobilní sítě společnosti Telefónica O2 v lokalitě Praha - Dejvice, Technická 2. Měřeno programem FlowPing verze 1.0.0 dne 24.4.2013 ve 19:40:00 na technologii EDGE pro vzestupný směr komunikace.
T˜RT
T RT
14000
vP
300
12000
250
10000
200
8000
150
6000
100
4000
50
2000
0
T RT [ms]
v P [kbit/s]
350
0 0
50
100
150
200
250
300
350
t [s]
P Obr. B.3: Celkový průběh měření T RT = f vout 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.
103
PŘÍLOHA B. UKÁZKY NAMĚŘENÝCH PRŮBĚHŮ
300
6000
T˜RT
T RT
vP
250
5000 TeRT 4000
150
3000
veP P vmax
100
T RT [ms]
v P [kbit/s]
200
2000
50
1000 RT Tmax
0
0 90
100
110
120
130
140
150
160
t [s] Obr. B.4: Detail nárůstu zpoždění s vyznačením vyšetřovaných bodů Seznam veličin, které byly odečteny z grafu na Obr. B.4: RT • Tmax = 240 ms,
• TeRT = 4300 ms, P • vmax = 92 kbit/s,
• veP = 125 kbit/s, • Kv P =
P veP −vmax RT RT Te −Tmax
=
125·103 −92·103 4.3−0.24
= 8128 b = 1016 B.