1. Aplicaciones: La Interfaz Entre Redes

1.1 Modelo OSI y Modelo TCP/IP
El modelo de interconexión de sistemas abiertos es una representación abstracta en capas, creada como guía para el diseño del protocolo de red. El modelo OSI divide el proceso de networking en diferentes capas lógicas, cada una de las cuales tiene una funcionalidad única y a la cual se le asignan protocolos y servicios específicos.
En este modelo, la información se pasa de una capa a otra, comenzando en la capa de aplicación en el host de transmisión, siguiendo por la jerarquía hacia la capa física y pasando por el canal de comunicaciones al host de destino, donde la información vuelve a la jerarquía y termina en la capa de aplicación.
La capa de aplicación, la séptima capa, es la capa superior de los modelos OSI y TCP/IP. Es la capa que proporciona la interfaz entre las aplicaciones que utilizamos para comunicarnos y la red subyacente en la cual se transmiten los mensajes. Los protocolos de capa de aplicación se utilizan para intercambiar los datos entre los programas que se ejecutan en los hosts de origen y destino. Existen muchos protocolos de capa de aplicación y siempre se desarrollan protocolos nuevos.

Aunque el grupo de protocolos TCP/IP se desarrolló antes de la definición del modelo OSI, la funcionalidad de los protocolos de la capa de aplicación de TCP/IP se adaptan aproximadamente a la estructura de las tres capas superiores del modelo OSI. Capas de aplicación, presentación y sesión.
La mayoría de los protocolos de la capa de aplicación de TCP/IP se desarrollaron antes de la aparición de computadoras personales, interfaces del usuario gráficas y objetos multimedia. Como resultado, estos protocolos implementan muy poco de la funcionalidad que es especifica en las capas de presentación y sesión del modelo OSI.

La Capa de Presentación
La capa de presentación tiene tres funciones principales:

- Codificación y conversión de datos de la capa de aplicación para garantizar que los datos del dispositivo de origen se puedan interpretar por la aplicación adecuada en el dispositivo de destino.
- Compresión de los datos de forma que los pueda descomprimir el dispositivo de destino.
- Encriptación de los datos para la transmisión y la encriptación de los mismos cuando lleguen a su destino.

Generalmente, las implementaciones de la capa de presentación no están relacionadas con un stack de protocolos en particular. Los estándares para videos y gráficos son algunos ejemplos. Dentro de los estándares más conocidos para video encontramos QuickTime y el Grupo de expertos en películas (MPEG). QuickTime es una especificación de Apple Computer para audio y video, y MPEG es un estándar para la codificación y compresión de videos.
Dentro de los formatos de imagen gráfica más conocidos encontramos el Formato de intercambio gráfico (GIF), Grupo de expertos en fotografía (JPEG) y Formato de archivo de imagen etiquetada (TIFF). GIF y JPEG son estándares de compresión y codificación para imágenes gráficas, y TIFF es un formato de codificación estándar para imágenes gráficas.

La Capa de Sesión
Como lo indica el nombre de la capa de sesión, las funciones en esta capa crean y mantienen diálogos entre las aplicaciones de origen y destino. La capa de sesión maneja el intercambio de información para iniciar los diálogos y mantenerlos activos, y para reiniciar sesiones que se interrumpieron o desactivaron durante un periodo de tiempo prolongado.
La mayoría de las aplicaciones, como los exploradores Web o los clientes de correo electrónico, incorporan la funcionalidad de las Capas 5, 6 y 7 del modelo OSI.


Los protocolos de capa de aplicación de TCP/IP más conocidos son aquéllos que proporcionan intercambio de la información del usuario. Estos protocolos especifican la información de control y formato necesaria para muchas de las funciones de comunicación de Internet más comunes. Algunos de los protocolos TCP/IP son:
- El Protocolo servicio de nombres de dominio (DNS, Domain Name Service) se utiliza para resolver nombres de Internet para direcciones IP.
- El Protocolo de transferencia de hipertexto (HTTP, Hypertext Transfer Protocol) se utiliza para transferir archivos que forman las páginas Web de la World Wide Web.
- El Protocolo simple de transferencia de correo (SMTP) se utiliza para la transferencia de mensajes de correo y adjuntos.
- Telnet, un protocolo de emulación de terminal, se utiliza para proporcionar acceso remoto a servidores y a dispositivos de red.
- El Protocolo de transferencia de archivos (FTP) se utiliza para la transferencia de archivos interactiva entre sistemas.

Los protocolos en la suite de TCP/IP los definen generalmente las Solicitudes de comentarios (RFC). El Grupo de trabajo de ingeniería de Internet mantiene las RFC como los estándares para la suite de TCP/IP.


1.2 Software de la Capa de Aplicación
Las funciones asociadas con los protocolos de la capa de aplicación permiten a la red humana comunicarse con la red de datos subyacente. Cuando abrimos un explorador Web o una ventana de mensajería instantánea se inicia una aplicación, y el programa se coloca en la memoria del dispositivo donde se ejecuta. Cada programa ejecutable cargado a un dispositivo se denomina proceso.
Dentro de la capa de aplicación, existen dos formas de procesos o programas de software que proporcionan acceso a la red: aplicaciones y servicios.

Aplicaciones Reconocidas por la Red
Las aplicaciones son los programas de software que utiliza la gente para comunicarse a través de la red.. Algunas aplicaciones de usuario final son reconocidas por la red, lo cual significa que implementan los protocolos de la capa de aplicación y pueden comunicarse directamente con las capas inferiores del stack de protocolos. Los clientes de correo electrónico y los exploradores Web son ejemplos de este tipo de aplicaciones.

Servicios de la Capa de Aplicación
Otros programas pueden necesitar la ayuda de los servicios de la capa de aplicación para utilizar los recursos de la red, como transferencia de archivos o cola de impresión en la red. Aunque son transparentes para el usuario, estos servicios son los programas que se comunican con la red y preparan los datos para la transferencia. Diferentes tipos de datos, ya sea texto, gráfico o video, requieren de diversos servicios de red para asegurarse de que estén bien preparados para procesar las funciones de las capas inferiores del modelo OSI.
Cada servicio de red o aplicación utiliza protocolos que definen los estándares y formatos de datos a utilizarse. Sin protocolos, la red de datos no tendría una manera común de formatear y direccionar los datos. Es necesario familiarizarse con los protocolos subyacentes que rigen la operación de los diferentes servicios de red para entender su función.

1.3. Funciones del Protocolo de la Capa de Aplicación
Los protocolos de la capa de aplicación los utilizan tanto los dispositivos de origen como de destino durante una sesión de comunicación. Los protocolos de la capa de aplicación que se implementaron en los hosts de origen y destino deben coincidir para que las comunicaciones tengan éxito.
Los protocolos establecen reglas consistentes para el intercambio de datos entre aplicaciones y servicios cargados en los dispositivos participantes. Los protocolos especifican cómo se estructuran los datos dentro de los mensajes y los tipos de mensajes que se envían entre origen y destino. Estos mensajes pueden ser solicitudes de servicios, acuses de recibo, mensajes de datos, mensajes de estado o mensajes de error. Los protocolos también definen los diálogos de mensajes, asegurando que un mensaje enviado encuentre la respuesta esperada y se invoquen los servicios correspondientes cuando se realiza la transferencia de datos.
Muchos tipos de aplicaciones diferentes se comunican a través de las redes de datos. Por lo tanto, los servicios de la capa de aplicación deben implementar protocolos múltiples para proporcionar la variedad deseada de experiencias de comunicación. Cada protocolo tiene un fin específico y contiene las características requeridas para cumplir con dicho propósito. Deben seguirse los detalles del protocolo correspondiente a cada capa, así las funciones en una capa se comunican correctamente con los servicios en la capa inferior.
Las aplicaciones y los servicios también pueden utilizar protocolos múltiples durante el curso de una comunicación simple. Un protocolo puede especificar cómo se establece la conexión de redes y otro describir el proceso para la transferencia de datos cuando el mensaje se pasa a la siguiente capa inferior.

Resumiendo:
En general los protocolos de la capa de aplicación proporcionan las reglas para la comunicación entre las aplicaciones. Y son las siguientes:
- Define los procesos en cada uno de los extremos de la comunicación.
- Define los tipos de mensajes.
- Define la sintaxis de los mensajes.
- Define el significado de los campos de información.
- Define la forma en que se envían los mensajes y la respuesta esperada.
- Define la interacción con la próxima capa inferior.


2. Toma de Medidas para las Aplicaciones y Servicios

2.1. El Modelo Cliente-Servidor
Cuando la gente intenta acceder a información en sus dispositivos, ya sean éstos una computadora personal o portátil, un PDA, un teléfono celular o cualquier otro dispositivo conectado a la red, los datos pueden no estar físicamente almacenados en sus dispositivos. Si así fuera, se debe solicitar permiso al dispositivo que contiene los datos para acceder a esa información.
En el modelo cliente/servidor, el dispositivo que solicita información se denomina cliente y el dispositivo que responde a la solicitud se denomina servidor. Los procesos de cliente y servidor se consideran una parte de la capa de aplicación. El cliente comienza el intercambio solicitando los datos al servidor, quien responde enviando uno o más streams de datos al cliente. Los protocolos de la capa de aplicación describen el formato de las solicitudes y respuestas entre clientes y servidores. Además de la transferencia real de datos, este intercambio puede requerir de información adicional, como la autenticación del usuario y la identificación de un archivo de datos a transferir.
Un ejemplo de una red cliente-servidor es un entorno corporativo donde los empleados utilizan un servidor de correo electrónico de la empresa para enviar, recibir y almacenar correos electrónicos. El cliente de correo electrónico en la computadora de un empleado emite una solicitud al servidor de correo electrónico para un mensaje no leído. El servidor responde enviando al cliente el correo electrónico solicitado.
Aunque los datos se describen generalmente como el flujo del servidor al cliente, algunos datos fluyen siempre del cliente al servidor. El flujo de datos puede ser el mismo en ambas direcciones, o inclusive puede ser mayor en la dirección que va del cliente al servidor. Por ejemplo, un cliente puede transferir un archivo al servidor con fines de almacenamiento. La transferencia de datos de un cliente a un servidor se denomina cargar y de datos de un servidor a un cliente se conoce como descarga.

2.2. Servidores
En un contexto general de redes, cualquier dispositivo que responde a una solicitud de aplicaciones de cliente funciona como un servidor. Un servidor generalmente es una computadora que contiene información para ser compartida con muchos sistemas de cliente. Por ejemplo, páginas Web, documentos, bases de datos, imágenes, archivos de audio y video pueden almacenarse en un servidor y enviarse a los clientes que lo solicitan. En otros casos, como una impresora de red, el servidor de impresión envía al cliente solicitudes para la impresora que se especifica.
Los diferentes tipos de aplicaciones de servidor pueden tener diferentes requisitos para el acceso del cliente. Algunos servidores pueden requerir de autenticación de la información de cuenta del usuario para verificar si el usuario tiene permiso para acceder a los datos solicitados o para utilizar una operación en particular. Dichos servidores deben contar con una lista central de cuentas de usuarios y autorizaciones, o permisos (para operaciones y acceso a datos) otorgados a cada usuario. Cuando se utiliza un cliente FTP, por ejemplo, si usted pide cargar datos al servidor FTP, se le puede dar permiso para escribir en su carpeta personal, pero no para leer otros archivos del sitio.
En una red cliente-servidor, el servidor ejecuta un servicio o proceso, a veces denominado daemon. Al igual que la mayoría de los servicios, los demonios generalmente se ejecutan en segundo plano y no se encuentran bajo control directo del usuario. Los demonios se describen como servidores que "escuchan" una solicitud del cliente porque están programados para responder cada vez que el servidor recibe una solicitud para el servicio proporcionado por el demonio. Cuando un demonio "escucha" la solicitud de un cliente, intercambia los mensajes adecuados con el cliente, según lo requerido por su protocolo, y procede a enviar los datos solicitados en el formato correspondiente.

2.3. Servicios y Protocolos de la Capa de Aplicación
Una sola aplicación puede emplear diferentes servicios de la capa de aplicación, así lo que aparece para el usuario como una solicitud para una página Web puede, de hecho, equivaler a docenas de solicitudes individuales. Y, para cada solicitud, pueden ejecutarse múltiples procesos. Por ejemplo, un cliente puede necesitar de diversos procesos individuales para formular sólo una solicitud al servidor.
Además, los servidores generalmente tienen múltiples clientes que solicitan información al mismo tiempo. Por ejemplo, un servidor Telnet puede tener varios clientes que requieren conectarse a él. Estas solicitudes individuales del cliente pueden manejarse en forma simultánea y separada para que la red sea exitosa. Los servicios y procesos de la capa de aplicación dependen del soporte de las funciones de la capa inferior para administrar en forma exitosa las múltiples conversaciones.

