Unidade III REDES DE COMPUTADORES E TELECOMUNICAÇÃO Prof. Luís Rodolfo Redes de computadores e telecomunicação Objetivos da Unidade III Apresentar as camadas de Transporte (Nível 4) e Rede (Nível 3) do Modelo OSI traçando um paralelo com a Arquitetura TCP/IP. Redes de computadores e telecomunicação Modelo Camadas OSI: Camada de Transporte – Nível 4 Figura 1 – Camada de Transporte Modelo OSI Fonte: Kovach, 2009 Camada de transporte Características básicas: Camada central da pilha de protocolos; Fornece serviços de comunicação para as camadas superiores; É responsável pela comunicação fim-afim a fim nas redes de computadores; Camada de transporte Serviços e protocolos de transporte: Converte as mensagens das camadas superiores em segmentos da camada de transporte; Responsável pela qualidade na entrega e recebimento dos dados; Comunicação lógica fim-a-fim entre as camadas de transporte de origem e destino; Camada de transporte A li ã Aplicação Transporte Rede Enlace Física SDU PCI PDU Figura 2 – Montagem do PDU Aplicação Transporte Rede Enlace Física Figura 2: Conexão lógica fim-a-fim da camada de Transporte Camada de transporte Origem e destino das mensagens: Multiplexação e Demultiplexação APLICAÇÃO 1 Porta 126 Porta 34 APLICAÇÃO 2 Porta 22 TRANSPORTE IP Figura 3: Multiplexação e Demultiplexação de Portas de Protocolo da Camada de Transporte Camada de transporte Existem 2 tipos de portas: Estáticas: Estáticas ou conhecidas. Associadas a processos que fornecem serviços conhecidos e que não mudam com o tempo. Ex. SMTP -> Porta 25. Dinâmicas: Portas assinaladas dinamicamente pelo sistema operacional quando aplicações solicitam serviços a servidores servidores, ou seja seja, mudam a cada execução do programa. Camada de transporte Portas estáticas e dinâmicas: Faixa de 0 a 1023 são chamadas de portas conhecidas, ou seja, estão associadas a uma aplicação comum. Exemplos de portas conhecidas: 21 (FTP), 23 (Telnet), 25 (SMTP), 80 (HTTP), entre outras; Acima de 1023 (até 65535) são chamadas portas altas e é possível associar uma aplicação desconhecida (normalmente aplicações cliente) Camada de transporte Serviços e Protocolos de Transporte Cada aplicação da Internet usa pelo menos um protocolo da camada de Transporte para enviar e receber dados. São dois os principais protocolos de camada de Transporte: TCP (Transmission Control Protocol) e; UDP (User Datagram Protocol). Camada de transporte Aplicações populares da Internet Figura 4: Aplicações populares da Internet e seus protocolos de Transporte Camada de transporte Protocolo UDP (User Datagram Protocol) Serviço não orientado a conexão e sem confiabilidade; Não implementa controle de fluxo e congestionamento; Principal função implementada pelo UDP é a multiplexação no acesso ao sistema de comunicação; Utilizado em aplicações de meios contínuos de transmissão (voz (voz, video); Também utilizado em aplicações como SNMP e DNS. Camada de transporte Formato do Cabeçalho UDP 0 7 Octeto 1 15 Octeto 2 23 Octeto 3 31 Octeto 4 UDP SOURCE PORT UDP DESTINATION PORT UDP MESSAGE LENGTH UDP CHECKSUM DATA ... Opcional (campo=0) Figura 5: Formato do Cabeçalho UDP Camada de transporte Protocolo TCP (Transmission Control Protocol) O protocolo TCP fornece, além da multiplexação, um serviço com conexão, implementando controle de erros e controle de fluxo; A multiplexação é implementada de forma semelhante ao UDP; O controle de erros e o controle de fluxo são implementados através da técnica de janela deslizante. Camada de transporte Formato do Cabeçalho TCP 0 7 OCTETO 1 15 OCTETO 2 23 OCTETO 3 31 OCTETO 4 TCP DESTINATION PORT TCP SOURCE PORT SEQUENCE NUMBER ACKNOWLEDGEMENT NUMBER HLEN RESERVED CTRL BITS WINDOW CHECKSUM URGENT POINTER OPTIONS (IF ANY) PADDING DATA ... Figura 6: Formato do Cabeçalho TCP Camada de transporte Conexão TCP Uma conexão TCP é formada pelo par [Endereço IP Origem, Porta Origem] e [Endereço IP Destino, Porta Destino]. Porta 22 Porta 2340 TCP TCP IP IP Host 139.82.17.10 Inter rede Inter-rede TCP/IP Figura 7: Formato do Cabeçalho TCP Host 139.82.55.3 Camada de transporte Conexão TCP em 3 fases: Estabelecimento da conexão; Troca de mensagens; Finalização da conexão. SYN SYN/ACK ACK TX DADOS DADOS ACK RX DADOS FECHA CONEXÃO DADOS ACK FIN ACK FIN ACK Figura 8: 3 fases da conexão TCP RX DADOS TX DADOS FECHA CONEXÃO Interatividade Relativo ao protocolo de transporte TCP, pode-se afirmar: a) Não orientado a conexão b) Não orientado a conexão e baixa confiabilidade c) Orientado a conexão, implementa controle de erros e controle de fluxo d) Orientado a conexão e baixa confiabilidade e) Utilizado em aplicações de meios contínuos de transmissão Camada de rede Modelo Camadas OSI: Camada de Rede – Nível 3 Figura 9: Camada de Rede do modelo OSI Fonte: Kovach, 2009 Camada de rede Responsável pela interconexão de redes, através de dispositivos denominados roteadores. Figura 10: Exemplo de interconexão de redes utilizando roteadores. Fonte: Kovach, 2009 O roteador é o p principal p agente g no processo de interconexão das redes, pois determina as rotas baseado em critérios, roteando os dados pelas redes e gerenciando suas tabelas de roteamento. Camada de rede Roteamento pelo endereço IP de destino; Portas de entrada e saída permitem ao roteador encaminhar pacotes aos seus roteadores vizinhos. Toda rede possui uma porta de saída padrão (default gateway) que é para onde vão todos os pacotes de dados recebidos e que não são para aquela rede. A camada de Rede que decide qual o melhor caminho para se chegar ao destino. Mapeamento do endereço físico e lógico através do protocolo ARP. Camada de rede X Y R3 R1 R2 HOST X Aplicação Transporte Rede Enlace Física HOST Y R1 Rede Enlace Física R2 Rede E l Enlace Física R3 Rede E l Enlace Física Figura 10: Exemplo de interconexão entre sistemas finais. Aplicação Transporte Rede Enlace Física Camada de rede O protocolo IP (Internet Protocol) Responsável pelo encaminhamento dos pacotes da origem ao destino; Não é orientado a conexão; Suscetível a perda de dados dados, atrasos e sem garantias de entrega; A correção de erros e recuperação de pacotes perdidos é realizada pela camada de Transporte (TCP); Vantagem: Simplicidade – melhor esforço. Camada de rede Fragmentação: Ocorre quando o pacote a ser transmitido é maior que o MTU da rede (Maximum Transfer Unit); Uma rede Ethernet tem MTU = 1500bytes, portanto, datagramas maiores que este MTU serão fragmentados pelo IP em fragmentos; Os datagramas são remontados no destino final; Se qualquer fragmento for perdido no caminho, o datagrama não pode ser remontado. Camada de rede Fragmentação: Rede Rede1 1 MTU=1500 Rede 3 Rede 3 MTU=1500 MTU=1500 G1 Rede Rede 22 MTU=1500 MTU=500 MTU=1500 G2 Figura g 11: Fragmentação g ç de um pacote p IP Camada de rede Endereçamento IPv4: Todo dispositivo numa rede IP é identificado por um endereço IP; Endereço IP: 32 bits (4 bytes) 232 endereços IPs possíveis, possíveis cerca de 4 bilhões de endereços; 4 conjuntos de bytes, representados por um número decimal, separados por pontos; Camada de rede Exemplo de um endereço IP: 11010000 11110101 00011100 10100011 Camada de rede Exemplo de um endereço IP: 11010000 11110101 00011100 10100011 1 752 865 955 Camada de rede Exemplo de um endereço IP: 11010000 11110101 00011100 10100011 208 245 28 163 Camada de rede Exemplo de um endereço IP: 11010000 11110101 00011100 10100011 1 752 865 955 208 245 28 208.245.28.163 163 Camada de rede O endereço IP é: Um endereço lógico de rede que está associado a uma interface física de rede (placa de rede); Globalmente exclusivo e não pode ser escolhido de qualquer forma; Determinado em parte pela sub-rede que está conectado. Camada de rede Classes e formatos de endereços IP A estratégia de atribuição de endereços da Internet é conhecida como roteamento interdomínio sem classes (CIDR – Classless Interdomain Routing); Antes da adoção do CIDR, os tamanhos das parcelas de um endereço IP estavam limitados a 8, 16 ou 24 bits, um esquema de endereçamento definido por classes de endereços. Camada de rede Classes e formatos de endereços IP A B C D E Figura 12: Classes e formatos de endereços IPs Camada de rede netid: identifica o prefixo da rede, pelo qual o dispositivo está conectado; hostid: identifica o dispositivo nessa rede; Um roteador conectado a “n” n redes terá “n” endereços IPs distintos. Camada de rede Quando todos os bits do hostid são “0” diz-se que o endereço IP representa a rede de computadores. Ex: netid hostid 11000000 10101000 00001010 00000110 - IP (192.168.10.6) 11000000 10101000 00001010 00000000 – IP REDE (192.168.10.0) Camada de rede Classes e ranges de endereços IPs: Classe A (a.b.c.d) a = 1 – 126 a: identifica a rede b.c.d: identificam o host Exemplo: 10.10.5.1 Classe B (a.b.c.d) a = 128 – 191 a.b: b identificam id tifi a rede d c.d: identificam o host Exemplo: 129.10.5.1 Camada de rede Classes e ranges de endereços IPs: Classe C (a.b.c.d) a = 192 – 223 a.b.c: identificam a rede d: identifica o host Exemplo: 194.10.5.1 Classe D (a.b.c.d) a = 224 – 239 E d Endereço d multicast de lti t Exemplo: 224.10.5.1 Interatividade Relativo ao protocolo de rede IP, pode-se afirmar: a) Não orientado a conexão e sem garantias de entrega b) Não orientado a conexão e de alta confiabilidade c) Orientado a conexão, implementa controle de erros e controle de fluxo d) Orientado a conexão e baixa confiabilidade e) Utilizado em aplicações de meios contínuos de transmissão Camada de rede Máscaras de sub-redes: É baseado no prefixo de rede que os roteadores vão escolhendo seus caminhos (o roteamento é feito) até chegar ao último roteador antes da rede de destino. Quando chegar à sub-rede de destino, é que o endereço referente ao hostid será olhado para buscar dentro da sub-rede o dispositivo final a que se destina a mensagem. Camada de rede Máscaras de sub-redes: Bits que determinam o prefixo da rede; Também composta por 32 bits; Permite ao receptor identificar quais bits são referentes ao netid e quantos ao hostid; Os bits em “1” da máscara indicam quais bits do endereço IP serão o prefixo da rede e; Os bits em “0” da máscara indicam quais bits do endereço IP serão o dispositivo de rede (hostid). Camada de rede Máscaras de sub-redes: Para o roteamento, utilizam-se máscaras padrão (default) de cada classe até chegar à rede de destino. As máscaras padrão são: Classe A: máscara sub-rede 255.0.0.0 Classe B: máscara sub-rede 255.255.0.0 Classe C: máscara sub-rede 255.255.255.0 Camada de rede Máscaras de sub-redes: Aumento da demanda de conexões de dispositivos a rede; Crescente uso de endereços IPs; Rápido esgotamento de endereços; Uso de máscaras de sub-redes diferentes do padrão; Ganho de novos endereços IP na divisão em sub-redes; Camada de rede Máscaras de sub-redes: Máscaras diferentes da padrão; Representado pelo bits “1”, parte do hostid agora representam sub-redes. Figura 13: Máscara de Sub-rede Camada de rede Aplicação de máscaras de sub-redes: Uma empresa possui uma inter-rede composta por duas redes IP, com 50 estações em cada rede. Camada de rede Figura 14: Máscara de Sub-rede Camada de rede Aplicação de máscaras de sub-redes: 1a. opção seria utilizar 2 redes classe C: Rede Marketing - 200.18.160.0 Rede Engenharia - 200.18.161.0 Desperdício de 410 endereços! 2ª opção seria dividir uma rede classe C em sub-redes: Máscara natural da classe C - 255.255.255.0 Vamos estender a máscara natural para criar sub-redes. Camada de rede 200.18.160.0 1100 1000 0001 0010 1010 0000 xxxx xxxx 255.255.255.0 1111 1111 1111 1111 1111 1111 0000 0000 200.18.160.0 1100 1000 0001 0010 1010 0000 00 255.255.255.192 1111 1111 1111 1111 1111 1111 11 xx xxxx 00 0000 200.18.160.64 1100 1000 0001 0010 1010 0000 01 xx xxxx 255.255.255.192 1111 1111 1111 1111 1111 1111 11 00 0000 200.18.160.128 1100 1000 0001 0010 1010 0000 10 xx xxxx 255.255.255.192 1111 1111 1111 1111 1111 1111 11 00 0000 1100 1000 0001 0010 1010 0000 11 xx xxxx 200.18.160.192 255.255.255.192 1111 1111 1111 1111 1111 1111 11 00 0000 Figura 15: Exemplo de cálculo de Sub-rede Camada de rede Aplicação de máscaras de sub-redes: 1ª. opção seria utilizar 2 redes classe C: Rede Marketing - 200.18.160.0 Rede Engenharia - 200.18.161.0 Desperdício de 410 endereços! 2ª opção seria dividir uma rede classe C em sub-redes: Máscara natural da classe C 255.255.255.0 Vamos estender a máscara natural para criar sub-redes. Camada de rede Divisão em sub-redes: Despreza-se a 1ª e a última sub-rede por representar o endereço da rede e o endereço de broadcast da rede respectivamente. Rede Marketing - 200.18.160.64 / 26 (255.255.255.192) Rede Engenharia - 200.18.160.128 / 26 (255.255.255.192) Desperdício de 155 endereços! Camada de rede Figura 16: Máscara de Sub-rede Camada de rede Endereços IPs reservados (especiais) 0. 0. 0. 0: endereço desconhecido. Utilizado pela máquina quando ela não conhece seu próprio IP; 255.255.255.255: endereço de broadcast dentro da rede local. Um pacote de broadcast é destinado a todos os dispositivos conectados à rede; 127.0. 0. 0 – 127. 255. 255. 255: utilizados como endereço de “loopback” loopback para testes internos na máquina. Camada de rede Endereços IPs privados São reservados para redes privadas e servem para montar uma rede TCP/IP sem gerar conflitos com os endereços IP da Internet. 10. 0. 0. 0 – 10. 255. 255. 255 172. 16. 0. 0 - 172. 31. 255. 255 192. 168. 0. 0 - 192. 168. 255. 255 Não são considerados pelos roteadores no roteamento global da internet. Interatividade Qual a máscara de sub-rede a ser aplicada se precisarmos dividir um endereço de rede em 6 sub-redes válidas? a) 255.255.255.6 b) 255.255.255.0 c) 255.255.6.255 d) 255.255.255.224 e) 255.255.255.192 Camada de rede NAT e DHCP: NAT – Network Address Translator Tradução de endereço privado para endereço público e vice-versa. Tradução estática: um endereço privado é sempre convertido em um mesmo endereço público. Tradução dinâmica: o endereço privado poderá não utilizar sempre o mesmo endereço público. público Camada de rede NAT e DHCP: DHCP – Dynamic Host Configuration Protocol Um servidor DHCP distribui aos computadores clientes um IP válido na Internet sempre que um cliente solicita. A alocação de endereços IPs é dinâmica e nem sempre o mesmo IP é alocado para a mesma máquina solicitante. Camada de rede Roteamento Roteamento é o processo de escolher um caminho para o envio dos datagramas. Direto: ocorre se ambas as máquinas (origem e destino) estiverem conectadas a mesma rede física; Indireto: ocorre quando o destino não estiver conectado a mesma rede física, forçando o remetente a passar o datagrama a um roteador conectado na mesma rede física. Camada de rede Tabela de roteamento Tabela existente em cada máquina que indica a rota que o pacote deve seguir. Contém os prefixos de rede e o endereço IP do próximo roteador no caminho (vizinho). Os prefixos são calculados a partir do endereço IP de destino do pacote e a máscara de sub-rede aplicada. A tabela de roteamento sempre aponta para os roteadores conectados diretamente. Camada de rede Tabela de roteamento Caso não seja encontrado o prefixo de rede na tabela, o pacote é encaminhado para um gateway padrão (default gateway). Se não existir default gateway configurado o pacote é descartado. Camada de rede Estação A .37 Estação B Roteador .148 200 18 171 0 200.18.171.0 .45 .10 200.18.100.0 IP DESTINO 200.18.100.45 REDE MASCARA GATEWAY Interface 200.18.171.148 255.255.255.255 127.0.0.1 127.0.0.1 200.18.171.0 255.255.255.0 200.18.171.148 200.18.171.148 200.18.100.10 255.255.255.255 127.0.0.1 127.0.0.1 200.18.100.0 255.255.255.0 200.18.100.10 200.18.100.10 Figura 17: Tabela de Roteamento MTC 1 1 1 1 Camada de rede Algoritmos e protocolos de roteamento As tabelas de roteamento são criadas e mantidas pelos Protocolos de Roteamento; A tabela de rotas pode ser montada por roteamento estático (manualmente pelo usuário) ou por roteamento dinâmico (construção automática); Camada de rede Algoritmos de roteamento O melhor caminho é definido pelo algoritmo de roteamento, que o calcula baseado em diversos parâmetros como velocidade de transmissão, tempo de atraso, entre outros, que formam uma métrica particular de cada algoritmo de roteamento. Camada de rede Algoritmos de roteamento Distance Vector: é baseado no número de saltos na rede (hops). Esse algoritmo tem como princípio que o melhor caminho (métrica) para se chegar ao destino é através das rotas mais curtas, independentemente de se a rota mais curta é a mais congestionada. Ex: RIP (Routing Information Protocol) Camada de rede Algoritmos de roteamento Link state: é baseado no estado dos enlaces. Esse algoritmo considera diversos parâmetros na rede para calcular a métrica e a melhor rota para se chegar ao destino. Um dos parâmetros que ele considera é a largura de banda, que determina a velocidade de transmissão de um pacote. Ex: OSPF (Open Shortest Path First) Camada de rede Algoritmos de roteamento IGP (Interior Gateway Protocols): utilizados apenas para interconectar roteadores internamente em uma rede. Ex: RIP e OSPF EGP (Exterior Gateway Protocols): para interconectar redes independentes. Ex: BGP (Border Gateway Protocol) Interatividade Um algoritmo de roteamento Distance Vector é: a) baseado no número de saltos na rede (hops) b) um protocolo roteável pela camada de transporte c) baseado no estado dos enlaces d) baseado nas características dos links e) n.d.a. ATÉ A PRÓXIMA!