Transmission Control Protocol
A Wikipédiából, a szabad lexikonból.
Protokollok | |
---|---|
Alkalmazási | FTP, HTTP, IMAP, IRC, POP3, SIP, SMTP, SNMP, SSH, Telnet, Bittorrent, ... |
Szállítási | SCTP, TCP, RTP, UDP, IL, RUDP, ... |
Hálózati | IPv4, IPv6, ... |
Adatkapcsolati | Ethernet, Wi-Fi, Token ring, FDDI, PPP, ... |
Fizikai | RS-232, 100Base-TX, 1000Base-TX, 10Base2, 10Base-T, ... |
Az internet szállítási rétege a TCP
Ahogy az ARPANET Internetté vált, amelyben már számos LAN, rádiós csomagszóró alhálózat; valamint több műholdas csatorna is működött, azaz a végpontok közötti átviteli megbízhatóság csökkent.
Ezért egy új szállítási protokollt,- a TCP-t (Transmission Control Protocol - átvitel vezérlési protokoll) vezettek be. A TCP tervezésénél már figyelembe vették azt, hogy megbízhatatlan (az OSI terminológia szerint C típusú) alhálózatokkal is tudjon együttműködni.
A TCP-vel együtt fejlesztették a hálózati réteg protokollját (Internet Protokoll) is.
A TCP egy megbízható folyamat–folyamat közti kommunikációra alkalmas protokoll célját szolgálja. Tudása:
- Alapvető adatátvitel: Egy oktettekből álló folytonos adatfolyam átvitelét látja el, úgy hogy a bájtokat szegmensekre bontja szét. Időnként szükség lehet arra, hogy meggyőződjünk róla, hogy minden elküldött adatot a túloldal megkapott, ezért a TCP definiál egy push műveletet, mely arra szolgál, hogy minden még el nem küldött adatot elküldjünk, illetve meggyőződjünk róla, hogy minden elküldésre szánt adat megérkezett. A fogadó oldal ebből a push műveletből semmit sem érzékel.
- Megbízhatóság: A TCP feladata az elveszett, megsérült, megduplázódott, nem helyes sorrendben érkezett csomagok érzékelése, és ezek kiküszöbölése. Ezt úgy éri el, hogy minden egyes kiküldött oktetthez tartozik egy sorszám, és a fogadó oldalnak pozitív megerősítést kell adjon a beérkezett oktettekről. Ha egy bizonyos időn belül nem jön pozitív megerősítés, akkor a küldő oldal újraküldi az adatot . Mindamellett ez A sorszám arra is szolgál, hogy a fogadó oldal a nem helyes sorrendben jött adatokat helyesen sorba rendezhesse és észlelje a duplázódásokat. Az adatok sérülésének észrevételére pedig ellenőrző összeget használ.
- Adatfolyam-vezérlés: A TCP egy úgynevezett ablakot használ az adatfolyam-vezérlésre. A küldő oldal egyszerre pozitív megerősítés nélkül nem küldhet több oktettet, mint amekkora a fogadó ablaka.
- Multiplexitás: A TCP folyamat–folyamat közti kommunikációra szolgál, azonban egy állomáson (host) több folyamat is futhat, és több is akarhat párhuzamosan kommunikálni, így a TCP az állomáson úgynevezett portokat használ. A kapcsolat kommunikációnál használt hálózati címe, és a TCP port együtt adják az úgynevezett szoftvercsatornát (socket) és a szoftvercsatornákból álló egyértelmű párokkal azonosítjuk a kapcsolatot. Minden egyes állomás saját feladata, hogy a feladatok számára portokat biztosítson egy hozzárendeléssel (bind()).
- Kapcsolatok: A megbízhatóságot, és az adatfolyam-vezérlést már említettük. Ezek arról szólnak, hogyan kell létrehozni és karbantartani a kapcsolatokat. Ezen információk együttese alkotja a kapcsolatot, beleértve a szoftvercsatornát, a sorszámot és az ablakméretet. Amikor két folyamat kommunikálni szeretne, előbb létre kell hozni a kapcsolatot, és ha a kommunikációt befejezettnek tekintik, akkor azt le kell zárni és a használt erőforrásokat fel kell szabadítani. A kommunikációt egy nem feltétlenül megbízható alapokra helyezett hálózaton kell lefolytatni, ezért a kapcsolat létrehozásához kézfogási (handshake) mechanizmusokat kell beépíteni.
- Megelőző biztonság: A TCP-t használó esetekben, ha nincs minden érték előre megadva, a TCP gondoskodik a helyes default értékek használatáról, és beállításáról. (Például kapcsolódó ügyfél esetén automatikusan kap portot, ha viszont nem adunk meg külön ablakméretet, akkor az operációs rendszer TCP kezelő része ad meg ilyet stb.)
Forrás: HupWiki