You are on page 1of 13

Sumrio

4.1. Introduo .............................................................................................................. 2


4.1.1. Encaminhamento e roteamento ....................................................................... 2
4.1.2. Modelos de servio de rede............................................................................. 2
4.2. Redes de circuitos virtuais e datagramas ............................................................... 2
4.2.1. Redes de circuitos virtuais ............................................................................... 3
4.2.2. Redes de datagramas ..................................................................................... 4
4.3. O que h dentro de um roteador? .......................................................................... 4
4.3.1. Portas de entrada ............................................................................................ 4
4.3.2. Elemento de comutao .................................................................................. 4
4.3.3. Portas de sada ............................................................................................... 5
4.3.4. Onde ocorre formao de fila? ........................................................................ 5
4.4. O Protocolo da Internet (IP): encaminhamento e endereamento na internet ........ 6
4.4.1. Formato do datagrama .................................................................................... 6
Fragmentao do datagrama IP ............................................................................ 7
4.4.2. Endereamento IPv4 ....................................................................................... 7
Obteno de um bloco de endereos .................................................................... 8
Obteno de um endereo de hospedeiro: o Protocolo de Configurao Dinmica
de Hospedeiros...................................................................................................... 8
Traduo de endereos da rede (NAT) .................................................................. 8
4.4.3. Protocolo de Mensagens de Controle da Internet (ICMP) ................................ 9
4.4.5. Uma breve investida em segurana IP ............................................................ 9
4.5. Algoritmos de Roteamento ................................................................................... 10
4.5.1. O algoritmo de roteamento de estado de enlace (LS).................................... 10
4.5.2. O algoritmo de roteamento de vetor de distncias (DV) ................................ 11
Algoritmo de vetor de distncias: mudanas no custo do enlace e falha no enlace
............................................................................................................................ 13
Algoritmo de vetor de distncias: adio de reverso envenenada ...................... 13
4.5.3. Roteamento Hierrquico ................................................................................ 13

4.1. Introduo
4.1.1. Encaminhamento e roteamento
O papel da camada de rede transportar pacotes de um hospedeiro a outro. Isso
significa que a camada de rede deve desempenhar as seguintes funes:

Encaminhamento (interno/vizinhos): Quando um pacote chega a um


roteador, ele deve repassar o pacote para a sada apropriada. Por exemplo, um
pacote chega em A que repassa para B ou para C, dependendo do cabealho
do pacote.
Roteamento (externo/toda a rede): A camada de rede deve determinar a rota,
ou caminho, tomado pelos pacotes ao flurem do remetente ao destinatrio. Por
exemplo, um pacote saindo de A com destino Z deve tomar qual rota, ou
caminho?

Para fazer o encaminhamento, cada roteador possui uma tabela de


encaminhamento. Um roteador repassa um pacote examinando o valor de um campo
no cabealho e ento utiliza esse valor para indexar sua tabela de encaminhamento. O
resultado indica para qual das interfaces de enlace do roteador o pacote deve ser
repassado.
Um algoritmo de roteamento pode ser centralizado ou descentralizado. Em qualquer
caso, um roteador recebe mensagens de protocolo de roteamento que so utilizadas
para configurar sua tabela de encaminhamento.

4.1.2. Modelos de servio de rede


O modelo de servio de rede define as caractersticas do transporte de dados fim a
fim, por exemplo:

Entrega garantida: assegura que o pacote mais cedo ou mais tarde chegar ao
destino;
Entrega garantida com atraso limitado: assegura a entrega do pacote com
atraso fim a fim limitado e especificado;
Entrega de pacotes na ordem: garante que pacotes chegaro ao destino na
ordem em que foram enviados;
Largura de banda mnima garantida;
Servios de segurana, chave de sesso, etc.
Servio de melhor esforo: A camada de rede da internet fornece este
servio, que no garante temporizao entre pacotes, nem que eles sero
recebidos na ordem, ou que sero entregues. o mesmo que no possuir
servio algum.

4.2. Redes de circuitos virtuais e datagramas


