> For the complete documentation index, see [llms.txt](https://juan-martin-franco.gitbook.io/network-+/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://juan-martin-franco.gitbook.io/network-+/6.-direccionamiento-ip/6.2-direccionamiento-ipv4.md).

# 6.2 - Direccionamiento IPv4

## Direccionamiento IPv4

El <mark style="color:blue;">**direccionamiento IPv4**</mark>, o direccionamiento Internet Protocol version 4, es el tipo más común de direccionamiento IP utilizado en las redes.

Las direcciones IPv4 son escritas como una serie de cuatro números decimales separados por puntos.

<figure><img src="https://1668154188-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKyoEXmY0jfChHS8PdGMX%2Fuploads%2FlpMqi2ARwYrTjsnQfR40%2Fimage.png?alt=media&amp;token=0625f949-84f5-4cdf-b2e4-ba59b5d4dcd4" alt=""><figcaption></figcaption></figure>

Como se puede apreciar, cada dirección IPv4 está formada de cuatro partes. Esta notación es conocida como **notación punto-decimal**.

Cuando hablamos de cada una de esas cuatro partes de manera individual, hacemos referencia a un **octeto**, ya que cada una de estas partes presenta un **número decimal utilizado para representar un número de 8 bits**.

Como cada octeto representa un número de 8 bits, el rango de los octetos es de 0 a 255 en cada una de las cuatro posiciones.

<figure><img src="https://1668154188-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKyoEXmY0jfChHS8PdGMX%2Fuploads%2FB7qCNshxpj62uE1MCMlt%2Fimage.png?alt=media&amp;token=ed4414f1-56ed-4a8a-b9ff-6b2991186a53" alt=""><figcaption></figcaption></figure>

Cuando combinamos todos los octetos (4 octetos de 8 bits c/u), obtenemos un número de 32 bits, o 4 bytes.

Cuando tenemos una dirección IPv4 como por ejemplo 192.168.1.4, está escrita en notación punto-decimal, pero en realidad estamos representando la siguiente dirección: 11000000.10101000.00000001.00000100, la cual se encuentra en notación binaria.

Además, esta dirección esta compuesta de dos porciones, utilizando un segundo número de 32 bits conocido como **máscara de subred (subnet mask)**.\
La máscara de subred se utiliza para identificar que porción de la dirección IP está destinada a representar a la red y que porción está destinada a representar a los hosts.

Una parte de las direcciones IPv4 se utiliza para representar a la porción de red, mientras que la otra parte se utiliza para representar a la porción de los hosts.&#x20;

<figure><img src="https://1668154188-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKyoEXmY0jfChHS8PdGMX%2Fuploads%2F3K1TMOSAIwiF9NRJ66Wv%2Fimage.png?alt=media&amp;token=94cb620d-9ebb-43d0-b324-d8a306282799" alt=""><figcaption></figcaption></figure>

En este caso, la máscara de subred es 255.255.255.0, lo que significa que los primeros 3 octetos de la dirección IPv4 dada estarán destinados a identificar a la red, mientras que el restante octeto estará destinado a identificar a los hosts.

<figure><img src="https://1668154188-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKyoEXmY0jfChHS8PdGMX%2Fuploads%2FB4rCM3uyRbCQq8tCg3La%2Fimage.png?alt=media&amp;token=e7910226-123d-4b99-b827-d931dc79176b" alt=""><figcaption></figcaption></figure>

Como el último octeto se utiliza para representar a los hosts, puedo tener ya sea un server, una pc de escritorio, una laptop, una tablet, u otro tipo de dispositivo en direcciones como 192.168.1.1 en adelante hasta 254.&#x20;

Si tengo los siguientes dispositivos:

* Una pc cuya dirección IP es 192.168.1.2 y su máscara de subred es 255.255.255.0
* Una tablet cuya dirección IP es 192.168.1.55 y su máscara de subred es 255.255.255.0

Entonces ambos dispositivos están en la misma red, ya que ambos pertenecen a la red 192.168.1.0/24, por lo que se pueden comunicar entre ellos por ejemplo utilizando un switch sin necesidad de utilizar un router, ya que no es necesario reenviar los paquetes a otra red externa.

### Clases de Direcciones IP

El protocolo IP define 5 clases de direcciones IP nombradas con las letras A, B, C, D y E.

Cada una de estas clases tiene su propia máscara de subred.

Para identificar la clase a la que pertenece una dirección IP dada, necesitamos mirar el valor del primer octeto.&#x20;

<mark style="background-color:green;">**CLASE A**</mark>

Si el primer octeto contiene un número **entre 1 y 127**, esta dirección es considerada una dirección IP de clase A, y tiene una máscara de subred por defecto de **255.0.0.0**.

Esto quiere decir que la porción de red de dicha dirección es solo el primer octeto, mientras que los octetos 2 3 y 4 forman la porción de los hosts.

Dicho esto, en una red clase A podemos tener **16.7 millones** (256 x 256 x 256) de combinaciones de direcciones IP disponibles (la red puede contener 16.7 millones de hosts).

<mark style="background-color:green;">**CLASE B**</mark>

Si el primer octeto contiene un número **entre 128 y 191**, esta dirección es considerada una dirección IP de clase B, y tiene una máscara de subred por defecto de **255.255.0.0**.

Esto quiere decir que la porción de la red de dicha dirección está formada por los primeros dos octetos, mientras que los restantes dos conforman la porción de los hosts.

Dicho esto, en una red clase B podemos tener **65.535** (256 x 256) combinaciones posibles de direcciones IP disponibles (la red puede contener 65.535 hosts).

<mark style="background-color:green;">**CLASE C**</mark>

Si el primer octeto contiene un número **entre 192 y 223**, esta dirección es considerada una dirección IP de clase C, y tiene una máscara de subred por defecto de **255.255.255.0**.

Esto quiere decir que la porción de la red de dicha dirección está formada por los primeros tres octetos, mientras que el octeto restante conforma la porción de los hosts.

Dicho esto, en una red clase C podemos tener **256** combinaciones posibles de direcciones IP disponibles (la red puede contener 256 hosts).

<mark style="background-color:green;">**CLASE D**</mark>

Si el primer octeto contiene un número entre **224 y 239**, esta dirección es considerada una dirección IP de clase D.&#x20;

A diferencia de las anteriores, este tipo de clases **no tiene una máscara de subred asignada**. Esto se debe a que las direcciones pertenecientes a esta clase son especiales, y están **reservadas para el multicasting o ruteo multicast**.

Una **dirección Multicast** es un identificador lógico para un grupo de hosts en una red de computadoras, y que están disponibles para procesar datagramas o tramas que se pretende que sean multicast para un servicio de red designado. Esto quiere decir que una dirección multicast no se alinea con un único host, en lugar de ello, representa un grupo de hosts.

<mark style="background-color:green;">**CLASE E**</mark>

Si el primer octeto contiene un número **entre 240 y 255**, esta dirección es considerada una dirección IP de clase E.

Al igual que la clase D, las direcciones de clase E **tampoco tienen una máscara de subred asignadas**. Esto se debe a que las direcciones pertenecientes a esta clase son especiales, y están **reservadas para fines experimentales de investigación y desarrollo**.

Este rango experimental contiene alrededor de **268 millones de direcciones reservadas** para uso futuro.

<figure><img src="https://1668154188-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKyoEXmY0jfChHS8PdGMX%2Fuploads%2FmlnOqR0qQtNv2ZYOMwhG%2Fimage.png?alt=media&amp;token=099b40cb-2d00-44a8-bee5-40e62f6d6ecd" alt=""><figcaption></figcaption></figure>

### Máscara de Subred de Clase

Suponiendo que tenemos la dirección IP 192.168.1.4, con una máscara de subred de 255.255.255.0, dicha máscara es la máscara de subred por defecto para las redes de clase C y, como la dirección IP comienza con 192 (el primer octeto), también es una dirección de clase C.

Esto significa que tenemos una dirección IP de clase C utilizando la máscara de subred por defecto de clase C, por lo se considera una máscara de clase.

Básicamente, una <mark style="color:blue;">**máscara de subred de clase**</mark> es la máscara de subred por defecto para una clase o dirección IP dada.

No necesariamente se debe utilizar una máscara de subred de clase.

### Subnetting

Se conoce como <mark style="color:blue;">**Subnetting**</mark> a la técnica que nos permite utilizar máscaras de subred sin clase para crear redes más pequeñas con menor cantidad de host en cada red que los que tendríamos en caso de utilizar una máscara de subred de clase.

El proceso de Subnetting es un proceso que permite tomar prestado algunos bits de la porción de los hosts y reasignarlos en la porción de la red.

Esto permite recortar el tamaño de las redes en porciones mas pequeñas con menor cantidad de hosts disponibles, lo que resulta más eficiente.

Además, esto nos permite tener mayor cantidad de redes para utilizar.

Por ejemplo, si tengo la máscara 255.255.255.0, tengo disponibles 256 direcciones IP, pero es un número muy grande y probablemente no tenga 256 hosts en mi red, por lo que puedo dividir la red y tener 4 subredes de 64 hosts c/u (ya que 256 / 4 = 64).

Para hacer esto, debo utilizar la máscara de subred 255.255.255.192, ya que tomé prestado 2 bits correspondientes a la porción del host y los asigné a la porción de red.\
Esta máscara es equivalente a 11111111.11111111.11111111.11000000.

### Classless Inter-Domain Routing (CIDR)

Se conoce como <mark style="color:blue;">**Classless Inter-Domain Routing**</mark>, o <mark style="color:blue;">**CIDR**</mark>, a una notación para direcciones IP la cual consta de la dirección IP, una barra ( / ) y un número, el cual corresponde a la cantidad de bits correspondientes a la porción de red.

Por ejemplo, si tenemos la dirección IP 192.168.1.4, con su máscara de red 255.255.255.0, la dirección IP representada en notación CIDR es 192.168.1.4/24, ya que son 24 bits los correspondientes a la porción de red.

Cuando se trata de calcular la notación CIDR de máscaras de subred de clase, es mucho más sencillo, ya que:

* La máscara de subred 255.0.0.0 correspondiente a las redes de clase A equivale a la notación CIDR /8.
* La máscara de subred 255.255.0.0 correspondiente a las redes de clase B equivale a la notación CIDR /16.
* La máscara de subred 255.255.255.0 correspondiente a las redes de clase C equivale a la notación CIDR /24.

<figure><img src="https://1668154188-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKyoEXmY0jfChHS8PdGMX%2Fuploads%2FLtQeg3iEpCk8OHXdPoWj%2Fimage.png?alt=media&amp;token=32001d0c-9ded-4a3d-bbc1-68a7a6d91873" alt=""><figcaption></figcaption></figure>

### Tipos de dirección IPv4

Existen dos tipos de direcciones IPv4:

* <mark style="color:blue;">**Direcciones IPv4 Públicas (Ruteables)**</mark>
* <mark style="color:blue;">**Direcciones IPv4 Privadas (No Ruteables)**</mark>

### ICANN (Internet Corporation for Assigned Names and Numbers)

La <mark style="color:blue;">**Corporación de Internet para la Asignación de Nombres y Números**</mark> <mark style="color:blue;">**(Internet Corporation for Assigned Names and Numbers)**</mark>, más conocida como <mark style="color:blue;">**ICANN**</mark>, es la entidad que **administra globalmente y alquila direcciones IP públicamente ruteables**.

Esto quiere decir que, si deseamos alquilar una dirección IP pública, ya sea para correr un servidor web de nuestra compañía o lo que sea, podemos comprar dicha dirección IP y ICANN será quien nos la alquile a nosotros.

![](https://1668154188-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKyoEXmY0jfChHS8PdGMX%2Fuploads%2F21OEknVXjKR8MgAVZPV9%2Fimage.png?alt=media\&token=e885f72b-d7ef-4e52-89ed-282a05c6a30e)

ICANN posee 5 grupos diferentes debajo, los cuales son responsables de manejar dichas direcciones IP públicas, basados en la parte geográfica en donde estemos situados.

Estos grupos son:

* ARIN (Norteamérica)
* LACNIC (Latinoamérica)
* AFNIC (África)
* APNIC (Asia y región pacífica)
* RIPE (Europa)

### Direcciones IPv4 Públicas (Ruteables)

Una <mark style="color:blue;">**dirección IPv4 Pública**</mark> es aquella que puede ser directamente accedida a través de internet y asignada a nuestra red por nuestro proveedor de servicios de Internet (ISP).

Las direcciones IP ruteables son públicamente ruteables a través de todo el internet y por lo tanto, son globalmente administradas por ICANN (Internet Corporation for Assigned Names and Numbers).&#x20;

Las direcciones IP públicas deben ser compradas antes de poder utilizarlas, y esto lo hacemos a través de nuestro ISP.

### Direcciones IPv4 Privadas (No Ruteables)

Una dirección IPv4 Privada, también conocida como dirección IP no ruteable, es aquella dirección que pueden ser utilizadas por cualquier persona en cualquier momento, pero con la restricción de que solo se utilizan dentro de nuestra red de área local.&#x20;

Es por ese motivo, que las direcciones IP privadas son consideradas como no ruteables, ya que nadie controla quien las utiliza, ni en que red.

### RFC 1918 - Rangos de Direcciones IP Privadas

La RFC 1918 define los rangos de direcciones IP válidos para las direcciones IP de tipo privadas.

Si se desea direcciones de clase A, el primer octeto comienza con el valor 10. \
Es decir, cualquier dirección que pertenezca al rango 10.0.0.0 - 10.255.255.255 es una dirección IP privada. Dentro de este rango hay 16.7 millones de combinaciones posibles.

Si se desea direcciones de clase B, los primeros dos octetos deben pertenecer al rango \
172.16 - 172.31. \
Es decir, cualquier dirección que entre en el rango de 172.16.0.0 - 172.31.255.255 es una dirección IP privada. Dentro de ese rango hay 1.05 millones de combinaciones.

Si se desea direcciones de clase C, los primeros dos octetos deben comenzar con 192.168.\
Es decir, cualquier dirección que pertenezca al rango 192.168.0.0 - 192.168.255.255 es una dirección IP privada. Dentro de ese rango hay 65.535 combinaciones posibles.

<figure><img src="https://1668154188-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKyoEXmY0jfChHS8PdGMX%2Fuploads%2FIWF2P4hETGNPneFoDob4%2Fimage.png?alt=media&amp;token=95561ef3-0c9e-4d0c-9534-4abe75a45923" alt=""><figcaption></figcaption></figure>

En la RFC 1918, se puede localizar esta información en el siguiente extracto:

<figure><img src="https://1668154188-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKyoEXmY0jfChHS8PdGMX%2Fuploads%2FdwzqSCHJpXyRdEwPfqbB%2Fimage.png?alt=media&amp;token=22707352-1c93-489c-97a0-27ddfe548a9b" alt=""><figcaption></figcaption></figure>

### Loopback Address (127.0.0.1)

La <mark style="color:blue;">**dirección IP de loopback**</mark>, 127.0.0.1, permite a cualquier protocolo de alto nivel enviar datos al host mismo sin la necesidad de salir a un switch o un router.&#x20;

Básicamente, esto crea un loop que apunta hacia el host y testea los protocolos de red, por lo que suele utilizarse para la resolución de problemas y el testeo de protocolos en un sistema dado para asegurarse, por ejemplo, de que los driver funcionan correctamente.

Por la forma en la que el estándar fue desarrollado, cualquier dirección que comience con 127 en el primer octeto es considerada una dirección de loopback, aunque la dirección que se utiliza por defecto es 127.0.0.1.

### APIPA (Automatic Private IP Addresses)

Estas direcciones son asignadas dinámicamente por nuestro sistema operativo cuando nuestro servidor DHCP no está disponible y no fue asignada una dirección IP de manera estática.

Las <mark style="color:blue;">**direcciones APIPA**</mark> siempre comienzan con 169.254 en los primeros dos octetos, por lo que se encuentran en el rango de 169.254.0.0 - 169.254.255.255.

Esto significa que si encontramos que la dirección IP de nuestro dispositivo comienza con 169.254, algo salió mal en el procesamiento del DHCP, y el dispositivo no está obteniendo una dirección IP privada normal de las pertenecientes a las clases A, B o C.

Cuando nuestro dispositivo bootea, intenta obtener una dirección IP, intenta obtener su propia dirección IP utilizando IPs dinámicas por medio del protocolo DHCP.&#x20;

Esto atraviesa un proceso de cuatro etapas, conocido como DORA:

* D (Discover)
* O (Offer)
* R (Request)
* A (Acknowledge)

Si algo falla en el proceso de negociación "DORA" con DHCP, el sistema no puede obtener una dirección, por lo que si este proceso falla por un determinado periodo de tiempo, tomará una dirección del rango APIPA.

### Virtual IP Address (VIP o VIPA)

Una <mark style="color:blue;">**dirección IP Virtual**</mark>, conocida como <mark style="color:blue;">**VIP**</mark> o <mark style="color:blue;">**VIPA**</mark>, es una dirección IP que no se correlaciona con una interfaz de red física (NIC).&#x20;

En lugar de esto, estas direcciones son usualmente utilizadas para NAT (traducción de direcciones de red), tolerancia a fallos y virtualización.

Los routers a menudo utilizan direcciones IP virtuales para proveer redundancia en las opciones de conectividad.

### Subinterfaces

Una <mark style="color:blue;">**subinterfaz**</mark> es una interfaz virtual que fue creada dividiendo una interfaz física en múltiples interfaces lógicas.&#x20;

Este concepto va de la mano con las direcciones IP virtuales, porque cada una de estas interfaces virtuales que crearemos serán capaces de estar asignadas a una dirección IP virtual.

Estas subinterfaces suelen utilizarse para el ruteo inter-VLAN del tráfico, creando dos subinterfaces para una interfaz física y luego asignando cada una de esas subinterfaces con una dirección IP de la subred apropiada.

<figure><img src="https://1668154188-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKyoEXmY0jfChHS8PdGMX%2Fuploads%2FZOFMHDD4NB93PU17oaev%2Fimage.png?alt=media&amp;token=915c8146-8542-4b12-b15d-6c858b5e3a2b" alt=""><figcaption></figcaption></figure>
