Nabídky práce Jobs.cz

 Partnerská zóna
Whitepapers

Akce CW a IDG

Zkuste nás bez rizika
Zkuste nás bez rizika



 Anketa

Probíhající protipirátská kampaň BSA je podle vás:

Účinný nástroj, jak konečně vyřešit situaci pirátství ve firmách (17%)

Jeden z mnoha pokusů, který ale přinese jen dílčí výsledky (17%)

Podle mě to nebude příliš účinná snaha (46%)

Nemám na to žádný názor (20%)

 
Výsledky starších anket

Obsah čísla
COMPUTERWORLD č. 17
vychází: 10.10.2008
Obsah čísla 17
Záložní zdroje pro uživatelská PC

Připravujeme do dalšího čísla

Předplatné
Inzerce (Advertising info )



 Stálé projekty
Fórum e-Time 2008
IT Produkt roku
Virtuální CD ke knize 10 nejžhavějších technologií světa počítačů a internetu
CW Top 100 ICT společností v ČR
CeBIT - průvodce veletrhem
business
v biotechnologiích
business
v nanotechnologiích
Redakce doporučuje: CW Excellent (neustále aktualizováno)
business v mobilních komunikacích
business ve vesmíru
outsourcing v IT
Invex/Digitex
katalog ICT firem (v přestavbě)
průzkumy trhu

Reklama

Technologie internetu (10.): Óda na TCP

Technologie internetu (10.): Óda na TCP ze dne: 10/15/2007 12:00:48 AM
rubrika: Internet


Kdybych měl vybrat jediný protokol, který se rozhodující měrou zasloužil o historický úspěch internetu, pak by jedním z nejvážnějších kandidátů byl Transmission Control Protocol (TCP). Jde o protokol transportní vrstvy, který nad nespolehlivou a nespojovanou internetovou vrstvou realizuje to, co většina komunikačních aplikací potřebuje – spolehlivé obousměrné spojení mezi libovolnými dvěma body v internetu.

První specifikace (RFC 793) pochází ze září 1981, TCP má tedy za sebou právě čtvrt století existence. Během této doby se internet samozřejmě změnil k nepoznání, od malé experimentální sítě s rychlostmi okruhů v řádu stovek bitů za sekundu až k dnešní globální síti se stovkami milionů účastníků a desetigigabitovými okruhy. Protokol TCP tyto kardinální změny ustál se ctí, byť s určitými drobnými změnami. Stojí na něm všechny hlavní aplikace dnešního internetu, tedy například WWW, e-mail, instant messaging a SSH, celkem přenáší TCP zhruba 95 % veškerého provozu.

TCP vytváří pro aplikace užitečnou abstrakci souvislého datového proudu. Znamená to, že aplikace se nemusí starat o to, jakým způsobem bude datový tok rozdělen do IP datagramů, pouze posílá svá data do „virtuální roury“, na jejímž druhém konci vyjdou zaručeně nepoškozena a v tom pořadí, jak byla poslána. Zdůrazněme, že implementace TCP plně respektuje princip periferní inteligence, o němž jsme mluvili v prvním dílu seriálu: vše se odehrává v operačních systémech hostitelů na obou koncích spojení, mezilehlé směrovače nemají za normálních okolností o TCP spojeních ani tušení.

TCP segmenty

Datový proud generovaný určitou aplikací rozděluje subsystém TCP na úseky vhodné velikosti, které se nazývají segmenty. Při odesílání většího objemu dat je to obvykle zařízeno tak, aby se výsledný paket vešel do maximální velikosti rámce (Maximum Transmission Unit, MTU) síťových rozhraní na obou koncích TCP spojení, která například pro Ethernet činí 1 500 bajtů. Pokud by některý spoj po cestě měl MTU menší, zařídí směrovače na koncích tohoto spoje fragmentaci datagramů. Jiné je to ovšem v případě IPv6, protože tam tato automatická fragmentace není vůbec povolena. Hostitel má pak dvě možnosti: buď se uchýlí k MTU=1280, která musí být podle specifikace IPv6 garantována na všech spojích, anebo použije speciální proceduru, s jejíž pomocí zjistí skutečnou MTU podél celé trasy (Path MTU Discovery).

