A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

2008, Edgard Jamhour IPv6 (Parte 2: Mecanismos de Transição) Edgard Jamhour.

Apresentações semelhantes


Apresentação em tema: "2008, Edgard Jamhour IPv6 (Parte 2: Mecanismos de Transição) Edgard Jamhour."— Transcrição da apresentação:

1

2 2008, Edgard Jamhour IPv6 (Parte 2: Mecanismos de Transição) Edgard Jamhour

3 2008, Edgard Jamhour Problemas de Transição Como evitar reescrever aplicações? Como permitir um cliente IPv4 conectar-se com um servidor IPv6? Como permitir um cliente IPv6 conectar-se com um servidor IPv4? Como permitir um cliente IPv6 alcançar um roteador IPv6 através de uma rede IPv4? Como permitir a um host IPv6 se conectar a outro host IPv6 através da Internet?

4 2008, Edgard Jamhour Por que as aplicações precisam ser reescritas? No sistema operacional, a aplicação escolhe a pilha de protocolos quando abre um socket. O socket IPv6 é definido pela RFC 2133 (April 1997). –Basic Socket Interface Extensions for IPv6 Aplicação TCP Porta IPv4IPv6 socketIPv6 Porta socketIPv4

5 2008, Edgard Jamhour Core Functions Criação do Socket: Socket TCP (IPv4): –s = socket(PF_INET, SOCK_STREAM, 0); Socket UDP (IPv4): –s = socket(PF_INET, SOCK_DGRAM, 0); Socket TCP (IPv6) –s = socket(PF_INET6, SOCK_STREAM, 0); Socket UDP (IPv6) –s = socket(PF_INET6, SOCK_DGRAM, 0);

6 2008, Edgard Jamhour Estrutura de Endereços IPv6 Ao abrir um socket IPv6, o endpoint é especificado pela seguinte estrutura: struct sockaddr_in6 { u_char sin6_len; /* Tamanho da estrutura */ u_char sin6_family; /* AF_INET6 */ u_int16m_t sin6_port; /* Porta TCP ou UDP */ u_int32m_t sin6_flowinfo; /* Flow Label + prioridade */ struct in6_addr sin6_addr; /* Endereço IPv6 */ }; struct in6_addr { u_int8_t s6_addr[16]; /* Endereço IPv6 */ }

7 2008, Edgard Jamhour Tradução de Nomes em Endereços API´s para tradução de nomes: –gethostbyname() Retorna o endereço do host O comportamento da função gethostbyname() pode ser modificado pela variável de ambiente: –RES_OPTIONS=inet6 Esta função retorna endereços IPv4 mapeados para aplicações IPv6: –::FFFF:

8 2008, Edgard Jamhour Dual Stack A forma mais simples de integração entre IPv4 e IPv6 é utilizar S.O. dual stack. Aplicação TCP IPv4IPv6 Enlace Aplicação TCP IPv4 Enlace Aplicação TCP IPv6 Enlace Dual Stack Host

9 2008, Edgard Jamhour BIS – Bump in the Stack Mecanismo interno no host que traduz cabeçalhos IPv4 em IPv6 e vice-versa (RFC 2767). IPv4 Application Placa de Rede TCP Name Resolver Address Mapper Translator IPv6 REDE IPv6 gethostbyname IPv4 HOST

10 2008, Edgard Jamhour Exemplo 1: Cliente IPv4 e Servidor IPv6 Dual Stack FFE::A:B:C:D Aplicação IPv4 Aplicação IPv6 Single Stack 3FFE::1:2:3:4 3FFE:1:2:3:4 www6.pucpr.br DNS Rede IPv6

11 2008, Edgard Jamhour Exemplo: Cliente IPv4 e Servidor IPv6 Aplicação IPv4 Name Resolver Address Mapper 1. www6.pucpr.br? DNS 2. www6.pucpr.br 4. 3FFE::12: FFE::12:34 = Mapping Table 3. 3FFE::12: Endereços Falsos

12 2008, Edgard Jamhour Exemplo: Cliente IPv4 e Servidor IPv6 IPv4 Application Translator Address Mapper 3FFE::12:34 = Mapping Table payload IPv6 3FFE::12:34 3FFE::A:B:C:D3FFE:12:34payload

13 2008, Edgard Jamhour Exemplo 2: Cliente IPv6 e Servidor IPv4 Dual Stack FFE::12:34 Single Stack 3FFE:AB:CD 3FFE::12:34 www4.pucpr.br DNS Rede IPv6 Aplicação IPv6 Aplicação IPv4

