Redes de Computadores. Redes de Computadores

Documentos relacionados
Redes de Computadores e a Internet

Redes de Computadores e a Internet

Capítulo 4: Camada de rede

SSC0641 Redes de Computadores

Algoritmos de roteamento

Redes de Computadores e a Internet

PTC Aula A camada de rede (1/2) (Kurose, p ) 17/03/2017

Capítulo 4 Camada de Rede

Camada de Rede. Objetivos: entender os princípios em que se fundamentam os serviços de rede. Implementação na Internet

PTC Aula O que há dentro de um roteador? 4.3 O Protocolo da Internet (IP): Repasse e Endereçamento na Internet

Camada de Rede. Prof. Odilson Tadeu Valle. Baseado no material do Prof. Cantú e Tiago. 4: Camada de Rede 4a-1

% & ' ( serviços fornecidos pela camada de rede. roteamento na Internet. princípios de roteamento. funcionamento de um roteador. IPv6.

Capítulo 4 A camada de REDE

PTC Aula Introdução ao plano de controle 5.2 Algoritmos de roteamento. (Kurose, p ) (Peterson, p ) 13/06/2017

Capítulo 4 A camada de REDE

Parte 3: Camada de Rede

Redes de Computadores RES 12502

A camada de rede 4-1. Redes de Computadores

Algoritmo baseado em vetor de distâncias

Arquitetura TCP/IP - Internet Protocolo IP Protocolo ICMP

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

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

Capítulo 4: Camada de Rede

SSC0540 Redes de Computadores

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

Redes de Computadores I. Camada de Rede Parte C: Roteamento Dinâmico

Redes de Computadores

Capítulo 5. A camada de rede

Data and Computer Network Endereçamento IP

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

Redes de Computadores

ROUTER. Alberto Felipe Friderichs Barros

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

Visão geral da arquitetura do roteador

PTC Aula Algoritmos de Roteamento 5.3 Roteamento intra-as na Internet: OSPF. (Kurose, p ) (Peterson, p ) 20/06/2017

CCNA 1 Roteamento e Sub-redes. Kraemer

Capítulo 4. A camada de REDE. Pearson. Todos os direitos reservados.

Redes de computadores e a Internet. A camada de rede

Redes de Computadores. Protocolos TCP/IP

Arquitectura de Redes

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

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

Redes de Computadores

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

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

Capítulo 4 Camada de rede

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

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

Redes de Computadores Camada de Rede - Segunda Parte

Redes de Computadores Nível de Rede

Jéfer Benedett Dörr

Roteamento e Roteadores. Conceitos Diversos

Open Shortest Path First (OSPF)

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

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

Camada de rede. Introdução às Redes de Computadores

PTC Aula O Protocolo da Internet (IP): Repasse e Endereçamento na Internet. (Kurose, p ) (Peterson, p ) 06/06/2017

conceitual N h = p 3 3p + 3; N t = 1/(1 p) 2 p

Arquitectura de Redes

IESGO. Redes de Computadores I

Redes de Computadores

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 I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 30 de Novembro de o Teste A

32 bits. head. type of lenght fragment 16-bit identifier flgs offset. Internet live 32 bit endereço IP de origem 32 bit endereço IP de destino

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

Gestão de Sistemas e Redes

Protocolo TCP/IP. Protocolo TCP/IP. Protocolo TCP/IP. Origem:

Parte IV: Camada de Rede

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

3º Semestre. Aula 02 Introdução Roteamento

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

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

SSC0641 Redes de Computadores

Endereçamento IP. Departamento Engª Electrotécnica ISEC

Redes de Computadores

Capítulo 3 - Sumário. Tipos de Rotas (Diretas, Estáticas e Dinâmicas) Protocolos de Roteamento (RIP, OSPF e BGP)