2.4. Redes y Aplicaciones Punto a Punto (P2P)

El modelo punto a punto
Además del modelo cliente-servidor para networking, existe también un modelo punto a punto. Las redes punto a punto tienen dos formas distintivas: diseño de redes punto a punto y aplicaciones punto a punto (P2P). Ambas formas tienen características similares, pero en la práctica son muy diferentes.

Redes punto a punto
En una red punto a punto, dos o más computadoras están conectadas por medio de una red y pueden compartir recursos (como impresoras y archivos) sin tener un servidor dedicado. Cada dispositivo final conectado (conocido como punto) puede funcionar como un servidor o como un cliente. Una computadora puede asumir la función de servidor para una transacción mientras funciona en forma simultánea como cliente para otra transacción. Las funciones de cliente y servidor se establecen por solicitud.
Una red doméstica sencilla con dos computadoras conectadas compartiendo una impresora es un ejemplo de una red punto a punto. Cada persona puede configurar su computadora para compartir archivos, habilitar juegos en red o compartir una conexión de Internet. Otro ejemplo sobre la funcionalidad de la red punto a punto son dos computadoras conectadas a una gran red que utilizan aplicaciones de software para compartir recursos entre ellas a través de la red.
A diferencia del modelo cliente-servidor, que utiliza servidores dedicados, las redes punto a punto descentralizan los recursos en una red. En lugar de ubicar información para compartir en los servidores dedicados, la información puede colocarse en cualquier parte de un dispositivo conectado. La mayoría de los sistemas operativos actuales admiten compartir archivos e impresoras sin requerir software del servidor adicional. Debido a que las redes punto a punto generalmente no utilizan cuentas de usuarios centralizadas, permisos ni monitores, es difícil implementar las políticas de acceso y seguridad en las redes que contienen mayor cantidad de computadoras. Se deben establecer cuentas de usuario y derechos de acceso en forma individual para cada dispositivo.

Aplicaciones Punto a Punto
Una aplicación punto a punto (P2P), a diferencia de una red punto a punto, permite a un dispositivo actuar como cliente o como servidor dentro de la misma comunicación. En este modelo, cada cliente es un servidor y cada servidor es un cliente. Ambos pueden iniciar una comunicación y se consideran iguales en el proceso de comunicación. Sin embargo, las aplicaciones punto a punto requieren que cada dispositivo final proporcione una interfaz de usuario y ejecute un servicio en segundo plano. Cuando inicia una aplicación punto a punto específica, ésta invoca la interfaz de usuario requerida y los servicios en segundo plano. Después de eso, los dispositivos se pueden comunicar directamente.
Algunas aplicaciones P2P utilizan un sistema híbrido donde se descentraliza el intercambio de recursos, pero los índices que apuntan a las ubicaciones de los recursos están almacenados en un directorio centralizado. En un sistema híbrido, cada punto accede a un servidor de índice para alcanzar la ubicación de un recurso almacenado en otro punto. El servidor de índice también puede ayudar a conectar dos puntos, pero una vez conectados, la comunicación se lleva a cabo entre los dos puntos sin comunicación adicional al servidor de índice.
Las aplicaciones punto a punto pueden utilizarse en las redes punto a punto, en redes cliente-servidor y en Internet.

3. Ejemplos de Servicios y Protocolos de la Capa de Aplicación

3.1. Protocolos y Servicios DNS
Ahora que tenemos una mejor comprensión de cómo las aplicaciones proporcionan una interfaz para el usuario y acceso a la red, veremos algunos protocolos específicos utilizados comúnmente.
La capa de transporte utiliza un esquema de direccionamiento llamado número de puerto. Los números de puerto identifican las aplicaciones y los servicios de la capa de aplicación que son el origen y el destino de los datos. Los programas del servidor generalmente utilizan números de puerto predefinidos comúnmente conocidos por los clientes. Mientras examinamos los diferentes servicios y protocolos de la capa de aplicación de TCP/IP, nos referiremos a los números de puerto TCP y UDP normalmente asociados con estos servicios. Algunos de estos servicios son:
- Sistema de nombres de dominios (DNS) - TCP/UDP puerto 53
- Protocolo de transferencia de hipertexto (HTTP) - TCP puerto 80
- Protocolo simple de transferencia de correo (SMTP) - TCP puerto 25
- Protocolo de oficina de correos (POP) - TCP puerto 110
- Telnet - TCP puerto 23
- Protocolo de configuración dinámica de host - UDP puertos 67 y 68
- Protocolo de transferencia de archivos (FTP) - TCP puertos 20 y 21

DNS
En las redes de datos, los dispositivos se etiquetan con una dirección IP numérica, de manera que pueden participar en el envío y la recepción de mensajes de la red. Sin embargo, la mayoría de las personas pasan mucho tiempo tratando de recordar estas direcciones numéricas. Por lo tanto, los nombres de dominios se crearon para convertir las direcciones numéricas en un nombre sencillo y reconocible.
En Internet, estos nombres de dominio, tales como www.trujillosoft.com, son mucho más fáciles de recordar para la gente que algo como 198.133.219.25, el cual es la dirección numérica actual para ese servidor. Además, si Trujillosoft decide cambiar la dirección numérica, es transparente para el usuario, ya que el nombre de dominio seguirá siendo www.trujillosoft.com. La nueva dirección simplemente estará enlazada con el nombre de dominio existente y la conectividad se mantendrá. Cuando las redes eran pequeñas, resultaba fácil mantener la asignación entre los nombres de dominios y las direcciones que representaban. Sin embargo, a medida que las redes y el número de dispositivos comenzó a crecer, el sistema manual dejó de ser práctico.
El Sistema de nombres de dominios (DNS) se creó para que el nombre del dominio busque soluciones para estas redes. DNS utiliza un conjunto distribuido de servidores para resolver los nombres asociados con estas direcciones numéricas.
El protocolo DNS define un servicio automatizado que coincide con nombres de recursos que tienen la dirección de red numérica solicitada. Incluye las consultas sobre formato, las respuestas y los formatos de datos. Las comunicaciones del protocolo DNS utilizan un formato simple llamado mensaje. Este formato de mensaje se utiliza para todos los tipos de solicitudes de clientes y respuestas del servidor, mensajes de error y para la transferencia de información de registro de recursos entre servidores.
DNS es un servicio cliente-servidor; sin embargo, difiere de los otros servicios cliente-servidor que estamos examinando. Mientras otros servicios utilizan un cliente que es una aplicación (como un explorador Web o un cliente de correo electrónico), el cliente DNS ejecuta un servicio por sí mismo. El cliente DNS, a veces denominado resolución DNS, admite la resolución de nombres para otras aplicaciones de red y servicios que lo necesiten.
Al configurar un dispositivo de red, generalmente proporcionamos una o más direcciones del servidor DNS que el cliente DNS puede utilizar para la resolución de nombres. En general, el proveedor de servicios de Internet provee las direcciones para utilizar con los servidores DNS. Cuando la aplicación del usuario pide conectarse a un dispositivo remoto por nombre, el cliente DNS solicitante consulta uno de estos servidores de denominación para resolver el nombre para una dirección numérica.
Los sistemas operativos computacionales también cuentan con una herramienta llamada nslookup que permite que el usuario consulte de forma manual los servidores de nombres para resolver un nombre de host dado. Esta utilidad también puede utilizarse para solucionar los problemas de resolución de nombres y verificar el estado actual de los servidores de nombres.
Un servidor DNS proporciona la resolución de nombres utilizando el demonio de nombres que generalmente se llama named (se pronuncia name-dee).
El servidor DNS almacena diferentes tipos de registros de recursos utilizados para resolver nombres. Estos registros contienen el nombre, la dirección y el tipo de registro.
Algunos de estos tipos de registros son:

- A: una dirección de dispositivo final
- NS: un servidor de nombre autoritativo
- CNAME: el nombre canónico (o Nombre de dominio completamente calificado) para un alias que se utiliza cuando varios servicios tienen una dirección de red única, pero cada servicio tiene su propia entrada en el DNS
- MX: registro de intercambio de correos; asigna un nombre de dominio a una lista de servidores de intercambio de correos para ese dominio

Cuando un cliente hace una consulta, el proceso "nombrado" del servidor busca primero en sus propios registros para ver si puede resolver el nombre. Si no puede resolverlo con sus registros almacenados, contacta a otros servidores para hacerlo.
La solicitud puede pasar a lo largo de cierta cantidad de servidores, lo cual puede tomar más tiempo y consumir banda ancha. Una vez que se encuentra una coincidencia y se devuelve al servidor solicitante original, el servidor almacena temporalmente en la caché la dirección numerada que coincide con el nombre.
Si vuelve a solicitarse ese mismo nombre, el primer servidor puede regresar la dirección utilizando el valor almacenado en el caché de nombres. El almacenamiento en caché reduce el tráfico de la red de datos de consultas DNS y las cargas de trabajo de los servidores más altos de la jerarquía. El servicio del cliente DNS en las PC de Windows optimiza el rendimiento de la resolución de nombres DNS almacenando previamente los nombres resueltos en la memoria. El comando ipconfig /displaydns muestra todas las entradas DNS en caché en un sistema informático con Windows XP o 2000.

El sistema de nombres de dominios utiliza un sistema jerárquico para crear una base de datos y así proporcionar una resolución de nombres. La jerarquía es similar a un árbol invertido con la raíz en la parte superior y las ramas por debajo.
En la parte superior de la jerarquía, los servidores raíz mantienen registros sobre cómo alcanzar los servidores de dominio de nivel superior, los cuales a su vez tienen registros que apuntan a los servidores de dominio de nivel secundario y así sucesivamente.
Los diferentes dominios de primer nivel representan el tipo de organización o el país de origen. Entre los ejemplos de dominios del nivel superior se encuentran:

.au: Australia
.co: Colombia
.com: una empresa o industria
.jp: Japón
.org: una organización sin fines de lucro

Después de los dominios del nivel superior, se encuentran los nombres de los dominios de segundo nivel y debajo de estos hay otros dominios de nivel inferior.
Cada nombre de dominio es una ruta hacia este árbol invertido que comienza de la raíz.
El DNS depende de una jerarquía de servidores descentralizados para almacenar y mantener estos registros de recursos. Los registros de recursos enumeran nombres de dominios que el servidor puede resolver y servidores alternativos que también pueden procesar solicitudes. Si un servidor dado tiene registros de recursos que corresponden a su nivel en la jerarquía de dominios, se dice que es autoritativo para dichos registros.

3.2. Servicio WWW y HTTP
Cuando se escribe una dirección Web (o URL) en un explorador de Internet, el explorador establece una conexión con el servicio Web del servidor que utiliza el protocolo HTTP. URL (o Localizador Uniforme de Recursos) y URI (Identificador Uniforme de Recursos) son los nombres que la mayoría de las personas asocian con las direcciones Web.
El URL http://www.trujillosoft.com/index.html es un ejemplo que se refiere a un recurso específico, una página Web llamada index.html en un servidor identificado como trujillosoft.com.
Los exploradores Web son las aplicaciones cliente que utilizan nuestras computadoras para conectarse a la World Wide Web y acceder a recursos almacenados en un servidor Web. Al igual que con la mayoría de los procesos de servidores, el servidor Web funciona como un servicio básico y genera diferentes tipos de archivos disponibles.
Para acceder al contenido, los clientes Web realizan conexiones al servidor y solicitan los recursos deseados. El servidor responde con el recurso y, al recibirlo, el explorador interpreta los datos y los presenta al usuario.
Los buscadores pueden interpretar y presentar muchos tipos de datos, como texto sin cifrar o Lenguaje de marcas de hipertexto (HTML, el lenguaje en el que se crean las páginas Web). Otros tipos de datos, sin embargo, requieren de otro servicio o programa. Generalmente se les conoce como plug-ins o complementos. Para ayudar al explorador a determinar qué tipo de archivo está recibiendo, el servidor especifica qué clase de datos contiene el archivo.
Para comprender mejor cómo interactúan el explorador Web y el cliente Web, podemos analizar cómo se abre una página Web en un explorador. Para este ejemplo, utilizaremos la dirección URL: http://www.trujillosoft.com/web-server.htm.
Primero, el explorador interpreta las tres partes del URL:
1. http (el protocolo o esquema)
2. www.trujillosoft.com (el nombre del servidor)
3. web-server.htm (el nombre de archivo específico solicitado).
Después, el explorador verifica con un servidor de nombres para convertir a www.trujillosoft.com en una dirección numérica que utilizará para conectarse con el servidor. Al utilizar los requerimientos del protocolo HTTP, el explorador envía una solicitud GET al servidor y pide el archivo web-server.htm. El servidor, a su vez, envía al explorador el código HTML de esta página Web. Finalmente, el explorador descifra el código HTML y da formato a la página para la ventana del explorador.
El protocolo de transferencia de hipertexto (HTTP), uno de los protocolos del grupo TCP/IP, se desarrolló en sus comienzos para publicar y recuperar las páginas HTML, y en la actualidad se utiliza para sistemas de información distribuidos y de colaboración. HTTP se utiliza a través de la World Wide Web para transferencia de datos y es uno de los protocolos de aplicación más utilizados.
HTTP especifica un protocolo de solicitud/respuesta. Cuando un cliente, generalmente un explorador Web, envía un mensaje de solicitud a un servidor, el protocolo HTTP define los tipos de mensajes que el cliente utiliza para solicitar la página Web y envía los tipos de mensajes que el servidor utiliza para responder. Los tres tipos de mensajes comunes son GET, POST y PUT.
GET es una solicitud de datos por parte del cliente. Un explorador Web envía el mensaje GET para solicitar las páginas desde un servidor Web.
POST y PUT se utilizan para enviar mensajes que cargan datos en el servidor Web. Por ejemplo, cuando el usuario ingresa información en un formato incluido en una página Web, POST incluye la información en el mensaje enviado al servidor.
PUT carga los recursos o el contenido en el servidor Web.
Aunque es muy flexible, HTTP no es un protocolo seguro. Los mensajes POST cargan información al servidor en un texto sin formato que se puede interceptar y leer. De forma similar, las respuestas del servidor, generalmente páginas HTML, también se descifran.
Para una comunicación segura a través de Internet, se utiliza el protocolo HTTP seguro (HTTPS) para acceder o subir información al servidor Web. HTTPS puede utilizar autenticación y encriptación para asegurar los datos cuando viajan entre el cliente y el servidor. HTTPS especifica reglas adicionales para pasar los datos entre la capa de aplicación y la capa de transporte.

