İçeriğe geç
🚀 Bu rehber açık kaynaklıdır ve katkılarınıza açıktır! Katkıda bulunmak, hata bildirmek veya öneri sunmak için GitHub Depomuzu ziyaret edin ve Pull Request açın.

TCP Protokol Anatomisi, Bayraklar ve Oturum Yönetimi

TCP Protokol Anatomisi, Bayraklar ve Oturum Yönetimi

Bölüm başlığı “TCP Protokol Anatomisi, Bayraklar ve Oturum Yönetimi”

İletim Denetim Protokolü (Transmission Control Protocol - TCP), OSI referans modelinin 4. Katmanında (Taşıma Katmanı) ve TCP/IP modelinde çalışan, internetin en kritik ve güvenilir taşıma protokolüdür.

IP protokolünün sunduğu “elinden gelenin en iyisi” (best-effort) güvensiz zemin üzerinde çalışan TCP; verilerin kayıpsız, sıralı ve akış kontrollü bir şekilde uçtan uca iletilmesini garanti eder. Web gezintisi (HTTP/HTTPS), dosya transferi (SFTP, SMB), uzaktan yönetim (SSH) ve kurumsal e-posta (SMTP/IMAP) TCP’nin sağladığı bu güvenilir altyapı üzerinde çalışır.

TCP Protokolünün Güvenilirlik Mekanizmaları ve Bayrakları

sequenceDiagram
    autonumber
    actor Client as İstemci (10.0.0.5)
    actor Server as Sunucu (10.0.0.10)

    Note over Client,Server: Bağlantı Kurulumu (3-Way Handshake)
    Client->>Server: [SYN] Seq=0 Win=64240 MSS=1460 WS=256
    Server-->>Client: [SYN, ACK] Seq=0 Ack=1 Win=65535 MSS=1460 WS=128
    Client->>Server: [ACK] Seq=1 Ack=1 Win=64240 (ESTABLISHED)

    Note over Client,Server: Veri Transferi & Onaylama
    Client->>Server: [PSH, ACK] Seq=1 Ack=1 Len=100 (100 Bayt Veri)
    Server-->>Client: [ACK] Seq=1 Ack=101 Win=65435

    Note over Client,Server: Bağlantı Kapatma (4-Way Termination)
    Client->>Server: [FIN, ACK] Seq=101 Ack=1
    Server-->>Client: [ACK] Seq=1 Ack=102
    Server-->>Client: [FIN, ACK] Seq=1 Ack=102
    Client-->>Server: [ACK] Seq=102 Ack=2 (TIME_WAIT -> CLOSED)

Standart bir TCP başlığı opsiyonlar hariç 20 bayt (160 bit) uzunluğundadır:

packet-beta
0-15: "Source Port (16 bit)"
16-31: "Destination Port (16 bit)"
32-63: "Sequence Number (32 bit)"
64-95: "Acknowledgment Number (32 bit)"
96-99: "Data Offset"
100-105: "Reserved"
106-111: "Flags (U,A,P,R,S,F)"
112-127: "Window Size (16 bit)"
128-143: "Checksum (16 bit)"
144-159: "Urgent Pointer (16 bit)"
  1. Source & Destination Port (16’şar bit): Verinin kaynak ve hedef uygulamadaki hangi sokete (port numarasına) teslim edileceğini belirler (Örn: HTTP için 80, HTTPS için 443).
  2. Sequence Number (32 bit): Segmentin taşıdığı verinin ilk baytının sıra numarasıdır. Her bağlantı rastgele bir ISN (Initial Sequence Number) ile başlar.
  3. Acknowledgment Number (32 bit): Alıcının karşı taraftan beklediği bir sonraki baytın sıra numarasıdır. Alınan bayt miktarının onaylandığını gösterir.
  4. Data Offset (4 bit): TCP başlığının 32-bitlik kelime cinsinden uzunluğudur (Opsiyonsuz durumda değer 5’tir, yani 20 bayt).
  5. Window Size (16 bit): Alıcının yeni bir onay (ACK) göndermeden önce kabul edebileceği maksimum bayt miktarını belirten akış kontrolü tampon boyutudur.

TCP başlığındaki kontrol bitleri, oturumun durumunu ve segmentin amacını belirler:

