Ethernet
Ethernet
Ethernet
Cada una de las capas de los modelos OSI y de protocolo TCP/IP, y en cómo se utilizan los
protocolos para lograr la comunicación de red. Estos análisis hacen referencia constantemente a
diversos protocolos clave (TCP, UDP e IP), ya que brindan las bases sobre cómo funcionan
actualmente desde la red más pequeña hasta la red más grande, la Internet. Estos protocolos
comprenden el stack de protocolos TCP/IP y, dado que la Internet se creó utilizando dichos
protocolos, Ethernet es en la actualidad la tecnología LAN preponderante a nivel mundial.
El grupo de trabajo de ingeniería de Internet (IETF) mantiene los protocolos y servicios funcionales
para la suite de protocolos TCP/IP de las capas superiores. Sin embargo, diversas organizaciones
especializadas en ingeniería (IEEE, ANSI, ITU) o empresas privadas (protocolos propietarios)
describen los protocolos y servicios funcionales de la capa de Enlace de datos y la capa física del
modelo OSI. Dado que Ethernet se compone de estándares en estas capas inferiores, puede
decirse que en términos generales se entiende mejor con referencia al modelo OSI. El modelo OSI
separa las funcionalidades de la capa de Enlace de datos de direccionamiento, entramado y acceso
a los medios desde los estándares de la capa física de los medios. Los estándares de Ethernet
definen los protocolos de Capa 2 y las tecnologías de Capa 1. Si bien las especificaciones de
Ethernet admiten diferentes medios, anchos de banda y otras variaciones de Capa 1 y 2, el
formato de trama básico y el esquema de direcciones son los mismos para todas las variedades de
Ethernet.
Estándares de IEEE
La primera LAN (Red de área local) del mundo fue la versión original de Ethernet. Robert Metcalfe
y sus compañeros de Xerox la diseñaron hace más de treinta años. El primer estándar de Ethernet
fue publicado por un consorcio formado por Digital Equipment Corporation, Intel y Xerox (DIX).
Metcalfe quería que Ethernet fuera un estándar compartido a partir del cual todos se podían
beneficiar, de modo que se lanzó como estándar abierto. Los primeros productos que se
desarrollaron a partir del estándar de Ethernet se vendieron a principios de la década de 1980.
En 1985, el comité de estándares para Redes Metropolitanas y Locales del Instituto de Ingenieros
Eléctricos y Electrónicos (IEEE) publicó los estándares para las LAN. Estos estándares comienzan
con el número 802. El estándar para Ethernet es el 802.3. El IEEE quería asegurar que sus
estándares fueran compatibles con los del modelo OSI de la Organización Internacional para la
Estandarización (ISO). Para garantizar la compatibilidad, los estándares IEEE 802.3 debían cubrir las
necesidades de la Capa 1 y de las porciones inferiores de la Capa 2 del modelo OSI. Como
resultado, ciertas pequeñas modificaciones al estándar original de Ethernet se efectuaron en el
802.3.
Ethernet opera en las dos capas inferiores del modelo OSI: la capa de enlace de datos y la capa
física.
4.1.2. CAPA 1 Y CAPA 2
Ethernet opera a través de dos capas del modelo OSI. El modelo ofrece una referencia sobre con
qué puede relacionarse Ethernet, pero en realidad se implementa sólo en la mitad inferior de la
capa de Enlace de datos, que se conoce como subcapa Control de acceso al medio (Media Access
Control, MAC), y la capa física.
Ethernet en la Capa 1 implica señales, streams de bits que se transportan en los medios,
componentes físicos que transmiten las señales a los medios y distintas topologías. La
Capa 1 de Ethernet tiene un papel clave en la comunicación que se produce entre los
dispositivos, pero cada una de estas funciones tiene limitaciones.
Tal como lo muestra la figura, Ethernet en la Capa 2 se ocupa de estas limitaciones. Las
subcapas de enlace de datos contribuyen significativamente a la compatibilidad de
tecnología y la comunicación con la computadora. La subcapa MAC se ocupa de los
componentes físicos que se utilizarán para comunicar la información y prepara los datos
para transmitirlos a través de los medios.
La subcapa Control de enlace lógico (Logical Link Control, LLC) sigue siendo relativamente
independiente del equipo físico que se utilizará para el proceso de comunicación.
Encapsulación de datos
La encapsulación de datos proporciona tres funciones principales:
Delimitación de trama
Direccionamiento
Detección de errores
Topología lógica
La topología lógica subyacente de Ethernet es un bus de multiacceso. Esto
significa que todos los nodos (dispositivos) en ese segmento de la red comparten
el medio. Esto significa además que todos los nodos de ese segmento reciben
todas las tramas transmitidas por cualquier nodo de dicho segmento.
Debido a que todos los nodos reciben todas las tramas, cada nodo debe
determinar si debe aceptar y procesar una determinada trama. Esto requiere
analizar el direccionamiento en la trama provisto por la dirección MAC.
Ethernet ofrece un método para determinar cómo comparten los nodos el acceso
al medio. El método de control de acceso a los medios para Ethernet clásica es el
Acceso múltiple con detección de portadora con detección de colisiónes
(CSMA/CD)
Un host en una red local Ethernet se puede comunicar con otro host conectado en
el mismo segmento de red o se puede comunicar con otro host conectado en una
red remota. Un host en una red local Ethernet puede acceder a recursos tanto
locales como remotos.
Host en la misma red local
Cuando un host accede a recursos locales, se comunica con otro host
conectado en el mismo segmento de red. Durante esta comunicación
utiliza la dirección MAC del host de destino para entregar el mensaje.
Ethernet antigua
En redes 10BASE-T, el punto central del segmento de red era generalmente un
hub. Esto creaba un medio compartido. Debido a que el medio era compartido,
sólo una estación a la vez podía realizar una transmisión de manera exitosa. Este
tipo de conexión se describe como comunicación half-duplex.
A medida que se agregaban más dispositivos a una red Ethernet, la cantidad de
colisiones de tramas aumentaba notablemente. Durante los períodos de poca
actividad de comunicación, las pocas colisiones que se producían se
administraban mediante el CSMA/CD, con muy poco impacto en el rendimiento, en
caso de que lo hubiera. Sin embargo, a medida que la cantidad de dispositivos y el
consiguiente tráfico de datos aumenta, el incremento de las colisiones puede
producir un impacto significativo en la experiencia del usuario.
A modo de analogía, sería similar a cuando salimos a trabajar o vamos a la
escuela a la mañana temprano y las calles están relativamente vacías. Más tarde,
cuando hay más automóviles en las calles, pueden producirse colisiones y generar
demoras en el tráfico.
Ethernet actual
Un desarrollo importante que mejoró el rendimiento de la LAN fue la introducción
de los switches para reemplazar los hubs en redes basadas en Ethernet. Este
desarrollo estaba estrechamente relacionado con el desarrollo de Ethernet
100BASE-TX. Los switches pueden controlar el flujo de datos mediante el
aislamiento de cada uno de los puertos y el envío de una trama sólo al destino
correspondiente (en caso de que se lo conozca) en vez del envío de todas las
tramas a todos los dispositivos.
El switch reduce la cantidad de dispositivos que recibe cada trama, lo que a su vez
disminuye o minimiza la posibilidad de colisiones. Esto, junto con la posterior
introducción de las comunicaciones full-duplex (que tienen una conexión que
puede transportar señales transmitidas y recibidas al mismo tiempo), permitió el
desarrollo de Ethernet de 1 Gbps y más.
Campo Longitud/Tipo
El campo Longitud/Tipo (2 bytes) define la longitud exacta del campo Datos de la trama.
Esto se utiliza posteriormente como parte de la FCS para garantizar que el mensaje se
reciba adecuadamente. En este campo debe ingresarse una longitud o un tipo. Sin embargo,
sólo uno u otro podrá utilizarse en una determinada implementación. Si el objetivo del
campo es designar un tipo, el campo Tipo describe qué protocolo se implementa.
El campo denominado Longitud/Tipo sólo aparecía como Longitud en las versiones
anteriores del IEEE y sólo como Tipo en la versión DIX. Estos dos usos del campo se
combinaron oficialmente en una versión posterior del IEEE, ya que ambos usos eran
comunes. El campo Tipo de la Ethernet II se incorporó a la actual definición de trama del
802.3. La Ethernet II es el formato de trama de Ethernet que se utiliza en redes TCP/IP.
Cuando un nodo recibe una trama, debe analizar el campo Longitud/Tipo para determinar
qué protocolo de capa superior está presente. Si el valor de los dos octetos es equivalente a
0x0600 hexadecimal o 1536 decimal o mayor que éstos, los contenidos del campo Datos se
codifican según el protocolo indicado.
Se les debe asignar un valor exclusivo a todas las direcciones MAC con el mismo
OUI (Identificador exclusivo de organización) (código del fabricante o número de
serie) en los últimos 3 bytes.
La dirección MAC se suele denominar dirección grabada (BIA) porque se
encuentra grabada en la ROM (Memoria de sólo lectura) de la NIC. Esto significa
que la dirección se codifica en el chip de la ROM de manera permanente (el
software no puede cambiarla).
Sin embargo, cuando se inicia el equipo la NIC copia la dirección a la RAM
(Memoria de acceso aleatorio). Cuando se examinan tramas se utiliza la dirección
que se encuentra en la RAM como dirección de origen para compararla con la
dirección de destino. La NIC utiliza la dirección MAC para determinar si un
mensaje debe pasarse a las capas superiores para procesarlo.
Dispositivos de red
Cuando el dispositivo de origen reenvía el mensaje a una red Ethernet, se adjunta
la información del encabezado dentro de la dirección MAC. El dispositivo de origen
envía los datos a través de la red. Cada NIC de la red visualiza la información para
determinar si la dirección MAC coincide con su dirección física. Si no hay
coincidencia, el dispositivo descarta la trama. Cuando la trama llega al destino
donde la MAC de la NIC coincide con la MAC de destino de la trama, la NIC pasa
la trama hasta las capas OSI (Interconexión de sistema abierto), donde se lleva a
cabo el proceso de des encapsulación.
Todos los dispositivos conectados a una LAN Ethernet tienen interfaces con
direcciones MAC. Diferentes fabricantes de hardware y software pueden
representar las direcciones MAC en distintos formatos hexadecimales. Los
formatos de las direcciones pueden ser similares a 00-05-9A-3C-78-00,
00:05:9A:3C:78:00 ó 0005.9A3C.7800. Las direcciones MAC se asignan a
estaciones de trabajo, servidores, impresoras, switches y routers (cualquier
dispositivo que pueda originar o recibir datos en la red).
Conversiones hexadecimales
Las conversiones numéricas entre valores decimales y hexadecimales
son simples, pero no siempre es conveniente dividir o multiplicar por 16.
Si es necesario realizar dichas conversiones, generalmente es más fácil
convertir el valor decimal o hexadecimal a un valor binario y después
convertir dicho valor binario a un valor decimal o hexadecimal, según
corresponda.
Visualización de la MAC
Una herramienta útil para analizar la dirección MAC de nuestra
computadora es ipconfig /all o ifconfig. En el gráfico, observe la dirección
MAC de esta computadora. Si el usuario tiene acceso, es posible que
desee intentar esto en su equipo.
Quizás quiera buscar el OUI de la dirección MAC para determinar quién
es el fabricante de su NIC.
Capa de Red
Las direcciones de capa de Red (Capa 3), como por ejemplo, las direcciones IPv4,
brindan el direccionamiento general y local que se comprende tanto en el origen
como en el destino. Para llegar a su último destino, un paquete transporta la
dirección de destino de Capa 3 desde su origen. Sin embargo, debido a que
diferentes protocolos de la capa de Enlace de datos la traman durante el trayecto,
la dirección de Capa 2 que recibe cada vez se aplica sólo a esa porción local del
trayecto y sus medios.
En resumen:
Detección de portadora
En el método de acceso CSMA/CD, todos los dispositivos de red que tienen
mensajes para enviar deben escuchar antes de transmitir.
Si un dispositivo detecta una señal de otro dispositivo, esperará durante un
período especificado antes de intentar transmitir.
Cuando no se detecte tráfico, un dispositivo transmitirá su mensaje. Mientras se
lleva a cabo la transmisión, el dispositivo continúa escuchando para detectar
tráfico o colisiones en la LAN. Una vez que se envía el mensaje, el dispositivo
regresa a su modo de escucha predeterminado.
Multiacceso
Si la distancia existente entre los dispositivos es tal que la latencia de las señales
de un dispositivo denota que un segundo dispositivo no detecta las señales, el
segundo dispositivo puede comenzar también a transmitir. Los medios tienen
entonces dos dispositivos que transmiten sus señales al mismo tiempo. Sus
mensajes se propagarán por todos los medios hasta que se encuentren. En ese
punto, las señales se mezclan y el mensaje se destruye. Si bien los mensajes se
corrompen, la mezcla de señales restantes continúa propagándose a través de los
medios.
Detección de colisiones
Cuando un dispositivo está en modo de escucha, puede detectar una colisión en el
medio compartido. La detección de una colisión es posible porque todos los
dispositivos pueden detectar un aumento de la amplitud de la señal por encima del
nivel normal.
Una vez que se produce una colisión, los demás dispositivos que se encuentren
en modo de escucha (como así también todos los dispositivos transmisores)
detectarán el aumento de la amplitud de la señal. Una vez detectada la colisión,
todos los dispositivos transmisores continuarán transmitiendo para garantizar que
todos los dispositivos de la red detecten la colisión.
Latencia
Tal como se analizó anteriormente, cada dispositivo que desee transmitir debe
"escuchar" primero el medio para verificar la presencia de tráfico. Si no hay tráfico,
la estación comenzará a transmitir de inmediato. La señal eléctrica que se
transmite requiere una cantidad determinada de tiempo (latencia) para propagarse
(viajar) a través del cable. Cada hub o repetidor en la ruta de la señal agrega
latencia a medida que envía los bits desde un puerto al siguiente.
Este retardo acumulado aumenta la probabilidad de que se produzcan colisiones,
porque un nodo de escucha puede transformarse en señales de transmisión
mientras el hub o repetidor procesa el mensaje. Debido a que la señal no había
alcanzado este nodo mientras estaba escuchando, dicho nodo pensó que el medio
estaba disponible. Esta condición produce generalmente colisiones.
Temporización y sincronización
Tiempo de bit
Para cada velocidad de medios diferente se requiere un período de tiempo
determinado para que un bit pueda colocarse y detectarse en el medio. Dicho
período de tiempo se denomina tiempo de bit. En Ethernet de 10 Mbps, un bit en
la capa MAC requiere de 100 nanosegundos (ns) para ser transmitido. A 100
Mbps, ese mismo bit requiere de 10 ns para ser transmitido. Y a 1000 Mbps, sólo
se requiere 1 ns para transmitir un bit. A menudo, se utiliza una estimación
aproximada de 20,3 centímetros (8 pulgadas) por nanosegundo para calcular el
retardo de propagación en un cable UTP. El resultado es que para 100 metros de
cable UTP se requiere un poco menos de 5 tiempos de bit para que una señal
10BASE-T recorra la longitud del cable.
Para que el CSMA/CD de Ethernet funcione, el dispositivo emisor debe detectar la
colisión antes de que se haya completado la transmisión de una trama del tamaño
mínimo. A 100 Mbps, la temporización del dispositivo apenas es capaz de
funcionar con cables de 100 metros. A 1000 Mbps, ajustes especiales son
necesarios porque se suele transmitir una trama completa del tamaño mínimo
antes de que el primer bit alcance el extremo de los primeros 100 metros de cable
UTP. Por este motivo, no se permite el modo half-duplex en la Ethernet de 10
Gigabits.
Estas consideraciones de temporización deben aplicarse al espacio entre las
tramas y a los tiempos de postergación (ambos temas se analizan en la próxima
sección) para asegurar que cuando un dispositivo transmita su próxima trama, se
ha reducido al mínimo el riesgo de que se produzca una colisión.
Intervalo de tiempo
En Ethernet half-duplex, donde los datos sólo pueden viajar en una dirección a la
vez, el intervalo de tiempo se convierte en un parámetro importante para
determinar cuántos dispositivos pueden compartir una red. Para todas las
velocidades de transmisión de Ethernet de o por debajo de 1000 Mbps, el
estándar describe cómo una transmisión individual no puede ser menor que el
intervalo de tiempo.
La determinación del intervalo de tiempo es una compensación entre la necesidad
de reducir el impacto de la recuperación en caso de colisión (tiempos de
postergación y retransmisión) y la necesidad de que las distancias de red sean lo
suficientemente grandes como para adaptarse a tamaños razonables de red. El
compromiso fue elegir un diámetro de red máximo (2500 metros
aproximadamente) para después establecer la longitud mínima de una trama que
fuera suficiente como para garantizar la detección de todas las peores colisiones.
El intervalo de tiempo para Ethernet de 10 y 100 Mbps es de 512 tiempos de bit o
64 octetos. El intervalo de tiempo para Ethernet de 1000 Mbps es de 4096 tiempos
de bit o 512 octetos.
El intervalo de tiempo garantiza que si está por producirse una colisión, se
detectará dentro de los primeros 512 bits (4096 para Gigabit Ethernet) de la
transmisión de la trama. Esto simplifica el manejo de las retransmisiones de
tramas posteriores a una colisión.
El intervalo de tiempo es un parámetro importante por las siguientes razones:
El intervalo de tiempo de 512 bits establece el tamaño mínimo de una trama
de Ethernet en 64 bytes. Cualquier trama con menos de 64 bytes de
longitud se considera un "fragmento de colisión" o "runt frame" y las
estaciones receptoras la descartan automáticamente.
El intervalo de tiempo determina un límite para el tamaño máximo de los
segmentos de una red. Si la red crece demasiado, pueden producirse
colisiones tardías. La colisiones tardías se consideran una falla en la red,
porque un dispositivo detecta la colisión demasiado tarde durante la
transmisión de tramas y será manejada automáticamente mediante
CSMA/CD.
Señal de congestión
Como recordará, la Ethernet permite que los dispositivos compitan para
el tiempo de transmisión. En caso de que dos dispositivos transmitan
simultáneamente, el CSMA/CD de la red intenta resolver el problema. Sin
embargo, recuerde que cuando se agrega un mayor número de
dispositivos a la red, es posible que las colisiones sean cada vez más
difíciles de resolver.
Tan pronto como se detecta una colisión, los dispositivos transmisores
envían una señal de congestión de 32 bits que la impone. Esto garantiza
que todos los dispositivos de la LAN detectarán la colisión.
Es importante que la señal de congestión no se detecte como una trama
válida; de lo contrario, no podría identificarse la colisión. El patrón de
datos que se observa con mayor frecuencia para una señal de
congestión es simplemente un patrón de 1, 0, 1, 0 que se repite, al igual
que el Preámbulo.
Los mensajes corrompidos, transmitidos de forma parcial, generalmente
se conocen como fragmentos de colisión o runts. Las colisiones normales
tienen menos de 64 octetos de longitud y, por lo tanto, reprueban tanto la
prueba de longitud mínima como la FCS, lo que facilita su identificación.
Temporización de postergación
Una vez producida la colisión y que todos los dispositivos permitan que el
cable quede inactivo (cada uno espera que se cumpla el espacio
completo entre tramas), los dispositivos cuyas transmisiones sufrieron la
colisión deben esperar un período adicional, y cada vez potencialmente
mayor, antes de intentar la retransmisión de la trama que sufrió la
colisión. El período de espera está intencionalmente diseñado para que
sea aleatorio de modo que dos estaciones no demoren la misma
cantidad de tiempo antes de efectuar la retransmisión, lo que causaría
colisiones adicionales. Esto se logra en parte al aumentar el intervalo a
partir del cual se selecciona el tiempo de retransmisión aleatorio cada
vez que se efectúa un intento de retransmisión. El período de espera se
mide en incrementos del intervalo de tiempo del parámetro.
Si la congestión en los medios provoca que la capa MAC no pueda
enviar la trama después de 16 intentos, abandona el intento y genera un
error en la capa de Red. Este tipo de sucesos es raro en una red que
funciona correctamente y sólo sucedería en el caso de cargas de red
extremadamente pesadas o cuando se produce un problema físico en la
red.
Los métodos descriptos en esta sección permitían a Ethernet
proporcionar un servicio superior en una topología de medios
compartidos basándose en el uso de hubs. En la sección de switches
que aparece a continuación, veremos cómo, mediante el uso de
switches, la necesidad de utilizar el CSMA/CD comienza a disminuir o, en
algunos casos, a desaparecer por completo.
Cuando dos hosts están en la misma red y uno quiere enviar un paquete a
otro.
Cuando dos hosts están sobre redes diferentes y deben usar un gateway o
router para alcanzar otro host.
Cuando un router necesita enviar un paquete a un host a través de otro
router.
Cuando un router necesita enviar un paquete a un host de la misma red.
Función
Cuando una máquina desea ponerse en contacto con otra y no se conoce su
dirección IP, entonces necesita un mecanismo dinámico que permite conocer su
dirección física . Entonces envía una petición ARP por broadcast (o sea a todas
las maquinas). El protocolo establece que solo contestara a la petición, si esta
lleva su dirección IP. Por lo tanto solo contestará la maquina que corresponde a la
dirección IP buscada, con un mensaje que incluya la dirección física. El software
de comunicaciones debe mantener una caché con los pares IP-dirección física. De
este modo la siguiente vez que hay que hacer una transmisión a es dirección IP,
ya conoceremos la dirección física.
El protocolo RARP le permite a la estación de trabajo averiguar su dirección IP
desde una tabla de búsqueda entre las direcciones MAC (direcciones físicas) y las
direcciones IP alojadas por una pasarela ubicada en la misma red de área local
(LAN).
Para poder hacerlo, el administrador debe definir los parámetros de la pasarela
(router) con la tabla de búsqueda para las direcciones MAC/IP. A diferencia del
ARP, este protocolo es estático. Por lo que la tabla de búsqueda debe estar
siempre actualizada para permitir la conexión de nuevas tarjetas de interfaz de
red.
Objetivos
El protocolo ARP tiene un papel clave entre los protocolos de capa de Internet
relacionados con el protocolo TCP/IP, ya que permite que se conozca la dirección
física de una tarjeta de interfaz de red correspondiente a una dirección IP. Por eso
se llama Protocolo de Resolución de Dirección.
Cada equipo conectado a la red tiene un número de identificación de 48 bits. Éste
es un número único establecido en la fábrica en el momento de fabricación de la
tarjeta. Sin embargo, la comunicación en Internet no utiliza directamente este
número (ya que las direcciones de los equipos deberían cambiarse cada vez que
se cambia la tarjeta de interfaz de red), sino que utiliza una dirección lógica
asignada por un organismo: la dirección IP.
Para que las direcciones físicas se puedan conectar con las direcciones lógicas, el
protocolo ARP interroga a los equipos de la red para averiguar sus direcciones
físicas y luego crea una tabla de búsqueda entre las direcciones lógicas y físicas
en una memoria caché.
Cuando un equipo debe comunicarse con otro, consulta la tabla de búsqueda. Si
la dirección requerida no se encuentra en la tabla, el protocolo ARP envía una
solicitud a la red. Todos los equipos en la red comparan esta dirección lógica con
la suya. Si alguno de ellos se identifica con esta dirección, el equipo responderá al
ARP, que almacenará el par de direcciones en la tabla de búsqueda, y, a
continuación, podrá establecerse la comunicación.
ARP proxy
Hay ocasiones en las que un host puede enviar una solicitud de ARP con el
objetivo de mapear una dirección IPv4 fuera del alcance de la red local. En estos
casos, el dispositivo envía solicitudes de ARP para direcciones IPv4 que no se
encuentran en la red local en vez de solicitar la dirección MAC asociada a la
dirección IPv4 del gateway. Para proporcionar una dirección MAC para estos
hosts, una interfaz de router puede utilizar un ARP proxy para responder en
nombre de estos hosts remotos. Esto significa que la caché de ARP del dispositivo
solicitante contendrá la dirección MAC del gateway mapeada a cualquier dirección
IP que no se encuentre en la red local. Con el proxy ARP, una interfaz de router
actúa como si fuera el host con la dirección IPv4 solicitada por la solicitud de ARP.
Al "simular" su identidad, el router acepta la responsabilidad de enrutar paquetes
al destino "real".
Uno de los usos que se le da a dicho proceso es cuando una implementación más
antigua de IPv4 no puede determinar si el host de destino se encuentra en la
misma red lógica que el origen. En estas implementaciones, el ARP siempre envía
solicitudes de ARP para la dirección IPv4 de destino. Si el ARP proxy se desactiva
en la interfaz del router, estos hosts no pueden comunicarse fuera de la red local.
Otro caso en el que se utiliza el ARP proxy es cuando un host cree que está
directamente conectado a la misma red lógica que el host de destino. Esto ocurre
generalmente cuando un host se configura con una máscara inapropiada.