TCP paketinin minimum boyutu nedir


11

Burada bir yayın:

http://blogs.adobe.com/dreamweaver/2011/02/optimal-css-tiled-background-image-size.html

"Tarayıcıların yapabileceği en küçük indirme 1K bayttır."

Bu, ağdaki minimum paket boyutundan mı kaynaklanıyor? Değilse, bunun nedeni nedir (gerçekten doğruysa)?


2
Karışıklığı önlemek istiyorsanız standart koşullara bağlı kalın. "Paket" IP düzeyinde bir terimdir. "IP paketi" ne de "TCP paketi" ne de "Ethernet paketi" diyorsunuz.
vtest

Alıntıladığınız cümle ("Tarayıcıların yapabileceği en küçük indirme 1K bayttır.") Kesinlikle doğru değildir - minimum indirme boyutu yoktur; Orada ise ve bir minimum TCP / IP paket boyutu (@ DMA57361 tarafından açıklandığı gibi), o 1 KB kesinlikle değildir.
Piskvor binadan ayrıldı

Yanıtlar:


20

Paket burada belirsiz bir terimdir, çünkü bazen iletiminiz için farklı unsurlara atıfta bulunmak yanlış kullanılır. Verilerinizin ne içine girdiğini görelim ve ne demek istediğimi göreceksiniz ve umarım istediğiniz cevabı alırsınız:


TCP / IP modelinde internet üzerinden 1 bayt veri 1 gönderdiğinizi varsayalım .

Veri uygulama seviyesi ve ihtiyaçlarına başlar bu sarılabilen ve böylece düşük düzeylerde başlıklarında sarılmış olması.

Birincisi, veriler 20 baytlık bir başlık ekleyen bir TCP Segmentine sarılır (minimum boyut şimdi 21 bayt).
Bu bizi nakliye seviyesine taşıyor.

Bu daha sonra 20 baytlık başka bir üstbilgi ekleyen bir IP Paketine sarılır (min boyut şimdi 41 bayt).
Şimdi internet seviyesindeyiz.
Bu kaydırmanın, yeni bir yönlendirici verilerinizi yeni bir alt ağa her yönlendirdiğinde değiştiğini unutmayın.

Bu, üstbilgi ve altbilgi boyutu kullanılan çerçevenin türüne bağlı olarak kullanılan ve kullanılan bağlantının türüne bağlı olarak değişen bir tür bağlantı çerçevesine sarılır .
Bu bağlantı seviyesinde.
Bu sarma, ünite iki varlık arasında iletilirse her seferinde değiştirilir.

Son olarak fiziksel iletimdir (örn. Bir kablodaki elektrik sinyalleri, radyo dalgaları, vb.).

İşte olanları görsel olarak açıklamak için Wikipedia TCP / IP model sayfasında bulunan bazı bilgilendirici görüntüler :


UDP / IP kullanarak veri kapsülleme


TCP / IP modelindeki katmanlar üzerinden bağlantı


1. Sanırım 0 bayt gönderebilirsiniz ... ama kontrol etmediniz. Aslında 1 bayta izin verilip verilmediğini kontrol etmedim, ama hey.


4

Bu yanlış, indirme için minimum boyut yok. Bunu web sunucunuzda küçük bir dosya oluşturarak ve dosyayı indirirken ağ trafiğini izlemek için wireshark kullanarak doğrulayabilirsiniz.

Standart bir ethernet paketinin minimum boyutu 64 bayttır.


3

Bunun karşısında, alıntı yaptığınız blog yazısı yanlış. HTTP için "minimum indirme boyutu" yoktur. (Ve minimum paket boyutları hakkındaki teoriniz de yanlıştır.)

Ancak, bunun bir gerçeği vardır. Ve indirdiğiniz dosyanın boyutu yeterince küçükse, HTTP yanıt mesajı (dosya ve HTTP yanıt başlıklarından oluşur) tek bir ağ paketine sığacaktır. Bu durumda, tarayıcının dosyayı yanıt göndermek için iki veya daha fazla paket almasından daha hızlı alması muhtemeldir.

(Yanıtta bir paket varken, bir paketin bırakılması ve yeniden gönderilmesi daha az olasıdır ve TCP / IP akış kontrol penceresinin paket onayı için ekstra gidiş-dönüş gecikmeleri eklememe olasılığı daha yüksektir. )

Gönderilen / alınan bir paketin (MTU) tipik maksimum boyutu ethernet için 1500 bayttır. IP ve TCP ek yüklerini ve tipik bir HTTP yanıt üstbilgisinin boyutunu hesaba kattığınızda, yanıtın ilk paketindeki dosya verileri için sizi ~ 1K bırakabilirsiniz. Bu yüzden blogcunun yorumunda gerçeğin grenidir.


Bu doğru olurdu - örneğin bir web sayfasını ve ilişkili kaynaklarını (resimler, JS, CSS) değil, yalnızca bir resmi indiriyor olsaydınız - bu durumda zaten birden çok kaynak için koruma ve boru hattı kullanıyorsunuz, yani TCP ek yük ve paket boyutu daha az önemlidir. Sen sağ (yalnızca bir resim indirme) bu özel durumda, ama ne sıklıkta oluyor? Blogger, her HTTP isteğinin kendi TCP bağlantısına ihtiyaç duyduğu 1999 yılında sıkışmış gibi görünüyor.
Piskvor

2

Düşündüğünden daha kötü.

Yavaş sayfa yüklemesi, tarayıcının 1x1 pikseli 800000 kez oluşturmada sorun yaşıyor olmasıdır (örneğin, 1000x800 olarak ayarlanmış bir tarayıcı penceresi için). Yıllar önce, belki de 1999'da, 16x16'yı döşeme için 'en küçük' x olarak en küçük olan bir makaleyi okudum. Tabii ki, oluşturma şimdi farklı olabilir.

Blog gönderisini okursanız, şikayet aslında yavaş sayfa yükleme ile ilgilidir. Yavaş indirme değil. İlginç bir tartışma olmasına rağmen paketlerle ilgisi yoktur.

Bu yüzden belki de soru yeniden ifade edilmelidir.


Bu durumda, blog gönderisini tamamen yanlış anlamış olabilirim - çekirdeğin bu cümlede olduğunu düşündüm: "Tarayıcıların yapabileceği en küçük indirme 1K bayttır [ve bu nedenle, resim boyutunuzu 1K olarak ayarlayın]" "... çünkü 1K bayt iletiyorsunuz, çünkü görüntünüz sadece 50 bayt olursa olsun" (bu açık bir saçmalıktır). Buradaki sorun "kullanıyor olabilir sizepiksel boyutları için hem" ve bayt sayısı açısından ve onları conflating. Açıklamanız mantıklı, ancak görüntünün bayt sayısı ile alakasız (blogun söylediklerinin aksine).
Piskvor binadan ayrıldı

Blog gönderisini yeniden okuduktan sonra, üçüncü paragraf tutarsız olduğu için ders dışı görünüyor.
mockman

Yorumunuzu tekrar okuduktan sonra ... Amaçlanan amacı açılış paragrafında ortaya çıkan sorunu ele almaktır. Ancak, yanlışlıkla bu sorunu paket boyutlarına atfeder ve yazının geri kalanını buna harcar. Cevabım yavaş sayfa yükleme nedenini açıkladı. Diğerlerinin de belirttiği gibi, paket özellikleri neden değildir.
mockman
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.