TCP'de Akış Kontrolü ile Tıkanıklık Kontrolü arasındaki fark nedir?


85

TCP'de akış denetimi ile tıkanıklık denetimi arasındaki fark nedir?

Bu soru iki bölüme ayrılabilir:

  1. Akış ve tıkanıklık kontrolünün genel amacı nedir?
  2. Görev nasıl yapılır?

Wikipedia'ya göre , TCP akış kontrolü bir ACK mesajında ​​bildirilen pencere boyutuna dayanır. Tıkanıklık kontrolü ayrıca alındı ​​mesajlarına da dayanır. İki hedef arasındaki farkın ne olduğunu ve nasıl çalıştıklarını bilmek istiyorum.


47
Ev ödevi sorusu değil. Daha çok röportaj hazırlık sorusu. Bununla ilgili "konu dışı" nedir? @EJP
GM Lucid

Yanıtlar:


127

Bölüm 1'e gelince, süper genel bakış:

Akış kontrolü alıcı taraf tarafından kontrol edilir. Gönderenin yalnızca alıcının işleyebileceğini göndermesini sağlar. Hızlı fiber bağlantısı olan birinin çevirmeli ağ veya benzer bir şeyle birine gönderdiği bir durumu düşünün. Gönderen, paketleri çok hızlı bir şekilde gönderme yeteneğine sahip olacaktı, ancak bu çevirmeli bağlantıdaki alıcı için bir işe yaramayacaktı, bu nedenle gönderen tarafın gönderebileceklerini kısmak için bir yola ihtiyaçları olacaktı. Akış kontrolü, bu iletişimin sorunsuz ilerlemesini sağlamak için mevcut mekanizmalarla ilgilenir.

Tıkanıklık kontrolü, bir ağdaki herkesin herhangi bir zamanda ağ kaynaklarına "adil" bir miktarda erişime sahip olmasını sağlama yöntemidir. Karma ağ ortamında, herkesin aynı genel performans düzeyini üstlenebilmesi gerekir. Bunu anlamaya yardımcı olacak yaygın bir senaryo, bir ofis LAN'ıdır. Bir ofiste LAN içinde işlerini yapan birkaç LAN segmentiniz var, ancak daha sonra hepsinin kurucu LAN segmentlerinden daha yavaş bir WAN bağlantısı üzerinden dışarı çıkması gerekebilir. LAN içinde, sonuçta 5mb WAN bağlantısından çıkan 100mb bağlantılara sahip resim. Daha büyük ağda sorun olmadığından emin olmak için orada bir tür tıkanıklık kontrolünün olması gerekir.

2. bölüme gelince:

Bu bir mülakat-hazırlık sorusuysa, yukarıda da söylediğin gibi, genel olarak TCP / IP üzerinde okumak için biraz zaman ayırmayı düşünürdüm. Wikipedia kullanmayın. RTFM! Bu ÇOK zaman ayırmaya değer. Bunun modern internetin çoğunu tutan en önemli protokol olduğunu iddia edebilirsiniz.

Akış Kontrolü hakkında okunacak şeyler: dur ve bekle, kayan pencere, çerçeveleri DURAKLAT.

Tıkanıklık Kontrolü için okunacak şeyler: QoS (Hizmet Kalitesi), yeniden iletim politikaları, pencereleme politikaları.

Bunun ötesinde, belirli bir satıcı uygulamalarını arayabilirsiniz (Cisco, vb.)


3
Cevap İyi ama en az bir hata var: "PAUSE çerçeveleri" olan değil Tıkanıklık Kontrolü kullanılan, onlar Akış Kontrolü bir mekanizma vardır.
Angel

1
Kesinlikle haklısın. Yanlış paragrafa eklendi, şimdi düzenleniyor.
JP Doherty

25

Akış Kontrolü: Gönderen, alıcı ucunda barındırılabilecek yeterli veri gönderecektir.

