Ipv 4

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 9

Internet Protocol Version 4 (IPv4)

Protocolo de Internet es uno de los principales protocolos en el conjunto de protocolos


TCP/IP. Este protocolo funciona en la capa de red del modelo OSI y en la capa de Internet del
modelo TCP/IP. Por lo tanto, este protocolo tiene la responsabilidad de identificar hosts
basados en sus direcciones lógicas y para dirigir los datos entre ellos a través de la red
subyacente.

IP proporciona un mecanismo para identificar de forma única los hosts por un


esquema de direccionamiento IP. IP usa entrega de mejor esfuerzo, es decir, que no garantiza
que los paquetes se entregarán al host destino, pero lo hará su mejor para llegar al destino.
Protocolo de Internet versión 4 utiliza 32 bits dirección lógica.

Estructura de Paquete

El Protocolo de Internet es un protocolo de capa 3 (OSI) tiene segmentos de datos de


la capa 4 (Transporte) y la divide en paquetes. Paquete IP encapsula datos unidad recibió de
capa superior y agregar a su propia información de encabezado.

Los datos encapsulados se conoce como carga IP. Cabecera IP contiene toda la información
necesaria para entregar el paquete al otro extremo:

 Version: número de versión del Protocolo de Internet utilizado (p.ej.IPv4).


 IHL ó HLEN: Longitud del encabezado expresada en palabras de 32 bits.
 Tipo de Servicio: especifica cómo debe manejarse el datagrama

Formado como se observa por 8 bits en total:

1 2 3 4 5 6 7
Precedence D T R Sin Uso
Precedence: especifica la prioridad del datagrama con valores que van desde 0
(prioridad normal) hasta 7 (control de red), permitiendo indicar al emisor la
importancia de cada datagrama.

D - T - R: especifican el tipo de transporte deseado para el datagrama. Cuando el bit D


está activado se solicita procesamiento con retardos cortos, El bit T solicita alto
desempeño y R solicita alta confiabilidad (No siempre se puede garantizar que sea
tratado el datagrama con el tipo de transporte solicitado pues todo depende de la red
por donde haga su recorrido el datagrama)

 Longitud total: Longitud de paquete IP medido en bytes (incluyendo encabezado IP y


IP Payload ó relleno).
 Identificación: Si el paquete IP es fragmentado durante la transmisión, todos los
fragmentos contienen igual número de identificación original. Esto para identificar a
que paquete IP pertenece cada fragmento.
 Flags o Banderas: De conformidad con la disponibilidad de los recursos de la red, si el
paquete IP es demasiado grande para manejar, estas "banderas" indican si puede
fragmentarse o no. Los 3 bits (por orden de mayor a menor peso) son:
bit 0: Reservado; debe ser 0
bit 1: 0 = Divisible, 1 = No Divisible (DF)
bit 2: 0 = Último Fragmento, 1 = Fragmento Intermedio (le siguen más
fragmentos) (MF)
 Desplazamiento del fragmento (Offset Fragmentacion): este desplazamiento indica la
posición exacta del fragmento en el paquete IP original. en unidades de 64 bits, que
ocupa el paquete actual dentro del datagrama original. El primer paquete de una serie
de fragmentos contendrá en este campo el valor 0.
 Tiempo de vida: Para evitar bucles en la red, cada paquete es enviado con un valor de
TTL, que indica a la red el número de routers (saltos) este paquete puede cruzar. En
cada salto, su valor se decrementa en uno y cuando el valor llega a cero, el paquete se
descarta. Típicamente toma el valor 64 o 128 en los datagramas
 Protocolo: ndica el protocolo de las capas superiores al que debe entregarse el
paquete. Por ejemplo número de protocolo de ICMP es 1, TCP es 6 y UDP es 17. Otros
valores:

 Checksum del encabezado (Chequeo del header): Este campo se usa para mantener
valor de la suma de todo el cabezal que se utiliza a continuación para comprobar si el
paquete es recibido sin error.
 Dirección de Origen: dirección de 32 bits del remitente (o fuente) del paquete.
 Dirección de destino: dirección de 32 bits del receptor (o destino) del paquete.
 Opciones: Aunque no es obligatoria la utilización de este campo, cualquier nodo debe
ser capaz de interpretarlo. Es un campo de longitud variable. Las opciones se incluyen
en principio para pruebas de red o depuración, por tanto no se requiere que toda
implementación de IP sea capaz de generar opciones en los datagramas que crea, pero
sí que sea capaz de procesar datagramas que contengan opciones.
El campo Options tiene longitud variable en función de la opción seleccionada.
Algunas opciones tienen una longitud de un solo byte y otras tienen longitudes
variables. El primer byte de cualquier opción se denomina type byte

