Telecomunicações e Redes de Computadores 3 – Nível de Rede Prof. Paulo Lobato Correia IST, DEEC – Área Científica de Telecomunicações Objectivos Î Enquadramento Î Endereçamento ao nível de rede Î Encaminhamento Î Protocolo IP Î Empacotamento e fragmentação Î Qualidade de serviço Î Outros protocolos de nível de rede: ICMP, IGMP TRC – Prof. Paulo Lobato Correia 2 Modelo TCP/IP: Nível de Rede Aplicação HTTP Msg Transporte Dados Físico Cliente Transporte TCP Msg Pacote IP Rede Trama Ethernet Aplicação Rede Rede Dados Dados Dados Físico Físico Físico Comutador Ethernet Router Servidor TRC – Prof. Paulo Lobato Correia 3 Modelo TCP/IP: Nível de Rede Rede Cliente Pacote Comutador Ethernet Rede Rede Encaminhador Servidor TRC – Prof. Paulo Lobato Correia 4 Modelo TCP/IP: Nível de Rede Nível de transporte: TCP, UDP Nível de rede Protocolo IP Endereçamento Formato dos datagramas Operações sobre datagramas Protocolos de encaminhamento RIP, OSPF, BGP tabela de encaminhamento Protocolo ICMP Relato de erros Controlo Nível de ligação de dados Nível físico TRC – Prof. Paulo Lobato Correia 5 Modelo TCP/IP: Nível de Rede Responsável pelo encaminhamento de pacotes da origem até ao destino, através de diversas redes interligadas por encaminhadores. Comunicação ponto-a-ponto: estação - encaminhador - encaminhador - … - estação Î Funções do nível de rede: Endereçamento (endereço IP) ; Encaminhamento ; Empacotamento ; Fragmentação ; Qualidade de serviço ; TRC – Prof. Paulo Lobato Correia 6 Endereçamento Ao nível de rede cada estação deve poder ser identificada de forma a permitir comunicação global entre quaisquer estações na Internet. Os endereços IP devem ser únicos e universais. Endereço IP v4 (RFC 760): ; Constituído por 4 bytes (32 bits); É habitual representar os endereços usando notação decimal para facilitar leitura humana (ex.: 193.136.128.1); ; ; As estações e os routers trabalham com os endereços na forma binária. 1001000100111… (32 bits) 193.136.128.1 (Usado por estações e routers) (Apenas para leitura humana) TRC – Prof. Paulo Lobato Correia 7 Espaço de Endereçamento Espaço de endereçamento é o número total de endereços disponíveis. Com endereços de N bits há 2N endereços possíveis; Ao utilizar endereços de 32 bits, o espaço de endereçamento da Internet é de 232 ou seja 4 294 967 296 de endereços. Se não houvessem outras restrições poder-se-iam ligar mais de 4000 milhões de dispositivos na Internet. Numeração decimal (base 10): 1992(10) 1992 = 1x1000 + 9x100 + 9x10 + 2x1 103=1000, 102=100, 101=10, 100=1 Numeração binária (base 2): 1011 0110(2) -> 182(10) 182 = 1x128 + 0x64 + 1x32 + 1x16 + 0x8 + 1x4 + 1x2 + 0x1 27=128, 26=64, 25=32, 24=16, 23=8, 22=4, 21=2, 20=1 TRC – Prof. Paulo Lobato Correia 8 Endereços IP v4 Os endereços têm duas componentes: ; Identificação de rede (NetID); ; Identificação do interface de rede de uma estação (HostID); Estações com a mesma componente de rede comunicam directamente; Estações com componente de rede distintas comunicam através de encaminhadores; Os primeiros 4 bits do endereço IP especificam se a componente de rede tem 1, 2 ou 3 bytes de comprimento. O restante é usado para identificação das estações. TRC – Prof. Paulo Lobato Correia 9 Endereços IP v4 Classes de endereços: A 0 rede B 10 0.0.0.0 a 127.0.0.0 estação rede estação C 110 rede D 1110 Endereço multicast estação 128.0.0.0 a 191.255.255.255 192.0.0.0 a 223.255.255.255 224.0.0.0 a 239.255.255.255 32 bits TRC – Prof. Paulo Lobato Correia 10 Endereços IP v4 TRC – Prof. Paulo Lobato Correia 11 Endereços IP v4 Endereços começados por 127 são especiais: Estão reservados para fazer referência ao próprio computador; Î 127.0.0.1 – localhost Î Endereços com todos os bits destinados a identificar a estação a 0 (zero) : Representa o endereço da rede; Î Exemplo: o endereço 193.136.128.41 pertence à a rede classe C 193.136.128.0 Î Endereços com todos os bits destinados a identificar a estação a 1 (um) : Representa o endereço para difusão (broadcast); Î Exemplo: 193.136.128.255 Î TRC – Prof. Paulo Lobato Correia 12 Endereços IP v4 TRC – Prof. Paulo Lobato Correia 13 Endereços IP v4 TRC – Prof. Paulo Lobato Correia 14 Endereços IP v4 Î Há endereços que são reservados mas não usados: ; ; ; Î Exemplo: rede necessita de 2500 endereços; Tem atribuído um bloco de endereço de classe B (65536 endereços); Só usa 3.8 % dos endereços disponíveis! Para não atribuir muitos endereços em excesso, podem resultar tabelas de encaminhamento com muitas entradas: ; ; ; Exemplo: rede necessita de 2500 endereços; São-lhe atribuídos 10 blocos de endereços de classe C (2540 endereços); Usa 98.4 % dos endereços disponíveis, mas as tabelas de encaminhamento têm que ter 10 linhas só para esta organização. TRC – Prof. Paulo Lobato Correia 15 Atribuição de Endereços IP IANA InterNIC América RIPE Europa APNIC Ásia Î O controlo dos endereços IP em utilização pertence à Internet Corporation for Assigned Names and Numbers (ICANN) que controla a Internet Assigned Numbers Authority (IANA). Î A IANA distribui o espaço de endereçamento por três entidades geograficamente distintas: Regional Internet Registries (RIRs), que garantem que os endereços atribuídos são únicos, e que são geridos criteriosamente (são um bem escasso!). TRC – Prof. Paulo Lobato Correia 16 Endereços IP v6 Î Î Endereços IP v4 (32 bits) estarão esgotados em breve: ; Componentes de rede e estação desperdiçam endereços; ; Estações usam endereços mesmo se não estão ligadas à Internet; ; Crescimento da Internet. IP v6: ; Nova geração do IP; ; Endereços representam-se com 128 bits; ; Auto-configuração de endereços; ; Cabeçalho (header) mais eficiente e simplificado; ; Permite expedição e comutação rápidas de pacotes; ; Qualidade de serviço (QoS); ; Autenticação e encriptação. TRC – Prof. Paulo Lobato Correia 17 Endereços IP v6 Migração IPv4 - IPv6: Não vai haver um dia em que todos os encaminhadores mudam de IPv4 para IPv6; ; ; Migração de IPv4 para IPv6 terá que ser gradual; ; IPv4 e IPv6 podem coexistir; Soluções de Migração: Pilha dupla IPv4/IPv6: alguns encaminhadores conseguem traduzir pacotes entre os dois formatos; ; ; Túneis: Pacotes IPv6 transportados como dados de pacotes IPv4. TRC – Prof. Paulo Lobato Correia 18 Endereços IP v6 Pilha dupla: Há informação no cabeçalho do datagrama IPv6 inicial que é perdida quando ele é traduzido num datagrama IPv4 IPv6 IPv6 IPv4 A B C IPv6 Fluxo: X IP fonte: A IP dest.: F IPv4 IP fonte: A IP dest.: F IPv4 IPv6 IPv6 E F D IPv4 IP fonte: A IP dest.: F IPv6 Fluxo: ? IP fonte: A IP dest.: F TRC – Prof. Paulo Lobato Correia 19 Endereços IP v6 Túnel: IPv6 IPv6 IPv6 IPv6 A B E F IPv6 IPv6 IPv4 IPv6 IPv6 A B C E F IPv6 Fluxo: X IP fonte: A IP dest.: F IPv4 IP fonte: B IP dest.: E IPv6 Fluxo: X IP fonte: A IP dest.: F IPv4 D IPv4 IP fonte: B IP dest.: E IPv6 Fluxo: X IP fonte: A IP dest.: F IPv6 Fluxo: X IP fonte: A IP dest.: F TRC – Prof. Paulo Lobato Correia 20 Endereçamento Até agora verificámos existirem 3 tipos de endereços: ; Endereço ao nível de aplicação (ex.: www.ist.utl.pt – servidor); Endereço ao nível de transporte (ex.: portos 52132 e 80 – cliente e servidor, respectivamente); ; Endereço IP ao nível de rede (ex.: 193.136.222.20 e 193.136.128.1 – origem e destino, respectivamente); ; O utilizador só conhece o primeiro tipo de endereço (servidor aplicação), mas os pacotes para serem transmitidos necessitam pelo menos de conhecer os portos e endereços IP de origem e destino. ; O porto de destino é específico da aplicação (ex.: 80 para HTTP); O porto de origem é atribuído temporariamente pela estação, que também conhece o seu endereço IP; ; O endereço IP de destino é obtido a partir do endereço do nível de aplicação recorrendo ao DNS (Domain Name System). ; TRC – Prof. Paulo Lobato Correia 21 Endereçamento: Exemplo TRC – Prof. Paulo Lobato Correia 22 Endereçamento: Exemplo Web Browser Web Server Pacote Caminho Encaminhador Cliente Web – Utilizador (PC) Endereço IP = 193.136.128.57 Porto usado: 51045 Host name = nyquist.ist.utl.pt Servidor Web Endereço IP = 193.136.222.20 Porto usado: 80 Host name = www.img.lx.pt TRC – Prof. Paulo Lobato Correia 23 Encaminhamento Encaminhamento: determinação de caminhos apropriados para comunicação entre qualquer par de estações de origem e destino; Î Rede pode ser modelada por um grafo: ; Î Î Nós e ligações; “Comprimento” de uma ligação depende de: ; atraso (distância, velocidade); ; custo monetário; ; nível de congestão; ; taxa de erros; 5 2 A B 3 2 1 D C 3 1 5 F 1 E 2 Neste sentido, um bom caminho é o caminho mais curto. TRC – Prof. Paulo Lobato Correia 24 Encaminhamento Rede 2 Encaminhadores Pacote Rede 1 Caminho Os pacotes são encaminhados através da Internet. TRC – Prof. Paulo Lobato Correia 25 Encaminhamento Mesmo pacote 3º formato de trama Trama Formato de trama diferente O encaminhador retira o pacote da rede de origem e retransmite-o na rede seguinte do caminho (funcionamento store-and-forward), usando em cada rede diferente o formato de trama adequado. TRC – Prof. Paulo Lobato Correia 26 Encaminhamento Qual o melhor caminho de A para B? TRC – Prof. Paulo Lobato Correia 27 Encaminhamento Melhor caminho depende também do tipo de serviço. Por exemplo, atraso mínimo possível vs. fiabilidade. TRC – Prof. Paulo Lobato Correia 28 Tabelas de Encaminhamento Olhando para o encaminhador R1 do exemplo anterior, este tem 3 interfaces de rede (ligações). Pacotes provenientes da interface 1, com destino à estação B, são enviados para a interface 2. TRC – Prof. Paulo Lobato Correia 29 Tabelas de Encaminhamento Cada encaminhador tem as suas tabelas de encaminhamento. TRC – Prof. Paulo Lobato Correia 30 Tabelas de Encaminhamento Linha Rede/ Subrede Máscara (/Prefixo) Métrica Próx. Interface (Custo) Router 1 128.171.0.0 255.255.0.0 (/16) 47 2 G 2 172.30.33.0 255.255.255.0 (/24) 0 1 Local 3 192.168.6.0 255.255.255.0 (/24) 12 2 G De facto, as tabelas de encaminhamento contêm mais informação. Geralmente não contêm uma entrada para cada estação: o seu tamanho seria enorme. Basta conter o endereço da rede de destino. Essa rede faz a mensagem chegar à estação de destino (ex.: por difusão). TRC – Prof. Paulo Lobato Correia 31 Tabelas de Encaminhamento: Máscaras 1. Mascaramento Informação 1 1 0 0 Máscara 1 0 1 0 Resultado 1 0 0 0 2. Valores Habituais Binário Decimal 00000000 0 11111111 255 3. Exemplo Endereço IP Máscara Resultado 4. Exemplo 2 Endereço IP Máscara Resultado 172. 30. 22. 7 255. 0. 0. 0 172. 0. 0. 0 172. 30. 22. 7 255. 255. 0. 0 172. 30. 0. 0 Para verificar a que rede pertencem um endereço aplica-se uma máscara binária (“AND” lógico), para remover a componente do endereço IP que identifica a estação. TRC – Prof. Paulo Lobato Correia 32 Tabelas de Encaminhamento: Máscaras Exemplo de aplicação de uma máscara binária ao endereço de classe C: 234.136.25.50 para identificar a rede e a estação. TRC – Prof. Paulo Lobato Correia 33 Tabelas de Encaminhamento Exemplo de configuração de endereço IP em ambiente Windows. TRC – Prof. Paulo Lobato Correia 34 Tabelas de Encaminhamento Exemplo: Endereço IP de destino = 172.30.33.6 NextHop Interface Router Row Network/ Subnet Mask (/Prefix)* Metric (Cost) 1 128.171.0.0 255.255.0.0 (/16) 47 2 G 2 172.30.33.0 255.255.255.0 (/24) 0 1 Local 3 192.168.6.0 255.255.255.0 (/24) 12 2 G Encaminhador testa 1ª linha da tabela: Endereço IP = 172.30.33.6 Máscara = 255.255.0.0 Resultado = 172.30.0.0 Resultado é diferente do valor 128.171.0.0 do campo Network/Subnet TRC – Prof. Paulo Lobato Correia 35 Tabelas de Encaminhamento Exemplo: Endereço IP de destino = 172.30.33.6 NextHop Interface Router Row Network/ Subnet Mask (/Prefix)* Metric (Cost) 1 128.171.0.0 255.255.0.0 (/16) 47 2 G 2 172.30.33.0 255.255.255.0 (/24) 0 1 Local 3 192.168.6.0 255.255.255.0 (/24) 12 2 G Encaminhador testa 2ª linha da tabela: Endereço IP = 172.30.33.6 Máscara = 255.255.255.0 Resultado = 172.30.33.0 Resultado é igual ao valor 172.30.33.0 do campo Network/Subnet TRC – Prof. Paulo Lobato Correia 36 Encaminhamento Row Network/ Subnet Mask (/Prefix)* Metric (Cost) 15 0.0.0.0 0.0.0.0 (/0) 5 NextHop Interface Router 3 H Se a máscara for 0.0.0.0 há sempre emparelhamento (o resultado é sempre 0.0.0.0): ; Desta forma é possível definir o encaminhamento por omissão (default router), que é seguido em caso de nenhuma outra linha ser escolhida. TRC – Prof. Paulo Lobato Correia 37 Encaminhamento Para cada pacote: Î Primeiro, para cada linha da tabela de encaminhamento, aplicar a máscara e procurar emparelhamentos: ; Analisar endereço IP de destino do pacote; ; Aplicar a máscara da linha da tabela de encaminhamento; ; Comparar resultado do mascaramento com o valor do campo Network/Subnet dessa linha; ; Se a comparação for positiva: • Adicionar esta linha à lista de linhas candidatas para o encaminhamento deste pacote; • Senão, ignorar esta linha. TRC – Prof. Paulo Lobato Correia 38 Encaminhamento Î Segundo, procurar o melhor emparelhamento: ; ; ; Se apenas existir um, esse é o melhor; Se for o emparelhamento mais longo, esse é o melhor; Se houver vários emparelhamentos com o maior comprimento, seleccionar a linha com a melhor métrica: • • Î Pode ser o menor valor (ex.: custo); Pode ser o maior valor (ex.: velocidade); Terceiro, enviar o pacote para uma interface de rede: ; ; Enviar o pacote pela interface da linha escolhida, para a rede ou subrede correspondente; Nessa rede ou subrede, enviar o pacote para: • • O próximo encaminhador (next-hop-router), ou: Para a estação de destino se o valor do campo next-hop router contiver o valor “local”. TRC – Prof. Paulo Lobato Correia 39 Encaminhamento Resumo: Î A decisão de encaminhamento exige que seja testada cada linha da tabela de encaminhamento, para cada pacote, de forma a escolher o melhor caminho; ; Î Cada pacote é processado separadamente; ; Î Operação demorada; Encaminhador tem que ter grande capacidade de processamento; Com rotas alternativas podem existir vários candidatos para encaminhar o pacote; ; Escolha depende do valor da métrica de cada linha. TRC – Prof. Paulo Lobato Correia 40 Actualização das Tabelas de Encaminhamento Como é feita a actualização das tabelas de encaminhamento? Î Encaminhadores trocam informação uns com os outros. Transmitem os campos de Network/Subnet juntamente com os valores das métricas associadas, para os caminhos conhecidos. Î Estas trocas seguem as regras definidas pelos algoritmos de encaminhamento. Î As tabelas de encaminhamento determinam apenas o próximo salto do caminho. Estas tabelas devem ser consistentes para o encaminhamento ter sucesso. TRC – Prof. Paulo Lobato Correia 41 Actualização das Tabelas de Encaminhamento Encaminhador Encaminhador Informação de tabelas de encaminhamento Encaminhador Encaminhador Encaminhador Informação de tabelas de encaminhamento TRC – Prof. Paulo Lobato Correia 42 Encaminhamento na Internet A Internet é constituída por vários sistemas autónomos (Autonomous System - AS) interligados: TRC – Prof. Paulo Lobato Correia 43 Encaminhamento Hierárquico O encaminhamento na Internet é hierárquico: Î Primeiro é feita a entrega ao sistema autónomo (AS); Î Depois é feita a entrega à rede de destino; Î Finalmente é feita a entrega à estação. O encaminhamento hierárquico permite reduzir o tamanho das tabelas de encaminhamento TRC – Prof. Paulo Lobato Correia 44 Algoritmos de Encaminhamento Dinâmico Î Actualmente existem dois tipos de algoritmos para encaminhamento: ; Vector distância (Distance Vector) – usa o menor comprimento possível da ligação para decidir o encaminhamento de um pacote; ; Estado da ligação (Link State) – usa vários tipos de informação, tomando em consideração o estado de congestão e tempo de resposta, para decidir o encaminhamento de um pacote; Os algoritmos de estado da ligação são hoje em dia mais populares que os de vector distância. TRC – Prof. Paulo Lobato Correia 45 Algoritmo de Dijkstra Um dos algoritmos vector distância mais usados para escolha dos caminhos “mais curtos” é o algoritmo de Dijkstra. Associa a cada ligação um custo dependente de: capacidade da ligação, atraso, custo monetário, erros, ... Algoritmo de Dijkstra: Determina o caminho mais curto de uma estação a todas as outras; Î 5 Î É um algoritmo iterativo; 2 A B 2 1 D 3 C 3 1 5 F 1 E 2 TRC – Prof. Paulo Lobato Correia 46 Algoritmo de Dijkstra: exemplo Iteração Pendentes d[B],p[B] 2,A BCDEF 1 2,A BCEF 2 2,A BCF 3 CF 4 F 5 6 d[C],p[C] 5,A 4,D 3,E 3,E d[E],p[E] infinito 2,D d[D],p[D] 1,A d[F],p[F] infinito infinito 4,E 4,E 4,E 5 Nó de origem: A d[x] – distância do nó A ao nó x p[x] – predecessor no caminho mais curto até x 2 A B 2 1 D 3 C 3 1 5 F 1 E 2 TRC – Prof. Paulo Lobato Correia 47 Encaminhamento Interior e Exterior Î Î Encaminhamento num AS: Interior Gateway Protocols – IGP; Encaminhamento entre ASs: Exterior Gateway Protocol – EGP. TRC – Prof. Paulo Lobato Correia 48 Algoritmos de Encaminhamento Interior Existem três protocolos de encaminhamento dinâmico geralmente usados para encaminhamento interior (IGP) a um AS: ; Routing Information Protocol (RIP) – É usado pelo gestor de rede para construir tabelas de encaminhamento. Usa algoritmos vector distância. É usado na Internet, sobretudo em redes simples, difundindo tabelas de encaminhamento com periodicidade de cerca de um minuto; ; Open Shortest Path First (OSPF) – Usa algoritmos estado da ligação, pelo que é mais usado que RIP. Coloca uma menor sobrecarga na rede, pois apenas troca actualizações e não tabelas completas; ; Enhanced Interior Gateway Routing Protocol (EIGRP) – Usa algoritmos estado da ligação, tal como OSPF. Guarda informação sobre capacidade de transmissão, atraso, fiabilidade e carga de cada ligação. O protocolo também guarda as tabelas de encaminhamento dos seus vizinhos, informação que usa na decisão de encaminhamento. TRC – Prof. Paulo Lobato Correia 49 Routing Information Protocol (RIP) Î Î Î Î Vector distância Comprimento das ligações é considerado unitário Diâmetro da rede inferior a 16 (número máximo de saltos = 15) Cada encaminhador envia periodicamente o seu vector de distâncias aos vizinhos ; Î Î Encaminhadores não guardam informação sobre os vectores distância dos vizinhos Ausência prolongada da recepção de vectores distância indica falha na ligação Dados UDP: Cabeçalho Opera sobre UDP ! (porto 520) Î Mensagem RIP UDP Processo que executa RIP é o routed TRC – Prof. Paulo Lobato Correia 50 Routing Information Protocol (RIP) Î “Vector Distância”: actualização das tabelas ; R1 anuncia-se como encaminhador RIP; ; R2 actualiza a sua tabela e passa a informação aos vizinhos d(R1)=1 R1 ; R2 R3 R3 sabe que distância a R2 é 1 pelo que distância a R1 será 2; R1 R2 R3 d(R2)=1 d(R1)=2 ; Convergência é lenta (pode originar perda de pacotes). TRC – Prof. Paulo Lobato Correia 51 Open Shortest Path First (OSPF) Î Î Î Î Î Î Î Estado da ligação A cada ligação podem estar associadas várias métricas Múltiplos caminhos do mesmo comprimento entre pares origem destino Segurança Suporte de hierarquias dentro de uma AS (designated routers) Suporte de multicast Opera sobre IP Dados IP Cabeçalho Mensagem OSPF Î IP Processo que executa OSPF é o gated TRC – Prof. Paulo Lobato Correia 52 Open Shortest Path First (OSPF) Î “Estado da Ligação”: actualização das tabelas ; ; Quando um encaminhador detecta alteração numa ligação informa o designated router, que notifica todos os encaminhadores dessa área da alteração (não envia tabelas completas); Convergência é rápida. Área Designated Router 2 2 1 2 2 TRC – Prof. Paulo Lobato Correia 53 RIP ou OSPF A escolha é de quem gere um sistema autónomo; Î RIP é adequado para redes de pequena dimensão: ; Î Fácil de implementar; 15 saltos não é problema; difusão de tabelas (inclusive para as estações, interrompendo-as) não é demasiado importante; OSPF é escalável: ; ; Funciona com redes de qualquer dimensão; Complexidade de gestão é compensada pela maior eficiência em redes de grande dimensão. TRC – Prof. Paulo Lobato Correia 54 Algoritmos de Encaminhamento Exterior: BGP Border Gateway Protocol (BGP): Î Vector caminho: ; Î Política de escolha de caminhos: ; ; Î Cada encaminhador fronteira anuncia, para cada prefixo IP de destino, todo o caminho de ASs até chegar a esse destino; Cada AS pode decidir não anunciar os seus caminhos a algumas ASs vizinhas; Cada AS atribui um nível de preferência aos caminhos anunciados pelos vizinhos; Opera sobre TCP. Sistema Autónomo BGP Sistema Autónomo TRC – Prof. Paulo Lobato Correia 55 Endereçamento Dinâmico Quando uma estação se desloca (ex.: computador ligado noutra rede), tem de se actualizar o seu endereço. Solução: usar endereçamento dinâmico. Existe um servidor responsável por atribuir endereço IP às estações cada vez que se ligam à rede; Î Î Existem dois protocolos geralmente usados para este fim: ; Bootstrap Protocol (bootp) para redes dial-up (1985); ; Dynamic Host Control Protocol (DHCP) para redes não dial-up (1993); Os servidores Bootp ou DHCP podem ser configurados para atribuir sempre o mesmo endereço a uma estação sempre que se liga à rede, ou atribuir-lhe o próximo endereço disponível. Î TRC – Prof. Paulo Lobato Correia 56 Endereçamento Dinâmico: Exemplo DHCP TRC – Prof. Paulo Lobato Correia 57 WINS Î WINS (Windows Internet Naming Service) gere a associação de nomes (e localizações de estações) com os endereços IP, de forma automática em redes Windows. Î WINS gera tabela com mapeamento entre nome da estação e endereço IP; quando um computador se desloca para outra localização a informação correspondente é automaticamente actualizada na tabela WINS. Î O WINS complementa o funcionamento do servidor DHCP. TRC – Prof. Paulo Lobato Correia 58 Circuitos Virtuais e Datagramas Um pacote pode ser encaminhado de duas formas: ; Circuitos Virtuais: • • • ; É estabelecido um circuito (virtual) entre emissor e destinatário; A transferência de dados é feita em modo store-and-forward; É guardada informação de estado do circuito virtual em todos os encaminhadores; Datagrama • • • Cada pacote é tratado separadamente, seguindo o seu próprio caminho ao longo da rede (não é estabelecido circuito); Serviço na base do melhor esforço (best-effort); Encaminhadores não mantêm informação de estado relativa ao fluxo de informação. TRC – Prof. Paulo Lobato Correia 59 Protocolo IP Cliente IP Servidor IP Pacote IP: Datagrama Connectionless Pacotes são enviados isoladamente Não fiável Não há correcção de erros Em caso de detecção de erro: descartado (O IPv6 nem sequer verifica se há erros) Deixa correcção de erros para o nível de transporte Reduz custo dos encaminhadores TRC – Prof. Paulo Lobato Correia 60 Protocolo IP v4 32 bits ver. comp. cab. TOS identificador Pacote IP v4: comprimento total offset sinal. Î TOS: Tipo de serviço; Î Identificador: ; TTL protocolo checksum Î Fragmentação e reconstrução de datagramas; ÎTTL opções (comprimento variável) dados da camada de transporte (comprimento variável) Sinalizadores e offset: ; endereço IP fonte endereço IP destino Número de sequência; (Time to Live): Decrementado em cada encaminhador (máx=255); ; Î Protocolo: Do nível de transporte: TCP, UDP, ICMP, IGMP, RVSP, ... ; TRC – Prof. Paulo Lobato Correia 61 IPv4: Tipo de Serviço Î Î Permite determinar características de cada datagrama individual; Sub-campo de prioridade (3 bits): ; ; Î Indica grau de urgência ou prioridade; Encaminhadores usam este campo para determinar ordem nas filas de espera e descarte de pacotes para controlo de congestão; Sub-campo de tipo de serviço (4 bits): ; ; ; Dá indicações sobre a selecção do próximo salto, baseado no tipo de serviço; Pode ser útil na escolha do tipo de rede a usar, para suportar a QoS pretendida; Juntamente com a prioridade condiciona a gestão das filas de espera nos encaminhadores. 0 1 Prioridade 2 3 4 5 6 Tipo de Serviço 7 0 TRC – Prof. Paulo Lobato Correia 62 Protocolo IP v6 32 bits ver. classe tráfego comprimento rótulo de fluxo próximo lim. saltos cab. Cabeçalho IP v6: Î Classe de tráfego: ; Î Rótulo de fluxo: ; endereço IP fonte Î Î QoS Comprimento: ; endereço IP destino Prioridades Dos dados que se seguem Próximo cabeçalho: ; Chave de desmultiplexagem TRC – Prof. Paulo Lobato Correia 63 Empacotamento e Fragmentação A mensagem recebida do nível de transporte é organizada em pacotes de menor dimensão, dependendo do valor MTU (Maximum Transport Unit) de cada rede. Os pacotes contêm uma porção da mensagem do nível de transporte à qual é adicionado o cabeçalho do nível de rede. Dados Dados fracção mensagem nível transporte H Dados T-PDU H Dados H cabeçalho nível rede R-PDU TRC – Prof. Paulo Lobato Correia 64 Fragmentação e reconstrução Cada rede tem o seu valor de MTU; Estratégia: ; ; ; ; ; ; Inicio do cabeçalho Ident= x 0 Offset= 0 Resto do cabeçalho Fragmentar quando necessário; Tentar evitar fragmentação na estação de origem; É possível refragmentar; Cada fragmento compõe um datagrama; Reconstrução só no destino; Offset indica número do primeiro byte do fragmento, em múltiplos de 8 bytes. 1400 bytes dados Inicio do cabeçalho Ident= x 1 Offset= 0 Resto do cabeçalho 512 bytes dados Inicio do cabeçalho H1 R1 R2 R3 H8 Ident= x 1 Offset= 512 Resto do cabeçalho 512 bytes dados Inicio do cabeçalho ETH IP (1400) FDDI IP (1400) PPP IP (512) ETH IP (512) PPP IP (512) ETH IP (512) PPP IP (376) ETH IP (376) Ident= x 0 Offset= 1024 Resto do cabeçalho 376 bytes dados TRC – Prof. Paulo Lobato Correia 65 Qualidade de Serviço A noção de qualidade de serviço (Quality of Service – QoS), está relacionada com a possibilidade de medir, melhorar e até certo ponto garantir à partida a qualidade da transmissão (ritmo, taxa de erros, largura de banda, atraso, variação do atraso - jitter). Encaminhamento com QoS: Î É possível usar encaminhamento dinâmico, atribuindo prioridades diferentes a diferentes serviços. Categorias de tráfego: Î Tráfego sem requisitos de tempo real (ex.: FTP, e-mail): ; Î A prioridade é a correcção dos dados, e não a constância de atraso; Tráfego com requisitos de tempo real (ex.: videoconferência): ; A prioridade é a constância do atraso, e alguma garantia de largura de banda, tolerando-se algum nível de erros. TRC – Prof. Paulo Lobato Correia 66 Qualidade de Serviço na Internet Î Serviço best-effort: ; Î Integrated services (IntServ) ; Î A Internet trata todos os pacotes da mesma forma; IntServ consiste num conjunto de mecanismos para permitir aos utilizadores requerer um dado tipo de QoS para um fluxo de dados. Differentiated Services (DiffServ) ; DiffServ usa o campo TOS (type of service) presente nos cabeçalhos IPv4 para indicar o tipo de QoS requerido. TRC – Prof. Paulo Lobato Correia 67 Integrated Services – IntServ A implementação de IntServ requer alterações na estrutura da rede: Î Os encaminhadores necessitam de implementar funcionalidades adicionais para poder suportar serviço com requisitos de QoS; Î Há duas alternativas que têm recebido grande suporte: ; Integrated Services Architecture (ISA) – Suporta QoS sobre redes IP. Inclui: • • • ; Controlo de admissão: Um novo fluxo necessita de uma reserva para QoS; Encaminhamento: considera outros parâmetros além do atraso; Filas de espera: São geridas tendo em conta os diferentes tipos de requisitos; pacotes podem ser descartados para controlar congestão. Resource ReSerVation Protocol (RSVP) – Evita congestão através da reserva de recursos: • • • São os receptores que iniciam o processo de reserva de recursos; Pode ser usado em transmissões unicast ou multicast (sendo estas mais complexas); Pacotes podem ser descartados para controlar congestão. TRC – Prof. Paulo Lobato Correia 68 Differentiated Services – DiffServ Objectivo: fornecer QoS de forma simples de implementar. Î Tráfego na Internet é dividido em grupos com diferentes requisitos de QoS, usando type of service em IPv4, ou traffic class em IPv6, sendo todo o tráfego de cada grupo tratado de igual forma; Î É gerido com base em service level agreements (SLA), entre fornecedor de serviços Internet e cliente, não sendo necessário alterar aplicações; Î É implementado nos encaminhadores, que processam os pacotes de acordo com o grupo a que pertencem, não sendo necessário guardar informação sobre estado dos fluxos de pacotes. TRC – Prof. Paulo Lobato Correia 69 Outros Protocolos de Nível de Rede: Internet Control Message Protocol (ICMP) ICMP (RFC 792): Î Î Î Utilizado para propagação de informação de controlo: ; Erros: destino não existe, porto não existe, TTL (time-to-live) chegou a 0, reconstrução do datagrama falhou, fragmentação falhou; ; Pedido/resposta; Ping: ; ICMP echo request; ; ICMP echo reply; Mensagens ICMP são transportadas em datagramas IP: ; Tipo e código; ; 8 primeiros bytes do datagrama que causou o erro. TRC – Prof. Paulo Lobato Correia 70 Internet Control Message Protocol (ICMP) Encaminhador “Host Unreachable” Mensagem de erro Mensagem ICMP Cabeçalho IP “Echo Reply” “Echo” TRC – Prof. Paulo Lobato Correia 71 Internet Control Message Protocol (ICMP) TRC – Prof. Paulo Lobato Correia 72 Internet Group Management Protocol (IGMP) Multicast: Todos os destinos de um grupo multicast partilham o mesmo endereço IP (classe D). Î Internet Group Management Protocol (RFC 1112): ; Opera entre uma estação e o encaminhador a que a estação está directamente ligada; ; Encaminhador pretende saber para cada interface quais os grupos multicast que têm membros ligados a essa interface; ; Encaminhador convida estações a indicarem os grupos multicast a que querem pertencer. TRC – Prof. Paulo Lobato Correia 73