José Ribamar Smolka Ramos
Telecomunicações
Artigos e Mensagens
WirelessBrasil
Janeiro 2014 Índice Geral
21/01/14
• "O mesmo mal-entendido de sempre com
relação a roteamento de pacotes na Internet" (1) - por José Smolka
Este é um assunto recorrente, que aparece de
novo, outra vez, novamente...
Eu já perdi a conta de quantas vezes eu já tive que dizer, aqui e em outros
contextos: O ROTEAMENTO DE PACOTES DE DADOS NA INTERNET NÃO É ARBITRÁRIO NEM
ALEATÓRIO. Desculpem a falta de educação, mas tem horas que só gritando.
O exemplo de hoje vem da
entrevista (no geral muito boa) da presidente da ABDTIC, Ana Luiza Ribeiro,
repercutida pelo Hélio. Entretanto, mesmo dado o desconto dela ser advogada, e
não engenheira de redes, é preciso podar este tipo de imprecisão pela raiz. Lá
pelas tantas da entrevista ela diz o seguinte:
"É preciso pensar que os seus dados passam por diversos
países enquanto estão trafegando na rede. Para ser muito básico, quando você
manda um e-mail, a mensagem se fragmenta em vários pacotes, que são divididos em
outros vários milhares de pacotes, e cada um vai para um canto."
Bom... Para ser muito, mas muito básico, qualquer conjunto de dados que vai
trafegar na rede, seja um e-mail, ou um upload de foto para o Flickr, ou a
publicação de um post no Facebook ou no Twitter, etc. etc. etc., é dividido em
pacotes para transmissão. A quantidade de pacotes depende do tipo de informação
a trafegar, e das características das redes físicas (DSL, Wi-Fi, HSPA, Ethernet,
SDH, SONET, etc e tal) que irão cursar estes pacotes desde o computador de
origem até o computador de destino.
Cada rede física possui um tamanho máximo de pacote que pode ser cursado,
conhecido como MTU (Maximum Transfer Unit). Na rota entre a origem e o destino
dos pacotes eles vão passando de uma rede física para outra, com a comunicação
entre redes sendo feita pelos roteadores. Cada vez que um pacote excede o MTU do
próximo trecho do percurso, o roteador "quebra" o pacote em pedaços menores,
cada um deles tratado como um pacote completo, e cada um destes fragmentos é
encaminhado independentemente até o computador de destino final, que é
responsável pela "remontagem" dos dados originais. Este processo é conhecido
como IP Fragmentation and Reassembly. Até aí podemos dar o desconto da
licença poética para D. Ana Luiza falar em "vários milhares de pacotes", mas o
erro pior vem agora, quando ela diz que "cada um [dos fragmentos da
mensagem] vai para um canto". isto simplesmente não é verdade.
Existem vários algoritmos para que os roteadores negociem entre eles qual deve
ser a melhor rota de encaminhamento de pacotes entre as diversas origens e
destinos na rede, cada um deles com seu respectivo protocolo de comunicação para
permitir que os roteadores troquem os pacotes de dados necessários para a
instrução da negociação de rotas. Mas, feita esta negociação e estabelecidas as
rotas (fisicamente realizadas nas tabelas de rotas - ou equivalentes - de cada
roteador da rede), podemos dizer, com certeza, duas coisas sobre elas:
1. As rotas permanecem estáticas, a menos que ocorra: (a) uma mudança topológica
na rede; ou (b) uma mudança nos parâmetros de negociação usados para definir
qual é a "melhor" rota. Supõe-se que nenhum destes dois tipos de evento é tão
frequente assim, a ponto de suportar a alegação dos detratores do IP, de que os
pacotes "uma hora vão por um caminho, outra hora vão por outro".
2. Todos os pacotes com a mesma origem e destino seguem pela mesma rota.
Hipoteticamente é possível montar esquemas de roteamento onde possa ocorrer que
cada pacote de uma mesma mensagem seja encaminhado por uma rota diferente, mas
isto não é nada prático, e eu nunca vi nada assim sendo utilizado na vida real.
Isto não quer dizer que as rotas sejam necessariamente percebidas pelos usuários
como lógicas. Devido à forma de governança do processo de roteamento (a Internet
é dividida logicamente em domínios administrativos chamados Autonomous
Systems - AS) o encaminhamento de tráfego entre duas localidades pode variar
bastante, a depender dos AS envolvidos. Exemplo: suponhamos dois usuários em uma
mesma localidade no Brasil, digamos na cidade de Salvador - BA. Um deles tem seu
acesso à Internet provido pela NET, via cable modem, e o outro possui um acesso
DSL à Internet, provido pela GVT. Como NET e GVT são AS distintos, cada um deles
pode estabelecer acordos de encaminhamento de tráfego para o restante da
Internet através de AS diferentes (existem vários AS especializados nisto,
vários deles operados por empresas de telecom). Então não seria surpresa se, ao
acessar a mesma página web localizada em um servidor, digamos, na França, os
pacotes destes dois usuários percorram rotas diferentes entre si. O usuário da
GVT poderia, hipoteticamente, ter seus pacotes encaminhados do Brasil até a
França através de roteadores localizados nos EUA, Canadá e Reino Unido, enquanto
o usuário da NET poderia, também hipoteticamente, ter seus pacotes encaminhados
via Argentina, Chile, Austrália, Índia, Israel, Grécia e Itália. Isto pode
ocorrer (e ocorre, não necessariamente de forma tão exagerada) porque as
decisões de encaminhamento de tráfego entre os AS obedecem a critérios de
negociação comercial, não de proximidade geográfica.
[ ]'s
J. R. Smolka