3.5. Bağlantının Kapatılması

KAPAT, "Göndereceğim veri kalmadı" anlamına gelen bir işlemdir. Bir iki yönlü çalışan bağlantının kapatılması, alıcı tarafın bunu nasıl ele alacağı bilinemediğinden, anlamı belirsiz bir yorumlamanın konusudur, şüphesiz. Biz KAPAT'ı tek yönlü bir bağlantıdaymışız gibi ele alacağız. Diğer ucun KAPALI duruma geçtiğini öğrenene kadar KAPATan kullanıcı ALmaya devam edebilir. Bu durumda, bir program bir KAPAT öncesinde bazı GÖNDERileri başlatmış olabilirdi ve öbür ucun KAPALI olmasından dolayı bir ALımın başarısız olduğu sinyallenene kadar ALmaya devam ederdi. Öbür ucun kapanmasından dolayı ortada hiçbir ALım kalmasa bile, biz TCP'nin kullanıcıyı haberdar edeceğini ve böylece kullanıcının kendi tarafını sonlandırabileceğini varsayıyoruz. Bir TCP, bağlantı KAPALI duruma geçmeden önce tüm GÖNDER tamponlarını güvenle teslim edecektir. Böylece dönecek hiçbir veri kalmadığını uman kullanıcının duymayı beklediği tek şey tüm verisinin hedef TCP tarafından tamamen alınmasıyla öbür ucun KAPALI duruma geçtiğidir. TCP artık veri kalmadı diyene kadar kullanıcılar gönderime kapadıkları bağlantılarını okumaya açık tutmalıdır.

Başlıca üç durum sözkonusudur:

  • Kullanıcı TCP'ye bağlantıyı KAPAT demeye başlar.
  • Uzak TCP bir SON denetim sinyali göndermeye başlar.
  • Her iki kullanıcı aynı anda KAPATır.
1. durum: Yerel kullanıcı kapanmayı başlatır

Bu durumda, bir SON veri bölütü oluşturulur ve giden veri bölütü kuyruğuna yerleştirilir. TCP tarafından kullanıcıdan artık bir GÖNDER kabul edilmez ve TCP SON-BEKLE-1 durumuna geçer. Bu durumda ALımlara izin verilir. SON içeren ve SON ile öncelenmiş tüm veri bölütleri alındılanana kadar yeniden aktarılır. Diğer TCP, SON'un her ikisini de alındıladığında ve kendi SON'unu gönderdiğinde, ilk TCP bu SON'u ALN'leyebilir. Bir SON alan TCP'nin bunu ALN'leyeceğini fakat ek olarak kullanıcısının bağlantısı KAPALI olana kadar kendi SON'unu göndermeyeceğine dikkat ediniz.

2. durum: TCP ağdan bir SON alır

Eğer ağdan talep edilmemiş bir SON gelirse, alıcı TCP onu ALN'leyebilir ve kullanıcıya bağlantının kapanacağını söyler. TCP'nin kalan veriyi diğer TCP'ye gönderdikten sonra bir SON göndermesi için kullanıcı bunu bir KAPAT ile yanıtlar. TCP bundan sonra kendi SON'unun alındılanmasını bekler ve alındıyı aldıktan sonra bağlantıyı siler. Bir ALN ulaşmazsa, bir kullanıcı zaman aşımı sonrasında bağlantı terkedilir ve kullanıcıya haber verilir.

3. durum: Her iki taraf aynı anda kapanır

Bir bağlantının her iki ucunun kullanıcılarından aynı anda KAPAT gelmesi SON veri bölütlerinin değiştokuşuna sebep olur. SONlarla öncelenmiş tüm veri bölütleri işleme alınıp alındılandığında her TCP kendi aldığı SON'u ALN'leyebilir. Her ikisi de bu ALN'leri aldıktan sonra bağlantıyı siler.

Şekil 13. Normal Kapanma
    TCP A                                                TCP B

1.  KURULU                                               KURULU

2.  (Kapat)
    SON-BEKLE-1 --> <SIRA=100><ALN=300><DNT=SON,ALN> --> KAPAT-BEKLE

3.  SON-BEKLE-2 <-- <SIRA=300><ALN=101><DNT=ALN>     <-- KAPAT-BEKLE

4.                                                       (Kapat)
    ZMN-BEKLE   <-- <SIRA=300><ALN=101><DNT=SON,ALN> <-- SON-ALN

5.  ZMN-BEKLE   --> <SIRA=101><ALN=301><DNT=ALN>     --> KAPALI

6.  (2 AVÖ)
    KAPALI

                         Normal Kapanma

Şekil 14. Aynı Anda Kapanma
    TCP A                                                TCP B

1.  KURULU                                               KURULU

2.  (Kapat)                                              (Kapat)
    SON-BEKLE-1 --> <SIRA=100><ALN=300><DNT=SON,ALN> ... SON-BEKLE-1
                <-- <SIRA=300><ALN=100><DNT=SON,ALN> <--
                ... <SIRA=100><ALN=300><DNT=SON,ALN> -->

3.  KAPANIŞ     --> <SIRA=101><ALN=301><DNT=ALN>     ... KAPANIŞ
                <-- <SIRA=301><ALN=101><DNT=ALN>     <--
                ... <SIRA=101><ALN=301><DNT=ALN>     -->

4.  ZMN-BEKLE                                            ZMN-BEKLE
    (2 AVÖ)                                              (2 AVÖ)
    KAPALI                                               KAPALI

                         Aynı Anda Kapanma