Sie sind auf Seite 1von 137

Camada de Rede

Funes
Transporta pacotes da estao remetente a receptora Protocolos da camada de rede em cada estao, roteador
Trs funes importantes:
Determinao do caminho: rota seguida por pacotes da origem ao destino. Algoritmos de roteamento Comutao: mover pacotes dentro do roteador da entrada sada apropriada Estabelecimento da chamada: algumas arquiteturas de rede requerem determinar o caminho antes de enviar os dados

Modelos de Servio de Rede


Qual o modelo de servio para o canal que transporta pacotes do remetente ao receptor?
Largura de banda garantida? Preservao de temporizao entre pacote (sem jitter)? Entrega sem perdas? Entrega ordenada? Realimentar informao sobre congestionamento ao remetente?

A abstrao mais importante provida pela camada de rede: circuito virtual ou datagrama?

Circuitos Virtuais
Caminho da origem ao destino se comporta como um circuito telefnico
Estabelecimento de cada chamada antes do envio dos dados Cada pacote tem um identificador de CV (e no endereos origem/destino) Cada roteador no caminho da origem ao destino mantm o estado para cada conexo que o atravessa

Recursos de enlace, roteador, banda, buffer, etc podem ser alocados ao CV


Para permitir desempenho como de um circuito

Circuitos Virtuais
Usados para estabelecer, manter, destruir CV Usados em ATM, frame-relay, X.25 No usados na Internet de hoje

Rede de Datagramas
No requer estabelecimento de chamada na cada de rede Roteadores: no guardam estado sobre conexes fim-afim
No existe o conceito de conexo na camada de rede

Pacotes so roteados tipicamente usando endereos de destino


Dois pacotes entre o mesmo par origem/destino podem seguir caminhos diferentes

Modelos de Servio da Camada de Rede

Redes de Datagrama ou CVs


Internet
Troca de dados computadores entre
Servios elstico, sem requisitos temporais estritos

ATM Evoluiu da telefonia Conversao Humana


Temporizao estrita, requisitos de confiabilidade Requer servio garantido

Sistemas terminais inteligentes (computadores)


Podem se adaptar, exercer controle, recuperar de erros Ncleo da rede simples, complexidade na borda

Sistemas terminais burros


Telefones Complexidade dentro da rede

Muitos tipos de enlace


Caractersticas diferentes Servio uniforme dficil

Servios da Camada de Rede


Interconexo
Prover conexo lgica entre diversas redes fsicas heterogneas

Endereamento
Prover identificao de forma nica de um host na rede ao qual faz parte seja uma LAN ou Internet

Roteamento
Prover a escolha de rotas por onde os pacotes iro trafegar para que cheguem ao seu destino

Enacpsulamento
Encapsular pacotes recebidos de camadas superiores num datagrama

Fragmentao
Permite que um datagrama viaje por diferentes redes sem a preocupao com as tecnologias executadas

Introduo ao Protocolo IP

O Protocolo IP
Internet Procotol (IP) um protocolo da camada de rede encaminhamento dos dados numa rede
Presta todos os servios de rede
Interconexo Roteamento (Encaminhamento) Endereamento Fragmentao Encapsulamento

responsvel

pelo

o protocolo base da arquitetura da Internet e utilizado por todos os servios de aplicao

Caractersticas do IP
Datagrama (no orientado a conexo)
No necessrio estabelecer conexo antes do envio de um pacote IP Os pacotes IPs podem ser enviados a qualquer momento Os pacotes IPs podem chegar no destinatrio fora de ordem

Servio no confivel
No h garantias de entrega do pacote IP ao destinatrio Problema de perdas de pacotes devem ser tratados nas camadas superiores (transporte ou aplicao)

Endereamento
Os equipamentos conectados Internet so identificados atravs de seu endereo IP O endereo IP permite identificar de forma nica qualquer equipamento na Internet

Analogia Pacote IP - Container


Exemplo: Transporte de um conteiner de A para B O container A contm o endereo de seu destino (endereo B) vsivel
Para sair da entidade A o container colocado em um caminho (meio fsico de transporte utilizado para um transporte local equivale ao protocolo Ethernet). Este caminho no tem como endereo de destino o endereo de B, e sim, o endereo do terminal de carga da estao de trem (endereo X) O caminho (pacote Ethernet) leva o container (pacote IP) segundo as regras de trnsito local da cidade (protocolo Ethernet)

Analogia Pacote IP - Container


Ao chegar ao terminal de cargar (endereo X) o container retirado do caminho e, de acordo com seu endereo de destino, verificado qual a rota mais apropriada para lev-lo ao seu destino (roteamento IP), levando-se em conta direo, congestionamento, prioridades, etc
Para alcanar o endereo B, o container ter que ser levado de trem at o terminal de cargas do aeroporto (endereo Y). Possivelmente, este pacote pode ter que ser armazenado momentaneamente no entreposto (bufferizao) at que possa ser transportado O trem ir (pacote PPP) ir transportar o container (pacote IP) segundo as normal de transporte de trem (protocolo PPP) para o terminal de cargas Y (endereo de destino do trem)

Analogia Pacote IP - Container


