Terminoloji
Önceki İşlevsel Belirtim Sonraki
Terminoloji
TCP işlemlerine çok fazla dalmadan önce terminoloji üzerinde ayrıntılı olarak durmak istiyoruz. Bir TCP bağlantısının sürdürülmesi çeşitli değişkenlerin hatırlanmasını gerektirir. Bu değişkenlerin saklanacağı yer olarak Aktarım Denetim Bloğu (ADB) adını verdiğimiz bir bağlantı kaydı tasarladık. Yerel ve uzak soket numaralarını, bağlantı önceliği ve güvenliği, kullanıcıların gönderim ve alım tamponların göstericileri yeniden aktarım kuyruğunun göstericisi ve o anki veribölütü, ADB'de saklanan değişkenler arasında sayılabilir. Ek olarak gönderim ve alım sıra numaraları ile ilgili çeşitli değişkenler de ADB'de saklanır.
Gönderi Sıra Numaraları Değişkenleri
GÖN.OLM - gönderi alınmadı
GÖN.SNR - sonraki gönderi
GÖN.PEN - gönderi penceresi
GÖN.ACL - gönderi aciliyet göstericisi
GÖN.WL1 - son pencere güncellemesinde kullanılan veribölütü sıra numarası
GÖN.WL2 - son pencere güncellemesinde kullanılan veribölütü alındı numarası
İGS     - ilk gönderi sıra numarası
Alım Sıra Numaraları Değişkenleri
ALM.SNR - sonraki alım
ALM.PEN - alım penceresi
ALM.UP  - alım aciliyet göstericisi
İAS     - ilk alım sıra numarası
Bu değişkenlerden bazılarının sıra değişkenleri uzayıyla ilişkilendirlmesinde aşağıdaki şeklin yardımı olabilir.
Şekil 4.4. Gönderi Sıra Numaraları Uzayı
           1         2          3          4
      ----------|----------|----------|----------
             GÖN.OLM    GÖN.SNR    GÖN.OLM
                                  +GÖN.PEN

  1 - alındı'lanmış eski sıra numaraları
  2 - alındı'lanmamış sıra numaraları
  3 - yeni veri aktarımı için izin verilen sıra numaraları
  4 - henüz izin verilmemiş gelecekteki sıra numaraları

            Gönderi Sıra Numaraları Uzayı
Gönderi penceresi Şekil 4.4'teki sıra numaraları uzayının 3 ile etiketlenmiş bölümüdür.
Şekil 4.5. Alım Sıra Numaraları Uzayı
          1         2          3
     ----------|----------|----------
            ALM.SNR    ALM.SNR
                      +ALM.PEN

  1 - alındı'lanmış eski sıra numaraları
  2 - yeni alım için izin verilen sıra numaraları
  3 - henüz izin verilmemiş gelecekteki sıra numaraları

          Alım Sıra Numaraları Uzayı
