3.2. 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 veri bö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 veri bölütü sıra numarası GÖN.WL2 - son pencere güncellemesinde kullanılan veri bö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.
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'teki sıra numaraları uzayının 3 ile etiketlenmiş bölümüdür.
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 5'teki sıra numaraları uzayının 2 ile etiketlenmiş bölümüdür.
Ayrıca değerlerini o anki veri bölütündeki alanlardan alan ve incelememizde sıkça kullanılacak olan birtakım değişkerler daha vardır.
- O anki Veri bölütü Değişkenleri
-
VBL.SIRA - veri bölütü sıra numarası VBL.ALN - veri bölütü alındı numarası VBL.UZN - veri bölütü uzunluğu VBL.PEN - veri bölütü penceresi VBL.ACL - veri bölütü aciliyet göstericisi VBL.PRC - veri bö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 AÇ, 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 veri bölütleri; ve zaman aşımlarıdır.
Şekil 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.
+----------+ ---------------\ 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ı