Ao chegar ao terminal de cargas do aeroporto (endereo Y) o container retirado do trem. Seu destino final (endereo de B) analisado para verificar qual sua prxima escala (roteamento). Verificando as linhas existentes, congestionamento, etc foi estalebecido que o container dever ser transportado por um avio at o destino W sua prxima escala O avio (pacote FrameRelay) ir transportar o container (pacote IP) segundo as normal de transporte de avio (protocolo FrameRelay) para o terminal de cargas W
Ao chegar ao terminal de cargas do aeroporto (endereo W) o container retirado do avio. Seu destino final (endereo B) analisado para verificar qual sua prxima escala. Foi definido que o container ser transportado de caminho at o destino final B.

Cabealho IPv4

Endereamento IP
O IP um protocolo da Camada de Rede
um endereo lgico nico em toda a rede, portanto, quando estamos navegando na Internet estamos utilizando um endereo IP nico mundialmente, pois a Internet uma rede mundial Em redes locais podemos utilizar alguns endereos que no so vlidos na Internet. Estes so reservados para redes locais, mas cada mquina da rede local utilizar um nico IP nesta rede local

Endereamento IP
Permite identificar unicamente uma interface de rede de um equipamento na Internet
O endereo IP no pode ser arbitrariamente atribudo a uma interface de rede

Cada rede possui uma faixa de endereos que podem ser alocados a equipamentos

Endereos Lgicos, Fsicos e de Servio


Servio: Atribudo na camada de Transporte (TCP) e refere-se a uma aplicao que est sendo transportada (porta)
Lgico: Atribudo na camada de rede (IP) e indica a origem e destino do servio, independente do servio que est sendo transportado

Fsico: Atribudo na camada de Enlace (MAC), e indica o prximo host da rede onde o pacote ser entregue

Endereo IPV4
Um endereo IP consiste em 4 bytes ou 32 bits. Ao invs de trabalhar com 32 bits por vez, comum a prtica de segmentao dos 32 bits de um endereo IP em quatro campos de 8 bits chamados de octetos
Cada octeto convertido em um nmero de base decimal na escala de 0-255. Estes so separados por ponto. Este formato chamado de notao decimal pontuada. Em uma rede, estes nmeros devem ser nicos e seguem algumas regras que veremos a seguir:

Exemplo: 143.106.10.30 (Unicamp)

Host x Rede
Cada endereo IP inclui uma identificao de rede e uma de host (mquina):
A identificao de rede (endereo de rede) identifica os sistemas que esto localizados no mesmo segmento fsico de rede na abrangncia de roteadores IPs. Todos os sistemas na mesma rede fsica devem ter a mesma identificao de rede. A identificao de rede deve ser nica na rede

A identificao de host (endereo de host) identifica uma estao de trabalho, servidor, roteador, ou outro host TCP/IP (n da rede) dentro de uma rede. O endereo para cada host deve ser nico para a identificao de rede

Host x Rede

Classes IP
Existem 5 classes (A, B, C, D, E) de endereos IP, que iro variar conforme a quantidade de endereos de rede existentes em cada classe O objetivo das classes determinar qual a parte do endereo IP pertence a rede e qual parte do endereo IP pertence ao host, alm de permitir uma melhor distribuio dos endereos IPss

Classe A
O primeiro byte do endereo est entre 1 e 127
Exemplo: 13.0.0.1 / 80.10.69.12 / 37.25.10.99 No endereos de Classe A, o primeiro nmero identifica a rede e os outros trs identificam o prprio host

Classe B
O primeiro byte est entre 128 e 191
Exemplo: 133.0.0.1 / 140.10.69.12 / 190.25.10.99 Nos endereos Classe B, os dois primeiros nmeros identificam a rede e os outros dois nmeros identificam o host

Classe C
O primeiro byte do endereo est entre 192 e 223
Exemplo: 200.0.0.1 / 220.10.69.12 / 195.25.10.99 Nos endereos Classe C, os trs primeiros nmeros identificam a rede e os ltimos nmeros identificam o prprio host

Classe D

O primeiro byte do endereo est entre 224 e 239 Exemplo: 225.0.0.1 / 239.10.69.12 / 226.25.10.99
Est classe est reservada para criar agrupamentos de computadores para o uso de Multicast (acesso apenas a endereos que estejam configurados para receber os dados). No podemos utilizar esta faixa de endereos para enderear os computadores de usurio na rede TCP/IP

Classe E
O primeiro byte do endereo est entre 240 e 247
A classe E um endereo reservado e utilizado para testes e novas implementaes (IETF Internet Engeneering Task Force) e controles do TCP/IP

Nmeros Mximo de Hosts em Cada Classe

Conflitos IP
Para definirmos os IPs de uma rede, precisamos seguir duas regras:
Na mesma rede, os IPs de todas as mquinas devem estar na mesma rede
Por exemplo: Endereos Classe A (13.0.0.1, onde 13 a rede e 0.0.1 o host) Todos os hosts desta rede devem estar na mesma rede, ou seja, com IPs comeados por 13

Numa mesma rede no poder haver endereos IPs iguais

Conflitos IP

Mscara de Sub-Rede
Existem casos onde faz-se necessrio subdividir uma rede em redes menores. Imagine o administrador de uma rede que contm 16 milhes de hosts. Ele dever utiliza uma rede Classe A
A mscara de rede foi criada para formar sub-redes menores, e tambm possibilitar uma melhor utilizao dos endereos IP disponveis Em resumo, o parmetro mscara de sub-rede serve para confirmar ou alterar o funcionamento das Classes de endereos padres do TCP/IP Sempre dever ser configurado o IP e a mscara em uma rede

Mscara de Sub-Rede