PTC Aula Roteamento intra-as na Internet: OSPF 5.4 Roteamento entre os ISPs: BGP. (Kurose, p ) (Peterson, p.

Redes de Computadores I

Rede de computadores Protocolos IP. Professor Carlos Muniz

Redes de Computadores

Roteamento e Roteadores. Arquitetura TCP/IP Introdução. Professor Airton Ribeiro de Sousa

Redes de Computadores. Prof. André Y. Kusumoto

PTC Aula Controle de congestionamento no TCP 4.1 Introdução à camada de rede 4.2 O que há dentro de um roteador?

Capítulo 4: Camada de Rede

Redes de Computadores. Prof. MSc André Y. Kusumoto

Redes de Computadores e Internet MEEC 9 de Junho de o Exame 2 o Semestre

Capítulo 4 Camada de rede

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

Nome: Nº de aluno: Indique se vai realizar exame ou 2º teste: Exame: 2º teste: PARTE 1 (7 valores)

SSC0641 Redes de Computadores

SSC0540 Redes de Computadores

Reinaldo Gomes Conjunto de redes de escala mundial, ligadas pelo

Redes de Computadores 3ª Colecção Exercícios diversos 16 de Dezembro de 2005 Spanning Tree, Protocolo IP, Encaminhamento em redes IP e Cam.

Capítulo 4: Camada de Rede

AULA 4 - REDES. Prof. Pedro Braconnot Velloso

Funcionalidades da camada de rede

Serviços de Comunicações Capítulo 3

Máscara de rede. Endereços especiais. Utilizando parte de um byte na máscara de sub-rede. Exemplo. Exemplo. Exemplo

TE239 - Redes de Comunicação Lista de Exercícios 2

Transcrição:

Redes de Computadores Redes de Computadores Camada Rede

Camada Transporte - Revisão Serviços da camada de transporte Multiplexagem e desmultiplexagem Transporte não orientado à ligação: UDP Princípios da transferência fiável de dados Transporte orientado à ligação: TCP transferência fiável de dados controlo do fluxo Gestão de ligações Principios do controlo do congestionamento Controlo de congestionamento do TCP 2 Camada de Rede

Camada Rede Serviços da camada de rede Circuitos virtuais Datagramas Funcionamento de um encaminhador ( router ) Camada de rede na Internet: o protocolo IP Princípios de encaminhamento: selecção de um caminho Outros aspectos da camada de rede na Internet DHCP, NAT, ICMP, IPv6 Encaminhamento hierárquico Encaminhamento na Internet intra domínio inter domínio Encaminhamento multicast Objectivos: Objectivos: Entender os princípios em que se fundamentam os serviços de rede Entender os princípios em que se fundamentam os serviços de rede selecção de caminhos, escalabilidade, como funciona um router. selecção de caminhos, escalabilidade, como funciona um router. tópicos avançados: IPv6, instanciação implementação na Artur Internet tópicos avançados: IPv6, instanciação e implementação na Internet Arsenio 3 Camada de Rede Segue Capitulo 4 do livro de J.F Kurose e K.W. Ross

Camada de rede aplicação transporte rede lógica física Objectivo Transporte de pacotes do sistema terminal de origem ao sistema terminal de destino os protocolos da camada de rede existem em todos os sistemas terminais e todos os nós intermédios (routers) rede lógica física rede lógica física rede lógica física rede lógica física rede lógica física rede lógica física Funções importantes Determinação do caminho ( routing ): rota seguida pelos pacotes da origem ao destino. Algoritmos de encaminhamento Comutação ( forwarding ): copiar os pacotes de uma entrada do nó ( router ) para a saída apropriada Estabelecimento de chamada: algumas arquitecturas exigem o estabelecimento de uma ligação entre origem e destino antes da comunicação de dados ( call setup ) rede lógica física rede lógica física aplicação transporte rede lógica física 4 Camada de Rede

Estabelecimento de Ligação 3 ª função importante em algumas arquitecturas de rede: ATM, frame relay, X.25 Antes dos datagramas fluírem, dois hosts e routers intermediários estabelecem uma ligação virtual Serviço de ligação das camadas de transporte e de rede: Rede: entre dois hosts Transporte: entre dois processos 5 Camada de Rede

Encaminhamento de Pacotes Algoritmo de encaminhamento tabela de encaminhamento local valor cabeçalho link saída 000 00 0 00 3 2 2 valor no cabeçalho do pacote que está A chegar 0 3 2 6 Camada de Rede

Modelos de serviço da camada de rede Qual o modelo de serviços no transporte de pacotes da origem para o destino? O Modelo de serviços da camada de rede define as caracteristicas do transporte de dados extremo a extremo entre dois terminais na rede entre os sistemas terminais emissor e receptor Largura de banda garantida? Preservação do intervalo de tempo entre pacotes (eliminação do jitter )? Entrega sem perdas? Entrega na ordem? Envio de informação de congestão para a fonte? 7 Camada de Rede Arquitectura de Rede Internet ATM ATM ATM ATM Modelo de serviço Banda melhor esforço CBR VBR ABR UBR nenhuma Garantias? Informação Perdas Ordem Tempo congestão não não não não (inferido via perdas) n.a. sem congestion. n.a. sem congestion. sim taxa constante sim sim sim taxa garantida sim sim sim mínima garantida não sim não nenhuma não sim não não Para a Internet estão a ser definidos novos modelos de serviços: Intserv, Diffserv

Serviços de Transporte e de Rede com e sem Ligação Serviço de ligação na camada de rede entre sistemas terminais Serviço de ligação na camada transporte entre processos A implementação de serviços com ligação nas camadas de rede e de transporte são fundamentalmente diferentes na camada de rede é implementado não só nos sistemas terminais mas também nos routers no interior da rede Nas redes actuais, a camada de rede fornece ou serviços de rede com ligação (Circuitos Virtuais - VC) ou sem ligação (Rede de Datagramas) mas não ambos Característica importante do serviço prestado pela camada de rede: Circuito Virtual? ou Datagrama? 8 Camada de Rede

Circuitos Virtuais O caminho entre origem e destino assemelha-se a um circuito telefónico tradicional Estabelecimento de um caminho (chamada) antes da transmissão de dados e correspondente acção de desligar cada chamada Cada pacote transporta o identificador do circuito virtual não inclui necessariamente a identificação do computador destino Cada nó, no caminho origem-destino, mantém o estado de cada ligação Para cada circuito virtual podem ser reservados recursos ao longo do caminho incluindo largura de banda e memória nos nós 9 Camada de Rede

imaginem o esforço de rede para garantir que um número de VC era único ao longo da rede...assim, apenas o router tem que garantir que números de VC nas suas interfaces são únicos! Implementação de Circuito Virtual (VC Virtual Circuit) Um Um VC VC consiste em: em:.. Caminho Caminho da da origem origem para para o destino destino 2. Números 2. Números (identificadores) (identificadores) de de VC, VC, um um número número para para cada cada ligação ligação ao ao longo longo do do caminho caminho 3. Entradas 3. Entradas nas nas tabelas tabelas de de encaminhamento encaminhamento dos dos routers routers ao ao longo longo do do caminho caminho Circuito Virtual Estabelecimento do Circuito Virtual Camada de rede determina o caminho entre emissor e receptor Adiciona entrada em cada router ao longo do caminho Determina o número do VC para cada ligação ao longo do caminho Pacote que pertence a um VC contém o número do VC Número do VC deve ser trocado a cada ligação Porquê? Novo número do VC vem da tabela de encaminhamento Transferência de Dados no Circuito Virtual Terminação do Circuito Virtual Sistema terminal informa a camada de rede que quer terminar o VC Actualização das tabelas dos routers ao longo do caminho (VC deixou de existir) 0 Camada de Rede

Tabela de Encaminhamento Router s Forwarding Table Número do VC 2 R 2 3 R3 22 32 Router R Tabela de expedição número da interface R2 R4 Interface de entrada # VC de entrada Interface de saída # VC de saída 2 3 22 2 63 8 3 7 3 7 97 2 87 Os Routers guardam informação do estado de cada ligação Camada de Rede

Protocolos de Sinalização em VCs Routers ao longo do caminho entre terminais estão envolvidos na criação do VC router actualiza tabela de encaminhamento (ao milisegundo) assim que é criado um VC ou que este é terminado, criando ou eliminando entradas na tabela. cada router mantém estado sobre todos os VCs que passam por ele Mensagens de Sinalização ( signaling messages ) mensagens que sistemas terminais enviam para a rede para estabelecer ou terminar um VC e mensagens trocadas entre routers para estabelecer um circuito virtual (para modificar o estado da ligação nas tabelas de encaminhamento) Protocolos de sinalização ( signaling protocols ) usados para trocar mensagens de sinalização para estabelecer, manter e terminar um VC usados no ATM, frame-relay, X.25 aplicação transporte rede ligação física 2 Camada de Rede 5. começa fluxo de dados 6. dados recebidos 4. chamada completa 3. chamada aceite. inicia chamada 2. chegada de chamada aplicação transporte rede ligação física

Redes de Datagramas (modelo Internet) aplicação transporte rede enlace física Não há estabelecimento de ligação na camada de rede Nós não guardam estado das ligações extremo a extremo o conceito de ligação não existe ao nível da camada de rede Os pacotes são tipicamente encaminhados pelo identificador do computador de destino 2 pacotes entre o mesmo par origem-destino podem seguir caminhos diferentes. envia dados 2. recebe dados aplicação transporte rede enlace física 3 Camada de Rede

Rede de Datagramas Tabela de encaminhamento Faixa de Endereços de Destino Interface de Saída 00000 0000 0000000 00000000 a 0 00000 0000 0000 00000 0000 000000 00000000 a 00000 0000 000000 00000 0000 00000 00000000 a 2 00000 0000 000 4 biliões de de entradas possíveis Outros 3 Exemplo (PC) 4 Camada de Rede

Determinação da Interface de Saída O maior prefixo do endereço na tabela determina a interface de saída Prefixo Interface de Saída 00000 0000 0000 0 00000 0000 000000 00000 0000 000 2 caso contrário 3 Exemplos: Qual a interface de saída para os endereços? 00000 0000 00000 00000 00000 0000 000000 0000 Interface 0 Interface 5 Camada de Rede

Datagramas vs Circuitos Virtuais Internet troca de dados entre computadores serviço elástico, sem requisitos temporais estritos a eliminação do jitter não era importante terminais inteligentes (computadores) os terminais podem adaptar-se, implementar controlo de erros e recuperar de situações de erro o interior da rede pode ser simples reservando a complexidade para os extremos (network edge) tipos diferentes de ligações físicas com diferentes características dificuldade em fornecer um serviço uniforme ATM evoluiu da rede telefónica conversação humana: temporização estrita, grandes exigências de fiabilidade eliminação do jitter muito importante necessidade de garantia de qualidade de serviço sistemas terminais dumb Telefones tradicionais complexidade introduzida no interior da rede 6 Camada de Rede

de de pacotes Serviços da camada de rede Revisão Serviços da camada de rede Circuitos virtuais Datagramas Funcionamento de um encaminhador ( router ) Camada de rede na Internet: o protocolo IP Princípios de encaminhamento selecção de um caminho Outros aspectos da camada de rede na Internet DHCP, NAT, ICMP, IPv6 Encaminhamento hierárquico Encaminhamento na Internet intra domínio inter domínio Encaminhamento multicast Camada de de Rede encaminhamento Modelos de de serviço da da camada de de rede rede Serviços de de Transporte e de de Rede com com e sem sem Ligação Circuitos Virtuais Rede de de Datagramas Datagramas vs vs Circuitos Virtuais 7 Camada de Rede

Arquitectura de um Nó ( Router ) Duas funções fundamentais execução de algoritmos/protocolos de encaminhamento (RIP, OSPF, BGP) comutação de datagramas das ligações de entrada para as ligações de saída Executa os protocolos de encaminhamento Mantém as tabelas de encaminhamento Executa as funções de gestão de rede 8 Camada de Rede

Funções dos Portos de Entrada Camada física: recepção de bits Camada de ligação de dados: e.g. Ethernet Portos Portos multiplos multiplosjuntos numa numa só só carta carta de de hardware hardware dentro dentro do do router router Mantém Mantém cópia cópia da da tabela tabela de de expedição expedição --processador processador actualiza actualiza encaminhamento encaminhamento descentralizado descentralizado pelos pelos vários vários portos portos de de entrada entrada 9 Camada de Rede Comutação descentralizada: dado endereço de destino de um datagrama, determinar o porto de saída consultando a tabela de encaminhamento na memória local objectivo: completar todas as tarefas ao ritmo de chegada da ligação se os datagramas chegam mais depressa que o ritmo de envio para a malha de comutação existe uma fila de espera

Fila de Espera no Porto de Entrada Se a malha de comutação é mais lenta que os portos de entrada combinados podem surgir filas de espera na entrada Bloqueio Head-of-the-Line (HOL) : o datagrama na primeira posição da fila impede outros de serem encaminhados para uma saída surgem atrasos e perdas 20 Camada de Rede

Funções dos Portos de Saída É necessário o armazenamento ( Buffering ) quando os datagramas chegam da malha a um ritmo maior que a largura de banda de saída Disciplina de serviço ( scheduler ): escolhe o datagrama, de entre os que estão na fila, que é transmitido a seguir FCFS: first come first served WFQ: Weighted fair queuing. Partilha o canal de saída de modo justo entre as ligações com pacotes a transmitir 2 Camada de Rede

Fila de Espera no Porto de Saída Utiliza buffers quando taxa de chegada através do comutador excede taxa de transmissão de saída A fila de espera do porto de saída pode introduzir Atraso e Perdas devidas ao transbordo do buffer do porto de saída. se memória insuficiente, descartar pacote que chegou (drop-tail policy) ou remover ou mais pacotes já na fila de espera para dar lugar ao novo pacote 22 Camada de Rede

Arquitecturas de Comutação Switch Fabric É através do Switching Fabric que os pacotes são efectivamente encaminhados de um porto de entrada para um porto de saída 23 Camada de Rede

Comutação através da Memória Switch Fabric Porto de Entrada Memória Porto de Saída Bus do Sistema routers de primeira geração porto de entrada sinaliza processador da chegada de pacote usando interrupt cada pacote é copiado para a memória pela única CPU do sistema velocidade limitada pela largura de banda de acesso à memória 2 passagens pelo bus do sistema por datagrama routers modernos processador de entrada consulta a tabela e copia para memória partilhada exemplo: Cisco Catalyst 8500 24 Camada de Rede

Comutação através de um bus Switch Fabric Cada datagrama é transmitido da memória do porto de entrada para a memória do porto de saída através de um bus Apenas um pacote pode ser transportado pelo bus de cada vez Velocidade de comutação limitada pela largura de banda do bus Exemplo: Cisco 900 ( bus de Gbps) - suficiente para o acesso de médias empresas à Internet 25 Camada de Rede

Comutação através de uma Malha Switch Fabric Ultrapassa as limitações impostas pelo bus 2n buses ligam n portos de entrada a n portos de saída Redes inicialmente propostas para interligar processadores num ambiente multiprocessador, redes de Banyan Estruturas avançadas: fragmentação de datagramas em pacotes de tamanho fixo dentro da malha de comutação Exemplo Cisco 2000: pode comutar dezenas de Gbps via a sua malha de comutação Malha N-dimensional 26 Camada de Rede

Funcionamento de um encaminhador Revisão Serviços da camada de rede Circuitos virtuais Datagramas Funcionamento de um encaminhador ( router ) Camada de rede na Internet: o protocolo IP Princípios de encaminhamento selecção de um caminho Outros aspectos da camada de rede na Internet DHCP, NAT, ICMP, IPv6 Encaminhamento hierárquico Encaminhamento na Internet intra domínio inter domínio Encaminhamento multicast Arquitectura de de um um Nó Nóde de Encaminhamento Portos de de Entrada e Saída Funções Filas Filas de de espera espera Arquitecturas de de Comutação Memória Bus Bus Malha Malha 27 Camada de Rede

Camada de Rede na Internet Funções da camada de rede Camada de transporte: TCP, UDP Camada de rede Protocolos de encaminhamento selecção de caminhos RIP, OSPF, BGP Tabela de encaminhamento protocolo IP convenções de endereços formato do datagrama convenções de manuseio do pacote protocolo ICMP reporta erros sinalização Camada de ligação de dados Camada física 28 Camada de Rede

Formato do datagrama IPv4 [RFC 79] nº da versão do prot. IP 32 bits comprimento do comp. tipo de ver cabeçalho (bytes) cabeçalho serviço comprimento definição de níveis de serviço ident. 6-bits bits Datagramas não duram forever. nº max de hops q restam (decrementado em cada router, 0=drop) prot. camada superior ao qual entregar dados (6 = TCP, 7 = UDP) e.g. especificar lista de routers a visitar, marca temporal timestamp, registar caminho seguido Time to live Prot. cam superior início (offset) do fragmento Internet checksum (apenas do header) endereço IP de origem 32 bits endereço IP de destino 32 bits Opções (se tiver, não usado no IPv6) dados (comprimento variável, tipicamente um segmento TCP ou UDP, ou mensagem ICMP) Overhead com o TCP? 20 bytes do TCP 20 bytes do IP = 40 bytes + overhead da camada aplicação comprimento total do datagrama (em bytes) Para fragmentação/ Reagrupamento indica a posição de um fragmento de dados em relação ao º byte dos dados (o qual tem offset 0) Flags (3-bits) número único usado para identificar a trama e outros fragmentos associados para reagrupamento 29 Camada de Rede

Fragmentação e Reagrupamento em IPv4 Comprimento máximo de datagrama IP é 2 6 = 65535 bytes. As ligações da rede têm um tamanho máximo para as tramas da camada de ligação de dados MTU max transfer size (e.g. 576 Bytes, 500 Bytes na Ethernet) ligações diferentes têm MTUs diferentes Datagramas IPv4 grandes podem ser divididos ( fragmentados ) dentro da rede (mas não no IPv6) um datagrama é dividido em vários datagramas num router são reagrupados apenas no destino existem campos no cabeçalho IP que são usados para identificar e ordenar os fragmentos 30 Camada de Rede reagrupamento fragmentação entrada: um datagrama grande saída: 3 datagramas menores dados cabeçalho

Fragmentação e reagrupamento em IPv4 Exemplo Datagrama de 4000 bytes MTU = 500 bytes 480 bytes de dados início = 480/8 Se ou mais fragmentos se perdem, o datagrama incompleto é descartado e não é passado à camada de transporte. 3980 bytes de dados compr ID bit_frag início =4000 =x =0 =0 Um datagrama transforma-se em vários datagramas mais pequenos compr =500 compr =500 compr =040 [RFC 79] The data of the long datagram is divided into two portions on a 8 octet (64 bit) boundary (the second portion might not be an integral multiple of 8 octets, but the first must be). Call the number of 8 octet blocks in the first portion NFB (for Number of Fragment Blocks). 3 Camada de Rede ID =x ID =x ID =x bit_frag = bit_frag = bit_frag =0 início =0 início =85 início =370

Endereçamento IP: introdução endereço IP - ID de 32 bits para interface da máquina ou nó (router) total 2 32 interface: ligação entre máquina ou router e o canal físico router típico tem várias interfaces máquina pode ter apenas ou ter várias interfaces endereços IP estão associados às interfaces, Esta rede é constituida por 3 redes IP 223... 223..2. 223...2 223...4 223..2.9 223...3 223..3. 223..3.27 223..2.2 223..3.2 não à máquina ou router 223..3. = 0 0000000 000000 0000000 223 3 32 Camada de Rede

Redes e Subredes (Subnets) IP Endereço IP parte da rede (bits de maior ordem). Network prefix parte da máquina (bits de menor ordem host part ) Definição de sub(rede) IP (da perspectiva do endereço IP) Conjunto de interfaces de dispositivos com a mesma parte de rede nos seus endereços IP podem comunicar entre elas sem intervenção de um nó encaminhador ( router ) Máscara da sub-rede (subnet mask): / 24 223...0/24 e.g. Ethernet LAN 223..3.0/24 223..2.0/24 Para os endereços IP começados por 223, os primeiros 24 bits são o endereço de rede 33 Camada de Rede

Redes e Subredes IP Exemplo Sistema interligado constituído por 6 redes IP desassociar cada interface do seu router, máquina criar ilhas de redes isoladas cada rede isolada é uma sub-rede 34 Camada de Rede

Endereçamento IP Endereçamento em Classes Classe A /8, Classe B /6, Classe C /24 Uso ineficiente do espaço de endereçamento e.g., a atribuição de uma rede de classe B reserva espaço para cerca de 65000 computadores (e organização só precisa de 2000) Classe C para apenas 2 8-2=254 máquinas (2 endereços reservados) 35 Camada de Rede

Endereçamento IP CIDR CIDR: Classless InterDomain Routing parte de rede do endereço de comprimento arbitrário formato de endereço: a.b.c.d/x, onde x é número de bits na parte de rede do endereço parte de rede parte de máquina 00000 0000 0000000 00000000 200.23.6.0/22 A uma uma organização é normalmente atribuidobloco bloco de de endereços adjacentes parte parte de de rede rede comum comum X bits bits utilizada utilizada por por routers routers para para encaminhar encaminharpacotes para para qualquer qualquer dispositivo dispositivo da da organização organização => => maior maior eficiência, eficiência, menor menor tamanho tamanho nas nas tabelas tabelas de de encaminhamento encaminhamento Parte Parte de de máquina (32-X): (32-X): para para diferenciar dispositivos dentro dentro da da organização Podem Podem ter ter ou ou não não parte parte de de subrede subredepara para routers routersdentro da da organização organização Broadcast Address: 255.255.255.255 mensagem mensagem entregue entregue em em broadcast broadcastpara para todas todas Redes as as máquinas máquinas de Computadores na na rede rede 200/20 36 Camada de Rede

Obtenção de bloco de endereços do ISP Recepção de uma parte do espaço de endereços do ISP Bloco do 00000 0000 0000000 00000000 200.23.6.0/20 fornecedor Organização 0 00000 0000 0000000 00000000 200.23.6.0/23 Organização 00000 0000 000000 00000000 200.23.8.0/23 Organização 2 00000 0000 000000 00000000 200.23.20.0/23....... Organização 7 00000 0000 0000 00000000 200.23.30.0/23 37 Camada de Rede

Endereçamento Hierárquico Agregação de Caminhos (ou de Endereços) Endereçamento hierárquico permite publicar de forma eficiente informação sobre caminhos Organização 0 200.23.6.0/23 Organização 200.23.8.0/23 Organização 2 200.23.20.0/23 Organização 7.... Fornecedor A mande-me qq coisa com endereços que começam com 200.23.6.0/20 Internet 200.23.30.0/23 Fornecedor B mande-me qq coisa com endereços que começam com 99.3.0.0/6 38 Camada de Rede

Endereçamento IP Ineficiência resultante da quebra da hierarquia O fornecedor de serviços B publica um caminho específico para Organização Organização 0 200.23.6.0/23 Organização 2 200.23.20.0/23 Organização 7 200.23.30.0/23 Organização 200.23.8.0/23.... Fornecedor A Fornecedor B Menor eficiência Qual será agora o anúncio? mande-me qq coisa com endereços que começam com /23 ou /22 ou /2 mande-me qq coisa com endereços que começam com 99.3.0.0/6 ou 200.23.8.0/23 Internet 39 Camada de Rede

Endereços IP Obtenção Actualmente há cinco instituições regionais Actualmente há cinco instituições regionais AfriNIC African Network Information Center AfriNIC African Network Information Center APNIC Asia Pacific Network Information Center APNIC Asia Pacific Network Information Center ARIN American Registry for Internet Number ARIN American Registry for Internet Number LACNIC LACNIC Latin Latin American American and and Caribbean Caribbean Internet Internet Addresses Addresses Registry Registry RIPE NCC Reseaux IP Europeans RIPE NCC Reseaux IP Europeans Como um fornecedor IP (ISP) consegue um bloco de endereços? ICANN: Internet Corporation for Assigned Names and Numbers Alocação de endereços gestão dos servidores raiz DNS atribuição nomes de domínio, resolução de conflitos Como uma máquina obtém um endereço IP? codificado pelo administrador num ficheiro Windows: Painel de controle->rede->configuração>tcp/ip->propriedades UNIX: /etc/rc.config DHCP: Dynamic Host Configuration Protocol: obtém endereço dinamico de um servidor plug-and-play 40 Camada de Rede

Datagrama IP: da origem ao destino Datagrama IP Misc fields source IP addr dest IP addr data campos de endereço origem e destino: o datagrama não é alterado desde a origem ao destino A B 223... 223..2. 223...2 223...4R 223..2.9 223..2.2 223...3 223..3.27 E 4 Camada de Rede Tabela de encaminhamento em B Rede de Destino 223.. 223..2 223..3 Próximo Router 23...4 223...4 Nº de hops 2 2 223..3. 223..3.2

Datagrama IP: da origem ao destino - Exemplo Misc fields source IP 223...3 Da origem B: 223...3 ao destino A: 223... dest IP 223... data B consulta tabela de encaminhamento com a parte de rede do endereço de A A está na mesma rede que B A camada de ligação de dados envia, dentro da sua trama, o datagrama directamente a A A B 223... 223..2. 223...2 223...4R 223..2.9 223...3 223..3.27 223..2.2 E 42 Camada de Rede Tabela de encaminhamento em B Rede de Destino 223.. 223..2 223..3 Próximo Router 23...4 223...4 Nº de hops 2 2 223..3. 223..3.2

Datagrama IP: da origem ao destino - Exemplo 2 (º parte: da origem até o router) Da origem B: 223...3 ao destino E: 223..2.2 Misc fields source IP 223...3 dest IP 223..2.2 data B consulta a tabela de encaminhamento com parte de rede do endereço de E E não está na mesma rede que B caminho para E passa por nó 223...4 camada lógica envia trama para 223...4 contendo o datagrama datagram chega ao router 223...4 A B 223... 223..2. 223...2 223...4R 223..2.9 223...3 223..3.27 223..2.2 E 43 Camada de Rede Tabela de encaminhamento em B Rede de Destino 223.. 223..2 223..3 Próximo Router 223...4 223...4 Nº de hops 2 2 223..3. 223..3.2

Datagrama IP: da origem ao destino - Exemplo 2 (2º parte: do router até ao destino) Da origem B: 223...3 (através do router R 223...4) ao destino E: 223..2.2 Misc fields source IP 223...3 dest IP 223..2.2 data R consulta a tabela de encaminhamento com parte de rede do endereço de E E está na mesma rede que a interface 223..2.9 do router camada lógica associada à interface 223..2.9 do router envia trama para 223..2.2 contendo o datagrama datagrama chega a 223..2.2 A B 223... 223..2. 223...2 223...4R 223..2.9 223...3 223..3.27 223..2.2 E 44 Camada de Rede Tabela de encaminhamento no router R Rede de Destino 223.. 223..2 223..3 Próximo Router Interface 223...4 223..2.9 223..3.27 Nº de hops 223..3. 223..3.2

Camada de rede na Internet: o protocolo IP Revisão Serviços da camada de rede Circuitos virtuais Datagramas Funcionamento de um encaminhador ( router ) Camada de rede na Internet: o protocolo IP Princípios de encaminhamento selecção de um caminho Outros aspectos da camada de rede na Internet DHCP, NAT, ICMP, IPv6 Encaminhamento hierárquico Encaminhamento na Internet intra domínio inter domínio Encaminhamento multicast 45 Camada de Rede Camada de de Rede na na Internet Formato do do datagrama IPv4 IPv4 Fragmentação e Reagrupamento em em IPv4 IPv4 Endereçamento IP IP Redes Redes e Subredes IP IP Endereçamento por por classes classes CIDR CIDR Endereçamento Hierárquico

Encaminhamento Objectivo determinar bons caminhos na rede (sequências de nós) entre a origem e o destino v 3 tipicamente o caminho de menor custo 2 determinar caminho entre máquina de origem e máquina de destino reduz-se ao u 2 problema de determinar caminho na rede 3 entre o default router da origem e o default router do destino x Representação da rede por grafos os nós de encaminhamento ( routers ) são os nós do grafo as ligações físicas são os arcos do grafo Custo da ligação: atraso, distância em km, nível de congestionamento 5 w y 5 2 z Relembrar: A abstração com com grafos grafos éútil em em outros outros contextos da da rede rede Exemplo: Exemplo: P2P, P2P, onde onde N é o conjunto conjunto dos dos pares pares e E é o conj. conj. das das ligações ligações TCP TCP 46 Camada de Rede

Abstracção com grafos Custos Grafo: G = (N,E) N = conj. de routers = { u, v, w, x, y, z } E = conj. de ligações ={ (u,v), (u,x), (u,w), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z) } 3 c(x,x ) = custo da ligação (x,x ) - e.g., c(w,z) = 5 x y 2 - custo poderia também ser - ou inversamente proporcional à largura de banda ou ao congestionamento Custo do caminho (x, x 2, x 3,, x p ) = c(x,x 2 ) + c(x 2,x 3 ) + + c(x p-,x p ) Algoritmo de de encaminhamento -- algoritmo algoritmo que que encontra encontra o caminho caminho de de menor menor custo custo (e.g. (e.g. entre entre u e z) z) u 2 5 v 2 3 w 5 z 47 Camada de Rede

