Trasparencias del Curso de IPv6
IPv6: Introducci´on y configuraci´on en GNU/Linux
GrupodeUsuariosdeLinux
Univ.CarlosIIIdeMadrid
[email protected]
2002-11-28
Contenidodelacharla
1
Contenido de la charla
Introducci´on: ¿Qu´e es IPv6? o mejor, ¿Por qu ´e IPv6?
Visi´on general del protocolo IPv6
IPv6 en tu GNU/Linux
Todo lo que demos . . .
c
Carlos Jes´us Bernardos Cano
Curso de IPv6
¿Qu´eesIPv6?
2
¿Qu´e es IPv6?
Nueva versi´on del protocolo de Internet (IP)
En 1990 surge un grupo en el IETF para dise ˜nar un nuevo IP que
combata los graves problemas que presenta IPv4:
Escasez de direcciones
Tama˜no de las tablas de rutas de los routers
Primera especificaci´on en 1995, estandarizado a finales 1998 en
la RFC2460
Soluciona algunos de los problemas que presenta IPv4 hoy...
y se dise˜na para responder mejor a los que puedan surgir ma ˜nana
c
Carlos Jes´us Bernardos Cano
Curso de IPv6
Or´ıgenes:¿Porqu´eIPv6?
3
Or´ıgenes: ¿Por qu´e IPv6?
Motivaciones pol´ıticas y tecnol ´ogicas
Principal raz ´on: NO HAY DIRECCIONES
Figura 1: Evoluci ´on n´umero de usuarios (Fuente: Ericsson)
Adem´as, se aprovecha para hacer una limpieza general del pro-
tocolo, dise ˜n´andolo desde el principio
c
Carlos Jes´us Bernardos Cano
Curso de IPv6
Caracter´ısticasIPv6
4
Caracter´ısticas IPv6
IPv4 (32 bits): no hay direcciones
IPv6 (128 bits)
Necesario cambiar el protocolo, aprovechamos para mejorarlo:
Encaminamiento: Direccionamiento jer ´arquico
Prestaciones: Cabecera simple alineada a 64 bits
Versatilidad: Formato flexible de extensiones
Multimedia: Identificaci´on de flujos
Multicast: Obligatorio, alcance por dominios
Seguridad: Soporte autenticaci ´on/cifrado
Autoconfiguraci ´on: “Plug-and-Ping”
E2E: Recuperaci´on del modelo end-to-end
c
Carlos Jes´us Bernardos Cano
Curso de IPv6
PaqueteIPv6(I):Cabecerabase
5
Paquete IPv6 (I): Cabecera base
Versi´on
Tipo de tr´afico
Etiqueta de flujo
Longitud del payload
Pr ´oxima cabecera
L´ımite de saltos
Direcci´on fuente
Direcci´on destino
Figura 2: Formato de la cabecera IPv6.
c
Carlos Jes´us Bernardos Cano
Curso de IPv6
PaqueteIPv6(yII):Cabecerasdeextensi´on
6
Paquete IPv6 (y II): Cabeceras de extensi´on
Se pueden a ˜nadir cabeceras de extensi ´on a la cabecera base de
IPv6, dotando al protocolo de una mayor funcionalidad y extensi-
bilidad
Cab. base
Cab. extensi ´on 1
. . .
Cab. extensi ´on N
Datos
Figura 3: Formato paquete IPv6
c
Carlos Jes´us Bernardos Cano
Curso de IPv6
DireccionesIPv6(I)
7
Direcciones IPv6 (I)
3 tipos de direcciones, en funci ´on del tipo de destino:
Unicast. Un identificador por interfaz. Se pueden basar en ids.
IEEE EUI-64 (basado en el id. nivel de enlace).
Multicast. Un identificador para un conjunto de interfaces. Se
entrega a todos ellos. FF00::/8
Anycast. Un identificador para un conjunto de interfaces. El
paquete se entrega a uno, el m ´as cercano
3 tipos de direcciones, en funci ´on del alcance:
Link-local. S´olo tienen sentido en el ´ambito del enlace. FE80::/10
Site-local. S´olo tienen sentido en el ´ambito de una organiza-
ci´on. FEC0::/10
Global. Tienen ´ambito global
c
Carlos Jes´us Bernardos Cano
Curso de IPv6
DireccionesIPv6(II)
8
Direcciones IPv6 (II)
En IPv6 es habitual tener m´ultiples direcciones por interfaz. Como
m´ınimo debe tener una direcci ´on link-local
Series de 1 o m´as grupos de 16 ceros consecutivos se pueden
sustituir (s´olo una vez por direcci´on) por ::
Ejemplos de direcciones:
Direcci´on de loopback: ::1/128 (0:0:0:0:0:0:0:1)
Direcci´on no definida: ::/128 (0:0:0:0:0:0:0:0)
Direcci´on IPv6 compatible IPv4: ::138.4.1.1
Direcci´on multicast (todos los nodos, ´ambito de enlace): FF02::1
Direcci´on global (www.ipv6.elmundo.es): 2001:450:9:10::71
Direccionamiento IPv6 jer ´arquico, enrutamiento basado en longest-
match prefix
c
Carlos Jes´us Bernardos Cano
Curso de IPv6
DireccionesIPv6(yIII)
9
Direcciones IPv6 (y III)
Autoconfiguraci ´on de direcciones IPv6. Dos m ´etodos posibles:
Configuraci´on sin estado (Stateless configuration):
Autoasignaci ´on de direcciones link-local. Basado en la nor-
ma EUI64
Basado en el anuncio de prefijos (router advertisements)
Configuraci´on con estado (Stateful configuration)
DHCPv6
Es necesario introducir cambios en el DNS (a´un m ´as necesario
con direcciones de este tama ˜no)
Registros AAAA
Con 128 bits:
direcciones.
Caso peor: 1500 direcciones IPv6
c
Carlos Jes´us Bernardos Cano
Curso de IPv6
Mecanismosdetransici´onIPv4-IPv6(I)
10
Mecanismos de transici´on IPv4-IPv6 (I)
Posibilitar la transici´on es fundamental
Stacks duales IPv6/IPv4
Imprescindible para implementar otros mecanismos
Mecanismos de traducci ´on
Permiten interoperabilidad s ´olo-IPv6 con s ´olo-IPv4
Muchos mecanismos propuestos: NAT-PT, TRT, DSTM, etc.
Presentan problemas
T´uneles, encapsulaci ´on IPv6 sobre IPv4
c
Carlos Jes´us Bernardos Cano
Curso de IPv6
Mecanismosdetransici´onIPv4-IPv6(II)
11
Mecanismos de transici´on IPv4-IPv6 (II)
Cab. IPv4
Paquete IPv6
Figura 4: T´unel IPv6 sobre IPv4
Varios tipos de t´uneles:
Configurados (host-host, router-router, host-router). Permiten
atravesar nubes IPv4 desde entidades IPv6/IPv4.
Autom´aticos. Direcci´on destino compatible IPv4
6to4. Permite tener direcciones IPv6 globales en redes s ´olo-
IPv6 que tienen un router frontera dual-stack encargado de
dar salida al exterior.
6over4
c
Carlos Jes´us Bernardos Cano
Curso de IPv6
IPv6entuGNU/Linux
12
IPv6 en tu GNU/Linux
1. C´omo tener soporte IPv6 en tu GNU/Linux:
Soporte en el kernel
Herramientas de configuraci ´on b´asicas
2. C´omo tener conectividad IPv6 en tu casa
3. Aplicaciones IPv6 hoy
4. Y en el futuro . . . , ¿qu ´e?
c
Carlos Jes´us Bernardos Cano
Curso de IPv6
C´omotenersoporteIPv6enGNU/Linux(I)
13
C´omo tener soporte IPv6 en GNU/Linux (I)
Debemos a˜nadir soporte en el kernel:
CONFIG_IPV6:
This is experimental support for the next version of the Internet
Protocol: IP version 6 (also called IPng "IP next generation").
Features of this new protocol include: expanded address space,
authentication and privacy, and seamless interoperability with the
current version of IP (IP version 4). For general information about
IPv6, see <http://playground.sun.com/pub/ipng/html/ipng-main.html>;
for specific information about IPv6 under Linux read the HOWTO at
<http://www.bieringer.de/linux/IPv6/> and the file net/ipv6/README
in the kernel source.
If you want to use IPv6, please upgrade to the newest net-tools as
given in Documentation/Changes. You will still be able to do
regular IPv4 networking as well.
This protocol support is also available as a module ( = code which
can be inserted in and removed from the running kernel whenever you
want). The module will be called ipv6.o. If you want to compile it
as a module, say M here and read Documentation/modules.txt.
It is safe to say N here for now.
The IPv6 protocol (EXPERIMENTAL) (CONFIG_IPV6) [M/n/y/?]
c
Carlos Jes´us Bernardos Cano
Curso de IPv6
C´omotenersoporteIPv6enGNU/Linux(II)
14
C´omo tener soporte IPv6 en GNU/Linux (II)
Paquetes (debian) interesantes para IPv6:
net-tools: Herramientas importantes para controlar las funcio-
nes relacionadas con la red del kernel (ifconfig, netstat, etc)
iproute: Herramientas para configurar el comportamiento de la
red. El comando ip es extremadamente ´util.
iputils-ping: Incluye el indispensable ping6
iputils-tracepath: Incluye traceroute6
6in4tunnel: Script para hacer t´uneles IPv6-en-IPv4
freenet6: Proporciona un TSPC (Tunnel Server Protocol Client)
radvd: Router ADVertisement Daemon.
netcat6: netcat con soporte IPv6
Aplicaciones IPv6: mozilla, galeon, xchat, quake2, ssh, etc.
c
Carlos Jes´us Bernardos Cano
Curso de IPv6
C´omotenersoporteIPv6enGNU/Linux(III)
15
C´omo tener soporte IPv6 en GNU/Linux (III)
GNU/Linux con soporte IPv6:
cjbc@bacterio:˜$ /sbin/ifconfig
eth0
Link encap:Ethernet HWaddr 00:90:96:25:FC:24
inet addr:192.168.71.3 Bcast:192.168.71.255 Mask:255.255.255.0
inet6 addr: fe80::290:96ff:fe25:fc24/10 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:508 dropped:0 overruns:0 carrier:1016
collisions:0 txqueuelen:100
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:11 Base address:0x1c00
lo
Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:192 errors:0 dropped:0 overruns:0 frame:0
TX packets:192 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:18588 (18.1 KiB) TX bytes:18588 (18.1 KiB)
c
Carlos Jes´us Bernardos Cano
Curso de IPv6
C´omotenersoporteIPv6enGNU/Linux(IV)
16
C´omo tener soporte IPv6 en GNU/Linux (IV)
Podemos jugar con los comandos cl ´asicos de IPv4 para configu-
rar IPv6:
cjbc@bacterio:˜$ sudo /sbin/ifconfig eth0 inet6 add fec0::1:290:96ff:fe25:fc24/64
cjbc@bacterio:˜$ /sbin/ifconfig eth0
eth0
Link encap:Ethernet HWaddr 00:90:96:25:FC:24
inet addr:192.168.71.3 Bcast:192.168.71.255 Mask:255.255.255.0
inet6 addr: fec0::1:290:96ff:fe25:fc24/64 Scope:Site
inet6 addr: fe80::290:96ff:fe25:fc24/10 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:551 dropped:0 overruns:0 carrier:1102
collisions:0 txqueuelen:100
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:11 Base address:0x1c00
El comando ip (ip -f inet6) es muy ´util a la hora de monitorizar y
configurar IPv6 (vecinos, rutas, direcciones, t´uneles, etc.)
cjbc@bacterio:˜$ ip -f inet6 addr show eth0
3: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
inet6 fec0::1:290:96ff:fe25:fc24/64 scope site
inet6 fe80::290:96ff:fe25:fc24/10 scope link
c
Carlos Jes´us Bernardos Cano
Curso de IPv
Comentarios de: IPv6: Introducción y configuración en GNU/Linux (0)
No hay comentarios