A camada de transporte oferece servio orientado para conexo (TCP) e no
orientado para conexo (UDP). A camada de rede oferece servios semelhantes, com
algumas diferenas:

Na camada de rede, so servios fim a fim providos pela camada de rede


camada de transporte.
Em todas as arquiteturas de redes (Internet, ATM, frame-relay, etc.) a camada
de rede oferece apenas um desses servios, no ambos. As redes que
oferecem servio orientado para conexo so denominadas redes de circuitos
virtuais (redes CV). Redes que oferecem servio no orientado para conexo,
so chamadas de redes de datagramas.

As implementaes destes servios so diferentes da implementao feita na


camada de transporte. Sendo implementados nos roteadores e nos sistemas
finais (dispositivos).

4.2.1. Redes de circuitos virtuais


Um circuito virtual (CV) consiste em:

Um caminho entre hospedeiros de origem e destino;


Nmeros de CV: um nmero para cada enlace ao longo do caminho;
Registros na tabela de encaminhamento em cada roteador ao longo do
caminho.

Um pacote que pertence a um circuito, portar o nmero do CV em seu cabealho.


Como um circuito pode ter um nmero diferente em cada enlace, cada roteador no
caminho deve substituir o nmero de CV de cada pacote por um novo nmero. Esse
nmero obtido da tabela de encaminhamento.
Para uma rede de CV a tabela de encaminhamento de cada roteador inclui a traduo
de nmero de CV. Sempre que um novo CV estabelecido atravs de um roteador,
um registro adicionado tabela de encaminhamento. De maneira semelhante,
sempre que um CV termina, so removidos os registros apropriados em cada tabela
ao longo do caminho.
Um pacote No conserva o mesmo nmero de CV em cada enlace porque:

Substituir o nmero de enlace em enlace reduz o comprimento do campo CV


no cabealho do pacote;
O estabelecimento de um CV mais simples se for permitido um nmero
diferente de CV em cada enlace ao longo do caminho.

Em uma rede de CV, os roteadores devem manter informao de estado de conexo


para as conexes em curso. Assim, cada vez que uma conexo for estabelecida, um
novo registro deve ser includo na tabela de encaminhamento. E quando uma conexo
for encerrada, um registro deve ser removido da tabela de encaminhamento.
H trs fases que podem ser observadas em um CV:

Estabelecimento de CV: Durante esta fase, a camada de transporte


remetente contata a camada de rede, especifica o endereo do receptor e
espera at a rede estabelecer o CV. A camada de rede determina o caminho
entre remetente e destinatrio, o nmero de CV para cada enlace no caminho
e adiciona um registro na tabela de encaminhamento em cada roteador ao
longo do caminho. Durante esta fase a camada de rede pode tambm reservar
recursos (por exemplo, largura de banda) ao longo do caminho.
Transferncia de dados: Estabelecida a conexo, pacotes podem comear a
fluir pelo CV.
Encerramento do CV: O encerramento comea quando o remetente (ou
destinatrio) informa camada de rede seu desejo de finalizar a conexo. A
camada de rede ento informa o destinatrio (ou remetente) do trmino da
conexo e atualizar a tabela de encaminhamento em cada roteador no
caminho.

Os roteadores ao longo do caminho entre os dois sistemas finais esto envolvidos no


estabelecimento de CV e cada roteador fica totalmente ciente de todos os CV que
passam por ele. A troca de mensagens trocadas entre os sistemas finais e os
roteadores para estabelecer conexo, so chamadas de mensagens de sinalizao, e
so feitas por meio de protocolos de sinalizao.

4.2.2. Redes de datagramas


Em uma rede de datagramas, toda vez que um sistema final quer enviar um pacote,
ele marca o pacote com o endereo do destino e ento envia para a rede. Isso feito
sem o estabelecimento de conexo. Roteadores de uma rede de datagramas no
mantm nenhuma informao de estado.
Ao ser transmitido da origem para o destino, um pacote passa por uma srie de
roteadores. Cada um usa o endereo de destino e a tabela de encaminhamento para
repass-lo ao enlace adequado.
O roteador compara um prefixo do endereo de destino do pacote com os registros na
tabela, se houver concordncia, o roteador transmite o pacote para o enlace associado
quele prefixo. A regra da concordncia do prefixo mais longo consiste em
encontrar o registro cujo prefixo tem mais bits compatveis com os bits do endereo do
pacote e envia o pacote ao enlace associado a esse prefixo.
Embora as redes de datagramas no armazenam estados de conexo, so mantidas
informaes de encaminhamento nas tabelas, que normalmente so alterados pelos
algoritmos de roteamento.