Mscara de Sub-Rede
Em uma rede, o primeiro endereo da rede identifica o endereo da rede em si, e no poder ser utilizado em nenhum equipamento O ltimo endereo tambm no poder ser utilizado, pois reservado para broadcast dentro daquela rede
Exemplo:
IP: 200.220.171.4 Mscara: 255.255.255.0 Rede: 200.220.171.0 Broadcast: 200.220.171.255

Mscara de Sub-Rede
Tambm pode ser necessrio, em casos especiais, subdividir ainda mais as classes de endereos IP; Para isso existem outras mscaras de IP conforme exemplos abaixo:
IP: 200.220.171.0 Mask: 255.255.255.0
Endereos entre: 200.220.171.0 e 200.220.171.255

IP: 200.220.171.1 Mask: 255.255.255.128


Endereos entre: 200.220.171.0 e 200.220.171.127

IP: 200.220.171.0 Mask: 255.255.255.192


Endereos entre: 200.220.171.0 e 200.220.171.63

Endereos no vlidos na Internet


Quando quiser configurar uma rede local, voc deve usar um dos endereos reservados; endereos que no existem na Internet e que por isso podemos utilizar vontade em nossas redes particulares As faixas abaixo so reservadas para uso em redes locais

Discusso
Por que enderear as mquinas de uma rede?
Em uma mesma rede podemos ter mquinas com o mesmo nmero IP? Em redes diferentes podemos ter mquinas com o mesmo nmero IP? Para que usar a mscara de sub-rede?

Endereo IPv5
Protocolo de (experimental) fluxo em tempo real

Nunca foi amplamente utilizado

Endereo IPv6
Com a exploso da Internet e com o surgimento constante de novos servios, os atuais IPv4 esto se tornando escassos. Surge ento, a necessidade de implementarmos um novo padro de endereamento (IPv6) Ele um nmero que foi criado para substituir o antigo IPv4. Possui 128 bits, enquanto o IPv4 possui apenas 32 bits
Exemplo em representao hexadecimal: 1080:0:0:0:8:800:200C:417A

Endereos IPv6 - Benefcios


Capacidade expandida de Roteamento e Endereamento
Simplificao do formato do cabealho

Qualidade de Servio
Autenticao e Privacidade

Endereo IPv6 - Interoperabilidade


Este padro tambm foi criado para permitir que redes IPv4 possam se conectar em redes IPv6 Ex: convertendo o (192.168.20.30) para IPv6
0:0:0:0:0:0:192.168.20.30

endereo

IPv4

IPv4 x IPv6

Tamanho do Datagrama, MTU de Rede e Fragmentao


MTU (Unidade Mxima de Transmisso) determinada pelas caractersticas fsicas da rede Representa o tamanho no qual o IP se baseia para determinar a necessidade ou no da fragmentao de datagramas
Rede
Ethernet IEEE 802.3 FDDI Token Ring

MTU (bytes)
1500 1492 4352 4464

X.25

576

Fragmentao de Datagramas IPv4


Ao comparar o tamanho do datagrama com o do MTU, o IP decide pela fragmentao ou no
A remontagem do datagrama se dar somente em seu destino, e cada um dos fragmentos percorrem a rede at o destino como se fossem datagramas separados Qual desvantagem da remontagem ser feita somente em seu destino final? MTU maiores e perda de fragmentos

O controle de fragmentao se d baseado em trs campos do cabealho IP, que so: Identificao, Flags e Deslocamento do Fragmento (fragmentation offset)

Fragmentao de Datagramas IPv4


O campo de identificao permite a localizao dos vrios fragmentos pertencentes a um datagrama
O deslocamento indica a posio de cada fragmento dentro do datagrama original Os flags so 2 bits que permitem controle de fragmentao e identificao do ltimo trecho do datagrama:
Bit 1 (Flag) No fragmente: Sinaliza que o datagrama no deve ser fragmentado. Se o Gateway no puder manipular o datagrama, o mesmo descartado e uma mensagem de erro enviada a fonte Bit 0 (Flags) Mais Fragmentos: Identifica se o fragmento contm dados do meio ou do fim do datagrama

Fragmentao de Datagramas IPv4


Informaes necessrias para remontagem de datagramas:
Diferenciar datagramas e fragmentos de datagrama Determinar quando todos os fragmentos foram recebidos Saber como reordenar os fragmentos e remontar o datagrama original

Fragmentao de Datagramas IPv4


Utilizao dos campos do cabealho
Todos os fragmentos recebem o mesmo nmero de identificao do datagrama original O ltimo fragmento tem o campo flag setado para zero O campo fragmentation offset usado para especificar a posio do fragmento dentro do datagrama original No destino, o payload do datagrama entregue para a camada de transporte apenas depois da camada de rede ter reconstrudo o datagrama original Se um ou mais fragmentos no chegam ao destino o datagrama incompleto descartado (no entregue a camada de transporte)

ALGORITMOS DE ROTEAMENTO

Algoritmos de Roteamento
A principal funo da camada de rede rotear pacotes Quando um pacote chega no roteador, o roteador indexa a tabela de redirecionamento e determina a interface de sada para a qual o pacote deve ser redirecionado Algoritmos de roteamento executados nos roteadores trocam e processam informaes para configurar e atualizar as tabelas de redirecionamento A meta determinar boas rotas!