3.3. Servicios de Correo Electrónico y Protocolos SMTP/POP
Correo electrónico, el servidor de red más conocido, ha revolucionado la manera en que nos comunicamos, por su simpleza y velocidad. Inclusive para ejecutarse en una computadora o en otro dispositivo, los correos electrónicos requieren de diversos servicios y aplicaciones. Dos ejemplos de protocolos de capa de aplicación son el Protocolo de oficina de correos (POP) y el Protocolo simple de transferencia de correo (SMTP), que aparecen en la figura. Como con el HTTP, estos protocolos definen los procesos de cliente-servidor.
Cuando la gente redacta mensajes de correo electrónico, generalmente utilizan una aplicación llamada Agente de usuario de correo (MUA), o un cliente de correo electrónico. MUA permite enviar los mensajes y colocar los recibidos en el buzón del cliente; ambos procesos son diferentes.
Para recibir correos electrónicos desde un servidor de correo, el cliente de correo electrónico puede utilizar un POP. Al enviar un correo electrónico desde un cliente o un servidor se utilizan formatos de mensajes y cadenas de comando definidas por el protocolo SMTP. En general, un cliente de correo electrónico proporciona la funcionalidad de ambos protocolos dentro de una aplicación.
Los clientes envían correo electrónico a un servidor mediante SMTP y reciben correo electrónico mediante POP3.


Procesos del Servidor de Correo Electrónico: MTA y MDA
El servidor de correo electrónico utiliza dos procesos independientes:

- Agente de transferencia de correo (MTA)
- Agente de entrega de correo (MDA)

El proceso Agente de transferencia de correo (MTA) se utiliza para enviar correo electrónico. Como se muestra en la figura, el MTA recibe mensajes desde el MUA u otro MTA en otro servidor de correo electrónico. Según el encabezado del mensaje, determina cómo debe reenviarse un mensaje para llegar al destino. Si el correo está dirigido a un usuario cuyo buzón está en el servidor local, el correo se pasa al MDA. Si el correo es para un usuario que no está en el servidor local, el MTA enruta el correo electrónico al MTA en el servidor correspondiente.
El proceso de agente de transferencia de correo rige el manejo de correo electrónico entre servidores.


En la siguiente figura, vemos que el Agente de entrega de correo (MDA) acepta una parte del correo electrónico desde un Agente de transferencia de correo (MTA) y realiza el envío real. El MDA recibe todo el correo entrante desde el MTA y lo coloca en los buzones de los usuarios correspondientes. El MDA también puede resolver temas de entrega final, como análisis de virus, correo no deseado filtrado y manejo de acuses de recibo. La mayoría de las comunicaciones de correo electrónico utilizan las aplicaciones MUA, MTA y MDA. Sin embargo, hay otras alternativas para el envío de correo electrónico.
Un cliente puede estar conectado a un sistema de correo electrónico corporativo, como Lotus Notes de IBM, Groupwise de Novell o Exchange de Microsoft. Estos sistemas con frecuencia tienen su propio formato interno de correo electrónico, y sus clientes generalmente se comunican con el servidor de correo electrónico mediante un protocolo propietario. El servidor envía o recibe correo electrónico por medio de Internet a través del gateway de correo de Internet del producto, el cual realiza cualquier reformateo necesario.
Como segunda alternativa, las computadoras que no tienen un MUA pueden conectarse a un servicio de correo en un explorador Web para así recuperar y enviar mensajes. Algunas computadoras pueden ejecutar su propio MTA y administrar correos electrónicos de dominio interno. Si, por ejemplo, dos personas que trabajan para la misma empresa intercambian correos electrónicos entre ellos utilizando un protocolo propietario, los mensajes pueden permanecer completamente dentro del sistema de correos corporativo de la empresa.
El proceso de agente de entrega de correo rige la entrega de correo electrónico mediante servidores y clientes.


Como se mencionó anteriormente, los correos electrónicos pueden utilizar los protocolos POP y SMTP (vea la figura para saber cómo funcionan). POP y POP3 (Protocolo de oficina de correos v.3) son protocolos de envío de correo entrante y protocolos cliente-servidor típicos. Envían correos electrónicos desde el servidor correspondiente al cliente (MUA). El MDA escucha cuando un cliente se conecta a un servidor. Una vez establecida la conexión, el servidor puede enviar el correo electrónico al cliente.
El Protocolo simple de transferencia de correo (SMTP), por el contrario, rige la transferencia de correos salientes desde el cliente emisor al servidor de correos (MDA), así como también el transporte de correos entre servidores de correo electrónico (MTA). SMTP permite transportar correos por las redes de datos entre diferentes tipos de software de cliente y servidor, y hace posible el intercambio de correos en Internet.
El formato de mensajes del protocolo SMTP utiliza un conjunto rígido de comandos y respuestas. Estos comandos dan soporte a los procedimientos que se utilizan en el SMTP, como inicio de sesión, transacción de correo, envío de correo, verificación de nombres de buzones de correo, expansión de listas de correo e intercambios de apertura y cierre.
Algunos de los comandos que se especifican en el protocolo SMTP son:
- HELO: identifica el proceso del cliente SMTP para el proceso del servidor SMTP
- EHLO: es una nueva versión del HELO, que incluye extensiones de servicios
- MAIL FROM: identifica el emisor
- RCPT TO: identifica el receptor
- DATA: identifica el cuerpo del mensaje



3.4. FTP
El Protocolo de transferencia de archivos (FTP) es otro protocolo de la capa de aplicación de uso común. El FTP se desarrolló para permitir las transferencias de archivos entre un cliente y un servidor. Un cliente FTP es una aplicación que se ejecuta en una computadora y que carga y descarga archivos de un servidor que ejecuta el demonio FTP (FTPd).
El FTP necesita dos conexiones entre el cliente y el servidor para transferir archivos de forma exitosa: una para comandos y respuestas, otra para la transferencia real de archivos.
El cliente establece la primera conexión con el servidor en TCP puerto 21. Esta conexión se utiliza para controlar el tráfico, que consiste en comandos del cliente y respuestas del servidor.
El cliente establece la segunda conexión con el servidor en TCP puerto 20. Esta conexión es para la transferencia real de archivos y se crea cada vez que se transfiere un archivo.
La transferencia de archivos puede producirse en ambas direcciones. El cliente puede descargar (bajar) un archivo desde el servidor o el cliente puede cargar (subir) un archivo en el servidor.


3.5. DHCP
El servicio del Protocolo de configuración dinámica de host (DHCP) permite a los dispositivos de una red obtener direcciones IP y otra información de un servidor DHCP. Este servicio automatiza la asignación de direcciones IP, máscaras de subred, gateway y otros parámetros de networking del IP.
DHCP permite a un host obtener una dirección IP de forma dinámica cuando se conecta a la red. Se realiza el contacto con el servidor de DHCP y se solicita una dirección. El servidor DHCP elige una dirección del rango configurado llamado pool y la asigna ("alquila") para el host por un tiempo establecido.
En redes locales más grandes, o donde los usuarios cambien con frecuencia, se prefiere el DHCP. Los nuevos usuarios llegan con computadoras portátiles y necesitan una conexión. Otros tienen nuevas estaciones de trabajo que necesitan conexión. En lugar de que el administrador de red asigne direcciones IP para cada estación de trabajo, es más eficaz que las direcciones IP se asignen automáticamente mediante el DHCP.
Las direcciones distribuidas por DHCP no se asignan de forma permanente a los hosts, sino que sólo se alquilan por un periodo de tiempo. Si el host se apaga o se desconecta de la red, la dirección regresa al pool para volver a utilizarse. Esto es especialmente útil para los usuarios móviles que entran y salen de la red. Los usuarios pueden moverse libremente desde una ubicación a otra y volver a establecer las conexiones de red. El host puede obtener una dirección IP cuando se conecte el hardware, ya sea por cables o por LAN inalámbrica.
DHCP le permite el acceso a Internet por medio de Internet utilizando zonas de cobertura inalámbrica en aeropuertos o cafeterías. Una vez que ingresa al área, el cliente de DHCP de la computadora portátil contacta al servidor de DHCP mediante una conexión inalámbrica. El servidor de DHCP asigna una dirección IP a la computadora portátil.
Con las redes domésticas, el servidor de DHCP se ubica en el ISP y un host de la red doméstica recibe la configuración IP directamente desde el ISP.
DHCP puede representar un riesgo a la seguridad porque cualquier dispositivo conectado a la red puede recibir una dirección. Este riesgo hace que la seguridad física sea un factor importante al determinar si se utiliza el direccionamiento dinámico o manual.
Ambos direccionamientos tienen su lugar en los diseños de red. Muchas redes utilizan tanto el direccionamiento estático como el DHCP. DHCP se utiliza para hosts de propósitos generales, como los dispositivos de usuario final, y las direcciones fijas se utilizan para dispositivos de red como gateways, switches, servidores e impresoras.
Sin DHCP los usuarios tiene que ingresar manualmente la dirección IP, la máscara de subred y otras configuraciones para poder unirse a la red. El servidor de DHCP mantiene un pool de las direcciones IP y alquila una dirección a cualquier cliente habilitado por DHCP cuando el cliente está activado. Debido a que las direcciones IP son dinámicas (alquiladas) en lugar de estáticas (asignadas en forma permanente), las direcciones en desuso regresan automáticamente al pool para volver a asignarse. Cuando un dispositivo configurado por DHCP se inicia o conecta a la red, el cliente envía un paquete DESCUBRIMIENTO de DHCP para identificar cualquier servidor de DHCP disponible en la red. Un servidor de DHCP responde con una OFERTA DE DHCP, la cual cual es un mensaje de oferta de alquiler con información asignada de dirección IP, máscara de subred, servidor DNS y gateway predeterminado, así como la duración del alquiler.
El cliente puede recibir múltiples paquetes de OFERTA DE DHCP si hay más de un servidor de DHCP en la red local, así que debe elegir entre ellos y enviar un paquete de SOLICITUD DE DHCP que identifique el servidor explícito y la oferta de alquiler que el cliente acepta. Un cliente puede elegir solicitar una dirección previamente asignada por el servidor.
Teniendo en cuenta que la dirección IP solicitada por el cliente, u ofrecida por el servidor, aún es válida, el servidor devolverá un mensaje ACK DHCP que le informa al cliente que finalizó el alquiler. Si la oferta ya no es válida, quizás debido al tiempo o que a otro cliente se le asignó el alquiler, el servidor seleccionado responderá con un mensaje NAK DHCP (acuse de recibo negativo). Si un mensaje NAK DHCP se devuelve, entonces el proceso de selección debe volver a comenzar con la transmisión de un mensaje nuevo de DESCUBRIMIENTO DE DHCP.
Una vez que el cliente tenga el alquiler, se debe renovar mediante otro mensaje de SOLICITUD DE DHCP, antes de que termine el alquiler.
El servidor de DHCP asegura que las direcciones IP sean únicas (una dirección IP no se puede asignar a dos dispositivos de red diferentes de forma simultánea). Usar DHCP permite a los administradores de red volver a configurar fácilmente las direcciones IP del cliente sin tener que realizar cambios a los clientes en forma manual. La mayoría de los proveedores de Internet utilizan DHCP para asignar direcciones a los clientes que no necesitan una dirección estática.

