TCP Connection State

TCP connection state tcp bağlantılarının nasıl gerçekleştiği ve durumlarını sorgulayabildiğimiz bir kavram. Aşağıdaki makaleyi çok beğendiğim için wikipedia sitesinden aldım. En alta da kaynak linkini ekledim.

 

TCP connection state

TCP Connection State

TCP’nin çalışma esası üç faz altında incelenebilir: 1) Öncelikle hedefle bir bağlantı gerçekleşir. 2) Bağlantı gerçekleştikten sonra veri transferi yapılır. 3) Veri transferi yapıldıktan sonra da bağlantı sona erdirilir.

TCP’de bu üç fazın gerçekleşmesi için bazı ara durumlar (state) tanımlanmıştır. Bu durumlar aşağıdaki gibidir:

LISTEN

(sunucu) İstemci tarafından bir TCP bağlantı isteğinin beklenildiği durum

SYN-SENT

(istemci) Karşı tarafa TCP bağlantısı isteği gönderildikten sonra karşı taraftan bağlantı isteğine cevap beklenilen durum

SYN-RECEIVED

(sunucu) İstemci tarafından SYN bayrağı ile yapılan bağlantı isteğine sunucunun SYN-ACK bayrağı ile cevap vermesinden sonraki bekleme durum

ESTABLISHED

(sunucu ve istemci) Bağlantı kurulduktan sonraki veri transferinin yapıldığı durum

FIN-WAIT-1

(sunucu ve istemci)

FIN-WAIT-2

(sunucu ve istemci) karşı taraftan TCP bağlantısının bitirilme isteğinin beklendiği durum

CLOSE-WAIT

(sunucu ve istemci)

CLOSING

(sunucu ve istemci) Karşı tarafa bağlantının bitirlmesine dair bir ACK bayrağı gönderildikten sonra bağlantının bitmesini bekleme durumu

LAST-ACK

(sunucu ve istemci)

TIME-WAIT

(sunucu ve istemci)

CLOSED

(sunucu ve istemci) TCP bağlantısının tamamen bittiği durum

TCP bağlantısı nasıl kurulur?[

A bilgisayarı B bilgisayarına TCP yoluyla bağlanmak istediğinde şu yol izlenir:

  • A bilgisayarı B bilgisayarına TCP SYNchronize mesajı yollar
  • B bilgisayarı A bilgisayarının isteğini aldığına dair bir TCP SYN+ACKnowledgement mesajı yollar
  • A bilgisayarı B bilgisayarına TCP ACK mesajı yollar
  • B bilgisayarı bir ACK “TCP connection is ESTABLISHED” mesajı alır

Üç zamanlı el sıkışma adı verilen bu yöntem sonucunda TCP bağlantısı açılmış olur.

Kaynak Wikipedia