4.3. O que h dentro de um roteador?


Uma viso de alto nvel da arquitetura de um roteador pode ser dividia em quatro
componentes:

Portas de entrada: Possui diversas funes como, terminar um enlace fsico


de entrada (funo de camada fsica), interoperar com a camada de enlace
(funo de camada de enlace) e tambm tem a funo de examinar e repassar
pacotes (funo de camada de rede);
Elemento de comutao: Conecta as portas de entrada s portas de sada;
Portas de sada: armazena os pacotes que foram repassados a ela atravs do
elemento de comutao e, ento, os transmite ao enlace de sada;
Processador de roteamento: Roda os protocolos de roteamento, mantm as
informaes de roteamento e tabelas de encaminhamento, e executa funes
de gerenciamento de rede dentro do roteador.

4.3.1. Portas de entrada


O mdulo examinar/repassar da porta de entrada responsvel por determinar a porta
de sada para a qual o pacote que est chegando ser repassado pelo elemento de
comutao. A escolha da porta de sada feita usando a tabela de encaminhamento.
Com cpias locais da tabela de encaminhamento, as decises de encaminhamento
podem ser feitas localmente, em cada porta de entrada. Esse encaminhamento
descentralizado evita a criao de gargalo de processamento de encaminhamento.

4.3.2. Elemento de comutao


A comutao pode ser feita de vrias maneiras:

Comutao por memria: O pacote copiado da porta de entrada para uma


memria, o processador de roteamento consulta a porta de sada, e ento o
pacote era copiado da memria para a porta de sada consultada.
Comutao por barramento: As portas de entrada transferem um pacote
diretamente para a porta de sada por um barramento compartilhado sem a
interveno do processador. Somente um pacote pode ser transferido por vez,
assim os pacotes podem ficar em uma fila de espera na porta de entrada.

Comutao por uma rede de interconexo: Um comutador do tipo crossbar


uma rede de interconexo que consiste em 2n barramentos, que conectam
cada entrada a cada sada. Se um barramento vertical est ocupado por uma
transferncia, o pacote deve entrar em fila de espera na porta de entrada.

4.3.3. Portas de sada


As portas de sada tomam os pacotes armazenados na memria da porta de sada e
os transmite pelo enlace de sada.

4.3.4. Onde ocorre formao de fila?


As filas de pacotes podem se formar nas portas de entrada e sada. medida que
estas filas aumentam, o buffer do roteador preenchido, podendo ocorrer perda de
pacote.
Durante muitos anos, a regra prtica para dimensionamento de buffer foi que a
quantidade de armazenamento em buffer deveria ser igual a 1RTT*C (capacidade do
enlace). Estudos recentes sugerem que o buffer B deve ser B=1RTT*C/sqrt(N), onde
N o nmero de fluxo do TCP passando por um enlace.
Uma consequncia da fila na porta de sada que um escalonador deve escolher um
pacote da fila para transmisso. Essa escolha pode ser baseada na ordem de fila
FIFO ou em outra regra de escalonamento mais sofisticada.
O Bloqueio de Cabea de Fila (Head Of the Line HOL blocking) em um comutador
com fila de entrada consiste em um pacote que est na fila de entrada e deve esperar
pela transferncia atravs do elemento de comutao porque ele est bloqueado por
um outro pacote na cabea da fila.

4.4. O Protocolo da Internet (IP): encaminhamento e


endereamento na internet
4.4.1. Formato do datagrama

O formato do datagrama IPv4 possui os seguintes campos principais:

Nmero de verso: 4bits que especificam a verso do IP;


