Başlık Biçimi
Önceki İşlevsel Belirtim Sonraki
Başlık Biçimi
TCP veribölütleri Genel Ağ verikatarları olarak gönderilir. Genel Ağ Protokolünün başlığı [2] kaynak ve hedef konakların adreslerinin de içinde bulunduğu çeşitli bilgi alanları içerir. Genel Ağ Protokolünün başlığını TCP'ye özgü bilgi sağlayan TCP başlığı izler. Bu kısım TCP'ye ek olarak başka konak seviyesi protokollerin varlığına da izin verir.
Şekil 4.3. TCP Başlık Biçimi
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1  <=  Bitler
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          Kaynak Port          |          Hedef Port           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         Sıra Numarası                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        Alındı Numarası                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Veri |           |A|A|G|B|E|S|                               |
   |Başlan-|  Yedek    |C|L|İ|Ş|Ş|O|            Pencere            |
   |gıcı   |           |L|N|T|T|Z|N|                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |       Sağlama Özeti           |      Aciliyet Göstergesi      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                 Seçenekler                    |    Dolgu      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                             veri                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                            TCP Başlık Biçimi
Kaynak Port: 16 bit
Kaynak port numarası
Hedef Port: 16 bit
Hedef port numarası
Sıra Numarası: 32 bit
Bu veribölütündeki ilk veri sekizlisinin sıra numarası (EŞZ varlığı hariç). Eğer EŞZ varsa sıra numarası ilk sıra numarasıdır (İSN) ve ilk veri sekizlisi de İSN+1'dir.
Alındı Numarası: 32 bit
ALN denetim biti etkinse bu alan veribölütü göndericisinin alacağı umulan sonraki sıra numarasını içerir. Bir bağlantı kurulduğu anda bu daima gönderilir.
Veri Başlangıcı: 4 bit
TCP Başlığındaki 32 bitlik sözcüklerin sayısı. Bu verinin başladığı yeri belirtir. TCP başlığı (bir seçenek içerse bile) 32 bitlik bir sayıdır.
Yedek: 6 bit
İlleride kullanmak üzere yedek. Sıfır olmalı.
Denetim bitleri: 6 bit (soldan sağa):
ACL:  Aciliyet Göstergesi alanı önemli
ALN:  Alındı alanı önemli
GİT:  Gitsin işlevi
BŞT:  Bağlantıyı baştan al
EŞZ:  Sıra numaralarını eşzamanla
SON:  Göndericide başka veri yok
Pencere: 16 bit
veribölütü göndericisinin kabul etmeye hazır olduğunu belirttiği alındı alanı ile başlayan veri sekizliklerinin sayısı.
Sağlama Özeti: 16 bit
Başlık ve metindeki 16 bitlik sözcüklerin bire tümleyen toplamının bire tümleyenini içeren 16 bitlik sağlama özeti alanı. Eğer bir veribölütü sağlama toplamı alınmak üzere başlık ve metin olarak tek sayıda sekizli içeriyorsa, sağlama özetinin amaçlarına uygun olarak 16 bitlik biçimi sağlamak için son sekizlinin sağındaki alan sıfırlarla doldurulur. Dolgu olarak kullanılan sekizli veribölütünün parçası olarak aktarılmaz. Sağlama özeti hesaplanırken sağlama özeti alanının kendisi sıfırlarla doldurulur.
Ayrıca sağlama özeti kavramsal olarak TCP başlığına önek olarak 96 bitlik sözde başlık bilgisini de içerir. Bu sözde başlık bilgisi Kaynak Adres, Hedef Adres, Protokol ve TCP uzunluğunu içerir. Bu, yanlış yollanmış veribölütlerine karşı TCP koruması sağlar. Bu bilgi Genel Ağ Protokolü tarafından taşınır ve TCP tarafından IP'ye yapılan çağrıların sonuçlarında veya argümanlarında TCP/ağ arayüzüne aktarılır.
    +--------+--------+--------+--------+
    |           Kaynak Adres            |
    +--------+--------+--------+--------+
    |            Hedef Adres            |
    +--------+--------+--------+--------+
    |  sıfır | SBB Uz |  TCP Uzunluğu   |
    +--------+--------+--------+--------+
