TCP
Izvor: Wikipedija
TCP je jedan od osnovnih protokola unutar IP grupe protokola. Naziv je kratica od engleskog naziva Transmission Control Protocol. Korištenjem protokola TCP aplikacija na nekom od hostova umreženog u računalnu mrežu kreira virtualnu konekciju prema drugom hostu, te putem te ostvarene konekcije zatim prenosi podatke. Stoga ovaj protokol spada u grupu tzv. konekcijskih protokola, za razliku od bezkonekcijskih protokola kakav je primjerice UDP. TCP garantira pouzdanu i u kontroliranom redoslijedu isporuku podataka od pošiljatelja prema primatelju. Osim toga, TCP pruža i mogućnost konkurentnih konekcija prema jednoj aplikaciji na jednom hostu od strane više klijenata, gdje su najčešći primjeri za to web ili mail poslužitelji.
TCP podržava neke od najčešće korištenih aplikacijskih protokola na Internetu, kao što su HTTP (protokol za pregled web stranica), SMTP (protokol za razmjenu elektroničke pošte), telnet i SSH (protokole za udaljeni rad na računalu) i brojne druge.
U IP grupi protokola TCP se u slojevitom prikazu nalazi između samog IP protokola ispod, te aplikacijskih protokola na sloju iznad.
[uredi] Zaglavlje TCP paketa
+ | Bitovi 0 - 3 | 4 - 9 | 10 - 15 | 16 - 31 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | Izvorišni port | Odredišni port | ||||||||||||||||||||||||||||||
32 | Broj sekvence | |||||||||||||||||||||||||||||||
64 | Broj potvrde | |||||||||||||||||||||||||||||||
96 | Podatkovni ofset | Rezervirano | Zastavice | Prozor | ||||||||||||||||||||||||||||
128 | Checksum | Hitni pokazivač | ||||||||||||||||||||||||||||||
160 | Opcionalno | |||||||||||||||||||||||||||||||
192 | Opcije (nastavak) | Padding (do 32) | ||||||||||||||||||||||||||||||
224 | Korisnički podaci |
[uredi] TCP portovi
TCP upotrebljava određen raspon portova kojima razdjeljuje aplikacije na strani pošiljatelja i primatelja. Svaka strana TCP konekcije ima dodijeljenu 16-bitnu oznaku za obje strane aplikacije (slanje, primanje). Portovi su u osnovi podijeljeni u 3 kategorije: poznati portovi, registrirani portovi i dinamički/privatni portovi.
Opće poznati portovi (engleski well known ports) su dodijeljeni od strane Internet Assigned Numbers Authority,organizacije koja se brine za IP adresni prostor, vršne domene te druge detalje vezane uz IP protokol. Ovi portovi su najčešće korišteni od strane sistemskih procesa, koje koriste poznate aplikacije kada primaju konekcije pasivno slušajući promet na tim portovima. Neki primjeri opće poznatih portova su: FTP (TCP port 21), Telnet (23), SMTP (25) and HTTP (80). Registrirani portovi se koriste kod aplikacija krajnjih korisnika kao izvorišni portovi prilikom konektiranja poslužitelja, kao i za identifikaciju servisa registriranih od trećih strana. Dinamički/privatni portovi se također koriste na strani aplikacija krajnjih korisnika, ali nešto rjeđe. Dinamički/privatni protovi imaju samo lokalno značenje za određenu TCP konekciju. Ukupno ima 65535 mogućih različitih portova u TCP protokolu.