Donde:
fc: es el flag de copia (Flag Copy), e indica si el campo de opciones se ha de copiar (1) o
no (0) cuando el datagrama está fragmentado.
class: es un entero sin signo de 2 bits, donde:

y number: es un entero sin signo de 5 bits que indica el número de opción dentro de
cada clase.

La fragmentación de datagramas IP

Cuando un datagrama IP viaja de un host a otro puede cruzar distintas redes físicas. Las
redes físicas imponen un tamaño máximo de trama, llamado MTU (Maximum Transmission
Unit), que limita la longitud de un datagrama.

Por ello, existe un mecanismo para fragmentar los datagramas IP grandes en otros más
pequeños, y luego reensamblarlos en el host de destino. IP requiere que cada enlace tenga un
MTU de al menos 68 bytes, de forma que si cualquier red proporciona un valor inferior, la
fragmentación y el reensamblado tendrán que implementarse en la capa de la interfaz de red
de forma transparente a IP. 68 es la suma de la mayor cabecera IP, de 60 bytes, y del tamaño
mínimo posible de los datos en un fragmento (8 bytes).

Las implementaciones de IP no están obligadas a manejar datagramas sin fragmentar


mayores de 576 bytes, pero la mayoría podrá manipular valores más grandes, típicamente
ligeramente por encima de 8192 bytes o incluso mayores, y raramente menos de 1500.
Un datagrama sin fragmentar tiene a cero toda la información de fragmentación.

Cuando se ha de realizar la fragmentación, se ejecutan los siguientes pasos:


 Se chequea el bit de flag DF para ver si se permite fragmentación. Si está a uno, el datagrama
se desecha y se devuelve un error al emisor usando ICMP 1(Internet Control Message Protocol).
 Basándose en el valor MTU, el campo de datos se divide en partes donde cada parte, excepto
la última, debe ser múltiplo de 8 bytes.
 Todas las porciones de datos se colocan en datagramas IP.
 Se copian las cabeceras de la cabecera original, con algunas modificaciones:
o El bit de flag MF se pone a uno en todos los fragmentos, excepto en el último.
o El campo FO (Desplazamiento del Fragmento / Fragment Offset) se pone al valor de la
localización de la porción de datos correspondiente.
o Si se incluyeron opciones en el datagrama original, el bit fc del type byte determina si se
copiaran o no en todos los fragmentos o sólo en el primero.
o Se inicializa el campo Hdr Len (longitud de la cabecera).
o Se inicializa el campo Total Length (longitud total).
o Se recalcula el Header Checksum de la cabecera.
Cada uno de estos datagramas se envía como un datagrama IP normal. IP maneja cada
fragmento de forma independiente, es decir, los fragmentos pueden atravesar diversas
rutas hacia su destino, y pueden estar sujetos a nuevas fragmentaciones si pasan por redes
con MTUs inferiores.

En el host de destino, los datos se tienen que reensamblar. Para ello se siguen los siguientes
pasos:
 Con el fin de reensamblar los fragmentos, el receptor destina un buffer de
almacenamiento en cuanto llega el primer fragmento.
 Una vez ha llegado el primer fragmento se inicia un contador temporal.
 Cada fragmento se identifica mediante el campo Identification que es un número único
dentro de los límites impuestos por el uso de un número de 16 bits. Como la
fragmentación no altera este campo, los fragmentos que van llegando al destino pueden
ser identificados gracias a este identificador y a las direcciones IP fuente y destino del
datagrama. Además el campo Protocol también se chequea.
 Los fragmentos que van llegando se copian en el buffer en la localización indicada por el
campo FO (Desplazamiento del Fragmento / Fragment Offset) .
 Cuando han llegado todos los fragmentos, se restaura el datagrama original y se
continúa con su proceso.
 Si vence el contador temporal y no se han recibido todos los fragmentos, el datagrama
en fase de reensamblado se desecha.

Encaminamiento IP
La función más importante de la capa IP es el encaminamiento de datagramas extremo
a extremo a través de la red virtual. Por tanto esta función proporciona los mecanismos
necesarios para interconectar distintas redes físicas. La formación de la red virtual que conecta
múltiples redes se consigue por medio de unos hosts especiales denominados "routers".

Es importante distinguir entre un hub, un puente, un router y una pasarela.