Classificação dos Algoritmos de Encaminhamento Informação global / descentralizada? Global todos os nós conhecem completamente a topologia e o custo das ligações algoritmos de estado das ligações ( link state algorithms) Descentralizada cada nó conhece os que lhe estão ligados directamente e os custos associados a essas ligações processo de cálculo iterativo por troca de informação com vizinhos algoritmos de vector de distâncias ( distance vector algorithms) 48 Camada de Rede Sensiveisao ao traffic load? Load Load Sensitive Os Os custos custosda daligação ligaçãovariam dinamicamente dinamicamentepara parareflectir reflectir o nível nívelde de congestão congestãoda daligação Alto Alto custo custo => => alg alg encaminhamento encaminhamento escolhe escolhe caminhos caminhos à à volta volta do do link link e.g. e.g. ARPAnet ARPAnet routing routing algorithm algorithm Load Load Insensitive Custo Custode de ligação ligaçãonão nãoreflecte reflectenível de de congestão congestãorecente recenteou oupassado usados usados actualmente actualmente Estáticosou ou dinâmicos? Estáticos os caminhos mudam os caminhos mudam lentamente lentamente no no tempo tempo Dinâmicos os oscaminhos caminhosmudam mudam rapidamente rapidamente modificação periódica modificação periódica Redes de sempre Computadores que alterem 200/20 custos sempre que alterem custos Departamento das das de ligações ligações Engenharia ou ou a Informática a topologia topologia

