Capítulo 4: Camada de Rede. Explicar as funções da camada de rede

Documentos relacionados
Capítulo 4: Camada de rede

Conceito de Serviço Universal. Conceito de Serviço Universal. Arquitetura de uma internet. Hardware básico de uma internet. Serviço universal:

Camada de Rede. Redes de Computadores. Motivação para interconexão. Motivação para interconexão (DCC023) Antonio Alfredo Ferreira Loureiro

Algoritmo baseado em vetor de distâncias

Revisão de Introdução às TCP-IP INTERNET. Redes de Computadores TCP/IP

Hierarquia de AS. Formato do Datagrama IP. IP Fragmentação e Remontagem. IP Fragmentação e Remontagem. ICMP: Internet Control Message Protocol

Redes de computadores e a Internet. A camada de rede

Redes de Computadores I - Princípios de Roteamento. por Helcio Wagner da Silva

Visão geral da arquitetura do roteador

Redes de computadores e a Internet. Capitulo 4. Capítulo. A camada de rede

Redes de Computadores e Aplicações. Aula 37 Roteamento IP Unicast Dinâmico RIP

CCNA 1 Roteamento e Sub-redes. Kraemer

REDES DE COMPUTADORES E TELECOMUNICAÇÕES MÓDULO 11

Open Shortest Path First (OSPF)

tabela de repasse local valor cab. enlace saída 2010 Pearson Prentice Hall. Todos os direitos reservados.

Redes de Computadores Nível de Rede

Redes de computadores e a Internet. Prof. Gustavo Wagner. A camada de rede

Redes de Computadores

Redes de Computadores

também conhecido como Interior Gateway Protocols (IGP) protocolos de roteamento intra-as mais comuns:

MPLS MultiProtocol Label Switching

Camadas do TCP/IP. Camada de Rede Protocolo IP. Encapsulamento dos Dados. O Protocolo IP. IP visto da camada de Transporte.

Camada de Rede. 4: Camada de Rede 1

Redes de Computadores I

Curso de extensão em Administração de sistemas GNU/Linux: redes e serviços

Capítulo 6: Roteamento Estático. Protocolos de roteamento

Redes de Computadores

Redes de Computadores

Capítulo 4 - Sumário

Redes de Computadores

RIP OSPF. Características do OSPF. Características do OSPF. Funcionamento do OSPF. Funcionamento do OSPF

FUNDAMENTOS DE REDES DE COMPUTADORES Unidade IV Camada de Rede. Luiz Leão

# $ % & ' ( ) * ' ( ) *! " " Orientador +, -

Capítulo 7: Roteando Dinamicamente (Resumo)

Redes de Computadores III / /

Redes de Computadores

Redes de Computadores

TCP/IP Protocolos e Arquiteturas

Fornecer serviços independentes da tecnologia da subrede; Esconder do nível de transporte o número, tipo e a topologia das subredes existentes;

A camada de rede. A camada de rede. A camada de rede. 4.1 Introdução. 4.2 O que há dentro de um roteador

Visão geral sobre encaminhamento

Aula 13 Roteamento Dinâmico com Protocolos Link-State (Protocolo OSPF)

Resumo P2. Internet e Arquitetura TCP/IP

Roteamento na Internet

IPv6. Problema do espaço de endereços do IPv4 Outros problemas abordados

Endereçamento IP: introdução. Sub-redes. interface: conexão entre hospedeiro/ roteador e enlace físico. O que é uma sub-rede?

Arquitetura da Internet TCP/IP

Redes de Computadores. Protocolos TCP/IP

Redes de Computadores 2 Prof. Rodrigo da Rosa Righi - Aula 6

Nome: Nº de aluno: 3ª Ficha de Avaliação 20/5/2014

Jéfer Benedett Dörr

Jéfer Benedett Dörr

Interconexão de redes locais. Repetidores. Hubs. Existência de diferentes padrões de rede

Redes de Computadores 2 Prof. Rodrigo da Rosa Righi - Aula 2

Formação para Sistemas Autônomos OSPF. Formação para Sistemas Autônomos

AULA 2 - INTERNET. Prof. Pedro Braconnot Velloso

Camada de rede do modelo OSI Redes de Comunicação Módulo 3 Parte 2

IPv6 FEUP MPR. » Espaço de endereçamento pequeno» Usado de forma descontínua» Algumas alterações para resolver estes problemas

Protocolo MPLS: Multiprotocol Label Switching

Tecnologias e Componentes de Redes

Universidade Federal de Campina Grande Unidade Acadêmica de Engenharia Elétrica - UAEE. Redes de Computadores

CST em Redes de Computadores

Redes de Computadores. Redes de Computadores

Capítulo 10 - Conceitos Básicos de Roteamento e de Sub-redes. Associação dos Instrutores NetAcademy - Julho de Página

Roteamento Prof. Pedro Filho

Aula 12 Protocolo de Roteamento EIGRP

Curso: Sistemas de Informação Disciplina: Redes de Computadores Prof. Sergio Estrela Martins

Redes de Computadores I

