====== 15. Introducción a IP ====== ===== Direcciones IP ===== * [[https://es.wikipedia.org/wiki/Protocolo_de_internet|Protocolo de internet]] * [[https://www.profesionalreview.com/2020/02/29/ipv4-vs-ipv6/|IPv4 vs IPv6 – Qué es y para qué se utiliza en redes]] * [[https://www.adaptixnetworks.com/ipv4-vs-ipv6/|IPv4 vs IPv6]] * [[https://www.aboutespanol.com/que-es-la-direccion-ip-y-diferencia-entre-ipv4-e-ipv6-3507897|Qué es la dirección IP y diferencia entre IPv4 e IPv6]] * [[http://alejollagua.blogspot.com/2012/12/direccion-ip-clase-b-c-d-y-e.html|Dirección IP Clase A, B, C, D y E]] * [[https://www.quia.com/files/quia/users/istomar/DIPS/clases_de_direccin_ip.html|Clases de direcciones IP]] * [[https://www.es.paessler.com/it-explained/ip-address|Dirección IP]] * [[https://www.ionos.es/digitalguide/servidores/know-how/classless-inter-domain-routing/|CIDR: el classles inter-domain routing en detalle]] * [[https://es.wikipedia.org/wiki/Classless_Inter-Domain_Routing|CIDR]] * [[https://es.wikipedia.org/wiki/M%C3%A1scara_de_red|Mascara de Red]] * [[https://blog.soporteti.net/que-es-el-cidr-subnetting-o-subneteo-parte-3/|¿Que es el CIDR? – Subnetting o subneteo Parte 3]] ===== Tipos de red ===== Vemos una red con 4 ordenadores, 1 switch y 1 router. Los 4 ordenadores tienen IPs parecidas , todas tienen en común que empiezan por "192.168.3". Así que la red es "192.168.3.0/24". Es decir una dirección de red es toda la parte que tienen en común los ordenadores y el resto de bits (parte de los hosts) a cero, pero indicando la mascara en formato CIDR. La dirección de Broadcast es con el resto de bits (parte de los hosts) a uno. {{:clase:daw:si:3eval:01_red_basica.png|}} ^ Dirección de Red ^ Dirección de Broadcast ^ Dirección de un host ^ | 192.168.3.0/24 | 192.168.3.255 | 192.168.3.77 | * [[https://sites.google.com/site/aampueropractica7/pagina1/direcciones-de-host-red-y-broadcast|Direcciones de host, red y broadcast]] * [[https://www.quia.com/files/quia/users/istomar/DIPS/direcciones_de_red_y_broadcast.html|Direcciones de red y broadcast]] ===== Router ===== Ahora vamos a añadir un nuevo ordenador "al otro lado" de Internet {{:clase:daw:si:3eval:02_red_basica.png|}} Este nuevo ordenado tiene la IP "192.168.4.123". Sabemos que era red es de tipo C, así que la dirección de red es "192.168.4.0/24". Su router tiene la dirección "192.168.4.56". Pero podemos ver que cada router tiene 2 IPs , esto es así porque está conectado a dos redes distintas y en cada red tiene un IPs distintas. También debe tener por lo tanto dos tarjetas de red, llamadas Interfaces de red * **Router A** , el de la izquierda ^ IP ^ Mascara ^ Interfaz de red ^ | 192.168.3.34 | 255.255.255.0 | eth0 | | 3.239.54.197 | 255.255.255.0 | eth1 | * **Router B** , el de la derecha ^ IP ^ Mascara ^ Interfaz de red ^ | 67.45.67.3 | 255.255.255.0 | eth0 | | 192.168.4.56 | 255.255.255.0 | eth1 | Usando el comando "ifconfig" en Linux podremos ver cada una de las interfaces de red que tenemos. Aunque ahora se llaman por ejemplo "enp2s0" en vez de "eth0". Para saber porque han cambiado el nombre podemos mirar los siguientes enlaces [[https://juncotic.com/eth0-enp0s3-nombres-interfaces-red-linux/|eth0 o enp0s3? Nombres de interfaces de red en Linux]] y [[https://hardlimit.com/por-que-han-cambiado-el-nombre-de-las-interfaces-de-red/|¿Por qué han cambiado el nombre de las interfaces de red en Linux]] Recordemos un momento lo que hacía Ethernet. Ethernet Lo único que permitía era comunicar dos ordenadores (o también llamados Hosts) que estén conectados directamente con un cable. Recordar que un Switch lo único que hace es conectar directamente ordenadores (Es como una regleta de enchules eléctricos) Entonces, mediante ethernet no es posible comunicar directamente el host "192.168.3.123" con el host "192.168.4.123" ya que están físicamente en redes distintas. ¿Como se envían información entonces? Mediante los router. Podemos decir que un Router es el encargado de conectar dos redes distintas. ¿Como sabemos que dos ordenadores están en redes distinta? Porque su dirección de red es distinta. La forma de calcularlo es con la dirección de red y la máscara de red. * [[https://es.wikipedia.org/wiki/M%C3%A1scara_de_red|Máscara de red]] * [[https://www.aprendaredes.com/cgi-bin/ipcalc/ipcalc_cgi?host=192.168.0.1&mask1=24&mask2=|Calculadora de Red]] * [[https://www.speedcheck.org/es/wiki/mascara-de-red/|Máscara de red]] * [[https://www.ecured.cu/M%C3%A1scara_de_red|Máscara de red]] ===== Protocolo IP ===== El protocolo IP es simplemente el software que hayen los routers y ordenadores que permite enviar información de un ordenador a otro de internet sin que estén directamente conectados. Si en Ethernet cada vez que enviábamos algo se hacía mediante paquetes Ethernet , en el protocolo IP lo que enviamos son Datagramas. * [[http://es.wikipedia.org/wiki/Internet_Protocol|Protocolo IP]] Veamos el algoritmo que se usa para enviar un datagrama con información - Según nuestra IP (IP origen) y la IP a la que queremos enviar los datos (IP destino) comprobamos si están en la misma red. - Si están en la misma red, se envía directamente - Si no están en la misma red se envían al router , también llamada puerta de enlace. - Una vez llegado al router, comprueba la IP del destino del datagrama. - Si la IP destino está en la misma red, se envía directamente - Si la IP destino *NO* está en la misma red, mira en la tabla de encaminamiento a que router enviarlo, reenvía el datagrama y volvemos al paso 2 - Si según la tabla de encaminamiento no hay ningún router al que entregar el datagrama, se pierde ese datagrama * [[https://openwebinars.net/academia/aprende/tcp-ip/3649/|OpenWebinars. Capa IP]] * [[https://openwebinars.net/academia/aprende/tcp-ip/3650/|OpenWebinars. Enrutamiento]] * [[https://openwebinars.net/academia/aprende/tcp-ip/3651/|OpenWebinars. Datagrama IP]] {{:clase:daw:si:3eval:02_red_compleja.png|}} Siguiendo con el ejemplo vemos que ahora se muestran todos los routers que forman la red Veamos como se envía un datagrama desde el ordenador "192.168.3.25" al ordenador "192.168.4.123" - El ordenador ve que los datos van a un ordenador de otra red , así que lo envía a su puerta de enlace , es decir al router A (192.168.3.34). - El router A comprueba que el datagrama no es para ningún ordenador de su red y según su tabla de encaminamiento lo envía al router D (3.239.54.45) - El router D comprueba que el datagrama no es para ningún ordenador de su red y según su tabla de encaminamiento lo envía al router B (67.45.67.3) - El router B comprueba que el datagrama es para un ordenador de su red, así que lo envía directamente al 192.168.4.123 ===== Puerta de enlace ===== La puerta de enlace (Tambien llamada Pasarela o Gateway) no es mas que la IP del router por defecto al que enviar los datagramas. Veamos ahora de algunos ordenadores su puerta de enlace ^ IP Ordenador ^ IP Puerta de enlace ^ | 182.168.3.215 | 192.168.3.24 | | 7.8.9.1 | 7.8.9.2 | | 192.168.4.123 | 192.168.4.56 | Hacer notar que la IP de puerta de la puerta de enlace siempre es de la misma red que el ordenador. ==== Tabla de encaminamiento ==== Una tabla de encaminamiento solo indica dado una IP hacía que router hay que reenviarlo. * Tabla de encaminamiento del **Router A** ^ Destino ^ Mascara ^ Pasarela ((Es la IP del router al que hay que enviarlo)) ^ Interfaz ((Es la tarjeta de red por la que se envía)) ^ Explicación ^ | 192.168.3.0 | 255.255.255.0 | 0.0.0.0 ((Cuando el valor es 0.0.0.0 es que es un ordenador de la propia red y no es necesario enviarlo a ningún otro router)) | eth0 | Direcciones de su propia red 192.168.3.0/24 | | 3.239.54.0 | 255.255.255.0 | 0.0.0.0 ((Cuando el valor es 0.0.0.0 es que es un ordenador de la propia red y no es necesario enviarlo a ningún otro router)) | eth1 | Direcciones de su propia red 3.239.54.0/24 | | 51.13.45.0 | 255.255.255.0 | 0.0.0.0 ((Cuando el valor es 0.0.0.0 es que es un ordenador de la propia red y no es necesario enviarlo a ningún otro router)) | eth2 | Direcciones de su propia red 51.13.45.0/24 | | 109.56.45.0 | 255.255.255.0 | 3.239.54.45 | eth1 | Lo envía por eth1 al router D cuando es para la red 109.56.45.0/24 | | 7.8.9.0 | 255.255.255.0 | 3.239.54.45 | eth1 | Lo envía por eth1 al router D cuando es para la red 7.8.9.0/24 | | 67.45.67.0 | 255.255.255.0 | 3.239.54.45 | eth1 | Lo envía por eth1 al router D cuando es para la red 67.45.67.0/24 | | 192.168.4.56 | 255.255.255.0 | 3.239.54.45 | eth1 | Lo envía por eth1 al router D cuando es para la red 192.168.4.56/24 | | 0.0.0.0 ((cuando el valor es 0.0.0.0 significa que lo envía por esta ruta cuando no sabe por donde enviarlo)) | 0.0.0.0 | 51.13.45.91 | eth2 | Cuando no sabe por donde enviarlo lo envía por eth2 al router E por defecto | * Tabla de encaminamiento del **Router B** ^ Destino ^ Mascara ^ Pasarela ((Es la IP del router al que hay que enviarlo)) ^ Interfaz ((Es la tarjeta de red por la que se envía)) ^ Explicación ^ | 192.168.4.0 | 255.255.255.0 | 0.0.0.0 ((Cuando el valor es 0.0.0.0 es que es un ordenador de la propia red y no es necesario enviarlo a ningún otro router)) | eth1 | Direcciones de su propia red 192.168.4.0/24 | | 67.45.67.0 | 255.255.255.0 | 0.0.0.0 ((Cuando el valor es 0.0.0.0 es que es un ordenador de la propia red y no es necesario enviarlo a ningún otro router)) | eth0 | Direcciones de su propia red 67.45.67.0/24 | | 0.0.0.0 ((cuando el valor es 0.0.0.0 significa que lo envía por esta ruta cuando no sabe por donde enviarlo)) | 0.0.0.0 | 67.45.67.4 | eth0 | Cuando no sabe por donde enviarlo lo envía al router D por defecto | Puedes probar en tu linux con el comando ''route -n'' y verás tu tabla de encaminamiento. Como podrás observar es mucho mas sencilla que la de los routers. {{:clase:daw:si:3eval:route-n.png|}} También vemos ver la tabla de encaminamiento de un router de los que tenemos en casa: {{:clase:daw:si:3eval:routas-router-telefonica.png|}} Un ejemplo mas complejo de redes IP sería el siguiente: {{:clase:daw:si:3eval:ejemplo_de_red.png|}} Por último veamos una foto de como se ve realmente Internet (pincha en la imagen para verla mejor): {{:clase:daw:si:3eval:internet_map_1024.jpg?500|}} [[https://www.dailymotion.com/video/x7zz6wq|Video de como ha evolucionado internet]] [[https://magnet.xataka.com/un-mundo-fascinante/19-mapas-que-explican-la-geografia-de-internet|19 mapas que explican la geografía de Internet]] ===== Ejemplo ===== {{:clase:daw:si:3eval:01_red_media.png|}} * Datos de los 2 ordenadores y Routers ^ Nombre ^ IP Ordenador ^ Mascara ^ Interfaz ^ IP Puerta de enlace ^ | Ordenador Izquierda | 192.168.3.14 | 255.255.255.0 | eth0 | 192.168.3.34 | | Ordenador Derecha | 192.168.4.123 | 255.255.255.0 | eth0 | 192.168.4.56 | | Router A | 192.168.3.34\\ 192.168.10.2\\ 56.34.12.3 |255.255.255.0\\ 255.255.255.0\\ 255.255.255.0 | eth0\\ eth1\\ eth2 | 56.34.12.1 | | Router B | 192.168.10.1\\ 192.168.4.56 | 255.255.255.0\\ 255.255.255.0 | eth0\\ eth1 | 192.168.10.2 | * Tablas de encaminamiento del Ordenador izquierda ^ Destino ^ Mascara ^ Pasarela ^ Interfaz ((Es la tarjeta de red por la que se envía)) ^ Explicación ^ | 192.168.3.0 | 255.255.255.0 | 0.0.0.0 | eth0 | Direcciones de su propia red 192.168.3.0/24 | | 0.0.0.0 | 0.0.0.0 | 192.168.3.34 | eth0 | Cuando no sabe por donde enviarlo lo envía al router A por defecto | * Tablas de encaminamiento del Ordenador Derecha ^ Destino ^ Mascara ^ Pasarela ^ Interfaz ((Es la tarjeta de red por la que se envía)) ^ Explicación ^ | 192.168.4.0 | 255.255.255.0 | 0.0.0.0 | eth0 | Direcciones de su propia red 192.168.4.0/24 | | 0.0.0.0 | 0.0.0.0 | 192.168.4.56 | eth0 | Cuando no sabe por donde enviarlo lo envía al router B por defecto | * Tablas de encaminamiento del Router A ^ Destino ^ Mascara ^ Pasarela ^ Interfaz ((Es la tarjeta de red por la que se envía)) ^ Explicación ^ | 192.168.3.0 | 255.255.255.0 | 0.0.0.0 | eth0 | Direcciones de su propia red 192.168.3.0/24 | | 192.168.10.0 | 255.255.255.0 | 0.0.0.0 | eth1 | Direcciones de su propia red 192.168.10.0/24 | | 56.34.12.0 | 255.255.255.0 | 0.0.0.0 | eth2 | Direcciones de su propia red 56.34.12.0/24 | | 192.168.4.0 | 255.255.255.0 | 192.168.10.1 | eth1 | Los datos de la Red 192.168.4.0/24 se envían mediante el router B | | 0.0.0.0 | 0.0.0.0 | 56.34.12.1 | eth2 | Cuando no sabe por donde enviarlo lo envía al router C por defecto | * Tablas de encaminamiento del Router B ^ Destino ^ Mascara ^ Pasarela ^ Interfaz ((Es la tarjeta de red por la que se envía)) ^ Explicación ^ | 192.168.10.0 | 255.255.255.0 | 0.0.0.0 | eth0 | Direcciones de su propia red 192.168.10.0/24 | | 192.168.4.0 | 255.255.255.0 | 0.0.0.0 | eth1 | Direcciones de su propia red 192.168.4.0/24 | | 0.0.0.0 | 0.0.0.0 | 192.168.10.2 | eth0 | Cuando no sabe por donde enviarlo lo envía al router A por defecto | ===== Ejercicios ===== ==== Ejercicio 1 ==== De la dirección de tu casa indica: * La IP * Las máscara * La clase de IP (A, B o C) ==== Ejercicio 2 ==== Si añadimos 3 ordenadores mas a la red izquierda del router A. Indica que IPs podrían tener. ==== Ejercicio 3 ==== Rellena la siguiente tabla ^ IP ^ Clase (A, B ,C o loopback) ^ Mascara de red ^ | 134.5.34.5 | | | | 127.213.56.45 | | | | 214.56.123.87 | | | | 16.76.196.55 | | | ==== Ejercicio 4 ==== Rellena la siguiente tabla ^ IP y CIDR ^ Mascara de red ^ | 134.5.34.5/4 | | | 127.213.56.45/7 | | | 214.56.123.87/8 | | | 16.76.196.55/24 | | ==== Ejercicio 5 ==== Rellena la siguiente tabla ^ IP ^ Mascara de Red ^ CIDR((Hay que poner /n , siendo ''n'' un número)) ^ | 134.5.34.5 | 255.0.0.0 | | | 127.213.56.45 | 255.0.0.0 | | | 214.56.123.87 | 255.255.0.0 | | | 16.76.196.55 | 255.255.255.0 | | ==== Ejercicio 6 ==== Rellena la siguiente tabla ^ Dirección de Red ^ Dirección de Broadcast ^ Dirección de un host ^ | | | 137.56.21.4 | | | 210.5.234.255 | | | 8.0.0.0/8 | | | ==== Ejercicio 7 ==== Rellena la siguiente tabla ^ Dirección de Red ^ 1º Dirección IP ^ Última Dirección IP ^ Nº Máximo de Ordenadores (Hosts) ^ | 34.67.45.0/24 | 34.67.45.1 | 34.67.45.254 | 254 | | 123.65.87.0/24 | | | | 6.76.0.0/16 | | | | 56.34.0.0/16 | | | | 78.0.0.0/8 | | | ==== Ejercicio 8 ==== Según el diagrama del último ejemplo de red, rellena las siguientes tablas: {{:clase:daw:si:3eval:01_red_media.png|}} ^ IP Ordenador ^ Mascara ^ IP Puerta de enlace ^ | | 255.255.255.0 | 192.168.3.34 | | 192.168.3.14 | 255.255.255.0 | | Tabla de encaminamiento del **Router A**. Hay varias filas a rellenar ^ Destino ^ Mascara ^ Pasarela ((Es la IP del router al que hay que enviarlo)) ^ Interfaz ((Es la tarjeta de red por la que se envía)) ^ Explicación ^ | | 255.255.255.0 | | | | Tabla de encaminamiento del **Router B**. Hay varias filas a rellenar y tiene que tener en cuenta las redes de la "derecha" ^ Destino ^ Mascara ^ Pasarela ((Es la IP del router al que hay que enviarlo)) ^ Interfaz ((Es la tarjeta de red por la que se envía)) ^ Explicación ^ | | 255.255.255.0 | | | | Tabla de encaminamiento del **Router C**. Hay varias filas a rellenar y es bastante complejo ya que tiene que tener en cuenta todas las redes ^ Destino ^ Mascara ^ Pasarela ((Es la IP del router al que hay que enviarlo)) ^ Interfaz ((Es la tarjeta de red por la que se envía)) ^ Explicación ^ | | 255.255.255.0 | | | | ==== Ejercicio 9 ==== Usando la herramienta [[https://www.yworks.com/products/yed/download#download|yEd Graph Editor]] Crea una diagrama de red con al menos 10 ordenadores, 3 routers ((Pero que alguno de los routers esté conectado al menos a otros dos routers)). e internet, indicando * Las IPs, mascara y puerta de enlace de todos los ordenadores y Routers * Las tablas de encaminamiento de los ordenadores y routes * Ejemplo de por donde iría un datagrama desde un ordenador de una red a otro ordenador de otra red