El hub

Interconecta segmentos de LAN a nivel de interfaz de red y envía tramas entre ellos.
El hub sirve como prolongación del cable físico que conecta las máquinas de la LAN y su única
función es difundir la señal que llega por un cierto puerto (entrada) al resto de puertos. Los
hubs pueden ser pasivos (si no amplifican las señales recibidas por sus puertos) o activos (si las
amplifican).

El conmutador (switch)

Es un dispositivo parecido al hub pero en el que se realiza conmutación entre sus


diferentes puertos, es decir, conmuta los paquetes observando sus direcciones físicas
origen/destino.

Un puente (bridge)

Interconecta segmentos de LAN a nivel de interfaz de red y envía tramas entre ellos.
Un puente realiza la función de retransmisión MAC (Medium Access Control) y es
independiente de cualquier capa superior (incluyendo LLC). Proporciona, si se necesita,
conversión de protocolos a nivel MAC. Un puente es transparente para IP. Es decir, cuando
un host envía un datagrama a otro host en una red con el que se conecta a través de un
puente, envía el datagrama al host y el datagrama cruza el puente sin que el emisor se dé
cuenta. El puente es capaz de aprender las direcciones hardware de las máquinas que tiene en
cada puerto y aislar el tráfico y las colisiones de cada tramo LAN.

Un router

Interconecta redes físicas diferentes a nivel de la capa de red y encamina paquetes


entre ellas. El router debe comprender la estructura de direccionamiento asociada con los
protocolos que soporta (IP en nuestro caso) y debe elegir las mejores rutas de transmisión así
como tamaños óptimos para los datagramas realizando fragmentación si lo considera
oportuno.

La pasarela (gateway)

Interconecta redes a niveles superiores que los puentes y los routers. Una pasarela
suele soportar el mapeado de direcciones de una red a otra, así como la transformación de
datos entre distintos entornos para conseguir conectividad entre los extremos de la
comunicación. Las pasarelas típicamente proporcionan conectividad de dos redes para un
subconjunto de protocolos de aplicación soportados en cada una de ellas. Una pasarela es
opaca para IP. Es decir, un host no puede enviar un datagrama IP a través de una pasarela: sólo
puede enviarlo a la pasarela. La pasarela se ocupa de transmitirlo a la otra red con la
información de los protocolos de alto nivel que vaya en él.
Estrechamente ligado al concepto de pasarela, está el de cortafuegos (firewall), que se usa
para restringir la circulación de datagramas entre redes por motivos de seguridad.
Entrega directa e indirecta

El encaminamiento IP se puede dividir en dos partes: entrega directa y entrega indirecta:

 La entrega directa es la transmisión de un datagrama desde el host origen hasta


el host destino a través de una sola red física, dicho de otra forma, dos hosts sólo
pueden comunicarse mediante entrega directa si ambos están conectados
directamente a la misma red física (por ejemplo, una sola red Ethernet).
Básicamente en la entrega directa el emisor encapsula el datagrama dentro de una
trama física, transforma la dirección IP destino en una dirección física y envía la trama
resultante al destino a través del driver del dispositivo hardware correspondiente.

 La entrega indirecta es necesaria cuando el host destino no está conectado


directamente a la red del origen, lo que implica que el datagrama deberá atravesar
varias redes físicas, y para ello es necesario atravesar routers.
La entrega indirecta es más compleja ya que el host origen ha de identificar al router al
que debe entregar el datagrama, el primer router debe identificar cuál será el
siguiente router al que debe enviar el datagrama, esto también se denomina
identificar el “siguiente salto”.

La comunicación entre dos routers consecutivos de la ruta se realiza siempre mediante


entrega directa, es decir, un determinado router de la ruta y el router del siguiente salto deben
estar conectados a la misma red física, sino no es posible su comunicación. A su vez, el
último router de la ruta que sigue el datagrama debe estar conectado a la misma red física que
el host destino.

Entrega directa e indirecta

El host origen averigua si debe realizar entrega directa o no, es decir, si el host destino
está conectado o no directamente a su red física mediante el prefijo de red. El host origen
extrae el número de red de la dirección IP del destino y la compara con el número de red de su
propia dirección IP. Si ambas se corresponden significa que se puede utilizar entrega directa,
sino se ha de utilizar entrega indirecta.

El algoritmo de encaminamiento

El método utilizado por un router o un host para averiguar la siguiente máquina a la


que debe enviar un determinado datagrama se denomina genéricamente como el “algoritmo
de encaminamiento”.

