|
Denys,
O
Jorge nao esta falando de fragmentacao no IP e sim no nivel "tcp" (sim, concordo
que nao � fragmentacao, o termo fica meio "esquisito", mas o conceito da para
entender).
O
segmento TCP que sai de um lado, via um "write" nao necessariamente � lido em um
unico read do outro lado (falando de end-point para
end-point).
Em
aplicacoes que tomem um certo cuidado, isto nao deve dar
xabu.
[],
<O_O>
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/
|