Segment TCP

    Mianem segmentu określa się jednostkową porcję danych przesyłanych między oprogramowaniem TCP na różnych maszynach. Segmentów używa się również do ustanawiania połączenia, do przesyłania danych, do potwierdzania, do wysyłania propozycji okien oraz do zamykania połączeń. W związku z tym, że TCP korzysta z możliwości “jazdy na barana”, potwierdzenie przepływające z maszyny A do maszyny B może podróżować w tym samym segmencie, co dane z maszyny A do B i to nawet wtedy, gdy potwierdzenie odnosi się do danych przesyłanych z B do A.

Poniższy rysunek pokazuje format segmentu TCP.

 

segm_tcp.gif (7510 bytes)

 

    Każdy segment podzielony jest na dwie części: nagłówek i dane, które się za nim znajdują. Nagłówek, nazywany nagłówkiem TCP, zawiera spodziewane informacje identyfikacyjne oraz kontrolne.

Pola PORT NADAWCY i PORT ODBIORCY zawierają numery portów TCP, które identyfikują programy użytkowe na końcach połączenia.

Pole NUMER PORZĄDKOWY wyznacza pozycję danych segmentu w strumieniu bajtów nadawcy.

Pole NUMER POTWIERDZENIA wyznacza numer oktetu, który nadawca spodziewa się otrzymać w następnej kolejności. Zwróćmy uwagę, że NUMER PORZĄDKOWY odnosi się do strumienia płynącego w tym samym kierunku co segment, zaś NUMER POTWIERDZENIA odnosi się do strumieni płynących w kierunku przeciwnym.

Pole DŁUGOŚĆ NAGŁÓWKA zawiera liczbę całkowitą, która określa długość nagłówka segmentu mierzoną w wielokrotnościach 32 bitów. Jest ono konieczne gdyż pole OPCJE ma zmienną długość.

Pole ZAREZERWOWANE jest pozostawione do wykorzystania w przyszłości.

    Ponieważ niektóre segmenty mogą przenosić tylko potwierdzenia, inne również dane, inne zaś zawierają prośby o ustanowienie lub zamknięcie połączenia - pole BITY KODU zawiera informację o przeznaczeniu zawartości segmentu.

    Przy każdym wysłaniu segmentu oprogramowanie TCP proponuje ile danych może przyjąć, umieszczając rozmiar swojego bufora w polu OKNO. Pole to zawiera 16-bitową liczbę całkowitą bez znaku, zapisaną w sieciowym standardzie uporządkowania bajtów. Propozycje wielkości okna to kolejny przykład jeżdżenia “na barana”, gdyż towarzyszą one wszystkim segmentom, w tym segmentom zawierającym dane i przenoszącym samo potwierdzenie.


| Wprowadzenie | Sieć komputerowa | Protokoły | Model OSI (Open Systems Interconnection) | TCP/IP a model OSI | Adresowanie fizyczne | Adresy IP |

| Protokół Odwzorowania Adresów (ARP) | Protokół Odwrotnego Odwzorowania Adresów (RARP) | Internet Protocol (IP) | Kapsułkowanie | Fragmentacja |

| Koleje Życia Datagramu | ICMP | Określanie Ostatecznego Adresata | UDP | Multipleksowanie I Demultipleksowanie | Transmission Control Protocol (TCP) |

| Idea przesuwających się okien | Segment TCP | Porty i połączenia | Konfiguracja TCP/IP w systemie Unix | Przyszłość TCP/IP | Bibliografia |