3.6. Protocolo SMB y Servicios para Compartir Archivos
El Bloque de mensajes del servidor (SMB) es un protocolo cliente-servidor para compartir archivos. IBM desarrolló el Bloque de mensajes del servidor (SMB) a fines de la década de los 80 para describir la estructura de recursos de red compartidos, como directorios, archivos, impresoras y puertos seriales. Es un protocolo de solicitud-respuesta. A diferencia del protocolo para compartir archivos respaldado por FTP, los clientes establecen una conexión a largo plazo con los servidores. Una vez establecida la conexión, el usuario del cliente puede acceder a los recursos en el servidor como si el recurso fuera local para el host del cliente.
El intercambio de archivos SMB y los servicios de impresión se han transformado en el pilar de networking de Microsoft. Con la presentación de la serie Windows 2000 del software, Microsoft cambió la estructura subyacente para el uso del SMB. En versiones anteriores de los productos de Microsoft, los servicios de SMB utilizaron un protocolo que no es TCP/IP para implementar la resolución de nombres. Comenzando con Windows 2000, todos los productos subsiguientes de Microsoft utilizan denominación DNS. Esto permite que los protocolos TCP/IP den soporte directamente al intercambio de recursos SMB.
Los sistemas operativos LINUX y UNIX también proporcionan un método de intercambio de recursos con redes de Microsoft mediante una versión del SMB llamado SAMBA. Los sistemas operativos Macintosh de Apple también admiten recursos compartidos por medio del protocolo SMB.
El protocolo SMB describe el acceso al sistema de archivos y la manera en que los clientes hacen solicitudes de archivos. Además describe la comunicación entre procesos del protocolo SMB. Todos los mensajes SMB comparten un mismo formato. Este formato utiliza un encabezado de tamaño fijo seguido por un parámetro de tamaño variable y un componente de datos.
Los mensajes de SMB pueden:
- Iniciar, autenticar y terminar sesiones
- Controlar el acceso a los archivos y a la impresora
- Autorizar una aplicación para enviar o recibir mensajes para o de otro dispositivo

3.7. Protocolo Gnutella y Servicios P2P
Aprendimos acerca del FTP y del SMB como formas de obtener archivos, aquí presentamos otro protocolo de aplicación. Compartir archivos en Internet se ha transformado en algo muy popular. Con las aplicaciones P2P basadas en el protocolo Gnutella, las personas pueden colocar archivos en sus discos rígidos para que otros los descarguen. El software del cliente compatible con Gnutella permite a los usuarios conectarse con los servicios Gnutella en Internet y ubicar y acceder a los recursos compartidos por otros pares Gnutella.
Muchas aplicaciones del cliente están disponibles para acceder en la red Gnutella, entre ellas: BearShare, Gnucleus, LimeWire, Morpheus, WinMX y XoloX (consulte una captura de pantalla de LimeWire en la figura). Mientras que el Foro de desarrolladores de Gnutella mantiene el protocolo básico, los proveedores de las aplicaciones generalmente desarrollan extensiones para lograr que el protocolo funcione mejor en dichas aplicaciones.
Muchas de las aplicaciones P2P no utilizan una base de datos central para registrar todos los archivos disponibles en los puntos. Por el contrario, los dispositivos en la red se indican entre ellos qué archivos están disponibles cuando hay una consulta, y utilizan el protocolo Gnutella y los servicios para respaldar los recursos ubicados.
Cuando un usuario se conecta a un servicio Gnutella, las aplicaciones del cliente buscan otros nodos Gnutella para conectarse. Estos nodos manejan las consultas para las ubicaciones de los recursos y responden a dichas solicitudes. Además, gobiernan los mensajes de control que ayudan al servicio a descubrir otros nodos. Las verdaderas transferencias de archivos generalmente dependen de los servicios HTTP.
El protocolo Gnutella define 5 tipos de paquetes diferentes:
- ping: para el descubrimiento del dispositivo
- pong: como respuesta a un ping
- query: para encontrar un archivo
- query hit: como respuesta a una consulta
- push: como una solicitud de descarga

3.8. Protocolo y Servicios Telnet
Mucho antes de que existieran las computadoras de escritorio con interfaces gráficas sofisticadas, las personas utilizaban sistemas basados en textos que eran simplemente terminales conectadas físicamente a una computadora central. Una vez que las redes estaban disponibles, las personas necesitaban acceder en forma remota a los sistemas informáticos de la misma manera en que lo hacían con las terminales conectadas directamente.
Telnet se desarrolló para satisfacer esta necesidad. Telnet se remonta a principios de la década de los 70 y se encuentra entre los servicios y protocolos de capa de aplicación más antiguo dentro del grupo TCP/IP. Telnet proporciona un método estándar de emulación de dispositivos de terminal con base en texto en la red de datos. El protocolo y el software del cliente que implementa son conocidos como Telnet.
De un modo adecuado, una conexión que utiliza Telnet se llama sesión o conexión de terminal virtual (VTY). En lugar de utilizar un dispositivo físico para conectarse al servidor, Telnet utiliza software para crear un dispositivo virtual que proporcione las mismas características de una sesión de terminal con acceso a la interfaz de línea de comandos (CLI) del servidor.
Para admitir conexiones del cliente a Telnet, el servidor ejecuta un servicio llamado demonio de Telnet. Se establece una conexión de terminal virtual desde un dispositivo final utilizando una aplicación del cliente Telnet. La mayoría de los sistemas operativos incluye un cliente de Telnet de la capa de aplicación. Telnet puede ejecutarse desde el indicador del sistema en una PC de Microsoft Windows. Otras aplicaciones de terminal comunes que ejecutan clientes Telnet son HyperTerminal, Minicom y TeraTerm.
Una vez establecida una conexión Telnet, los usuarios pueden realizar cualquier función autorizada en el servidor, como si utilizaran una sesión de línea de comandos en el servidor mismo. Si están autorizados, pueden iniciar y detener procesos, configurar el dispositivo e inclusive apagar el sistema.
Telnet es un protocolo cliente-servidor y especifica cómo se establece y se termina una sesión VTY. Además proporciona la sintaxis y el orden de los comandos utilizados para iniciar la sesión Telnet, así como también los comandos de control que pueden ejecutarse durante una sesión. Cada comando Telnet consiste en por lo menos dos bytes. El primer byte es un caracter especial denominado Interpretar como comando (IAC). Como su nombre lo indica, el IAC define el byte siguiente como un comando en lugar de un texto.
Algunas muestras de comandos del protocolo Telnet incluyen:

- Are You There (AYT): permite al usuario solicitar que aparezca algo en la pantalla de la terminal para indiciar que la sesión VTY está activa.

- Erase Line (EL): elimina todo el texto de la línea actual.

- Interrupt Process (IP): suspende, interrumpe, aborta o termina el proceso al cual se conectó la terminal virtual. Por ejemplo, si un usuario inició un programa en el servidor Telnet por medio de VTY, puede enviar un comando IP para detener el programa.

Aunque el protocolo Telnet admite autenticación de usuario, no admite el transporte de datos encriptados. Todos los datos intercambiados durante una sesión Telnet se transporta como texto sin formato por la red. Esto significa que los datos se pueden intercepter y entender fácilmente.
Si la seguridad es un problema, el Protocolo shell seguro (SSH) ofrece un método seguro y alternativo para acceder al servidor. SSH proporciona la estructura para un inicio de sesión remoto seguro y otros servicios de red seguros. Además, proporciona mayor autenticación que Telnet y admite el transporte de datos de sesión con la autenticación. Como una mejor práctica, los profesionales de red deberían utilizar siempre SSH en lugar de Telnet, cada vez que sea posible.
lunes, 17 de mayo de 2010

ETHERNET

Los protocolos de capa Física y Enlace de datos definen a Ethernet.

1. Estándares e Implementación

1.1. Estándares IEEE
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.


1.2. Ethernet: Capa 1 y Capa 2
Ethernet opera a través de dos capas del modelo OSI. El modelo proporciona una referencia con la cual 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 de Control de acceso al medio (MAC), y en 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.


Limitaciones de la Capa 1 Funciones de la Capa 2
No se puede comunicar con capas superiores Se conecta con las capa superiores mediante control de enlace lógico (LLC)
No pueden identificar dispositivos Utiliza esquemas de direccionamiento para identificar dispositivos
Sólo reconoce streams de bits Utiliza tramas para organizar los bits en grupos.
No puede determinar la fuente de la transmision cuando transmiten múltiples dispositivos. Utiliza el control de acceso al medio (MAC) para identificar fuentes de transmisión.

Como se muestra en 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 (LLC) sigue siendo relativamente independiente del equipo físico que se utilizará para el proceso de comunicación.


1.3. Control de Enlace Lógico: Conexión con las capas superiores
Ethernet separa las funciones de la capa de enlace de datos en dos subcapas diferenciadas: la subcapa Control de enlace lógico (LLC) y la subcapa Control de acceso al medio (MAC). Las funciones descritas en el modelo OSI para la capa de Enlace de datos se asignan a las subcapas LLC y MAC. La utilización de dichas subcapas contribuye notablemente a la compatibilidad entre diversos dispositivos finales.
Para Ethernet, el estándar IEEE 802.2 describe las funciones de la subcapa LLC y el estándar 802.3 describe las funciones de la subcapa MAC y de la capa física . El Control de enlace lógico se encarga de la comunicación entre las capas superiores y el software de red, y las capas inferiores, que generalmente es el hardware. La subcapa LLC toma los datos del protocolo de la red, que generalmente son un paquete IPv4, y agrega información de control para ayudar a entregar el paquete al nodo de destino. La Capa 2 establece la comunicación con las capas superiores a través del LLC.
El LLC se implementa en el software y su implementación no depende del equipo físico. En una computadora, el LLC puede considerarse como el controlador de la Tarjeta de interfaz de red (NIC). El controlador de la NIC es un programa que interactúa directamente con el hardware en la NIC para pasar los datos entre los medios y la subcapa de Control de acceso al medio (MAC).


1.4. MAC: Envío de datos a los medios
El Control de acceso al medio (MAC) es la subcapa de Ethernet inferior de la capa de enlace de datos. El hardware implementa el Control de acceso al medio, generalmente en la tarjeta de interfaz de red (NIC) de la computadora.
La subcapa MAC de Ethernet tiene dos responsabilidades principales:
- Encapsulación de datos
- Control de acceso al medio

Encapsulación de datos
La encapsulación de datos proporciona tres funciones principales:

- Delimitación de tramas
- Direccionamiento
- Detección de errores

El proceso de encapsulación de datos incluye el armado de la trama antes de la transmisión y el análisis de la trama al momento de recibir una trama. Cuando forma una trama, la capa MAC agrega un encabezado y un tráiler a la PDU de Capa 3. La utilización de tramas facilita la transmisión de bits a medida que se colocan en los medios y la agrupación de bits en el nodo receptor.
El proceso de entramado proporciona delimitadores importantes que se utilizan para identificar un grupo de bits que componen una trama. Este proceso ofrece una sincronización entre los nodos transmisores y receptores.
El proceso de encapsulación también proporciona el direccionamiento de la capa de enlace de datos. Cada encabezado Ethernet agregado a la trama contiene la dirección física (dirección MAC) que permite que la trama se envíe a un nodo de destino.
Una función adicional de la encapsulación de datos es la detección de errores. Cada trama de Ethernet contiene un tráiler con una comprobación cíclica de redundancia (CRC) de los contenidos de la trama. Una vez que se recibe una trama, el nodo receptor crea una CRC para compararla con la de la trama. Si estos dos cálculos de CRC coinciden, puede asumirse que la trama se recibió sin errores.

Control de Acceso al Medio
La subcapa MAC controla la colocación de tramas en los medios y el retiro de tramas de los medios. Como su nombre lo indica, se encarga de administrar el control de acceso al medio. Esto incluye el inicio de la transmisión de tramas y la recuperación por fallo de transmisión debido a colisiones.

Topología logica
La topología lógica subyacente de Ethernet es un bus de multiacceso. Esto significa que todos los nodos (dispositivos) en ese segmento de 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 proporcionado por la dirección MAC.
Ethernet ofrece un método para determinar la manera en que los nodos comparten 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 colisiones (CSMA/CD).


