Capa de Acceso a la Red
Los protocolos de esta capa proporcionan al sistema los medios para enviar
los datos a otros dispositivos conectados a la red. Es en esta capa donde se
define como usar la red para enviar un datagrama. Es la única capa de la pila
cuyos protocolos deben conocer los detalles de la red física. Este conocimiento
es necesario pues son estos protocolos los que han de dar un formato correcto a
los datos a transmitir, de acuerdo con las restricciones que nos imponga,
físicamente, la red.
Las principales funciones de los protocolos definidos en esta capa son:
- Encapsulación
de los datagramas dentro de los marcos a transmitir por la red.
- Traducción
de las direcciones IP a las direcciones físicas de la red.
Capa de Internet
El protocolo mas importante de esta capa y piedra base de toda la Internet
es el IP. Este protocolo proporciona los servicios básicos de
transmisión de paquetes sobre los cuales se construyen todas las redes TCP/IP.
Las funciones de este protocolo incluyen:
- Definir
del datagrama, que es la unidad básica de transmisión en Internet.
- Definir
el esquema de direccionamiento de Internet.
- Mover
los datos entre la capa de acceso a red y la capa de transporte.
- Encauzar
los datagramas hacia sistemas remotos. (Routing)
- Realizar
la fragmentación y re-ensamblaje de los datagramas.
El protocolo IP es un "protocolo sin conexión", es decir,
no intercambia información de control para establecer una conexión antes de
enviar los datos. En caso de que dicha conexión fuese necesaria, el IP delegará
tal labor en protocolos de otras capas.
Este protocolo tampoco realiza detección de errores o recuperación de datos
ante los mismos.
Los protocolos TCP/IP fueron diseñados para el intercambio de datos en
ARPANET, que era una red de intercambio de paquetes. Un paquete es un bloque de
datos que lleva consigo la información necesaria para enviarlo. Para aclarar
esto podríamos comparar un paquete con una tarjeta postal, en la que no solo
escribimos un mensaje sino que además añadimos los datos pertinentes para que
llegue a su destinatario, nombre, dirección, etc.
Una red de intercambio de paquetes usa esta información para cambiar los
paquetes de una red a otra moviéndolos hacia su destino final. Cada paquete
navega por la red independientemente de cualquier otro paquete..
A la hora de enviar un datagrama, el IP comprueba la dirección de destino.
Aquí nos surgen dos posibilidades:
- Que el
destino sea una maquina de la red local. En este caso se envía el
datagrama directamente a dicha maquina y listo.
- Que el
destino sea una maquina perteneciente a otra red física. En este caso el
IP encauzara el datagrama a través de gateways hacia su destino. El
termino ingles de este encauzamineto, normalmente mas usado que el
español, es routing.
Con la segunda posibilidad surge un problema más. Puesto que el datagrama
va a atravesar distintas redes físicas, puede darse el caso de que su tamaño no
sea adecuado para la transmisión a través de estas redes, pues cada tipo de red
define un tamaño máximo para los paquetes que pueden circular por ella.
En este caso, cuando llegue al gateway, el IP fragmentará el datagrama en
piezas mas pequeñas, y a efectos de facilitar su ensamblaje posterior en la
cabecera de cada pieza resultante se especificará a que datagrama pertenece y
que posición tiene la pieza dentro del datagrama. Para el ensamblaje de las
piezas se comprueban estos campos de la cabecera y otro mas en el que se indica
si hay mas fragmentos que ensamblar o no.
Una vez que el datagrama llega a la maquina de destino, y en concreto a la
capa de Internet, el IP habrá de enviarlo al protocolo correspondiente de la
capa de transporte. Los protocolos de dicha capa tienen asignados unos números
que los identifican y que quedan registrados en la cabecera del datagrama.
Otro protocolo definido en la capa de Internet es el ICMP, protocolo de
control de mensajes en Internet. Dicho protocolo usa el sistema de envío de
mensajes del IP para enviar sus propios mensajes.
Los mensajes enviados por este protocolo realizan las siguientes funciones:
- Control
de flujo:
Cuando los datagramas llegan demasiado rápido a una maquina, de forma que
esta no tiene tiempo para procesarlos, el ICMP de dicha maquina enviará al
emisor de los datagramas un mensaje para que detenga el envío
temporalmente.
- Detección
de destinos inalcanzables: Cuando no se puede alcanzar la dirección de
destino de un datagrama, la máquina que detecta el problema envía a la
dirección de origen de ese datagrama un mensaje notificando dicha
situación.
- Redireccion
de rutas:
Cuando a un gateway, le llega un datagrama a enviar a una máquina, y
existe otro gateway que resulta ser una opción mejor para enviar dicho
datagrama, el primer gateway envía al emisor un mensaje comunicándole
dicha situación para que el envío se haga a través del segundo gateway.
- Chequeo
de sistemas remotos: Una máquina que necesite saber si otra máquina
de otra red está conectada y operacional le enviara un mensaje, llamado
echo, que la otra máquina devolverá si está conectada y operacional. El
comando ping de Unix utiliza este protocolo.
Capa de transporte
Los dos protocolos más importantes de esta capa son el TCP y el UDP.
El primero se encarga de los servicios de envío de datos con detección y
corrección de errores. El UDP proporciona servicios de envío de datagramas sin
conexión.
El protocolo UDP proporciona a los programas de aplicación acceso directo
al envío de datagramas, parecido al servicio que proporciona el IP. Este
permite a las aplicaciones intercambiar mensajes con un mínimo de supervisión
por parte del protocolo.
Este protocolo se usa principalmente en:
- Envío
de pequeñas cantidades de datos, pues seria mas costoso supervisar el
establecimiento de conexiones y asegurar un envío fidedigno que
retransmitir el conjunto de datos completo.
- Aplicaciones
que se ajustan al modelo "pregunta-respuesta". La
respuesta se puede usar como una confirmación a la pregunta. Si no se
recibe respuesta, en un cierto periodo de tiempo, la aplicación,
simplemente, vuelve a enviar la pregunta.
- Aplicaciones
que tienen su propio sistema de verificar que el envío de datos ha sido
fidedigno y no requieren este servicio de los protocolos de la capa de
transporte.
Las aplicaciones que requieren de la capa de transporte un servicio de
transmisión de datos fidedigno, usan el protocolo TCP. Este protocolo verifica
que los datos se envíen a través de la red adecuadamente y en la secuencia
apropiada. Las características de este protocolo son:
- Fiabilidad.
- Orientado
a la conexión y al flujo de datos.
Para lograr la fiabilidad, el TCP, se basa en un mecanismo de
confirmación positiva con retransmisión (PAR, del inglés, Positive Acknowledgement
with Retransmision).
Básicamente, este mecanismo consiste en que el emisor envíe los datos una y
otra vez, hasta que reciba una confirmación de la llegada de los datos en
perfecto estado.
Cada segmento de datos contiene un campo de chequeo que el sistema receptor
usa para verificar la integridad de los datos. Para cada segmento recibido
correctamente se envía una confirmación. Los segmentos dañados se eliminan.
Tras un cierto periodo de tiempo, el emisor, volverá a enviar todos aquellos
segmentos para los que no ha recibido confirmación.
El protocolo TCP es un protocolo orientado a la conexión. Este
protocolo establece una conexión entre las dos máquinas que se comunican. Se
intercambia información de control antes y después de la transmisión de los
datos.
El TCP ve los datos que envía como un flujo continuo de bytes, no
como paquetes independientes. Debido a esto, es necesario enviarlos en la
secuencia adecuada. El TCP, se cuida de mantener esta secuencia mediante los
campos de número de secuencia y número de confirmación de la cabecera de
segmento.
En el paso, de información de control, que realiza el TCP, antes de
establecer la conexión, se intercambian tres paquetes. Dicho intercambio se
denomina "apretón a tres vías".
En el primer segmento, el emisor comunica al receptor, el número inicial de
su secuencia. Esto se realiza poniendo este número en el campo número de
secuencia de la cabecera del segmento, y activando el bit de sincronización
de números de secuencia.
Cuando este segmento llega al receptor este contesta enviando:
- Su
propio número inicial de secuencia, en el campo de número de secuencia
y activando el bit de sincronización.
- La
confirmación de recepción, indicando en el campo de confirmación el
número inicial de secuencia del emisor y activando el bit de confirmación.
Cuando este segundo segmento llega al emisor este confirma la recepción del
mismo enviando un tercer segmento con el número de inicio de secuencia del
receptor en el campo de número de confirmación y el bit de confirmación
activado.
En este momento, el emisor tiene plena conciencia de que la maquina
receptora esta operacional y lista para recibir sus datos, así pues se inicia
el envío de los mismos.
Según se van recibiendo datos, el receptor irá indicando al emisor la correcta
recepción de los mismos. Esto se realiza periódicamente, enviando al emisor un
segmento con el bit de confirmación activado y el número de secuencia del
ultimo byte recibido correctamente. De esta forma nos evitamos el tener que
enviar una confirmación con cada byte recibido.
En el campo de ventana de la cabecera de este mismo segmento se indica el
número de bytes que el receptor es capaz de aceptar. Este número indica al
emisor que puede continuar enviando segmentos siempre y cuando la longitud en bytes
de estos sea inferior al tamaño de la ventana. Un tamaño de ventana cero
indicará al emisor que detenga el envío de segmentos hasta recibir un segmento
con tamaño de ventana mayor que cero.
Cuando el emisor termina de enviar los datos se establece otro
"apretón a tres vías" que difiere del que ha tenido lugar como inicio
de la conexión únicamente, en que en vez de llevar activado el bit de
sincronización, los segmentos llevaran activado el bit de fin de transmisión de
datos.
El TCP es también responsable de enviar los datos recibidos a la aplicación
correcta. La aplicación a la que se destina los datos esta identificada por un
número de 16 bits llamado número de puerto. El número de puerto, tanto del
origen como del destino, se especifica en la cabecera de cada segmento.
Capa de aplicación
En esta capa se incluyen los procesos que usan los protocolos de la capa de
transporte. Hay muchos protocolos de aplicación La mayor parte proporcionan
servicios de usuario y constantemente se añaden nuevos servicios. Algunos de
los protocolos mas conocidos de esta capa son:
- Telnet:
Protocolo que permite la conexión remota de terminales.
- FTP:
Utilizado para efectuar transferencias interactivas de ficheros.
- SMTP: Este
es el protocolo que nos permite enviar correo a través de la red.
Estos tres protocolos hacen uso de los servicios orientados a la conexión
del TCP.
Algunos protocolos que, en cambio, usan los servicios del UDP son:
- DNS:
Protocolo que traduce en direcciones IP los nombres asignados a los
dispositivos de la red.
- NFS:
Protocolo que permite la compartición de ficheros por distintas maquinas
de una red.
- RIP:
Utilizado por los dispositivos de la red para intercambiar información
relativa a las rutas a seguir por los paquetes.
No hay comentarios:
Publicar un comentario