Každý segment je opatřen hlavičkou TCP a předán internetové vrstvě k odeslání. Standardní hlavička TCP má délku 20 bajtů a obsahuje několik datových položek a příznaků (flags), které TCP pro svou činnost potřebuje. Především jsou zde čísla zdrojového a cílového portu, jimiž se rozlišují jednotlivá TCP spojení. Díky tomu může stejný hostitel zároveň obsluhovat různé TCP aplikace, popřípadě více instancí jedné aplikace.

Další důležitou položkou v hlavičce je sekvenční číslo, které v datovém segmentu udává pořadí prvního bajtu dat v rámci datového proudu. Jinými slovy: za každý odeslaný bajt se musí sekvenční číslo o jedničku zvětšit. Porovnáním sekvenčních čísel může přijímající strana zjistit, že se některé segmenty ztratily anebo dorazily v přeházeném pořadí – viz níže. V hlavičce TCP je také zapsán kontrolní součet zahrnující jak hlavičku, tak i data. Přijímající strana je povinna tento součet přepočítat, a tím odhalit případné poškození dat, pokud by k němu cestou došlo.

V hlavičce některých segmentů mohou být také některé volitelné záznamy (TCP options), které slouží pro různé doplňkové funkce. V současné době je jich definováno celkem 26, nejběžnější z nich najdete ve vloženém textu. Pokud se použijí, je hlavička TCP delší než 20 bajtů, a proto jedna z povinných položek také udává celkovou délku TCP hlavičky.

Potvrzování a retransmise

Přijímající strana musí průběžně potvrzovat, že řádně přijala všechna data. K tomuto účelu slouží segment s nastaveným příznakem ACK (acknowledge), v němž je zároveň vyplněna další položka v hlavičce TCP – potvrzovací číslo (acknowledgement number). Ta udává sekvenční číslo prvního bajtu příchozího datového proudu, který přijímající strana dosud neviděla. Odesílatel si po obdržení takového potvrzení může být jist, že datový proud byl na druhé straně řádně přijat až do sekvenčního čísla, které je o jedničku nižší než dotyčné potvrzovací číslo. Přijetí dat je možné potvrdit a zároveň s tím ve stejném segmentu odeslat opačným směrem vlastní data.

Pokud se při přenosu některý segment ztratí, přijímající strana nemůže zvýšit potvrzovací číslo. Odesílatel proto po uplynutí určitého času zahájí retransmisi, při níž odešle znovu všechna data počínaje nejnižším sekvenčním číslem, pro něž dosud nemá potvrzení.

Otevření a uzavření spojení

Aplikace používající TCP pracují v režimu klient-server. Na straně serveru se nejdříve musí realizovat pasivní otevření TCP spojení, které vede k tomu, že server očekává na stanoveném portu příchozí žádosti o spojení. Vlastní komunikaci pak zahajuje klient takzvaným aktivním otevřením spojení: odešle segment s nastaveným příznakem SYN (synchronize), v němž zároveň uvede počáteční sekvenční číslo pro svůj datový proud. Server odpoví segmentem s nastavenými příznaky SYN a ACK a svým počátečním sekvenčním číslem. Klient potvrdí přijetí tohoto segmentu svým druhým segmentem, tentokrát s příznakem ACK, čímž je spojení otevřeno a může začít výměna dat. Tato tzv. trojcestná výměna (three-way handshake) je základním charakteristickým znakem TCP.

Je důležité, aby počáteční sekvenční číslo bylo pro každé spojení zvoleno (pseudo)náhodně. Proč? Hlavním důvodem je bezpečnost. Pokud by sekvenční čísla začínala vždy třeba od nuly anebo se dala snadno uhodnout, mohl by se případný útočník vetřít do aktivního spojení a předstírat, že je jedním z účastníků. Takové útoky se skutečně děly, stačilo k tomu, když některý operační systém nevolil svá počáteční sekvenční čísla dostatečně náhodně.

Spojení se ukončuje podobným postupem jako při otevření. Popud k tomu může tentokrát dát jak klient, tak server tím, že odešle segment s nastaveným příznakem FIN (finish). Protější strana obvykle odpoví svým segmentem s příznaky FIN a ACK, načež iniciátor ukončení spojení definitivně uzavře potvrzujícím segmentem s příznakem ACK.

