4. Niveles físico y de enlace: Ethernet.

Los protocolos que pertenecen al nivel de enlace o interfaz de red de Internet (niveles físico y de enlace en el modelo OSI) deben añadir más información a los datos provenientes de IP para que la transmisión pueda realizarse. Es el caso, por ejemplo, de las redes Ethernet, de uso muy extendido actualmente. Este tipo de redes utiliza su propio sistema de direcciones, junto con una nueva cabecera para los datos.

Las redes locales Ethernet son posiblemente la tecnología que domina en Internet. Este tipo de redes fue desarrollado por Xerox durante los años 70, y entre sus características podemos destacar su alto nivel de rendimiento, la utilización de cable coaxial para la transmisión, una velocidad de 10Mbit/seg. Y CSMA/CD como técnica de acceso.

Ethernet es un medio en el que todos los ordenadores pueden acceder a cada uno de los paquetes que se envían, aunque un ordenador sólo tendrá que prestar atención a aquellos que van dirigidos a él mismo.

La técnica de acceso CSMA/CD (Carrier Sense and Multiple Access with Collition Detection) permite a que todos los dispositivos puedan comunicarse en el mismo medio, aunque sólo puede existir un único emisor en cada instante. De esta manera todos los sistemas pueden ser receptores de forma simultánea, pero la información tiene que ser transmitida por turnos. Si varios dispositivos intentan transmitir en el mismo instante la colisión es detectada, de forma que cada uno de ellos volverá a intentar la transmisión transcurrido un pequeño intervalo de tiempo aleatorio.

Suponemos que el protocolo de nivel de transporte utilizado es el TCP. De esta manera, cuando se pretende enviar un mensaje IP a través de un red Ethernet, la estructura final del mismo quedaría con el siguiente formato:

Cabecera
Ethernet

Cabecera IP
(20 byte)

Cabecera TCP
(20 byte)

Datos

Checksum
Ethernet

La cabecera Ethernet consta de 14 bytes, en los que se incluyen 3 campos: La dirección de origen (48 bit), la dirección de destino (48 bit), y el código de tipo (16 bit) que se utiliza para permitir el uso de diferentes protocolos en la misma red (TCP/IP es uno de ellos). El checksum o campo de detección de errores (32 bit) no se incluye en la cabecera Ethernet, sino que se sitúa al final del mensaje, y se calcula a partir de todos los datos del paquete completo. A estos datos hay que sumar un campo de una longitud de 64 bit que se envía inmediatamente antes de la cabecera, y cuya misión es sincronizar la línea para marcar el momento en que comienzan los datos del paquete completo.

Es importante notar que las direcciones utilizadas por Ethernet no guardan ninguna relación con las direcciones de Internet. Así como las direcciones IP de Internet son asignadas por el usuario, las direcciones Ethernet se asignan "de fábrica". Esta es la razón por la que se utilizan 48 bit en las direcciones, ya que de esta manera se obtiene un número lo suficientemente elevado de direcciones como para asegurar que no sea necesario repetir los valores.

En una red Ethernet los paquetes son transportados de un ordenador a otro de manera que son visibles para todos, siendo necesario un procedimiento para identificar los paquetes que pertenecen a cada ordenador. Cuando el paquete es recibido en el otro extremo, la cabecera y el checksum se retiran, se comprueba que los datos corresponden a un mensaje IP, y este mensaje se pasa al protocolo IP para que sea procesado.

El tamaño máximo para un paquete de datos varía de unas redes a otras. En el caso de Ethernet el tamaño puede ser de 1500 bytes, para otras redes puede ser menor o bastante mayor en el caso de redes muy rápidas. Aquí surge otro problema, pues normalmente los paquetes de tamaño mayor resultan más eficientes para transmitir grandes cantidades de información. Sin embargo, se debe tener en cuenta que las redes del receptor y el emisor pueden ser muy distintas. Por este motivo el protocolo TCP está preparado para negociar el tamaño máximo de los datagramas que serán enviados durante el resto de la conexión. Pero así el problema no queda completamente resuelto porque hasta que los paquetes lleguen a su destino es muy probable que tengan que atravesar otras redes intermedias, las cuales puede que no sean capaces de soportar el tamaño de los paquetes que se está enviando. Se hace necesario entonces dividir el paquete original en otros más pequeños para que puedan ser manejados: Esto se conoce como fragmentación (fragmentation).

La fragmentación es posible gracias a determinados campos que el protocolo IP introduce en su cabecera. Estos campos de fragmentación se usan cuando ha sido necesario dividir el paquete enviado originalmente, de manera que éste pueda ser reconstruido por el host receptor a través del protocolo TCP/IP. Este último proceso de reconstrucción de los paquetes se conoce como "reensamblaje" (reassembly).

Continua...