Protokół sterowania transmisją: Różnice pomiędzy wersjami

[wersja przejrzana][wersja przejrzana]
Usunięta treść Dodana treść
m Wycofano edycje użytkownika 109.196.113.179 (dyskusja). Autor przywróconej wersji to Muri 91.
eliminacja magicznego linku RFC
Linia 1:
'''Transmission Control Protocol''' (TCP) – połączeniowy, niezawodny, strumieniowy [[protokół komunikacyjny]] wykorzystywany do przesyłania danych pomiędzy [[Proces (informatyka)|procesami]] uruchomionymi na różnych maszynach, będący częścią szeroko wykorzystywanego obecnie [[Model TCP/IP|stosu TCP/IP]] – korzysta z usług protokołu [[Protokół internetowy|IP]] do wysyłania i odbierania danych oraz ich [[Fragmentacja IP|fragmentacji]] wtedy, gdy jest to konieczne<ref name="rfc793">{{cytuj stronę odn|url=http://tools.ietf.org/html/rfc793 |tytuł=RFC – Transmission Control Protocol |data dostępu=2011-10-21 |język=en793}}</ref>. Protokół TCP operuje w [[Model OSI#Warstwa 4: transportowa|warstwie transportowej]] [[model OSI|modelu OSI]]. Opracowano go na podstawie badań [[Vinton Gray Cerf|Vintona Cerfa]] oraz [[Bob Kahn|Roberta Kahna]]<ref{{odn|RFC name="rfc793" />793}}<ref>{{cytuj pismo |autor=Vinton G. Cerf| autor2= Robert E. Icahn |tytuł=A protocol for packet network intercommunication |czasopismo=ACM SIGCOMM Computer Communication Review |wolumin=35 |wydanie=2 |data=kwiecień 2005 |wydawca=ACM |issn=0146-4833 |doi=10.1145/1064413.1064423}}</ref>. Został opisany w dokumencie RFC793{{odn|ref=nie|RFC 793}}.
 
== Charakterystyka protokołu ==
Linia 8:
=== Nawiązywanie połączenia ===
[[Plik:Tcp normal.svg|thumb|''three-way handshake'']]
W protokole TCP do nawiązania połączenia pomiędzy dwoma hostami wykorzystywana jest procedura nazwana ''three-way handshake''. W sytuacji normalnej jest ona rozpoczynana, gdy host A chce nawiązać połączenie z hostem B, procedura wygląda następująco<ref{{odn|RFC name="rfc793" />793}}:
* host A wysyła do hosta B segment SYN wraz z informacją o dolnej wartości numerów sekwencyjnych używanych do numerowania segmentów wysyłanych przez host A (np. 100) a następnie przechodzi w stan SYN-SENT,
* host B, po otrzymaniu segmentu SYN, przechodzi w stan SYN-RECEIVED i, jeżeli również chce nawiązać połączenie, wysyła hostowi A segment SYN z informacją o dolnej wartości numerów sekwencyjnych używanych do numerowania segmentów wysyłanych przez host B (np. 300) oraz segment ACK z polem numeru sekwencji ustawionym na wartość o jeden większą niż wartość pola sekwencji pierwszego segmentu SYN hosta A, czyli 101.
Linia 36:
; CLOSING : Połączenie jest zamykane.
; LAST-ACK : Otrzymano i wysłano FIN. Trwa oczekiwanie na ostatni pakiet ACK.
; TIME-WAIT : Oczekiwanie w celu upewnienia się, że druga strona otrzymała potwierdzenie rozłączenia. Zgodnie z {{odn|ref=nie|RFC 793}} połączenie może być w stanie TIME-WAIT najdłużej przez 4 minuty.
; CLOSED : Połączenie jest zamknięte.
 
Linia 128:
 
{{Przypisy}}
 
== Bibliografia ==
* {{RFC|793}}
 
== Linki zewnętrzne ==
* {{RFC|1323}}
* RFC 793: Transmission Control Protocol
* RFC 1323: Rozszerzenia TCP
* [http://www.networksorcery.com/enp/protocol/tcp.htm Opis protokołu TCP w języku angielskim]