1.5. Implementaciones Físicas de Ethernet
El éxito de Ethernet se debe a los siguientes factores:

- Simplicidad y facilidad de mantenimiento
- Capacidad para incorporar nuevas tecnologías
- Confiabilidad
- Bajo costo de instalación y de actualización

La introducción de Gigabit Ethernet ha extendido la tecnología LAN original a distancias que convierten a Ethernet en un estándar de Red de área metropolitana (MAN) y de Red de área extensa (WAN).
Ya que se trata de una tecnología asociada con la capa física, Ethernet especifica e implementa los esquemas de codificación y decodificación que permiten el transporte de los bits de trama como señales a través de los medios. Los dispositivos Ethernet utilizan una gran variedad de especificaciones de cableado y conectores.
En las redes actuales, Ethernet utiliza cables de cobre UTP y fibra óptica para interconectar dispositivos de red a través de dispositivos intermediarios como hubs y switches. Dada la diversidad de tipos de medios que Ethernet admite, la estructura de la trama de Ethernet permanece constante a través de todas sus implementaciones físicas. Es por esta razón que puede evolucionar hasta cumplir con los requisitos de networking actuales.



2. Ethernet: Comunicación a través de la LAN

2.1. Administración de Colisiones en Ethernet

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.


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 le 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.



2.2. Cambio a Gbps y más
Las aplicaciones que atraviesan enlaces de red a diario ponen a prueba incluso a las redes más sólidas. Por ejemplo, el uso cada vez mayor de servicios de Voz sobre IP (VoIP) y multimedia requiere conexiones más rápidas que Ethernet de 100 mbps.

Gigabit Ethernet se utiliza para describir las implementaciones de Ethernet que ofrecen un ancho de banda de 1000 mbps (1 Gbps) o más. Esta capacidad se creó sobre la base de la capacidad full-duplex y las tecnologías de medios UTP y de fibra óptica de versiones anteriores de Ethernet.
El aumento del rendimiento de la red es significativo cuando el potencial de rendimiento aumenta de 100 mbps a 1 Gbps y más.
La actualización a Ethernet de 1 Gbps no siempre implica que la infraestructura de red de cables y switches existente deba reemplazarse por completo. Algunos equipos y cableados de redes modernas bien diseñadas e instaladas podrían trabajar a mayores velocidades con sólo una actualización mínima. Esta capacidad tiene el beneficio de reducir el costo total de propiedad de la red.

Ethernet más alla de la LAN
Las mayores distancias de cableado habilitadas por el uso de cables de fibra óptica en redes basadas en Ethernet disminuyeron las diferencias entre las LAN y las WAN. La Ethernet se limitaba originalmente a sistemas de cableado LAN dentro de un mismo edificio y después se extendió a sistemas entre edificios. Actualmente, puede aplicarse a través de toda una ciudad mediante lo que se conoce como Red de área metropolitana (MAN).


3. La Trama Ethernet

3.1. Encapsulación del Paquete
La estructura de la trama de Ethernet agrega encabezados y tráilers a la PDU de Capa 3 para encapsular el mensaje que se envía.
Tanto el tráiler como el encabezado de Ethernet cuentan con varias secciones de información que utiliza el protocolo Ethernet. Cada sección de la trama se denomina campo. Hay dos estilos de tramas de Ethernet: el estándar DIX Ethernet, que ahora es Ethernet II, y el estándar IEEE 802.3, que ha sido actualizado varias veces para incluir nuevas tecnologías.
Las diferencias entre los estilos de tramas son mínimas. La diferencia más importante entre los dos estándares es el agregado de un delimitador de inicio de trama (SFD) y el cambio del campo Tipo por un campo Longitud en el 802.3.

Tamaño de la Trama de Ethernet
Tanto el estándar Ethernet II como el IEEE 802.3 definen el tamaño mínimo de trama en 64 bytes y el tamaño máximo de trama en 1518 bytes. Esto incluye todos los bytes del campo Dirección MAC de destino a través del campo Secuencia de verificación de trama (FCS). Los campos Preámbulo y Delimitador de inicio de trama no se incluyen en la descripción del tamaño de una trama. El estándar IEEE 802.3ac, publicado en 1998, amplió el tamaño de trama máximo permitido a 1522 bytes. Se aumentó el tamaño de la trama para que se adapte a una tecnología denominada Red de área local virtual (VLAN).
Si el tamaño de una trama transmitida es menor que el mínimo o mayor que el máximo, el dispositivo receptor descarta la trama. Es posible que las tramas descartadas se originen en colisiones u otras señales no deseadas y, por lo tanto, se consideran no válidas.
En la siguiente figura se muestra una comparación del tamaño del campo y las estructuras de tramas de Ethernet y 802.3


Descripción de los Campos de Trama de Ethernet
Campos Preámbulo y Delimitador de inicio de trama
Los campos Preámbulo (7 bytes) y Delimitador de inicio de trama (SFD) (1 byte) se utilizan para la sincronización entre los dispositivos emisores y receptores. Estos ocho primeros bytes de la trama se utilizan para captar la atención de los nodos receptores. Básicamente, los primeros bytes le indican al receptor que se prepare para recibir una trama nueva.

Campo Dirección MAC de destino
El campo Dirección MAC de destino (6 bytes) es el identificador del receptor deseado. Como recordará, la Capa 2 utiliza esta dirección para ayudar a los dispositivos a determinar si la trama viene dirigida a ellos. La dirección de la trama se compara con la dirección MAC del dispositivo. Si coinciden, el dispositivo acepta la trama.

Campo Dirección MAC de origen
El campo Dirección MAC de origen (6 bytes) identifica la NIC o interfaz de origen de la trama. Los switches también utilizan esta dirección para ampliar sus tablas de búsqueda.

Campo Longitud/tipo
Para todos los estándares IEEE 802.3 anteriores a 1997, el campo Longitud define la longitud exacta del campo de datos de la trama. Esto se utiliza posteriormente como parte de la FCS para garantizar que el mensaje se reciba adecuadamente. Si el objetivo de un campo es designar un tipo como en Ethernet II, el campo Tipo describe cuál es el protocolo que se implementa.
Estos dos usos del campo se combinaron oficialmente en 1997 con el estándar IEEE 802.3x 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. Cuando un nodo recibe una trama, debe analizar el campo Longitud 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 decodifican según el protocolo EtherType indicado. Por otro lado, si el valor es igual o menor que el hexadecimal de 0x05DC o el decimal de 1500, el campo Longitud se está utilizando para indicar el uso del formato de trama de IEEE 802.3. Así se diferencian las tramas de Ethernet II y 802.3.

Campos Datos y Pad
Los campos Datos y Pad (de 46 a 1500 bytes) contienen los datos encapsulados de una capa superior, que es una PDU de Capa 3 genérica o, con mayor frecuencia, un paquete IPv4. Todas las tramas deben tener al menos 64 bytes de longitud. Si se encapsula un paquete pequeño, el Pad se utiliza para incrementar el tamaño de la trama hasta alcanzar el tamaño mínimo.

Campo Secuencia de verificación de trama
El campo Secuencia de verificación de trama (FCS) (4 bytes) se utiliza para detectar errores en la trama. Utiliza una comprobación cíclica de redundancia (CRC). El dispositivo emisor incluye los resultados de una CRC en el campo FCS de la trama. El dispositivo receptor recibe la trama y genera una CRC para buscar errores. Si los cálculos coinciden, significa que no se produjo ningún error. Los cálculos que no coinciden indican que los datos cambiaron y, por consiguiente, se descarta la trama. Un cambio en los datos podría ser resultado de una interrupción de las señales eléctricas que representan los bits.


3.2. La Dirección MAC de Ethernet
Inicialmente, la Ethernet se implementaba como parte de una topología de bus. Cada uno de los dispositivos de red se conectaba al mismo medio compartido. En redes con poco tráfico o pequeñas, ésta era una implementación aceptable. El problema más importante que debía resolverse era cómo identificar cada uno de los dispositivos. La señal podía enviarse a todos los dispositivos, pero ¿cómo podía determinar cada uno de los dispositivos si era el receptor del mensaje?
Se creó un identificador único, denominado dirección de Control de acceso al medio (MAC), para ayudar a determinar las direcciones de origen y de destino dentro de una red Ethernet. Independientemente de qué variedad de Ethernet se estaba utilizando, la convención de denominación proporcionó un método para identificar dispositivos en un nivel inferior del modelo OSI.
Como recordará, la dirección MAC se agrega como parte de una PDU de Capa 2. Una dirección MAC de Ethernet es un valor binario de 48 bits expresado como 12 dígitos hexadecimales.

Estructura de la Dirección MAC
El valor de la dirección MAC es el resultado directo de las normas implementadas por el IEEE para proveedores con el objetivo de garantizar direcciones únicas para cada dispositivo Ethernet. Las normas establecidas por el IEEE obligan a los proveedores de dispositivos Ethernet a registrarse en el IEEE. El IEEE le asigna a cada proveedor un código de 3 bytes, denominado Identificador único organizacional (OUI).
El IEEE obliga a los proveedores a respetar dos normas simples:
Todas las direcciones MAC asignadas a una NIC u otro dispositivo Ethernet deben utilizar el OUI que se le asignó a dicho proveedor como los 3 primeros bytes.
Se les debe asignar un valor exclusivo (código del fabricante o número de serie) a todas las direcciones MAC con el mismo OUI (Identificador exclusivo de organización) en los últimos 3 bytes.
El IEEE obliga a los proveedores a respetar dos normas simples:
- Todas las direcciones MAC asignadas a una NIC u otro dispositivo Ethernet deben utilizar el OUI que se le asignó a dicho proveedor como los 3 primeros bytes.
- Se les debe asignar un valor exclusivo (código del fabricante o número de serie) a todas las direcciones MAC con el mismo OUI (Identificador exclusivo de organización) en los últimos 3 bytes.


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, donde se lleva a cabo el proceso de desencapsulació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).

Numeración Hexadecimal
El método hexadecimal ("Hex") es una manera conveniente de representar valores binarios. Así como el sistema de numeración decimal es un sistema de base diez y el binario es un sistema de base dos, el sistema hexadecimal es un sistema de base dieciséis.
El sistema de numeración de base 16 utiliza los números del 0 al 9 y las letras de la A a la F. La figura muestra los valores decimales, binarios y hexadecimales equivalentes para los binarios 0000 hasta 1111. Nos resulta más conveniente expresar un valor como un único dígito hexadecimal que como cuatro bits. A continuación se muestra la figura de la representación hexadecimal.



Comprensión de los Bytes
Dado que 8 bits (un byte) es una agrupación binaria común, los binarios 00000000 hasta 11111111 pueden representarse en valores hexadecimales como el intervalo 00 a FF. Los ceros iniciales se muestran siempre para completar la representación de 8 bits. Por ejemplo, el valor binario 0000 1010 se muestra en valor hexadecimal como 0A.

Representación de valores hexadecimales
El valor hexadecimal se representa generalmente en texto mediante el valor precedido por 0x (por ejemplo, 0x73) o un 16 en subíndice. Con menor frecuencia, puede estar seguido de una H, como por ejemplo, 73H. Sin embargo, y debido a que el texto en subíndice no es reconocido en entornos de línea de comando o de programación, la representación técnica de un valor hexadecimal es precedida de "0x" (cero X). Por lo tanto, los ejemplos anteriores deberían mostrarse como 0x0A y 0x73, respectivamente.
El valor hexadecimal se utiliza para representar las direcciones MAC de Ethernet y las direcciones IP versión 6. Ya hemos visto que los valores hexadecimales se utilizan en el panel Bytes de paquetes de Wireshark para representar los valores binarios dentro de tramas y paquetes.


3.3. Ethernet Unicast, Multicast y Broadcast
En Ethernet se utilizan distintas direcciones MAC para la Capa 2: comunicaciones unicast, multicast y broadcast.

Unicast
Una dirección MAC unicast es la dirección exclusiva que se utiliza cuando se envía una trama desde un dispositivo de transmisión único hacia un dispositivo de destino único.
En el ejemplo que se muestra en la figura, un host con una dirección IP 192.168.1.5 (origen) solicita una página web del servidor en la dirección IP 192.168.1.200. Para que se pueda enviar y recibir un paquete unicast, el encabezado del paquete IP debe contener una dirección IP de destino. Además, el encabezado de la trama de Ethernet también debe contener una dirección MAC de destino correspondiente. Las direcciones IP y MAC se combinan para la entrega de datos a un host de destino específico.