Algoritmos de Roteamento
Redes de datagrama ou circuito virtual
Algoritmos de roteamento so necessrios independentemente do servio provido pela camada de rede:
Rede datagrama diferentes pacotes entre um dado par fonte-destino podem tomar rotas distintas Redes circuito virtual todos os pacotes entre um par fonte-destino tomam o mesmo caminho, a rota construda quando o circuito estabelecido

O que so boas rotas?


Diferentes fatores podem ser considerados na escolha de boas rotas O fator bsico a a rota de menor custo, mas restries do tipo o roteador X no redireciona pacotes da organizao Z tambm podem surgir A estrutura de dados grafo usada para formular o problema de roteamento:
A rede um grafo (V, A), onde os vrtices (V) so os roteadores e as arestas (A) so os enlaces fsicos entre roteadores O custo das arestas podem representar informaes distintas. Ex: comprimento do enlace, taxa de transmisso, custo

Requisitos e propriedades do algoritmo de roteamento


Requisito bsico
Capacidade de lidar com as modificaes na topologia e trfego da rede (sem requisitar que os processos nos hosts sejam reiniciados a cada falha de enlace ou roteador)

Propriedades desejveis
Corretude, Simplicidade, Robustez, Estabilidade, Justia, Optimalidade

Princpio da Optimalidade
Diz que se J est no caminho timo do roteador I ao roteador K, ento o caminho timo de J para K cair na mesma rota
Como consequncia, o conjunto de rotas timas de todas as fontes para um dado destino forma uma rvore com raiz no destino

A meta dos algoritmoes de roteamento encontrar essas rvores para todos os roteadores

Exemplo de rvores de roteamento

Redes de Computadores, Tanembaum, 4 ed. 2003

Classificao dos Algoritmos de Roteamento


Global versus Descentralizado Estticos versus Dinmicos
Sensveis a congestionamento versus Nosensveis a congestionamento

Algoritmos Globais
Usa o conhecimento global da rede (todas as conectividades e seus custos)
O processamento das rotas de menor custo pode ser feito em um n central ou replicado em vrios ns

Algoritmos dessa classe so chamados de algoritmos de estado de enlace (link-state LS)

Algoritmos Descentralizados
O clculo dos caminhos mnimos feito de modo distribudo, interativo e assncrono
No requer que os ns conheam todas as conectividades da rede e seus custos, cada n inicia apenas com a informao de custos dos seus enlaces diretos Os ns trocam informaes com os vizinhos diretos para ento calcular os custos para os demais destinos

Algoritmos dessa classe so chamados algoritmos de vetor distncia (distance vector DV)

Algoritmos Estticos e Dinmicos


Estticos
No fazem medidas ou estimativas do trfego e topologia da rede para a tomada de deciso Aplicveis quando as todas mudam muito pouco (ex: apenas quando h interferncia humana)

Dinmicos
As rotas mudam com a mudana de carga e topologia da rede As informaes podem ser obtidas localmente ou dos vizinhos O algoritmo pode executar periodicamente ou em resposta aos eventos e mudan~ca (ex: topologiam, custos dos enlaces)

Algoritmos sensveis e no-sensveis a congestionamento


Sensveis
Os custos dos enlaces variam dinamicamente para refletir o nvel de congestionamento do enlace

No-sensveis
Os custos dos enlaces no refletem o nvel de congestionamento (ex: algoritmos de roteamento na Internet: RIP, OSPF, BGP)

Inundao (flooding)
Todo pacote redirecionado para todas as sadas (exceto aquela por onde o pacote chegou)
Dificuldades e alternativas: Gera um nmero infinito de pacotes duplicados (requer medida de controle)
Incluir um contador de saltos no cabealho do pacote que deve ser decrementado por cada roteador, quando o contador chega a zero o pacote deve ser descartado Manter informao sobre quais pacotes foram redirecionados (o emissor dever incluir um nmero de sequncia em cada pacote) Inundao seletiva (o pacote duplicado para as linhas de sada com maior chance de estarem na direo correta)

Quando usar inundao?


Flooding no vivel na maioria das aplicaes, mas tem algumas vantagens:
Robustez: maior chance de entrega dos pacotes Atualizao concorrente: todos os ns recebem a informao ao mesmo tempo Mtricas de comparao: usado como comparao com outros algoritmos (inundao sempre encontra o menor caminho com o menor atraso porque experimenta todos em paralelo)

Algoritmo de roteamento de estado de enlace (LS)


Passos executados em cada roteador:
Descobrir seus vizinhos (envio/resposta de pacote HELLO) Medir o atraso ou custo para cada vizinho (envio/resposta de pacote ECHO e clculo de RTT)

Construir um pacote com tudo o que aprendeu (identidade do emissor, nmero de sequncia e idade, lista de vizinhos e atraso calculado para cada vizinho)
Enviar esse pacote para todos os outros roteadores Computar o menor caminho para todos os outros roteadores

Pacotes com informaes dos vizinhos

Redes de Computadores, Tanembaum, 4 ed. 2003

Distribuindo os pacotes de estado de enlace


A ideia bsica usar inundao Para manter a inundao limitada, cada pacote contm um nmero de sequncia que incrementado para cada novo pacote enviado Roteadores mantm informaes dos pares (roteador fonte/nmero de sequncia) recebidos
Novos pacotes so comparados com o histrico (se novo redirecionado para todas as demais sadas, se duplicado descartado, se anterior a um pacote recebido considerado obsoleto e rejeitado)

