TCP Flags ve TCP States nedir ?

Salim Doğan CESUR
2 min readApr 26, 2021

--

TCP bağlantısı sırasında bağlantı durumlarını anlamlı hale getirmek için kullandığımız bazı flag(bayrak) değerleri vardır. Bu flaglar şekilde göründüğü gibi TCP Header yapısının bir özelliğidir ve her biri 1 bit değerindedir.

SYN : Three way handshake yani bağlantı talebi başlatılması için kullanılan flagdir. Synchronize kelimesinin kısaltılmış halidir.

ACK : Gelen SYN flagnın onaylandığını artık bir paket alışverişinin yapılabileceğini gösteren flagdir. Acknowledgement kelimesinin kısaltılmış halidir.

URG : Gönderilen paketlerin acil olduğunu ve diğer verilerden öncelikli bir şekilde gönderilmesini sağlayan flagdir. Urgent kelimesinin kısaltılmış halidir.

PSH : Paketleri alan kullanıcının tüm verileri belirlenen bir uygulamaya göndermesini ve işlenmesi için bu flag’ı kullanır. URG flagına benzerlik göstersede farklıdır. Push kelimesinin kısaltılmış halidir.

FIN : SYN flagının tersi olarak bağlantının güvenli bir şekilde sonlandırılması için kullanılan flagdır. Finish kelimesinin kısaltılmış halidir.

RST : TCP bağlantısı sırasında bir sorunla karşılaşıldığında(güvenlik ihlali, hatalar vs.) bağlantının iptal edilmesi için kullanır. FIN flagına benzerlik göstersede bu flagte farklı amaçlar için kullanılır. Reset kelimesinin kısaltılmış halidir.

State kavramı bilgisayar bilimleri için önemli kelime başlıklarından biridir. Türkçe anlamından da anlaşılacağı üzere sistemde bulunan bir servisin etkileşimden önce veya sonrasında durumlarını belirtmesidir. TCP bağlantısı sırasında durum değişikliklerini tanımlayabilmek için çeşitli TCP State’ler mevcuttur.

LISTEN : Hizmet veren bir sunucunun bağlantı isteğini beklediği durum

SYN-SENT : Three way handshake oluşması için gönderilen SYN flagden sonra bağlantı için cevap beklenilmesi durumu

SYN-RECEIVED : SYN paketini alan serverin SYN-ACK ile dönmesinin ardından ACK flagını beklemesi durumu

ESTABLISHED : Three way handshake’ın tamamlandığı ve veri transferinin başladığı durum

FIN-WAIT-1 : TCP bağlantısının sonlandırılması için gönderilen ilk FIN flagından sonra beklenen durum

FIN-WAIT-2 : Bağlantının sonlandırılması için gelen FIN flagından sonra FIN-ACK ile dönülmesiyle ACK flagının beklenmesi durumu

CLOSE-WAIT : Bağlantı sonlandırılması için son ACK flagından sonra bağlantı pasif olarak sonlandırılır. Bu durumdan sonra kullanıcıya yada herhangi bir uygulamaya bağlı olarak bağlantının tamamen sonlandırılmasını için beklenen durum

CLOSİNG : TCP bağlantısının tamamen kesildiği CLOSE-WAIT’ın olmadığı durum

LAST-ACK : Bağlantının sonlandırılması için gönderilen son ACK flagından sonra bağlantının sonlandırılması için beklenen durum

TIME-WAIT : Bağlantı sonlandırma isteği alındıktan sonra istemci yada sunucunun doğruluğunu tespit etmek için beklediği durum

CLOSED : Hiçbir şekilde bağlantının ve başka bir state’ın olmadığı durum(closed dışında)

--

--

Salim Doğan CESUR
Salim Doğan CESUR

Written by Salim Doğan CESUR

Someone related to their computers. Sometimes it is very irrelevant.

No responses yet