Baixe o app para aproveitar ainda mais
Prévia do material em texto
Aulas do livro disponíveis em: http://www-net.cs.umass.edu/kurose-ross-ppt-7e/ Camada de rede: Plano de dados Camada de rede: plano de dados, plano de controle Plano de dados § Local, função por roteador § Determina como o datagrama que chega na porta de entrada do roteador é encaminhado para a porta de saída do roteador § Função de encaminhamento Plano de controle § Lógica de rede § Determina como o datagrama é encaminhado entre os roteadores ao longo do caminho entre as extremidade finais do host de origem para o host de destino § Duas abordagens do plano de controle: • Algoritmos de roteamento tradicionais: implementado em roteadores • Rede definida por software (SDN): implementada em servidores (remotos) 1 23 0111 Valores no cabeçalho de pacote de chegada Endereços IP : como obter um? Como um host obtém um endereço IP? • Codificado pelo administrador do sistema em um arquivo o Windows: control-panel->network->configuration->tcp/ip->properties o UNIX: /etc/rc.config • DHCP: Dynamic Host Configuration Protocol: endereço obtido dinamicamento de um servidor o “plug-and-play” DHCP: Dynamic Host Configuration Protocol (Protocolo de Configuração de Host Dinâmico) Objetivo: permitir que o host obtenha dinamicamente o endereço IP do servidor de rede quando se une à rede o Pode renovar sua locação no endereço em uso o Permite a reutilização de endereços (apenas mantenha o endereço enquanto está conectado/ "ligado") o Suporte para usuários móveis que desejam aderir à rede • DHCP overview: o host broadcasts “DHCP discover” msg [optional] o DHCP server responds with “DHCP offer” msg [optional] o host requests IP address: “DHCP request” msg o DHCP server sends address: “DHCP ack” msg 223.1.1.0/24 223.1.2.0/24 223.1.3.0/24 223.1.1.1 223.1.1.3 223.1.1.4 223.1.2.9 223.1.3.2223.1.3.1 223.1.1.2 223.1.3.27 223.1.2.2 223.1.2.1 DHCP server arriving DHCP client needs address in this network Cenário DHCP cliente-servidor DHCP server: 223.1.2.5 arriving client DHCP discover src : 0.0.0.0, 68 dest.: 255.255.255.255,67 yiaddr: 0.0.0.0 transaction ID: 654 DHCP offer src: 223.1.2.5, 67 dest: 255.255.255.255, 68 yiaddrr: 223.1.2.4 transaction ID: 654 lifetime: 3600 secs DHCP request src: 0.0.0.0, 68 dest:: 255.255.255.255, 67 yiaddrr: 223.1.2.4 transaction ID: 655 lifetime: 3600 secs DHCP ACK src: 223.1.2.5, 67 dest: 255.255.255.255, 68 yiaddrr: 223.1.2.4 transaction ID: 655 lifetime: 3600 secs Cenário DHCP cliente-servidor Broadcast: is there a DHCP server out there? Broadcast: I’m a DHCP server! Here’s an IP address you can use Broadcast: OK. I’ll take that IP address! Broadcast: OK. You’ve got that IP address! DHCP: mais que endereços IP DHCP pode retornar mais do que apenas alocado endereço IP na sub-rede: • Endereço do roteador (first-hop) para o cliente • Nome e endereço IP do servidor DNS sever • Máscara de rede (indicando a parte de endereço de rede versus ednereço de máquina) § connecting laptop needs its IP address, addr of first-hop router, addr of DNS server: use DHCP router with DHCP server built into router § DHCP request encapsulated in UDP, encapsulated in IP, encapsulated in 802.1 Ethernet § Ethernet frame broadcast (dest: FFFFFFFFFFFF) on LAN, received at router running DHCP server § Ethernet demuxed to IP demuxed, UDP demuxed to DHCP 168.1.1.1 DHCP UDP IP Eth Phy DHCP DHCP DHCP DHCP DHCP DHCP UDP IP Eth Phy DHCP DHCP DHCP DHCPDHCP DHCP: example • DCP server formulates DHCP ACK containing client’s IP address, IP address of first-hop router for client, name & IP address of DNS server § encapsulation of DHCP server, frame forwarded to client, demuxing up to DHCP at client DHCP: example router with DHCP server built into router DHCP DHCP DHCP DHCP DHCP UDP IP Eth Phy DHCP DHCP UDP IP Eth Phy DHCP DHCP DHCP DHCP § client now knows its IP address, name and IP address of DSN server, IP address of its first-hop router DHCP: Wireshark output (home LAN) Message type: Boot Reply (2) Hardware type: Ethernet Hardware address length: 6 Hops: 0 Transaction ID: 0x6b3a11b7 Seconds elapsed: 0 Bootp flags: 0x0000 (Unicast) Client IP address: 192.168.1.101 (192.168.1.101) Your (client) IP address: 0.0.0.0 (0.0.0.0) Next server IP address: 192.168.1.1 (192.168.1.1) Relay agent IP address: 0.0.0.0 (0.0.0.0) Client MAC address: Wistron_23:68:8a (00:16:d3:23:68:8a) Server host name not given Boot file name not given Magic cookie: (OK) Option: (t=53,l=1) DHCP Message Type = DHCP ACK Option: (t=54,l=4) Server Identifier = 192.168.1.1 Option: (t=1,l=4) Subnet Mask = 255.255.255.0 Option: (t=3,l=4) Router = 192.168.1.1 Option: (6) Domain Name Server Length: 12; Value: 445747E2445749F244574092; IP Address: 68.87.71.226; IP Address: 68.87.73.242; IP Address: 68.87.64.146 Option: (t=15,l=20) Domain Name = "hsd1.ma.comcast.net." reply Message type: Boot Request (1) Hardware type: Ethernet Hardware address length: 6 Hops: 0 Transaction ID: 0x6b3a11b7 Seconds elapsed: 0 Bootp flags: 0x0000 (Unicast) Client IP address: 0.0.0.0 (0.0.0.0) Your (client) IP address: 0.0.0.0 (0.0.0.0) Next server IP address: 0.0.0.0 (0.0.0.0) Relay agent IP address: 0.0.0.0 (0.0.0.0) Client MAC address: Wistron_23:68:8a (00:16:d3:23:68:8a) Server host name not given Boot file name not given Magic cookie: (OK) Option: (t=53,l=1) DHCP Message Type = DHCP Request Option: (61) Client identifier Length: 7; Value: 010016D323688A; Hardware type: Ethernet Client MAC address: Wistron_23:68:8a (00:16:d3:23:68:8a) Option: (t=50,l=4) Requested IP Address = 192.168.1.101 Option: (t=12,l=5) Host Name = "nomad" Option: (55) Parameter Request List Length: 11; Value: 010F03062C2E2F1F21F92B 1 = Subnet Mask; 15 = Domain Name 3 = Router; 6 = Domain Name Server 44 = NetBIOS over TCP/IP Name Server …… request Endereços IP: como obter um? P: Como a rede obtém parte da sub-rede do endereço IP? A: Ela obtém a parte alocada do espaço de endereço do seu provedor de serviço (ISP). ISP's block 11001000 00010111 00010000 00000000 200.23.16.0/20 Organization 0 11001000 00010111 00010000 00000000 200.23.16.0/23 Organization 1 11001000 00010111 00010010 00000000 200.23.18.0/23 Organization 2 11001000 00010111 00010100 00000000 200.23.20.0/23 ... ….. …. …. Organization 7 11001000 00010111 00011110 00000000 200.23.30.0/23 “Send me anything with addresses beginning 200.23.16.0/20” 200.23.16.0/23 200.23.18.0/23 200.23.30.0/23 Fly-By-Night-ISP Organization 0 Organization 7 Internet Organization 1 ISPs-R-Us “Send me anything with addresses beginning 199.31.0.0/16” 200.23.20.0/23 Organization 2 ... ... Endereçamento hierárquico permite propagação eficiente de informação de roteamento: Endereçamento hierárquico: agregação de rotas ISPs-R-Us tem uma rota mais específica para a Organização 1 “Send me anything with addresses beginning 200.23.16.0/20” 200.23.16.0/23 200.23.18.0/23 200.23.30.0/23 Fly-By-Night-ISP Organization 0 Organization 7 Internet Organization 1 ISPs-R-Us “Send me anything with addresses beginning 199.31.0.0/16 or 200.23.18.0/23” 200.23.20.0/23 Organization 2 ... ... Endereçamento hierárquico: rotas mais específicas Endereçamento IP Como é que um ISP obtém bloco de endereços? ICANN: Internet Corporation for Assigned Names and Numbers http://www.icann.org/ • Aloca endereços • Gerencia DNS • Atribui nomes de domínio, resolve disputas http://www.icann.org/ Endereços Privados • Os intervalos de endereços privados são: o de 10.0.0.0 a 10.255.255.255 (10.0.0.0 /8) o de 172.16.0.0 a 172.31.255.255 (172.16.0.0 /12) o de 192.168.0.0 a 192.168.255.255 (192.168.0.0 /16) • Endereços privados não permitem acesso direto à Internet. • Esse acesso é possível atraés de mecanismos de NAT (Network AddressTranslation) que traduzem o nosso endereço privado num endereço público. Tarefa de casa • Assistir ao vídeo: https://youtu.be/63M61wttuMk Os endereços IP não são todos iguais - parte 2 • Se você ainda não assistiu ao vídeo anterior veja em: https://youtu.be/jnuHODaLcO8 https://youtu.be/63M61wttuMk https://youtu.be/jnuHODaLcO8 10.0.0.1 10.0.0.2 10.0.0.3 10.0.0.4 138.76.29.7 local network (e.g., home network) 10.0.0/24 rest of Internet datagrams with source or destination in this network have 10.0.0/24 address for source, destination (as usual) all datagrams leaving local network have same single source NAT IP address: 138.76.29.7,different source port numbers NAT: Tradução do Endereço da Rede motivação: A rede local usa apenas um endereço IP no que diz respeito ao mundo exterior: § Gama de endereços não necessários do ISP: apenas um endereço IP para todos os dispositivos § Pode mudar endereços de dispositivos na rede local sem notificar o mundo exterior § Pode alterar ISP sem alterar endereços de dispositivos na rede local § Dispositivos dentro de rede local não explicitamente endereçável, visível por mundo exterior (uma segurança mais) NAT: Tradução do Endereço da Rede implementação: roteador NAT deve: § Datagramas de saída: substitua (endereço IP de origem, porta #) de cada datagrama de saída para (NAT endereço IP, nova porta #) . . . Clientes / servidores remotos responderão usando (NAT IP address, new port #) como endereço de destino § Lembrar (na tabela de tradução NAT) cada (endereço IP de origem, porta #) para (NAT endereço IP, nova porta #) par de tradução § Datagramas de entrada: substituir (NAT endereço IP, nova porta #) em campos de destino de cada datagrama de entrada com correspondente (endereço IP de origem, porta #) armazenados na tabela NAT NAT: Tradução do Endereço da Rede 10.0.0.1 10.0.0.2 10.0.0.3 S: 10.0.0.1, 3345 D: 128.119.40.186, 80 1 10.0.0.4 138.76.29.7 1: host 10.0.0.1 sends datagram to 128.119.40.186, 80 NAT translation table WAN side addr LAN side addr 138.76.29.7, 5001 10.0.0.1, 3345 …… …… S: 128.119.40.186, 80 D: 10.0.0.1, 3345 4 S: 138.76.29.7, 5001 D: 128.119.40.186, 802 2: NAT router changes datagram source addr from 10.0.0.1, 3345 to 138.76.29.7, 5001, updates table S: 128.119.40.186, 80 D: 138.76.29.7, 5001 3 3: reply arrives dest. address: 138.76.29.7, 5001 4: NAT router changes datagram dest addr from 138.76.29.7, 5001 to 10.0.0.1, 3345 * Check out the online interactive exercises for more examples: http://gaia.cs.umass.edu/kurose_ross/interactive/ NAT: Tradução do Endereço da Rede • Campo de número de porta de 16 bits: o 60.000 conexões simultâneas com um único endereço do lado da rede local! • NAT é controverso: o Roteadores só devem processar até a camada 3 o A falta de endereços deve ser resolvida pelo IPv6 o Viola o argumento de ponta a ponta • A possibilidade de NAT deve ser levada em conta pelos designers de aplicações, por exemplo, aplicações P2P o Travessia NAT : e se o cliente quiser se conectar ao servidor por trás NAT? NAT: Tradução do Endereço da Rede IPv6: motivação • Motivação inicial: espaço de endereços de 32 bits seria em breve completamente alocado. • Motivação adicional: o O formato de cabeçalho ajuda a acelerar o processamento / encaminhamento o Alterações de cabeçalho para facilitar QoS Formato do datagrama IPv6 : o Cabeçalho de 40 bytes de comprimento fixo o Nenhuma fragmentação permitida Formato do datragrama IPv6 priority: Identificar a prioridade entre datagramas no fluxo flow Label: Identificar datagramas no mesmo "fluxo". (Conceito de "fluxo" não bem definido). next header: Identificar o protocolo de camada superior para dados data destination address (128 bits) source address (128 bits) payload len next hdr hop limit flow labelpriver 32 bits @IPv6 • A representação dos endereços IPv6, divide o endereço em oito grupos de 16 bits, separando-os por “:”, escritos com dígitos hexadecimais (0-F). • Por exemplo: 2001:0DB8:AD1F:25E2:CADE:CAFE:F0CA:84C1 • Na representação de um endereço IPv6, é permitido utilizar tanto caracteres maiúsculos quanto minúsculos. Mais sobre IPv6 • Assista ao vídeo: https://youtu.be/_JbLr_C-HLk O que é o IPv6, em português claro • Em seguida consulte o material sobre Ipv6 em: http://ipv6.br/post/enderecamento/ https://youtu.be/_JbLr_C-HLk Outras alterações do IPv4 • checksum: Removido completamente para reduzir o tempo de processamento em cada salto (hop) • options: Permitido, mas fora do cabeçalho, indicado pelo campo "Próximo cabeçalho" • ICMPv6: Nova versão do ICMP o Tipos de mensagens adicionais, ex. "Pacote Muito Grande" o Funções de gerenciamento de grupo multicast Transição do IPv4 para IPV6 • Nem todos os roteadores podem ser atualizados simultaneamente o Sem “flag days” o Como a rede operará com roteadores IPv4 e IPv6 mistos? • tunelamento: datagrama IPv6 transportado como dado no datagrama IPv4 entre roteadores IPv4 IPv4 source, dest addr IPv4 header fields IPv4 datagram IPv6 datagram IPv4 payload UDP/TCP payload IPv6 source dest addr IPv6 header fields Tunelamento IPv4 IPv4 A B IPv6 IPv6 E IPv6 IPv6 FC D E IPv6 IPv6 FA B IPv6 IPv6 Tunel IPv4 Conectando roteadores IPv6 Visão lógica : Visão física : flow: X src: A dest: F data A-to-B: IPv6 Flow: X Src: A Dest: F data src:B dest: E B-to-C: IPv6 inside IPv4 E-to-F: IPv6 flow: X src: A dest: F data B-to-C: IPv6 inside IPv4 Flow: X Src: A Dest: F data src:B dest: E Visão física : A B IPv6 IPv6 E IPv6 IPv6 FC D Visão lógica : Tunel IPv4 Conectando roteadores IPv6 E IPv6 IPv6 FA B IPv6 IPv6 Tunelamento IPv4 IPv4 IPv6: utilização § Google: 8% dos clientes acessam serviços via IPv6 § NIST: 1/3 de todos domínios do governo dos EUA são IPv6 § Tempo muito longo para desenvolvimento, uso • Mais de 20 anos! • Pensem nas mudanças nível da aplicação nos últimos 20 anos: www, Facebook, streaming media, Skype, … • Pq? Outros videos interessantes em: https://sites.google.com/view/anelise-munaretto/teaching/redes-de-computadores-csr30
Compartilhar