Distribuindo os pacotes de estado de enlace


Questes a tratar:
No repetir nmeros de sequncia (32 bits) Se um roteador falha e perde o histrico, quanto reinicia comea com nmero de sequncia 0, os novos pacotes sero vistos como duplicados
Se o nmero de sequncia corrompido (ex: 65540 ao invs de 4), pacotes vlidos podero ser rejeitados como obsoletos

Distribuindo os pacotes de estado de enlace


Uso de campo com idade
A incluso do campo idade em cada pacote, e o decremento dos mesmo nos roteadores, resolve os problemas citados
Quando a idade chega a zero a informao do roteador relacionado descartada (normalmente um novo pacote chegar antes da expirao)

Computando novas rotas


Uma vez que o roteador acumulou um conjunto de pacotes de estado de enlace, ele pode , ele pode construir o grafo da subrede O algoritmo de Dijktra aplicado localmente para construir o menor caminho para todos os destinos possveis
Os resultados so redirecionamento armazenados na tabela de

O protocolo OSPF, usado na Internet, implementa o algoritmo de estado de enlace

Algoritmo de Dijkstra
Escolhido um vrtice como raiz da busca, o algoritmo calcula o custo mnimo deste vrtice para todos os demais vrtices do grafo
Ele bastante simples e com um bom desempenho, a restrio mais importante que ele no garante exatido da soluo na ocorrncia de custos com valores negativos

O algoritmo parte da estimativa inicial para o custo mnimo e vai sucessivamente ajustando esta estimativa
Considera que um vrtice est fechado quando j foi obtido um caminho de custo mnimo do vrtice raiz de busca at esse vrtice

Algoritmo de Dijkstra para Caminhos Mnimos

Redes de Computadores, Tanembaum, 4 ed. 2003

Algoritmo LS
Quando o LS termna, tem-se para cada n (roteador) o seu predecessor no caminho mnimo Com essa informao possvel determinar todos os caminhos de custo mnimo do roteador fonte a todos os destinos
A tabela de redirecionamento atualizada armazenando para cada destino o n (roteador) do prximo salto

Algoritmo de roteamento vetor distncia (DV)


Algoritmo distribudo, interativo e assncrono
Cada n (roteador) recebe informao dos seus vizinhos diretos, processa essas informaes e envia os resultados de volta para os vizinhos (caractersticas de algoritmo distribudo) O processo continua at cessar a troca de informaes entre vizinhos (caracterstica de interatividade) Os ns (roteadores) no precisam sincronizar suas operaes (caracterstica de assincronismo) O protocolo RIP, usado na Internet, implementa o algoritmo de vetor distncia

Algoritmo de roteamento DV
Cada roteador X mantm as seguintes informaes:
O custo c(x,v) do enlace de X ligado diretamente a V, para todo vizinho V de X O vetor distncia de x, com a estimativa de custo a todos os destinos (roteadores) y em N O vetor de distncia de cada um de seus vizinhos

Algoritmo de roteamento DV
Execuo do algoritmo:
De tempos em tempos, cada n envia uma cpia do seu vetor de distncia para cada um de seus vizinhos Quando um n recebe um vetor de distncia , ele salva e atualiza o seu vetor de distncias Se o vetor distncia de X alterar, X envia o seu novo vetor de distncias para todos os seus vizinhos

Algoritmo de roteamento DV
Atualizao da tabela de redirecionamento:
Para atualizar a tabela de redirecionamento do roteador para um dado destino Y, o n X precisa saber apenas o n vizinho V que o mais prximo salto no caminho mnimo at Y
Dentro do prprio algoritmo, para cada destino Y, o n X determina o vizinho V e atualiza a sua tabela

Execuo do algoritmo de roteamento DV

Modificaes nos custos dos enlaces


Se o custo de um enlace mudar, o n na terminao do enlace detectar a mudana, atualizar o seu vetor de distncias e o enviar aos seus vizinhos Os vizinhos atualizaro os seus vetores distncia e os enviaro de volta aos vizinhos at convergirem

Contagem at o infinito

Contagem at o Infinito

Contagem at o Infinito

Contagem at o Infinito

Comparao entre LS e DV
Ambos so usados na Internet Complexidade de mensagens
LS requer O (V * A) e sempre que o custo de um enlace muda, o novo custo deve ser enviado a todos os ns DV requer trocas de mensagens apenas entre vizinhos diretos a cada interao, mas o tempo para o algoritmo convergir depende de vrios fatores

Robustez
No LS, como cada n computa a sua tabela de redirecionamento, a presena de ns falhos no causa problemas srios No DV, informaes corrompidas podem afetar toda a rede, uma vez que elas so repassadas e usadas para o clculo de outras distncias

ROTEAMENTO NA INTERNET

A Camada de Rede na Internet


Na camada de rede, a Internet pode ser vista como uma coleo de subredes, ou sistemas autnomos interconectados (RFC 1958) No h uma estrutura global, mas vrios backbones principais construdos com enlaces de largura de banda alta e roteadores com grande capacidade de processamento Ligados aos backbones esto as redes regionais e ligada s redes regionais esto as LANs (Universidades, ISPs, etc)

A camada de rede na Internet

A comunicao na Internet
Funcionamento Geral:
A camada de transporte recebe um stream de dados e os divide em datagramas (podem ter at 64 Kbytes) Cada datagrama transmitido na Internet, podendo ser fragmentado em pedaos menores Quando todos os pedaos chegam ao destino, o datagrama remontado e entregue camada de transporte