Redes. DIEGO BARCELOS RODRIGUES Ifes - Campus Cachoeiro de Itapemirim

AULA 07 Roteamento Dinâmico com Protocolo RIP

Redes de Computadores

Capítulo 4: Conceitos de Roteamento

Tecnologia de Redes de Computadores - aula 2

UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

Aula-17 Interconexão de Redes IP (Internet Protocol) Prof. Dr. S. Motoyama

Parte I: Introdução. O que é a Internet. Nosso objetivo: Visão Geral:

Interconexão de Redes Parte 3. Prof. Dr. S. Motoyama

Redes de Computadores

Canais de Comunicação

RCO2. Redes Locais: Interligação de LANs com roteadores

REDES DE COMPUTADORES. Camada de Rede. Prof.: Agostinho S. Riofrio

Redes de Computadores

Capítulo 4 Camada de rede

Packet Tracer 4.0: Overview Session. Conceitos e práticas

RIP Routing Information Protocol

Nome: Nº de aluno: 2ª Ficha de Avaliação Teórica Data Limite de Entrega: 06/11/2016

REDES DE COMPUTADORES

Redes de Computadores. Aula: Roteamento Professor: Jefferson Silva

Redes TCP-IP. Protocolo ICMP. Pilha TCP/IP. Protocolo ICMP Internet Control Message Protocol. Introdução ao Protocolo ICMP

Prof. Luís Rodolfo. Unidade III REDES DE COMPUTADORES E TELECOMUNICAÇÃO

Redes de computadores. Monteiro, Emiliano S. Professor Out/2016

Protocolos de Roteamento Dinâmico (Vetor de Distância)

Protocolos e Arquiteturas de Redes. Thiago Leite

REDES DE COMPUTADORES. Infraestrutura de Redes de Computadores

Aula 3 Redes de Interconexão

Capítulo 2 - Sumário. Endereçamento em Sub-redes, Super-Redes (CIDR) e VLSM

Camada de Rede. Endereçamento de Rede Protocolo IP

Redes de Computadores

CST em Redes de Computadores

Transcrição:

Redes de Computadores Camada de Rede Capítulo 4 Kurose & Ross Prof: José Marcos Silva Nogueira Universidade Federal de Minas Gerais Departamento de Ciência da Computação Belo Horizonte - 008 Capítulo 4: Camada de Rede Objetivos do Capítulo Explicar as funções da camada de rede Roteamento (escolha de caminho) Escalabilidade Como funciona um roteador Tópicos avançados: ipv6, multicast Instanciação e implementação na Internet

Camada de Rede Sumário Modelo de serviços da camada de rede Roteamento: seleção de rotas Roteamento hierárquico O protocolo Ip Protocolos de roteamento da internet Intra-domínio Inter-domínio Funcionamentao de um roteador IP O protocolo Ipv6 Roteamento multicast Modelo de serviço de redes Funções da Camada de Rede Transportar pacotes entre os sistemas finais da rede A camada de rede deve ter uma entidade em cada sistema final ou roteador da rede aplicação transporte rede enlace fisica rede enlace fisica rede enlace fisica rede enlace fisica rede enlace fisica rede enlace fisica rede enlace fisica rede enlace fisica rede enlace fisica aplicação transporte rede enlace fisica

Modelo de serviço de redes Três funções importantes: Determinação de caminhos: rota escolhida para os pacotes entre a origem e o destino. Algoritmos de roteamento Comutação: mover pacotes entre as portas de entrada e de saída dos roteadores Estabelecimento de conexão: algumas arquiteturas de rede exigem o estabelecimento de circuitos virtuais antes da transmissão de dados aplicação transporte rede enlace fisica rede enlace fisica rede enlace fisica rede enlace fisica rede enlace fisica rede enlace fisica rede enlace fisica rede enlace fisica rede enlace fisica aplicação transporte rede enlace fisica Modelo de serviço de rede abstração de serviço Q: Como escolher um modelo de serviço para o canal que transporta pacotes da origem ao destino? Banda-passante garantida? Preservação dos intervalos entre pacotes? Entrega sem perdas? Entrega em ordem? Realimentação de informação de congestionamento? Nível mais geral de abstração na camada de rede??? circuito virtual ou datagrama

Modelo de serviço de redes Comutador ou Chave Comutadora Um comutador (switch) é um dispositivo com várias entradas e saídas interconectando computadores Sua função básica é pegar pacotes que chegam numa entrada e repassá-los para uma saída correta, de forma a chegarem no destino apropriado A operação é chamada de Comutação, repasse ou reencaminhamento Forward ou switching Modelo de serviço de redes Modelos de Comutação de Pacotes São dois modelos:. Comutação de pacotes no modo datagrama (modelo não orientado a conexão). Comutação de pacotes sobre circuitos virtuais (modelo orientado a conexão)

