Quando você está em uma determinada rede interna e tem a sensação de que
a velocidade de resposta da Internet, de modo geral, está muito lenta em
relação ao que você está acostumado para essa posição, há forte chance de que um
dos elementos no caminho dos dados seja, destacadamente, o principal
responsável.
Na maioria das vezes, entretanto, nossa percepção de velocidade nos
engana, por se basear em vários aspectos subjetivos como, por exemplo, nossa
pressa naquele momento.
Para ir de um ponto a outro, os dados passam por diversos elementos que,
sequencialmente, os manipulam de alguma forma.
As comunicações digitais atuais se dão pela modalidade “comutação de
pacotes”, ou seja, os bits de dados são agrupados em pacotes e assim trafegam
pelas redes. Pacotes IP, TCP, UDP, RTP(VoIP), HTTP, Ethernet, HDLC, Frame
Relay, entre outros.
Latência
O intervalo de tempo total, decorrido entre o início da entrada de um
pacote de dados em um dispositivo e o início da saída desse pacote é denominado
“latência” do dispositivo. Esse
tempo (tempo de trânsito) é composto de três parcelas:
1) Tempo para o
dispositivo processar o pacote de dados
2) Tempo em que os
dados ficam esperando em filas internas
3) Tempo de
propagação do pacote no dispositivo (comprimento do pacote em bits dividido
pela velocidade de transmissão em bps)
Então, alta latência não significa necessariamente baixa velocidade. Comparando
com um trajeto de automóvel na cidade, a latência é o tempo que levamos da
origem ao destino e esse tempo não depende só da velocidade do veículo, mas também
de quantos sinaleiros encontraremos pelo caminho e do tempo que eles nos obrigam
a ficar esperando.
Cada elemento age como um funil. Quando sua capacidade de transferir os
dados é atingida, o funil vai enchendo mais rápido do que esvazia, aumentando a
latência. Imagine uma fila, onde cada pessoa (equivale a um pacote) deve
esperar por sua vez. Se, durante esse tempo, o tráfego de entrada não diminuir,
pode haver perda de pacotes quando a memória (buffer) do dispositivo se esgotar.
Fenômeno semelhante ocorre quando jogamos água em um funil com um balde: se jogar
demais transborda.
A figura mostra simplificadamente os principais elementos. Podemos
considerar a placa de rede do computador como sendo o primeiro funil. Cada
placa tem sua limitação. Uma placa de 100 Mbps transmite, em geral, de 400 a
900 kbps, dependendo principalmente de sua capacidade de processamento e do
tamanho do pacote (quantos bits). As placas de 1 e 10 Gbps também só conseguem
transferir uma parte do valor nominal da rede.
Como a placa de rede interage com outros dispositivos internos do
computador, como o disco rígido, estes também podem também limitar a velocidade
de transferência dos dados.
O segundo funil é o cabeamento. Veremos adiante que uma rede com baixa
taxa de erros é importante para transmissões em alta velocidade e isto deve
começar com um bom cabeamento. Daí a primeira explicação de por que os
fabricantes recomendam cabeamento categoria 6 e não 5e, sendo que ambos
suportam transmissão a 1 Gbps: o cabeamento categoria 6 oferece menor taxa de
erro. Este funil é passivo, portanto sua latência é somente o tempo de
propagação.
O próximo funil é a rede de equipamentos ativos que transportam os
dados dentro da rede interna. Quem sabe em outra matéria falamos mais sobre
isso?
O roteador de saída é um vilão famoso nas redes de pequeno porte e nas
residências, onde se opta pelo baixo custo. Não economize no roteador.
A seguir vem o enlace do provedor. Mesmo que a velocidade do enlace
seja exatamente a que você contratou, digamos 10 Mbps, na verdade isto pouco ajudará
se houver um funil mais apertado no caminho.
Logo de entrada, na rede do provedor, os dados chegam ao primeiro
roteador que pode estar ligado a diversas redes remotas e, por isso, está
também sujeito a congestionamento. E assim a história se repete pela Internet
até o destino de seus dados.
Eficiência da comunicação
A comunicação ocorre com os dados agrupados em pacotes e cada pacote
possui certa quantidade de bits de controle que depende do protocolo utilizado.
A eficiência do pacote é a divisão da quantidade de bits de dados pela
quantidade total de bits do pacote. Portanto, considerando que não há erro de
comunicação, quanto maior o pacote, mais eficiente fica a comunicação.
Então, para aumentar a eficiência da comunicação os protocolos utilizam
pacotes cada vez maiores. Consequentemente, a rede deve oferecer uma
comunicação com baixa taxa de erro a fim de se evitar retransmissões, senão o
tiro sai pela culatra.
Tempo de resposta
O tempo de resposta da rede é o intervalo de tempo entre a emissão de
uma requisição até o recebimento da resposta. Ou seja, é a soma dos seguintes
tempos:
1) A latência total (ida
e volta) da rede entre os dois pontos
2) Tempos gastos em
retransmissões devido a erros de comunicação
3) Tempo de
processamento do servidor remoto
Tudo o que foi falado vale também para acesso aos servidores da rede
interna. A diferença é que, no caso da rede interna, as latências são pequenas
e só conseguimos perceber alguma diferença quando o problema é realmente grave.
Conclusões:
1 “Tempo de
resposta” é o tempo decorrido entre a emissão de uma requisição e o
recebimento da resposta;
2
Velocidade é
medida em bits por segundo (bps);
3
Latência”
é o tempo de trânsito pelos elementos considerados. A latência depende da
velocidade, mas inclui também os tempos de processamento dos dispositivos
envolvidos e os tempos de espera nas filas;
4 Quanto maior a
velocidade, melhor deve ser o cabeamento;
5 A rede interna deve
estar balanceada tecnologicamente, o que significa calibrar o tamanho de todos
os funis internos;
6 De que adianta
uma excelente placa de rede se o computador tem um acesso lento ao seu disco
rígido?