Protocolo IP
A cola que mantm a Internet o protocolo IP (projetado desde o incio com o objetivo de interconectar redes existentes)
Um endereo IP no se refere a um host propriamente, mas a uma interface de rede (se um host est em duas redes, ele deve ter dois endereos IP)

O datagrama IP transmitido da esquerda para a direita (ordem big-endian), os bits mais significativos so campo de verso

Configurao usual de subredes e roteadores


Na Internet, as partes de uma rede so chamadas subredes:

Subredes e nmeros de subredes


Como o roteador sabe para qual subrede redirecionar um pacote?
A forma direta ter uma entrada na tabela de redirecionamento para cada host fina (dificuldade de manuteno) A alternativa usar parte dos bits do host no endereo IP para criar um nmero de subrede Para implementar subredes, o roteador principal precisa de uma mscara de subrede, que serve para indicar a diviso entre rede+nmede subrede e host

Mscara de subredes
Mscara de subredes so escritas na forma usual (decimal separados por ponto), seguindo de barra e nmero de bits da rede + subrede. Ex: a mscara 255.255.255.0 escrita como 255.255.255.0/22 (22 bits o tamanho da mscara)

Exemplos de subredes
Mscara 255.255.252.0
10000010 00110010 00000100 00000000 (130.50.4.0/22) 10000010 00110010 00001000 00000000 (130.50.8.0/22) 10000010 00110010 00001100 00000000 (130.50.12.0/22)

Quando um pacote endereado para 130.50.15.6 recebido, feito um AND com a mscara de subrede 255.255.252.0/22 para dar o endereo 130.50.12.0 Este endereo buscado na tabela de redirecionamento para encontrar o enlace de sada

Roteamento Interdomnios sem classes


A diviso dos endereos IP em classes trouxe dificuldades com relao ao limite de endereos disponveis
Para muitas organizaes, a classe A com 16 M endereos muito grande e a classe C com 256 endereos muito pequena A classe B com 65 K endereos o meio termo, mas ainda muito grande para vrias organizaes

Uma soluo foi o CIDR (Roteamento Interdomnio sem Classes RFC 1519): alocar os endereos IPs restantes em blocos de tamanho variados sem relao com as classes

Roteamento Interdomnios sem Classes


Tabela de redirecionamento
No conta mais com a hierarquia de classes (tabelas distintas para as classes A, B e C) Cada entrada na tabela de redirecionamento foi estendida com uma mscara de 32 bits e contm um array tripo: endereo IP base, mscara de subrede e enlace de sada

Roteamento Interdomnios sem Classes


Redirecionamento de pacotes
Quando um pacote recebido, o endereo IP destino extrado A tabela de redirecionamento varrida, entrada por entrada, mascarando o endereo destino e comparando o resultado com o endereo IP base da entrada da tabela possvel que vrias entradas (com tamanhos diferentes de mscaras) combinem, nesse caso a maior mscara usada (ex, se combina com /20 e /24, a entrada /24 usada)

Protocolo de Resoluo de Endereos ARP


Como h dois endereamentos da camada de rede (IP) e da camada de enlace (MAC) necessrio ter um esquema de traduo entre eles
Na Internet essa tarefa feita pelo protocolo de resoluo de endereos ARP

Para enviar um datagrama, a camada de rede deve passar o prprio datagrama (pacote da camada superior) e o endereo MAC do destino O ARP usado pelo emissor do fram para traduzir o endereo IP em endereo MAC de um host de uma mesma subrede

Funcionamento do ARP
Transmisso entre hosts da mesma subrede
Cada host ou roteador tem uma tabela ARP com os mapeamentos IP/MAC O campo TTL (Time-To-Lived) indica quando o mapeamento deve ser retirado da tabela (um tempo tpico 20min) Quando o mapeamento desejado no encontrado na tabela, o emissor constroi um pacote especial chamada pacote ARP, o qual inclui campos para endereo IP e MAC do emissor e receptor

Funcionamento do ARP
Transmisso entre hosts da mesma subrede
O propsito desse pacote perguntar a todos os ns da rede o endereo MAC correspondente ao IP dado O pacote entregue ao mdulo ARP em cada n da subrede Cada n checa se o seu endereo IP combina com o endereo IP do destinatrio Um dos ns devolver o pacote ARP com o mapeamento desejado O n que solicitou a consulta pode ento atualizar a sua tabela ARP

Transmisso de datagramas para outras subredes


Quando o host destino est em outra subrede, uma soluo enviar o pacote para um endereo MAC default na subrede que manipula o trfego externo (roteador da subrede)

Envio de datagramas para outras subredes

Envio de datagramas para outras subredes

DHCP (Dynamic Host Configuration Protocol)


O ARP resolve o problema de encontrar um endereo Ethernet para um dado endereo IP Outro problema o reverso, dado um endereo MAC encontrar o endereo IP correspondente O protocolo DHCP (RFC 2131 e RFC 2132) permite a designao manual ou automtica de um endereo IP

Funcionamento do DHCP
DHCP baseado na ideia de um servidor especial que designa endereos IP para hosts que os requisitam O servidor DHCP no precisa estar na mesma LAN do host, nesse caso um agente DHCP necessrio em cada LAN Para receber um endereo IP, o host envia por broadcast um pacote DHCP Discovery O agente DHCP intercepta todos os broadcasts DHCP e reencaminha os pacotes para o servidor DHCP A nica informao necessria para o agente DHCP o endereo IP do servidor DHCP