14 2008, Edgard Jamhour Exemplo: Cliente IPv6 e Servidor IPv4 IPv4 Application Translator Address Mapper 3FFE::AB:CD = Mapping Table payload IPv FFE::AB:CD3FFE:12:34payload

15 2008, Edgard Jamhour BIA - Bump-In-The-API Similar ao BIS mas traduz API em vez de cabeçalhos IP. Name Resolver Address Mapper REDE IPv6 gethostbyname IPv4 Application Placa de Rede TCP Function Mapper IPv6IPv4 TCP Interface Sockets

16 2008, Edgard Jamhour BIA Aplicação IPv4 Function Mapper Address Mapper 3FFE::1:2:3:4 = Mapping Table IPv6 3FFE::1:2:3:4 3FFE::A:B:C:D3FFE:1:2:3:4payload IPv4 API: sends payload to

17 2008, Edgard Jamhour NAT-PT e NAPT-PT NAT-PT: –Network Address Translation - Protocol Translation –Similar ao NAT NAPT-PT –Network Address and Port Translation - Protocol Translation –Similar ao NAPT NAT-PT é também baseado nos seguintes padrões: –DNS-ALG: DNS Application Level Gateway (DNS Extension) –SIIT: Stateless IP/ICMP Translation Algorithm (SIIT)

18 2008, Edgard Jamhour NAT-PT Similar ao NAT convencional. Trabalha através do mapeamento entre endereços IPv4 e IPv6. IPv4 Host Aplicação IPv4 Aplicação IPv6 IPv6 Host NAT-PT DNS_ALG IPv6 IPv4 Endereço de destino mapeado: ::FFFF: Rede IPv6 Rede IPv4 IPv4 IPv6 Endereço de origem é o endereço do NAT

19 2008, Edgard Jamhour NAT-PT IPv6 Network 3FFE::12: to ffe::12:34 ::ffff: payload payload ffe::12:34 ::ffff: payload payload IPv4 Network ffe::12:34 =

20 2008, Edgard Jamhour Bi-directional NAT-PT IPv4 Host Aplicação IPv4 3. Mapeamento IPv4- IPv6. 1. DNS query Aplicação IPv6 IPv6 Host 2. Trigger 4. Endereço IPv4 mapeado 5. Endereço IPv4 mapeado O NAT-PT bidirecional é implementado utilizando-se um DNS-ALG (definido pela RFC 2694). 6. IPv4 DNS ALG IPv4 7. IPv6

21 2008, Edgard Jamhour NAPT-PT Similar ao NAPT, necessita de apenas um endereço IPv4 público, mas não é bidirecional. IPv4 Host Aplicação IPv6 Aplicação IPv4 Mapeamento IPv6:PortaH - IPv4:PortaN Pacote IPv4 PortaH IPv6 IPv4 PortaN Pacote IPv6 IPv6 Host NAT-PT IPv4 IPv6

22 2008, Edgard Jamhour NAPT-PT IPv6b:1050 IPv6a:1030 IPv4 IPv6a IPv6b IPv6b:1030 IPv4:1040IPv4:1050IPv4:1030 Um endereço IPv4 permite atender até 63K IPv6 hosts. IPv6b:1030 IPv4:1040 IPv6a:1030 IPv4:1030 IPv6c:1050 IPv4:1050

23 2008, Edgard Jamhour NAPT-PT não é Bidirecional Endereço IP Público clientes servidor 3FFE::a Private IP:Port 3FFE::a :1024 3FFE::b :1024 3FFE::c :1025 3FFE::b 3FFE::c request reply Public IP:Port : : : IPv4

24 2008, Edgard Jamhour Proxy SOCKS64 Definido pela RFC 3089 (april 2001) SOCKS64 é similar ao SOCKS. Redes que já utilizam SOCKS podem ser facilmente adaptadas para IPv6. IPv4 Application SOCKS LIB IPv4+6 TCPUDP IPv4 IPv6 Application SOCKS LIB IPv6+4 TCPUDP IPv6 single stack IPv4 hostsingle stack IPv6 host

25 2008, Edgard Jamhour Socks64: Cenário 1 Cliente IPv4 e Servidor IPv6. IPv4 Host Socks64 IPv6 Host PORT Socks LIB Aplicação IPv4 Aplicação IPv6 Socket IPv4 Socket IPv6 IPv4 PacketIPv6 Packet IPv4 IPv6

