Forum
Lan tarafında bilgisayarlarım var. Proxy hizmetini DMZ bölgesindeki Centos Linux üzerindeki Squid Proxy den veriyorum.
Squid ile bandwidth management yaptım, delay_pools kullanarak.
Lan daki bir bilgisayarı 15Mbitlik metroethernetimin olduğu yapıda 5 Mbit/sn ile sınırlandırdım. Testlerimi sadece bu bilgisayar networkteyken yaptım ve sonuç aldım.
http downloadları 5Mbit/sn e çok yakın değerlerde yapıyor bunu client da gördüm.
Yalnız bandwidth management konusunu çok iyi bilmediğimden aklıma şu geldi, 5Mbit/sn ile sınırlandırdığım client bu değerde download yaparken, proxy server 15 Mbit/sn nin tamamını kullanıp download yapıyorsa yine sıkıntı var demektir. Proxy server Clienta sadece 5Mbit/sn lik data gönderip kendisi 15Mbit i tamamıyla sömürür mü diye Firewalldan takip ettim, hakikaten Squid proxy dışardan 5Mbit/sn ile download ediyor.
Bu şekilde çalışıyor olması muhteşem birşey. Teknik olarak anlamak istiyorum. Aydınlatırsanız hakikaten çok sevineceğim.
Sorum şu: Squid dış taraftan 5Mbit/sn download u nasıl beceriyor bunu çözemedim. TCP header içinde bununla ilgili bir bit değeri mi var ki proxy ile internet üzerindeki karşı sunucu anlaşıp bu hızda alışveriş yapıyorlar bunu anlayamadım, teknik izahını yapabilecek bir arkadaş var mı acaba?
Saygılarımla
Merhaba,
Hız sınırlama normalde ağdaki paketlerin/framelerin düşürülmesi veya geciktirilmesi gibi işlemlerle yapılır. Yani uygulama katmanından daha aşağıda gerçekleştirilir. GNU/Linux sistemlerdeki "tc" komutunu deneyip ağı izleyerek bu konuda ufak bir lab ortamı kurarak gözlemleyebilir, fikir edinebilirsiniz.
Squid üzerinde ise olay neredeyse tamamen farklı. Squid tamamen uygulama katmanında hız sınırlaması yapıyor. Bunu da ne client, ne de karşıdaki hedef sunucu biliyor. İstemci(sizin durumunuzda http downloader) için bir bandwidth bucket oluşturuyor. Bu bucket üzerinde aslında kullanabileceği bir depo mevcut. Eğer o anki sınırına ulaştıysa, bucket tekrar dolana kadar, Squid bir anda HTTP payloadını yazmayı durduruyor. Bucket tekrar dolunca, yani depoda benzin olunca göndermeye devam ediyor. Bu şekilde hız sınırlaması sağlanıyor.
Daha kapsamlı bir bilgi için kendi dokümantasyonunda ilgili sayfa: https://wiki.squid-cache.org/Features/ClientBandwidthLimit
İyi çalışmalar