Algoritmo de Encaminhamento Link-State Algoritmo de Dijkstra topologia da rede e custos das ligações conhecidos por todos os nós consegue-se através da difusão da informação sobre o estado das ligações ( link state broadcast ) e.g. OSPF routing protocol todos os nós têm a mesma informação calcula o menor custo desde um nó (fonte) até cada um dos restantes produz a tabela de encaminhamento para esse nó Iterativo depois de k iterações, conhece o menor custo para k nós de destinos 49 Camada de Rede

Algoritmo de Dijkstra N = conj. de routers = { u, v, w, x, y, z } Ciclo executado N - vezes (N menos a origem). Initialization: 2. N = {u} 3. for all nodes a 4. if a adjacent to u 5. then D(a) = c(u,a) 6. else D(a) = infty Notação: c(i,j) custo da ligação do nó i para o nó j o o o custo é infinito se os nós não são vizinhos Bidireccionalidade: c(i,j)=c(j,i) D(v) valor actual do custo da origem para o destino v p(v) penúltimo nó no caminho actual de menor custo da origem para o nó v N conjunto de nós para os quais se conhece já o caminho de menor custo 7. Loop 8. find b not in N such that D(b) is a minimum 9. add b to N 0. update D(a) for all a adjacent to b and not in N : D(a) = min( D(a), D(b) + c(b,a) ) 2 /* new cost to a is either old cost to a or known shortest path cost to b plus cost from b to a */ 3 until all nodes in N (N = N) 2 U 5 V X 2 3 3 W Y 5 Z 2 50 Camada de Rede