Modelo de serviço de redes: Circuitos virtuais (VC) A ligação entre a origem e o destino emula uma ligação telefônica Orientado ao desempenho A rede controla a conexão entre a origem e o destino Mundo telecom X mundo computação: onde se situa a inteligência ou complexidade? Modelo de serviço de redes: Circuitos virtuais (VC) Após o estabelecimento da conexão deve proceder ao envio de dados. Liberação da conexão após os dados. Cada pacote transporta um identificador do CV; não transporta o endereço completo do destino. Cada roteador na rota mantém informação de estado para conexão que passa por ele. A conexão de camada de transporte envolve apenas os sistemas finais A banda passante e os recursos do roteador podem ser alocados por VC Controle de qualidade de serviço por VC

Modelo de serviço de redes Circuitos virtuais: Sinalização Usada para estabelecer, manter e encerrar circuitos virtuais Usadas em redes ATM, Frame-Relay e X-5 Não usadas na Internet aplicação transporte rede enlace fisica 5. Inicia Fluxo de dados 6. Recebe Dados 4. Call connected 3. Accept call. Call Request. incoming call aplicação transporte rede enlace fisica Modelo de serviço de redes Redes Datagrama: o modelo da Internet Não existem conexões na camada de rede Não há informação de estado de conexão nos roteadores Não existe conexão na camada de rede Pacotes tipicamente transportam o endereço de destino Pacotes para o mesmo destino podem seguir diferentes rotas aplicação transporte rede enlace fisica. Envia dados. Recebe dados aplicação transporte rede enlace fisica

Modelo de serviço da camada de rede: Arquitetura de Rede Modelo de Serviço Parâmetros Garantidos Banda Perda Ordem Tempo Realim. de congestionamen Internet ATM ATM ATM ATM melhor esforço CBR VBR ABR UBR não taxa constante taxa garantida mínimo garantido não não sim sim não não não sim sim sim sim não sim sim não não não (examina perdas) não há congestionamen não há congestionamen sim não Novos serviços na Internet: Intserv, Diffserv Modelo de serviço de redes Datagrama versus Circuito Virtual Internet ATM Dados trocados entre Originário da telefonia computadores Conversação humana: Serviço elástico, requisitos de atraso não críticos Tempos estritos, Sistemas finais inteligentes exigências de confiabilidade Podem adaptar-se, realizar controle e recuperação de Necessário para serviço erros garantido A rede é simples, a Sistemas finais burros complexidade fica nas pontas Telefones Muitos tipos de enlaces Complexidade dentro da Características diferentes rede Difícil obter um serviço uniforme

O que há dentro de um roteador? Visão da Arquitetura de Roteadores Duas funções chave dos roteadores: rodar algoritmos e protocolos de roteamento (RIP, OSPF, BGP) comutar datagramas do enlace de entrada para o enlace de saída

Funções na porta de entrada Camada física: recepção de bits Camada de enlace: ex., Ethernet veja capítulo 5 Comutação descentralizada: dado o destino do datagrama, busca porta de saída, usando a tabela de roteamento na memória da porta de entrada objetivo: completar o processamento da porta de entrada na velocidade da linha filas: se o datagramas chegam mais depressa queataxadeenvio paraaestruturade comutação Enfileiramento na Porta de Entrada Se a estrutura de comutação for mais lenta que a capacidade combinada das portas de entrada -> pode ocorrer filas nas portas de entrada Bloqueio Head-of-the-Line (HOL): datagramas enfileirados no início da fila bloqueiam aqueles que estão atrás na fila Atrasos de filas e perdas são provocados pela saturação do buffer de entrada!

Três tipos de estruturas de comutação Comutação via Memória Empregada nos roteadores de primeira geração: pacotes são copiados pela única CPU do sistema velocidade é limitada pela banda passante da memória ( cruzamentos do bus por datagrama) Porta de Entrada Memória Porta de Saída Barramento do sistema Roteadores modernos: processador da porta de entrada realiza busca e cópia para a memória Cisco Catalyst 8500

Comutação Via Barramento datagrama é transferido da memória da porta de entrada para a memória da porta de saída via um barramento compartilhado contenção no bus: velocidade de comutação limitada pela capacidade do barramento Gbps bus, Cisco 900: velocidade suficiente para roteadores de acesso e de empresas (não para roteadores regionais e de backbone) Comutação via Rede de Interconexão supera limitações da banda do barramento redes de Banyan, outras redes de interconexão originalmente desenvolvidas para conectar processadores num sistema multi-processador

Comutação via Rede de Interconexão Projeto avançado: fragmentar datagramas em células de comprimento fixo e comutar as células por uma rede de comutação. Cisco 000: comuta vários gigabis por segundo através de uma rede de interconexão Portas de Saída Armazenamento: exigido quando os datagramas chegam da estrutura de comutação mais depressa que a taxa de transmissão do enlace de saída Disciplina de fila: escolhe entre os datagramas enfileirados um deles para transmissão

Filas na porta de saída Armazenamento quando a taxa de chegada pelo comutador excede a velocidade da linha de saída Filas(atrasos) e perdas são provocados por um overflow do buffer da porta de saída! Roteamento Ou, como eu faço para chegar aonde eu quero ir?

