Ağ tıkanıklığı - Network congestion

Ağ tıkanıklığı içinde veri ağı ve kuyruk kuramı azaltılmış olduğu hizmet kalitesi bir ağ düğümü veya bağlantı da işleyebilir daha fazla veri taşıyan oluşur. Tipik etkiler, sıraya girme gecikmesini , paket kaybını veya yeni bağlantıların engellenmesini içerir. Tıkanıklığın bir sonucu, sunulan yükte artan bir artışın , ağ veriminde yalnızca küçük bir artışa veya hatta bir azalmaya yol açmasıdır .

Tıkanıklıktan kaynaklanan paket kaybını telafi etmek için agresif yeniden iletimler kullanan ağ protokolleri , ilk yük normalde ağ tıkanıklığına neden olmayacak bir düzeye indirildikten sonra bile tıkanıklığı artırabilir. Bu tür ağlar, aynı yük seviyesi altında iki kararlı durum sergiler. Düşük iş hacmine sahip kararlı durum, konjestif çöküş olarak bilinir .

Ağlar, çöküşü önlemek için tıkanıklık kontrolü ve tıkanıklık önleme tekniklerini kullanır. Bunlar: üstel geri çekilme gibi protokollerde CSMA / CA içinde 802.11 ve benzeri CSMA / CD orijinal Ethernet , pencere azalma TCP ve adil kuyruk gibi cihazlarda yönlendiriciler ve ağa geçer . Tıkanıklığı ele alan diğer teknikler arasında, bazı paketleri diğerlerinden daha önce ileten öncelik şemaları ve ağ kaynaklarının, kabul kontrolünün kullanımı yoluyla belirli akışlara açık bir şekilde tahsis edilmesi yer alır .

Ağ kapasitesi

Yönlendirici işleme süresi ve bağlantı verimi dahil olmak üzere ağ kaynakları sınırlıdır . Kaynak çekişmesi , bir dizi yaygın durumda ağlarda meydana gelebilir. Bir kablosuz LAN kolaylıkla tek kişisel bilgisayar tarafından doldurulur. Hızlı bilgisayar ağlarında bile, omurga birkaç sunucu ve istemci PC tarafından kolayca tıkanabilir. Botnet'lerin hizmet reddi saldırıları , en büyük İnternet omurga ağ bağlantılarını bile doldurarak büyük ölçekli ağ tıkanıklığı oluşturur. Telefon ağlarında, bir toplu arama olayı , dijital telefon devrelerini bunaltabilir.

konjestif çöküş

Tıkanıklık çökmesi (veya tıkanıklık çökmesi), tıkanıklığın yararlı iletişimi engellediği veya sınırladığı durumdur. Tıkanıklık çökmesi genellikle, gelen trafiğin giden bant genişliğini aştığı ağdaki tıkanma noktalarında meydana gelir. Bir yerel alan ağı ile bir geniş alan ağı arasındaki bağlantı noktaları , ortak tıkanma noktalarıdır. Bir ağ bu durumda olduğunda, trafik talebinin yüksek olduğu, ancak çok az yararlı çıktının mevcut olduğu, paket gecikmesinin ve kaybının meydana geldiği ve hizmet kalitesinin son derece düşük olduğu kararlı bir duruma yerleşir .

Konjestif çöküş 1984 yılına kadar olası bir sorun olarak tanımlandı. İlk olarak Ekim 1986'da, NSFnet faz-I omurgasının 32 kbit/sn'lik kapasitesinden 40 bit/sn'ye üç büyüklük mertebesi düşürdüğü İnternet'in başlarında gözlemlendi. uç düğümler 1987 ve 1988 yılları arasında Van Jacobson ve Sally Floyd'un tıkanıklık kontrolünü uygulamaya başlayana kadar devam etti . Ara yönlendiriciler tarafından idare edilebilecekten daha fazla paket gönderildiğinde, ara yönlendiriciler, ağın uç noktalarının verileri yeniden iletmesini bekleyerek birçok paketi attı. bilgi. Ancak, erken TCP uygulamalarının yeniden iletim davranışı zayıftı. Bu paket kaybı meydana geldiğinde, uç noktalar, kaybolan bilgileri tekrarlayan ve gelen hızı ikiye katlayan ekstra paketler gönderdi.

tıkanıklık kontrolü

