Kullanıcı ve sunucu arasındaki veri akışını kontrol etmek için TCP Akış Kontrolü adlı bir protokol oluşturuldu.
İşlemlerin ciddi bir sorunla karşılaşmadan devam edebilmesi için veri göndermek ve almak için belirli bir bant genişliğinin mevcut olmasını sağlar.
TCP protokolü, bunu gerçekleştirmek için kayan pencere protokolü olarak bilinen bir yöntemi kullanır.
Bu bölümde, nasıl çalıştığı ve en önemlisi kayan pencere protokolü dahil olmak üzere TCP akış kontrolüne derinlemesine bakacağız.
TCP Akış Kontrolü nedir?
TCP protokolü, öngörülemeyen bir ağ üzerinden güvenilir bir iletişim kanalının kurulabilmesini sağlar.
Veri paketleri bir düğümden diğerine gönderilirken kaybolabilir, sıra dışı gelebilir, ağda yedeklenebilir veya alıcı düğümde aşırı yüklenebilir.
Ancak, bir uygulama geliştirirken, genellikle bu karmaşıklıkla uğraşmak zorunda değiliz; bunun yerine, sadece bir sokete bazı veriler göndeririz ve TCP, paketlerin alıcı düğüme başarıyla teslim edilmesini sağlar..
Akış Kontrolü, TCP'nin sunduğu önemli bir ek özelliktir.
Akış kontrolünün kullanılması yoluyla, TCP esasen göndericinin alıcıya aynı anda çok fazla paket göndermemesini sağlayacaktır.
Transfer Kontrol Protokolü – Akış Kontrolü nasıl çalışır?
Bu genellikle verileri bir ağ üzerinden iletmemiz gerektiğinde ortaya çıkar.
Gönderici uygulama bir sokete veri gönderir, taşıma katmanı (bu durumda TCP) bu verileri bir segmentte paketler ve ağ katmanı (örneğin IP) bu paketi bir yolla alıcı düğüme iletir.
Ağ katmanı, bu verileri konuşmanın alıcı ucundaki TCP'ye iletecek ve TCP, bunu, verilen verilerin aynı bir kopyası olarak alıcı uygulamaya sunacaktır.
TCP, paketleri düzensiz teslim etmeyecek ve bir bayt akışı boşluğu algılaması durumunda yeniden iletimi bekleyecektir.
Yakınlaştırırsak göreceğimiz şey bu.
TCP üzerindeki hem gönderme hem de alma arabellekleri, sırasıyla gönderilmesi ve alınması gereken verileri tutmak için kullanılır.
Alma arabelleğinden gelen veriler, hazırlandığında uygulama tarafından okunacaktır.
Alıcının alma arabelleği zaten doluyken ek paketler göndermediğimizden emin olmak akış kontrolünün ana amacıdır, çünkü bunu yapmak alıcıyı işleyemeyeceği ek paketleri bırakmaya zorlayacaktır.
Alıcı, TCP'nin aktarabileceği veri miktarını sınırlamak için Alma Penceresini veya alma arabelleğindeki kullanılabilir alanı duyurur.
Sürgülü Pencere Protokolü
TCP'deki kayan pencere protokolü, en yaygın kullanılan akış kontrol yöntemlerinden biridir. Değişken boyutlu, bayt yönelimli bir prosedürdür.
Bu yaklaşımda, gönderici ve alıcı bağlanır bağlanmaz alıcı, göndericiye alıcı penceresine gönderir.
Alıcının mevcut arabelleğinin boyutu, alıcı penceresi olarak adlandırılır.
Onay olmadan daha fazla gönderilebilecek veri miktarı artık mevcut alıcı penceresine dayalı olarak TCP tarafından hesaplanmaktadır.
Ancak TCP, alıcı pencere boyutu 0 ise veri aktarımını durdurur ve artmasını bekler.
Alıcı penceresinin boyutu, TCP çerçevesinin bir bileşenidir.
Pencerenin maksimum boyutu 65,535 bayttır çünkü pencere boyutu 16 bittir.
Pencerenin boyutları alıcı tarafından seçilir. Her bir alındı mesajı ile alıcı, halihazırda mevcut olan alıcı penceresinin boyutunu iletir.
Sürgülü Pencere Protokolü İşlemi
Kayan pencere protokolü tekniğini kullanırken, gönderici ve alıcı bağlandığında iki arabellek kurulur.
Bu iki arabellek iki gruba ayrılır: gönderene ait olan gönderme penceresi ve alıcıya ait olan alıcı pencere.
Alıcı pencere, gönderici alıcıya veri ilettiğinde kalan alıcı arabellek alanını geri verir.
Sonuç olarak, gönderici, alıcı arabelleğe sığabilecek veri miktarıyla sınırlıdır.
Yukarıdaki örnekteki verici pencere, verileri alıcı pencereye iletir.
Verileri aldıktan sonra, alıcı pencere bir alındı bilgisi gönderir ve ardından verici pencere yeni bir veri çerçevesi iletir.
Ancak bu kez, alıcı pencere, aldığı alındı bildirimine ek olarak, kullanılabilir belleğin dolduğunu belirten bir mesaj gönderir.
İletim penceresi, alıcı pencereden alanın boşaltıldığına dair onay alana kadar veri iletimini duraklatır ve bu noktada veri iletimine devam edebilir.
Sonuç
Sonuç olarak, veri bağlantı katmanı ve taşıma katmanı, akış kontrolü sorunlarının ele alınmasından sorumludur.
Akış kontrol mekanizmasının temel amacı, alıcının daha hızlı ileten göndericiden gelen verilerle aşırı yüklenmesini durdurmaktır.
Gönderici tarafından aktarılan veriler, güçlü bir makine sayesinde hatasız ve daha hızlı gönderilse bile, daha yavaş olan tarafın alıcısının daha hızlı veri hızını kaldıramaması ve bu nedenle bir miktar veri kaybetmesi olasıdır.
Yorum bırak