Princípios de Roteamento Protocolo de Roteamento Objetivo: Determinar bons caminhos (seqüência de roteadores) através da rede entre a fonte e o destino. Algoritmos de roteamento são descritos por grafos Princípios de Roteamento Os algoritmos de roteamento são descritos por grafos: Nós do grafo são roteadores Arestas do grafo são enlaces Custo do enlace: atraso, banda, preço ou nível de congestionamento A 5 B D 3 3 C E 5 F bons caminhos: tipicamente correspondem aos caminhos de menor custo caminhos redundantes

Classificação dos algoritmos de roteamento Informação global ou descentralizada? Global: Todos os roteadores têm informações completas sobre a topologia e dos custos dos enlaces Algoritmos Link state estado de enlace Classificação dos algoritmos de roteamento Informação global ou descentralizada? Descentralizada: Os roteadores só conhecem dados sobre seus vizinhos e os enlaces que os conectam a eles Processo de computação interativo, troca de informações com os vizinhos Algoritmos Distance vector - vetor de distância

Classificação dos algoritmos de roteamento Estático ou Dinâmico? Estático: As rotas não mudam ou mudam lentamente ao longo do tempo Dinâmico: As rotas mudam mais rapidamente Atualizações periódicas Podem responder a mudanças no custo dos enlaces Algoritmo link-state (estado de enlace) A topologia de rede e o custo dos enlaces são conhecidos por todos os nós. Cada nó difunde o estado dos seus enlaces com os vizinhos Todos os nós têm a mesma informação Cada nó computa os caminhos de menor custo para todos os outros nós Constrói uma tabela de roteamento

Algoritmo estado de enlace Second major class of intradomain routing protocol Strategy Send to all nodes (not just neighbors) information about directly connected links (not entire routing table) Provide each node enough information to enable it to find the least-cost path to any destination Basic mechanisms Reliable dissemination of link state information Calculation of routes from the sum of all the accumulated link-state knowledge Algoritmo estado de enlace Pacote de controle Link State (LSP) id of the node that created the LSP cost of link to each directly connected neighbor sequence number (SEQNO) time-to-live (TTL) for this packet

Algoritmo estado de enlace Inundação confiável store most recent LSP from each node forward LSP to all nodes but one that sent it generate new LSP periodically increment SEQNO start SEQNO at 0 when reboot decrement TTL of each stored LSP discard when TTL=0 Encontrando a melhor rota: Algoritmo de Dijsktra Usado no roteamento estado de enlace para calcular as rotas Computa caminhos de menor custo de um nó (fonte) para todos os outros nós Convergência: após k iterações, conhece o caminho de menor custo para k destinos.

Encontrando a melhor rota: Algoritmo de Dijsktra Notação: C(i,j): custo do enlace do nó i ao nó j. Custo é infinito se não houver ligação entre i e j D(v): valor atual do custo do caminho da fonte ao destino V P(v): nó predecessor ao longo do caminho da fonte ao nó v, isto é, antes do v N: conjunto de nós cujo caminho de menor custo é definitivamente conhecido Algoritmo de Dijsktra Inicialização: N = {A} 3 para todos os nós v 4 se v é adjacente a A 5 então D(v) = c(a,v) 6 senão D(v) = infty 7 8 Loop 9 ache w não em N tal que D(w) é um mínimo 0 acrescente w a N atualize D(v) para todo v adjacente a w e não em N: D(v) = min( D(v), D(w) + c(w,v) ) 3 /* novo custo para v é ou o custo anterior para v ou o menor 4 custo de caminho conhecido para w mais o custo de w a v */ 5 até que todos os nós estejam em N

Exemplo: Algoritmo de Dijkstra Passo 0 3 4 5 início N A AD ADE ADEB ADEBC ADEBCF D(B),p(B),A,A,A D(C),p(C) 5,A 4,D 3,E 3,E D(D),p(D),A D(E),p(E) infinito,d D(F),p(F) infinito infinito 4,E 4,E 4,E 5 A B D 3 3 C E 5 F Discussão do Algoritmo de Dijkstra Complexidade do Algoritmo: n nós Cada iteração: precisa verificar todos os nós w, que não estão em N N*(n+)/ comparações: o(n**) Implementações mais eficientes: o(nlogn) Oscilações possíveis: E.G., custo do enlace = total de tráfego transportado A +e +e A 0 0 A +e +e A 0 D 0 0 B D B 0 e 0 C 0 +e D 0 0 B D B +e 0 +e e C C C e recalcula recalcula recalcula initial roteamento

Algoritmo Distance Vector Cada nó informa aos seus vizinhos a distância que ele tem para todos os outros nós Iterativo: Continua até que os nós não troquem mais informações. Self-terminating: Não há sinal de parada. Assíncrono: Os nós não precisam trocar informações simultaneamente! Distribuído: Cada nó se comunica apenas com os seus vizinhos, diretamente conectados Forwarding vs Routing Forwarding/repasse/comutação: to select an output port based on destination address and routing table Routing/roteamento: process by which routing table is built

Distance Vector Each node maintains a set of triples (Destination, Cost, NextHop) Exchange updates w/ directly connected neighbors periodically (on the order of several seconds) whenever table changes (called triggered update) Each update is a list of pairs: (Destination, Cost) Update local table if receive a better route smaller cost came from next-hop Refresh existing routes; delete if they time out Exemplo B A C D E F G