Comprimento do cabealho: Devido um datagrama poder conter um nmero
varivel de opes no respectivo campo, so necessrios 4bits para determinar
o tamanho do cabealho e dos dados;
Tipo de servio: Serve para identificar os diferentes tipos de datagramas IP;
Comprimento do datagrama: o comprimento total do datagrama medido em
bytes (16bits mximo: 65535bytes, normal: 1500bytes);
Identificador, flags, deslocamento de fragmentao: Esses trs campos
tm a ver com a fragmentao do IP;
Tempo de vida (Time To Live - TTL): includo para permitir que datagramas
no fiquem circulando para sempre na rede. Esse campo decrementado em
uma unidade em cada processamento feito por um roteador. Se o TTL for 0 o
datagrama descartado;
Protocolo: Usado somente no destino final. Indica o protocolo de camada de
transporte ao qual o pacote ser passado;
Soma de verificao do cabealho: Auxilia um roteador na deteco de erros
de bits em datagramas. A soma calculada tratando cada 2bytes de cabealho
como se fossem um nmero e somando esses nmeros usando complemento
de 1. Roteadores normalmente descartam um datagrama quando um erro
detectado.
Endereos de IP de origem e destino: Quando uma fonte cria um datagrama,
insere seu IP no campo de endereo de fonte IP e insere o endereo do
destino no campo de endereo de destino.
Opes: Permite que um cabealho IP seja ampliado. A inteno se usar
opes raramente, pois este campo tras problemas devido ao tamanho
dinmico de um cabealho.
Dados (carga til): Este campo possui o segmento da camada de transporte a
ser entregue ao destino.

Fragmentao do datagrama IP
A quantidade mxima de dados que um quadro de camada de enlace pode carregar
denominada unidade mxima de transmisso (maximum transmission unit MTU).
Como cada datagrama IP da camada de rede encapsulado em um quadro da
camada de enlace, a MTU do protocolo de camada de enlace estabelece um limite
para o comprimento do datagrama IP. Como cada enlace entre origem e destino pode
usar protocolos diferentes, estes enlaces tambm podem usar diferentes MTU,
gerando problemas quando o comprimento do datagrama maior que o MTU do
enlace.
Uma soluo para este problema fragmentar o datagrama em um ou mais
datagramas IP menores, chamado de fragmentos. Eles precisam ser reconstrudos
antes que cheguem camada de transporte do destino. Porem por questes de
desempenho da rede a tarefa de unir os fragmentos dada aos sistemas finais.
Ao receber datagramas um sistema final precisa determinar se estes datagramas so
fragmentos. Se forem, o hospedeiro precisa saber quando recebeu o ltimo fragmento
e como os fragmentos devem ser reconstrudos. Para isso so usados os campos
Identificao, Flag e Deslocamento nos datagramas.
Quando um datagrama criado, ele marcado com um nmero de identificao que
incrementado para cada datagrama criado pelo remetente. Quando um roteador
precisa fragmentar um datagrama cada fragmento marcado com o endereo da
fonte, de destino e o a identificao do original. Cada fragmento exceto o ltimo
recebe um bit Flag 1 o ltimo fragmento recebe Flag 0. O campo Deslocamento serve
para indicar a posio exata do fragmento no datagrama original.

4.4.2. Endereamento IPv4


