1 00:00:00,000 --> 00:00:07,000 Buenas chicos, ¿qué tal? Bueno, perdonad un poco porque estoy con muchos mocos en la garganta. 2 00:00:07,000 --> 00:00:12,000 Os voy a contar en este vídeo un poco cómo funciona el protocolo ARP. 3 00:00:12,000 --> 00:00:19,000 Si veis las iniciales, ARP quiere decir Address Resolution Protocol, es decir, protocolo de resolución de direcciones. 4 00:00:19,000 --> 00:00:25,000 ¿Pero qué direcciones? El protocolo ARP es de resolver las direcciones MAC. 5 00:00:25,000 --> 00:00:32,000 Vamos a conocer en resumen la dirección MAC destino de una información. 6 00:00:32,000 --> 00:00:40,000 Como os he repetido tropecientos millones de veces, la MAC destino en una comunicación siempre es el siguiente salto. 7 00:00:40,000 --> 00:00:46,000 Es decir, que si yo me comunico con alguien dentro de mi red, el siguiente salto va a ser el destino en sí. 8 00:00:46,000 --> 00:00:56,000 Pero si me comunico con alguien fuera de mi red o a internet, siempre la MAC destino va a ser el siguiente salto, que es la puerta de enlace. 9 00:00:56,000 --> 00:01:02,000 Es decir, la IP del router hacia mi red. 10 00:01:02,000 --> 00:01:06,000 Esto es bastante sencillo. 11 00:01:06,000 --> 00:01:12,000 Si vosotros queréis comunicar a nivel de red con una máquina, lo que sabéis es su IP. 12 00:01:12,000 --> 00:01:16,000 Hacéis un ping a esa IP y ya directamente tenéis la comunicación. 13 00:01:16,000 --> 00:01:20,000 Pero antes de hacer eso, tiene que saber la MAC destino. 14 00:01:20,000 --> 00:01:26,000 Y si no la sabe, la tiene que averiguar antes de realizar el ping o antes de conectarnos a una página web. 15 00:01:26,000 --> 00:01:32,000 Lo mismo sucede cuando nos comunicamos por un nombre de dominio. 16 00:01:32,000 --> 00:01:39,000 Antes de realizar todo eso, realmente primero hablamos con nuestro servidor DNS y nos dice, 17 00:01:39,000 --> 00:01:42,000 Oye, este nombre de dominio es esta IP. 18 00:01:42,000 --> 00:01:46,000 Y a partir de ahí, tenemos que saber cuál es la MAC destino. 19 00:01:46,000 --> 00:01:49,000 Ahora lo voy a comentar. 20 00:01:49,000 --> 00:01:51,000 Si os fijáis, aquí he hecho un ejemplo. 21 00:01:51,000 --> 00:01:58,000 Fijaros que es una red local donde tenemos un PC que está Asier, en un PC que está Lidia, otro Chris, Marcos y un router, 22 00:01:58,000 --> 00:02:02,000 que es el que nos permite la salida hacia una nube que es internet. 23 00:02:02,000 --> 00:02:09,000 Si esto fuera un HUB, ya sabéis, si algo de Asier que Asier envía a Lidia le llegaría a toda la red. 24 00:02:09,000 --> 00:02:15,000 El HUB no tiene cerebro, entonces al final lo que llega por una entrada lo saca por todas. 25 00:02:15,000 --> 00:02:19,000 Y el switch es inteligente, filtra en función de la MAC. 26 00:02:19,000 --> 00:02:26,000 Esto es, si Asier manda algo a Lidia, el switch mirará, vale, la MAC destino es de Lidia, 27 00:02:26,000 --> 00:02:33,000 entonces solamente lo enviará porque él sabe que en el puerto F005 está Lidia. 28 00:02:33,000 --> 00:02:36,000 Eso ya lo tenemos que tener claro. 29 00:02:36,000 --> 00:02:37,000 Voy a ello. 30 00:02:37,000 --> 00:02:41,000 Entonces, antes, imaginaros, vamos a hacer la situación, ¿vale? 31 00:02:41,000 --> 00:02:44,000 Asier va a hacer un ping a Lidia. 32 00:02:44,000 --> 00:02:51,000 Asier sabe la IP de Lidia o el nombre de dominio, me da igual, pero no sabe la MAC de Lidia. 33 00:02:51,000 --> 00:02:56,000 Entonces, antes de realizar ese ping internamente a nuestro ordenador, hace un proceso previo. 34 00:02:56,000 --> 00:03:00,000 Entonces, eso es lo que hace el protocolo ARP. 35 00:03:02,000 --> 00:03:09,000 Bueno, antes de comentar eso, aquí tenéis una captura donde se ve un resumen de diferentes protocolos 36 00:03:09,000 --> 00:03:18,000 que estamos conociendo de las 5 capas del modelo TCPP o, bueno, las 3 agrupadas del modelo OSI, ¿vale? 37 00:03:18,000 --> 00:03:23,000 Y aquí veis como el encapsulamiento, cada capa va añadiendo las cabeceras correspondientes. 38 00:03:23,000 --> 00:03:28,000 Y a nivel de enlace, se añade la cabecera Ethernet delante y detrás, 39 00:03:28,000 --> 00:03:33,000 lo que uno de los componentes más importantes es la dirección MAC y la dirección destino. 40 00:03:33,000 --> 00:03:38,000 Si os fijáis en esta captura, el protocolo ARP aparece en la capa de red, 41 00:03:38,000 --> 00:03:42,000 pero realmente trabaja a nivel de enlace porque trabaja con direcciones MAC. 42 00:03:42,000 --> 00:03:45,000 Entonces, volvemos a lo que nos importa. 43 00:03:45,000 --> 00:03:47,000 Así que va a hacer un ping a Lidia. 44 00:03:47,000 --> 00:03:50,000 Conoce la IP destino, porque se la ha dicho Lidia, 45 00:03:50,000 --> 00:03:52,000 conoce la MAC origen, que es el propio Asier, 46 00:03:52,000 --> 00:03:55,000 pero no conoce la MAC destino, que es la de Lidia. 47 00:03:55,000 --> 00:04:00,000 Entonces, antes de realizar el ping, tendrá que hacer el proceso ARP. 48 00:04:00,000 --> 00:04:02,000 Entonces, aquí es lo que pongo. 49 00:04:02,000 --> 00:04:07,000 Se manda una solicitud ARP o un ARP request, ¿vale? En inglés. 50 00:04:07,000 --> 00:04:09,000 ¿Cuál es la dirección MAC destino? 51 00:04:09,000 --> 00:04:13,000 Sería todo f o todo cero, da igual como lo queráis expresar. 52 00:04:13,000 --> 00:04:18,000 Eso quiere decir que es un paquete que está destinado a toda la red, 53 00:04:18,000 --> 00:04:21,000 por difusión o por gráfica, esto es el color de la clasificación de las redes. 54 00:04:21,000 --> 00:04:25,000 Entonces, Asier va a mandar un ARP request que va a recibir Marcos, 55 00:04:25,000 --> 00:04:29,000 va a recibir Chris, va a recibir el router y va a recibir Lidia. 56 00:04:29,000 --> 00:04:31,000 Ese paquete que va a decir... 57 00:04:31,000 --> 00:04:33,000 Vamos a poner aquí que... 58 00:04:34,000 --> 00:04:35,000 Olvidadlo. 59 00:04:35,000 --> 00:04:37,000 Ese paquete que va a decir... 60 00:04:37,000 --> 00:04:39,000 ¿Quién tiene el ARP de Lidia? 61 00:04:39,000 --> 00:04:42,000 Ese ARP request dirigido a toda la red. 62 00:04:42,000 --> 00:04:45,000 Entonces Marcos le va a llegar el paquete y dice... 63 00:04:45,000 --> 00:04:47,000 Yo no soy el ARP de Lidia, a la basura. 64 00:04:47,000 --> 00:04:50,000 Chris va a hacer lo mismo, el router va a hacer lo mismo 65 00:04:50,000 --> 00:04:51,000 y Lidia va a decir... 66 00:04:51,000 --> 00:04:54,000 ¡Leches! ¡Soy yo! ¡Esta ARP es mía! 67 00:04:54,000 --> 00:04:59,000 Entonces Lidia lo que va a hacer es responder con un ARP reply 68 00:04:59,000 --> 00:05:02,000 o una respuesta ARP diciendo... 69 00:05:02,000 --> 00:05:06,000 Oye, esta IP soy yo y esta es mi MAC. 70 00:05:06,000 --> 00:05:09,000 En ese paquete enviado a Asier diría... 71 00:05:10,000 --> 00:05:11,000 Se me olvida una cosa, diría... 72 00:05:11,000 --> 00:05:13,000 ¿Cuál es la IP de Lidia? 73 00:05:13,000 --> 00:05:15,000 Responded a Asier. 74 00:05:15,000 --> 00:05:18,000 Entonces, en este caso Lidia recibe el paquete, 75 00:05:18,000 --> 00:05:21,000 lo reciben todos, pero como no son la IP de Lidia, lo descartan. 76 00:05:21,000 --> 00:05:22,000 Y Lidia dice... 77 00:05:22,000 --> 00:05:26,000 Oye, esta es mi IP y esta es mi MAC. 78 00:05:26,000 --> 00:05:30,000 Y se lo envía a Asier, que es quien ha preguntado. 79 00:05:30,000 --> 00:05:33,000 Y una vez hecho eso, ya se puede realizar el ping. 80 00:05:33,000 --> 00:05:35,000 ¿Por qué? Porque Asier tiene la MAC destino. 81 00:05:35,000 --> 00:05:38,000 Entonces mandaría, ya sabéis que son paquetes ICMP, 82 00:05:38,000 --> 00:05:44,000 ICMP request, llegaría Lidia y Lidia responde con un ICMP reply. 83 00:05:44,000 --> 00:05:48,000 Y ya la comunicación entre esas dos máquinas ya se puede hacer. 84 00:05:48,000 --> 00:05:52,000 ¿Por qué? Porque Asier ya tiene la MAC destino. 85 00:05:52,000 --> 00:05:56,000 Si a los segundos Asier vuelve a establecer esta comunicación, 86 00:05:56,000 --> 00:06:00,000 Asier no vuelve a hacer el protocolo ARP antes de mandar el ping. 87 00:06:00,000 --> 00:06:04,000 ¿Por qué? Porque en su caché ya tiene la MAC de Lidia. 88 00:06:04,000 --> 00:06:07,000 Y ya se puede comunicar con ella. 89 00:06:07,000 --> 00:06:10,000 Esto dentro de la red local. 90 00:06:10,000 --> 00:06:12,000 Ahora vamos a ver si yo me quiero comunicar, 91 00:06:12,000 --> 00:06:15,000 si Asier se quiere comunicar, por ejemplo, con Instagram, 92 00:06:15,000 --> 00:06:18,000 que está en Internet. 93 00:06:18,000 --> 00:06:20,000 Ya sabemos que a nivel de enlace, 94 00:06:20,000 --> 00:06:23,000 la MAC destino siempre es el siguiente salto. 95 00:06:23,000 --> 00:06:28,000 La MAC que Asier tiene que saber para enviar los paquetes hacia Internet será esta. 96 00:06:28,000 --> 00:06:31,000 La puerta de enlace de esta red. 97 00:06:31,000 --> 00:06:33,000 Esta entrada del router. 98 00:06:33,000 --> 00:06:36,000 Lo que va a hacer Asier para poder conectarse con Internet, 99 00:06:36,000 --> 00:06:39,000 en este caso, es mandar un ARP request todo EFES. 100 00:06:39,000 --> 00:06:43,000 A, por difusión, broadcast a toda la red. 101 00:06:43,000 --> 00:06:47,000 Dirá, ¿cuál es la IP del router? 102 00:06:47,000 --> 00:06:49,000 ¿Quién tiene la IP del router, mejor dicho? 103 00:06:49,000 --> 00:06:52,000 Marcos dice, no es para mí, a la basura. 104 00:06:52,000 --> 00:06:54,000 Cris dice, no es para mí, a la basura. 105 00:06:54,000 --> 00:06:56,000 Lidia dice, no es para mí, a la basura. 106 00:06:56,000 --> 00:07:00,000 Le llega el router y dice, ostia, leches, soy yo. 107 00:07:00,000 --> 00:07:02,000 Esta IP es mía. 108 00:07:02,000 --> 00:07:04,000 Perdonad, vuelvo a lo de antes. 109 00:07:04,000 --> 00:07:07,000 Asier dice, ¿quién tiene la IP del router? 110 00:07:07,000 --> 00:07:09,000 Responded a Asier. 111 00:07:09,000 --> 00:07:12,000 Para que sepan a quién lo reciba, a quién responde. 112 00:07:12,000 --> 00:07:15,000 Entonces el router llega y dice, esta IP es mía. 113 00:07:15,000 --> 00:07:18,000 Esta es mi IP y la MAC es esta. 114 00:07:18,000 --> 00:07:19,000 Y responde a Asier. 115 00:07:19,000 --> 00:07:23,000 Entonces, una vez Asier, ya puede realizar un ping a Instagram, 116 00:07:23,000 --> 00:07:26,000 porque sabe la MAC destino, o conectarse a una página web 117 00:07:26,000 --> 00:07:28,000 o un SSH hacia Internet. 118 00:07:28,000 --> 00:07:32,000 Fijaros aquí, os dejo algunas imágenes. 119 00:07:32,000 --> 00:07:36,000 Aquí, por ejemplo, tenemos un equipo que se quiere comunicar con una IP. 120 00:07:36,000 --> 00:07:37,000 Entonces, ¿qué hace? 121 00:07:37,000 --> 00:07:40,000 Mandar un ARP a toda la red. 122 00:07:40,000 --> 00:07:43,000 En este caso, ¿quién responde? 123 00:07:43,000 --> 00:07:45,000 El que tenga esa IP. 124 00:07:45,000 --> 00:07:47,000 Tiene esa IP, responde con la MAC. 125 00:07:47,000 --> 00:07:51,000 Son ejemplos de imágenes que he recogido de Internet. 126 00:07:51,000 --> 00:07:52,000 Esto es lo mismo. 127 00:07:52,000 --> 00:07:55,000 Fijaros, un ordenador de origen, sabe la IP de origen, 128 00:07:55,000 --> 00:07:58,000 sabe la IP destino, con quien se quiere comunicar, 129 00:07:58,000 --> 00:08:01,000 sabe la MAC origen, pero la MAC destino no la sabe. 130 00:08:01,000 --> 00:08:04,000 Entonces manda un ARP request, es decir, por difusión, 131 00:08:04,000 --> 00:08:06,000 para que lo reciba toda la red. 132 00:08:06,000 --> 00:08:07,000 ¿Y quién responde? 133 00:08:07,000 --> 00:08:10,000 La máquina que tiene esa MAC. 134 00:08:10,000 --> 00:08:11,000 Esa IP, perdón. 135 00:08:11,000 --> 00:08:15,000 Responde con su MAC y lo recibe este ordenador de origen. 136 00:08:15,000 --> 00:08:19,000 Más abajo os dejo un ejemplo entre dos redes. 137 00:08:19,000 --> 00:08:22,000 Este es un equipo que para comunicarse con este 138 00:08:22,000 --> 00:08:26,000 necesita saber la MAC de esta IP 139 00:08:26,000 --> 00:08:28,000 para poder enviarse al router. 140 00:08:28,000 --> 00:08:29,000 Y luego, en este trayecto, 141 00:08:29,000 --> 00:08:33,000 el router necesita saber la MAC destino que es este equipo. 142 00:08:33,000 --> 00:08:35,000 Entonces tendría que mandar también un ARP request 143 00:08:35,000 --> 00:08:38,000 y que este ordenador responda al propio router 144 00:08:38,000 --> 00:08:41,000 con un ARP reply. 145 00:08:41,000 --> 00:08:45,000 Leedlo porque aquí explico cuál es el proceso en sí. 146 00:08:45,000 --> 00:08:48,000 Y luego, por ejemplo, aquí el formato del paquete ARP. 147 00:08:48,000 --> 00:08:51,000 Es decir, que nos vaya sonando que hay ciertas cosas 148 00:08:51,000 --> 00:08:53,000 que son importantes en cada capa, 149 00:08:53,000 --> 00:08:55,000 pero que manda un montón más de información. 150 00:08:55,000 --> 00:08:59,000 Aparte en ARP, por ejemplo, aquí lo importante serían las MACs y las IPs, 151 00:08:59,000 --> 00:09:01,000 pero también manda más información. 152 00:09:01,000 --> 00:09:05,000 El tipo de protocolo, el tipo de hardware, un montón de cosillas. 153 00:09:05,000 --> 00:09:06,000 Más cosillas. 154 00:09:06,000 --> 00:09:09,000 Aquí os dejo una captura de Wireshark de un ARP request. 155 00:09:09,000 --> 00:09:12,000 Entonces, fijaros aquí que donde pone Ethernet, 156 00:09:12,000 --> 00:09:16,000 que es la capa de enlace, pone la MAC origen y la MAC destino. 157 00:09:16,000 --> 00:09:17,000 ¿Qué es la MAC destino? 158 00:09:17,000 --> 00:09:18,000 Todo OFS. 159 00:09:18,000 --> 00:09:20,000 Es decir, que lo recibe toda la red. 160 00:09:20,000 --> 00:09:24,000 Para que os vaya sonando ya cómo funciona este protocolo. 161 00:09:24,000 --> 00:09:26,000 Y como decíamos, en el caso de Azure, 162 00:09:26,000 --> 00:09:29,000 pues si realiza comunicaciones tanto dentro de su red 163 00:09:29,000 --> 00:09:30,000 como hacia el exterior, 164 00:09:30,000 --> 00:09:32,000 pues en la cacha ARP que vamos a abordar 165 00:09:32,000 --> 00:09:35,000 es la correspondencia de dirección IP con MAC. 166 00:09:35,000 --> 00:09:37,000 Esto es una captura de Windows. 167 00:09:37,000 --> 00:09:41,000 Vemos, aquí tenemos la IP de una puerta de enlace, 168 00:09:41,000 --> 00:09:42,000 de una red de nuestra casa, 169 00:09:42,000 --> 00:09:43,000 y vemos la dirección MAC. 170 00:09:43,000 --> 00:09:45,000 Es decir, en este caso, 171 00:09:45,000 --> 00:09:49,000 si va a realizar una comunicación hacia Internet o hacia fuera de la red, 172 00:09:49,000 --> 00:09:51,000 mejor dicho, pues ya sabe la MAC destino, 173 00:09:51,000 --> 00:09:54,000 ya se puede comunicar y no tiene que hacer el proceso ARP. 174 00:09:54,000 --> 00:09:57,000 Y aquí tenemos lo mismo, pero en una máquina Linux. 175 00:09:57,000 --> 00:10:01,000 ARP nos muestra con una tabla y ARP-A lo muestra todo seguido. 176 00:10:01,000 --> 00:10:04,000 Aquí, bueno, fijaros que aparece el nombre del equipo, 177 00:10:04,000 --> 00:10:06,000 si le conoce, ¿vale? 178 00:10:06,000 --> 00:10:08,000 La IP y la MAC. 179 00:10:08,000 --> 00:10:11,000 Ya veremos más detalles en la resolución de la práctica.