Lista de Discuss�o Rede Wan - http://www.networkdesigners.com.br

 
    Não é exatamente assim. A fragmentação dos datagramas acontece por que ele é maior que o MTU de uma rede que ele tem que passar. Então o roteador quebra ele em pedaços copiando grande parte do header para todos os fragmentos, que serão pacotes IP menores, com o header quase igual, com a diferenç no campo FLAGS que é setado alguns bits, o campo OFFSET  DE FRGAMENTO, usado para saber a posição daquele dado dentro do pacote IP original que foi fragmentado.
    Um pacote pequeno não é um pacote fragmentado. Existe um MTU mínino permitido, sendo que dessa forma existirão datagramas que nunca serão fragmentados, como datagramas de controle e etc. Originalmente, quem remonta esses datagramas fragmentados é o host destino. Com o nagle, segundo me consta (essa parte eu não tenho total certeza), um roteador no caminho, que vai jogar para uma rede com MTU maior que o que está chegando, pega todos os pacotes que foram fragmentados (só os que foram fragmentados) e remonta-os antes de repassar para a próxima rede, afim de melhorar a performance, o que exige um roteador bem robusto. Porém, hoje em dia, acredito que o mais comun seja o path MTU discovery, que faz com que as duas pontas que conversam, descubram o MTU minimo usado no caminho e utilizem este para melhorar a performance. Porque?
    Porque quando o destino começa a receber os fragmentos ele inicia um contador, e se esse contador esgota antes de chegar todos os fragmentos, ele infelizmente descarta o pacote que está sendo remontado inteirinho (mesmo que ele já tenha recebido grande parte deste), e aí o grande problema da fragmentação que causa impacto na performance. A remontagem dos pacotes também geram uma perda significativa de performance. Essa é a motivação na procura de algoritimos para cuidar das fragmentações, de onde vieram o Nagle e o path MTU discovery.
 

"Silveira, Jorge" wrote:

Lista de Discussão Rede Wan - http://www.networkdesigners.com.brJulio,     Não sei se te entendi. O que quis dizer é que, como o exemplo:     Possuo, por exemplo, um pacote de "keep-alive" de 10 bytes e este não pode ser segmentado. Se eu habilitar o nagle, o equipamento armazena os dados até o tamanho máximo da MTU, para melhor aproveitamento da rede!!??? Agora, imagine que no buffer já está armazenado 1495bytes e o buffer recebe o keep alive ==>1495+5=1500bytes(1º pacote enviado) e depois, os outros 5bytes do keepalive serão armazenados no buffer para a próxima transmissão. No outro end-point, a aplicação recebe o keep-alive fragmentado e minha aplicação está programada para discartar keep-alives fragmentados. Dependendo dos parâmetros da programação, a aplicação poderá "derrubar" a conexão!! Espero ter sido claro, agora. Se vi isto acontecer, inclusive usando analisador.

--
--------------------------------------------------------------
Denys Sene dos Santos - [EMAIL PROTECTED]
Diretor Técnico - System and Network Administrator
Onlinet - Afiliado do Universo Online - O Melhor da Internet
http://www.onlinet.com.br/
 


To unsubscribe, write to [EMAIL PROTECTED]

Responder a