Algoritmo de Dijkstra Exemplo Step 0 2 3 4 5 N' u ux uxy uxyv uxyvw uxyvwz D(v),p(v) 2,u 2,u 2,u D(w),p(w) 5,u 4,x 3,y 3,y D(x),p(x),u D(y),p(y) 2,x Selecciona-se arbitrariamente v ou y D(z),p(z) 4,y 4,y 4,y Caminhar para trás para reconstruir melhor caminho 5 V 3 W 2 U 2 3 X Y 5 Camada de Rede 5 Z 2 Tabela de encaminhamento resultante em u destino ligação V W U X Y Z Árvore de caminhos mínimos resultante originada em u v x y w z (u,v) (u,x) (u,x) (u,x) (u,x)

Algoritmo de Dijkstra Discussão Complexidade algoritmica (n nós sem contar com a origem) em cada iteração é necessário avaliar todos os nós w que não estão em N ª iteração: verificar tos os n nós, 2ª iteração: n-, 3ª iteração: n-2,... n(n+)/2 comparações => complexidade no pior caso O(n 2 ) implementações mais eficientes possíveis: O(n logn) Passo 8 do algoritmo pode ser executado em tempo logaritmico de n e.g. custo da ligação = tráfego transportado (no exemplo, todos enviam para w) Algoritmo pode originar oscilações z w +e 0 0 0 e y e x 2+e 0 0 w w w +e 0 0 2+e 0 0 +e 2+e 0 z x z x z x 0 +e y y y inicialmente recalcula caminhos recalcula recalcula e 52 Camada de Rede