Um hospedeiro normalmente tem apenas um enlace com a rede, a fronteira entre o
hospedeiro e o enlace fsico chamada de interface. Um roteador possui vrias
interfaces, uma para cada um de seus enlaces. Como todos os hospedeiros e
roteadores podem enviar e receber datagramas, necessrio que cada interface
possua um endereo IP prprio.
Cada IP tem comprimento de 32bits (ou 4bytes). Portanto, h um total de 2^32 (4
bilhes) endereos IP possveis. Esses endereos so escritos em notao decimal
separada por pontos, na qual cada byte escrito em sua forma decimal e separado
dos outros bytes por um ponto.
Cada interface em cada hospedeiro e roteador tem de ter um endereo IP globalmente
exclusivo. Contudo, esses endereos no podem ser escolhidos de qualquer maneira.
Uma parte do endereo IP de uma interface ser determinada pela sub-rede qual ela
est conectada.
Para determinar uma sub-rede, temos que destacar cada interface de uma rede
criando ilhas de redes isoladas. Cada uma dessas redes isoladas denominada subrede.
A estratgia de atribuio de endereos conhecida como roteamento interdomnio
sem classes (Classless InterDomain Routing - CIDR). Como acontece com o
endereamento de sub-redes, o endereo IP de 32bits dividido em duas partes.
Assim os endereos possuem os nmeros decimais comuns e, separado por uma
barra, um nmero que indica quantos bits h na primeira parte. Por exemplo,
ABC.DEF.GHI.JKL/X.
Os x bits mais significativos constituem a parcela da rede do endereo IP e so
denominados prefixo. Uma organizao geralmente possui um nico prefixo para sua
rede. Os restantes (32-x) bits de um endereo podem ser considerados como bits que
distinguem os equipamentos e dispositivos dentro da organizao e todos eles tm o

mesmo prefixo de rede. Esses bits podem ou no ter uma estrutura adicional de subrede.
Antes de se usar o CIDR, os tamanhos das parcelas de um endereo IP estavam
limitados a 8, 16 ou 24 bits, um esquema de endereamento conhecido como
endereamento de classes cheias, j que sub-redes com endereos de 8. 16 ou 24
bits eram chamadas de redes de classe A, B ou C, respectivamente.
No modelo de endereamento IP dividido em classes, temos:

Classe A: 7 bits para a rede, 24 bits para hosts


o Comea com 0(2) (IDs de 0 a 126);
o S pode haver 126 redes do tipo A (valores 0 e 127 so reservados);
o Cada uma pode alocar cerca de 16 milhes de hosts;
Classe B: 14 bits para a rede e 16 bits para o host;
o Comea com 10(2) (IDs de 128.0 at 191.255);
o Cada rede B pode alocar 65.534 hosts;
Classe C: 21 bits para a rede e 8 bits para o host;
o Comea com 110(2) (IDs de 192.0.0 at 223.255.255);
o Cada rede C pode alocar 254 hosts;

O endereo IP 255.255.255.255 um tipo de endereo IP especial usado para


broadcast, isto , quando um datagrama enviado a este endereo, a mensagem
entregue a todos os hospedeiros da mesma sub-rede.

Obteno de um bloco de endereos


Para obter um bloco de endereos IP para utilizar dentro de uma sub-rede deve-se
contatar um ISP (Internet Service Provider) que fornece blocos a partir de um bloco
maior, por exemplo, o prprio ISP pode ter recebido o bloco de endereos
200.23.16.0/20. O ISP por sua vez pode dividir este endereo em 8 blocos,
200.23.16.0/23 e oferecer estes blocos a outras organizaes.
H uma autoridade global que tem a responsabilidade de gerenciar o espao de
endereos IP e alocar blocos de IP a outras organizaes, chamada de Internet
Corporation for Assigned Names and Numbers (ICANN), que tambm possui a
responsabilidade de gerenciar os servidores raiz de DNS.

Obteno de um endereo de hospedeiro: o Protocolo de Configurao


Dinmica de Hospedeiros
O Protocolo de Configurao Dinmica de Hospedeiros (DHCP) permite que um
hospedeiro obtenha um endereo IP automaticamente. Assim um determinado
hospedeiro pode receber o mesmo endereo IP, ou um endereo IP diferente, sempre
que se conectar rede, dependendo do que for configurado.
Alm de receber um endereo IP o DHCP permite que o hospedeiro descubra
informaes adicionais como a mscara de sub-rede, o endereo do primeiro roteador
e o endereo do seu servidor DNS local.
O DHCP um protocolo cliente-servidor. Normalmente o cliente um hospedeiro
recm-chegado que quer obter informaes sobre configurao da rede. Em um caso
mais simples cada sub-rede ter um servidor DHCP, se no houver servidor o
roteador deve ter funo de DHCP e informar o endereo IP ao hospedeiro.

Traduo de endereos da rede (NAT)


