Router - NetLab - Universidade Lusófona
Transcrição
Router - NetLab - Universidade Lusófona
R d d C Redes de Computadores d Nível Rede Nível Rede Li Licenciatura Engª i t E ª Informática I f áti 2º Semestre 2009/2010 Prof. José Rogado jose dot rogado at ulusofona dot pt Universidade Lusófona 4‐1 Nível Rede Nível Rede Objectivos: Descrever os princípios e os serviços associados ao nível rede: Características dos circuitos de rede Routing g ((escolha de rotas)) Endereçamento Funcionamento de um router IPv6, mobilidade Implementação na Internet Implementação na Internet 4-2 Nível Rede Nível Rede Introdução Circuitos virtuais e datagramas IP: Internet Protocol Algoritmos de routing Link state Vector distância Routing hierárquico Formato dos datagramas Esquema de endereçamento IPv4 ICMP IPv6 Funcionamento de um Routing na Internet RIP OSPF BGP Routing em brodacast e Routing em brodacast e multicast Router 4-3 Nível Rede Serviços do Nível Rede Encapsular os segmentos em datagramas no emissor Encaminhar segmentos do emissor ao receptor Entregar os segmentos ao nível de transporte no receptor receptor Os protocolos do nível rede estão em todos os hosts e estão em todos os hosts e routers O router examina o header de todos os datagramas 4‐4 Nível Rede Funcionalidades principais Forwarding: mover Analogias: pacotes no interior do pacotes no interior do router desde a interface de entrada até à interface de saída apropriada Routing: determinar a rota a seguir pelos pacotes desde a origem d d i até ao destino Forwarding: escolha da direcção certa numa direcção certa numa rotunda Routing: planeamento de uma viagem desde a g origem ao destino Utilização de algoritmos de Routing 4‐5 Nível Rede Relação entre routing e forwarding 4‐6 Nível Rede Modelo de Serviço do Nível Rede Modelo de Serviço associado ao encaminhamento de datagramas através de um canal entre um emissor e um receptor: Serviços associados a Serviços associados a datagramas isolados: Garantir a entrega Garantir a entrega Garantir a entrega dentro de um intervalo específico p Serviços associados a um Serviços associados a um fluxo de datagramas: Entrega ordenada Entrega ordenada Garantia de largura de banda mínima Restrições nos tempos de separação entre a entrega dos pacotes (jitter) 4-7 Nível Rede Nível Rede Introdução Circuitos virtuais e datagramas IP: Internet Protocol Algoritmos de routing Link state Vector distância Routing hierárquico Formato dos datagramas Esquema de endereçamento IPv4 ICMP Routing na Internet RIP OSPF BGP Routing em broadcast e IPv6 Funcionamento de um IPv6 Funcionamento de um Routing em broadcast e multicast Router 4-8 Nível Rede Tipos de Serviço do Nível Rede Em algumas arquitecturas de rede, existe uma funcionalidade adicional associada ao nível rede funcionalidade adicional associada ao nível rede ATM, X.25, Frame Relay (ver cap. V) Antes do envio dos datagramas, dois hosts g , e os routers (ou switches na terminologia ATM) envolvidos estabelecem uma ligação virtual Participação activa dos routers (ou switches) Participação activa dos routers (ou switches) Existem assim dois tipos de serviços do nível rede: Circuito Virtual que fornece serviços com conexão Circuito Virtual que fornece serviços com conexão Datagrama que fornece serviços sem conexão 4-9 Nível Rede Arquitectura ATM O ATM é um protocolo de comutação de pacotes (células) que utiliza Circuitos Virtuais para realizar o encaminhamento entre origem e destino i d i Situa‐se em principio no nível 2 embora forneça funcionalidades de encaminhamento Mais detalhes no próximo capítulo… 4‐10 Nível Rede Características dos Modelos de Serviço ç Network Architecture I t Internet t ATM Service Model Congestion Bandwidth Loss Order Timing feedback b t effort best ff t none CBR Constant Bit Rate ATM Guarantees ? VBR Variable Bit Rate ATM ABR ATM UBR Available Bit Rate constant rate guaranteed rate guaranteed minimum o e none no no no yes yes yes yes yes yes no yes no no (inferred (i f d via loss) no congestion no congestion g yes o no yes no no Unspecified Bit Rate 4-11 Nível Rede Circuitos Virtuais (CV) CV: Semelhante a um circuito telefónico A nível da performance Ao nível das acções realizadas pela rede ao longo do caminho Estabelecimento e finalização de ligação separadas da transmissão dos Estabelecimento e finalização de ligação separadas da transmissão dos dados Cada pacote transporta o identificador do CV e não o endereço de d ti destino Cada router no caminho mantém um estado para cada conecção estabelecida Recursos da ligação e dos routers (largura de banda e buffers) podem ser alocados a um dado CV 4-12 Nível Rede Implementação de Circuitos Virtuais Um CV consiste de: 1 1. 2. 3. Um caminho da origem ao destino Um caminho da origem ao destino Número de CV: um número para cada segmento da ligação Tabelas de encaminhamento em cada router utilizado Cada pacote que circula num CV é identificado pelo número do circuito O número de CV do pacote muda em cada ligação O número de CV do pacote muda em cada ligação O número de cada novo CV é obtido da tabela de encaminhamento Os routers (ou switches) mantêm informação de estado associada a cada circuito virtual Cada vez que é criado um novo CV é inserido um elemento na Cada vez que é criado um novo CV é inserido um elemento na tabela de encaminhamento de cada router 4-13 Nível Rede Tabelas de Encaminhamento 12 Número de CV 32 22 Número de interface Elementos das tabelas de encaminhamento nos routers R1 e R2 R t Router If. If d de E Entrada t d CV de d origem i R1 … … R2 … 1 … … 1 … 12 … … 22 … If. If de d Saída S íd 2 … … 2 … 4-14 CV de d d destino ti 22 … 32 … Nível Rede Protocolos de Sinalização Utilizados para criar, manter e remover circuitos virtuais Utilizados em ATM, X.25 e Frame‐Relay Utili d ATM X 25 F R l Não utilizados no Internet Protocol application transport network data link data link physical 1. Initiate call 2. Incoming call 4. Call connected 5. Data flow begins 3. Accept call 6. Receive data 4‐15 application transport network data link physical Nível Rede Redes Datagrama Não existe estabelecimento de conecção no nível rede Não existe o conceito de conecção Os routers não guardam estado relativamente às conecções end Os routers não guardam estado relativamente às conecções end‐to‐end to end Os pacotes são encaminhados utilizando o endereço do host de destino Pacotes sucessivos entre os mesma origem e destino podem seguir caminhos (rotas) diferentes i h ( ) dif application pp transport network data link data link physical application li ti transport network 2 Receive data 2. Receive data data link physical 1. Send data 4‐16 Nível Rede Routing em Redes Datagrama A determinação do caminho a seguir em cada router é determinada pela análise do endereço de destino Em cada router existe uma tabela de encaminhamento Cada elemento da tabela associa um intervalo de endereços a um interface de saída interface de saída O router faz seguir (forward) o pacote pela interface associada ao intervalo a que pertence o endereço de destino 1 2 3 4-17 0000-0111 1 1000 1011 1000-1011 2 1100-1111 3 Nível Rede Exemplo 232: 4 mil milhões de possibilidades Router com 4 interfaces de saída Endereço de 32 bits Intervalo do Endereço de Destino Interface de saída 11001000 00010111 00010000 00000000 até 11001000 00010111 00010111 11111111 0 11001000 00010111 00011000 00000000 até 11001000 00010111 00011000 11111111 1 11001000 00010111 00011001 00000000 até 11001000 00010111 00011111 11111111 2 senão 3 4-18 Nível Rede Redução do número de elementos Prefix Matching: comparação de parte mais significativa do endereço P fi Prefixo I t f Interface d saída de íd 11001000 00010111 00010 0 11001000 00010111 00011 1 11001000 00010111 00011000 2 senão 3 Exemplos ED: 11001000 00010111 00010110 10100001 Q i Que interface? f ? 0 ED: 11001000 00010111 00011000 10101010 ED: 11001000 00010111 00011000 10101010 Que interface? Que interface? 2 É escolhida a interface que corresponde ao maior prefixo comum ! 4‐19 Nível Rede Redes Datagrama ou Circuito Virtual? Internet ATM Transferência de dados entre Evoluiu a partir da telefonia computadores Serviço “flexível”, sem requisitos temporais rigorosos Sistemas finais “inteligentes” Si t fi i “i t li t ” (computadores) Podem adaptar‐se, realizar controle e correcção de erros ã d Simplicidade no interior da rede, complexidade na “periferia” Suporta múltiplos tipos de ligação Diferentes características Difícil estabelecer um serviço Difícil estabelecer um serviço uniforme Analogia com o diálogo humano Analogia com o diálogo humano 4-20 Requisitos temporais e de fiabilidade rigorosos Necessidade de garantir níveis de serviço Sistemas finais “pouco espertos” Telefones Redes inteligentes Complexidade no interior da rede Complexidade no interior da rede Nível Rede Comparação Redes Datagrama – Circuito Virtual 4-21 Nível Rede Nível Rede Introdução Circuitos virtuais e datagramas IP: Internet Protocol Algoritmos de routing Link state Vector distância Routing hierárquico Formato dos datagramas Esquema de endereçamento IPv4 ICMP IPv6 Funcionamento de um Routing na Internet RIP OSPF BGP Routing em brodacast e Routing em brodacast e multicast Router 4-22 Nível Rede Internetworking Internet: o protocolo IP permite interligar uma enorme diversidade de redes heterogéneas 4‐23 Nível Rede O Nível Rede da Internet Funcionalidades do nível rede (Hosts e Routers): Transport layer: TCP, UDP Nível Rede IP protocol IP protocol •addressing conventions •datagram format •packet handling conventions Routing protocols •path selection •RIP, OSPF, BGP forwarding table ICMP protocol •error reporting •router “signaling” Link layer Physical layer 4‐24 Nível Rede Formato dos Datagramas IP IP protocol version number header length (bytes) “type” of data max number max number remaining hops (decremented at each router) eac oute ) upper layer protocol to deliver payload to Overhead TCP+IP: 20 bytes of TCP 20 bytes of IP = 40 bytes + app y layer overhead 32 bits ver head. type of len service 16‐bit identifier upper time to time to layer live length fragment flgs offset Header checksum total datagram length (bytes) for fragmentation/ reassemblyy 32 bit source IP address 32 bit destination IP address Options (if any) Data ((variable length, g , typically a TCP or UDP segment) 4‐25 E.g. timestamp, record route taken, specify list of routers to visit. ii Nível Rede O Header IP O cabeçalho do Protocolo Internet IPv4 O cabeçalho do Protocolo Internet IPv4 Total: 20 bytes 4-26 Nível Rede O Header IP (I) Version” ‐ versão do protocolo IP utilizada. Já disponível versão 6, utiliza‐se contudo maioritariamente a versão 4. IHL ‐ IP Header Length: Número de conjuntos de 32 bits que o cabeçalho tem, sendo o valor mínimo 5 (valor por defeito). ( p ) TOS ‐ Type of Service: permite a indicação do tipo de serviço pretendido Actualmente começam a ser utilizados pelos DiffServ (Serviços Diferenciados) e ECN (explicit Congestion Notification) V di it li d mais importante a velocidade que a fiabilidade. Voz digitalizada ‐ i i t t l id d fi bilid d Transferência de ficheiros ‐ mais importante a ausência de erros que a velocidade. Os primeiros três bits do campo são a “precedence” de 0 – normal a 7 – (Network control packet) de seguida existem três flags D, T e R (Delay, Throughput e p ) g g , ( y, g p Reliability). Informação deveria ser utilizada pelos routers para escolher quel a encaminhamento a escolher (satélite, linha alugada, etc.) na prática os routers ignoram este campo. Total length ‐ g comprimento total do datagrama. máximo de 65.535 bytes. p g y Identification – para o host destino determinar a que datagrama um novo fragmento pertence. Todos os fragmentos do mesmo datagrama contêm o mesmo valor no campo “Identification”. DF Don DF – Don’tt Fragment bit indica que a máquina destino deve receber o datagrama na sua Fragment bit indica que a máquina destino deve receber o datagrama na sua totalidade e não em fragmentos, todas as máquinas devem estar preparadas para aceitar fragmentos de 576 bytes ou menos. 4-27 Nível Rede O Header IP (II) MF – More Fragments bit, serve para indicar que que o datagrama contém mais fragmentos, apenas o último dos fragmentos não terá este bit posicionado a 1. Fragment Offset ‐ posição que o fragmento deve ocupar no corrente datagrama. Fragmentos excepto último são múltiplos de 8 bytes Máx de 8192 Fragmentos, excepto último são múltiplos de 8 bytes. Máx de 8192 fragmentos/datagrama‐máx de 65.536 bytes mais um que max Total length. Time to live ‐ contador para limitar o tempo de vida útil de um pacote na rede. (segundos ‐ máximo de 255 s. Decrementado em cada nó ou fila de espera até atingir o valor zero quando é eliminado pela rede quando é eliminado pela rede. Protocol ‐ indica a que protocolo de transporte o datagrama pertence. (TCP e UDP ‐ definidos no RFC 1700). Header Checksum ‐ detecção erros de transmissão no cabeçalho. Recalculado em cada ç ç nó da rede uma vez que pelo menos o campo Time to Live é modificado. Source Address e Destination Address ‐ endereços origem e destino. Options ‐ acrescentado até um múltiplo de quatro bytes. (Security, Source Routing, Record route Timestamp Record route, Timestamp. 4-28 Nível Rede Fragmentação e Assemblagem IP Nem todas as ligações de rede utilizadas pelo IP têm o mesmo tamanho de trama MTU: Max. Transfer Unit Ethernet: 1500 bytes ATM: 48 bytes Os datagramas IP são divididos em “fragmentos” pela rede Cada fragmento é enviado num novo datagrama Os fragmentos são assemblados no destino Os bits do header IP são utilizados para identificar e ordenar os fragmentos ordenar os fragmentos relacionados 4-29 Nível Rede Fragmentação e Assemblagem IP Exemplo Datagrama de 4000 bytes MTU = 1500 bytes length ID =4000 =x fragflag =0 offset =0 O datagrama inicial é fragmentado em vários datagramas de comprimento inferior 1480 bytes de dados (1500 – 20 do header) offset = 1480/8 O flag é posicionado em g p todos os fragmentos excepto no último length ID =1500 1500 =xx fragflag =1 1 offset =0 0 length ID =1500 =x fragflag =1 offset =185 length ID =1040 =x fragflag =0 offset =370 O offset é indicado em múltiplos de 8 bytes ! 4‐30 Nível Rede Endereçamento IP: Introdução Endereço IP: identificador de 32bits de cada interface de rede dos hosts e routers rede dos hosts e routers Interface: dispositivo que realiza a ligação entre o g ç host/router e o meio físico Os routers têm geralmente múltiplos interfaces múltiplos interfaces Os hosts geralmente têm um só interface Cada interface tem um endereço d f d IP associado 223.1.1.1 = 11011111 00000001 00000001 00000001 223 4-31 1 1 1 Nível Rede Rede com 3 partições Partições partição ti ã O endereço IP é dividido em duas zonas: N.º de rede (bits de maior peso) N.º de host (bits de menor ( peso) O que é uma partição ? ÉÉ caracterizada pelo facto de caracterizada pelo facto de todos as interfaces terem o mesmo número de rede Nã Não poderem estar ligadas d t li d fisicamente sem ser através de um router host network address address 11011111 00000001 00000001 00000000 223.1.1.0/24 4-32 Nível Rede Partições do Laboratório (com gateways) 4-33 Nível Rede Partições do Laboratório (com router) Sala Q3.1 Sala Q3.2 Sala Q2.5 Sala Q2.5 4-34 Nível Rede Partições do Laboratório (conectividade) 4-35 Nível Rede Tabela de Roteamento do Laboratório Tabela do roteamento do Router 4-36 Nível Rede Versão com Gateways 4-37 Nível Rede Tabela de Roteamento Gateway1 Gateway de acesso à rede 192.168.10.0/24 Cada servidor de bancada tem uma tabela de roteamento equivalente 4-38 Nível Rede Tabela de Roteamento Gateway2 Gateway de acesso à rede 192.168.20.0/24 Cada servidor de bancada tem uma tabela de roteamento equivalente 4-39 Nível Rede IP: Classes de Endereçamento 4-40 Nível Rede Endereços IP XXX.XXX.XXX.XXX => nnn.nnn.hhh.hhh em que XXX ‐ Valor de 0 a 255 ( 00 a FF em Hexadecimal) nnn – REDE e hhh – HOST CLASSES DECIMAL HEXADECIMAL FORMATO A A 0 a 127 00 ‐ 0 127 00 7F nnn.hhh.hhh.hhh 7F hhh hhh hhh 127 Redes com 16.516.350 Hosts B 128 a 191 80 ‐ B 128 a 191 80 8B nnn.nnn.hhh.hhh 8B nnn nnn hhh hhh 16.002 Redes com 64.770 Hosts C 192 a 223 C0 C 192 a 223 C0 ‐ DF nnn.nnn.nnn.hhh DF nnn.nnn.nnn.hhh 1.999.996 Redes com 254 Hosts Aproximadamente 2 Biliões de Endereços Tcp/Ip E não chegam !! Aproximadamente 100 Triliões de Endereços Ethernet 4-41 Nível Rede Endereços IP Especiais 4-42 Nível Rede Endereçamento IP: CIDR CIDR: Classless InterDomain Classless InterDomain Routing A zona atribuída à subnet é de tamanho arbitrário O formato utilizado é a.b.c.d/x , onde O formato utilizado é a b c d/x onde x é o número x é o número de de bits utilizados pela zona da subnet host part subnet part p 11001000 00010111 00010000 00000000 200 23 16 0/23 200.23.16.0/23 4-43 Nível Rede Mascaras de Rede (Netmasks) As mascaras de rede (netmasks) permitem extrair o número de rede de um endereço IP através de uma operação lógica simples (AND) Netmask classe A classe A ‐> 255.0.0.0 Exemplo: Netmask classe B ‐> 255.255.0.0 IP: 192.168.10.12 Netmask classe C ‐> 255.255.255.0 Netmask: 255.255.255.0 N Netmask k CIDR Rede: 192.168.10.0 192.168.10.0/22 ‐> 255.255.252.0 192.168.20.0/26 ‐> 255.255.255.192 Network Host Endereço IP 11111111111111111111 000000000000000000 Netmask (AND) Network 000000000000000000 4-44 Nº de Rede Nível Rede NAT: Network Address Translation Justificação: Os endereços IP são escassos em IPv4 ! A utilização do NAT permite que uma rede local utilize apenas A utilização do NAT permite que uma rede local utilize apenas um endereço IP para aceder ao exterior: Evita a necessidade de alocação de uma gama de endereços IP por parte ç g ç p p do ISP: apenas um endereço é utilizado para todos os dispositivos É possível modificar endereços dos dispositivos na rede local sem notificar o mundo exterior notificar o mundo exterior Pode‐se mudar de ISP sem mudar os endereços dos dispositivos na rede local Os dispositivos no interior da rede local não endereçáveis explicitamente podem ser acedidos a partir da rede externa ‐> segurança adicional. 4-45 Nível Rede NAT: Network Address Translation Exemplo Resto da R d Internet Rede local d l l (ex., rede doméstica) 10.0.0/24 10.0.0.4 10.0.0.1 10.0.0.2 138 76 29 7 138.76.29.7 10.0.0.3 Todos os datagramas à saída de uma rede local têm o mesmo e único endereço de origem IP: 138.76.29.7 e d d i IP 138 76 29 7 diferentes números de portos de origem Os datagramas com origem ou destino na rede local têm 10.0.0.x como endereços de origem ou destino 4‐46 Nível Rede NAT: Implementação Um router que implemente NAT efectua as seguintes operações: À saída: substituir os campos (endereço IP de origem, n.º de porto) em todos os datagramas de saída por (endereço IP‐NAT, ) d d d íd ( d IP NAT novo n.º de porto) Os clientes/servidores remotos responderão utilizando / p (endereço IP‐NAT, novo n.º de porto) como endereço destino. Memorizar (na tabela de translação NAT) todos as correspondências entre (endereço IP de origem n º de porto) e correspondências entre (endereço IP de origem, n.º de porto) e (endereço IP‐NAT, novo n.º de porto) À entrada: substituir os campos (endereço destino IP‐NAT, novo n.º de porto) de todos os datagramas de chegada pelos ºd t )d t d d t d h d l correspondentes (endereço IP de origem, n.º de porto) armazenados na tabela NAT 4-47 Nível Rede NAT: Funcionamento 2: router NAT Muda o source addr do datagrama de 10.0.0.1, 3345 para 138.76.29.7, 5001, e actualiza tabela NAT translation table WAN side addr WAN side addr LAN side addr LAN side addr 1: host 10.0.0.1 envia datagrama para i d t 128.119.40.186, 80 138.76.29.7, 5001 10.0.0.1, 3345 …… …… S: 10.0.0.1, 3345 D: 128.119.40.186, 80 10.0.0.1 1 2 S: 138.76.29.7, 5001 D: 128.119.40.186, 80 10.0.0.4 138 76 29 7 138.76.29.7 S: 128.119.40.186, 80 D: 138.76.29.7, 5001 S: 128.119.40.186, 80 D: 10.0.0.1, 3345 3 10.0.0.2 4 4: router NAT M d d Muda o dest addr do dd d datagrama de 138.76.29.7, 5001 para 10.0.0.1, 3345 3: Chega resposta Chega resposta para dest. address: 138.76.29.7, 5001 4‐48 Nível Rede 10.0.0.3 Diferentes tipos de NAT (I) Source: http://www.cisco.com/web/about/ac123/ac147/archived_issues/ipj_7-3/anatomy.html NAT Simétrico É estabelecido um mapeamento entre um endereço e porto internos e um endereço e porto externo Esse mapeamento só pode ser utilizado pelos dois intervenientes para enviar e receber dados 4-49 Nível Rede Diferentes tipos de NAT (II) Source: http://www.cisco.com/web/about/ac123/ac147/archived_issues/ipj_7-3/anatomy.html Full Cone NAT É estabelecido um mapeamento entre um endereço e porto internos e um endereço e porto externo Esse mapeamento pode ser utilizado por qualquer endereço e portos externos para enviar dados para o endereço e porto internos d t i t Outros tipos de NAT: Address Restricted Cone NAT Port Restricted Cone NAT Ver link para mais detalhes 4-50 Nível Rede Considerações sobre a utilização do NAT Campo número de porto tem 16‐bits: É possível ter cerca de 60.000 ligações simultâneas com um único endereço de à saída LAN! A utilização do NAT é controversa: Os routers devem apenas processar protocolos só até ao nível 3 p p p • O router modifica o porto que é um conceito do nível 4 ! Viola argumentos a favor do ponto‐a‐ponto • a possibilidade NAT deve ser tida em conta por designers de aplicações, i.e., p p g p ç , , aplicações P2P • Cria problemas ao VoIP As limitações de endereçamento IP deveriam ser resolvidas ç ç pelo IPv6 Mas a realidade é que o NAT é utilizado por todo o lado ! 4-51 Nível Rede ICMP: Internet Control Message Protocol Utilizado por hosts e routers para comunicar informação ao nível rede ao nível rede Comunicação de erros: unreachable host, network, p ,p port, protocol Echo request/reply (utilizado pelo ping) Implementado “em cima” do IP: Implementado em cima do IP: As mensagens ICMP são transportadas em datagramas IP Mensagem ICMP: contém “type”, “code” mais os 8 primeiros bytes do datagrama IP que causou o erro 4-52 Nível Rede ICMP – Tipos de Mensagens 5-61 4-53 Nível Rede Comando Traceroute e ICMP Origem envia séries de Quando a mensagem ICMP chega, segmentos UDP para destino 1º tem TTL=1 2º tem TTL=2, etc. N.º de porto incoerente Quando o datagrama n chega ao router n: router n: O router descarta o datagrama g Envia para a origem uma mensagem ICMP 11: “Time to Live Expired” Mensagem inclui nome do router e endereço IP router e endereço IP a origem calcula o RTT Traceroute faz isto 3 vezes Critério de paragem Segmento UDP acaba por chegar ao host de destino ao host de destino O n.º de porto enviado não corresponde a nenhum válido p Destinatário devolve um pacote ICMP “host unreachable” (type 3, code 3) d ) Quando a origem obtém este ICMP pára ICMP, pára. 4-54 Nível Rede Nível Rede Introdução Circuitos virtuais e datagramas IP: Internet Protocol Algoritmos de routing Link state Vector distância Routing hierárquico Formato dos datagramas Esquema de endereçamento IPv4 ICMP IPv6 Funcionamento de um Routing na Internet RIP OSPF BGP Routing em brodacast e Routing em brodacast e multicast Router 4-55 Nível Rede IPv6 Origem em 1990, para suceder ao IPv4 RFC 2460 http://www.rfc‐ref.org/RFC‐TEXTS/2460/index.html h // f f / / / d h l Motivação inicial: espaço de endereçamento de 32‐bit está esgotado esgotado. Motivação adicional: Formato do cabeçalho ajuda a acelerar Formato do cabeçalho ajuda a acelerar processamento/encaminhamento Cabeçalho muda para facilitar QoS Formato datagrama IPv6: Cabeçalho de comprimento fixo 40 bytes A gestão da fragmentação é retirada do header principal e gerida separadamente num header adicional 4-56 Nível Rede Datagrama IPv6 Principais características Tamanho T h de d cabeçalho b lh fi fixo de d 40 b bytes t Os campos de endereços passaram para 128 bits Introdução ç do conceito de fluxo e tipo p de tráfego g Não tem campo de checksum nem de gestão de fragmentos 4-57 Nível Rede IPv6: Outras Mudanças Checksum: eliminada totalmente para reduzir o tempo de processamento em cada hop. processamento em cada hop Fragmentation: gerida ponto a ponto pelo emissor e receptor dos pacotes e não pelos routers Options: permitidas, mas fora do cabeçalho, indicado pelo campo “Next Header” ICMPv6: nova versão do ICMP nova versão do ICMP Tipos de mensagens adicionais, i. e. “Packet Too Big” Grupo multicast de funções de gestão 4-58 Nível Rede Fragmentação IPv6 Fragment Header 4-59 Nível Rede Protocolo IPv6 Convergência Internet e Redes de Telecomunicações (comutação IP) => processo de transição IPv4 => IPv6 Version – mantém‐se do IPv4 terá sempre o valor fixo 6. p Traffic Class ‐ distingue entre pacotes com diferentes requisitos de entrega em tempo real. Campo sempre presente mesmo no IPv4 (TOS), nunca usado de forma generalizada. Sugestão: 0 e 7 para transmissões que sejam capazes de reduzir a sua actividade em Sugestão: 0 e 7 para transmissões que sejam capazes de reduzir a sua actividade em caso de congestão. 8 e 15 para tráfego em tempo real, com taxa de envio constante (Por exemplo Áudio e Vídeo). Sug. 1 para News, 4 para FTP e 6 para Telnet. Flow Label ‐ Permite quer ao emissor quer ao destinatário definir uma pseudo‐ ligação com propriedades e requisitos particulares, como por exemplo um fluxo com propriedades e requisitos particulares como por exemplo um fluxo de pacotes de um processo de um host origem para um processo num host destino com determinados requisitos em termos de atraso e de largura de banda. Payload length ‐ indica quantos bytes se seguem ao cabeçalho de 40 bytes e corresponde ao campo “Total Length” do protocolo IPv4, o nome foi mudado em virtude do seu significado ter mudado ligeiramente (os bytes do cabeçalho não são contados como eram anteriormente). ) 4-60 Nível Rede Header IPv6 Next Header ‐ existe para permitir a indicação de quais dos possíveis seis cabeçalhos de extensão que seguem, caso existam. Se este cabeçalho é o último cabeçalho então o campo next header indica para que protocolo de t transporte deve ser passado o pacote (TCP, UDP, …). t d d t (TCP UDP ) Hop Limit ‐ utilizado para prevenir que os pacotes permaneçam para sempre na rede, substitui o campo “Time to Live” do protocolo IPv4, mudou de nome por ser originalmente definido para representar segundos e não ser assim que é g p p g q efectivamente utilizado, mas sim decrementado em cada nó da rede. Source Address e Destination Address ‐ Endereços origem e destino de 16 bytes para substituir os endereços de 4 bytes do IPv4. Definida uma nova notação com oito grupos de quatro dígitos hexadecimais (16 bits) com “:” notação com oito grupos de quatro dígitos hexadecimais (16 bits) com : entre entre cada grupo. Zeros à esquerda podem ser omitidos e um ou mais grupos de 16 bits zero podem ser substituídos por dois “:” Endereço 8000:0000:0000:0000:0123:4567:89AB:CDEF poderá ser representado por t d 8000::123:4567:89AB:CDEF Os endereços IPv4 podem ser representados ::192.31.20.46 4-61 Nível Rede Protocolo IPv6: Extensões “Extension Headers” Alguns campos adicionais podem ser necessários O IPv6 introduziu a possibilidade de utilizar “extension headers” opcionais que são incluídos depois do header inicial e referidos p pelo campo p “Next Header” 4-62 Nível Rede Transição de IPv4 Para IPv6 A compatibilidade de IPv6 com IPv4 é possível mas o contrário não contrário não Nem todos os routers podem ser actualizados simultaneamente É impossível declarar um dia em que se faria a mudança de todo o parque informático global Dual Stack: elementos activos capazes de falar os dois protocolos Tunneling: IPv6 transportado como dados no datagrama IPv4 entre routers IPv4 4-63 Nível Rede Dual Stack No caso de haver um troço de rede com IPv4 entre a origem e o destino as características do IPv6 não são mantidas de ponto a ponto destino, 4-64 Nível Rede Tunneling No caso do tunneling, as características do IPv6 são mantidas ponto a ponto, excepto no troço em que só há IPv4 A-to-B: IP 6 IPv6 B-to-C: IPv6 inside IPv4 4-65 B-to-C: IPv6 inside IPv4 E-to-F: IP 6 IPv6 Nível Rede Nível Rede Introdução Circuitos virtuais e datagramas IP: Internet Protocol Algoritmos de routing Link state Vector distância Routing hierárquico Formato dos datagramas Esquema de endereçamento IPv4 ICMP IPv6 Funcionamento de um Routing na Internet RIP OSPF BGP Routing em brodacast e Routing em brodacast e multicast Router 4-66 Nível Rede Routers Router ‐ Equipamento activo que liga várias redes e realiza o encaminhamento de pacotes com base em algoritmos e tabelas de encaminhamento. de encaminhamento. Também pode impedir ou filtrar a passagem de certos tipos de pacotes. Actua no nível rede (nível 3 do modelo OSI). 4-67 Nível Rede Resumo da Arquitectura de um Router Duas funções chave: Q Quatro componentes: Correr algoritmos/protocolos de Portas de Entrada routing (RIP, OSPF, BGP) encaminhar datagramas da ligação de chegada para a de saída Ma Malha ha de Comutação mutaçã Processador de encaminhamento Portas de Saída Malha de Comutação 4-68 Nível Rede Funcionalidade das Portas de Chegada Nível Físico: recepção nível bit Nível Ligação: d desencapsulamento l t Processamento do Pacote: Conhecido o destino de um datagrama, a porta Conhecido o destino de um datagrama a porta de saída é seleccionada através das tabelas de encaminhamento. Objectivo: completar o processamento do pacote j p p p de chegada à ‘velocidade da linha’ Queuing: se os datagramas chegam mais rapidamente que a taxa de encaminhamento na malha de comutação. 4-69 Nível Rede Três tipos de malha de comutação p ç 4-70 Nível Rede Comutação através de Memória Input Port Memory Output Port System Bus Routers de p primeira m geração: g ç Computadores tradicionais com comutação realizada através de controle directo do CPU Pacotes copiados para a memória do sistema A velocidade é limitada p pelo tempo p de acesso da memória O encaminhamento de um datagrama implica dois acessos à memória ó i (escrita ( it e lleitura) it ) 4-71 Nível Rede Comutação através de Bus O datagrama passa da memória de entrada para a memória de saída através de um Bus partilhado Contenção no Bus: a velocidade de comutação está limitada pela largura de banda do Bus Cisco 1900: Bus com 1 Gbps, suficiente para routers p p empresariais mas não para routers regionais ou de backbones 4-72 Nível Rede Comutação através de Crossbar Ultrapassa as limitações da largura de banda do bus largura de banda do bus Redes de interligação inicialmente desenvolvidas para máquinas paralelas máquinas paralelas Design avançado: os datagramas são fragmentados em células de comprimento fixo que são i fi ã comutadas através da malha Cisco 12000: permite débitos de p ~100 Gbps através da rede de interligação 4-73 Nível Rede Funcionalidade das Portas de Saída Buffering necessário quando os datagramas chegam mais rapidamente do que a taxa de emissão de saída rapidamente do que a taxa de emissão de saída Algoritmo de escalonamento selecciona datagrama da fila de espera para emissão de espera para emissão 4-74 Nível Rede Nível Rede Introdução Circuitos virtuais e datagramas IP: Internet Protocol Algoritmos de routing Link State Vector Distância Routing Hierárquico Formato dos datagramas Esquema de endereçamento IPv4 ICMP Routing na Internet RIP OSPF BGP Routing em broadcast e IPv6 Funcionamento de um IPv6 Funcionamento de um Routing em broadcast e multicast Router 4-75 Nível Rede Algoritmos de Routing Determinam as rotas ou caminhos entre um router de origem e uma entre um router de origem e uma rede de destino Permitem construir as tabelas de encaminhamento existentes em i h t it t todos os routers de uma rede A quantidade de routers e sub‐redes existentes na Internet implica a utilização de vários níveis de algoritmos Algoritmos inter‐organizacionais Algoritmos intra‐organizacionais O Organização: Autonomous System i ã A S (AS) 4-76 Nível Rede Abstracção utilizada: Grafos • Os algoritmos de routing abstraem a topologia da rede sob a forma de grafos • Utilizam a noção de custo para determinar o “peso” de uma ligação na determinação de uma rota • Custo da ligação g ç (x ( 1, x2) = c(x ( 1, x2) • Ex: c(w,z) = 5 • O custo pode ser 1 por cada troço, ou ser inversamente relacionado com a largura de banda ou factor de congestão Custo do caminho (x1, x2, x3,…, xp) = c(x1,x2) + c(x2,x3) + … + c(xp-1,xp) Pergunta: Qual é o caminho de menor custo entre u e z ? Algoritmo de Routing: calcula os caminhos de menor custo entre os nós de um grafo de uma rede 4-77 Nível Rede Classificação dos Algoritmos de Routing Informação central ou descentralizada? Estáticos ou dinâmicos? Central: Todos os routers têm completa informação sobre a topologia e custo informação sobre a topologia e custo de toda a rede Algoritmos “Link State”‐ LS Descentralizada: Os routers só conhecem os vizinhos a que estão fisicamente ligados e os custos dessas ligações custos dessas ligações Processo iterativo de cálculo e troca de informação entre routers vizinhos Algoritmos “Distance Vector”‐ g DV 4-78 Estáticos: As rotas mudam pouco frequentemente no tempo Dinâmicos: As rotas mudam mais frequentemente q Necessidade de actualização periódica em resposta a mudanças de topologia ou custos de ligação Nível Rede Routing Hierárquico A aproximação utilizada pelos algoritmos LS e DV não é real Os routers não são todos idênticos A rede não é um g grafo linear -> antes uma rede de redes Problemas de escala: Mais de 200 milhões de Mais de 200 milhões de destinos: Não se podem guardar todos numa tabela de routing O l O volume de dados respeitante a d d d it t trocas de tabelas poderia saturar a rede ! Autonomia administrativa Internet = rede de redes Internet = rede de redes Cada administrador de rede pode querer implementar uma política de routing específica na sua organização A solução é dividir o espaço de roteamento global em parcelas mais pequenas e aplicar os algoritmos a vários níveis 4-79 Nível Rede Routing Hierárquico: princípios Agregação de routers em regiões denominadas “Autonomous m Systems” y m (AS) ( ) Correspondendo a uma organização ou domínio Os routers numa mesma AS utilizam o mesmo protocolo interno Protocolo de routing “intra-AS” O routers em AS di Os distintos i podem d utilizar ili diferentes dif protocolos Um ou mais routers de um AS são designados Gateway Router e estabelecem ligações permanentes com os routers correspondentes p p dos AS a que estão ligados Protocolo de routing “inter-AS” 4-80 Nível Rede Interligação de ASs ?? A tabela de routing é configurada pelos algoritmos inter e intra-AS Intra-AS Intra AS configura as rotas para os destinos internos Intra-AS e Inter-AS colaboram na configuração fi ã d dass rotas t s para destinos externos 4-81 Nível Rede Nível Rede Introdução Circuitos virtuais e datagramas IP: Internet Protocol Algoritmos de routing Link State Vector Distância Routing Hierárquico Formato dos datagramas Esquema de endereçamento IPv4 ICMP Protocolos de Routing RIP OSPF BGP Routing em broadcast e IPv6 Funcionamento de um IPv6 Funcionamento de um Routing em broadcast e multicast (não há tempo…) Router 4-82 Nível Rede Routing Intra‐AS g Também conhecidos como Interior Gateway Protocols Também conhecidos como Interior Gateway Protocols (IGP) Protocolos Intra‐AS mais comuns: RIP: Routing Information Protocol OSPF: Open Shortest Path First IGRP: Interior Gateway Routing Protocol (desenvolvido IGRP: Interior Gateway Routing Protocol (desenvolvido pela Cisco) 4-83 Nível Rede RIP (Routing Information Protocol) Um dos d s primeiros p im i s protocolos p t c l s de d routing utin utilizados utili d s na n Internet Int n t Várias versões: RFCs 1058, 2453, 2080 Utiliza um algoritmo g de Distance Vector (descentralizado) ( ) Incluído na versão BSD-UNIX Distribution (BSD) em 1982 Métrica utilizada: n.º de hops (saltos) entre redes Max. = 15 hops A partir do router A: 4-84 Nível Rede RIP: Implementação As tabelas de routing do RIP são geridas por um processo de nível aplicação denominado routed (unix daemon) As mensagens entre routers (advertisements) são enviadas em pacotes UDP e repetidas periodicamente Todos os 30 segundos: lista de destinos dentro da AS Se um router não envia advertisements durante mais de 180 sec. é considerado desligado e retirado das tabelas 4-85 Nível Rede RIP: Exemplo (i) A C B x y w t z D Destination Network Destination Network x y w z t Next Router Num. of hops to dest. Next Router Num. of hops to dest. ‐‐ B B B ‐‐ 1 2 3 4 1 Tabela de Routing em A 4‐86 Nível Rede RIP: Exemplo (ii) Dest Next hops v ‐ 1 t ‐ 1 z E 2 …. … ... Advertisement de D para A A C B y x t x y w z t z v E D Destination Network w Next Router Num. of hops to dest. ‐‐ B B B D ‐‐ 1 2 3 4 3 1 Tabela de Routing em A 4‐87 Nível Rede RIP: Implementação As tabelas t b l s de d routing ti do d RIP são sã geridas id s por um processo ss de d nível aplicação denominado route-d (unix daemon) As mensagens entre routers (advertisements) são enviadas em pacotes t UDP e repetidas tid periodicamente i di t Todos os 30 segundos Se um router não envia advertisements durante mais de 180 sec. é considerado id d d desligado li d e retirado ti d d das ttabelas b l routed routed Transport (UDP) network (IP) Transport ((UDP)) forwarding table forwarding table li k link network (IP) li k link physical physical 4-88 Nível Rede OSPF (Open Shortest Path First) Concebido para ser o sucessor do RIP “Open”: protocolo aberto, acessível publicamente Inumeras versões: RFCs versões: RFCs 1131, 2328, 4750. 1131 2328 4750 Utiliza um algoritmo de Link State – Dijkstra (centralizado) Cada nó estabelece um mapa topológico de “toda” a rede do AS R li Realiza periodicamente disseminação de pacotes de Link State i di t di i ã d t d Li k St t (30mn.) para (30 ) todos os elementos do AS (flooding) As mensagens OSPF são enviadas directamente em cima de IP Contém funcionalidades avançadas em relação ao RIP C té f i lid d d l ã RIP Segurança: todas as mensagens OSPF são autenticadas Permite caminhos múltiplos com o mesmo custo Para cada ligação, permite múltiplas métricas para diferentes TOS (tipos de serviços) • ex: link satélite pode ter custo baixo para melhor esforço, e alto para tempo real Integra suporte de unicast e multicast Permite uma organização hierárquica em domínios extensos 4-89 Nível Rede OSPF Hierárquico Hierarquia em dois níveis: áreas locais e backbones. Cada nó tem a topologia da área e só conhece o caminho mais curto para o Border C d ót t l i d á ó h i h i t B d Router Internal Routers: efectuam o roteamento interno na sua área Area Border Routers: realizam a interface entre uma área e o backbone, exportando as realizam a interface entre uma área e o backbone exportando as rotas para as redes internas à área Backbone routers: efectuam o roteamento entre áreas ligadas ao backbone Boundary routers: realizam roteamento realizam roteamento inter‐AS inter AS com outros AS, podendo utilizar outros com outros AS podendo utilizar outros protocolos tais como o BGP 4‐90 Nível Rede Routing Inter‐AS: BGP BGP (Border Gateway Protocol): o standard de facto na Internet (RFC 4271) O BGP fornece aos administradores dos Autonomous System (ASs) meios para: 1. 2. 3. 4. Obter informação de acessibilidade às subredes dos ASs vizinhos Obt i f ã d ibilid d à b d d AS i i h Propagar a informação de acessibilidade a todos os routers internos de um mesmo AS Determinar a “boas” rotas entre sub‐redes baseadas em informação de acessibilidade e de estratégia (administrativa, comercial, etc.) O BGP não impõe políticas mas fornece mecanismos Permite a uma sub‐rede anunciar a sua existência ao resto da Internet da Internet 4‐91 Nível Rede Conceitos Básicos do BGP Pares de routers (peers) trocam informação através de ligações TCP semi‐permanentes: sessões BGP semi‐permanentes: sessões Sessões internas (iBGP) e externas (eBGP) O BGP permite a cada AS conhecer os destinos que são acessíveis através dos ASs a que está ligado através dos ASs a que está ligado Os destinos não são routers mas (grupos de) sub‐redes expressos em notação CIDR 4‐92 Nível Rede Políticas de routing com o BGP Exemplo: A,B,C são redes de providers (ISPs) X,W,Y são redes de clientes (desses ISPs) X WY são redes de clientes (desses ISPs) A rede X tem duplo acesso: está ligada a duas redes O ISP B pode publicar o acesso BAW ao cliente X mas não ao seu concorrente C t C de forma a que: d f A acesso de X a W seja feito através de B O acesso dos clientes de C a W não utilize a sua rede pois nesse caso está a suportar tráfego não contratado 4‐93 Nível Rede Inter e Intra‐AS routing: Diferenças Administração: Inter‐AS: administradores podem controlar como é Inter AS: administradores podem controlar como é encaminhado o seu tráfego, e quem está autorizado a encaminhar através das suas redes. Intra‐AS: como só há um único AS, não são necessárias ó á ú á políticas de encaminhamento Escala: Encaminhamento hierárquico reduz o tamanho das tabelas e o seu tráfego de actualização Performance: Intra‐AS: enfoque na performance Inter‐AS: enfoque na administração Inter AS: enfoque na administração 4-94 Nível Rede DHCP: Dynamic Host Configuration Protocol Protocolo de atribuição dinâmica de endereço IP Protocolo de atribuição dinâmica de endereço IP Utiliza o broadcast MAC 4‐95 Nível Rede DHCP: Funcionamento 4-96 Nível Rede Conclusão Entrámos no interior da rede… Aprendemos os fundamentos da camada que cria o nível de Aprendemos os fundamentos da camada que cria o nível de abstracção e permite a homogeneizar a camada de ligação ( (Internetworking) g) Aprendemos os detalhes do endereçamento IP Essencial para comunicar entre hosts Fundamental para tarefas de administração de rede Abordámos os conceitos básicos dos algoritmos de encaminhamento Muito ficou ainda para ver Outros protocolos… Complementos de Redes !! 4-97 Nível Rede