TCP Uzunluğu, TCP başlık uzunluğu ile sekizliler cinsinden veri uzunluğunun toplamıdır (Bu miktar bilgisi doğrudan aktarılmaz, hesaplanır) ve sözde başlığın 12 sekizlisi sayılmaz.
Aciliyet Göstergesi: 16 bit
Bu alan, bu veribölütündeki sıra numarasından pozitif mesafe olarak aciliyet göstericisinin o anki değerini nakleder. Aciliyet göstericisi acil verinin başındaki sekizlinin sıra numarasını gösterir. Bu alan sadece ACL denetim biti etkin olan veribölütlerinde yorumlanır.
Seçenekler: değişken
Seçenekler TCP başlığının sonunda 8 bitin katları olarak yer işgal edebilirler. Tüm seçenekler sağlama özetinde içerilirler. Bir seçenek herhangi bir sekizlinin sınırından başlayabilir. Bir seçeneğin biçimi ile ilgili iki durum vardır:
  • 1. durum: Seçenek çeşidini içeren tek bir sekizli.
  • 2. durum: Seçenek çeşidi için bir, seçenek uzunluğu için bir sekizli ve asıl seçenek verisi sekizlileri.
Seçenek uzunluğu olarak, çeşit bir ve uzunluk iki saydıktan sonra asıl veri sekizlileri sayılır.
Seçenek listesinin veri başlangıcı alanının gerektirdiğinden daha kısa olabileceği gözden uzak tutulmamalıdır. Başlık içeriği, "Seçenek Listesi Sonu" seçeneğinden sonra başlık dolgu karakteri (örn, sıfır) ile doldurulmalıdır.
Bir TCP tüm seçenekleri gerçeklemelidir.
Şimdilik tanımlı seçenekler şunlardır (çeşit sekizli cinsinden belirtilir):
  Çeşit     Uzunluk    Anlamı
  -----     -------    -------
    0          -       Seçenek Listesi Sonu.
    1          -       İşlem Yok.
    2          4       Azami Veribölütü Boyu.
Seçenek Listesi Sonu
+--------+
|00000000|
+--------+
  Çeşit=0
Bu seçenek kodu Seçenek listesinin sonunu belirtir. Bu, Veri Başlangıcı alanı ile ilgili TCP başlığının sonu ile çakışık olmayabilir. Bu, her seçeneğin sonunda değil, bütün seçeneklerin sonunda kullanılır ve sadece TCP başlığının sonu ile seçeneklerin sonu çakışık değilse kullanımına ihtiyaç duyulur.
İşlem Yok
+--------+
|00000001|
+--------+
  Çeşit=1
Bu seçenek kodu seçenekler arasında kullanılabilir, örneğin sonraki seçeneğin sözcük sınırına hizalanmasında. Göndericilerin bu seçeneği kullanacağının hiç bir garantisi yoktur, bu yüzden alıcılar bir sözcük sınırından başlamasa bile tüm seçenekleri işleme sokabilmeye hazır olmalıdır.
Azami Veribölütü Boyu
+--------+--------+---------+--------+
|00000010|00000100|    azm vb boyu   |
+--------+--------+---------+--------+
  Çeşit=2   Uzunluk=4
Azami Veribölütü Boyu Seçenek Verisi: 16 bit
Bu seçenek mevcutsa, seçenekle bu veribölütünü gönderen TCP'deki azami alım veribölütü boyu nakledilir. Bu alan sadece ilk bağlantı isteğinde (örn, EŞZ denetim bitli veribölütlerinde) gönderilmelidir. Bu seçenek kullanılmamışsa her veribölütü boyuna izin verilir.
Dolgu: değişken
TCP başlığının 32 bitlik olmasını sağlamak için dolgu yapılır. Doldurma işleminde sıfırlar kullanılır.
Önceki Üst Ana Başlık Sonraki
İşlevsel Belirtim Başlangıç Terminoloji
Bir Linux Kitaplığı Sayfası