Příště se budeme věnovat nejkomplikovanější části protokolu TCP, jíž je obrana proti zahlcení.

TCP Options

K běžně používaným volitelným položkám v hlavičce TCP patří tyto:

Maximum Segment Size – stanovuje explicitně maximální velikost TCP segmentu.

Window Scale – umožňuje použít větší klouzavé okno pro řízení toku dat (viz příští díl). Tuto volbu smí každá strana použít jen v úvodním SYN segmentu.

Selective Acknowledgement – slouží k podrobnějšímu informování odesílatele o tom, které segmenty byly v pořádku přijaty. Standardně se musí s potvrzováním skončit v místě, kde chybí první bajt datového proudu.

MD5 Signature – umožňuje připojit k segmentu kryptografický podpis založený na rozptylovací funkci MD5. Využívá se nejčastěji k ochraně relací BGP.

 

autor: Ladislav Lhotka (pat)


Tisk  |   Hodnocení: 1   2   3   4   5  |   průměrná známka: 2.5
v hodnocení 1 znamená nejlepší | zatím známkovalo: 126

 Komentáře
 

Zobrazit komentáře Přidat kometář

Reklama

Reklama

Reklama

 Whitepapers
WELL WRC3500 – WiFi příst. bod s klientským režimem
Inteligentní business s Informačním systémem K2
Představujeme systém Byznys Win
Představujeme systém Byznys VR
Santa Rosa v noteboocích Verified By Intel (VBI)
Přechod na Windows Vista - nejjednodušeji s Citrix Presentation Server 4.5

 Přehled posledních zpráv
Prohlížeč Opera 9.6 přináší nové funkce i vyšší rychlost
NEC uvádí LCD monitor MultiSync 24WMGX3 s podporu sRGB
Kingston má USB flash disk s gigantickou kapacitou 32 GB
Microsoft slibuje na příští týden velkou dávku oprav
Windows 7: Microsoft vylepší další problematickou funkci z Visty - UAC
Zhodnocení: Jaký byl Invex 2008?
Enterprise Vault 8.0 od Symantecu slibuje snížit náklady na ukládání nestrukturovaných informací
Vylepšenou softwarovou bezpečnostní bránu představil TrustPort
YouTube je již i v české verzi!
První 45nm procesory od AMD přijdou už tento měsíc!

 Technologie a kurzy
Toshiba: První palivové články budou na trhu již za několik měsíců!
Nový laser přinese Blu-ray disky s vyšší kapacitou a rychlostí 12x
Sony předvedla OLED TV silnou necelý milimetr!
Toshiba má první SSD disk o kapacitě 256 GB
SSD technologie: Ve firmách se zatím příliš neprosazují

Všechny Technologie a kurzy


 Testy
Test: 24“ LCD monitory pro produktivnější kancelář (2. část)
Test: 24“ LCD monitory pro produktivnější kancelář (1. část)
Osobní navigace, s nimiž si udržíte správný směr (2. část)
Osobní navigace, s nimiž si udržíte správný směr (1. část)
Video: iPhone 3G na živo v zátěžovém testu

Všechny Testy


 Poslední Top story
SaaS na jídelníčku velkých firem - co jim přináší?
Video: iPhone 3G na živo v zátěžovém testu
Aktuální otázka: Cesta k úspornější kanceláři (2.)
Aktuální otázka: Cesta k úspornější kanceláři (1.)
Nové trendy v sítích: Mobilní Unified Communications

Všechny Top story


 RSS
Obsah Computerworldu ve formatu RSS
Co je to RSS?

RSS 0.91
XML Všechny články..
XML bezpečnost
XML hardware
XML internet
XML sítě a komunikace
XML software
XML technologie
XML testy
XML vývoj

RSS 2.0
XML Všechny články..
 Nejčtenější
