Sobes.tech
Middle

TCP penceresi hakkında ne biliyorsunuz?

sobes.tech yapay zeka

AI'dan gelen yanıt

TCP penceresi (veya alım penceresi) TCP protokolünde akış kontrol mekanizmasıdır. Göndericinin, alıcıdan onay (ACK) almadan önce iletebileceği veri miktarını belirler. Pencere boyutu, alıcının alım tamponundaki boş alan miktarını gösterir.

TCP penceresinin kullanım amaçları:

  • Tampon taşmasını önleme: Alıcı, göndericiye mevcut alım tampon boyutunu bildirir, böylece gönderilen veri miktarını sınırlar.
  • Akış kontrolü: Pencere boyutunun dinamik değişimi, ağ yüküne ve alıcının performansına göre veri iletim hızını ayarlamaya olanak tanır.

Çalışma mekanizması:

  1. Alıcı, göndericiye alım penceresi boyutunu (Window Size) içeren bir segment gönderir.
  2. Gönderici, belirtilen pencere boyutunu aşmayan veri gönderebilir.
  3. Veri alındıkça, alıcı boş alanın azaldığını yansıtarak pencere boyutunu küçültür.
  4. Alıcı, verilerin alındığını onaylayan ACK segmentleri gönderir ve güncel pencere boyutunu içerir.
  5. ACK alındığında, gönderici güncellenmiş pencere boyutuna göre bir sonraki veri bölümünü gönderebilir.

Dinamik pencere boyutu değişimi, bant genişliğini optimize etmeye ve tampon taşmasından kaynaklanan paket kayıplarını önlemeye olanak tanır.

Örnek:

Alıcı, 65535 byte boyutunda bir pencere bildirir. Gönderici, 65535 byte'a kadar veri gönderebilir. 10000 byte alındıktan sonra, alıcı yeni pencere boyutunu 55535 byte olarak bildirir.

// Basit örnek (gerçek kod değil, sadece prensip gösterimi)
struct tcp_header {
    // ... diğer alanlar
    uint16_t window_size; // Alım penceresi boyutu byte cinsinden
    // ...
};