TCP / UDP sağlama toplamı nasıl çalışıyor?


2

Bazı UDP paketleri oluşturmak için ham soketi kullandım ve sonra onları bir UDP sunucusuna gönderdim

Yanlış bir UDP sağlama toplamı numarası koyduğumda UDP sunucusunun kabul etmediğini, ancak sağlama toplamı 0 değerini koyarsam UDP sunucusunun kabul ettiğini?

Neden?

Ayrıca, bir pheonomenum dikkatini çekti: sağlama toplamı boşaltma Makinemi kontrol ettim:

[root@kit temp]# ethtool --show-offload  eth0
Offload parameters for eth0:
rx-checksumming: on
tx-checksumming: on
scatter-gather: on
tcp-segmentation-offload: off
udp-fragmentation-offload: off
generic-segmentation-offload: on
generic-receive-offload: on
large-receive-offload: off
rx-vlan-offload: on
tx-vlan-offload: on
ntuple-filters: off
receive-hashing: on

Makinemde checksum boşaltma var gibi görünüyor. TCP sağlama toplamı değerini rastgele ayarlarsam, sağlama toplamı boşaltması etkinse NIC bunu doğru bir değerle değiştirebilir mi?

Son olarak, paketler aktarım sırasında örneğin modifiye edilebilir, örneğin TTL, NAT'ın kaynak IP adreslerini de değiştirebileceği atlama sayısında azalır, daha sonra sağlama toplamı eskimiş olur, bu durumda, sağlama toplamı nasıl çalışır? Yöneltici sağlama toplamı buna göre değişecek mi? Veya hedef makine bunları akıllıca tespit edip sağlama toplamını buna göre hesaplayabilir mi?

Yanıtlar:


3

UDP sağlama toplamı IPv4 için isteğe bağlıdır. Sağlama toplamı 0 olarak ayarlamak, kullanılmadığını gösterir. Ayrıntılar için Wikipedia makalesine bakın.

TCP, UDP ve IP sağlama toplamı hesaplaması NIC'ye yüklenebilir. NIC, donanımdaki sağlama toplamı hesaplar. Bu yazılımda yapmaktan çok daha hızlı. Yine Vikipedi hepsini biliyor .

Sağlama toplamı, TTL'yi düşürdükten veya paketi değiştirdikten sonra (paketi güncelleyen tüm protokoller için) yönlendirici tarafından yeniden hesaplanır. Bu, yönlendiricide yapılmalıdır. Hedef makine geçersiz sağlama toplamı olan bir paket kullanamadı ve bir şekilde kaynağa başladığında doğru olduğunu belirledi. Hedef, yalnızca geçersiz bir sağlama toplamı olan paketleri reddedebilir.


1
"UDP sağlama aksine, TCP sağlama opsiyonel asla (Bölüm 4.1.3.4 bakınız), gönderen oluşturmak zorundadır ve alıcı kontrol GEREKİR." - alıntı den freesoft.org/CIE/RFC/1122/93.htm
Lorenzo Von Matterhorn

yani 1 UDP sağlama toplamı kaldırılamaz veya genellikle boşaltılmıyor mu demek istiyorsunuz? 2 yönlendirici UDP ve TCP sağlama toplamını değiştirebilir mi? 3 TCP sağlama toplamı değerini rastgele ayarlarsam, sağlama toplamı boşaltması etkinse NIC bunu doğru bir değerle değiştirebilir mi?
user138126

1
(1) ve (2) için değiştirilmiş cevaba bakınız. (3) Bilmiyorum. Her zaman IP yığınının benim için bununla ilgilenmesine izin verdim.
Wayne Johnston
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.