Tıkanıklık kontrolü, aşırı abonelikten kaynaklanan tıkanıklık çökmesini önlemek için bir telekomünikasyon ağına trafik girişini modüle eder. Bu tipik olarak paketlerin oranını azaltarak gerçekleştirilir. Tıkanıklık denetimi, göndericilerin üzerinde aşırı yük oluşturmasını engellerken , akış denetimi , göndericinin alıcıyı ezmesine engel olur .

tıkanıklık kontrolü teorisi

Tıkanıklık kontrolü teorisinin öncülüğünü , kendi oranlarını kontrol eden bireylerin ağ çapında optimal bir oran tahsisi elde etmek için nasıl etkileşime girebileceğini açıklamak için mikroekonomik teori ve dışbükey optimizasyon teorisini uygulayan Frank Kelly yaptı . Optimal oran tahsisi örnekleri, maksimum-min adil tahsisat ve Kelly'nin orantılı olarak adil tahsisat önerisidir, ancak diğerleri mümkündür.

Izin akış hızı olmak , bağlantının kapasite ve akış halinde 1 olmak kullandığı bağlantı aksi ve 0. Let , ve karşılık gelen vektörleri ve matris. Izin artan, katı şekilde içbükey işlev olarak adlandırılan, yardımcı , bu önlemlerin ne kadar bir oranda ileterek yararı, kullanıcı elde . Optimal oran tahsisi daha sonra tatmin eder

öyle ki

Çift Lagrange bu sorunun decouples arasında, bu nedenle her akış yalnızca dayalı kendi hızını, ayarlar o fiyata ağı tarafından sinyalini verdi. Her bağlantı kapasitesi sebebiyet veren bir sınırlama, dayattığı Lagrange çarpanı , . Bu çarpanların toplamı , akışın yanıt verdiği fiyattır.

Tıkanıklık kontrolü daha sonra dağıtılmış bir optimizasyon algoritması haline gelir. Birçok mevcut tıkanıklık kontrol algoritması, bu çerçevede, ya kayıp olasılığı ya da bağlantıdaki kuyruk gecikmesi olmak üzere modellenebilir . Büyük bir zayıflık, tüm akışlara aynı fiyatı ataması , kayan pencere akış kontrolü ise farklı akışların belirli bir bağlantıda farklı kayıp veya gecikme gözlemlemesine neden olan patlamaya neden olmasıdır .

Tıkanıklık kontrol algoritmalarının sınıflandırılması

Tıkanıklık kontrol algoritmalarını sınıflandırmanın yolları arasında şunlar yer alır:

  • Ağdan alınan geri bildirimin türü ve miktarına göre: Kayıp; gecikme; tek bit veya çok bit açık sinyaller
  • Artımlı konuşlandırılabilirlik ile: Yalnızca göndericinin değiştirilmesi gerekir; gönderici ve alıcının değiştirilmesi gerekiyor; sadece yönlendiricinin değiştirilmesi gerekiyor; gönderici, alıcı ve yönlendiricilerin değiştirilmesi gerekiyor.
  • Performans açısından: yüksek bant genişliği gecikmeli ürün ağları; kayıp bağlantılar; adalet; kısa akışlara avantaj; değişken oranlı bağlantılar
  • Adalet kriterine göre: Maks-min adaleti; orantılı olarak adil; kontrollü gecikme

Azaltma

Ağ tıkanıklığını önlemek veya bir ağ çökmesi ile başa çıkmak için mekanizmalar icat edilmiştir:

Doğru uç nokta davranışı, genellikle bırakılan bilgileri tekrarlamak, ancak tekrarlama oranını kademeli olarak yavaşlatmaktır. Tüm uç noktaların bunu yapması koşuluyla, tıkanıklık ortadan kalkar ve ağ normal davranışına devam eder. Yavaş başlatma gibi diğer stratejiler , tıkanıklık algılama başlamadan önce yeni bağlantıların yönlendiriciyi bunaltmamasını sağlar.

Yaygın yönlendirici tıkanıklığı önleme mekanizmaları, adil sıraya alma ve diğer zamanlama algoritmalarını ve tıkanıklık algılandığında paketlerin rastgele bırakıldığı rastgele erken algılamayı (RED) içerir. Bu, tıkanıklık çökmesi meydana gelmeden önce iletimi yavaşlatmak için uç noktaları proaktif olarak tetikler.

