Ebooks, Audobooks and Classical Music from Liber Liber
a b c d e f g h i j k l m n o p q r s t u v w x y z





Web - Amazon

We provide Linux to the World


We support WINRAR [What is this] - [Download .exe file(s) for Windows]

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
TCP - Wikipedie, otevřená encyklopedie

TCP

Z Wikipedie, otevřené encyklopedie

TCP protokol (Transmission Control Protocol) je jedním ze základních protokolů sady protokolů Internetu, konkrétně představuje transportní vrstvu. Použitím TCP mohou aplikace na sesíťovaných počítačích vytvořit mezi sebou spojení, přes které mohou přenášet data. Protokol garantuje spolehlivé doručování a doručování ve správném pořadí. TCP také rozlišuje data pro vícenásobné, současně běžící aplikace (například webový server a emalový server) běžící na stejném počítači.

TCP podporuje mnoho na internetu populárních aplikačních protokolů a aplikací, včetně WWW, emailu a SSH.

Obsah

[editovat] Technický přehled

TCP je spojově orientovaný protokol pro přenos toku bajtů na transportní vrstvě se spolehlivým doručováním. V současnosti je zdokumentován v IETF RFC 793.

V sadě protokolů Internetu je TCP prostřední vrsvou mezi IP protokolem pod ním a aplikací nad ním. Aplikace ke vzájemné komunikaci využívají spolehlivé spojení na způsob roury, zatímco IP protokol neposkytuje takové streamy ale jen nespolehlivé pakety. TCP používá služby IP protokolu opakovaným odesíláním nespolehlivých paketů při ztrátě paketu zajištuje spolehlivost a přeuspořádáváním přijatých paketů zajištuje správné pořadí. Tím TCP plní úlohu transportní vrstvy ve zjednodušeném modelu ISO/OSI počítačové sítě.

+ Bity 0 - 3 4 - 9 10 - 15 16 - 31
0 zdrojový port cílový port
32 číslo sekvence
64 potvrzený bajt
96 offset dat rezervováno příznaky okénko
128 kontrolní součet Urgent Pointer
160 volby (volitelné)
192 volby (pokračování) výpln (do 32)
224  
data
 


Aplikace posílá proud (stream) 8bitových bajtů TCP protokolu k doručení sítí, TCP rozděluje proud bajtů do přiměřeně velkých segmentů. (Velikost segmentů je určena parametrem MTU (maximum transmission unit) linkové vrstvy sítě, ke které je počítač připojen.) TCP pak předá takto vzniklé pakety IP protokolu k přepravě internetem do TCP modulu na druhé straně TCP spojení. TCP ověří, že se pakety neztratily tím, že každému paketu přidělil číslo sekvence, které se také použije k ověření, že data byla přijata ve správném pořadí.

TCP modul na straně příjemce posílá zpět potvrzení pro pakety které byly úspěšně přijaty. Pokud by se odesilateli potvzení nevrátilo do rozumné doby (round-trip time, RTT), vypršel by odesilatelův časovač a (pravděpodobně ztracená) data by vyslal znovu.

TCP protokol ověřuje, zda přenesená data nebyla poškozena šumem tím, že před odesláním spočte kontrolní součet, uloží jej do odesílaného paketu a příjemce kontrolní součet vypočte znovu a ověří, že se shodují.

[editovat] Fungování protokolu v detailu

[editovat] TCP porty

K rozlišení komunikujících aplikací používá TCP protokol čísla portů. Každá strana TCP spojení má přidružený 16bitové bezznaménkové číslo portu (existuje 65535 portů) přidělené aplikaci. Porty jsou rozčleněny do třech skupin: dobře známé, registrované a dynamické/privátní. Seznam dobře známých portů je přiřazován organizací Internet Assigned Numbers Authority (IANA) a jsou typicky používané systémovými procesy. Dobře známé aplikace běžící jako servery a pasivně přijímající spojení typicky používají tyto porty. Několik příkladů: FTP (port 21), SMTP (port 25), DNS (port 53) a HTTP (port 80). Registrované porty jsou typicky používané aplikacemi koncových uživatelů při otevírání spojení k serverům jako libovolné čísla zdrojových portů, ale také mohou identifikovat služby. Dynamické/privátní porty mohou být taky používané koncovými aplikacemi, ale není to obvyklé.