Exemplo Distâncias inicias (visão global) 0 G 0 F 0 E 0 D 0 C 0 B 0 A G F E D C B A Informação em cada nó Exemplo tabela de rotas no nó B Destination Cost NextHop A A C C D C E A F A G 3 A D G A F E B C

Example Final distances (global view) 0 3 3 G 0 F 3 0 3 E 3 0 D 0 C 3 0 B 0 A G F E D C B A Information at each node Exemplo tabela final de rotas no nó A Destination Cost NextHop B B C C D C E E F F G F D G A F E B C

Roteamento com falhas de enlace Example Fail of a link F detects that link to G has failed F sets distance to G to infinity and sends update to A A sets distance to G to infinity since it uses F to reach G A receives periodic update from C with -hop path to G A sets distance to G to 3 and sends update to F F decides it can reach G in 4 hops via A Algoritmo Distance Vector Estrutura de Dados da Tabela de Distância Cada nó tem sua própria tabela Linha para cada possível destino Coluna para cada roteador vizinho Exemplo: no nó X, para destino Y via vizinho Z: X D (Y,Z) = = distância de X para Y, via Z como próx. salto Z c(x,z) + min {D (Y,w)} w

Exemplo de Tabela de Distância 7 A E D (C,D) E D (A,D) E D (A,B) B E 8 C D D = c(e,d) + min {D (C,w)} w = + = 4 D = c(e,d) + min {D (A,w)} w = +3 = 5 loop! B = c(e,b) + min {D (A,w)} w = 8+6 = 4 loop! destino E D () A B C D custo via nó vizinho A B D 7 6 4 4 8 9 5 5 4 A Tabela de Distâncias Gera a Tabela de Roteamento E D () custo através de A B D Enlace de saída, custo A 4 5 A A, destino B C 7 6 8 9 5 4 destino B C D,5 D,4 D 4 D D, Tabela de distância Tabela de Roteamento

Roteamento Vetor-Distância: Resumo Iterativo, assíncrono: cada iteração local é causada por: Mudança de custo dos enlaces locais Mensagem do vizinho: seu caminho de menor custo para o destino mudou Distribuído: Cada nó notifica seus vizinhos apenas quando seu menor custo para algum destino muda Vizinhos notificam seus vizinhos e assim por diante Cada nó: espera por mudança no custo dos enlaces locais ou mensagem do vizinho recalcula tabela de distância se o caminho de menor custo para algum destino mudou, notifica vizinhos Roteamento Vetor de Distância Exemplo Cálculo da nova tabela para o nó J

Algoritmo Vetor-Distância: Para todos os nós, X: Inicialização: para todos os nós adjacentes v: 3 D X(*,v) = infinito /* o operador * significa para todas as colunas" */ X 4 D (v,v) = c(x,v) 5 para todos os destinos, y X 6 envia min D (y,w) para cada vizinho /* w sobre todos vizinhos de X*/ w Algoritmo Vetor-Distância (Cont.): 8 loop 9 wait (até ocorrer uma mudança no custo do enlace para vizinho V 0 ou até receber atualização do vizinho V) if (c(x,v) muda por d) 3 /* muda o custo para todos os destinos via vizinho v por d */ 4 /* nota: d pode ser positivo ou negativo */ 5 para todos os destinos y: D X(y,V) = D X(y,V) + d 6 7 else if (atualização recebida de V sobre destino Y) 8 /* caminho mais curto de V para algum Y mudou */ 9 /* V enviou um novo valor para seu min wd V (Y,w) */ 0 /* chame este novo valor recebido "newval" */ para o único destino y: D X (Y,V) = c(x,v) + newval X 3 if nós temos um novo min wd (Y,w) para algum destino Y X 4 envie novo valor de min w D (Y,w) para todos os vizinhos 5 6 forever

Exemplo: algoritmo vetor-distância X Y 7 Z Exemplo: algoritmo vetor-distância X Y 7 Z X Z D (Y,Z) = c(x,z) + min {D (Y,w)} w = 7+ = 8 X Y D (Z,Y) = c(x,y) + min {D (Z,w)} w = + = 3

Vetor-Distância: Mudança no custo do enlace Mudança no custo do enlace: nó detecta que o custo do enlace local mudou atualiza tabela de distâncias (linha 5) se ocustodocaminhodemenor custo mudou, notifica vizinhos (linhas 3 e 4) 4 X Y 50 Z boas notícias viajam depressa algoritmo termina Vetor Distância: Mudança no custo do enlace Mudança no custo do enlace: 60 más notícias viajam devagar - Y problema da contagem ao 4 infinito X Z 50 algoritmo continua!