Algoritmo de Vector de Distâncias - Equação de Bellman-Ford Equação de Bellman-Ford (programação dinâmica) Definir d x (y) := custo do caminho de menor custo entre x e y Então d x (y) = min {c(x,v) + d v (y) } v onde min é tomado entre todos os vizinhos v de x U 2 5 V X 2 v 3 3 W Y Exemplo com Bellman-Ford Claramente, d v (z) = 5, d x (z) = 3, d w (z) = 3 A equação B-F diz que d u (z) = 5 min {c(u,v) + d v (z),c(u,x) + d x (z),c(u,w) + d w (z)} = Z min {2 + 5, + 3, 5 + 3} = 4 2 O nó que leva ao custo mínimo é o próximo passo ao longo do caminho mais curto tab. de encaminhamento 53 Camada de Rede

Algoritmo de Vector de Distâncias DV Distance Vector Algorithm Definir D x (y) = estimativa do menor custo entre x e y Vector de distâncias: D x = [D x (y): y є N ]. Nó x sabe o custo para cada vizinho v: c(x,v) 2. Nó x mantém D x = [D x (y): y є N ] 3. Nó x mantém ainda os vectores de distâncias dos seus vizinhos Para cada vizinho v, x mantém D v = [D v (y): y є N ] Idéia básica Cada nó envia periodicamente a seu próprio vector de distâncias (estimativa) para os vizinhos Quando um nó x recebe uma nova estimativa DV de um vizinho, actualiza o seu DV usando a eq. B-F: D x (y) min v {c(x,v) + D v (y)} p/ cada nó y N Sob condições mínimas, naturais, a estimativa D x (y) converge para o menor custo real d x (y) 54 Camada de Rede

