3.9. Olay İşleme
Bu bölümde betimlenen işlemler olası bir gerçeklenim örneğidir. Başka gerçeklenimlerin işlem sıraları birazcık farklı olabilir, fakat bu bölümdekilerden esasta değil sadece ayrıntıda farklı olmalıdır.
TCP etkinliğinin ayırıcı özellikleri olaylara verdiği yanıtlardır denebilir. Meydana gelen olaylar üç kategoride incelenebilir: kullanıcı çağrıları, veri bölütlerinin varışı ve zaman aşımları. Bu bölümde her bir olaya TCP'nin verdiği işlemsel yanıtlar açıklanmıştır. Çoğu durumda gereken işlem bağlantının durumuna bağımlıdır.
Meydana gelen olaylar:
- Kullanıcı Çağrıları
- 
              AÇ GÖNDER AL KAPAT TERKET DURUM 
- Ulaşan Veri bölütleri
- 
              Veri bölütü Varışları
- Zaman aşımları
- 
              Kullanıcı Zaman aşımı Yeniden Aktarım Zaman aşımı ZMN-BEKLE Zaman aşımı 
TCP/Kullanıcı arayüzü modeli hemen bir dönüş ve bir olay veya bir sözde kesme üzerinden olası bir gecikmiş yanıt alan kullanıcı komutlarından oluşur. Aşağıdaki açıklamalarda "sinyal" bir gecikmiş yanıta sebep olan şey anlamında kullanılmıştır.
Hata yanıtları karakter dizgeleri olarak verilmiştir. Örneğin, mevcut olmayan bağlantılara atıf yapan kullanıcı komutları şu yanıtı alır: "hata: bağlantı açık değil".
Sıra numaraları, alındı numaraları, pencereler, vesaire ile ilgili tüm aritmetik işlemler 2^32'lik bir sıra numaraları uzayıyla sınırlıdır. Ayrıca "=<" işareti 2^32 ile bölümden artandan küçük veya eşit oduğunu gösterir.
Gelen veri bölütlerine uygulanan işlemlerde izlenen doğal yol, önce sıra numarasının doğruluğunun sınanması (sıra numarası uzayının beklenen "alım penceresi" aralığına düşen sıra numaralarından biri olup olmadığı) ve bu sıra numarasına göre kuyruğa alınıp işlenmesidir.
Bir veri bölütü daha önce alınmış veri bölütleri ile örtüştüğünde, veri bölütünü sadece yeni veriyi içerecek şekilde yeniden oluşturur ve başlık alanlarını uygun biçimde ayarlarız.
Bir durum değişikliğinden bahsedilmedikçe TCP'nin aynı durumda kalacağına dikkat ediniz.
3.9.1. AÇ Çağrısı
              - KAPALI Durumu (örn, ADB'nin olmayışı)
- 
                Bağlantı durum bilgisini saklamak üzere yeni bir Aktarım Denetim Bloku (ADB) oluşturulur. Yerel soket belirteci, yabancı soket, öncelik, güvenlik/bölüm ve kullanıcı zaman aşımı bilgileri doldurulur. Yabancı soketin bazı parçalarının bir edilgen AÇ çağrısında belirsiz olabileceğini ve gelen EŞZveri bölütündeki bağımsız değişkenlere göre doldurulacağına dikkat ediniz. Bu kullanıcı için istenen güvenlik ve önceliğin doğrulanmasına izin verilebilmesi için "hata: önceliğe izin verilmiyor" veya "hata: güvenlik/bölüme izin verilmiyor" şeklinde bir hata dönmemiş olması gerekir. Eğer çağrı edilgen iseDİNLEdurumuna geçilir ve dönülür. Çağrı etkin ise ve yabancı soket belirsizse, "hata: yabancı soket belirsiz" hatası döner. Çağrı etkin ise ve yabancı soket belirliyse, birEŞZveri bölütü hazırlanır. Bir ilk gönderi sıra nunarası (İGS) seçilip<SIRA=İGS><DNT=EŞZ>biçiminde birEŞZveri bölütü gönderilir.GÖN.OLMdeğişkenineİGS,GÖN.SNRdeğişkenineİGS+1atanır,EŞZ-GÖNDERdurumuna geçilir ve döner.Eğer çağrıcı belirtilen yerel sokete erişemiyorsa, "hata: bağlantı bu süreç için kuraldışı" hatası döner. Yeni bir bağlantı oluşturmak için yeterli yer yoksa, "hata: özkaynaklar yetersiz" hatası döner. 
- DİNLE Durumu
- 
                Çağrı etkin ve yabancı soket belirli ise, bağlantı edilgenden etkine döner, bir İGSseçilir. BirEŞZveri bölütü gönderilir,GÖN.OLMdeğişkenineİGS,GÖN.SNRdeğişkenineİGS+1atanır.EŞZ-GÖNDERdurumuna geçilir. GÖNDER ile ilişkili veriEŞZveri bölütü ile gönderileceği gibiKURULUduruma geçildikten sonraki aktarım için kuyruğa da alınabilir. Aciliyet bitinin veri ile gönderilmesi komutta istenmişse, veri bölütleri bu komutun bir sonucu olarak gönderilir. İstek için kuyrukta yer yoksa, yanıt "hata: özkaynaklar yetersiz" olur. Eğer yabancı soket belirtilmemişse, "hata: yabancı soket belirsiz" hatası dönülür.
- EŞZ-GÖNDER Durumu EŞZ-ALINDI Durumu KURULU Durumu SON-BEKLE-1 Durumu SON-BEKLE-2 Durumu KAPAT-BEKLE Durumu KAPANIŞ Durumu SON-ALN Durumu ZMN-BEKLE Durumu
- 
                "hata: bağlantı zaten mevcut" hatası döner. 
3.9.2. GÖNDER Çağrısı
              - KAPALI Durumu (örn, ADB'nin olmayışı)
- 
                Eğer kullanıcının böyle bir bağlantıya erişim izni yoksa, "hata: bağlantı bu süreç için kuraldışı" hatası döner. Aksi takdirde, "hata: bağlantı yok" hatası döner. 
- DİNLE Durumu
- 
                Yabancı soket belirliyse, bağlantı edilgenden etkine döner, bir İGSseçilir. BirEŞZveri bölütü gönderilir,GÖN.OLMdeğişkenineİGS,GÖN.SNRdeğişkenineİGS+1atanır.EŞZ-GÖNDERdurumuna geçilir. GÖNDER ile ilişkili veriEŞZveri bölütü ile gönderileceği gibiKURULUduruma geçildikten sonraki aktarım için kuyruğa da alınabilir. Aciliyet bitinin veri ile gönderilmesi komutta istenmişse, veri bölütleri bu komutun bir sonucu olarak gönderilir. İstek için kuyrukta yer yoksa, yanıt "hata: özkaynaklar yetersiz" olur. Eğer yabancı soket belirtilmemişse, "hata: yabancı soket belirsiz" hatası döner.
- EŞZ-GÖNDER Durumu EŞZ-ALINDI Durumu
- 
                KURULUduruma geçildikten sonra aktarılmak üzere veri kuyruğa alınır. Kuyrukta yer yoksa, yanıt "hata: özkaynaklar yetersiz" olur.
- KURULU Durumu KAPAT-BEKLE Durumu
- 
                Tampon veri bölütlenir ve bir alındı bindirilip (alındı değeri = ALM.SNR) ile gönderilir. Bu tamponu hatırlamak için yeterli yer yoksa, yanıt "hata: özkaynaklar yetersiz" olur.Aciliyet bayrağı etkinse, GÖN.ACL <- GÖN.SNR-1yapılır ve giden veri bölütlerinde aciliyet göstericisi etkinleştirilir.
- SON-BEKLE-1 Durumu SON-BEKLE-2 Durumu KAPANIŞ Durumu SON-ALN Durumu ZMN-BEKLE Durumu
- 
                "hata: bağlantı kapanıyor" döner ve istek yerine getirilmez. 
3.9.3. AL Çağrısı
              - KAPALI Durumu (örn, ADB'nin olmayışı)
- 
                Eğer kullanıcının böyle bir bağlantıya erişim izni yoksa, "hata: bağlantı bu süreç için kuraldışı" hatası döner. Aksi takdirde, "hata: bağlantı yok" hatası döner. 
- DİNLE Durumu EŞZ-GÖNDER Durumu EŞZ-ALINDI Durumu
- 
                KURULUduruma geçildikten sonra aktarılmak üzere veri kuyruğa alınır. Kuyrukta yer yoksa, yanıt "hata: özkaynaklar yetersiz" olur.
- KURULU Durumu SON-BEKLE-1 Durumu SON-BEKLE-2 Durumu
- 
                İsteği yerine getirmek için gelen veri bölütlerinden kuyruğa alınanlar yetersizse, istek kuyruğa alınır. AL çağrısını hatırlamak için kuyruk alanı yoksa, yanıt "hata: özkaynaklar yetersiz" olur. Kuyruktaki gelen veri bölütleri alım tamponunda yeniden oluşturulur ve kullanıcıya dönülür. Durum uygunsa, GİTsin imlemesi yapılır.ALM.ACL kullanıcıya aktarılmakta olan verinin önündeyse kullanıcı acil veri varlığı konusunda uyarılır. TCP, verinin kullanıcıya tesliminden sorumlu olduğunda, kullanıcıyla iletişimin bir alındı üzerinden yapılması gerekir. Böyle bir alındının oluşumu, aşağıda, bir gelen veri bölütünün işlenmesi konusunda ele alınacaktır. 
- KAPAT-BEKLE Durumu
- 
                Uzak taraf zaten bir SONgöndermiş olduğundan, AL çağrıları elde mevcut olup da henüz kullanıcıya teslim edilmemiş metinden oluşmalıdır. Teslimatı bekleyen metin yoksa, AL çağrısı "hata: bağlantı kapanıyor" yanıtını alacaktır. Aksi takdirde, bekleyen metin AL çağrısını oluşturmakta kullanılabilir.
- KAPANIŞ Durumu SON-ALN Durumu ZMN-BEKLE Durumu
- 
                "hata: bağlantı kapanıyor" döner. 
3.9.4. KAPAT Çağrısı
              - KAPALI Durumu (örn, ADB'nin olmayışı)
- 
                Eğer kullanıcının böyle bir bağlantıya erişim izni yoksa, "hata: bağlantı bu süreç için kuraldışı" hatası döner. Aksi takdirde, "hata: bağlantı yok" hatası döner. 
- DİNLE Durumu
- 
                Askıdaki AL çağrıları "hata: kapanış" yanıtları ile döndürülür. ADB silinir. KAPALIdurumu geçilir ve dönülür.
- EŞZ-GÖNDER Durumu
- 
                Kuyruktaki GÖNDER veya AL çağrıları "hata: kapanış" yanıtları ile döndürülür. ADB silinir. 
- EŞZ-ALINDI Durumu
- 
                Hiç GÖNDER yoksa ve gönderilecek bekleyen veri de yoksa, bir SONveri bölütü oluşturulup o gönderilir veSON-BEKLE-1durumuna geçilir; aksi takdirde,KURULUduruma geçince işlenmek üzere kuyruğa alınır.
- KURULU Durumu
- 
                Veri bölütlerine bölünerek GÖNDER çağrıları haline getirilmiş verilerin tümü kuyruğa alındıktan sonra bir SONveri bölütü oluşturulur ve o gönderilir. Her durumda,SON-BEKLE-1durumuna geçilir.
- SON-BEKLE-1 Durumu SON-BEKLE-2 Durumu
- 
                Kesinlikle bu bir hatadır ve bir "hata: bağlantı kapanıyor" yanıtı alınmalıdır. İkinci bir SONyayınlanana kadar (ilkSONyeniden aktarılabilirse de) bir "tamam" da kabul edilebilir bir yanıt olurdu.
- KAPAT-BEKLE Durumu
- 
                Önceki tüm GÖNDER çağrıları veri bölütleri haline getirilene kadar bu istek kuyruğa alınır; sonra bir SONveri bölütü gönderilir,KAPANIŞdurumuna geçilir.
- KAPANIŞ Durumu SON-ALN Durumu ZMN-BEKLE Durumu
- 
                "hata: bağlantı kapanıyor" yanıtı alınır. 
3.9.5. TERKET Çağrısı
              - KAPALI Durumu (örn, ADB'nin olmayışı)
- 
                Eğer kullanıcının böyle bir bağlantıya erişim izni yoksa, "hata: bağlantı bu süreç için kuraldışı" hatası döner. Aksi takdirde, "hata: bağlantı yok" hatası döner. 
- DİNLE Durumu
- 
                Askıdaki AL çağrıları "hata: bağlantı baştan başlatılıyor" yanıtları ile döndürülür. ADB silinir. KAPALIdurumu geçilir ve dönülür.
- EŞZ-GÖNDER Durumu
- 
                Kuyruktaki GÖNDER veya AL çağrıları "hata: bağlantı baştan başlatılıyor" yanıtları ile döndürülür. ADB silinir. KAPALIdurumu geçilir ve dönülür.
- EŞZ-ALINDI Durumu KURULU Durumu SON-BEKLE-1 Durumu SON-BEKLE-2 Durumu KAPAT-BEKLE Durumu
- 
                Bir BŞTveri bölütü gönderilir.<SIRA=GÖN.SNR><DNT=BŞT>Kuyruktaki tüm GÖNDER veya AL çağrıları "hata: bağlantı baştan başlatılıyor" yanıtları ile döndürülmeli; aktarım veya yeniden aktarım için kuyruğa alınmış tüm veri bölütleri (yukarıda BŞTiçin biçimlenmiş olan hariç) boşaltılmalı, ADB silinmeli,KAPALIduruma geçilip dönülmelidir.
- KAPANIŞ Durumu SON-ALN Durumu ZMN-BEKLE Durumu
- 
                "tamam" yanıtı verilip ADB silinir, KAPALIduruma geçilip dönülür.
3.9.6. DURUM Çağrısı
              - KAPALI Durumu (örn, ADB'nin olmayışı)
- 
                Eğer kullanıcının böyle bir bağlantıya erişim izni yoksa, "hata: bağlantı bu süreç için kuraldışı" hatası döner. Aksi takdirde, "hata: bağlantı yok" hatası döner. 
- DİNLE Durumu
- 
                "durum = DİNLE" ve ADB göstericisi döner. 
- EŞZ-GÖNDER Durumu
- 
                "durum = EŞZ-GÖNDER" ve ADB göstericisi döner. 
- EŞZ-ALINDI Durumu
- 
                "durum = EŞZ-ALINDI" ve ADB göstericisi döner. 
- KURULU Durumu
- 
                "durum = KURULU" ve ADB göstericisi döner. 
- SON-BEKLE-1 Durumu
- 
                "durum = SON-BEKLE-1" ve ADB göstericisi döner. 
- SON-BEKLE-2 Durumu
- 
                "durum = SON-BEKLE-2" ve ADB göstericisi döner. 
- KAPAT-BEKLE Durumu
- 
                "durum = KAPAT-BEKLE" ve ADB göstericisi döner. 
- KAPANIŞ Durumu
- 
                "durum = KAPANIŞ" ve ADB göstericisi döner. 
- SON-ALN Durumu
- 
                "durum = SON-ALN" ve ADB göstericisi döner. 
- ZMN-BEKLE Durumu
- 
                "durum = ZMN-BEKLE" ve ADB göstericisi döner. 
3.9.7. Veri bölütü Varışları
- Durum, KAPALI ise (örn, ADB'nin olmayışı)
- 
                Gelen veri bölütündeki tüm veri iptal edilir. BŞTiçeren veri bölütü varsa iptal edilir. BirBŞTiçermeyen bir gelen veri bölütü yanıt olarak birBŞTgönderilmesine sebep olur. Alındı ve sıra numarası alanlarının değerleri suçlu veri bölütünü gönderen TCP tarafından baştan başlatma işlemi için kabul edilebilir şekilde seçilir.ALNbiti etkin değilse, sıra numarası olarak sıfır kullanılır.<SIRA=0><ALN=VBL.SIRA+VBL.UZN><DNT=BŞT,ALN>ALNbiti etkinse,<SIRA=VBL.ALN><DNT=BŞT>Ve döner. 
- Durum, DİNLE ise
- 
                - İlk sınama bir BŞTiçin yapılır.
- 
                    Gelen BŞTyoksayılmalıdır. Dönülür.
 - İkinci sınama bir ALNiçin yapılır.
- 
                    Bir bağlantı hala DİNLEdurumundayken bir alındı gelirse kötüdür.ALNkılıklı bir veri bölütü gelmişse bir kabul edilebilirBŞTveri bölütü oluşturulur:<SIRA=VBL.ALN><DNT=BŞT>Dönülür.
 - Üçüncü sınama bir EŞZiçin yapılır.
- 
                    EŞZbiti etkinse, güvenlik sınanır. Eğer gelen veri bölütündeki güvenlik/bölüm ile ADB'deki tam olarak uyuşmuyorsa birBŞTveri bölütü gönderilir ve dönülür.<SIRA=VBL.ALN><DNT=BŞT>VBL.PRC > ADB.PRCise, kullanıcı ve sistem tarafından izin verilmişseADB.PRC<-VBL.PRCatanır; izin verilmemişse, birBŞTveri bölütü gönderilir ve dönülür.<SIRA=VBL.ALN><DNT=BŞT>VBL.PRC < ADB.PRC ise devam edilir.ALM.SNRdeğişkenineVBL.SIRA+1atanır,İASdeğişkenineVBL.SIRAatanır ve başka her denetim ve metin daha sonra işlenmek üzere kuyruğa alınır.İGSseçilmeli ve şöyle birEŞZveri bölütü gönderilmelidir:<SIRA=İGS><ALN=ALM.SNR><DNT=EŞZ,ALN>GÖN.SNRdeğişkenineİGS+1veGÖN.OLMdeğişkenineİGSatanır. Bağlantı durumuEŞZ-ALINDIyapılır. Gelen başka her denetim ve veri (EŞZile birleşik)EŞZ-ALINDIdurumunda işlenecektir, fakatEŞZveALNtekrar işleme sokulmaz. Dinleme tamamen belli değilse (örn, yabancı sotetin tamamen belli olmaması durumu), belirsiz alanlar şimdiden doldurulmalıdır.
 - Dördüncü sınama başka metin veya denetim için yapılır.
- 
                    Bir başka denetim veya metin kılıklı veri bölütü ( EŞZiçermeyen) birALNiçermelidir; böyleceALNişlemi tarafından iptal edilir. Bağlantının bu varoluşu tarafından gönderilmiş hiçbir şeyin yanıtı olamayacağından bir gelenBŞTveri bölütü geçerli olamazdı. Bu yüzden burada böyle bir veri bölütü almazsınız ama alırsanız da veri bölütü iptal edilir ve dönülür.
 
- İlk sınama bir 
- Durum, EŞZ-GÖNDER ise
- 
                - İlk sınama ALNbiti için yapılır.
- 
                    ALNbiti etkinse- ALNbiti etkinse
- VBL.ALN =< İGSveya- VBL.ALN > GÖN.SNRise, bir- BŞTveri bölütü gönderilir (- BŞTbiti etkin olmadıkça; aksi takdirde, veri bölütü iptal edilip dönülür).- <SIRA=VBL.ALN><DNT=BŞT>- ve veri bölütü iptal edilir. Dönülür. - GÖN.OLM =< VBL.ALN =< GÖN.SNRise- ALNkabul edilebilirdir.
 
 - İkinci sınama BŞTbiti için yapılır
- 
                    - 
                            BŞTbiti etkinse
- 
                            ALNkabul edilebilir ise kullanıcı "hata: bağlantı baştan başlatılıyor" sinyalini alır, veri bölütü iptal edilir,KAPALIduruma geçilir, ADB silinir ve dönülür. Aksi takdirde (ALNyoksa), veri bölütü iptal edilir ve dönülür.
 
- 
                            
 - Üçüncü sınama güvenlik ve öncelik için yapılır.
- 
                    - 
                            Eğer veri bölütündeki güvenlik/bölüm ile ADB'deki tam olarak uyuşmuyorsa bir BŞTveri bölütü gönderilir.
- 
                            Bir ALNvarsa<SIRA=VBL.ALN><DNT=BŞT>Aksi takdirde <SIRA=0><ALN=VBL.SIRA+VBL.UZN><DNT=BŞT,ALN>
- 
                            Bir ALNvarsa
- 
                            Eğer veri bölütündeki öncelik ile ADB'deki tam olarak uyuşmuyorsa bir BŞTveri bölütü gönderilir.<SIRA=VBL.ALN><DNT=BŞT>
- 
                            Bir ALNyoksa
- 
                            Eğer veri bölütündeki öncelik ADB'dekinden daha yüksekse, kullanıcı ve sistem tarafından izin verilmişse, ADB'deki öncelik veri bölütündekine yükseltilir; önceliğin yükseltilmesine izin verilmezse, bir BŞTveri bölütü gönderilir.<SIRA=0><ALN=VBL.SIRA+VBL.UZN><DNT=BŞT,ALN>Eğer veri bölütündeki öncelik ile ADB'dekinden daha düşükse devam edilir. 
- 
                            Eğer bir BŞTveri bölütü gönderilmişse
- 
                            veri bölütü iptal edilir ve dönülür. 
 
- 
                            Eğer veri bölütündeki güvenlik/bölüm ile ADB'deki tam olarak uyuşmuyorsa bir 
 - Dördüncü sınama EŞZbiti için yapılır
- 
                    Bu adıma sadece ALNtamamsa geçilmelidir, değilse birALNyoktur ve veri bölütü birBŞTiçermez.EŞZbiti etkinse ve güvenlik/bölüm ve öncelik kabul edilebilir ise,ALM.SNR = VBL.SIRA+1veİAS = VBL.SIRAyapılır.GÖN.OLMdeğeriVBL.ALN'ye eşit olacak şekilde arttırılmalı (birALNvarsa) ve yeniden aktarım kuyruğundaki veri bölütleri alındılandıklarından silinmelidir.GÖN.OLM > İGS(bizimEŞZ,ALN'lenmişti) ise, bağlantı durumuKURULUyapılır ve birALNveri bölütü oluşturulur ve gönderilir:<SIRA=GÖN.SNR><ALN=ALM.SNR><DNT=ALN>Aktarım için kuyruğa alınmış veri ve denetimler de dahil edilebilir. Veri bölütünde başka veri ve denetim yoksaACLbitinin sınandığı altıncı adımda işleme devam edilir, aksi takdirde dönülür. Aksi takdirde,EŞZ-ALINDIdurumuna geçilir, birEŞZ,ALNveri bölütü oluşturulur ve gönderilir:<SIRA=İGS><ALN=ALM.SNR><DNT=EŞZ,ALN>Veri bölütünde başka veri ve denetim varsa,KURULUduruma geçildikten sonra işlenmek üzere kuyruğa alınır ve dönülür.
 Beşinci sınamada, ne EŞZne deBŞTbiti etkinse, veri bölütü iptal edilip dönülür.
- İlk sınama 
Aksi takdirde,
- İlk sınama sıra numarası için yapılır
- 
              - 
                      
      EŞZ-ALINDI Durumu
      
 KURULU Durumu
 SON-BEKLE-1 Durumu
 SON-BEKLE-2 Durumu
 KAPAT-BEKLE Durumu
 KAPANIŞ Durumu
 SON-ALN Durumu
 ZMN-BEKLE Durumu
- 
                      Veri bölütleri sırayla işlenir. Ulaşanlar üzerindeki ilk denemeler eski yinelenmişleri iptal etmek içindir, fakat bu işlem VBL.SIRAsırasıyla yapılır. Bir veri bölütünün içeriği eski ve yeniyi birlikte içeriyorsa, sadece yeni parçalar işlenmelidir.Gelen bir veri bölütünün kabul edilebilirliği için dört durum sözkonusudur: Veri bölütü Alım Sınama Uzunluğu Penceresi ---------- --------- ------------------------------------------- 0 0 VBL.SIRA = ALM.SNR 0 >0 ALM.SNR =< VBL.SIRA < ALM.SNR+ALM.PEN >0 0 kabul edilebilir değil >0 >0 ALM.SNR =< VBL.SIRA < ALM.SNR+ALM.PEN veya ALM.SNR =< VBL.SIRA+VBL.UZN-1 < ALM.SNR+ALM.PENALM.PEN sıfırsa, hiçbir veri bölütü kabul edilmez, fakat geçerli ALN,ACLveBŞT'leri kabul etmek için özel bir izin verilmelidir.Gelen bir veri bölütü kabul edilebilir değilse, yanıtta bir alındı gönderilmelidir ( BŞTbiti etkin olmadıkça; etkinse veri bölütü iptal edilip dönülür).<SIRA=GÖN.SNR><ALN=ALM.SNR><DNT=ALN>Bir alındı gönderildikten sonra kabul edilmeyen veri bölütü iptal edilir ve dönülür. Onu izleyen veri bölütünün ALM.SNR'de başlayan ve pencereyi aşmayan idealleştirilmiş veri bölütü olduğu varsayılır. Asıl veri bölütleri bu kabule sığması için pencerenin (EŞZveSONdahil) dışına düşen kısımları kırpılarak ve sadeceALM.SNR'de başlayan veri bölütü işlenerek yeniden biçimlendirilebilir. Daha yüksek sira numaraları ile başlayan veri bölütleri daha sonra işlenmek üzere tutulabilir.
 
- 
                      
      EŞZ-ALINDI Durumu
      
- İkinci sınama BŞTbiti için yapılır.
- 
              - EŞZ-ALINDI Durumu
- 
                      - BŞTbiti etkinse
- 
                          Bağlantı bir edilgen AÇ çağrısı ile başlatılmışsa (örn, DİNLEdurumundan gelinip), bağlantıDİNLEdurumuna geçirilir ve dönülür. Kullanıcıya bilgi verilmesine gerek yoktur. Bağlantı bir etkin AÇ çağrısı ile başlatılmışsa (örn,EŞZ-GÖNDERdurumundan gelinip), bağlantı reddedilir ve kullanıcıya "bağlantı reddedildi" sinyali yollanır. Her durumda, yeniden aktarım kuyruğundaki tüm veri bölütleri silinir. Ve etkin AÇ durumunda,KAPALIduruma geçilip ADB silinir ve dönülür.
 
- 
                      
     KURULU
     
 SON-BEKLE-1
 SON-BEKLE-2
 KAPAT-BEKLE
- 
                      BŞTbiti etkinse askıdaki AL ve GÖNDER çağrıları "baştan-başlat" yanıtları almalıdır. Tüm veri bölütü kuyrukları boşaltılır. Kullanıcılar ayrıca talep edilmemiş bir genel "bağlantı yeniden başlatılıyor" sinyali almalıdır.KAPALIduruma geçildikten sonra ADB silinir ve dönülür.
- 
                      
      KAPANIŞ Durumu
      
 SON-ALN Durumu
 ZMN-BEKLE
- 
                      BŞTbiti etkinseKAPALIduruma geçildikten sonra ADB bilinir ve dönülür.
 
- Üçüncü sınama güvenlik ve öncelik için yapılır.
- 
              Bu portlar arasındaki farklı güvenlik veya öncelikli eski bir bağlantıdaki bir veri bölütünün mevcut bağlantının terkedilmesine sebep olmadan engellenmesi için bu sınamanın aşağıdaki sıra numarası sınamasında yeraldığına dikkat ediniz.- EŞZ-ALINDI Durumu
- Eğer veri bölütündeki güvenlik/bölüm ve öncelik ile ADB'dekiler tam olarak uyuşmuyorsa bir - BŞTveri bölütü gönderilir ve dönülür.
- KURULU Durumu
- Eğer veri bölütündeki güvenlik/bölüm ve öncelik ile ADB'dekiler tam olarak uyuşmuyorsa bir - BŞTveri bölütü gönderilir ve askıdaki AL ve GÖNDER çağrıları "yeniden-başlat" yanıtları alır. Tüm veri bölütü kuyrukları boşaltılır. Kullanıcılar ayrıca talep edilmemiş bir genel "bağlantı yeniden başlatılıyor" sinyali almalıdır.- KAPALIduruma geçildikten sonra ADB silinir ve dönülür.
 
- Dördüncü sınama EŞZbiti için yapılır.
- 
              - 
                      
       EŞZ-ALINDI Durumu
       
 KURULU Durumu
 SON-BEKLE-1 Durumu
 SON-BEKLE-2 Durumu
 KAPAT-BEKLE Durumu
 KAPANIŞ Durumu
 SON-ALN Durumu
 ZMN-BEKLE Durumu
- 
                      EŞZpencere içindeyse o bir hatadır, birBŞTveri bölütü gönderilir, askıdaki AL ve GÖNDER çağrıları "baştan-başlat" yanıtları alır, tüm veri bölütü kuyrukları boşaltılır, kullanıcılar ayrıca talep edilmemiş bir genel "bağlantı yeniden başlatılıyor" sinyali alır,KAPALIduruma geçildikten sonra ADB silinir ve dönülür.EŞZpencere içinde değilse bu adıma gelinmeden, ilk adımda (sıra numarası sınaması) bir alındı gönderilirdi.
 
- 
                      
       EŞZ-ALINDI Durumu
       
- Beşinci sınama ALNalanı için yapılır.
- 
              ALNbiti etkin değilse veri bölütü iptal edilir ve dönülür- ALNbiti etkinse
- EŞZ-ALINDI Durumu
- GÖN.OLM =< VBL.ALN =< GÖN.SNRise- KURULUduruma geçilip işlem sürdürülür.- Veri bölütü alındısı kabul edilebilir değilse bir - BŞTveri bölütü oluşturulur:- <SIRA=VBL.ALN><DNT=BŞT>- ve gönderilir. 
- KURULU Durumu
- GÖN.OLM < VBL.ALN =< GÖN.SNRise- GÖN.OLM <- VBL.ALNyapılır. Yeniden aktarım kuyruğundaki veri bölütleri alındılandıklarından silinmelidir. Kullanıcılar GÖNDERilmiş ve tamamen alındılanmış tamponlar için olumlu alındılar almalıdır (örn, GÖNDER tamponu "tamam" yanıtı ile dönmelidir).- ALNyinelenmişse (- VBL.ALN < GÖN.OLM), bu yoksayılır. Birşeylerin henüz gönderilmemiş alındıları varsa (- VBL.ALN > GÖN.SNR) bir- ALNgönderilir, veri bölütü yokedilir ve dönülür.- GÖN.OLM < VBL.ALN =< GÖN.SNRise, gönderi penceresi güncellenmemelidir. (- GÖN.PS1 < VBL.SIRAveya (- GÖN.PS1 = VBL.SIRAve- GÖN.PS2 =< VBL.ALN)) ise,- GÖN.PEN <- VBL.PEN,- GÖN.PS1 <- VBL.SIRAve- GÖN.PS2 <- VBL.ALNyapılır.- GÖN.PEN'in,- GÖN.OLM'den bir mesafe belirttiğine,- GÖN.PS1'in- GÖN.PEN'i güncellemekte kullanılan son veri bölütünün sıra numarasını kaydettiğine ve- GÖN.PS2'nin- GÖN.PEN'i güncellemekte kullanılan son veri bölütünün alındı numarasını kaydettiğine dikkat ediniz. Buradaki sınama eski veri bölütleri kullanılarak pencerenin güncellenmesini engeller.
- SON-BEKLE-1 Durumu
- KURULUdurumdaki işlemlere ek olarak, bizim- SONalındılandığı anda- SON-BEKLE-2durumuna geçilir ve işleme bu durumda devam edilir.
- SON-BEKLE-2 Durumu
- KURULUdurumdaki işlemlere ek olarak, yeniden aktarım kuyruğu boşsa kullanıcının KAPAT'ı alındılanabilir ("tamam") fakat ADB silinmez.
- KAPAT-BEKLE Durumu
- KURULUdurumdaki işlemlerin aynısı yapılır.
- KAPANIŞ Durumu
- KURULUdurumdaki işlemlere ek olarak, bizim- SON'u alındılayan- ALNvarsa- ZMN-BEKLEdurumuna geçilir, yoksa veri bölütü yoksayılır.
- SON-ALN Durumu
- Bu durumda gelebilen tek şey bizim - SON'un bir alındısıdır. Bizim- SONalındılandığı anda ADB silinir,- KAPALIduruma geçilir ve dönülür.
- ZMN-BEKLE Durumu
- Bu durumda gelebilen tek şey uzak - SON'un yeniden aktarımıdır. O tek şey alınır ve 2 AVÖ'lük zaman aşımından sonra yeniden başlanır.
 
 
- Altıncı sınama ACLbiti için yapılır.
- 
              - 
                      
       KURULU Durumu
       
 SON-BEKLE-1 Durumu
 SON-BEKLE-2 Durumu
- 
                      ACLbiti etkinseALM.ACL <- azm(ALM.ACL,VBL.ACL)yapılır ve kullanıcıya tüketilen verinin önünde aciliyet göstericisi (ALM.ACL) varsa uzak tarafın acil veriye sahip olduğu sinyallenir. Eğer kullanıcı zaten sinyallenmişse (veya hala "acil kip"te ise), devam niteliğindeki bu acil veri için kullanıcı tekrar sinyallenmez.
- 
                      
       KAPAT-BEKLE Durumu
       
 KAPANIŞ Durumu
 SON-ALN Durumu
 ZMN-BEKLE
- 
                      Uzak taraf tarafından bir SONalınmış olduğundan bu olmamalıdır.ACLyoksayılır.
 
- 
                      
       KURULU Durumu
       
- Yedinci sınama veri bölütü metni için yapılır.
- 
              - 
                      
       KURULU Durumu
       
 SON-BEKLE-1 Durumu
 SON-BEKLE-2 Durumu
- 
                      KURULUdurumdayken, veri bölütü metninin kullanıcının AL tamponlarına teslimi mümkündür. Gerek tampon dolana gerekse veri bölütü boşalana kadar veri bölütlerindeki metin tamponlara taşınabilir. Veri bölütü boş ve birGİTsin bayrağı taşıyorsa, kullanıcı bilgilendirilir, tampon döndüğünde birGİTsin alınmış olur.TCP, verinin kullanıcıya tesliminin sorumluluğunu aldığında, ayrıca, verinin alımını da alındılamalıdır. TCP, verinin sorumluluğunu aldığı anda, ALM.SNRkabul edilen veri kadar arttırılır ve tamponun kullanılabilirliği bakımındanALM.PENayarlanır.ALM.SNRveALM.PENtoplamı azalmamalıdır.Veri İletişimi bölümündeki pencere yönetim önerilerini lütfen dikkate alınız. Şöyle bir alındı gönderilir: <SIRA=GÖN.SNR><ALN=ALM.SNR><DNT=ALN>Bu alındı, mümkünse yersiz bir gecikmeye uğramasızın, aktarılmakta olan bir veri bölütüne bindirilmiş olmalıdır. 
- KAPAT-BEKLE Durumu KAPANIŞ Durumu SON-ALN Durumu ZMN-BEKLE Durumu
- 
                      Uzak tarafta bir SONalınmış olduğundan bu olmamalıdır. Veri bölütü metni yoksayılır.
 
- 
                      
       KURULU Durumu
       
- Sekizinci sınama SONbiti için yapılır.
- 
              Durum KAPALI,DİNLEveyaEŞZ-GÖNDERise, VBL.SIRA doğrulanamayacağından,SONişleme alınmaz; veri bölütü yokedilir ve dönülür.SONbiti etkinse, kullanıcıya "bağlantı kapanıyor" denip askıdaki AL çağrılarına aynı ileti döndürülür,ALM.SNR,SONkadar arttırılır veSONiçin bir alındı gönderilir. Kullanıcıya henüz teslim edilmemiş her veri bölütü metni içinSON'unGİTsin uygulayacağına dikkat ediniz.- 
       KURULU Durumu
       
 EŞZ-ALINDI Durumu
- KAPAT-BEKLEdurumuna geçilir.
- SON-BEKLE-1 Durumu
- Bizim - SON ALNlenmişse (belki bu veri bölütünde),- ZMN-BEKLEdurumuna geçilir, zaman-bekle zamanlayıcısı çalıştırılır, diğer zamanlayıcılar kapatılır; aksi takdirde,- KAPANIŞdurumuna geçilir.
- SON-BEKLE-2 Durumu
- ZMN-BEKLEdurumuna geçilir, zaman-bekle zamanlayıcısı çalıştırılır, diğer zamanlayıcılar kapatılır.
- KAPAT-BEKLE Durumu
- KAPAT-BEKLEdurumunda kalınır.
- KAPANIŞ Durumu
- KAPANIŞdurumunda kalınır.
- SON-ALN Durumu
- SON-ALNdurumunda kalınır.
- ZMN-BEKLE Durumu
- ZMN-BEKLEdurumunda kalınır. 2 AVÖ'lük zaman-bekle zaman aşımı başlatılır.
 
- 
       KURULU Durumu
       
ve dönülür.
3.9.8. Kullanıcı Zaman aşımı
Herhangi bir durumda, kullanıcı zaman aşımı dolarsa, tüm kuyruklar boşaltılır, kullanıcı genellikle "hata: kullanıcı zaman aşımından dolayı bağlantı terkedildi" ile ve askıdaki çağrılar için sinyallenir, ADB silinir,  KAPALI duruma geçilir ve dönülür.
3.9.9. Yeniden Aktarım Zaman aşımı
Herhangi bir durumda, yeniden aktarım kuyruğundaki bir veri bölütünde yeniden aktarım zaman aşımı dolarsa, veri bölütü tekrar yeniden aktarım kuyruğunun başına gönderilir, yeniden aktarım zaman aşımı yeniden başlatılır ve dönülür.
3.9.10. ZMN-BEKLE zaman aşımı
              
Bir bağlantı üzerinde ZMN-BEKLE zaman aşımı dolarsa ADB silinir, KAPALI duruma geçilir ve dönülür.