Vetor Distância: Poisoned Reverse Se Z roteia através de Y para chegar a X : Z diz a Y que sua (de Z) distância para X é infinita (assim Y não roteará para X via Z) será que isso resolve completamente o problema da contagem ao infinito? 60 4 X Y 50 Z algoritmo termina Comparação dos Algoritmos LS e VD Complexidade LS: com n nós, E links, o(ne) mensagens enviadas DV: trocas somente entre vizinhos Tempo de convergência varia Tempo de convergência LS: algoritmo o(n**) exige o(ne) msgs Pode ter oscilações DV: tempo de convergência varia Podem haver loops de roteamento Problema da contagem ao infinito Robustez: o que acontece se um roteador funciona mal? Ls: Nós podem anunciar custos incorretos para os enlaces. Cada nó calcula sua própria tabela de roteamento Dv: Nó pode anunciar caminhos com custo incorreto Tabela de cada nó é usada por outros Propagação de erros pela rede

Roteamento Hierárquico Problemas do mundo real roteadores não são todos idênticos as redes não são flat na prática Escala: com 50 milhões de destinos: Não é possível armazenar todos os destinos numa única tabela de rotas! As mudanças na tabela de rotas irão congestionar os enlaces! Autonomia Administrativa Internet = rede de redes Cada administração de rede pode querer controlar o roteamento na sua própria rede Roteamento Hierárquico Agrega roteadores em regiões, sistemas autônomos (AS) Roteadores no mesmo AS rodam o mesmo protocolo de roteamento Protocolo de roteamento Intra-as Roteadores em diferentes AS podem rodar diferentes protocolos de roteamento roteadores de borda Roteadores de interface de um AS Rodam protocolos de roteamento intra-as com os outros roteadores do AS Também responsáveis por enviar mensagens para fora do AS Rodam protocolo de roteamento inter-as com outros roteadores de borda

Roteamento Intra-as and Inter-as a C.b b C d A A.a a b A.c c B.a a B c Roteadores de Borda realizam roteamento inter- AS entre si realizam b roteamento intra- AS com outros roteadores do mesmo AS Roteamento inter-as, intra-as no roteador A.c Camada de rede Camada de enlace Camada física Roteamento Intra-AS e Inter-AS a Host h C C.b b A.a roteamento Inter-AS entre A e B B.a A.c a d A b c roteamento Intra-AS dentro AS A Host c h a b B roteamento Intra- AS dentro do AS B

A camada de rede da Internet Pilha de protocolos (Protocol stack) H H8 TCP R R R3 TCP IP IP IP IP IP ETH ETH FDDI FDDI PPP PPP ETH ETH A camada de rede da Internet Pilha de protocolos (Protocol stack) H H8 TCP R R R3 TCP IP IP IP IP IP Network (Ethernet) ETH ETH FDDI FDDI PPP PPP ETH ETH H7 R3 H8 H H H3 Network (Ethernet) R R Network 4 (point-to-point) H4 Network 3 (FDDI) H5 H6

A camada de rede da Internet Entidade de rede em roteadores ou hosts: Camada de Transporte: TCP, UDP Camada de Rede Prot. de roteamento escolha de caminhos RIP, OSPF, BGP tabela de rotas protocolo IP endereçamento formato dos datagramas tratamento de pacotes protocolo ICMP aviso de erros sinalização de rotas Camada de enlace Camada física Protocolo IP Princípio de funcionamento Entrega feita com o maior esforço (best-effort delivery) No entanto, IP não garante que não haja: Duplicação de pacotes Entrega atrasada ou fora de ordem Alteração de dados Perda de pacotes Protocolos de outros níveis devem tratar desses problemas

Formato do pacote IP Formato do pacote IP Version: Indica o número da versão corrente Permite uma transição suave entre versões V 4

Formato do pacote IP IHL (Tamanho do cabeçalho): Quantidade de grupos de 3 bits presentes no cabeçalho Mínimo: 5 (sem nenhuma opção) Máximo: 5 a 60 bytes (40 opções) Formato do pacote IP Tipo de serviço - TOS Prioridade (3 bits) Flags indicam o que é mais importante para a aplicação: menor atraso, maior vazão, maior confia-bilidade (3 bits) Dois bits não usados Na prática, os roteadores tendem a ignorar este campo

Formato do pacote IP Comprimento total do pacote: Pode ser até 65535 bytes Formato do pacote IP Identificação: Identifica o fragmento de um datagrama É usado pelo destinatário para remontagem (explicada à frente)

