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


WirelessBrasil                     BLOCO