Funcionamento do Algoritmo de Vector de Distâncias Em cada nó espera por mudanças no custo de uma ligação local ou por mensagem de um vizinho recalcula tabela de distâncias se mudou o caminho de menor custo para qualquer destino, informa vizinhos Iterativo Iterativo actualizações contínuas até que não haja actualizações contínuas até que não haja troca troca de de informação informação entre entre nós nós iteração iteração local local causada causada por por mudança do custo da ligação local mudança do custo da ligação local mensagem do vizinho: mudança de caminho mensagem do vizinho: mudança de caminho de de menor menor custo custo para para algum algum destino destino termina automaticamente termina automaticamente Assíncrono Assíncrono cada cada nó nóactualiza a sua sua informação informação em em instantes instantes independentes independentes dos dos outros outros nós nós Distribuído Distribuído cada nó comunica apenas com os seus cada nó comunica apenas com os seus vizinhos vizinhos directos directos os vizinhos avisam os seus vizinhos, se os vizinhos avisam os seus vizinhos, se necessário necessário 55 Camada de Rede

Implementação do Algoritmo de Vector de Distâncias Em todos os nós. Começando por X... Initialization for all destinations y in N: /* if y is not a neighbor then c(x,y)= */ 2 D X (y) = c(x,y) 3 for each neighbor v 4 D v (y) = 5 for each neighbor v 6 send distance vector D X = [D X (y): y in N] to v 7 loop 8 wait 9 until x gets a link cost change c(x,w) to neighbor w 0 or until x receives D w (y) update from neighbor w for each y in N: 2 D X (y) = min v { c(x,v) + D v (y) } 3 if D X (y) changed for any destination y 4 send distance vector D X = [D X (y): y in N] to all neighbors v 5 forever 56 Camada de Rede

