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 N de Rede Aplicação HTTP Msg Aplicação Transporte TCP Msg Transporte Rede Pacote IP Rede Rede Dados Trama Ethernet Dados Dados Dados Físico Físico Físico Físico Cliente Comutador Ethernet Router Servidor TRC Prof. Paulo Lobato Correia 3
Modelo TCP/IP: Nível de Rede Rede Pacote Rede Rede Cliente Comutador Ethernet 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 Protocolos de encaminhamento RIP, OSPF, BGP tabela de encaminhamento Protocolo IP Endereçamento Formato dos datagramas Operações sobre datagramas 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) (Usado por estações e routers) 193.136.128.1 (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á 2 N endereços possíveis; Ao utilizar endereços de 32 bits, o espaço de endereçamento da Internet é de 2 32 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 10 3 =1000, 10 2 =100, 10 1 =10, 10 0 =1 Numeração binária (base 2): 1011 0110 (2) -> 182 (10) 182 = 1x128 + 0x64 + 1x32 + 1x16 + 0x8 + 1x4 + 1x2 + 0x1 2 7 =128, 2 6 =64, 2 5 =32, 2 4 =16, 2 3 =8, 2 2 =4, 2 1 =2, 2 0 =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 B C D 0 rede estação 10 110 rede rede estação estação 1110 Endereço multicast 32 bits 0.0.0.0 a 127.0.0.0 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 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 IPv4 IPv6 IPv6 A B C D E F IPv6 Fluxo: X IP fonte: A IP dest.: F IPv4 IP fonte: A IP dest.: F 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 IPv4 IPv6 IPv6 A B C D E F IPv6 Fluxo: X IP fonte: A IP dest.: F IPv4 IP fonte: B IP dest.: E 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 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 Cliente Web Utilizador (PC) Endereço IP = 193.136.128.57 Porto usado: 51045 Host name = nyquist.ist.utl.pt Encaminhador 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; Neste sentido, um bom caminho é o caminho mais curto. A 1 2 5 B 2 D 3 1 3 C E 1 5 2 F TRC Prof. Paulo Lobato Correia 24
Encaminhamento Encaminhadores Rede 2 Pacote Rede 1 Caminho Os pacotes são encaminhados através da Internet. TRC Prof. Paulo Lobato Correia 25
Encaminhamento Mesmo pacote Trama 3º formato de 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 (Custo) Interface Próx. 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 172. 30. 22. 7 Máscara 255. 0. 0. 0 Resultado 172. 0. 0. 0 4. Exemplo 2 Endereço IP 172. 30. 22. 7 Máscara 255. 255. 0. 0 Resultado 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 Row Exemplo: Endereço IP de destino = 172.30.33.6 Network/ Subnet Mask (/Prefix)* Metric (Cost) Interface Next- Hop 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 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 Row Exemplo: Endereço IP de destino = 172.30.33.6 Network/ Subnet Mask (/Prefix)* Metric (Cost) Interface Next- Hop 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 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) Interface Next- Hop Router 15 0.0.0.0 0.0.0.0 (/0) 5 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; Operação demorada; Cada pacote é processado separadamente; 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; É um algoritmo iterativo; A 1 2 5 B D 2 3 1 3 C E 1 5 2 F TRC Prof. Paulo Lobato Correia 46
Algoritmo de Dijkstra: : exemplo Iteração 1 2 3 4 5 6 Pendentes BCDEF BCEF BCF CF F d[b],p[b] 2,A 2,A 2,A d[c],p[c] 5,A 4,D 3,E 3,E d[d],p[d] 1,A d[e],p[e] infinito 2,D d[f],p[f] infinito infinito 4,E 4,E 4,E Nó de origem: A d[x] distância do nó A ao nó x p[x] predecessor no caminho mais curto até x A 1 2 5 B 3 C 5 2 1 F 3 D 2 E 1 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 Opera sobre UDP! (porto 520) Dados UDP: Mensagem RIP Processo que executa RIP é o routed Cabeçalho UDP 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 Convergência é lenta (pode originar perda de pacotes). d(r2)=1 d(r1)=2 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 Mensagem OSPF Processo que executa OSPF é o gated Cabeçalho IP 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 2 Designated Router 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: Cada encaminhador fronteira anuncia, para cada prefixo IP de destino, todo o caminho de ASs até chegar a esse destino; Política de escolha de caminhos: 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 Pacote IP: Datagrama Servidor IP 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 ver. identificador TTL comp. cab. TOS protocolo 32 bits comprimento total sinal. endereço IP fonte endereço IP destino offset checksum opções (comprimento variável) dados da camada de transporte (comprimento variável) Pacote IP v4: TOS: Tipo de serviço; Identificador: Número de sequência; Sinalizadores e offset: Fragmentação e reconstrução de datagramas; TTL (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 2 3 4 5 6 7 Prioridade Tipo de Serviço 0 TRC Prof. Paulo Lobato Correia 62
Protocolo IP v6 ver. classe tráfego comprimento 32 bits rótulo de fluxo próximo cab. endereço IP fonte endereço IP destino lim. saltos Cabeçalho IP v6: Classe de tráfego: Prioridades Rótulo de fluxo: QoS Comprimento: 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 T-PDU Dados H Dados H Dados H fracção mensagem nível transporte 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: 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. Inicio do cabeçalho Ident= x 0 Offset= 0 Resto do cabeçalho 1400 bytes dados Inicio do cabeçalho Ident= x 1 Offset= 0 Resto do cabeçalho 512 bytes dados H1 R1 R2 R3 H8 Inicio do cabeçalho Ident= x 1 Offset= 512 Resto do cabeçalho 512 bytes dados ETH IP (1400) FDDI IP (1400) PPP IP (512) PPP IP (512) PPP IP (376) ETH IP (512) ETH IP (512) ETH IP (376) Inicio do cabeçalho 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: A Internet trata todos os pacotes da mesma forma; Integrated services (IntServ) 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