A Traduo de endereos da rede (NAT) uma abordagem simplificada para alocao
de endereos. A ideia que um roteador central deve ser uma interface da sub-rede
para com a Internet. O endereamento dentro da sub-rede assim como foi visto
anteriormente. Cada sistema final dentro da sub-rede tem o mesmo endereo de subrede, por exemplo, 10.0.0.0/24. O espao de endereo 10.0.0.0/8 uma das trs
pores reservadas para uma rede privada (ou domnio).

Um domnio com endereos privados refere-se a uma rede cujos endereos somente
tem significado para equipamentos pertencentes quela rede.
O roteador que usa NAT se comporta como um equipamento nico com um nico
endereo IP e oculta os detalhes da sub-rede. O roteador obtem seu endereoIP do
servidor DHCP do ISP e roda um servidor DHCP para fornecer endereos a
computadores que esto dentro do espao de endereos NAT da sub-rede.
Todos os datagramas que chegam ao roteador NAT tem o mesmo endereo de
destino. Assim, o roteador NAT deve repassar um datagrama conforme uma tabela de
traduo NAT que inclui registros de porta e endereos IP.
Restries NAT:

A finalidade dos endereos de porta enderear processos e no hospedeiros;


Roteadores devem processar pacotes somente at a camada 3;
O protocolo NAT viola o argumento denominado fim a fim;
Deve-se usar IPv6 para tratar da escassez de endereos.

4.4.3. Protocolo de Mensagens de Controle da Internet (ICMP)


O ICMP usado por hospedeiros e roteadores para comunicar informaes de
camada de rede entre si. A utilizao mais comum para comunicar erros.
Mensagens de ICMP so carregadas como carga til de um datagrama IP, ento
quando um hospedeiro recebe um datagrama ele deve demultiplexar o datagrama
para ICMP e para segmento TCP ou UDP.
Mensagens ICMP tm um campo de tipo e um campo de cdigo. Alm disso, contm o
cabealho e os primeiros 8bytes do datagrama IP que causou a criao da mensagem
ICMP.

4.4.5. Uma breve investida em segurana IP


IPSec um protocolo da camada de rede empregado em Redes Virtuais Privadas
(VPN), e compatvel com IPv4 e IPv6.
preciso que dois hospedeiros estabeleam conexo com IPSec entre si para que
todos os segmentos TCP e UDP aproveitem os benefcios deste protocolo. No
remetente, a camada de transporte passa um segmento para o IPSec. Este, ento,
codifica o segmento, acrescenta campos de segurana adicionais a ele e envolve a
carga til resultante em um datagrama IP comum.
Os servios providos por uma sesso IPSec incluem:

Acordo criptogrfico: Mecanismos que permitem que dois hospedeiros


concordem nos algoritmos criptogrficos e chaves;
Codificao das cargas teis do datagrama IP: Quando o hospedeiro
destinatrio recebe um segmento da camada de transporte, o IPSec codifica a
carga til que pode ser somente decodificada pelo IPSec no destinatrio;
Integridade dos dados: O IPSec permite que o hospedeiro destinatrio verifique
se os campos do cabealho do datagrama e a carga til codificada no foram
modificados enquanto o datagrama estava a caminho da fonte ao destino;
Autenticao de origem: Quando um hospedeiro recebe um datagrama IPSec
de uma fonte confivel o hospedeiro est certo de que o endereo IP
remetente no datagrama averdadeira fonte do datagrama.

4.5. Algoritmos de Roteamento