Formato do pacote IP Bit DF (don't fragment): Indica que o pacote não deve ser fragmentado Bit MF (more fragments): Todos os fragmentos de um pacote, exceto o último, ligam este bit Formato do pacote IP Fragment Offset: Indica onde o fragmento se encaixa dentro do pacote Cada fragmento, exceto o último, deve ser múltiplo de 8

Formato do pacote IP Time To Live: Teoricamente, indica o tempo máximo que um pacote pode existir na rede, i.e., 55 s Na prática, indica o número máximo de roteadores que pode passar por Formato do pacote IP Protocolo: Indica o protocolo dos dados transportados no pacote. Os dados devem ser passados para a entidade correspondente no nível superior A identificação dos protocolos é dada pela RFC 700

Formato do pacote IP Checksum do cabeçalho: Tem como objetivo aumentar a confiabilidade do pacote entregue às camadas superiores Formato do pacote IP Endereços dos computadores origem e destino

Formato do pacote IP Opções: Forma de incluir informações não presentes na versão Endereçamento em redes IP

Endereçamento IP: Introdução Endereço IP: identificador de 3-bits para interfaces de roteadores e hosts Interface: conexão entre roteador ou host e enlace físico Roteador tem tipicamente múltiplas interfaces Hosts podem ter múltiplas interfaces endereços IP são associados com interfaces, não com o host ou com o roteador Esquema de endereçamento IP Na arquitetura TCP/IP, o endereçamento é especificado pelo Internet Protocol (IP) Endereço IP de um computador: Número binário único de 3 bits Dividido em duas partes: Prefixo: identifica a rede física na qual o computador se encontra (número de rede) Sufixo: identifica o computador na rede

Esquema de endereçamento IP Número de rede é único Número do prefixo deve ser controlado globalmente Número do sufixo pode ser controlado localmente Classes de endereçamento IP Compromisso entre tamanho de prefixo e sufixo que reflete diferentes tamanhos de rede Classes primárias: A, B e C Classe D: comunicação em grupo Classe E: extensão futura (sem uso) É chamado de auto-identificável: A classe de um endereço pode ser calculada do próprio endereço

Global Addresses Properties globally unique hierarchical: network + host Dot Notation 0.3..4 8.96.33.8 9..69.77 A: B: C: 7 4 0 Network Host 4 6 0 Network Host 8 0 Network Host Classes de endereçamento IP

Endereço IP É chamado de autoidentificável: A classe de um endereço pode ser calculada do próprio endereço Endereço IP Notação decimal com ponto: 3 bits: 4 x 8 bits Forma usual de representar endereços Exemplo: turmalina.dcc.ufmg.br: 50.64.0.

Endereço IP Valores do primeiro octeto do endereço: Espaço de endereçamento: Exemplo de endereçamento

Endereços especiais Existem alguns endereços que são reservados e não são atribuídos a computadores Endereçamento IP 3... 3... 3... 3...4 3...9 3...3 3..3.7 3... 3..3. 3..3. 3... = 0 0000000 0000000 0000000 3

Endereçamento IP Endereço IP: parte de rede (bits mais significativos) parte de host (bits menos significativos) Oqueéuma rede? (na perspectiva do endereço) Conjunto de interfaces de dispositivos com o mesmo valor dapartederedenoendereçoip Os hosts podem se comunicar fisicamente sem o auxílio de um roteador Conhecida também com sub-rede Endereçamento IP 3... Rede consistindo de 3 sub-redes IP (para endereços IP começando com 3, os primeiros 4 bits são o endereço de rede ) 3... 3... 3...4 3...9 3... 3...3 3..3.7 LAN 3..3. 3..3.

Endereçamento IP Como encontrar as redes Separar cada interface de roteadores e hosts Criar ilhas de redes isoladas Técnica de nuvens 3... 3... 3...4 3...3 3..9. 3..7.0 3..9. 3..8. 3..8.0 3..7. 3...6 3..3.7 Sistema com seis redes interconectadas 3... 3... 3..3. 3..3. Endereços IP endereçamento class-full : class A B C D 0 rede host 0 rede host 0 rede host 0 multicast address 3 bits.0.0.0 to 7.55.55.55 8.0.0.0 to 9.55.55.55 9.0.0.0 to 3.55.55.55 4.0.0.0 to 39.55.55.55

Endereços de roteadores Roteadores devem ter endereços IP Cada roteador deve ter dois ou mais endereços IP Um roteador tem conexões para diferentes redes físicas Cada endereço IP contém um prefixo que especifica uma rede física Endereços de roteadores

Endereçamento IP Problemas do endereçamento Classful : Uso ineficiente do espaço de endereçamento, exaustão do espaço de endereços E.G., rede de Classe B aloca endereços para 64k hosts, mesmo se só existem 000 hosts naquela rede Endereçamento IP: CIDR CIDR: classless interdomain routing A porção de endereço de rede tem tamanho arbitrário Formatodoendereço: a.b.c.d/x, onde x é o número de bits na parte de rede do endereço parte de rede parte de host 00000 0000 0000000 00000000 00.3.6.0/3

Como obter um endereço IP Hosts : Endereço fixo: definido pelo administrador DHCP: dynamic host configuration protocol: permite a atribuição dinâmica de endereços IP Host envia (broadcast) mensagem DHCP discover DHCP server responde com mensagem DHCP offer Host pede endereço IP com mensagem : DHCP request DHCP server envia endereço com a mensagem: DHCP ack Como obter um endereço IP Rede (porção de rede) Obter uma parte do espaço de endereços do seu ISP: bloco do ISP 00000 0000 0000000 00000000 00.3.6.0/0 Organização 0 00000 0000 0000000 00000000 00.3.6.0/3 Organização 00000 0000 000000 00000000 00.3.8.0/3 Organização 00000 0000 000000 00000000 00.3.0.0/3....... Organização 7 00000 0000 0000 00000000 00.3.30.0/3

Endereçamento Hierárquico: agregação de rotas O endereçamento hierárquico permite uma propagação de rotas mais eficiente: Organização 0 00.3.6.0/3 Organização 00.3.8.0/3 Organização 00.3.0.0/3 Organização 7 00.3.30.0/3.... Fly-By-Night-ISP ISPs-R-Us Me envie qualquer coisa com endereço começando por 00.3.6.0/0 Internet Me envie qualquer coisa com endereço começando por 99.3.0.0/6 Roteamento Hierárquico:rotas mais específicas ISPs-R-Us tem uma rota mais específica para a organização Organização 0 00.3.6.0/3 Organização 00.3.0.0/3 Organização 7 00.3.30.0/3.... Organização 00.3.8.0/3 Fly-By-Night-ISP ISPs-R-Us Me envie qualquer coisa com endereço começando por 00.3.6.0/0 Internet Me envie qualquer coisa com endereço começando por 99.3.0.0/6 ou 00.3.8.0/3

ComoobterumendereçoIP... Q: Como o ISP obtém seu bloco de endereço? A: ICANN: internet corporation for assigned names and numbers Aloca endereços Gerencia DNS Atribui nomes de domínios e resolve disputas Datagram Forwarding Forwarding encaminhamento O processo de pegar um pacote de uma entrada e passá-lo para uma saída apropriada. Routing roteamento O processo de construção de tabelas que permitem a correta saída de um pacote ser determinada.

Datagram Forwarding Strategy every datagram contains destination s address if directly connected to destination network, then forward to host if not directly connected to destination network, then forward to some router forwarding table maps network number into next hop each host has a default router each router maintains a forwarding table Datagram Forwarding: Algorithm if (NetworkNum of destination = NetworkNum of one of my interfaces) then deliver packet to destination over that interface else if (NetworkNum of destination is in my forwarding table) then deliver packet to NextHop router else deliver packet to default router

Datagram Forwarding Example network Network (Ethernet) H7 R3 H8 H H Network (Ethernet) H3 Network 4 (point-to-point) R R H4 Network 3 (FDDI) H5 H6 Datagram Forwarding Example (R) Network Number Next Hop R3 R Network (Ethernet) H7 R3 H8 H H H3 Network (Ethernet) R Network 4 (point-to-point) R H4 Network 3 (FDDI) H5 H6

Datagram Forwarding Example (R) Network (Ethernet) Network Number Next Hop R3 R 3 interface 4 interface 0 H7 R3 H8 H H H3 Network (Ethernet) R R Network 4 (point-to-point) H4 Network 3 (FDDI) H5 H6 datagrama IP: outros endereço endereço campos IP origem IP destino Levando um Datagrama da Origem ao Destino dados os endereços do datagrama não mudam ao viajar da fonte ao destino A B 3... 3... 3... 3...4 3...9 3...3 tabela de roteamento em A Rede destino próx. roteador Núm. saltos 3.. 3.. 3...4 3..3 3...4 3..3.7 3... E 3..3. 3..3.

Levando um Datagrama da Origem ao Destino outros campos 3... 3...3 dados Começando em A, levar datagrama IP para B: examine endereço de rede de B descobre que B está na mesma rede de A camada de enlace envia datagrama diretamente para B num quadro da camada de enlace Se necessário descobre endereço físico de B B e A são diretamente conectados A B Rede destino Próx. roteador Núm. saltos 3.. 3.. 3...4 3..3 3...4 3... 3... 3... 3...4 3...9 3...3 3..3. 3..3.7 3... 3..3. E Levando um Datagrama da Origem ao Destino outros campos 3... 3... dados Começando em A, dest. E: examina endereço de rede de E E está numa rede diferente A, E não estão diretamente conectados tabela de roteamento: próximo roteador para E é 3...4 encontra endereço físico de 3...4 e envia o datagrama num quadro de enlace datagrama chega em 3...4 continua.. A B Rede destino Próx. roteador Núm. saltos 3.. 3.. 3...4 3..3 3...4 3... 3... 3... 3...4 3...9 3...3 3..3. 3..3.7 3... 3..3. E

Levando um Datagrama da Origem ao Destino Próx. Núm. Endereço outros campos 3... 3... dados Rede destino roteador saltos Interface 3.. - 3...4 Chegando em 3...4, é destinado para 3... examina endereço de rede de E E está na mesma rede da interface 3...9 do roteador roteador e E estão diretamente ligados descobre endereço físico de 3... e envia o datagrama num quadro da camada de enlace datagrama chega em 3...!!! (ufa!) 3.. - 3...9 3..3-3..3.7 A B 3... 3... 3... 3...4 3...9 3...3 3..3. 3..3.7 3... 3..3. E Datagram Forwarding Redes escaláveis Para se obter escalabilidade, é preciso reduzir a quantidade de informação armazenada em cada nó A maneira mais comum é usar agregação hierárquica

Datagram Forwarding Escalabilidade com IP Dois níveis de hierarquia Redes no nível superior Nós no nível inferior Roteadores tratam apenas dados agregados Consideram apenas as redes, e não os nós Fim da primeira parte Aguardem a segunda parte...