De onde vem a latência da rede ?

by

Hilton Garcia Fernandes

No texto Latência e largura de banda [1], neste blog Tecnologias sem Fio [2], foi discutido o modelo linear

no qual a latência α é um custo constante em tempo da transmissão de n bytes. O fator β multiplicado pelo número de bytes, é associado à máxima banda disponível na rede. Isto é: 1/β é a banda máxima disponível.

Entendidos os conceitos no modelo linear, falta tentar entender o que causa os custos.

A latência pode ser associada a vários fatores

  • em uma rede cabeada do tipo Ethernet [3], é necessário evitar colisões [4]. Ou seja: dois pacotes serem enviados ao mesmo tempo na mesma rede. Há um algoritmo chamado CSMA/CD [5], que permite detectar colisões.
    Seu custo é aproximadamente fixo para um único pacote;
  • em uma rede sem fio do tipo Wi-Fi [6], há um problema semelhante. Neste caso, devido a características do meio físico das ondas eletromagnéticas, o algoritmo é chamado de CSMA/CA [7], e busca evitar colisões (ou collision avoidance), em vez de detectá-las.
    Aqui, o custo também é relativamente fixo para um único pacote;
  • outro problema, a cada dia mais relevante no mundo de internets [8], ou redes interconectadas — e da Internet [9], ou grande rede mundial — é a transferência entre redes, ou roteamento [10]. Neste caso, os pacotes de informação são reescritos, para levar em conta a entrada em outras rede. E isto tem um custo, de novo a cada pacote;
  • ainda há um outro componente dos custos fixos: o chamado encapsulamento e desencapsulamento de pacotes de dados — tanto do ponto de vista teórico da arquitetura OSI [11], ou daquele em geral implementado, a arquitetura TCP/IP [12].
    Em um caso ou outro, a rede é dividida em diversos níveis (ou camadas), o que permite, por exemplo, a independência de tecnologias — redes usando diferentes suportes físicos conseguem comunicar entre si: computadores ligados em redes 3G [13] podem se falar com outros em redes DSL [14]
    O custo de de transferir pacotes entre diferentes camadas da rede também ocorre pacote a pacote.
  • fragmentação de pacotes [15]: pacotes muito grandes podem ter que ser quebrados em pedaços menores, se forem maiores que o tamanho máximo de pacotes naquele segmento de rede, o MTU [16].

Todos estes custos ocorrem pacote a pacote. Sendo assim, se uma mensagem for suficientemente longa para ser quebrada em vários pacotes na rede, sofrerá várias vezes as mesmas negociações de colisão, de roteamento etc. ?

De fato, isto ocorrerá. Mas há efeitos que minoram este poder multiplicativo:

  • aquisição do meio: quando um computador começa a transmitir pela rede, mantém durante algum tempo o direito de transmitir. Isto está incorporado aos algoritmos de tratamento de colisões justamente para minimizar os custos de seguidas negociações;
  • pipelining [17], ou efeito “linha de montagem”: em uma linha de montagem [18], o fato de haver várias unidades trabalhando em paralelo em diferentes partes de um bem a ser montado garante que o intervalo entre o término de diferentes produtos seja menor do que o tempo total de produção de um produto.
    Um velho professor explicava pipelines dizendo que o tempo total para produzir um Volkswagen Sedan (o popular fusca) era de 48 horas. Contudo, o tempo entre um Sedan e outro era de apenas 40 minutos.
    No caso de uma transmissão de rede, há pelo menos dois níveis de paralelismo: a CPU, que processa o encapsulamento dos pacotes e a placa de rede, que faz as negociações de nível mais baixo, necessárias para encaminhar a mensagem pela rede, fazendo negociações CSMA/CA, por exemplo.

Em próximas postagens em Tecnologias sem Fio serão apresentados mais detalhes da estimativa dos importantes parâmetros latência e largura de banda, bem como parâmetros complementares — que podem melhorar a compreensão das redes.

Referências

[1] Latência e largura de banda
https://tecnologiassemfio.wordpress.com/2010/07/07/latencia-e-largura-de-banda/
Visitado em 16/07/2010

[2] Tecnologias sem Fio
https://tecnologiassemfio.wordpress.com/
Visitado em 16/07/2010

[3] Ethernet
https://secure.wikimedia.org/wikipedia/pt/wiki/Ethernet
Visitado em 16/07/2010

[4] Colision domain
https://secure.wikimedia.org/wikipedia/en/wiki/Collision_domain
Visitado em 16/07/2010

[5] CSMA/CD
https://secure.wikimedia.org/wikipedia/en/wiki/CSMA/CD
Visitado em 16/07/2010

[6] Wi-Fi
https://secure.wikimedia.org/wikipedia/pt/wiki/Wi-fi
Visitado em 16/07/2010

[7] CSMA/CA
https://secure.wikimedia.org/wikipedia/en/wiki/CSMA/CA
Visitado em 16/07/2010

[8] Internetworking
https://secure.wikimedia.org/wikipedia/en/wiki/Internetworking
Visitado em 16/07/2010

[9] Internet
https://secure.wikimedia.org/wikipedia/en/wiki/Internet
Visitado em 16/07/2010

[10] Roteamento
https://secure.wikimedia.org/wikipedia/pt/wiki/Roteamento
Visitado em 16/07/2010

[11] OSI model
https://secure.wikimedia.org/wikipedia/en/wiki/OSI_model

Visitado em 16/07/2010

[12] TCP/IP model
https://secure.wikimedia.org/wikipedia/en/wiki/TCP/IP_model
Visitado em 16/07/2010

[13] 3G
https://secure.wikimedia.org/wikipedia/pt/wiki/3G
Visitado em 16/07/2010

[14] DSL
https://secure.wikimedia.org/wikipedia/pt/wiki/
Visitado em 16/07/2010

[15] IP fragmentation
https://secure.wikimedia.org/wikipedia/en/wiki/IP_fragmentation
Visitado em 16/07/2010

[16] Maximum transfer unit
https://secure.wikimedia.org/wikipedia/en/wiki/Maximum_transmission_unit
Visitado em 16/07/2010

[17] Pipelining
https://secure.wikimedia.org/wikipedia/en/wiki/Pipelining
Visitado em 16/07/2010

[18] Assembly line
https://secure.wikimedia.org/wikipedia/en/wiki/Assembly_line
Visitado em 16/07/2010

Licença Creative Commons
Esta obra foi licenciada com uma Licença Creative Commons – Atribuição – Partilha nos Mesmos Termos 3.0 Não Adaptada.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s


%d blogueiros gostam disto: