Rede de Computadores Parte II Prof. Eduardo Parente Ribeiro Sumário • • • • • • Internet TCP/IP Aplicação Segurança ATM IPv6 2 3 Internet • Histórico: ARPANET (1969) DOD (depatment of Defense), DOE (Energy), NSF (National Science Foundation), HHS (Health anf Human Services Agency), NASA • Internet (TCP/IP) (1983) IAB (Internet Advisory Board) • ANSNET, Internic (1993) Advanced Networks Services: IBM, MERIT, MCI; Internet Network Information Center • RFC, FYI Request for Coment, For Your Information 4 Linha do Tempo http://www.isoc.org/guest/zakon/Internet/History/HIT.html 1969 1974 ARPANET commissioned by DoD for research into networking Vint Cerf and Bob Kahn publish "A Protocol for Packet Network Interconnection" which specified in detail the design of a Transmission Control Program (TCP). 1977 RFC 733: Mail specification 1981 BITNET, the "Because It's Time NETwork" 1983 Name server developed at Univ of Wisconsin, no longer requiring users to know the exact path to other systems 1986 NSFNET created (backbone speed of 56Kbps) Internet Engineering Task Force (IETF) and Internet Research Task Force (IRTF) comes into existence under the IAB. 1988 NSFNET backbone upgraded to T1 (1.544Mbps) 1991 First connection takes place between Brazil, by Fapesp, and the Internet at 9600 baud. World-Wide Web (WWW) released by CERN; Tim Berners-Lee developer PGP (Pretty Good Privacy) released by Philip Zimmerman NSFNET backbone upgraded to T3 (44.736Mbps) 1993 InterNIC created by NSF to provide specific Internet services 1995 NSFNET reverts back to a research network. Main US backbone traffic now routed through interconnected network providers 5 Mais Informações • • • • • • • ISOC - Internet Society http://www.isoc.org/ IAB - Internet Acrchitecture Board http://www.iab.org/ IETF - Internet Engineering Task Force http://www.ietf.org/ IRTF - Internet Research Task Force http://www.irtf.org/ ICANN - The Internet Corporation for Assigned Names and Numbers IANA - Internet Assigned Numbers Authority http://www.iana.org/ ARIN - American Registry For Internet Numbers http://www.arin.net/ 6 Internet no Brasil • RNP - Rede Nacional de Pesquisa (1989) www.rnp.br • CG - Comitê Gestor (1995) www.cg.org.br registro.br (Fapesp) • Embratel www.embratel.net.br 7 Backbone RNP 8 Internet - Embratel 9 Apresentação no gt-er/cg em jul/99 por Ricardo Maceira/Embratel 10 11 InternetBR - Estatística Estatística do registro de nomes: (nome, quantidade, porcentagem) Entidades COM.BR ESP.BR G12.BR GOV.BR IND.BR INF.BR MIL.BR NET.BR ORG.BR PSI.BR 117310 145 369 386 829 464 12 69 3599 220 Universidades BR Fonte: Fapesp, 20/10/1999 766 90.94 0.11 0.29 0.30 0.64 0.36 0.01 0.05 2.79 0.17 0.59 Pessoas Físicas NOM.BR 875 0.68 Profissionais Liberais ADM.BR 116 0.09 ADV.BR 622 0.48 ARQ.BR 134 0.10 ENG.BR 362 0.28 ETI.BR 662 0.51 JOR.BR 109 0.08 MED.BR 458 0.36 ODO.BR 144 0.11 PPG.BR 116 0.09 PRO.BR 152 0.12 PSC.BR 68 0.05 VET.BR 27 0.02 12 Camadas do TCP/IP Aplicação Transporte ou Serviço Roteamento ou Inter-rede Enlace ou Interface de Rede FTP, TELNET, SMTP, BOOTP, RIP, TFTP, DNS TCP IP UDP ICMP IGMP ARP RARP Ethernet, , Token Ring , FDDI Linhas Seriais ponto a ponto: PPP RENPAC (X.25 etc), Frame Relay, ATM 13 O Protocolo IP Voz Telefone Circuito Físico ou virtual Dados Telegrama Datagrama 14 Encapsulamento dos Dados APLICAÇÃO TRANSPORTE Dados de Aplicação Segmentos TCP ou Dados Dados Datagramas UDP ROTEAMENTO ENLACE Datagramas IP Quadros (frames) Dados Dados Pacote de dados HARDWARE Bits Dados codificados 15 Característica • Entrega sem conexão (conectioless Delivery) • Entrega Não Confiável (Non reliable delivery) • Entrega com melhor esforço (Best Effort Delivery) 16 IP visto da camada de Transporte • Independência e Isolamento da tecnologia da subrede, numeração, topologia • Endereçamento uniforme 17 Endereçamento • 32 bits = 4 bytes Host 10.0.69.15 Host 10.0.69.16 Host 10.0.69.17 Host 10.0.69.18 quatro campos sequenciais de números decimais inteiros separados por pontos (.) 18 Composição do Endereço IP ENDEREÇO IP COMPLETO NETID Endereço da Rede HOST ID Endereço da Máquina 19 Analogia Endereço de Host 78 82 94 Rua Tupinambás 98 Endereço de rede 20 Revisão: Binário, Decimal, Hexadecimal 27 26 25 24 23 22 21 20 128 64 32 16 8 4 2 1 0010 1011 Binário 2B Hexadecima 43 Decimal Byte 21 Análise do Endereço IP em binário 10 0 2 5 1 69 1 2 2 0 2 1 Exemplo: 10.0.69.15 2 34 0 15 1 2 17 1 2 7 1 2 8 0 2 2 4 0 3 2 1 1 2 2 0 2 1 10.0.69.15 = 00001010.00000000.01000101.00001111 22 23 Classes 01234 Classe A 0 8 16 24 32 Classe B 1 0 Classe C 1 1 0 Classe D 1 1 1 0 Classe E 1 1 1 1 0 24 Endereços de Classe A Exemplo: 10.0.69.15 00001010. 00000000.01000101.00001111 Classe A Endereço de Host 24 bits = 16 milhões de Hosts Endereço de rede 7 bits = 128 redes NETID HOSTID 25 Endereços de Classe B Exemplo: 130.1.32.50 10000010.00000001. 00100000.00110010 Endereço de rede 14 bits = 16.000 redes Endereço de Host 16 bits = 64.000 Hosts Classe B NETID HOSTID 26 Endereços de Classe C Exemplo: 194.7.10.15 11000010.00000111.00001010. 00001111 Endereço de rede 21 bits = 2 milhões de redes Endereço de Host 8 bits = 254 Hosts Classe C NETID HOSTID 27 Endereços de Classe D e E 1110xxxx.xxxxxxxx.xxxxxxxx Classe D Endereço IP em Multicasting 11110xxx.xxxxxxxx.xxxxxxxx Classe E Classe Reservada 28 Endereços Especiais 11111111.11111111.11111111.11111111 00000000. 00000000. 00000000. 00000000 Broadcast limitado Broadcast limitado NETID HOST ID = Tudo em “um” Broadcast direto na rede NETID HOST ID = Tudo em “zero” Endereço da rede dada por NETID NETID = Tudo em “zero” HOST ID 127.X.X.X (por ex.: 127.0.0.1) Emitente na mesma rede Interface para loopback 29 As Classes e os Endereços IP possíveis Classe Endereços válidos Amplitude A 1.0.0.1 a 126.255.255.254 27 - 2 redes com 224 - 2 hosts/rede B 128.0.0.1 a 191.255.255.254 214 redes com 216 - 2 hosts/rede C 192.0.0.1 a 223.255.255.254 221 redes com 28 - 2 hosts/rede 30 Sub-redes •É conveniente dividir uma rede em sub-redes para minimizar os problemas de trafego, colisão, de segurança e disponibilidade 31 Máscara de Sub-Rede Endereço IP HOST ID NETID Endereço do Host Endereço da Rede NETID SUBNET HOST ID Endereço da Sub-rede 32 Máscara de Sub-Rede Em binário NETID HOSTID 11001000.00010010.10110010. 00000010 Classe C Máscara de Sub-Rede (Rede: 200.18.178.0) 11111111.11111111.11111111. 111 00000 (255.255.255.224) Dado o endereço IP de rede: 200.18.178.0 Dividir em até 8 sub-redes São necessários 3 bits máscara de sub-rede 255.255.255.224 33 Máscara de Sub-rede Rede 200.18.178.0 com máscara de sub-rede 255.255.255.224 Endereços Possíveis de Sub-Redes 11001000.00010010.10110010. 11001000.00010010.10110010. 11001000.00010010.10110010. 11001000.00010010.10110010. 11001000.00010010.10110010. 11001000.00010010.10110010. 11001000.00010010.10110010. 11001000.00010010.10110010. 000 001 010 011 100 101 110 111 00000 00000 00000 00000 00000 00000 00000 00000 Variamos os 3 bits emprestados de HOSTID 34 Máscara de Sub-rede Rede 200.18.178.0 com máscara de sub-rede 255.255.255.224 Endereços possíveis de Hosts por sub-rede Endereços de Sub-Redes 200.18.178.0 200.18.178.32 200.18.178.64 200.18.178.96 200.18.178.128 200.18.178.160 200.18.178.192 200.18.178.224 Endereços possíveis de Hosts em cada sub-rede de 200.18.178.1 até 200.18.178.30 de 200.18.178.33 até 200.18.178.62 de 200.18.178.65 até 200.18.178.94 de 200.18.178.97 até 200.18.178.126 de 200.18.178.129 até 200.18.178.158 de 200.18.178.161 até 200.18.178.190 de 200.18.178.193 até 200.18.178.222 de 200.18.178.225 até 200.18.178.254 35 Exemplo 200.18.178.64 Filial 1 200.18.178.0 Matriz Filial 2 RDSI Roteador 200.18.178.32 200.18.178.96 36 CIDR (Classless Interdomain Routing) • Amenizar o problema de esgotamento dos endereços IP • Conceito de Supernet • RFC 1519 - Partição em 4 zonas 194.0.0.0 a 195.255.255.255 198.0.0.0 a 199.255.255.255 200.0.0.0 a 201.255.255.255 202.0.0.0 a 203.255.255.255 Europa América do Norte América do Sul e Central Asia e Pacífico 37 Máscaras de Rede para as três classes Classe A 11111111. 00000000.00000000.00000000 (255.0.0.0) Classe B 11111111.11111111. 00000000.00000000 (255.255.0.0) Classe C 11111111.11111111.11111111. 00000000 (255.255.255.0) 38 Máscara de Rede para um endereço sem classe Endereço do host IP 250.170.169.194 Em binário Máscara de Rede 11111010.10101010.10101 001.11000010 11111111.11111111.11111 000.00000000 (255.255.248.0 ou máscara de 21 bits) Endereço de Rede 11111010.10101010.10101 000.00000000 Rede (250.170.168.0) 39 Possíveis Hosts Endereço de Rede: 250.170.168.0 Máscara: 255.255.248.0 NETID HOSTID 11111010.10101010.10101 000.00000000 1 até 2046 2046 Endereços possíveis de Hosts: de 250.170.168.1 até 250.170.175.254 40 Endereços Privados RFC 1918, "Address Allocation for Private Internets", fevereiro de 1996. 10.0.0.0 - 10.255.255.255 (prefixo 10/8) 172.16.0.0 - 172.31.255.255 (prefixo 172.16/12) 192.168.0.0 - 192.168.255.255 (prefixo 192.168/16) 41 Resolução de Endereços Endereço lógico (IP) Nível de Roteamento Endereço lógico (IP) 200.17.230.18 200.17.230.19 Endereço físico (Nível de Enlace) 08:00:20:0A:50:3C 08:00:20:0A:8C:6D 08:00:20:0A:2C:2F 08:00:20:0A:90:5F Cada elemento da rede possui dois endereços associados a ele. 42 Endereço em cada camada APLICAÇÃO Dados TRANSPORTE Dados ROTEAMENTO Endereço lógico Dados ENLACE Endereço físico Dados HARDWARE Dados codificados 43 O endereço Físico •Numa rede Ethernet o endereço usado pela camada de enlace (endereço físico) chama-se Endereço MAC (Media Access Control) e vem gravado no Hardware do dispositivo de rede •é um endereço de 48 bits representado em notação hexadecimal pontuada. •Exemplo: 08:00:20:0A:8C:6D •são atribuídos pelo IEEE e não se repetem nunca •os três primeiros bytes correspondem ao código do fabricante 44 O endereço Lógico • o endereço IP é o endereço lógico de uma rede TCP/IP • ele é programado na máquina, quando esta é ligada em rede. • O endereço IP depende do local dentro da rede onde a máquina está instalada (segmento da rede ao qual ele pertence) • existe uma tabela que relaciona o endereço IP com o endereço MAC 45 O endereçamento na rede Endereço lógico IP: 10.0.69.15 IP: 10.0.69.16 Endereço físico MAC: 08:00:20:00:96:21 MAC: 08:00:20:00:57:41 46 Mensagem TCP/IP no Nível de Enlace em uma Rede Ethernet IP: 10.0.69.16 IP: 10.0.69.15 MAC: 08:00:20:00:96:21 MAC: 08:00:20:00:57:41 Tipo de Protocolo 08:00:20:00:57.41 08:00:20:00:96:21 IP 10.0.69.16 10.0.69.15 MAC Destino MAC Origem IP IP destino origem Dados CRC 47 Resolução de Endereços ARP - Address Resolution Protocol •em cada máquina existe uma tabela que possui a relação entre o endereço MAC e o Endereço IP correspondente (Tabela ARP) •Quando um endereço IP não se encontra na tabela, a máquina manda um broadcast para saber quem tem aquele endereço IP •Comando para listar a tabela: arp -a 48 Exemplo de Resolução de Endereços Micro A Micro B O Micro A quer enviar uma mensagem para o Micro B 49 Exemplo de Resolução de Endereços Micro A Micro B Mensagem ARP (broadcast) com o Endereço IP do micro B O Micro A envia uma mensagem ARP para a rede solicitando que o Micro B informe o seu endereço MAC 50 Exemplo de Resolução de Endereços Micro A Micro B Resposta para o ARP enviado O Micro B responde ao micro A, informando seu endereço MAC 51 Exemplo de Resolução de Endereços Micro A Micro B Mensagem TCP/IP O micro A envia a mensagem, colocando no campo de destino, o endereço MAC do Micro B 52 Outros Protocolos de Resolução de Endereço • RARP - Reverse ARP - Utilizado por uma estação sem disco para descobrir seu próprio endereço IP • BOOTP - Boot Protocol - fornece outras informações como o default gateway • DHCP - Dynamic Host Configuration Protocol - permite uma faixa de seja endereços alocada dinamicamente 53 O Datagrama IP 0 4 Versão Hlen 8 16 Tipo de Serviço 31 Tamanho Total (octetos) Identificação TTL - Time to live. 24 Flags Protocolo Deslocamento do fragmento Checksum do cabeçalho Endereço IP ORIGEM Endereço IP DESTINO Opções IP (se alguma) Dados ... 54 Roteamento dos Pacotes 200.17.100.1 200.17.100.3 200.17.150.4 Router Como mandar este pacote para 200.17.150.4 ? 55 Gateway Rede C Host G4 Gateway Rede D G2 Rede A G1 Rede B G3 Os gateways podem ser: roteadores ou computadores com duas placas de rede Rede E 56 Como a mensagem trafega numa WAN? Rede F Micro 1 G3 B A Rede A G1 Gateway (roteador) E G4 F D C G2 Micro 2 Se existirem duas rotas possíveis, apenas uma deverá estar na Tabela de Roteamento 57 Tabela de Roteamento do Gateway G1 Rede Distância ou custo (métrica) Próximo Gateway (next hop) A 0 - B 0 - C 0 - D 1 G2 E 1 G3 F 2 G3 58 Roteamento na camada IP APLICAÇÃO TRANSPORTE APLICAÇÃO TCP TRANSPORTE IP ROTEAMENTO ENLACE HARDWARE ROTEAMENTO ENLACE HARDWARE ROTEAMENTO ENLACE HARDWARE 59 Tipos de Roteamento • Estático - A tabela de roteamento é configurada de forma manual pelo operador • Dinâmico - A tabela é dinâmicamente configurada, com informações trocadas entre os Roteadores 60 Comparação • Estático - mais simples, suficiente para a maioria dos casos, porem se a tabela de rotas é muito complexa torna-se de dificil manutenção • Dinâmico - mais complexo, indicado para roteadores fazendo a interconexão de diversas redes 61 Tabela de rotas estática • • • • O roteador irá comparar o endereço IP desejado com as informações contida na tabela e enviará o pacote para o destino apropriado. Rede local : saída pela interface apropriada Rede Específica : envio para o gateway especificado Máquina específica : envio para o gateway especificado Rota padra : envio para o gateway padrão O roteador só se preocupa com o próximo salto (next hop) 62 Roteamento Dinâmico • o protocolo mais usado é o RIP (Routing Information Protocol implementado pelo programa routed): os roteadores trocam informações entre si sobre as redes, as distâncias entre elas (métrica) e o próximo roteador para onde deve ser encaminhada a mensagem • o RIP consome largura de banda, pois a cada 30 segundos os roteadores de cada rede fazem a difusão (broadcast) das atualizações do RIP • o protocolo HELLO é semelhante porém utiliza o tempo como métrica ou invés do numero de nós. • o protocolo OSPF (Open Shortest Path First) é mais moderno e mais eficiente que o RIP porém exige um roteador com processador mais evoluído e com mais memória 63 O Problema da Convergência Algoritmos do tipo vetor de distância (distance vector) • Boas notícias trafegam rapidamente Distância em relação a A A 1 1 1 B 2 2 C 1 3 3 5 5 3 D 2 2 4 4 6 3 3 3 5 5 • Más notícias demoram a chegar 64 Sistemas Autônomos (AS) AS1 EGP AS2 IGP AS3 EGP: Exterior Gateway Protocol 65 Protocolos Interiores e Exteriores •IGP: Interior Gateway Protocol ( RIP, Hello, OSPF) •EGP: Exterior Gateway Protocol (GGP, BGP-Border Gateway Protocol) 66 Pacotes que não podem ser roteados • isto acontece se a rede de destino não consta da tabela de roteamento de um dos roteadores • o nó emissor se enganou e está tentando enviar uma mensagem para um endereço que não existe • o roteador foi configurado de maneira errada e não possui informações sobre a rede destino • todas as rotas para esta rede estão fora de funcionamento (um roteador distante do caminho apresentou defeito) • a mensagem é interrompida e o usuário é avisado com uma mensagem: Destination Unreachable 67 ICMP Internet Control Message Protocol • Mensagens de Erro e Controle • É encapsulada dentro de um datagrama IP, mas não é considerada um camada superior • Pedido de echo: ping 68 ICMP -Tipo e Código Tipo 0 resposta de eco 3 destino inatingível 4 reduzir envio 5 redireciona (muda rota) 8 pedido de eco 11 tempo excedido (datagrama) 12 problema no parametrto (datagrama) 13 pedido de marca de tempo 14 resposta de marca de tempo 17 pedido de mascara de endereço 18 resposta de mascara de endereço Código (Destino inatingível) 0 rede inatingível 1 máquina inatingível 2 protocolo inatingível 3 porta inatingível 4 fragmentação necessária 5 falha na rota fornecida 6 rede destino desconhecida 7 máquina destino desconhecida 8 máquina fonte isolada 9 comunicação com rede destino proibidada administrativamente 11 comunicação com máquina destino proibidada administrativamente 12 máquina inatingível para tipo de serviço 69 Formato da mensagem ICMP 0 8 Tipo 16 Código Identificador 31 Checksum Numero de sequência Dados opcionais ... 70 IGMP - Internet Group Management Protocol • Implementa a gerência de grupos para o serviço de Multicasting • Conceito de Unicast; Multicast; Broadcast • Hardware multicast x IP multicast • Mapeamento do endereço de multicast IP (28bits) Ethernet (23 bits) • Embora trafegue num datagrama IP não é um protocolo de nível superior 71 Formato de mensagem IGMP 0 4 Ver. Tipo 8 16 0 31 Checksum Endereço de grupo Cabeçalho Datagrama IP Tipo: 0 (pergunta do roteador), 1 (resposta da máquina) 72 Tunelamento para Multicast Rede 1 Rede 1 R1 R1 Internet sem suporte para multicast Programa de roteamento: mrouted 73 O Protocolo TCP • TCP: Transmission Control Protocol • Serviço de transporte oferecido à camada de aplicação • Com conexão, entrega confiável, bidirecional 74 TCP • Confirmação positiva • Retransmissão de pacotes com erro • Ordenação dos pacotes Transmissor Receptor Envia pacote 1 Recebe pacote 1 Recebe confirmação 1 Envia confirmação 1 Envia pacote 2 Recebe pacote 2 Recebe pacote 2 Envia confirmação 2 75 Janela Deslizante Transmissor Receptor Envia pacote 1 Recebe pacote 1 Envia confirmação 1 Envia pacote 2 Envia pacote 3 Recebe confirmação 1 Recebe pacote 2 Envia confirmação 2 Recebe confirmação 2 Recebe pacote 3 Envia confirmação 3 Recebe confirmação 3 1 2 3 4 5 6 7 8 9 10 O tamanho variável permite um aproveitamento melhor da banda e ao mesmo tempo é responsável pelo controle de fluxo 76 Início da conexão • Sincronização entre as duas pontas para o início da troca de dados • Acordo em 3 etapas (3-way hand-shake) • Evita que pacotes duplicados antigos provoquem uma falsa conexão. 77 Acordo em 3 etapas Envia SYN, seq=123 Recebe SYN Envia SYN, seq=456, ACK 124 Recebe SYN+ACK Envia seq=124, ACK 457 Recebe ACK, Conexão extabelecida Dados já podem vir neste pacote, porem só são processados após estabelecida a conexão 78 Fechamento da conexão • 3 etapas modificado • Fechamento da comunicação bidirecional 79 Fechamento TCP Envia FIN, seq=567 Recebe FIN Envia ACK 568 Recebe ACK (aplicação fecha a conexão) Envia FIN seq=789, ACK 568 Recebe FIN+ACK Envia ACK 569 Recebe ACK 80 Diagrama de Estado Início Recebido/Enviado Fechada Abertura ativa/SYN Abertura passiva SYN/SYN+ACK SYN recebido Fecha/FIN Espera FIN 1 ACK/ SYN enviado Ouvindo SYN+ACK/ACK ACK Estabelecida Fecha/FIN FIN/ACK FIN-ACK/ACK Espera FIN 2 FIN/ACK FIN/ACK Espera fecho Fechado ACK/ Fecha/FIN Último ACK ACK/ Espera um tempo 81 O Problema da Janela Desprezível • Se o envio é muito mais rápido que a recepção, quando um pequeno espaço no buffer é anunciado ele logo fica preenchido. • Solução: regras no envio e na recepção • Receptor só anuncia quando o tamanho é suficiente (maior que a metade) • Transmissor acumula os dados e transmite após o recebimento da confirmação anterior 82 Demultiplexação Porta 1 Porta 2 Porta 3 Porta 4 TCP: Demultiplexação baseada na porta Chega um segmento TCP Camada IP 83 Demultiplexação (na camada IP) TCP UDP ICMP IGMP IP: Demultiplexação baseada no protocolo Chega um datagrama IP Camada de Enlace 84 Demultiplexação (na camada de Enlace) IP ARP RARP Enlace: Demultiplexação baseada no tipo de quadro Chega um Quadro Camada Física 85 Portas TCP Porta 7 9 11 13 20 21 23 25 53 80 110 Nome echo discard systat daytime ftp-data ftp telnet smtp nameserver http pop Descrição Eco Discarta Usuátios ativos Hora do dia ftp – dados Transferência de arquivo Conexão de terminal Correio eletrônico Servidor de nomes protocolo hypertexto (www) Protocolo de correio 86 Segmento TCP 0 4 10 16 24 Porta origem 31 Porta Destino Número da sequência Número de confirmação Tam. Cab. Reservado Código Janela Checksum Ponteiro Urgente Opções Dados ... 87 Código URG urgente ACK Confirmação PSH Empurra RST Reseta SYN Início, sincronismo FIN Finaliza 88 Ponto de Conexão • A conexão é identificada por um par de “pontos terminais” (endpoints) • Cada ponto de conexão é definido por um par (endereço IP, porta) • Por exemplo, uma conexão é unicamente identificada por: {(200.28.20.1, 1038), (200.35.39.3, 23)} 89 Interface Soquete • É a forma de comunicação com a aplicação fornecida pelo sistema operacional • Ex. socket (unix), Winsock (windows) • Prove uma abstração semelhante a utilização de arquivos: ex. open(), read(), write(), close(), com controles adicionais 90 O Protocolo UDP • • • • User Datagram Protocol Entrega de Dados não confiável Sem Conexão Ex. de aplicações: Streaming Audio, DNS, NFS, TFTP 91 Datagrama UDP 0 4 10 16 Porta origem 24 31 Porta Destino Tamanho da mensagem Checksum Dados ... 92 O Sistema de Nomes de Domínio • DNS - Domain Name System • Nomes hierarquicos (exemplo: depto.setor.empresa) • Divisão oficial (Internet) por atividade ou geografia. • Ex. ctrvax.vanderbilt.edu, alfa.eletr.ufpr.br • Camada de aplicação 93 Divisão por atividade COM EDU GOV MIL NET INT ORG Organização comercial Instituição educacional Instituição do governo Militar Pricipais centros de suporte Organizações internacionais Outras organizações (ONG’s) 94 Divisão Geográfica BR US CA DE PT CH SE CL Brasil AR Argentina Estado Unidos FR França Canada JP Japão Alemanha Portugal Suiça Suécia Chile 95 Servidor de Nomes Divisão por zonas com sun hp edu cisco cs alfa phy vanderbilt org ucla ieee br acm eng alfa ufpr usp ufsc com eletr fis cesec alfa beta gama ciel alfa beta gama 96 Resolução de nomes • Resolução recursiva x resolução iterativa ? alfa.eng.vanderbilt.edu 1 2 alfa.eletr.ufpr.br ns.ufpr.br 8 3 4 ns.fapesp.br 7 edu-server.net 6 vanderbilt.edu 5 alfa.vanderbilt.edu = 195.123.10.3 (non authoritative) 97 Tipos de Campos Tipo SOA A MX NS CNAME PTR HINFO Nome Start of Authority Host Address Mail eXchanger Name Server Canonical name Pointer Host descriptio Descrição Início da zona de autoridade Endereço IP Servidor de correio Servidor de nomes Nome canônico ponteiro (apelido) Informações sobre a máquina 98 Tipos de pergunta e Resposta Pergunta • recursiva x iterativa • nome x endereço • Tipo de objeto (A, MX, HINFO,...) Resposta • Autorizada x Não Autorizada 99 Formato das Mensagens 0 4 10 16 24 Identificação 31 Parâmetro Número de perguntas Número de respostas Número de autoridades Número de adicional Perguntas ... Respostas ... Autoridades ... Informações Adicionais ... 100 Aplicação: Telnet • Terminal Remoto • Permite que um usuário em uma máquina estabeleça uma conexão TCP com um servidor de login em outra máquina. • As entradas no teclado do usuário são transmitidas diretamente ao computador remoto, como se estivessem sendo digitadas no teclado conectado ao mesmo. Do mesmo modo, a saída do computador remo-to retorna até a tela do usuário. • NVT: Network Virtual Terminal 101 Conexão TELNET Servidor TELNET Cliente TELNET Internet TCP/IP 102 Exemplo de Controles Código BEL BS HT LF VT FF CR Valor 7 8 9 10 11 12 13 Significado Som audível ou sinal visível (sem movimento) Move para esquerda apagando um caracter Move para próxima tabulação à direita Move verticalmente para a próxima linha Move para a próxima tabulação vertical Move para o início da página Move para o início da linha 103 Mensagem: Telnet • Transmitida pelo transporte TCP • Em geral para cada tecla digitada = 4 mensagens trocadas (tecla + confirmação + eco + confirmação) • Utiliza flag PUSH para interrupção • Porta TCP padrão do serviço: 23 • O cliente pode ser configurado para falar com qualquer porta: telnet alfa.ufpr.br 80 104 Aplicação: FTP • File Tranfer Protocol : Protocolo para a Transferência de Arquivo • Transfere, renomeia ou apaga arquivos completos. • Conexões: Controle e Transferencia de dados 105 Conexão FTP Servidor FTP Cliente FTP Dados Internet TCP/IP controle 106 FTP • Porta TCP 21 (controle) e 20 (dados) • Na porta de controle, opera numa versão simplificada do NVT (telnet) • controle de autenticação • FTP anônimo • TFTP: trivial FTP (porta UDP/69) 107 Correio Eletrônico • TCP/IP proporciona uma entrega universal já que todas as maquinas estão conectadas entre si. • Mais confiável, pois a mensagem sai de um máquina diretamente para outra, não tem como ficar perdida no meio do caminho. • SMTP: Simple Mail Tranfer Protocol 108 Endereço de correio eletrônico • [email protected] • [email protected] 109 Componentes Interface com o usuário: mail, mailx, elm, pine,... Área de chegada de mensagens Servidor (recepção) SMTP TCP/25 Área de saída de Mensagens Cliente (entrega) SMTP TCP/25 110 Componentes(2) Interface com o usuário: mail, mailx, elm, pine,... Expansão nomes Relação de apelidos Área de chegada de mensagens Área de saída de Mensagens Servidor (recepção) Cliente (entrega) SMTP TCP/25 SMTP TCP/25 111 A Mensagem • RFC 822 • Cabeçalho + Corpo • To: Cc: Bcc: From: Sender: Received: Date: Reply-To: Message-Id: Subject: • MIME - Multipurpose Internet Mail Extensions • Content-Type: video/mpeg 112 MIME Text plain richtext Image Gif Jpeg Audio Basic Video Mpeg Aplication Octect-stream Postscript Message Rfc822 External-body Multipart Mixed Alternative Parallel Digest texto não formatado texto com formatação Formato Gif Formato Jpg Audio Formato Mpeg sequência de dados Documento postscrip mensagem RFC822 msg externa Partes independentes Mesma msg em dif. fmts simulânea Cada parte é uma msg. 113 Transferência da mensagem • Protocolo SMTP (RFC 821) • ESMTP - extended SMTP (RFC1425) utiliza EHLO em vez de HELO (resolve problemas de timeouts e limite de 64KB.) • Email Gateway (ex. X.400, SMTP) 114 Exemplo Cliente Servidor beta.com.br SMTP service ready HELO alfa.ufpr.br beta.com.br says hello to alfa.com.br MAIL FROM: [email protected] sender ok RCPT TO: [email protected] recipient ok DATA send mail; end with "." on a line by itself From: [email protected] TO: [email protected] Subject: pedido de informacoes Por Favor, mande informacoes. Obrigado, Eduardo. . message accepted QUIT beta.com.br closing connection 115 Entrega Final • POP - Post Office Protocol - POP3 - Porta TCP/110 - RFC 1225 • Implementado por Netscape, Outlook, Eudora, Pine,... • Comandos: user, pass, stat, list, retr, dele, top, quit • outros: IMAP - Interactive Mail Access Protocol - RFC 1064 116 Listas de Discussão • USENET NEWS : grupos de discussão • Ex. comp.os.linux, alt.tv.simpsons, sci.geo.earthquakes, sci.med.orthopedics • NNTP - Network News Transfer Protocol, TCP/119, RFC 977 • Comandos: LIST, NEWSGROUP date, GROUP grp, NEWNEWS grp date, POST, IHAVE id, QUIT 117 WWW - World Wide Web • Teia Mundia • Documentos hipertextuais, com hiperligações. • Início em 1989, CERN (centro europeu de pesquisa nuclear), Tim Berners-Lee • navegador MOSAIC, 1993, Marc Andreesen • NETSCAPE, 1994 • Consorcio, www.w3.org, 1994 118 Mensagem hipertexto • HTML - Hypertext Markup Language • Permite formatações simples, tamanho e tipos de letras, inclusão de figuras • HTML 2.0: suporta mapas e imagens ativas, formulários • HTML 3.0: suporta equações, tabelas • Versão atual: HTML 4.0 • Outros: CSS, XML, XHTML, SMIL... (www.w3c.org) 119 Exemplo - html <html> <head> <title>UFPR; Universidade Federal do Paraná</title> </head> <body bgcolor="#FFFFFF" text="#0000FF" bgproperties="fixed” <p align="center"><img src="ufpr81.jpg" alt="UFPR - A primeira Universidade Brasileira" <p align="center"><strong><font face="Arial" color="#800000"> <a href="http://www.ufpr.br/simbolo/" 120 Transferência de Páginas • HTTP - Hypertext Transfer Protocol • Porta TCP/80 • Comandos: GET, HEAD, PUT, POST, DELETE, LINK, UNLINK Cliente Servidor abc.com.br Cliente xyz.com.br 121 URL • URL - Uniform Resource Locator (localizador de recursos uniforme) Nome Uso Exemplo http Hipertexto http://www.ufpr.br ftp FTP ftp://ftp.ufpr.br/pub/unix file arquivo local file:/home/edu/arquivos news groupo de noticias news:comp.os.linux news artigo de noticia news:[email protected] gopher Gopher gopher://gopher.vanderbilt.edu mailto Enviar email mailto:[email protected] telnet acesso remoto telnet://alpha.usp.br 122 Outros • Java, Java Script : (java.sun.com) Applets, orientação a objeto, independência do sistema. • CGI (common Gateway Interface) 123 Segurança Sigilo Autenticidade do Interlocutor Mensagem Inviolabilidade Não repúdio Informações Sistema Serviços Sigilo Integridade Soluções: patches (atualizações), firewall, criptografia, assinatura digital 124 Criptografia • Tradicional: Dk(Ek(T))=T Texto Cifrado, C=Ek(T) Texto, T Decriptografa D( ) Criptografa E( ) Texto, T Intruso Passivo Chave K Chave K Intruso Ativo 125 Criptografia • Cifragem substitutiva (ex. computador -> dpnqubeps ) • Cifragem transpositiva (ex. computador -> cparoudmto) • Prenchimento único (ex. computador -> djheoriuns) Criptologia = Criptografia + Criptanálise 126 Algoritmos de Senha Secreta DES (Data Encription Standard) • Chave de 56 bits • Blocos de 64 bits • Encadeamento • Quebra • Chave de 112 bits C=Ek2(Ek1(T)) C=Ek1(Dk2(Ek1(T))) IDEA (International Data Encription Algorithm) • Suíça, 1990 • Chave de 128 bits • Seguro 127 Algoritmo de Senha Pública • Dsec(Epub(T))=T Texto, T , Epub(Dsec(T))=T Texto, T Criptografa Senha pública, pub Decriptografa Senha secreta, sec • RSA (Rivest, Shamir, Adleman), MIT 1978 • Mais Lento: Porem usado para codificar a senha secreta da sessão • Baseado na dificuldade em se fatorar um número muito grande 128 Autenticação • Autenticação x Autorização • Autentição com Senha Secreta (compartilhada) – – – – Challenge-Response (Desafio-Resposta) Diffie-Hellman KDC (Key Distribution Center) Kerberos 129 Autenticação com senha pública Epub(Dsec(T))=T João Texto, T Maria Texto, T D( ) Senha secreta (joão), sec E( ) Senha pública (joão), pub 130 Assinatura Digital 1) O receptor pode verificar a identidade do originador 2) O originador não pode repudiar o conteúdo 3) O receptor não pode forjar a mensagem Implementável com Senha Secreta ou Senha Pública 131 PGP • • • • Preety Good Privacy Phil Zimmermann (1995) Baseado nos algoritmos: RSA, IDEA, MD5 Compressão de texto, sigilo, assinaturas digitais e gerenciamento de senhas • Chave (bits): Casual(384), Comercial(512), Militar(1024) 132 Aspectos Políticos e Sociais • Segurança: indivíduo x sociedade • Restrição de exportação do governo americano • Algorítmos secretos x públicos • Patentes (17 anos): set,2000 expirou RSA 133 Segurança em Sistemas • Firewall – filtro de pacotes na camada de rede podendo se especificar faixas de endereços IP (fonte/destino), protocolos (ICMP,UDP,TCP) e faixa de portas. – ex. ipfwadm (linux) • Proxy – Camada de aplicação – ex. squid (linux) - tambem implementa cache. 134 Rede ATM Prof. Eduardo Parente Ribeiro Especialização em Telecomunicações 1999 Introdução • ITU-T: Broadband ISDN - ATM • Integração de serviços: voz, dados e vídeo • Qualidade de Serviços (QoS): Classes de serviços • Alocação dinâmica de recursos/banda • Células fixas de 53 bytes: 5 no cabeçalho e 48 de payload 136 Modelo de Referência B-ISDN/ATM 137 Camadas no ATM 138 Classes de Serviços e Camada de Adaptação AAL Classe A Classe B Classe C Classe D 1 2 3 4 5 5 Não Sinc. Fim/Fim Sim Sim Não Taxa Constante Variável Variável M. de Conexão Orientado Orientado Orientado Sem Exemplo Voz/vídeo compr. Dados Variável Dados 139 140 141 142 143 Categorias de Serviços • CBR (Constant Bit Rate): Emula um circuito físico • VBR (Variable Bit Rate): tempo real (RT-VBR) e tempo não real (NRT-VBR) • ABR (Available Bit Rate): garante uma banda mínima • UBR (Unspecified Bit Rate): sem garantia (best effort service) 144 Qualidade do Serviço • QoS - Quality of Service • Especifica parâmetros de qualidade, por ex. • • • • MCR (Minimum Cell Rate) - Taxa mínima (celulas/s) SCR (sustained Cell Rate) - Taxa média CTD (Cell Transfer Delay) - Retardo médio CLR (Cell Loss Ratio) - razão de perda 145 Endereçamento • 3 formas • 1) 20 bytes: por país • 2) 20 bytes: por organização • 3) 15 Bytes: (antigo CCITT E.164) número telefonico ISDN 146 Comutação de canal x caminho 147 Conexão x Enlace 148 Tipos de Conexão 149 Interfaces lógicas UNI: User-Network Interface NNI: Network-Network Interface 150 Célula ATM Tamanho: 53 bytes = Cabeçalho (5 ) + Tributário: (48) Cabeçalho: 5 bytes = 40 bits 4bits 8 bits VPI 16 bits 3 bits VCI Identificador de Identificador de Caminho Virtual Canal Virtual 1 8 bits HEC PTI Checksum do Cabeçalho PTI - Tipo de payload (tributário) 000 - Célula do usuário, Tipo 0 100 - manutenção entre switches 001 - Célula do Usuário, Tipo 1 101 - manutenção entre switches origem e destino 010 - Célula do usuário, Tipo 0, Congestionamento 110 - Controle de recursos (ABR) 011 - Célula do Usuário, Tipo 1, Congestionamento 111 - reservado 151 Estabelecimento da Conexão INÍCIO ENCAMINHANDO CHAMADA INÍCIO ENCAMINHANDO CHAMADA INÍCIO CONECTADO CONECTADO CONECTADO CONFIRMADO CONFIRMADO CONFIRMADO 152 Fechamento da Conexão Por qualquer uma das partes FECHA FECHA FECHA FECHADA FECHADA FECHADA 153 Roteamento Rio São Paulo L3 L1 Curitiba POA VPI 1 L2 VPI 1 2 3 Brasília L1 LINHA L3 L3 L2 VPI 1 2 4 Origem Cur Cur POA Cur Entrada Linha L1 L1 L1 L1 VPI 1 2 3 2 Brasilia L2 Rio L3 L2 VPI LINHA 1 L1 L3 VPI LINHA 1 2 3 L2 VPI 4 VPI 2 Destino Rio Rio Brasilia Rio Saída Linha L3 L3 L2 L3 VPI 1 2 4 2 Tipo nova nova nova antiga 1 Curitiba L1 4 nova 3 Brasilia L2 2` nova 154 Principais Interfaces Físicas Nome Taxa (Mbps) MMF SMF Coaxial UTP-3 UTP-5 STP DS-1/T1 1,544 - - sim - - - E1 2,048 - - sim - - - E3 34 - - sim - - - DS-3/T3 45 - - sim - - - “25TP” 25 - - - - sim sim TAXI (FDDI) 100 sim - - - - - SONET/OC3c 155 sim sim - sim sim sim SONET/OC12c 622 sim sim - - - - 155 IP sobre ATM (IPoA) • RFC1577: Classical IP and ARP over ATM • Encapsulamento de Pacote: AAL-5 com PVC ou SVC • Resolução de Endereços: ATM ARP Server (IP/ATM) • LIS (Logical IP Subnet): Grupo de nodes numa rede ATM com a mesma subnet IP. •Não utiliza vantagens da QoS do ATM •Suporta apenas IP 156 LIS - Subnet Lógica 157 IP sobre ATM 158 LANE - LAN Emulation • LES (LANE Server) - Registro e resolução de endereços MAC/ATM, e roteamento de células para o destino • LECS (LANE Configuration Server) - Mantém informações de configuração da rede ATM, fornece o endereço do LES para o LEC; e forma VLANs • BUS (Broadcast and Unknown Server) - Trata pacotes de broadcast/multicast e de destino desconhecido • LEC (LANE Client) - repasse de dados, resolução de endereços e outras funções de controle 159 LANE 160 MPOA - Multi-Protocol Over ATM • Suporte fim-a-fim para interconexão de redes sobre redes ATM • Suporte para as funções de pontes e roteamento em redes ATM • Suporte a redes LAN, com LANE e VLAN • Suporte eficiente a protocolos de rede da camada 3 sobre redes ATM 161 MPLS - Multiprotocol Label Switching • Consiste em rotular o pacote com um identificador de fluxo (label) para que ele possa ser não mais “roteado” mas comutado (Mais rápido). • Garantias de QoS • Engenharia de tráfego 162 IPv6 Protocolo Internet “Next Generation” Prof. Eduardo Parente Ribeiro Introdução IPv4 - uma ótima implementação. A Internet não seria bem sucedida se assim não o fosse. No entanto, esse protocolo não atende às demandas atuais e futuras Faz-se necessário um novo protocolo voltado para qualidade de serviço, facilidades de gerenciamento de endereços, segurança, aproveitamento das novas arquiteturas de hardware, etc. IPv6 vem preencher essa lacuna. Ele não é simplesmente derivado do IPv4, trata-se de uma evolução otimizada; um melhoramento. 164 Por que mudar ? • O endereçamento do IPv4 está se esgotando. • O desempenho dos processadores aumentou em duas ordens de magnitude. Tamanhos típicos de memória aumentaram 32 vezes. Largura de banda do backbone cresceu 800 vezes. • Novos mercados, com previsão de 165 crescimento muito acentuado. Principais Mudanças (RFC 2460) • • • • • Expansão do endereço IP: 32 para 128 bits Simplificação do cabeçalho Suporte para extensões e opções Diferentes tipos de fluxos (tempo real,...) Suporte a autenticação e privacidade 166 Endereço IPv6 (RFC 2373) • 128 bits (16 bytes) • PROBLEMA DE REPRESENTAÇÃO: 135.240.140.104.255.255.182.137.0.0.0.233.233.100.79.255 • 3 notações: completa (hexadecimal) abreviada final em decimal 1080:0:0:0:8:800:200C:417A 1080::200C:417A ::192.168.20.30 167 TIPOS BÁSICOS DE ENDEREÇO NO IPv6: UNICAST Outros: Não especificado - :: Loopback - ::1 NSAP IPX x=0 ; x=1 168 TIPOS BÁSICOS DE ENDEREÇO NO IPv6: ANYCAST O datagrama deve ser roteado para o grupo ao longo do caminho mais curto, e entregue a um membro do grupo 169 TIPOS BÁSICOS DE ENDEREÇO NO IPv6: MULTICAST Uma cópia do datagrama será entregue a cada membro do grupo. 170 Datagrama IPv6 Cabeçalho básico (40 bits) Cabeçalho de Extensão 1 .... Cabeçalho de Extensão N DADOS 171 Cabeçalho IPv6 Traffic class Version: (4bits) – versão do IP Traffic Class: Classe de Tráfico (8bits) Flow label: (20bits) Payload length: (16 bits) – quantidade de bytes do pacote, após o cabeçalho Next header: (8 bits) – tipo de cabeçalho seguinte Hop limit: (8 bits) – limite de passos da rota Source address: (128 bits) – endereço de origem do pacote Destination address: (128 bits) – endereço de destino do pacote 172 Comparação com IPv4 0 4 Versão 8 Hlen 16 Tipo de Serviço Identificação TTL - Time to live. 24 31 Tamanho Total (octetos) Flags Deslocamento do fragmento Protocolo Checksum do cabeçalho Endereço IP ORIGEM Endereço IP DESTINO Opções IP (se alguma) 173 Segurança • Cabeçalhos de extensão • Cabeçalho de autenticação do IPv6 Utilizando MD5 (128 bits “message Digest”) e algorítmos de criptografia (DES,...) • Cabeçalho de encapsulamento de segurança Dados (“Payload”) podem ser criptografados utlizando algum algorítmo (DES,...) 174 Outras Características • • • • • • Permite Jumbogramas (tamanho >64k) Autoconfiguração - DHCP Fragmentação somente pela fonte Eliminação do checksum do cabeçalho novo ICMP substitui ARP Descobrimento da rota - roteadores se anunciam • Suporte a comunicação móvel 175 Transição do IPv4 para IPv6 • Upgrade incremental: conversão poderá ser feita individualmente • Dependência mínima de conversão: único pré requisito é que o a conversão do servidor DNS • Endereçamento simples: um host ou roteador convertidos podem continuar utilizando o endereço existente • Baixo custo inicial: pouca ou nenhuma preparação é necessária para a conversão do IPv4 para o IPv6 • Pilha dupla (dual-stack), tunelamento, tradução do cabeçalho 176 RFC’s • • • • • • • RFC 2460 RFC 2373 RFC 1886 RFC 1897 RFC 1933 RFC 1970 RFC 2185 Internet Protocol, Version 6 (IPv6) Specification IP Version 6 Addressing Architecture DNS Extensions to support IP version 6 IPv6 testing Addressing Allocation Transition Mechanisms for IPv6 Hosts and Routers Neighbour Discovery for IP Version 6 (IPv6) Routing Aspects of IPv6 Transition 177 Link’s IETF RNP RNP NewsGeneration IPNG Especificações IPv6 Implementações IPv6 Transição 6Bone Artigos http://www.ietf.org/ http://www.rnp.br/ipv6 http://www.rnp.br/newsgen/ http://www.ietf.org/html.charters/ipngwg-charter.html http://playground.sun.com/pub/ipng/html/specs/specifications.html http://playground.sun.com/pub/ipng/html/ipng-implementations.html http://www.ietf.org/html.charters/ngtrans-charter.html http://www.6bone.net/ http://www.ee.siue.edu/~mforjan/projects/ee580.html#address http://playground.sun.com/pub/ipng/html/INET-IPng-Paper.html 178 Referências • • • • • • • • • • Douglas Comer, Internetworking with TCP/IP, 3rd ed., Prentice-Hall, 1995. Andrew Tanenbaum, Computer Networks, 3rd ed., Prentice-Hall, 1996. Flávio B. Marasca, TCP/IP Básico, Fundação CPqD. Stephen Thomas, IPNG and the TCP/IP Protocols,John Wiley, 1996. Christian Huitema, IPv6 The Internet Protocol, Prentice Hall, 1996. Adailton J.S. Silva, Palestra “Novas Tecnologias em Redes de Computadores”, RNP, maio/98. Fabricantes de Switch ATM: Cisco, Lucent, 3com, ATT, Siemens. http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/atm.htm Alberti, "Tecnologia ATM", Monografia, Unicamp, 1998. Cereda et Al., ATM-O futuro das Redes, Makron, 1997. 179