Los caracteres después del% (que en su ejemplo son números) son el Identificador de interfaz. Esos caracteres se utilizan para identificar una "interfaz de red", que la gente suele llamar una "tarjeta de red". Por ejemplo, puede ayudar a determinar si un paquete usará una tarjeta Ethernet con cable o un adaptador inalámbrico de Wi-Fi.
Supongo que estás usando Microsoft Windows. Utiliza números como identificadores de interfaz.
Como punto de comparación, los sistemas tipo Unix pueden usar letras después del signo%. p.ej:fe80::71a3:2b00:ddd3:753f%eth0
En ese caso, el identificador de interfaz eth0
, coincide con el nombre de la tarjeta de red.
En Microsoft Windows, puede obtener una lista de los identificadores de interfaz (numéricos) utilizando una de las líneas de comando que verifican la tabla de enrutamiento. Prefiero " netstat -nr
" ya que eso también funciona en otros sistemas operativos, pero Microsoft Windows también es compatible con " route print
". El resultado resultante, que se informa, probablemente se extenderá por una pantalla larga, así que prepárate para desplazarte hacia atrás, a menos que canalices más.
por ejemplo, en mi sistema:
===========================================================================
Interface List
14...5c f9 dd 6d 98 b8 ......Realtek PCIe GBE Family Controller
12...e0 06 e6 7e fc 4e ......Bluetooth Device (Personal Area Network)
1...........................Software Loopback Interface 1
13...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter
15...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #2
===========================================================================
En este caso, una dirección como fe80 :: 71a3: 2b00: ddd3: 753f% 14 se referiría a mi controlador de familia Realtek PCIe GBE. El "GBE" se refiere a Gigabit Ethernet.
Ahora, esta es la parte difícil: si desea hacer ping a una dirección remota, es posible que necesite usar la dirección IPv6 del sistema remoto, pero el identificador de interfaz del sistema local. Entonces, por ejemplo, si estoy usando la computadora A y tengo una dirección IPv6 local de fe80 :: 1 conectada a la interfaz número 14, y quiero hacer ping a la computadora B y tiene una dirección IPv6 local de fe80 :: 2 conectada a su interfaz número 16, entonces esto es lo que usaría:
ping fe80::2%14
Entonces, el ping
comando enviará el paquete ICMPv6 a la dirección IPv6 remota (fd80 :: 2), que pertenece a la computadora remota, y utilizará la interfaz con el Identificador 14 para hacerlo. El Identificador de interfaz 14 es un número del sistema que estoy usando, no el sistema remoto.
Ahora, veamos por qué esto podría ser necesario.
Si quiero hacer ping a la dirección IPv6 de Google (que es 2607: f8b0: 400a: 802 :: 200e en el momento en que escribí esta respuesta), la tabla de enrutamiento verificará qué tarjeta de red maneja las direcciones que comienzan con 2607: f8b0: 400a: 802. La tabla de enrutamiento indicará que ninguna de mis tarjetas de red está conectada directamente a una red usando direcciones que comienzan con 2607: f8b0: 400a: 802, por lo que mi computadora terminará usando una dirección de "puerta de enlace". Si me estaba conectando a otra red que es parte de la organización para la que estoy trabajando, podría tener una dirección especial de "puerta de enlace" que enruta el tráfico a una red privada. En este caso, no tengo una puerta de enlace más específica, por lo que utilizaré la "puerta de enlace predeterminada" IPv6. Así es como IPv6 funciona la mayor parte del tiempo, excepto para las direcciones locales de enlace. Así es como IPv4 funcionó la mayor parte del tiempo.
De acuerdo con RFC 4291 sección 2.8 , cada computadora que use IPv6 debe asignar una dirección de enlace local a cada interfaz de red. La sección 2.5.6 del RFC 4291 muestra los bits con los que deben comenzar las direcciones locales de enlace, lo que hace que las direcciones locales de enlace comiencen con "fe80: 0000: 0000: 0000:" (aunque muchos de esos ceros se colapsan en dos puntos) ) RFC 4291, sección 2.4, también describe el hecho de que esas direcciones comienzan con "fe80:" .
Si intenta hacer ping a un sistema remoto (p. Ej., "2607: f8b0: 400a: 802"), el proceso general generalmente es descubrir una red o subred de la que forma parte la dirección, lo que se hace mirando los bits Al inicio de la dirección. Luego, esos bits se utilizan para determinar cómo enrutar el tráfico.
Sin embargo, ese proceso no funciona para una dirección local de enlace IPv6, porque cada interfaz de red individual (operativa, activa) tiene una dirección local de enlace que comienza con "fe80:" en una subred usando el prefijo / tamaño de subred de "/ 64 ". Si está en una computadora portátil, es probable que encuentre que tanto su tarjeta Ethernet como su adaptador Wi-Fi tengan esa dirección IPv6.
Ahora, cuando envía su ping a fe80 :: 2, desea que su computadora envíe ese paquete a la tarjeta de red correcta. Si tiene una impresora que está conectada a una red cableada, no desea enviar el tráfico a su tarjeta Wi-Fi, utilizando una ruta / ruta de red que no provoque que el tráfico llegue a la impresora. Y si está intentando comunicarse con un dispositivo inalámbrico utilizando su tarjeta Wi-Fi, no quiere que su tráfico salga de la tarjeta Ethernet.
La solución es que especifique qué dispositivo de red desea que use el tráfico. Entonces, ese es el propósito del identificador de red.