Algoritmo de Vector de Distâncias Exemplo tabela nó x origem tabela nó y origem tabela nó z origem x y z x y z custo para x y z 0 2 7 x y z 2 0 x y z x y z 7 0 origem origem origem 57 Camada de Rede x y z x y z x y z custo para x y z 0 2 3 2 0 7 0 x y z 0 2 7 2 0 7 0 x y z 0 2 7 2 0 3 0 origem origem origem x y z x y z x y z custo para x y z 0 2 3 2 0 3 0 x y z 0 2 3 2 0 3 0 x y z 0 2 3 2 0 3 0 tempo D x (y)=min{c(x,y)+d y (y), c(x,z) + D z (y)} = min{2+0, 7+} = 2 D x (z) = min{c(x,y) + D y (z), c(x,z) + D z (z)} = min{2+, 7+0} = 3 x 2 y 7 z

Vector de Distâncias: Alteração (decremento) do custo de uma ligação nó detecta mudança no custo da ligação local actualiza tabela de distâncias se mudou o Distance Vector, avisa aos vizinhos X 4 Y 50 Z. No tempo t 0, y detecta a mudança no custo da ligação, actualiza o seu DV e informa os vizinhos. 2. No tempo t, z recebe a actualização de y e actualiza a sua tabela. Calcula o novo menor custo para x e envia o seu DV para os vizinhos. 3. No tempo t 2, y recebe a actualização de z e actualiza a sua tabela. Os custos mínimos de y não mudam e portanto y não envia nenhuma mensagem para z. 58 Camada de Rede

Vector de Distâncias: Alteração (incremento) no custo de uma ligação Mudança no custo das ligações boas notícias chegam logo más notícias demoram para chegar 60 X 4 Y 50 Z 44 iterações antes do algoritmo estabilizar problema da contagem ao infinito! Adicionar Poisoned Reverse (reverso envenenado) Se z encaminha via y para chegar a x: z informa para y que a sua distância para x é infinita (para que y não encaminhe para x via z) Isto não resolve completamente o problema da contagem ao infinito 59 Camada de Rede

Comparação dos algoritmos Link- State (LS) e Distance-Vector (DV) Complexidade das mensagens LS: com n nós e E ligações, cada nó envia O(nE) mensagens DV: troca de mensagens apenas entre nós vizinhos Velocidade de convergência LS: o algoritmo (em cada nó) converge em O(n2) comparações pode conduzir a oscilações DV: tempo de convergência varia Podem-se criar circuitos fechados problema da contagem para infinito Robustez mau funcionamento dos nós LS: cada nó pode difundir erradamente os custos das ligações cada nó calcula a sua tabela de encminhamento DV: cada nó pode difundir erradamente o custo de um caminho a tabela de cada nó é usada pelos restantes erros propagam-se a toda a rede 60 Camada de Rede

Princípios de encaminhamento selecção de um caminho Encaminhamento Encaminhamento Abstracção Abstracção com com grafos grafos Serviços da camada de rede Classificação Classificação dos dos algoritmos algoritmos de de encaminhamento encaminhamento Circuitos virtuais Datagramas Algoritmo Algoritmo de de encaminhamentmento Link-State Link-State encaminha- Funcionamento de um encaminhador ( router ) Camada de rede na Internet: o protocolo IP Exemplo Exemplo e e discussão discussão Princípios de encaminhamento Algoritmo de Dijkstra Algoritmo de Dijkstra selecção de um caminho Algoritmo de Vector de Algoritmo de Vector de Outros aspectos da camada de rede na Internet Distâncias DHCP, NAT, ICMP, IPv6 Distâncias Equação de Bellman-Ford Encaminhamento hierárquico Equação de Bellman-Ford Funcionamento do Algoritmo Encaminhamento na Internet Funcionamento do Algoritmo Implementação e exemplos intra domínio Implementação e exemplos inter domínio Alteração Alteração do do custo custo de de Encaminhamento multicast ligação ligação Comparação Comparação dos dos algoritmos algoritmos Link-State Link-Statee Distance- Distance- Vector Vector 6 Camada de Rede