Nagysebességű TCP Protokollok Telbisz Ferenc Matáv PKI-FI és KFKI RMKI Számítógép Hálózati Központ Németh Vilmos Egyetemközi Távközlési és Informatikai Központ Dr. Molnár Sándor, Dr. Szabó Róbert BME Távközlési és Médiainformatikai Tanszék 1
Tartalomjegyzék Az alapvető Internet fejlődése Problémák a TCP protokollal Új TCP protokoll javaslatok Mérések Hazai fejlesztési tervek 2
Az Internet Az internet máig a TCP/IP protokoll "stack"-en alapszik 3. Hálózati réteg: IP Feladata: a csomagok továbbítása a célállomásra Kapcsolat nélküli protokoll semmit sem tud garantálni (kivéve hibamentes csomagátvitel) 4. Szállítási réteg: TCP Feladata: hibamentes kommunikáció (end-to-end) Funkciók: fragmentálás/defragmentálás (bitfolyam tördelése csomagokra) sorrendhelyesség adatvesztés nélkül hibajavítás (ismétlés) torlódásvezérlés és torlódásvédelem 3
Az IP protokoll változásai Az IP protokoll fejlődése: Útválasztó (routing) fejlődése: RIP, BGP, IS-IS, OSPF, QoS fejlődése: DiffServ (Differentiated Services) IP headerben 6 bit: osztály (prioritás) jelzésre (IPv4, IPv6) Az egyes osztályok kezelése eltérő Eredmény: VoIP (Voice over IP),... MPLS: kapcsolástechnika (switching) használata ( "jó" ATM ) Routing: célcím kikeresése táblázatból kapcsolás: csomagban levő címke használata táblázat indexként Eredmény: Traffic Engineering, Virtual Private Networks (VPN),... Az IP összhangban van a korszerű követelményekkel: adatátviteli technikák, az Internet mérete és forgalma 4
A TCP protokoll változása A TCP az elmúlt 20 évben lényegében nem változott Túlélte az Internet robbanásszerű fejlődést, a lassú vonalakat Inkább más szállítási protokolokkal foglakoztak, pl. RTP A TCP torlódásvezérlése jól követte az Internet fejlődését: méret, sebesség, terhelés, konnektivitás: több nagyságrendű változás jól működött a kis sebességű hálózatoknál, megakadályozta/csökkentette a nagy torlódások kialakulását, mai általános használathoz jól illeszkedik: nagyon sok párhuzamos átvitel, mérsékelt sebesség a web "emberi fogyasztásra" készült (emberi sebesség) 5
A TCP protokoll változása (? ) A jelenlegi TCP (Reno) nem hatékony a nagy sávszélességű és nagy késleltetésű (a sávszélesség X késleltetés nagy) high bandwidth-delay product és kis csomagvesztésű hálózatokban Csomagvesztés oka lehet: adathibák ma: 10-5 (csomagszinten) torlódás ma: olcsó memória buffer igen nagy lehet Problémák jelenkeznek: Nagy adatmennyiség mozgatásánál (terabyte, petabyte) : HEP, Csillagászat, Földtudományok, Bioinformatika, GRID számításoknál Mi okozza a problémát a TCP-nél? flow control (torlódás vezérlés) 6
TCP torlódásvezérlés Congestion window: az "úton levő" csomagok száma (cwnd) Visszaszabályozás: a csomagvesztés (nyugták) alapján: Slow start (lassú indulás): Induláskor: cwnd = 1 (maximális szegmens méret, általában 1500 byte) Növelése, ha minden rendben (nyugta érkezik): Exponential backoff: ha torlódás van (csomagvesztés): AIMD algoritmus: Additive Increase, Multiplicative Decrease 7
Tipikus torlódási ablak méret változás 8
TCP torlódásvezérlés Nagy "congestion window" fenntartása nem megy: Standard TCP kapcsolatnál: 1500-byte -os csomagok, 100 ms round-trip idő, stacionárius átvitel 10 Gbps-nál szükséges lenne a "cső" kitöltéséhez: átlagos "congestion window": 83,333 segmens, ez legföljebb egy csomag eldobása 5 000 000 000 csomagonként (legföljebb egy csomag eldobása 1 2/3 óránként). Nem reális követelmény! Ugyanilyen követelmény 100 Mbps-nél ("cső" kitöltéséhez): a csomageldobási arány: 1 csomag 500 000 -ből (egy csomag eldobása percenként) Egy kapcsolaton elérhető max. sebesség: ~ 200 Mbps 9
TCP protokoll javaslatok Javaslatok a módosításra: Fast TCP California Institute of Technology URL: http://netlab.caltech.edu/fast/ HighSpeed TCP ICIR (ICSI Center for Internet Research), Berkeley URL: http://www.icir.org/floyd/hstcp.html Scalable TCP Cambridge University, Engineering Department URL: http://www-lce.eng.cam.ac.uk/~ctk21/scalable/ XCP (explicit Congestion control Protocol) MIT's Lab for Computer Science URL: http://www.ana.lcs.mit.edu/dina/xcp/..... 10
Szempontok az új protokollhoz Teljesítmény alacsony sebességnél és kis RTT-nél legyen hasonló a hagyományoshoz Torlódásvezérlés Nyilvános Interneten legyen hatékony torlódásvezérlés Privát hálózaton kell ez? Legyen TCP barát (TCP kompatibilitás) torlódás esetén ne vegye el a sávszélességet a TCP-től Protokollon belüli "tisztességesség" Bevezetés, telepítés egyszerűsége: felhasználói könyvtár módosítása operációs rendszer kernel módosítása router-ek módosítása Analitikus modell a viselkedés ellenőrzése fejlesztők segítsége Univerzális használhatóság? ("One size fits all") 11
Fast TCP Fejleszti: California Institute of Technology Flow control: sorbanállási késleltetés (RTT) + csomagvesztés Csak a küldőnél kell implementálni AIMD 12
HighSpeed TCP Fejlesztő: ICIR (ICSI Center for Internet Research) Non-profit kutató intézet, Berkeley Eredeti alapító AT&T, most: ICSI (International Computer Science Institute) Független nonprofit kutató intézet Kapcsolat: Computer Science Division, University of California at Berkeley Működés: TCP congestion window (cwnd): a hálózatban úton levő csomagok száma AIMD: átlagos cwnd = 1.2 / sqrt (P) p: packet loss A cwnd másképpen: AIMD helyett 3 paraméteres algoritmus, Ez gyakorlatilag több párhuzamos adatfolyam emulálása Implementáció: Linux 13
Scalable TCP Fejlesztő: Laboratory for Communication Engineering, Cambridge University, Engineering Department Működés: (Tom Kelly, CERN IT division) egyszerű módosítás a hagyományos TCP torlódás vezérlésében: cwnd := cwnd + 0.01 cwnd := 0.875 * cwnd ha nyugta érkezett ha csomagvesztés van gyorsabban növel, csomagvesztésnél kevésbbé csökkent Implementáció: Linux 14
XCP Fejlesztő: MIT's Lab for Computer Science Működés: Az Explicit Congestion Notification (ECN) módszer általánosítása Csomagokhoz congestion header hozzáadása: pontos információ a torlódás állapotáról Congestion header-ben a küldő fél sávszélességet igényelhet Közbenső router-ek ezt felülbírál(hat)ják Router-ekben is módosítás szükséges! 15
Mérések TCP Stacks on production links (SLAC, Web100 projekt): Internet End-to-end Performance Monitoring http://www-iepm.slac.stanford.edu/monitoring/bulk/tcpstacks/index.html Single és multiple stream mérések működö hálózaton Néhány példa: single stream mérések Mérési konfiguráció a single stream méréseknél: 16
Mérések Fast TCP Throughput Average = 233.2 Mbps Std Dev =82.1 Mbps Reno TCP Throughput Average = 89.4 Mbps Std Dev =69.9 Mbps RTT RTT Average = 230 ms Std Dev =9 ms 17
Mérések High Speed TCP Throughput Average = 252.5 Mbps Std Dev = 70.9 Mbps Reno TCP Throughput Average = 58.0 Mbps Std Dev = 52.4 Mbps RTT RTT Average = 229.8 ms Std Dev = 9.8 ms 18
Mérések Scalable TCP Throughput Average = 261.5 Mbps Std Dev = 64.6 Mbps Reno TCP Throughput Average = 35.9 Mbps Std Dev = 16.2 Mbps RTT RTT Average = 229.2 ms Std Dev = 10.4 ms 19
Összehasonlítás Mathieu Goutelle et al.:a Survey of Transport Protocols other than Standard TCP (2004.) 20
UDP alapú módszerek Más módszerek Előnyök: egyszerűbb implementálni: felhasználói könyvtárak jó hatásfok Hátrányok: Nincs torlódásvezérlés Több projekt van itt is Most nem tárgyaljuk. DWDM optikai hálózatok Optikai Hálózati Protokollok Optikai kapcsolók Most nem tárgyaljuk. 21
Hazai fejlesztési tervek Egyetemközi Távközlési és Informatikai Központ (ETIK) Nagy sebességű transzport Új TCP verziók teljesítményelemzése és összehasonlítása szimuláció és kísérleti hálózati mérés vizsgálandó: throughput, link kihasználtsága, igazságosság (fairness) Paraméterek optimalizálása az egyes TCP variánsok optimális környezetének meghatározása Szabályozáselmélet-alapú vizsgálat globális stabilitás vizsgálata Állapot-alapú modellezés Csomagsorozatok módszerének alkalmazása Sorbaállási késleltetés mérése Potenciális együttműködök: ETIK, BME, KFKI RMKI, MTA SZTAKI, MATÁV, stb. 22
Köszönöm a figyelmet 23