Funcionamento do DHCP

Extenso de endereos de rede


Network Address Translation (NAT)
Vimos que todo dispositivo capaz de acessar a Internet requer um endereo IP Quando a poro contnua de endereos IP j est alocada, preciso estend-la O problema de escassez de endereos IP deve ser resolvido com a migrao para IPv6 Enquanto isso, uma estratgia que tem se tornado comum o uso de NAT (RFC 2663 e RC 3022)

Extenso de endereos de rede (NAT)


Ideia Bsica
A rede local recebe um (ou mais) endereos IP para trfego na Internet Dentro da rede local cada host ganha um endereo IP que usado para o roteamento interno Quando um pacote precisa sair da rede local, o endereo IP local traduzido no endereo IP real da rede local

Extenso de endereos de rede (NAT)

Extenso de endereos de rede (NAT)


Endereos IP privados para o NAT
Para tornar esse esquema possvel, trs faixas de endereos IP foram declarados privados:
10.0.0.0 172.16.0.0 192.168.0.0

Pacotes que trafegam para fora dessa subrede no podem usar esses endereos porque outras redes podem fazer o mesmo

Operao do NAT

Dificuldades do NAT
Como direcionar um pacote para um host dentro da rede NAT?
Os projetistas do NAT observaram que a maioria dos pacotes IP carregam payload TCP ou UDP e decidiram usar o campo de nmero de porta desse cabealho para completar a operao do NAT

Funcionamento do NAT
Envio de pacotes
Sempre que um pacote da rede interna chega ao NAT, o IP fonte traduzido e o nmero da porta fonte substitudo por um ndice na tabela de traduo NAT (at 65K entradas) Cada entrada na tabela contm o endereo IP e a porta original Os checksum IP e TCP/UDP so recomputados e inseridos no pacote

Funcionamento do NAT
Recebimento de pacotes
Quanto um pacote chega no box NAT, o nmero da porta fonte extrado e usado para indexar a tabela de mapeamento do NAT Quando a entrada localizada, o IP interno e a porta TCP originais so extrados e inseridos no pacote Os checksums so recomputados e inseridos no pacote O pacote ento passado para o roteador usando o endereo 10.x.y.z

Crticas ao NAT
Nmero de portas so para enderear processos, e no hosts (violao da arquitetura em camadas) O protocolo NAT viola o argumento de interao fim-afim entre hosts sem interferir em nmero IP e porta Faz a Internet um tipo de rede orientada conexo (o NAT precisa manter informaes sobre cada conexo) Funciona apenas para aplicaes que usam os protocolos TCP/UDP Deveria-se usar IPv6 para lidar com o problema de espao de endereos IPv4

ALGORITMOS DE ROTEAMENTO NA INTERNET E ICMP

Roteamento intra-AS na Internet (RIP)


RIP (Routing Information Protocol) um protocolo de vetor de distncia Foi includo no incio dos anos 80 na verso BSD do UNIX com suporte a TCP/IP A verso original (RFC 1058) usa nmero de saltos (hops) como mtrica de custo, i.e. cada enlace tem custo 1 Os custos so contabilizados do roteador fonte at a subrede de destino (cada AS normalmente contm vrias subredes), incluindo essa subrede

RIP

RIP
O custo mximo de um caminho limitado em 15, o que restringe o uso do RIP em ASs com dimetros menor que 15 saltos
No RIP atualizaes de roteamento so trocadas entre vizinhos a cada 30 seg (aproximadamente) usando a mensagem RIP response message ou RIP advertisements

A mensagem enviada contm uma lista de at 25 subredes destino dentro do AS, junto com a distncia do emissor a cada uma delas
Cada roteador mantm uma tabela de roteamento: tabela de redirecionamento + vetor de distncia

RIP

Aspectos da implementao do procotolo RIP


Falhas nos roteadores vizinhos
Se um roteador no receber mensagens de um vizinho por mais de 180 seg, o vizinho considerado inalcanvel (o roteador morreu ou o enlace foi perdido) O RIP modifica a sua tabela de roteamento e a propaga para os demais vizinhos

Aspectos da implementao do procotolo RIP


Um roteador pode requisitar informaes sobre custos dos vizinhos para um dado destino usando mensagens RIP (usa UDP e porta 520) Uso de protocolo de transporte para implementar roteamento da camada 3! A implementao do RIP em uma estao de trabalho UNIX cria um processo chamado routed (esse processo responsvel por manter informaes de roteamento e troca de mensagens com outros processos routed em roteadores vizinhos)

Processamento da tabela RIP

Roteamento intra-AS na Internet (OSPF)

OSPF (Open Shortest Path First): projetado como sucessor do RIP, apresenta vrias caractersticas avanadas
A verso mais atual do OSPF defina na RFC2328 um protocolo que usa flooding (inundao) para obter informaes do grafo de roteadores e o algoritmo de caminhos mnimo de Dijkstra Os custos individuais de cada enlace so configurados pelo administrador da rede Os roteadores divulgam as informaes de estado de enlace sempre que h mudanas, e periodicamente (cerca de 30min) para aumentar a robustez

Roteamento intra-AS na Internet (OSPF)


