Protocolo IP

Anuncio
Unidad 4
c) Internet.
El problema central es que se tiene una gran variedad de redes diferentes y los usuarios
quieren comunicarse entre sí a través de dichas redes. La pregunta es ¿Cómo
interconectar redes diferentes? Este problema luego se descompone en dos problemas:


Heterogeneidad: Los usuarios de un tipo de red quieren comunicarse con usuarios
de redes de otro tipo y para complicar más las cosas muchas veces para establecer
la conectividad entre dos estaciones conectadas en redes diferentes requiere que la
señal viaje por otras redes intermediarias las cuales también pueden ser diferentes
(Ethernet, token-ring, point-to-point, switched) cada una de ellas con un esquema
de direccionamiento, protocolos de acceso al medio y modelo de servicio
diferentes. El reto es proveer un servicio host-to-host útil y predecible, a través de
esta mezcla de redes.
Escalabilidad: Para entender este problema basta decir que el internet ha ido
creciendo a su doble cada año desde hace 20 años. Esto nos plantea varios retos
uno de ellos es ruteo: ¿Como encontrar una ruta eficiente a través de una red de
millones de nodos?. Muy relacionado a esto está el problema de
direccionamiento, es decir la tarea de proveer identificadores a todos los nodos.
Internetworking (IP).
¿Qué es una Internetwork?
Este término y el de internet suelen usarse indiscriminadamente para referirse a
una colección de redes interconectadas para proveer un servicio de entrega de paquetes
entre hosts. Esto suele ser común en corporaciones grandes en donde construyen su
internetwork privada, interconectando LANs de sus diferentes sitios, por medio de
enlaces point-to-point proveídos por las compañías telefónicas. El Internet es una especie
de internetwork pública.
Podriamos decir que una red es una colección conectados directamente, o por
medio de switch, es decir son llamadas redes físicas. El Internet viene siendo una red
lógica sobre una colección de diferentes redes físicas interconectadas. Una colección de
redes Ethernet conectadas por bridges o switch sigue siendo una sola red.
Network 1 (Ethernet)
H1
H2
H3
H7
R3
Network 4
(point-to-point)
Network 2 (Ethernet)
R1
Network 3 (FDDI)
R2
H4
H5
H8
H6
En la figura anterior se pueden apreciar varias redes interconectadas, Ethernets, anillos
FDI, y point-to-point, cada una usa una tecnología diferente. Los nodos que interconectan
redes se llaman ruteadores. También se les llama gateways, pero este último término
tiene otras connotaciones adicionales, por lo cual usaremos solo el término ruteador.
El IP (Internet Protocol) es la herramienta clave para construir internetworks escalables y
heterogéneas. También fue llamado protocolo Kahn-Cerf, por sus inventores. IP corre en
todos los nodos, hosts y routers, de una colección de redes y define la infraestructura que
permite a estos nodos y redes funcionar como una sola internetwork.
La siguiente figura muestra como los hosts H1 y H8 son conectados lógicamente por la
internet. Observe que los procolos de alto nivel como TCP y UDP corren sobre IP en los
hosts.
H1
H8
TCP
TCP
R1
IP
R2
IP
R3
IP
IP
IP
ETH
ETH
ETH
FDDI
FDDI
PPP
ETH
FDDI
Cabe Mencionar que es posible construir internetworks usando otros protocolos como
IPX de Novell, el cual está basado en XNS de Xerox. Sin embargo IP es el más
interesante debido simplemente al tamaño del internet, lo cual nos dice de su poder de
escalabilidad.
Modelo de Servicio.
Este es uno de los primeros puntos a cubrir al construir una internetwork, definir su
modelo de servicio, esto es que servicios host-to-host desea proveer. Una consideración
importante al definir el modelo de servicio es que podemos proveer servicios host-tohost solo si estos pueden ser proveídos sobre cada una de las redes físicas. Por ejemplo
no sería bueno decir que vamos a proveer servicio de entrega garantizado de cada paquete
en 1 ms o menos si algunas de las redes físicas arbitrariamente retrasan el envío de
paquetes.
El modelo de servicio IP puede verse en dos partes: un esquema de
direccionamiento, que provee una manera de identificar todos los hosts en la internetwork
y un modelo de datagrama (sin conexión) para entrega de datos. Este modelo de servicio
es llamado “best effort” o mejor esfuerzo, pues a pesar de que IP hace su mejor esfuerzo
para entregar los paquetes no garantiza que estos lleguen.
Entrega de Datagramas
El datagrama IP es fundamental para el Protocolo de Internet. Un datagrama es un
paquete que está hecho para ser enviado en modo sin conexión sobre una red. Cada
datagrama trae consigo información que permite a la red encaminar el paquete a su
destino correcto, no se necesita configurar previamente algún mecanismo en la red.
Solamente se envía y la red hace su mejor esfuerzo para hacerlo llegar a su destino. Al
decir mejor esfuerzo “best effort” se supone que si algo resulta mal y el paquete se
pierde, corrompe, mal-envía o de alguna manera no llega a su destino, la red no hace
nada – solamente hace su mejor esfuerzo. No hace ningún intento para recuperarlo de
alguna falla. Esto es conocido como servicio no-confiable “unreliable”.
El servicio sin conexión de mejor esfuerzo es el más simple que puede ofrecer una
internetwork, y es muy importante y poderoso. Por ejemplo si usted provee este servicio
sobre una red confiable, entonces usted tendrá un servicio de mejor esfuerzo que siempre
entregara los paquetes. Si por otra parte usted este servicio sobre una red no confiable,
tendrá que integrar funcionalidades adicionales a los ruteadores para suplir las
deficiencias de la red. Mantener los ruteadores lo más simple posible es uno de os
objetivos e diseño de IP.
La habilidad de IP de correr sobre lo que sea es una de sus características más
importantes. Es significativo que muchas tecnologías sobre las cuales corre IP hoy en día,
no existían cuando fue inventado. Mas aun no se ha inventado alguna tecnología que
demuestre ser extraña para IP.
Entrega de mejor esfuerzo no significa que el paquete se va a perder. A veces ellos llegan
en desorden, y a veces el mismo paquete puede ser entregado muchas veces. Los
protocolos de alto nivel o las aplicaciones deben estar al pendiente de estos posibles
modos de falla.
Formato de Paquete
Una parte clave del modelo del servicio IP es el tipo de los paquetes que pueden ser
transportados. Un datagrama IP consiste de un encabezado seguido por un número de
bytes de datos. El formato esta mostrado en la siguiente figura. De acuerdo a los formatos
usados (Internet Request for Comments ) se manejan como sucesiones de palabras de 32
bits.
Revisando los campos del encabezado de IP se nota que el modelo simple del mejor
esfuerzo en la entrega de datagramas tiene algunas características sutiles. El campo
versión especifica la versión de IP. La versión actual de IP es 4, tambien llamada IPv4.
(La versión 5 fue usada para un protocolo experimental llamado ST-II y la nueva versión
llamada IPv6 o Next Generation). Observe que ubicando este campo al inicio del
datagrama facilita que se pueda redefinir lo demás del datagrama en versiones
subsecuentes. El software que procesa el encabezado empieza por la versión y en función
de este campo continúa procesando el resto del paquete de acuerdo al formato
correspondiente a dicha versión. El siguiente campo es Hlen especifica la longitud del
encabezado en palabras de 32 bits. Cuando no hay opciones, lo cual es casi siempre, el
encabezado mide 5 palabras (20 bytes). El campo TOS (tipo de servicio) mide 8 bits tiene
un número de definiciones diferentes, pero su función básica es permitir que los paquetes
reciban diferente tratamiento dependiendo de las necesidades de las aplicaciones. Por
ejemplo el valor de TOS puede indicar que el paquete se ubique en una cola con bajo
retardo.
Los siguientes 16 bits del encabezado contienen la longitud del datagrama (Length),
incluyendo el encabezado. A diferencia del campo HLen, el campo Length cuenta los
bytes en lugar de palabras. Entonces el tamaño máximo de un datagrama IP es de 65535
bytes. La red física sobre la cual corre sin embargo puede que no permita ese tamaño de
datagrama. Por ello IP permite fragmentación y reensamble. La segunda palabra del
encabezado del datagrama contiene información sobre fragmentación, y los detalles de su
uso los veremos más adelante.
La tercera palabra del encabezado empieza con el campo TTL (Time To Live). Su
nombre refleja su significado histórico en lugar de la forma en que es usado hoy en día.
El propósito de este campo es interceptar paquetes que andan en la red haciendo en rutas
cíclicas y descartarlos, en lugar de dejarlos que anden consumiendo recursos
indefinidamente. TTL tiene un valor en segundos y los ruteadores a lo largo de su ruta
iran decrementando este valor hasta llegar a 0. Sin embargo debido a que es raro que un
paquete pase más de 1 segundo en un ruteador y estos no tienen acceso a un reloj global,
muchos ruteadores decrementan 1 segundo al TTL cada ves que el paquete pase por ellos.
El host que envía es el que inicializa el TTL de los paquetes que transmite, y el problema
es estimar el valor adecuado, pues un valor muy alto podrá ocasionar que un paquete que
cae en un enrutado cíclico pueda dar varias vueltas antes de que sea desechado, pero en
cambio si el valor del TTL es muy pequeño, puede ser que el paquete nunca llegue a su
destino. El valor por omisión es 64.
El campo Protocolo es una llave para demultiplexar que permite identificar el protocolo
de alto nivel al cual el paquete IP será pasado. Por ejemplo hay valores definidos para
TCP(6), UDP(17).
EL valor del campo Checksum es calculado considerando el encabezado completo del IP
como una secuencia de palabras de 16 bits, sumándolos utilizando el complemento 1, y
se toma el complemento a 1 del resultado. Entonces si el encabezado se corrompe el
Checksum no va a contener el valor correcto y se descarta el paquete. Es iomportante
señalar que este tipo de checksum no es tan poderoso como el CRC pero es mas facil de
calcular.
Los siguientes campos son el SourceAddr y el DestinationAddr del paquete, el segundo
de estos es la dirección a donde debe dirigirse el paquete y el primero es la dirección del
host que lo envió.
Por último estan los campos de opciones, el cual aparecerá siempre y cuando el campo
HLen lo tenga contemplado.
Documentos relacionados
Descargar