Tıkanıklık Kontrolü: Gönderen, yönlendiricinin arabelleğinin (Kuyruk) taşmasını önlemek için gönderilen paketlerin miktarını azaltacaktır.


22

Akış kontrolü:

  • Gönderenin alıcıyı aşırı yüklememesini sağlar.
  • Bu, tıkanıklık kontrolünün aksine yerel bir fenomendir.
  • Genellikle gönderen tarafından başlatılır.

Tıkanıklık kontrolü:

  • Ağın paketlerin yükünü kaldırabilmesini sağlar.
  • Bu küresel bir fenomendir ve bu ağa bağlı her ana bilgisayarı etkiler.
  • Yönlendirici tarafından başlatılır.

5

Akış kontrolü , göndericinin ağa ne kadar veri enjekte ettiğini ayarlamak için esas olarak alıcı tarafında yapılır ; Tıkanıklık kontrolü , ilgili duruma gönderilen verilerin hacmini ayarlamak için ACK paketlerinin zamanlamasıyla ağdaki tıkanıklığı algılamaya çalışarak , esas olarak gönderici tarafında yapılır .


5

Tıkanıklık kontrolü küresel bir sorundur - alt ağdaki her yönlendiriciyi ve ana bilgisayarı içerir

Noktadan noktaya kapsamlı olan akış kontrolü, yalnızca gönderen ve alıcıyı içerir.


2

Tıkanıklık kontrolü : Yönlendiricinin arabelleğinin taşmasını önlemeye ek olarak, diğer iki önemli faktörle de ilgilenir.

  • Adillik : Terminoloji çok daha karmaşık olmasına rağmen, ağa bağlı hiçbir ana bilgisayar için açlık yaşanmamalıdır.
  • Verimlilik : Bağlantılar, tıkanıklığa neden olmayacak şekilde maksimum kapasitelerinde kullanılmalıdır.

2

Akış Kontrolü alıcı tarafında yapılır. Gönderici, alıcının arabellek boyutundan daha büyük paketler gönderirse, alıcının arabelleğinde taşma meydana gelir. Alıcı tarafında bu taşmayı önlemek için, gönderici tarafında kullanılan bir pencereleme tekniği vardır. Gönderici tarafında tıkanıklık kontrolü yapılır. Bu küresel bir fenomendir. Bu yönlendiricide olur. Birçok gönderici aynı bağlantı üzerinden daha fazla paket göndermeye çalıştığında yönlendiricinin arabelleği taşar.


Bu, soruyu cevaplamak için dürüst bir girişim gibi görünüyor, ancak şu anda cevabınız biraz kafa karıştırıcı. Aynı zamanda oldukça kısadır. Lütfen akış kontrolüne bir veya iki tam paragraf ve tıkanıklık kontrolü için bir veya iki tam paragraf harcamayı, daha fazla virgül ve daha az kelime ihmaliyle birlikte düşünün.
Julian

0

Akış kontrolü:

  1. Gönderici tamponu dolduğunda, verilerin bırakılmaması için kaynağın verileri göndermesini engelleriz.
  2. Bu durumda alıcı tamponu dolu.
  3. Sürgülü pencere protokolü ile kolaylıkla sağlanabilir.

Tıkanıklık Kontrolü

  1. Veriyi kaynaktan aktarmaya başladığımızda ağ yardımıyla hedefe ulaşır. Kaynağı engelleyen tıkanıklık kontrolü, böylece veriler ağdaki yönlendirici tarafından bırakılmamalıdır.

  2. Bu sorun, yönlendiricinin kuyruğu ile ilgilidir

  3. Yönlendirici, ağına bağlı farklı kaynaktan farklı paketler aldığı için başarılması daha karmaşıktır.


-4

Akış kontrolü: ağın ne kadar emebileceğini, tıkanıklık penceresini belirtir; Tıkanıklık kontrolü: alıcının, reklamı yapılan pencereyi ne kadar emebileceğini belirtir; Gönderenin max_window = min (reklamı yapılan pencere, tıkanıklık penceresi);

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.