BayrakKısaltmaFonksiyonu ve Anlamı
SYN (Synchronize)SYeni bir bağlantı oturumu başlatmak ve ISN sıra numaralarını senkronize etmek için kullanılır.
ACK (Acknowledgment)AOnay bayrağı. Acknowledgment Number alanının geçerli olduğunu ve karşıdan gelen verinin alındığını belirtir.
FIN (Finish)FGöndericinin iletecek başka verisi kalmadığını ve bağlantıyı zarif bir şekilde kapatmak istediğini bildirir.
RST (Reset)RBağlantıyı anında ve tek taraflı olarak sıfırlar/koparır. Kapalı bir porta paket geldiğinde veya anomali anında üretilir.
PSH (Push)PAlıcının tampon bellekte (buffer) beklemeden veriyi doğrudan uygulama katmanına iletmesini emreder.
URG (Urgent)USegment içinde acil işlenmesi gereken veri olduğunu belirtir (Urgent Pointer alanı geçerli kılınır).

§3.1.3.3 Yönlü El Sıkışma (Three-Way Handshake) ve ISN Hesaplaması

Bölüm başlığı “§3.1.3.3 Yönlü El Sıkışma (Three-Way Handshake) ve ISN Hesaplaması”

TCP bağlantısı kurulurken iki uç nokta birbirlerinin sıra numaralarını şu adımlarla eşleştirir:

TCP 3 Yönlü El Sıkışma Aşamaları

Wireshark Üzerinde Üç Yönlü TCP El Sıkışması Paketleri

İlk Sıra Numarası (ISN) Değişimi ve Belirlenmesi

  1. Paket 1 [SYN]: İstemci sunucuya bağlantı açmak istediğini bildirir. Rastgele bir ISN (Örn: Seq = 28401928) belirler. MSS (Maximum Segment Size) ve Window Scale gibi TCP opsiyonlarını teklif eder.
  2. Paket 2 [SYN, ACK]: Sunucu bağlantıyı kabul eder. Kendi rastgele ISN değerini (Seq = 83921049) üretir ve istemcinin sıra numarasını 1 artırarak onaylar (Ack = 28401929).
  3. Paket 3 [ACK]: İstemci sunucunun sıra numarasını 1 artırarak onaylar (Ack = 83921050). Bu andan itibaren oturum ESTABLISHED durumundadır.

Veri Transferi Boyunca Sıra Numarasının Artış Mantığı

Sıra ve Onay Numaralarının Değiştirilen Veriyi Takibi


TCP bağlantıları iki farklı yöntemle sonlandırılır:

TCP FIN Bağlantı Kapatma Süreci

1. Zarif Kapatma (Graceful Termination - FIN Handshake)

Bölüm başlığı “1. Zarif Kapatma (Graceful Termination - FIN Handshake)”

Taraflardan biri veri göndermeyi bitirdiğinde FIN bayraklı paket iletir. Karşı taraf bunu ACK ile onaylar. Ardından karşı taraf da kendi FIN paketini gönderir ve son ACK ile bağlantı kapatılır.

  • TIME_WAIT: Bağlantıyı ilk kapatan taraf, ağda gecikmiş paketlerin yeni kurulacak başka bir oturumla karışmasını önlemek için belirli bir süre (genellikle 2 $\times$ MSL - 60 ila 120 saniye) TIME_WAIT durumunda bekler.

2. Açık Sonlandırma (Abrupt Termination - TCP Reset)

Bölüm başlığı “2. Açık Sonlandırma (Abrupt Termination - TCP Reset)”

TCP Sıfırlama (RST) Paketi

Eğer bir istemci kapalı bir portta çalışan servise bağlanmaya çalışırsa veya güvenlik duvarı oturumu kural dışı bularak sonlandırırsa, hedef sistem anında RST veya RST/ACK paketi yollar. Bağlantı hiçbir bekleme süresi olmaksızın derhal hafızadan silinir.

Tamamlayıcı Kitap

Siber Güvenlik Operasyonları

SOC ve SIEM log yönetimi, tehdit avcılığı (threat hunting), ITDR & Active Directory güvenliği, DevSecOps ve fidye yazılımı (ransomware) olay müdahale operasyonları.

Kitabı İncele →

© 2026 Yusuf Talha ARABACI. Bu eser CC BY 4.0 lisansı ile lisanslanmıştır; atıf yapılarak serbestçe kullanılabilir ve paylaşılabilir.