Classes de roteadores
Roteadores internos dentro de uma rea Roteadores de borda de rea (conectam duas reas internas de um AS) Roteadores de backbone Roteadores de borda da AS (conectam as ASs)

Roteamento na Internet

Roteamento intra-AS na Internet (OSPF)


Avisos OSPF so includos em mensagens OSPF que so carregadas diretamente pelo protocolo IP, usando o cdigo de protocolo 89
O prprio OSPF deve implementar funcionalidades como transferncia confivel de mensagens e broadcast LS O OSPF checa os enlaces com mensagens HELLO

Vantagens incorporadas pelo OSPF

Segurana: trocas de mensagens entre roteadores (ex: atualizao de LS) podem ser autenticadas
Diferentes mtricas de distncia: incluindo distncia fsica, atraso, e outras Vrias rotas de mesmo custo: permite que vrias rotas de mesmo custo sejam usadas (balanceamento de carga) Suporte integrado para roteamento unicast e multicast: MOSPF (Multicast OSPF) prov extenses ao OSPF para oferecer roteamento multicast Suporte para hierarquia dentro de um domnio nico de roteamento: possibilita estruturar um AS de forma hierrquica

Roteamento hierrquico do OSPF

Roteamento inter-AS na Internet


Um protocolo diferente necessrio entre Ass porque as metas de um protocolo intra-AS e de um protocolo inter-AS so diferentes Todo protocolo intra-AS deve mover os pacotes de maneira mais eficiente possvel (e no precisa se preocupar com polticas de uso) No caso do protocolo inter-AS, determinadas ASs podem recusar transportar pacotes de outras ASs, mesmo que ofeream o caminho mais curto

Roteamento inter-AS na Internet (BGP)


BGP (Border Gateway Protocol) (RFC4271): o padro usado hoje na Internet, e prov as seguintes funcionalidade para os ASs:
Obter informaes de alcance de subredes de ASs vizinhos Propagar a informao de alcance para todos os roteadores internos ao AS Determinar boas rotas para subredes baseado nas informaes de alcance e polticas do AS O BGP permite que cada subrede avise sua existncia para o resto da Internet

Roteamento inter-AS na Internet


Classificao das redes
Redes stub: possuem apenas uma conexo com o grafo BGP, no podem ser usadas para transportar pacotes de terceiros Redes multiconectadas: podem ser usadas para transportar pacotes de terceiros, a menos que se recusem Redes de trnsito: a finalidade tratar pacotes de terceiros (possivelmente com restries), o caso dos backbones

Sesses internas e externas no BGP


Os pares de roteadores trocam informaes de roteamento estabelecendo conexes TCP
Prov comunicao com garantia de entrega e oculta todos os detalhes da rede

Para cada conexo TCP, os dois roteadores nas portas de conexo so chamados peers BGP e a conexo TCP com todas as mensagens trocadas chamada BGP session Uma sesso BGP que envolve dois ASs chamada external BGP session e uma sesso entre roteadores do mesmo AS chamada internal BGP session (iBGP)

Sesses internas e externas no BGP


Usando as sesses externas, os ASs trocam listas de prefixos de subredes alcanveis por cada AS Usando as sesses internas, quando um gateway recebe prefixos BGP, ele os distribui para outros roteadores do AS Destinos em BGP so subredes ou coleo de subredes (ex: 138.16.64.0/22)

Caractersticas de implementao do BGP


O BGP um protocolo de vetor distncia, mas um pouco diferente de outros protocolos desse tipo (ex: RIP)
Ao invs de manter apenas o custo de cada destino, cada roteador BGP mantm a informao do caminho (rota) usado e informa aos seus vizinhos (periodicamente) esse caminho ajuda a resolver o problema da contagem ao infinito

Caracterstica de implementao do BGP


Funo de custos das rotas
Todo roteador BGP contm um mdulo que examina rotas para um dado destino

As distncias para cada destino so ranqueadas (rotas que violam polticas de uso so marcadas com distncia = infinito) O roteador escolhe a rota de menor custo A funo custo no faz parte do protocolo e pode ser qualquer funo que o administrador do sistema deseje

Exemplo de execuo do BGP


Supondo que F usa a rota FGCD para chegar a D
Depois de receber as informaes dos vizinhos, ele descarta os caminhos de I e E porque passam pelo prprio F O BGP examina as outras rotas recalculando as distncias ao destino D Se existir alguma restrio em uma rota sugerida, o custo vai para o infinito

ICMP (Internet Control Message Protocol) RFC792


A camada de rede da Internet tem trs componentes principais:
Protocolo IP Protocolos de Roteamento (RIP, OSPF e BGP) ICMP: usado pelos hosts e roteadores para trocar informaes da camada de rede

Protocolo ICMP
Arquiteturalmente o ICMP est acima do protocolo IP, uma vez que as mensagens ICMP so transportadas dentro de um datagrama IP (da mesma maneira que segmentos TCP e UDP)
Mensagens ICMP possuem um campo de tipo e cdigo acrescidas do cabealho e dos primeiros 8 bytes do datagrama IP que gerou a mensagem ICMP (assim o emissor pode determinar o datagrama que causou o erro)

Protocolo ICMP
Exemplo:
O programa ping envia uma mensagem ICMP do tipo 8, cdigo 0 O receptor envia de volta uma mensagem do tipo 0, cdigo 0 O programa traceroute usa as respostas ICMP para realizar a sua tarefa

Tipos de mensagens ICMP

Das könnte Ihnen auch gefallen