LAN assembly 2 pacotes em 1 pacotes?

2

Eu tenho dois computadores A e B, existe uma conexão TCP entre eles. Eu uso o TCPdump para capturar os pacotes.

Noto que quando A envia muitos pacotes TCP para B, cada pacote IP tem 1514 bytes.

Em B, ele recebe pacotes IP de tamanho 2962. Depois, verifiquei o IPID. Por exemplo, se A enviar 4 pacotes TCP com IPID, 1000, 1001, 1002, 1003, cada um dos quais com 1514 bytes. Então, B recebe apenas 2 pacotes TCP com IPID 1000, 1002, cada um com 2962 bytes.

Isso significa que a LAN irá montar 2 pacotes IP em 1 pacotes IP? Como isso está acontecendo? Qual dispositivo faz a montagem?

    
por misteryes 19.06.2013 / 11:38

1 resposta

2

Existem duas respostas possíveis:

  • o mais provável é Large Receive Offload (também conhecido como Receive Aggregation ) onde a NIC ou o driver mesclar pacotes para que haja menos interrupções, menos DMA / cópias e menos overheads de SO
  • é muito menos provável que um dispositivo intermediário (firewall, IPS ou proxy) esteja fazendo proxy e suporte a quadros jumbo no último salto

A resposta é que os pacotes provavelmente estão sendo mesclados pelo seu NIC, isso acontece antes que os dados sejam passados pela pilha para que os quadros reais (wire) não sejam vistos pelo Wireshark.

Leia mais sobre a LRO aqui:

E Generic Receive Offload (GRO), que se estende a outros protocolos:

por 19.06.2013 / 12:58