Nissan vyvinul nový systém automatického řízení automobilů (1379)
Nelegální Windows údajně přináší pády systému a ztrátu dat (1239)
Windows XP: Microsoft udělal další krok v prodloužení jejich životnosti (1168)
Osobní navigace, s nimiž si udržíte správný směr (1. část) (1089)
Sony předvedla OLED TV silnou necelý milimetr! (1081)
Internetové bankovnictví pod útokem trojského koně Limbo (1056)
Test: 24“ LCD monitory pro produktivnější kancelář (1. část) (977)
Protipirátská kampaň BSA je v plném proudu (912)
Firefox: Ve verzi 3.0.2 mizí hesla, oprava bude příští týden (911)
Toshiba má první SSD disk o kapacitě 256 GB (841)

(Za posledních 14 dnů)

 Nejdiskutovanější
Nelegální Windows údajně přináší pády systému a ztrátu dat (15)
Firefox: Ve verzi 3.0.2 mizí hesla, oprava bude příští týden (4)
Protipirátská kampaň BSA je v plném proudu (4)
Zhodnocení: Jaký byl Invex 2008? (3)
Google opět zvyšuje svůj podíl mezi vyhledávači (2)
iPhone 3G má další problém: Probíjející adaptéry (2)
První smartphone s Androidem je konečně tady! (2)
Mozilla vydala nové verze Firefoxu 3.0 i 2.0 (2)
Nissan vyvinul nový systém automatického řízení automobilů (2)
Eset varuje: Hudba v MP3 může obsahovat viry! (2)
Pentagon: On-line hry mohou nahrávat teroristům (2)
Sony předvedla OLED TV silnou necelý milimetr! (2)
Invex 2008: Dojmy z prvního dne (2)
Windows 7: Microsoft vylepší další problematickou funkci z Visty - UAC (2)
Kingston má USB flash disk s gigantickou kapacitou 32 GB (2)
Ceny pamětí DRAM klesly na historické minimum! (1)
GMail, Hotmail, Yahoo: jsou účty zranitelné přes změnu hesla? (1)
CRM pro středně velké organizace představil SAP  (1)
Firefox: Mozilla si pospíšila s opravou smazaných hesel (1)
Acronix slibuje snazší zálohování MS Exchange  (1)

(Za posledních 20 dnů)
Zobrazit posledních 60 dnů

 Píšeme jinde
 Business World
Microsoft zahájil nový ročník soutěže Imagine Cup
Cisco sníží do čtyř let emise skleníkových plynů o 25 procent
K založení firmy je potřeba 21 dokumentů
Vyhlášení výsledků soutěže Chytrý úřad 2008
Novináři dostávají až 100 tiskových zpráv denně
Nákup přes mobil se stává čtvrtým prodejním kanálem
 GameStar
Jaké hardwarové nároky má Fallout 3
Standardizace PC hraní
Fifa 09 – fotbalová mánie začíná
Co je s PC verzí strategie EndWar?
World of Warcraft: Wrath of the Lich King – hardwarové nároky
 PC World
Invex-Digitex 2008: Největší LCD TV na světě
Nadějné firmy z Inovačního Centra na Invexu 2008
Recenze: InstallShield 2008 Premier
Freeware pro váš počítač - 41. týden
Recenze: Shadowprotect Desktop Edition
 Science World
Bankovní krize: proč selhaly matematické modely pro odhaz rizik?
Filozofie jazyka: Co je to jazyk a co je to význam?
Komunita jediné bakterie: celý ekosystém jako pár genů a nadšení astrobiologů
Kvantová kryptografie může být zranitelná
 SecurityWorld
Opravy Microsoftu: cross domain scripting, formát Excelu a chyba s připojením k mainframům
Clickjacking: Nová kategorie zranitelností
Offshoring může být bezpečnostním rizikem
Phion: Současné sociální sítě by se neměly používat v podnikovém prostředí
Kvantová kryptografie může být zranitelná?
Gartner: Nejčastější mýty a omyly bezpečnostní politiky

 English page

Stálé téma: "Windows Vista A to Z"

Stálé téma:

Reviews, analyses, how-tos, hot issues and predictions about Microsoft's new OS (vše externí odkazy, www.computerworld.com).


 


Copyright © 2006 IDG Czech. Autorská práva vykonává vydavatel. Publikování, přetištění či šíření obsahu nebo jeho částí jakýmkoliv způsobem v českém či jiném jazyce bez předchozího písemného souhlasu vydavatele, tj. IDG Czech, a. s., je zakázáno. Uživatelské chování návštěvníků ověřuje NetMonitor.