Quem tem Internet em casa da Oi ou Brasil Telecom sabe do que eu estou falando, você entra em um site normalmente e quase ao mesmo tempo existe um outro site que quase não entra, um dia você está com a Internet funcionando quase perfeitamente e logo depois ela vira um carroça, ai vem a pergunta por quê?

O motivo é simples: infraestrutura insuficiente, mas não toda a infraestrutura, a rede nacional da Oi é rasovelmente boa, existem poucos gargalos (internamente), a ultima milha na maioria dos casos também não é das piores (em alguns casos a ultima milha também é ruim, como no Park Way em Brasília, mas esse não é o meu caso nem o da maioria dos usuários), mas então onde está o problema?

Na verdade são dois problemas: Somente dois pontos de conexão com o exterior e links fracos e de alta latência com os outros provedores.

Problema 01: Links com o exterior

Vamos primeiramente explorar o primeiro problema, os links com o exterior, a rede de fibra ótica da Oi é a GlobeNet, no site da GlobeNet a gente pode baixar um mapa da rede, esse aqui:

mapa globenet

O que podemos observar neste mapa? Só existem dois links com o exterior, isso mesmo, todo tráfego da Oi para o exterior passa por dois links, o que acontece quando uma porcentagem significativa dos clientes Oi tentam acessar páginas no exterior, os links congestionam e ninguém consegue acessar nada na velocidade que deveria, acontece perda de pacotes, a latência aumenta e a sua internet fica uma “bosta”.

Eu fiz uma série de teste de velocidade com servidores de vários lugares do mundo para mostrar meu ponto:

Para base de comparação minha internet assinada é de 10 Mbps, eu moro em Brasília, todas as velocidades abaixo estão em Megabit por segundo.

Servidor em Brasília

Ping médio: 40 ms
Velocidade média de download: 8.1 Mbps
Velocidade média de upload: 0.4 Mbps

Servidor em São Paulo

Ping médio: 71 ms
Velocidade média de download: 7.8 Mbps
Velocidade média de upload: 0.4 Mbps

Servidor em Nova York

Ping médio: 281 ms
Velocidade média de download: 4.1 Mbps
Velocidade média de upload: 0.3 Mbps

Servidor em Londres

Ping médio: 320 ms
Velocidade média de download: 4.2 Mbps
Velocidade média de upload: 0.4 Mbps

Servidor em Tókyo

Ping médio: 388 ms
Velocidade média de download: 4.0 Mbps
Velocidade média de upload: 0.3 Mbps

Ou seja como podemos ver existe um gargalo entre São Paulo e Nova York (eu não consegui nenhum servidor com link decente nem em Fortaleza, nem no Rio para testar a velocidade, o motivo é o segundo problema), qualquer link interno (da Oi, quando se tenta acessar servidores que utilizam outros provedores o negócio fica feio, de novo o segundo problema) resultará em praticamente a mesma velocidade, e qualquer servidor no mundo com um link decente até Nova York terão as mesmas velocidades (lembrem que o ping aumenta com a distância geográfica).

Problema 02: Links com outros provedores

Agora vamos ao segundo problema, nesse eu serei mais breve, a Oi tem que manter acordos (e links) com os outros provedores, para que um usuário em uma rede consiga acessar um servidor de outra rede e vice-versa. Ai o negócio também fica feio, os links entre a Oi e os outros provedores brasileiros são poucos e claramente subdimencionados, vamos a um exemplo pratico, quando eu tento acessar o site do TST (que fica aqui em brasilia) olha o caminho que os meus pacotes (dados e solicitações) fazem:

traceroute to www.tst.gov.br (201.49.155.41), 30 hops max, 60 byte packets
 1  192.168.1.1 (192.168.1.1)  1.563 ms  1.615 ms  1.706 ms
 2  BrT-L10-bsaco700.dsl.brasiltelecom.net.br (201.34.194.254)  25.974 ms  30.123 ms  32.095 ms
 3  BrT-V500-bsace306.brasiltelecom.net.br (201.10.210.97)  32.156 ms  32.250 ms  33.409 ms
 4  BrT-10G3-1-0-bsacecore01.brasiltelecom.net.br (201.10.211.85)  35.955 ms  36.316 ms  40.523 ms
 5  Oi-10G5-0-0-bsaco-border.brasiltelecom.net.br (201.10.199.94)  42.068 ms  44.116 ms  45.327 ms
 6  pos6-2-arc-rj-rotb-03.telemar.net.br (200.222.62.125)  74.715 ms  95.973 ms  48.702 ms
 7  ebt-T0-0-0-0-puacc01.rjo.embratel.net.br (200.211.219.53)  57.888 ms  61.698 ms  63.834 ms
 8  ebt-B1-21-tcore01.rjo.embratel.net.br (200.244.162.47)  55.653 ms ebt-B2-21-tcore01.rjo.embratel.net.br (200.244.163.47)  55.892 ms ebt-B1-21-tcore01.rjo.embratel.net.br (200.244.162.47)  58.898 ms
 9  ebt-T0-5-0-0-tcore01.bsa.embratel.net.br (200.230.251.73)  64.320 ms  64.305 ms  64.288 ms
10  ebt-T0-3-0-0-uacc01.bsa.embratel.net.br (200.244.165.38)  65.182 ms  72.423 ms  76.094 ms
11  tst-G0-0-0-0-28-uacc01.bsa.embratel.net.br (200.241.68.30)  77.488 ms  79.405 ms  79.754 ms
12  * * *
(…)

Vocês podem ver que o pacote foi ao Rio de Janeiro (ebt-T0-0-0-0-puacc01.rjo.embratel.net.brebt-B1-21-tcore01.rjo.embratel.net.br) e depois voltou para Brasília, isso aumenta a latência e se o link for ruim a velocidade diminui, vejamos outro exemplo: eu repeti o teste de velocidade com um servidor na net aqui em Brasília:

Ping: 211 ms
Velocidade média de download: 2.6 Mbps
Velocidade média de upload: 0.2 Mbps

Quando se trata do link entre a Oi e a net ou a gvt, o pacote vai a São Paulo e volta, e é ai que o negócio fica feio mesmo, podemos ver que o ping aumentou de 41 ms para 211 ms comparando com o primeiro teste aqui em Brasília, e aumentou de ~78ms para 211ms quando comparado com o servidor do TST, isso sem falar na queda absurda de velocidade, que ficou em 26% da velocidade contratada, ou seja eu baixo mais rápido de um servidor em Tókyo do que de um servidor conectado pela net aqui em Brasília.

Eu só espero que o dia que a Oi vai perceber que ela precisa melhorar seus links externos.

Observação: A palavra velocidade nesse texto foi utilizada no mesmo sentido da palavra “throughput”, apesar de tecnicamente incorreta essa é a tradução normalmente utilizada.