A camada de rede deve determinar o caminho que os pacotes percorrem entre
remetentes e destinatrios. A camada de rede pode oferecer um servio de
datagramas (quando pacotes diferentes da mesma fonte podem tomar rotas
diferentes) ou um servio de VC (quando todos os pacotes entre uma fonte e um
destino tomam a mesma rota).
O problema de rotear um pacote do hospedeiro de origem at o hospedeiro de
destinatrio se reduz ao problema de rotear o pacote do roteador da fonte ao roteador
de destino. Dado um conjunto de roteadores conectados, um algoritmo de roteamento
descobre um bom caminho entre fonte e destino.
Roteadores e suas conexes so representados por grafos valorados, onde os
vrtices representam os roteadores, as arestas os enlaces que os conectam e os
pesos das arestas so os custos do enlace. Assim, o problema de rotear pacotes pode
ser resolvido encontrando se um caminho de menor custo entre os roteadores fonte e
de destino.
Um algoritmo de roteamento global calcula o caminho de menor custo entre fonte e
destino considerando no clculo a conectividade global entre todos os ns e todos os
custos dos enlaces. Isso exige que o algoritmo obtenha estas informaes de alguma
forma antes de realizar os clculos. O clculo em si pode ser feito localmente
(roteamento global centralizado) ou em vrios locais. Algoritmos de roteamento global
so tambm denominados algoritmos de estado de enlace (Link State - LS).
Um algoritmo de roteamento descentralizado calcula o caminho de menor custo de
modo iterativo e distribudo. Nenhum n tem informao completa sobre os custos de
todos os enlaces da rede. Em vez disso, cada roteador comea sabendo apenas os
custos dos enlaces dos roteadores vizinhos. Ento, por meio de um processo iterativo
de clculo e de troca de informaes com seus vizinhos, um n gradualmente calcula
o caminho de menor custo at um destino.

4.5.1. O algoritmo de roteamento de estado de enlace (LS)


Neste algoritmo a topologia da rede e todos os custos de enlace so conhecidos. Na
prtica, isto se consegue fazendo com que cada roteador transmita pacotes de estado
de enlace a todos os outros ns da rede.
O algoritmo de djikstra a seguir calcula o caminho de menor custo entre um n e todos
os outros ns da rede. um algoritmo iterativo e tem a propriedade de, aps a ksima iterao, conhecer os caminhos de menor custo para k ns de destino.
O algoritmo consiste em uma etapa de inicializao seguida de um loop. O nmero de
vezes que o loop rodado igual ao nmero de ns na rede.

Vamos definir a seguinte notao:

D(v): custo do caminho de menor custo entre o n da fonte e o destino v at


essa iterao de algoritmo;
p(v): n anterior (vizinho de v) ao longo do caminho demenor custo corrente
desde a fonte at v;
N: subconjunto de ns, v pertence a N se o caminho de menor custo entre a
fonte e v for conhecido.

Quando o algoritmo termina, temos, para cada n, seu predecessor ao longo do


caminho de menor custo a partir do n fonte. Temos tambm o predecessor para cada
um desses predecessores, desse modo, podemos construir o caminho inteiro desde a
fonte at todos os destinos. A complexidade deste algoritmo da ordem O(n).

4.5.2. O algoritmo de roteamento de vetor de distncias (DV)


O algoritmo de roteamento de vetor de distncias (Distance Vector - DV) iterativo,
assncrono e distribudo. distribudo porque cada n recebe alguma informao de
seus vizinhos, realiza clculos e, em seguida, distribui os resultados aos vizinhos.
iterativo porque esse processo continua at que mais nenhuma informao seja
trocada entre vizinhos. O algoritmo assncrono porque no requer que todos os ns
rodem simultaneamente.
Seja () o custo do caminho de menor custo do n ao . Ento, os menores
custos esto relacionados conforme a frmula de Bellman-Ford:
() = {(, ) + ()}
Onde o da equao calculado para todos os vizinhos de .
Cada n comea com (), uma estimativa do custo do caminho de menor custo
entre ele mesmo e o n , para todos os ns. Seja o vetor de distncias do n x,
que vetor de estimativas de custo de x at todos os outros ns. Com o algoritmo,
cada n mantem os seguintes dados de roteamento:

Para cada vizinho v, o custo c(x,v) de x at seu vizinho v;


O vetor de distncias do n x, Dx, contendo a estimativa de custos de x a seus
vizinhos;
Os vetores de distncias de seus vizinhos, isto , Dv para cada vizinho v.

No algoritmo distribudo, assncrono, cada n envia, a intervalos regulares, uma cpia


do seu vetor de distncias a cada um de seus vizinhos. Quando um n recebe um

