Sto cercando di capire un comportamento che sto vedendo nel contesto dell'invio di pacchetti UDP.Frammentazione IP UDP e MTU
Ho due piccoli programmi Java: uno che trasmette pacchetti UDP e l'altro che li riceve. Li sto eseguendo localmente sulla mia rete tra due computer collegati tramite un singolo switch.
L'impostazione MTU (riportata da/sbin/ifconfig) è 1500 su entrambi gli adattatori di rete.
- Se invio pacchetti con una dimensione < 1500, li ricevo. Previsto.
- Se invio pacchetti con 1500 < dimensioni < 24258 li ricevo. Previsto. Ho confermato via wireshark che il livello IP li sta frammentando.
- Se invio pacchetti con dimensione> 24258, vengono persi. Non previsto. Quando eseguo wireshark sul lato ricevente, non vedo nessuno di questi pacchetti.
Sono stato in grado di vedere un comportamento simile con ping -s.
ping -s 24258 hostA
opere, ma
ping -s 24259 hostA
fallisce.
Qualcuno capisce cosa può accadere o ha idee su cosa dovrei cercare?
Entrambi i computer eseguono CentOS 5 a 64 bit. Sto usando un JDK 1.6, ma non penso che sia un problema di programmazione, è un problema di rete o forse del sistema operativo.
Potrebbe essere meglio chiedere questo su serverfault.com. –
Cosa mostra wireshark sul lato di invio della connessione per i pacchetti con 'size> 24258'? –
@Kaleb Non sono un esperto di wirehark, ma l'acquisizione sul lato di invio sembra la stessa sia che la dimensione del pacchetto sia> o <24258. Vedo pacchetti IP frammentati, ma vedo solo i pacchetti UDP per piccoli pacchetti (ho un mix di pacchetti molto piccoli e molto grandi). I dati che sto inviando sono binari, quindi è difficile capire quale pacchetto IP appartiene al pacchetto UDP. Potrei provare a fare un test più semplice con dati più prevedibili e vedere cosa mostra wireshark. Potrei non arrivare a quello fino a domani però. @ire_and_curses, grazie non ero sicuro di quale serverfault racchiudesse esattamente. Potrei provare lì. – wolfcastle