Broadcast
Con broadcast, el paquete contiene una dirección IP de destino con todos unos (1) en la porción de host. Esta numeración en la dirección significa que todos los hosts de esa red local (dominio de broadcast) recibirán y procesarán el paquete. Una gran cantidad de protocolos de red utilizan broadcast, como el Protocolo de configuración dinámica de host (DHCP) y el Protocolo de resolución de direcciones (ARP). Más adelante en este capítulo se analizará cómo el ARP utiliza los broadcasts para asignar direcciones de Capa 2 a direcciones de Capa 3.
Como se muestra en la figura, una dirección IP de broadcast para una red requiere una dirección MAC de broadcast correspondiente en la trama de Ethernet. En redes Ethernet, la dirección MAC de broadcast contiene 48 unos que se muestran como el hexadecimal FF-FF-FF-FF-FF-FF.


Multicast
Recuerde que las direcciones multicast le permiten a un dispositivo de origen enviar un paquete a un grupo de dispositivos. Una dirección IP de grupo multicast se asigna a los dispositivos que pertenecen a un grupo multicast. El intervalo de direcciones multicast es de 224.0.0.0 a 239.255.255.255. Debido a que las direcciones multicast representan un grupo de direcciones (a veces denominado un grupo de hosts), sólo pueden utilizarse como el destino de un paquete. El origen siempre tendrá una dirección unicast.
Ejemplos de dónde se utilizarían las direcciones multicast serían el juego remoto, en el que varios jugadores se conectan de manera remota pero juegan el mismo juego, y el aprendizaje a distancia a través de videoconferencia, en el que varios estudiantes se conectan a la misma clase.
Al igual que con las direcciones unicast y de broadcast, la dirección IP multicast requiere una dirección MAC multicast correspondiente para poder enviar tramas en una red local. La dirección MAC multicast es un valor especial que comienza con 01-00-5E en hexadecimal. El valor termina con la conversión de los 23 bits inferiores de la dirección IP del grupo multicast en los 6 caracteres hexadecimales restantes de la dirección de Ethernet. El bit restante en la dirección MAC es siempre "0".
Un ejemplo, según se muestra en el gráfico, es el hexadecimal 01-00-5E-00-00-01. Cada carácter hexadecimal representa 4 bits binarios.


4. Control de Acceso al Medio de Ethernet
En un entorno de medios compartidos, todos los dispositivos tienen acceso garantizado al medio, pero no tienen ninguna prioridad en dicho medio. Si más de un dispositivo realiza una transmisión simultáneamente, las señales físicas colisionan y la red debe recuperarse para que pueda continuar la comunicación.
Las colisiones representan el precio que debe pagar la Ethernet para obtener la sobrecarga baja que se relaciona con cada transmisión.
Ethernet utiliza el acceso múltiple por detección de portadora y detección de colisiones (CSMA/CD) para detectar y manejar colisiones y para administrar la reanudación de las comunicaciones.
Debido a que todas las computadoras que utilizan Ethernet envían sus mensajes en el mismo medio, se utiliza un esquema de coordinación distribuida (CSMA) para detectar la actividad eléctrica en el cable. Entonces, un dispositivo puede determinar cuándo puede transmitir. Cuando un dispositivo detecta que ninguna otra computadora está enviando una trama o una señal portadora, el dispositivo transmitirá si tiene algo para enviar.


4.1 CSMA/CD: El Proceso

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.

Acceso múltiple
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. Aunque los mensajes se dañan, la mezcla de las señales restantes continúa propagándose en todo el medio.

Detección de colisiones
Cuando un dispositivo está en el modo de escucha, puede detectar cuando se produce 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 están en el modo de escucha, así como todos los dispositivos de transmisión, detectan el aumento de 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.

Señal de congestión y postergación aleatoria
Cuando los dispositivos de transmisión detectan la colisión, envían una señal de congestión. Esta señal de congestión se utiliza para notificar a los demás dispositivos sobre una colisión, de manera que éstos invocarán un algoritmo de postergación. Este algoritmo de postergación hace que todos los dispositivos dejen de transmitir durante un período aleatorio, lo que permite que las señales de colisión disminuyan.
Una vez que finaliza el retraso asignado a un dispositivo, dicho dispositivo regresa al modo "escuchar antes de transmitir". El período de postergación aleatoria garantiza que los dispositivos involucrados en la colisión no intenten enviar su tráfico nuevamente al mismo tiempo, lo que provocaría que se repita todo el proceso. Sin embargo, esto también significa que un tercer dispositivo puede transmitir antes de que cualquiera de los dos dispositivos involucrados en la colisión original tenga la oportunidad de volver a transmitir.


4.2 Temporización de Ethernet

Latencia
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 reenvía los bits desde un puerto al siguiente.
Esta demora acumulada 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
En modo half-duplex, si no se produce una colisión, el dispositivo emisor transmitirá 64 bits de información de sincronización de temporización, lo que se conoce como el Preámbulo.
El dispositivo emisor transmitirá a continuación la trama completa.
La Ethernet que tiene velocidades de rendimiento de 10 mbps y menos es asíncrona. Una comunicación asíncrona en este contexto significa que cada dispositivo receptor utilizará los 8 bytes de información de temporización para sincronizar el circuito receptor con los datos entrantes y a continuación descartará los 8 bytes.
Las implementaciones de Ethernet con rendimiento de 100 mbps y más son síncronas. La comunicación síncrona en este contexto significa que la información de temporización no es necesaria. Sin embargo, por razones de compatibilidad, los campos Preámbulo y Delimitador de inicio de trama (SFD) todavía están presentes.

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.

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 1000 mbps o por debajo de esto, 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 admitir 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 que debe ser manejada automáticamente por CSMA/CD.
El intervalo de tiempo se calcula teniendo en cuenta las longitudes máximas de cables en la arquitectura de red legal de mayor tamaño. Todos los tiempos de retardo de propagación del hardware se encuentran al máximo permisible y se utiliza una señal de congestión de 32 bits cuando se detectan colisiones.
El intervalo de tiempo real calculado es apenas mayor que la cantidad de tiempo teórica necesaria para realizar una transmisión entre los puntos de máxima separación de un dominio de colisión, colisionar con otra transmisión en el último instante posible y luego permitir que los fragmentos de la colisión regresen a la estación transmisora y sean detectados.
Para que el sistema funcione correctamente, el primer dispositivo debe estar al tanto de la colisión antes de que termine de enviar la trama legal de menor tamaño.
Para que una Ethernet de 1000 mbps pueda operar en modo half-duplex, se agregó a la trama el campo de extensión cuando se envían tramas pequeñas, con el sólo fin de mantener ocupado al transmisor durante el tiempo que sea necesario para que vuelva un fragmento de colisión. Este campo sólo se incluye en los enlaces en half-duplex de 1000 Mbps y permite que las tramas de menor tamaño duren el tiempo suficiente para satisfacer los requisitos del intervalo de tiempo. El dispositivo receptor descarta los bits de extensión.


4.3 Espacio entre Tramas y Postergación

Espacio entre Tramas
Los estándares de Ethernet requieren un espacio mínimo entre dos tramas que no hayan sufrido una colisión. Esto le otorga al medio tiempo para estabilizarse antes de la transmisión de la trama anterior y tiempo a los dispositivos para que procesen la trama. Este tiempo, llamado espacio entre tramas, se mide desde el último bit del campo FCS de una trama hasta el primer bit del Preámbulo de la próxima trama.
Una vez enviada la trama, todos los dispositivos de una red Ethernet de 10 mbps deben esperar un mínimo de 96 tiempos de bit (9,6 microsegundos) antes de que cualquier dispositivo pueda transmitir la siguiente trama. En versiones de Ethernet más veloces, el espacio sigue siendo el mismo, 96 tiempos de bit, pero el tiempo del espacio entre tramas se vuelve proporcionalmente más corto.
Los retardos de sincronización entre dispositivos pueden ocasionar la pérdida de algunos de los bits del preámbulo de la trama. A su vez, esto puede producir una reducción mínima del espacio entre tramas cuando los hubs y repetidores regeneran los 64 bits completos de la información de temporización (el Preámbulo y el SFD) al comienzo de cada trama que se reenvía. En Ethernet de mayor velocidad, algunos dispositivos sensibles al tiempo podrían eventualmente no reconocer las tramas individuales lo que originaría una falla de comunicación.

Señal de Congestión
Como recordará, Ethernet permite que los dispositivos compitan por 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 forzará la detección de la colisión. 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 corruptos que se transmiten 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.
Las estaciones que detectan una colisión envían una señal de embotellamiento (ver la figura).



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 que se describen 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 CSMA/CD comienza a disminuir o, en algunos casos, a desaparecer por completo.
Una vez que se recibe una señal de embotellamiento, todas la estaciones dejan de transmitir y cada una espera un periodo de tiempo aleatorio, establecido por el temporizador de postergación, antes de intentar enviar a otra trama (ver la figura).


5. Capa Física de Ethernet

5.1 Descripción General
Las diferencias que existen entre Ethernet estándar, Fast Ethernet, Gigabit Ethernet y 10 Gigabit Ethernet tienen lugar en la capa física, generalmente denominada Ethernet PHY.

Ethernet se rige por los estándares IEEE 802.3. Actualmente, se definen cuatro velocidades de datos para el funcionamiento con cables de fibra óptica y de par trenzado:
- 10 mbps: 10Base-T Ethernet
- 100 mbps: Fast Ethernet
- 1000 mbps: Gigabit Ethernet
- 10 Gbps: 10 Gigabit Ethernet

Si bien existe una gran cantidad de implementaciones de Ethernet diferentes para estas diversas velocidades de transmisión de datos, aquí sólo se presentarán las más comunes. La figura muestra algunas de las características de la Ethernet PHY.
En esta sección se analizará la porción de Ethernet que opera en la capa física, comenzando por 10Base-T y continuando con las variedades de 10 Gbps.


5.2 Ethernet de 10 y 100 Mbps
Las principales implementaciones de 10 Mbps de Ethernet incluyen:
- 10BASE5 con cable coaxial Thicknet
- 10BASE2 con cable coaxial Thinnet
- 10BASE-T con cable de par trenzado no blindado Cat3/Cat5

Las primeras implementaciones de Ethernet, 10BASE5 y 10BASE2 utilizaban cable coaxial en un bus físico. Dichas implementaciones ya no se utilizan y los más recientes estándares 802.3 no las admiten.

10 mbps Ethernet: 10BASE-T
La 10BASE-T utiliza la codificación Manchester para dos cables de par trenzado no blindado. Las primeras implementaciones de la 10BASE-T utilizaban cableado Cat3. Sin embargo, el cableado Cat5 o superior es el que se utiliza generalmente en la actualidad.
La Ethernet de 10 mbps se considera que es la Ethernet clásica y utiliza una topología en estrella física. Los enlaces de Ethernet 10BASE-T pueden tener hasta 100 metros de longitud antes de que requieran un hub o repetidor.
La 10BASE-T utiliza dos pares de cables de cuatro pares y finaliza en cada extremo con un conector RJ-45 de 8 pins. El par conectado a los pins 1 y 2 se utiliza para transmitir y el par conectado a los pins 3 y 6 se utiliza para recibir. La figura muestra la salida de pins RJ45 utilizada con Ethernet 10BASE-T.
La 10BASE-T generalmente no se elige para instalaciones de LAN nuevas. Sin embargo, todavía existen actualmente muchas redes Ethernet 10BASE-T. El reemplazo de los hubs por los switches en redes 10BASE-T aumentó notablemente la velocidad de transmisión (throughput) disponible para estas redes y le otorgó a la Ethernet antigua una mayor longevidad. Los enlaces de 10BASE-T conectados a un switch pueden admitir el funcionamiento tanto half-duplex como full-duplex.

100 mbps: Fast Ethernet
Entre mediados y fines de la década de 1990 se establecieron varios estándares 802.3 nuevos para describir los métodos de transmisión de datos en medios Ethernet a 100 mbps. Estos estándares utilizaban requisitos de codificación diferentes para lograr estas velocidades más altas de transmisión de datos.
La Ethernet de 100 mbps, que también se denomina Fast Ethernet, puede implementarse utilizando medios de fibra o de cable de cobre de par trenzado. Las implementaciones más conocidas de la Ethernet de 100 mbps son:

- 100BASE-TX con UTP Cat5 o posterior
- 100BASE-FX con cable de fibra óptica

Ya que las señales de mayor frecuencia que se utilizan en Fast Ethernet son más susceptibles al ruido, Ethernet de 100 mbps utiliza dos pasos de codificación por separado para mejorar la integridad de la señal.