La gran mayoría de algoritmos de encaminamiento utilizan “tablas de


encaminamiento”. En las tablas de encaminamiento de cada host o router se almacena
información sobre los posibles destinos y sobre cómo alcanzarlos. La información que
contienen las tablas de encaminamiento debe ser mínima, ya que si cada tabla de
encaminamiento contuviera información sobre cada posible dirección destino sería imposible
mantener actualizadas las tablas. Además, las máquinas no tendrían suficiente espacio ni
capacidad de proceso para manejarlas.

Se trata de minimizar la información que deben guardar las tablas aplicando un


esquema de ocultación de información global, manteniendo sólo la información local mínima
necesaria. Afortunadamente el esquema de direccionamiento IP permite realizar esto de
forma fácil: como se mencionó en la sección, la dirección IP se divide en número de red y en
número de host. Mediante este esquema es posible almacenar números de red en las tablas
de encaminamiento en lugar de direcciones IP completas. De esta forma se ocultan los detalles
de qué hosts y cómo están conectados a las diferentes redes y se minimiza el tamaño de las
tablas de encaminamiento.

El contenido de las tablas de encaminamiento suelen ser pares del tipo <N,R>. Donde
N es un número de red y R es la dirección IP del router en el siguiente salto para alcanzar dicha
red (por tanto el router debe estar conectado a la misma red física).

Para simplificar más las tablas de encaminamiento aparece el concepto de “ruta por
defecto”. La ruta por defecto contiene la dirección del router del siguiente salto al que se
deben enviar los datagramas (también denominado router por defecto) si tras recorrer la tabla
de encaminamiento no se encontró ninguna ruta específica para el número de red al que va
dirigido el datagrama.

Aunque se ha comentado la conveniencia de encaminar en base al número de red


destino, la tabla de encaminamiento permite especificar una ruta especial para un host en
particular.

De esta forma el algoritmo básico de encaminamiento de un datagrama IP es el siguiente:

1. Extraer la dirección IP destino D.

2. Computar el prefijo de red N con la máscara local.

3. Si N se corresponde con alguna red física a la que estamos conectados se realiza


entrega directa (realizando ARP).
4. Si no se puede realizar entrega directa, se comprueba si hay ruta específica para D y en
caso afirmativo se envía el datagrama al router del salto siguiente especificado en la
tabla.

5. Si no hay ruta específica, se comprueba si hay una ruta para la red N y en caso
afirmativo se envía el datagrama al router del salto siguiente especificado en la tabla.

6. Si no hay ruta para N, se envía el datagrama al router por defecto especificado en la


tabla.

7. Si no hay ruta por defecto y el software de encaminamiento IP ha llegado a este punto


se produce un error (que se puede reportar mediante ICMP).

Como conclusiones importantes del algoritmo de encaminamiento IP podemos destacar que:

1. En la mayor parte de implementaciones, el tráfico dirigido a una determinada red


desde un host origen va a seguir el mismo camino aunque existan diversas
posibilidades.

2. Sólo el último router de la ruta puede determinar si el host destino está disponible
(estas situaciones se reportan mediante ICMP). Además también necesitamos reportes
de los routers intermedios si sucede algún problema.

3. Los datagramas que viajen de A a B pueden seguir rutas diferentes a los datagramas
que viajen de B a A.

En la figura se muestran 4 redes interconectados a través de 2 routers y la tabla de rutas


del router R1.

Ejemplo de encaminamiento
Es importante entender que a excepción de la disminución del campo TTL
el software de encaminamiento no modifica la cabecera del datagrama original. En particular,
las direcciones IP origen y destino permanecen inalteradas durante toda la ruta.

Por lo que respecta a los datagramas entrantes:

 Cuando un datagrama llega a un host el driver del dispositivo de red lo entrega


al software IP para su procesamiento. El software IP determina si el datagrama es para
el propio host en cuyo caso lo pasa al software del protocolo de nivel alto apropiado. El
datagrama se descarta si no es para el propio host.

 En el caso de los routers, estos deben encaminar el datagrama si no va dirigido hacia


ellos.

Decidir si una máquina es o no la destinataria de un datagrama no es una tarea tan


trivial como a simple vista pueda parecer. En primer lugar pueden haber muchos interfaces de
red cada uno de ellos con su correspondiente dirección IP, se debe comprobar la
correspondiente identificación de subred (si la red está dividida) y además se deben reconocer
los mensajes de broadcast y los de multicast.

También podría gustarte