novo vetor de distncias de qualquer de seus vizinhos, ele armazena o vetor de


distncias de v e ento usa a equao de Bellman-Ford para atualizar seu prprio
vetor de distncias.
Se o vetor de distncias do n x tiver mudado como resultado dessa etapa de
atualizao, ento o n x enviar seu vetor de distncias atualizado para cada um de
seus vizinhos que, por sua vez, podem atualizar seus prprios vetores de distncia.

No algoritmo DV um n x atualiza sua estimativa do vetor de distncias quando


percebe uma mudana de custo em um dos enlaces ligados diretamente a ele ou
recebe uma atualizao do vetor de distncias de algum vizinho. Para atualizar a sua
tabela de repasse para um dado destino y, o n x precisa saber apenas qual n
vizinho o mais prximo ao longo do caminho mais curto at y.

Algoritmo de vetor de distncias: mudanas no custo do enlace e falha no


enlace
No algoritmo DV quando um n detecta mudana no custo do seu enlace at um
vizinho, ele atualiza seu vetor de distncias e, se houver modificao no caminho de
menor custo, informa a seus vizinhos seu novo vetor.
Quando ocorre uma mudana no enlace que diminui o custo, so necessrias poucas
iteraes para que o algoritmo propague os caminhos de menor custo. Porm, quando
o custo de um enlace aumenta, so necessrias muitas iteraes para propagar os
caminhos de menor custo entre os ns da rede.

Algoritmo de vetor de distncias: adio de reverso envenenada


No algoritmo DV sempre que o custo de um enlace aumenta, so necessrias muitas
iteraes para propagar os caminhos de menor custo entre os ns da rede. Isso pode
ser evitado com a tcnica de reverso envenenada. A ideia simples, se a rota de Z
para chegar a X passa por Y, ento Z deve anunciar a Y que sua distncia a X
infinita, mesmo conhecendo sua distncia, ou seja, Z oculta a informao da
distncia dele at X aos vizinhos. Isso ocorre enquanto a rota de Z at X estiver
passando por Y. Assim, Y acredita que no h caminho de Z at X e jamais tentar a
rota at X por Z, contanto que a rota de Z at X passe por Y.
Quando h loops que envolvem muitos ns esta tcnica no se mostra eficiente.

4.5.3. Roteamento Hierrquico


Nos algoritmos LS e DV consideramos a rede sendo composta por poucos roteadores
homogneos. Na prtica, isso muito mais complexo pelas seguintes razes:

Escala: Quanto mais roteadores, torna-se limitado a troca de informaes por


questes de sobrecarga;
Autonomia administrativa: Uma organizao pode desejar controlar seus
roteadores ou ocultar da rede pblica sua estrutura interna.

Esses problemas podem ser resolvidos agrupando os roteadores es sistemas


autnomos (autonomous systems - AS) com cada AS consistindo em um grupo de
roteadores sob o mesmo controle administrativo. Todos os roteadores do mesmo AS
rodam o mesmo algoritmo de roteamento e dispem das informaes sobre cada um
dos outros. O algoritmo de roteamento de um AS chamado de protocolo de
roteamento intrassistema autnomo. Para conectar um AS com outros AS existem os
chamados roteadores de borda.
Um roteador A que est em um AS1 pode ter que rotear um pacote para um destino B
pertencente a outro AS2. Se ele (AS1) estiver conectado a apenas um outro AS2 o
roteador de borda de AS1 repassa o pacote ao outro roteador de borda de AS2 e
ento o roteador de borda de AS2 tem a responsabilidade de rotear internamente o
pacote at o destino final B.
Quando h mais de um AS conectando a origem ao destino os AS precisam
comunicar entre si para informar quais destinos podem ser alcanados e propagar
estas informaes aos roteadores internos do AS da origem. Esse processo
chamado de protocolo de roteamento inter-AS.
O roteamento da batata quente se baseia em obrigar o roteador de origem a enviar o
pacote ao roteador de borda que tiver o menor custo entre todos os roteadores de
borda que tem um caminho para o destino.