Bazı uçtan uca protokoller, sıkışık koşullar altında iyi davranacak şekilde tasarlanmıştır; TCP iyi bilinen bir örnektir. Tıkanıklığı ele alan ilk TCP uygulamaları 1984'te tanımlandı, ancak Van Jacobson'ın 1988'de Berkeley Standard Distribution UNIX'e (" BSD ") bir açık kaynak çözümünü dahil etmesi ilk olarak iyi bir davranış sağladı.

UDP tıkanıklığı kontrol etmez. UDP'nin üzerine inşa edilen protokoller, tıkanıklığı bağımsız olarak ele almalıdır. Sıkışıklıktan bağımsız olarak sabit bir hızda iletim yapan protokoller sorunlu olabilir. Birçok IP üzerinden Ses protokolü dahil olmak üzere gerçek zamanlı akış protokolleri bu özelliğe sahiptir. Bu nedenle, tıkanıklık durumunda paketlerin düşmesini önlemek için hizmet kalitesi gibi özel önlemler alınmalıdır.

Pratik ağ tıkanıklığı önleme

Yaygın olarak kullanılan TCP protokolü gibi bağlantı yönelimli protokoller , paket kaybını veya iletim hızlarını ayarlamak için kuyruk gecikmesini izler . Çeşitli ağ tıkanıklığı önleme süreçleri, farklı ödünleşimleri destekler.

TCP/IP tıkanıklığını önleme

TCP tıkanıklık kaçınma algoritması internette tıkanıklık kontrolü için birincil temelidir.

Eşzamanlı TCP akışlarında kuyruk düşüşleri yaşandığında , özellikle de arabellek şişmesi mevcut olduğunda sorunlar oluşur . Bu gecikmeli paket kaybı, TCP'nin otomatik tıkanıklıktan kaçınmasını engeller. Bu paket kaybını yaşayan tüm akışlar aynı anda bir TCP yeniden eğitmeye başlar - buna TCP global senkronizasyonu denir .

Aktif kuyruk yönetimi

Aktif kuyruk yönetimi (AQM), ağ paketlerinin bir ağ arabirim denetleyicisi (NIC) ile ilişkili bir iletim arabelleği içindeki yeniden sıralanması veya bırakılmasıdır . Bu görev ağ zamanlayıcı tarafından gerçekleştirilir .

Rastgele erken algılama

Çözümlerden biri , ağ ekipmanının çıkış kuyruğunda rastgele erken algılama (RED) kullanmaktır . Açık donanım ağ birden fazla çıkış sıra, bağlantı noktalarını ağırlıklı rastgele erken teşhis (WRED) kullanılabilir.

KIRMIZI, örneğin ortalama kuyruk uzunluğu bir eşikten fazla olduğunda (örneğin %50) bazı paketleri bırakarak TCP göndericisine ve alıcısına dolaylı olarak sinyal gönderir ve kuyruk daha fazla dolduğunda, örneğin %100'e kadar doğrusal veya kübik olarak daha fazla paketi siler .

Güçlü rastgele erken algılama

Sağlam rasgele erken tespiti (RRED) algoritması reddi servisi (DoS) saldırısı, özellikle de düşük oranlı reddi servisi (yerel durum yoğunluklarındaki) saldırılarına karşı TCP çıkışını arttırmak için önerilmiştir. Deneyler, saldırıların neden olduğu salınımlı TCP kuyruğu boyutu nedeniyle KIRMIZI benzeri algoritmaların LDoS saldırıları altında savunmasız olduğunu doğruladı.

Akış tabanlı WRED

Bazı ağ ekipmanı, her akışı takip edebilen ve ölçebilen ve böylece bazı hizmet kalitesi politikasına göre çok büyük bir bant genişliği akışını işaret edebilen bağlantı noktalarıyla donatılmıştır. Bir politika daha sonra bant genişliğini bazı kriterlere göre tüm akışlar arasında bölebilir.

Açık Tıkanıklık Bildirimi

Başka bir yaklaşım, Açık Tıkanıklık Bildirimi'ni (ECN) kullanmaktır. ECN, yalnızca iki ana bilgisayar onu kullanmak istediklerini bildirdiğinde kullanılır. Bu yöntemle, açık tıkanıklığı bildirmek için bir protokol biti kullanılır. Bu, RED/WRED algoritmaları tarafından paket kaybıyla işaret edilen dolaylı tıkanıklık bildiriminden daha iyidir, ancak her iki ana bilgisayar tarafından da destek gerektirir.