100BASE-TX
100BASE-TX fue diseñada para admitir la transmisión a través de dos hilos de fibra óptica o de dos pares de cable de cobre UTP de Categoría 5. La implementación 100BASE-TX utiliza los mismos dos pares y salidas de pares de UTP que la 10BASE-T. Sin embargo, la 100BASE-TX requiere UTP de Categoría 5 o superior. La codificación 4B/5B se utiliza para Ethernet 100BASE-TX.
Al igual que con la 10BASE-TX, la 100BASE-TX se conecta como estrella física.Sin embargo, a diferencia de la 10BASET, las redes 100BASE-TX utilizan generalmente un switch en el centro de la estrella en vez de un hub. Aproximadamente al mismo tiempo que las tecnologías 100BASE-TX se convirtieron en la norma, los switches LAN también comenzaron a implementarse con frecuencia. Estos desarrollos simultáneos llevaron a su combinación natural en el diseño de las redes 100BASE-TX.

100BASE-FX
El estándar 100BASE-FX utiliza el mismo procedimiento de señalización que la 100BASE-TX, pero lo hace en medios de fibra óptica en vez de cobre UTP. Si bien los procedimientos de codificación, decodificación y recuperación de reloj son los mismos para ambos medios, la transmisión de señales es diferente: pulsos eléctricos en cobre y pulsos de luz en fibra óptica. La 100BASE-FX utiliza conectores de interfaz de fibra de bajo costo (generalmente llamados conectores SC duplex).
Las implementaciones de fibra son conexiones punto a punto, es decir, se utilizan para interconectar dos dispositivos. Estas conexiones pueden ser entre dos computadoras, entre una computadora y un switch o entre dos switches.


5.3 Ethernet de 1000 Mbps

1000 mbps: Gigabit Ethernet
El desarrollo de los estándares Gigabit Ethernet dio como resultado especificaciones para cobre UTP, fibra monomodo y fibra multimodo. En redes de Gigabit Ethernet, los bits se producen en una fracción del tiempo que requieren en redes de 100 Mbps y redes de 10 Mbps. Gracias a que las señales se producen en menor tiempo, los bits se vuelven más susceptibles al ruido y, por lo tanto, la temporización tiene una importancia decisiva. La cuestión del rendimiento se basa en la velocidad con la que el adaptador o la interfaz de red puedan cambiar los niveles de voltaje y en la manera en que dicho cambio de voltaje pueda detectarse de un modo confiable a 100 metros de distancia en la NIC o la interfaz de recepción.
A estas mayores velocidades, la codificación y decodificación de datos es más compleja. La Gigabit Ethernet utiliza dos distintos pasos de codificación. La transmisión de datos es más eficiente cuando se utilizan códigos para representar el stream binario de bits. La codificación de datos permite la sincronización, el uso eficiente del ancho de banda y características mejoradas de relación entre señal y ruido.

Ethernet 1000BASE-T
La Ethernet 1000BASE-T proporciona una transmisión full-duplex utilizando los cuatro pares de cable UTP Categoría 5 o superior. La Gigabit Ethernet por cables de cobre permite un aumento de 100 Mbps por par de cable a 125 Mbps por par de cable o 500 Mbps para los cuatro pares. Cada par de cable origina señales en full-duplex, lo que duplica los 500 Mbps a 1000 Mbps.
La 1000BASE-T utiliza codificación de línea 4D-PAM5 para obtener un rendimiento de datos de 1 Gbps. Este esquema de codificación permite señales de transmisión en cuatro pares de cables simultáneamente. Traduce un byte de 8 bits de datos en una transmisión simultánea de cuatro símbolos de código que se envían por los medios, uno en cada par, como señales de Modulación de amplitud de pulsos de 5 niveles (PAM5). Esto significa que cada símbolo se corresponde con dos bits de datos. Debido a que la información viaja simultáneamente a través de las cuatro rutas, el sistema de circuitos tiene que dividir las tramas en el transmisor y reensamblarlas en el receptor. La figura muestra una representación del sistema de circuitos que utiliza la Ethernet 1000BASE-T.
La 1000BASE-T permite la transmisión y recepción de datos en ambas direcciones (en el mismo cable y al mismo tiempo). Este flujo de tráfico crea colisiones permanentes en los pares de cables. Estas colisiones generan patrones de voltaje complejos. Los circuitos híbridos que detectan las señales utilizan técnicas sofisticadas tales como la cancelación de eco, la corrección del error de envío de Capa 1 (FEC) y una prudente selección de los niveles de voltaje. Al utilizar dichas técnicas, el sistema alcanza un throughput de 1 Gigabit.
Para contribuir a la sincronización, la capa física encapsula cada trama con delimitadores de inicio y finalización de stream. La temporización de loops se mantiene mediante streams continuos de símbolos INACTIVOS que se envían en cada par de cables durante el espacio entre tramas.
A diferencia de la mayoría de las señales digitales, en las que generalmente se encuentra un par de niveles de voltaje discretos, la 1000BASE-T utiliza muchos niveles de voltaje. En períodos inactivos, se encuentran nueve niveles de voltaje en el cable. Durante los períodos de transmisión de datos, se encuentran hasta 17 niveles de voltaje en el cable. Con este gran número de estados, combinado con los efectos del ruido, la señal en el cable parece más analógica que digital. Como en el caso del analógico, el sistema es más susceptible al ruido debido a los problemas de cable y terminación.

Ethernet 1000BASE-SX y 1000BASE-LX por fibra óptica
Las versiones de fibra óptica de la Gigabit Ethernet (1000BASE-SX y 1000BASE-LX) ofrecen las siguientes ventajas en comparación con el UTP: inmunidad al ruido, tamaño físico pequeño y distancias y ancho de banda aumentados y sin repeticiones.
Todas las versiones de 1000BASE-SX y 1000BASE-LX admiten la transmisión binaria full-duplex a 1250 mbps en dos hebras de fibra óptica. La codificación de la transmisión se basa en el esquema de codificación 8B/10B. Debido a la sobrecarga de esta codificación, la velocidad de transferencia de datos sigue siendo 1000 mbps.
Cada trama de datos se encapsula en la capa física antes de la transmisión y la sincronización de los enlaces se mantiene enviando un stream continuo de grupos de códigos INACTIVOS durante el espacio entre tramas.
Las principales diferencias entre las versiones de fibra de 1000BASE-SX y 1000BASE-LX son los medios de enlace, los conectores y la longitud de onda de la señal óptica. 


6. Ethernet: Utilización de Switches


En los últimos años, los switches se convirtieron rápidamente en una parte fundamental de la mayoría de las redes. Los switches permiten la segmentación de la LAN en distintos dominios de colisiones. Cada puerto de un switch representa un dominio de colisiones distinto y brinda un ancho de banda completo al nodo o a los nodos conectados a dicho puerto. Con una menor cantidad de nodos en cada dominio de colisiones, se produce un aumento en el ancho de banda promedio disponible para cada nodo y se reducen las colisiones.
Una LAN puede tener un switch centralizado que conecta a hubs que todavía proporcionan conectividad a los nodos. O bien, una LAN puede tener todos los nodos conectados directamente a un switch. Estas topologías se muestran en la figura.
En una LAN en la que se conecta un hub a un puerto de un switch, todavía existe un ancho de banda compartido, lo que puede producir colisiones dentro del entorno compartido del hub. Sin embargo, el switch aislará el segmento y limitará las colisiones para el tráfico entre los puertos del hub.


Los Nodos se Conectan Directamente
En una LAN en la que todos los nodos están conectados directamente al switch, el rendimiento de la red aumenta notablemente. Las tres principales razones de este aumento son:

- Ancho de banda dedicado a cada puerto
- Entorno libre de colisiones
- Operación full-duplex

Estas topologías físicas en estrella son esencialmente enlaces punto a punto.

Ancho de Banda Dedicado
Cada nodo dispone del ancho de banda de los medios completo en la conexión entre el nodo y el switch. Debido a que un hub replica las señales que recibe y las envía a todos los demás puertos, los hubs de Ethernet clásica forman un bus lógico. Esto significa que todos los nodos deben compartir el mismo ancho de banda para este bus. Con los switches, cada dispositivo tiene una conexión punto a punto dedicada entre el dispositivo y el switch, sin contención de medios.
A modo de ejemplo, pueden compararse dos LAN de 100 mbps, cada una de ellas con 10 nodos. En el segmento de red A, los 10 nodos se conectan a un hub. Cada nodo comparte el ancho de banda de 100 Mbps disponible. Esto ofrece un promedio de 10 Mbps para cada nodo. En el segmento de red B, los 10 nodos se conectan a un switch. En este segmento, los 10 nodos tienen el ancho de banda completo de 100 Mbps disponible.
Incluso en este ejemplo de red pequeña, el aumento del ancho de banda es importante. A medida que la cantidad de nodos aumenta, la discrepancia entre el ancho de banda disponible para las dos implementaciones aumenta significativamente.

Entorno Libre de Colisiones
Una conexión punto a punto dedicada a un switch también evita contenciones de medios entre dispositivos, lo que permite que un nodo funcione con pocas colisiones o ninguna colisión. En una red Ethernet clásica de tamaño moderado que utiliza hubs, aproximadamente entre el 40% y el 50% del ancho de banda se consume en la recuperación por colisiones. En una red Ethernet con switch, en la que prácticamente no hay colisiones, el gasto destinado a la recuperación por colisiones se elimina casi por completo. Esto le proporciona a la red con switches tasas de rendimiento notablemente mejoradas.

Operación Full-Duplex
El uso de switches también le permite a una red funcionar como entorno de Ethernet full-duplex. Antes de que existieran los switches, la Ethernet sólo era half-duplex. Esto implicaba que en un momento dado un nodo podía transmitir o recibir. Con la característica full-duplex habilitada en una red Ethernet con switches, los dispositivos conectados directamente a los puertos del switch pueden transmitir y recibir simultáneamente con el ancho de banda completo de los medios.
La conexión entre el dispositivo y el switch está libre de colisiones. Esta disposición efectivamente duplica la velocidad de transmisión cuando se le compara con la half-duplex. Por ejemplo, si la velocidad de la red es de 100 Mbps, cada nodo puede transmitir una trama a 100 Mbps y, al mismo tiempo, recibir una trama a 100 Mbps.

Uso de Switches en vez de Hubs
Gran parte de la Ethernet moderna utiliza switches para los dispositivos finales y funciona en full duplex. Debido a que los switches brindan mucho más throughput que los hubs y aumentan el rendimiento tan notablemente, es justo preguntarse: ¿por qué no utilizamos switches en todas las LAN Ethernet? Existen tres razones por las que los hubs siguen utilizándose:
- Disponibilidad: los switches de LAN no se desarrollaron hasta comienzos de la década de 1990 y no estuvieron disponibles hasta mediados de dicha década. Las primeras redes Ethernet utilizaban hubs de UTP y muchas de ellas continúan funcionando en la actualidad.
- Económicas. En un principio, los switches resultaban bastante costosos. A medida que el precio de los switches se redujo, la utilización de hubs disminuyó y el costo es cada vez menos un factor al momento de tomar decisiones de implementación.
- Requisitos: las primeras redes LAN eran redes simples diseñadas para intercambiar archivos y compartir impresoras. Para muchas ubicaciones, las primeras redes evolucionaron hasta convertirse en las redes convergentes de la actualidad, lo que originó una necesidad imperante de un mayor ancho de banda disponible para los usuarios individuales. No obstante, en algunos casos será suficiente con un hub de medios compartidos y estos productos permanecen en el mercado.


6.1 Switches: Reenvío Selectivo
Los switches Ethernet reenvían selectivamente tramas individuales desde un puerto receptor hasta el puerto en el que esté conectado el nodo de destino. Este proceso de reenvío selectivo puede pensarse como la posibilidad de establecer una conexión punto a punto momentánea entre los nodos de transmisión y recepción. La conexión se establece sólo durante el tiempo suficiente como para enviar una sola trama. Durante este instante, los dos nodos tienen una conexión de ancho de banda completa entre ellos y representan una conexión lógica punto a punto.
Para ser más precisos en términos técnicos, esta conexión temporal no se establece entre los dos nodos de manera simultánea. Básicamente, esto hace que la conexión entre los hosts sea una conexión punto a punto. De hecho, cualquier nodo que funcione en modo full-duplex puede transmitir en cualquier momento que tenga una trama, independientemente de la disponibilidad del nodo receptor. Esto sucede porque un switch LAN almacena una trama entrante en la memoria búfer y después la envía al puerto correspondiente cuando dicho puerto está inactivo. Este proceso se denomina almacenar y reenviar.
Con la conmutación de almacenar y reenviar, el switch recibe toda la trama, verifica la FCS para detectar errores y reenvía la trama al puerto correspondiente para el nodo de destino. Debido a que los nodos no tienen que esperar hasta que los medios estén inactivos, los nodos pueden enviar y recibir a la velocidad completa del medio, sin pérdidas debidas a colisiones o a las sobrecargas que se relacionan con la administración de colisiones.

