De onde vem a latência da rede ?
Autor: Hilton Garcia Fernandes | Publicado: 2010-07-24T14:55:00-07:00

Hilton Garcia FernandesNo texto Latência e largura de banda [1], neste blog Tecnologias sem Fio [2], foi discutido o modelo linearno qual a latência &alpha; é um custo constante em tempo da transmissão de n bytes. O fator &beta; multiplicado pelo número de bytes, é associado à máxima banda disponível na rede. Isto é: 1/&beta; é 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 bandahttp://tecnologiassemfio.wordpress.com/2010/07/07/latencia-e-largura-de-banda/Visitado em 16/07/2010 [2] Tecnologias sem Fiohttp://tecnologiassemfio.wordpress.com/Visitado em 16/07/2010 [3] Ethernethttps://secure.wikimedia.org/wikipedia/pt/wiki/EthernetVisitado em 16/07/2010 [4] Colision domainhttps://secure.wikimedia.org/wikipedia/en/wiki/Collision_domainVisitado em 16/07/2010 [5] CSMA/CDhttps://secure.wikimedia.org/wikipedia/en/wiki/CSMA/CDVisitado em 16/07/2010 [6] Wi-Fihttps://secure.wikimedia.org/wikipedia/pt/wiki/Wi-fiVisitado em 16/07/2010 [7] CSMA/CAhttps://secure.wikimedia.org/wikipedia/en/wiki/CSMA/CAVisitado em 16/07/2010 [8] Internetworkinghttps://secure.wikimedia.org/wikipedia/en/wiki/InternetworkingVisitado em 16/07/2010 [9] Internethttps://secure.wikimedia.org/wikipedia/en/wiki/InternetVisitado em 16/07/2010 [10] Roteamentohttps://secure.wikimedia.org/wikipedia/pt/wiki/RoteamentoVisitado em 16/07/2010 [11] OSI modelhttps://secure.wikimedia.org/wikipedia/en/wiki/OSI_modelVisitado em 16/07/2010 [12] TCP/IP modelhttps://secure.wikimedia.org/wikipedia/en/wiki/TCP/IP_modelVisitado em 16/07/2010 [13] 3Ghttps://secure.wikimedia.org/wikipedia/pt/wiki/3GVisitado em 16/07/2010 [14] DSLhttps://secure.wikimedia.org/wikipedia/pt/wiki/Visitado em 16/07/2010 [15] IP fragmentationhttps://secure.wikimedia.org/wikipedia/en/wiki/IP_fragmentationVisitado em 16/07/2010 [16] Maximum transfer unithttps://secure.wikimedia.org/wikipedia/en/wiki/Maximum_transmission_unitVisitado em 16/07/2010 [17] Pipelininghttps://secure.wikimedia.org/wikipedia/en/wiki/PipeliningVisitado em 16/07/2010 [18] Assembly linehttps://secure.wikimedia.org/wikipedia/en/wiki/Assembly_lineVisitado em 16/07/2010