Bir yönlendirici, ECN uyumlu olarak işaretlenmiş bir paket aldığında ve yönlendirici tıkanıklık beklediğinde, gönderene tıkanıklık bildirerek ECN bayrağını ayarlar. Gönderici, iletim bant genişliğini azaltarak, örneğin TCP pencere boyutunu küçülterek veya başka yollarla gönderme hızını azaltarak yanıt vermelidir.

TCP pencere şekillendirme

Trafiği azaltarak tıkanıklıktan kaçınma verimli bir şekilde sağlanabilir. Bir uygulama büyük bir dosya, grafik veya web sayfası istediğinde, genellikle 32K ile 64K arasında bir pencerenin reklamını yapar . Bu, sunucunun tam bir veri penceresi göndermesine neden olur (dosyanın pencereden daha büyük olduğu varsayılırsa). Birçok uygulama aynı anda indirme talebinde bulunduğunda, bu veriler bir yukarı akış sağlayıcısında bir tıkanıklık noktası oluşturabilir. Pencere reklamını azaltarak, uzak sunucular daha az veri gönderir, böylece tıkanıklığı azaltır.

Geri ECN

Geriye dönük ECN (BECN), önerilen başka bir tıkanıklık bildirim mekanizmasıdır. IP ağları için temel bir ECN mekanizması uygulamak, tıkanıklık bildirimlerini IP düzeyinde tutmak ve ağ uç noktaları arasında herhangi bir anlaşma gerektirmemek için ICMP kaynak söndürme mesajlarını bir IP sinyalleme mekanizması olarak kullanır . Etkili tıkanıklık bildirimleri, uygun ayarlamalar için TCP ve UDP gibi taşıma katmanı protokollerine yayılabilir.

Konjestif çökmeden kaçınmanın yan etkileri

Radyo bağlantıları

Tıkanıklığın çökmesini önleyen protokoller genellikle veri kaybının tıkanıklıktan kaynaklandığını varsayar. Kablolu ağlarda iletim sırasındaki hatalar nadirdir. WiFi , 3G ve radyo katmanına sahip diğer ağlar, parazit nedeniyle veri kaybına karşı hassastır ve bazı durumlarda düşük verimle karşılaşabilir. Radyo tabanlı bir fiziksel katman üzerinden çalışan TCP bağlantıları , veri kaybını görür ve hatalı bir şekilde sıkışıklığın meydana geldiğine inanma eğilimindedir.

Kısa ömürlü bağlantılar

Yavaş başlatma protokolü, kısa bağlantılar için kötü performans gösteriyor. Eski web tarayıcıları birçok kısa ömürlü bağlantı oluşturdu ve her dosya için bağlantıyı açıp kapattı. Bu, çoğu bağlantıyı yavaş başlatma modunda tuttu. İlk performans düşük olabilir ve birçok bağlantı, gecikmeyi önemli ölçüde artırarak yavaş başlatma rejiminden asla çıkmaz. Bu sorunu önlemek için, modern tarayıcılar ya aynı anda birden çok bağlantı açar ya da belirli bir sunucudan istenen tüm dosyalar için bir bağlantıyı yeniden kullanır.

Giriş denetimi

Kabul kontrolü , yeni ağ bağlantıları kurmadan önce cihazların izin almasını gerektiren herhangi bir sistemdir. Yeni bağlantının tıkanıklık oluşturma riski varsa, izin reddedilebilir. Örnekler arasında eski kablolama üzerinden ev ağı için ITU-T G.hn standardındaki Çekişmesiz İletim Fırsatları (CFTXOP'ler), IP ağları için Kaynak Rezervasyon Protokolü ve Ethernet için Akış Rezervasyon Protokolü sayılabilir .

Ayrıca bakınız

Referanslar

  • John Evans; Clarence Filsfils (2007). Çok Hizmetli Ağlar için IP ve MPLS QoS Dağıtma: Teori ve Uygulama . Morgan Kaufmann. ISBN'si 0-12-370549-5.
  • Sally Floyd (Eylül 2000). Tıkanıklık Kontrol İlkeleri . RFC  2914 .
  • John Nagle (6 Ocak 1984). IP/TCP'de Tıkanıklık Kontrolü . RFC  896 .
  • Van Jacobson; Michael J. Karels (Kasım 1988). "Tıkanıklığın Önlenmesi ve Kontrolü" (PDF) . Alıntı günlüğü gerektirir |journal=( yardım )

Dış bağlantılar