El reenvío se basa en la MAC destino
El switch mantiene una tabla, denominada tabla MAC que hace coincidir una dirección MAC de destino con el puerto utilizado para conectarse a un nodo. Para cada trama entrante, la dirección MAC de destino en el encabezado de la trama se compara con la lista de direcciones de la tabla MAC. Si se produce una coincidencia, el número de puerto de la tabla que se asoció con la dirección MAC se utiliza como puerto de salida para la trama.
La tabla MAC puede denominarse de diferentes maneras. Generalmente, se le llama tabla de switch. Debido a que la conmutación deriva de una tecnología más antigua denominada bridging transparente, la tabla suele denominarse tabla del puente. Por esta razón, muchos de los procesos que realizan los switches LAN pueden contener las palabras bridge (puente) o bridging en su nombre.
Un puente es un dispositivo que se utilizaba con mayor frecuencia en los inicios de la LAN para conectar dos segmentos de red física o para realizar un puente entre ellos. Los switches pueden utilizarse para realizar esta operación, a la vez que permiten la conectividad del dispositivo final con la LAN. Muchas otras tecnologías se desarrollaron en torno a los switches LAN. Muchas de estas tecnologías se presentarán en otro curso. Un entorno en el que prevalecen los puentes son las redes inalámbricas. Utilizamos puentes inalámbricos para interconectar dos segmentos de red inalámbrica. Por lo tanto, encontrará que la industria de networking utiliza ambos términos, conmutación y puenteo.

Operación del Switch

Para lograr su fin, los switches LAN Ethernet realizan cinco operaciones básicas:
- Aprendizaje
- Actualización
- Saturación
- Reenvío selectivo
- Filtrado

Aprendizaje
La tabla MAC debe completarse con las direcciones MAC y sus puertos correspondientes. El proceso de aprendizaje permite que estos mapeos se adquieran dinámicamente durante el funcionamiento normal.
A medida que cada trama ingresa al switch, el switch analiza la dirección MAC de origen. Mediante un proceso de búsqueda, el switch determina si la tabla ya contiene una entrada para esa dirección MAC. Si no existe ninguna entrada, el switch crea una nueva entrada en la tabla MAC utilizando la dirección MAC de origen y asocia la dirección con el puerto en el que llegó la entrada. Ahora, el switch puede utilizar esta asignación para reenviar tramas a este nodo.

Actualización
Las entradas de la tabla MAC que se adquirieron mediante el proceso de Aprendizaje reciben una marca horaria. La marca horaria se utiliza como instrumento para eliminar las entradas antiguas de la tabla MAC. Después de que se crea una entrada en la tabla MAC, un proceso comienza una cuenta regresiva utilizando la marca horaria como el valor inicial. Una vez que el valor alcanza 0, la entrada de la tabla se actualizará la próxima vez que el switch reciba una trama de ese nodo en el mismo puerto.

Saturación
Si el switch no sabe a qué puerto enviar una trama porque la dirección MAC de destino no se encuentra en la tabla MAC, el switch envía la trama a todos los puertos, excepto al puerto en el que llegó la trama. El proceso que consiste en enviar una trama a todos los segmentos se denomina saturación. El switch no reenvía la trama al puerto en el que llegó la trama porque cualquier destino de ese segmento ya habrá recibido la trama. La saturación también se utiliza para tramas que se envían a la dirección MAC de broadcast.

Reenvío Selectivo
El reenvío selectivo es el proceso por el cual se analiza la dirección MAC de destino de una trama y se le reenvía al puerto correspondiente. Ésta es la función principal del switch. Cuando una trama de un nodo llega al switch y el switch ya aprendió su dirección MAC, dicha dirección se hace coincidir con una entrada de la tabla MAC y la trama se reenvía al puerto correspondiente. En lugar de saturar la trama hacia todos los puertos, el switch envía la trama al nodo de destino a través del puerto indicado. Esta acción se denomina reenvío.

Filtrado
En algunos casos, la trama no se reenvía. Este proceso se denomina filtrado de la trama. Uno de los usos del filtrado ya se describió: un switch no reenvía una trama al mismo puerto en el que llega. El switch también descartará una trama corrupta. Si una trama no aprueba la verificación CRC, dicha trama se descarta. Otra razón por la que una trama se filtra es por motivos de seguridad. Un switch tiene configuraciones de seguridad para bloquear tramas hacia o desde direcciones MAC selectivas o puertos específicos.


7. ARP (Protocolo de Resolución de Direcciones)

7.1 El Proceso ARP: Mapeo de Direcciones IP a Direcciones MAC
El protocolo ARP ofrece dos funciones básicas:

- Resolución de direcciones IPv4 a direcciones MAC
- Mantenimiento de una caché de las asignaciones

Resolución de direcciones IPv4 a direcciones MAC
Para que una trama se coloque en los medios de la LAN, debe contar con una dirección MAC de destino. Cuando se envía un paquete a la capa de Enlace de datos para que se encapsule en una trama, el nodo consulta una tabla en su memoria para encontrar la dirección de la capa de Enlace de datos que se mapea a la dirección IPv4 de destino. Esta tabla se denomina tabla ARP o caché ARP. La tabla ARP se almacena en la RAM del dispositivo.
Cada entrada o fila de la tabla ARP tiene un par de valores: una dirección IP y una dirección MAC. La relación entre los dos valores se denomina mapa, que simplemente significa que usted puede localizar una dirección IP en la tabla y descubrir la dirección MAC correspondiente. La tabla ARP almacena el mapeo de los dispositivos de la LAN local en la memoria caché.
Para comenzar el proceso, un nodo transmisor intenta localizar en la tabla ARP la dirección MAC asignada a un destino IPv4. Si este mapa está almacenado en la tabla, el nodo utiliza la dirección MAC como la MAC de destino en la trama que encapsula el paquete IPv4. La trama se codifica entonces en los medios de la red.

Mantenimiento de la ARP
La tabla ARP se mantiene dinámicamente. Existen dos maneras en las que un dispositivo puede reunir direcciones MAC. Una es monitorear el tráfico que se produce en el segmento de la red local. A medida que un nodo recibe tramas de los medios, puede registrar las direcciones IP y MAC de origen como mapeos en la tabla ARP. A medida que las tramas se transmiten en la red, el dispositivo completa la tabla ARP con los pares de direcciones.
Otra manera en la que un dispositivo puede obtener un par de direcciones es emitir una solicitud de ARP. El ARP envía un broadcast de Capa 2 a todos los dispositivos de la LAN Ethernet. La trama contiene un paquete de solicitud de ARP con la dirección IP del host de destino. El nodo que recibe la trama y que identifica la dirección IP como si fuera la suya responde enviando un paquete de respuesta de ARP al emisor como una trama unicast. Esta respuesta se utiliza entonces para crear una entrada nueva en la tabla ARP.
Estas entradas dinámicas en la tabla ARP tienen una marca horaria similar a la de las entradas de la tabla MAC de los switches. Si un dispositivo no recibe una trama de un dispositivo determinado antes de que venza la marca horaria, la entrada para este dispositivo se elimina de la tabla ARP.
Además, pueden ingresarse entradas estáticas de asignaciones en una tabla ARP, pero esto no sucede con frecuencia. Las entradas estáticas de la tabla ARP no caducan con el tiempo y deben eliminarse en forma manual.

Creación de la Trama
¿Qué hace un nodo cuando debe crear una trama y la caché ARP no contiene una asignación de una dirección IP hacia una dirección MAC de destino? Cuando el ARP recibe una solicitud para mapear una dirección IPv4 a una dirección MAC, busca el mapa almacenado en su tabla ARP. Si no encuentra la entrada, la encapsulación del paquete IPv4 no se realiza y los procesos de Capa 2 notifican al ARP que necesita un mapa.
Los procesos ARP envían entonces un paquete de solicitud de ARP para descubrir la dirección MAC del dispositivo de destino de la red local. Si un dispositivo que recibe la solicitud tiene la dirección IP de destino, responde con una respuesta ARP. Se crea un mapa en la tabla ARP. Los paquetes para esa dirección IPv4 pueden ahora encapsularse en tramas.
Si ningún dispositivo responde a la solicitud de ARP, el paquete se descarta porque no puede crearse una trama. Esta falla de encapsulación se informa a las capas superiores del dispositivo. Si el dispositivo es un dispositivo intermediario, como por ejemplo, un router, las capas superiores pueden optar por responder al host de origen con un error en un paquete ICMPv4.

7.2 El Proceso ARP: Destinos Fuera de la Red Local
Todas las tramas deben enviarse a un nodo de un segmento de red local. Si el host IPv4 de destino se encuentra en la red local, la trama utilizará la dirección MAC de este dispositivo como la dirección MAC de destino.
Si el host IPv4 de destino no se encuentra en la red local, el nodo de origen necesita enviar la trama a la interfaz del router que es el gateway o el siguiente salto que se utiliza para llegar a dicho destino. El nodo de origen utilizará la dirección MAC del gateway como dirección de destino para las tramas que contengan un paquete IPv4 dirigido a hosts que se encuentren en otras redes.
La dirección de gateway de la interfaz del router se almacena en la configuración IPv4 de los hosts. Cuando un host crea un paquete para un destino, compara la dirección IP de destino con su propia dirección IP para determinar si las dos direcciones IP se encuentran en la misma red de Capa 3. Si el host receptor no se encuentra en la misma red, el origen utiliza el proceso de ARP para determinar una dirección MAC para la interfaz del router que sirve de gateway.
En caso de que la entrada de gateway no se encuentre en la tabla, el proceso de ARP normal enviará una solicitud de ARP para recuperar la dirección MAC asociada con la dirección IP de la interfaz del router.

ARP Proxy
Hay ocasiones en las que un host puede enviar una solicitud de ARP con el objetivo de asignar 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 un proxy ARP 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.


7.3 El Proceso ARP: Eliminación de Mapeo de Direcciones
Para cada dispositivo, un temporizador de caché ARP elimina las entradas ARP que no se hayan utilizado durante un período de tiempo especificado. Los tiempos difieren dependiendo del dispositivo y su sistema operativo. Por ejemplo, algunos sistemas operativos de Windows almacenan las entradas de caché de ARP durante 2 minutos. Si la entrada se utiliza nuevamente durante ese tiempo, el temporizador ARP para esa entrada se extiende a 10 minutos.
También pueden utilizarse comandos para eliminar manualmente todas o algunas de las entradas de la tabla ARP. Después de eliminar una entrada, el proceso para enviar una solicitud de ARP y recibir una respuesta ARP debe ocurrir nuevamente para ingresar la asignación en la tabla ARP.
En la práctica de laboratorio para esta sección, utilizará el comando arp para visualizar y borrar los contenidos de la caché ARP de una computadora. Observe que este comando, a pesar de su nombre, no invoca en absoluto la ejecución del Protocolo de resolución de direcciones. Sólo se utiliza para mostrar, agregar o eliminar las entradas de la tabla ARP. El dispositivo integra el servicio ARP dentro del protocolo IPv4 y lo implementa. Su funcionamiento es transparente para aplicaciones y usuarios de capa superior.


7.4 Broadcasts de ARP: Problemas

Sobrecarga en los Medios
Todos los dispositivos de la red local reciben y procesan una solicitud de ARP debido a que es una trama de broadcast. En una red comercial típica, estos broadcasts tendrían probablemente un impacto mínimo en el rendimiento de la red. Sin embargo, si un gran número de dispositivos se encendiera y todos comenzaran a acceder a los servicios de la red al mismo tiempo, podría haber una disminución del rendimiento durante un período de tiempo breve. Por ejemplo, si todos los estudiantes de una práctica de laboratorio inician sesión en computadoras del aula e intentan acceder a Internet al mismo tiempo, podría haber demoras.
Sin embargo, una vez que los dispositivos envían los broadcasts de ARP iniciales y que aprenden las direcciones MAC necesarias, se minimizará todo impacto en la red.

Seguridad
En algunos casos, el uso del ARP puede ocasionar un riesgo potencial de seguridad. La suplantación ARP o el ARP poisoning es una técnica que utiliza un atacante para introducir una asociación de direcciones MAC incorrecta en una red emitiendo solicitudes de ARP falsas. El individuo falsifica la dirección MAC de un dispositivo y de esta manera las tramas pueden enviarse a la dirección equivocada.
Una manera de evitar la suplantación ARP es configurar asociaciones de ARP estáticas manualmente. Las direcciones MAC autorizadas pueden configurarse en algunos dispositivos de red para que limiten el acceso a la red para sólo los dispositivos indicados.

Copyright © 2021 TRUJILLOSOFT