26 2008, Edgard Jamhour Socks64: Cenário 2 Um cliente IPv6 envia um pacote para um servidor IPv4. IPv4 Host Socks64 IPv6 Host PORT Socks LIB Aplicação IPv4 Aplicação IPv6 Socket IPv4Socket IPv6 IPv4 PacketIPv6 Packet IPv6 IPv4

27 2008, Edgard Jamhour Técnicas de Tunelamento Permite que hosts ou redes IPv6 isoladas se comunique pela Internet. Pacotes IPv6 são encapsulados como dados de pacotes IPv4. SRC IPv4payloadDST IPv4 Tunnel Endpoints payloadSRC IPv6DST IPv6 TIPO

28 2008, Edgard Jamhour ISATAP ISATAP é um mecanismo para atribuição automática de endereço e configuração automática de túneis que permite que hosts IPv6 se comuniquem através da Internet. FE80::5EFE: FE80::5EFE: IPv IPv6

29 2008, Edgard Jamhour 6to4 scheme Tunelamento 6to4 1/65535 AGGR (1/8)

30 2008, Edgard Jamhour Endereços 6to4 Classe de endereços especiais definidas para o tunelamento 6to4 (RFC 2529) – 2002::/ V4ADDR 001 SLA ID Interface ID : 16 Site Address 80 bits Interface externa do roteador que se conecta com a Internet.

31 2008, Edgard Jamhour Example

32 Roteadores 6to4 Relay Roteadores Relay são utilizados para permitir a comunicação entre Hosts 6to4 através de backbones puramente IPv6. Os roteadores Relay são vistos como o verdadeiro gateway default para acessar redes puramente IPv6. Muitas instituições que participam dos projetos de backbones IPv6, como Microsoft e Cisco, oferecem roteadores relay.

33 2008, Edgard Jamhour O endereço Anycast mágico A RFC 3068 definiu que o prefixo /24 é utilizado para anunciar o roteador relay mais próximo de uma rede utilizando BGP. O endereço IPv6 equivalente é 2002:c058:6301::". BACKBONE IPv4 BACKBONE IPv6 roteadores relay roteador 6to4 tunel Rede Privada

34 2008, Edgard Jamhour Exemplo A tabela abaixo ilustra as rotas criadas automaticamente pelo Windows XP para acessar redes IPv6. ::/0 -> 3/2002:c058:6301::1741 pref 1331 ::/0 -> 3/2002:836b:213c::836b:213c pref (rota tornada obsoleta) ::/96 -> 2 pref ::/16 -> 3 pref 1000

35 2008, Edgard Jamhour 6over4 Tunneling (Virtual Ethernet) Permite que hosts IPv6 isolados se comunique com roteadores IPv6 através de uma rede IPv4. –RFC 2529: Transmission of IPv6 over IPv4 Domains without Explicit Tunnels IPv6 Host Host IPv6 IPv4IPv6 IPv4 Net IPv6 Net IPv6 Application 6over 4 Route r IPv6 Application Multicast IPv6

36 2008, Edgard Jamhour Formato dos Pacotes Pacotes IPv6 são encapsulados no interior de pacotes IPv4 utilizando o tipo de protocolo 41. Pelo menos um roteador da rede deve suportar o serviço IPv6over4. SRC IPv4payloadDST IPv4 payloadSRC IPv6DST IPv6 41

37 2008, Edgard Jamhour Mapeamento de Endereços Multicast Os serviços IPv6 são baseados em mensagens multicast: –Neighbor Discovering, Router Discovering and Prefix Discovering IPv6over4 define um mapeamento entre mensagens multicast IPv4 e IPv6: –Pv4 multicast base address: /16 –

38 2008, Edgard Jamhour Mapeamento de Endereços all-nodes multicast address: –FF02::1: all nodes of the link (link local) all-routers multicast address: –FF01::2 all link local routers solicited-node multicast address: Y.Z –FF02::1::FFxx:xxxx –xx:xxxx 24 less significant bits of the host unicast address.

39 2008, Edgard Jamhour Conclusão O IPv6 é necessidade real para permitir a continuidade do crescimento dos serviços Internet devido: –Ao esgotamento de endereços IPv4 públicos –Ao grande número de rotas dos roteadores de borda. A transição para IPv6 ocorrerá gradualmente. –Redes IPv4 e IPv6 podem e irão coexistir. –Atualmente, já é possível utilizar endereços IPv6 e mecanismos de transição.


Carregar ppt "2008, Edgard Jamhour IPv6 (Parte 2: Mecanismos de Transição) Edgard Jamhour."

Apresentações semelhantes


Anúncios Google