Alım penceresi Şekil 4.5'teki sıra numaraları uzayının 2 ile etiketlenmiş bölümüdür.
Ayrıca değerlerini o anki veribölütündeki alanlardan alan ve incelememizde sıkça kullanılacak olan birtakım değişkerler daha vardır.
O anki Veribölütü Değişkenleri
VBL.SIRA - veribölütü sıra numarası
VBL.ALN  - veribölütü alındı numarası
VBL.UZN  - veribölütü uzunluğu
VBL.PEN  - veribölütü penceresi
VBL.ACL  - veribölütü aciliyet göstericisi
VBL.PRC  - veribölütü öncelik değeri
Bir bağlantı yaşamı boyunca bir seri durumdan geçer. Bu durumlar: DİNLE, EŞZ-GÖNDER, EŞZ-ALINDI, KURULU, SON-BEKLE-1, SON-BEKLE-2, KAPAT-BEKLE, KAPANIŞ, SON-ALN, ZMN-BEKLE ve kurgusal durum KAPALI. KAPALI kurgusaldır, çünkü hiç ADB'nin olmadığı zamanı ve dolayısıyla bağlantı yokluğunu ifade eder. Durumların kısaca anlamları:
DİNLE
Bir porttan bir TCP bağlantısının beklendiğini gösterir.
EŞZ-GÖNDER
Bir bağlantı isteği gönderildikten sonra bununla eşleşen bir bağlantı isteğinin beklendiğini gösterir.
EŞZ-ALINDI
Bir bağlantı isteği gönderilip alındıktan sonra onaylayıcı bağlantı isteği alındısının beklendiğini gösterir.
KURULU
Alınan verinin kullanıcıya teslim edilebileceği bir açık bağlantıyı gösterir. Bu bağlantının veri aktarımının yapıldığı normal fazıdır.
SON-BEKLE-1
Uzak TCP'den bir bağlantı sonlandırma isteğinin ya da evvelce gönderilmiş bağlantı sonlandırma isteğinin alındısının beklendiğini gösterir.
SON-BEKLE-2
Uzak TCP'den bir bağlantı sonlandırma isteğinin beklendiğini gösterir.
KAPAT-BEKLE
Yerel kullanıcıdan bir bağlantı sonlandırma isteğinin beklendiğini gösterir.
KAPANIŞ
Uzak TCP'den bir bağlantı sonlandırma isteği alındısının beklendiğini gösterir.
SON-ALN
Uzak TCP'ye evvelce gönderilmiş (bir bağlantı sonlandırma isteği alındısı içeren) bağlantı sonlandırma isteğinin alındısının beklendiğini gösterir.
ZMN-BEKLE
Uzak TCP'nin bağlantı sonlandırma isteğinin alındısını almasına kadar geçecek sürenin beklendiğini gösterir.
KAPALI
Artık bir bağlantının olmadığını gösterir.
Bir TCP bağlantısı yanıtlarla bir durumdan diğerine geçilen bir süreçtir. Yanıtların sebepleri , GÖNDER, AL, KAPAT, TERKET ve DURUM kullanıcı çağrıları; özellikle EŞZ, ALN, BŞT ve SON bayraklarını içeren gelen veribölütleri; ve zamanaşımlarıdır.
Şekil 4.6'daki durum şeması sadece sebepleri ve sonuçlarıyla durum değişikliklerini görselleştirir. Fakat durum değişikliklerine bağlı hata durumları ve eylemler dikkate alınmamıştır. Sonraki bölümde TCP'nin olaylara tepkisi daha ayrıntılı incelenecektir.
Dikkat
Bu şema sadece bir özettir ve belirtimin tamamı olarak ele alınmamalıdır.
Şekil 4.6. TCP Bağlantı Durumları Şeması
                                 +----------+ ---------------\  doğrudan AÇ
                                 |  KAPALI  |                 \ -----------
                                 +----------+<-------------\   \ ADB oluştur
                                    |    ^                  \   \ EŞZ gönder
                       edilgen AÇ   |    |   KAPA            \   \
                       -----------  |    | ----------         \   \
                       ADB oluştur  |    | ADB'yi sil          \   \
                                    V    |                      \   \
                                 +----------+           KAPA     |   \
                                 |   DİNLE  |         ---------- |    |
                                 +----------+         ADB'yi sil |    |
                        EŞZ al      |    |    GÖNDER             |    |
                   --------------   |    |    -------            |    V
    +--------+     EŞZ,ALN gönder  /      \   EŞZ gönder       +--------+
    |        |<-------------------          ------------------>|        |
    |  EŞZ   |                    EŞZ al                       |   EŞZ  |
    | ALINDI |<------------------------------------------------| GÖNDER |
    |        |                   EŞZ gönder                    |        |
    |        |--------------------          -------------------|        |
    +--------+ EŞZ'nin ALN'sini al \      /  EŞZ,ALN al        +--------+
      |        -------------------  |    |  ------------
      |                  x          |    |   ALN gönder
      |                             V    V
      |  KAPA                    +----------+
      | -------                  |  KURULU  |
      | SON gönder               +----------+
      |                   KAPA      |    |      SON al
      V                ----------   |    |    ---------
    +---------+        SON gönder  /      \   ALN gönder   +-------------+
    |  SON    |<------------------          -------------->| KAPAT-BEKLE |
    | BEKLE-1 |-----------------------                     +-------------+
    +---------+                SON al  \                       KAPA    |
      | SON'un ALN'sini al   ---------  |                   ---------- |
      | ------------------   ALN gönder |                   SON gönder V
      V        x                        V                      +---------+
    +----------+                   +---------+                 | SON-ALN |
    |SONBEKLE-2|                   | KAPANIŞ |                 +---------+
    +----------+                   +---------+      SON'un ALN'sini al |
      |              SON'un ALN'sini al |           ------------------ |
      |              ------------------ |                    x         |
      |    SON al            x          |    ZmnAşımı=2AVÖ             |
      |  ----------                     V    -------------             V
       \ ALN gönder                +---------+ ADB'yi sil      +---------+
         ------------------------->|ZMN BEKLE|---------------->|  KAPALI |
                                   +---------+                 +---------+

                           TCP Bağlantı Durumları Şeması
Önceki Üst Ana Başlık Sonraki
Başlık Biçimi Başlangıç Sıra Numaraları
Bir Linux Kitaplığı Sayfası