[editovat] Vývoj TCP

[editovat] Alternativy za TCP

Pro mnoho aplikací není TCP vhodné. Velkým problémem je (alespoň u normálních implementací), že aplikace po ztrátě jednoho paketu nemůže dostat následující pakety do té doby, dokud není ztracený paket znovu poslán a úspěšně přijat. To způsobuje problémy real-timeovým aplikacím jako streamovaná média (např. internetové rádio), realtimové multiplayerové hry a VoIP, kde je často užitečnější dostávat data včas, než je dostávat ve správném pořadí a kompletní.

Složitost TCP může být problém také pro vestavěná zařízení (embedded systems). Nejlépe známým příkladem je bootování po síti, které obecně používá TFTP (viz PXE). Navíc pro některé triky, jako je přenos dat mezi dvěma uzly, které jsou oba za NATem (použitím STUN nebo podobných protokolů), je mnohem jednodušší, když vám v cestě nestojí složitý protokol jako TCP.

Tam, kde je TCP nevhodné, se často používá UDP, které poskytuje aplikaci kontrolu/ovládání nad multiplexováním a ověřováním kontrolních součtů. Zato ale UDP neprovádí fragmentaci proudu dat do paketů a zpátky jejich rekonstruování, ani opětovné posílání ztracených paketů. To dovoluje vývojáři aplikace napsat si uvedené funkce tak, jak vyhovuje jeho potřebám nebo je nahradit metodami jako dopředné opravování chyb (forward error correction) nebo interpolace.

SCTP je další IP protokol, který poskytuje spolehlivé, proudově orietované služby ne-příliš odlišné od TCP. Je to novější a mnohem složitější protokol než TCP, takže se ještě nedočkal širokého nasazení, ačkoliv je obvzláště navržený k tomu, aby byl používáný v situacích, kdy jsou spolehlivost a téměř real-time ohledy důležité.


[editovat] Podívejte se také na

  • TCP algoritmy pro přecházení ucpání pro podrobnosti o TCP Reno, TCP Vegas, TCP Westwood, BIC a Hybla
  • Seznam čísel portů TCP a UDP
  • spojově orientovaný protokol
  • ladění TCP protokolu u linek s velkým zpožděním a velkou propustností

[editovat] Externí odkazy (anglicky)

Our "Network":

Project Gutenberg
https://gutenberg.classicistranieri.com

Encyclopaedia Britannica 1911
https://encyclopaediabritannica.classicistranieri.com

Librivox Audiobooks
https://librivox.classicistranieri.com

Linux Distributions
https://old.classicistranieri.com

Magnatune (MP3 Music)
https://magnatune.classicistranieri.com

Static Wikipedia (June 2008)
https://wikipedia.classicistranieri.com

Static Wikipedia (March 2008)
https://wikipedia2007.classicistranieri.com/mar2008/

Static Wikipedia (2007)
https://wikipedia2007.classicistranieri.com

Static Wikipedia (2006)
https://wikipedia2006.classicistranieri.com

Liber Liber
https://liberliber.classicistranieri.com

ZIM Files for Kiwix
https://zim.classicistranieri.com


Other Websites:

Bach - Goldberg Variations
https://www.goldbergvariations.org

Lazarillo de Tormes
https://www.lazarillodetormes.org

Madame Bovary
https://www.madamebovary.org

Il Fu Mattia Pascal
https://www.mattiapascal.it

The Voice in the Desert
https://www.thevoiceinthedesert.org

Confessione d'un amore fascista
https://www.amorefascista.it

Malinverno
https://www.malinverno.org

Debito formativo
https://www.debitoformativo.it

Adina Spire
https://www.adinaspire.com