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 |
Cabecera
IP |
Cabecera
TCP |
Datos |
Checksum |
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).