Ipv 4
Ipv 4
Ipv 4
Estructura de Paquete
Los datos encapsulados se conoce como carga IP. Cabecera IP contiene toda la información
necesaria para entregar el paquete al otro extremo:
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.
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).
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".
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)
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
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 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 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.
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.
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.
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.