Este protocolo es el que permite el encaminamiento de la información a través de Internet, o sea, el que define una red de conmutación de paquetes. La información se fragmenta en pequeños trozos o paquetes (con una capacidad aprox. de 1500 caracteres) que se envían independientemente por la red. Cada paquete es enviado con la dirección del ordenador al que va dirigida la información, yendo cada paquete por una ruta distinta hasta alcanzar su objetivo.
1.3 Protocolo resolución de direcciones (ARP)
En el entorno de redes locales, el encaminamiento utiliza el protocolo ARP, este se usa para traducir las direcciones IP (lógicas) en direcciones de la red local.
El funcionamiento del protocolo ARP es simple: una máquina envía un mensaje a otra conectada con ella a través de la red Ethernet. Cada máquina en la red Ethernet tiene una dirección única que se utiliza para dirigirle mensajes. Esta dirección no es conocida por la máquina que envía, y que sólo conoce la IP de destino.
El que envía genera un mensaje ARP que contiene la IP de la máquina de destino. El mensaje se envía a toda la red utilizando una dirección de “
broadcast”.
Todas las máquinas reciben el mensaje, pero sólo responde aquella que reconoce la IP como suya propia. La respuesta ARP contiene la dirección física y lógica del destinatario. La respuesta se enviará directamente al origen de la consulta ARP, que con esta información puede dirigir inmediatamente sus mensajes.
Implementar el protocolo ARP incorpora buffers con las tablas correspondientes entre las IP y las direcciones físicas de la red, de forma que se reduce el número de consultas que se deben realizar.
1.4 Clases de direcciones Internet (IP)
Direccionamiento Internet (IP)
Cada máquina en Internet tiene una dirección única.
Esta dirección de 32 bits se divide en 2 partes, que son los bits de Red y los bits de Host.
El organismo que asigna las IP a nivel mundial es InterNIC, en la dirección hostmaster@nic.ddn.mil, y en España lo realiza una empresa llamada Interdomain.
Dirección
Las direcciones de clase A corresponden a redes que pueden direccionar hasta 16.777.214 máquinas cada una. Las direcciones de red de clase A tienen el primer bit a 0.
Las direcciones de clase B permiten direccionar 65.534 máquinas cada una. Los primeros bits de una dirección de red de clase B son 0-1.
Las direcciones de clase C permiten direccionar 254 máquinas. Las direcciones de clase C empiezan con los bits 110.
Las direcciones de clase D son un grupo especial que se utiliza para dirigirse a grupos de máquinas. Estas direcciones son muy poco utilizadas. Los primeros bits de una dirección de clase D son 1-1-1-0, y su rango va desde 224.000.000.000 hasta 239.255.255.254.
existen una serie de direcciones reservadas, que son:
000.xxx.xxx.xxx(1)
127.xxx.xxx.xxx (reservada como la propia máquina)
128.000.xxx.xxx(1)
191.255.xxx.xxx(1)
192.000.000.xxx(1)
223.255.255.xxx(2)
Direcciones de máquinas reservadas:
xxx.000.000.000(1)
xxx.255.255.255(2)
xxx.xxx.000.000(1)
xxx.xxx.255.255(2)
xxx.xxx.xxx.000(1)
xxx.xxx.xxx.255(2)
(1) se utilizan para identificar a la red propia
(2) se usa para enmascarar
1.5 DNS y direcciones IP
Cada máquina de Internet tiene asignada una “dirección IP”, pero esta dirección IP es difícil de recordar por su longitud y variedad, como ya he resumido anteriormente, y existe un mecanismo de direcciones simbólicas que asignan un nombre a cada máquina. Los nombres son más fáciles de usar y recordar que los números.
Las direcciones simbólicas se forman por nombres separados por puntos. Los nombres representan el nombre de la máquina, y al nombre de los distintos dominios, cada vez de nivel mayor, en los que está incluida la máquina.
Ejemplo:
alibaba.hacker.ctv.es
alibaba.simm.es
Como se van a usar ambos tipos de direcciones para designar a una máquina, se necesita un mecanismo para pasar de uno al otro lado y viceversa: DNS (Domain Name System o servicio de nombres Internet), que es el encargado de realizar esta transformación.
El DNS consiste, básicamente, en una base de datos distribuida de forma jerárquica por toda la red Internet que es consultada por el usuario para llevar a cabo la traducción entre los nombres y las direcciones numéricas.
1.6 Protocolo de la transmisión (TCP)
En el recorrido de un socked, puede ocurrir, que un paquete IP se pierda, llegue duplicado o con errores en la información que contiene. El protocolo TCP se encarga de subsanar estas posibles deficiencias para conseguir un servicio de transporte de información bueno.
TCP corta en trozos la información a transmitir, igual que lo hace el protocolo IP. TCP numera cada paquete de manera que el receptor de la información los podrá ordenar al recibirlo. Para pasar esta información a través de la red, TCP utiliza un sobre identificado con el número de secuencia del paquete. Los paquetes TCP se envían a su destino, independientemente unos de otros, utilizando el protocolo IP.
En la recepción, TCP recoge el paquete, extrae los datos y los pone en el orden correcto. Si algunos sobres desaparecen, el receptor le pise al transmisor que retransmita los paquetes de nuevo. Cuando toda la información recogida esta en su orden, se pasan los datos al a capa de aplicaciones.
Pero en la práctica, los paquetes no solamente se pueden perder, sino que pueden sufrir cambios y crear error o confusión en el receptor. TCP resuelve este problema colocando en el paquete que se envía lo que se denomina el “checksum”. Cuando el paquete llega a su destino, el receptor TCP calcula que checksum debe ser y lo compara con el que se ha enviado. Si no son los mismos el TCP receptor entiende que ha habido un error en la transmisión y le pide al transmisor que reenvíe.
De esta manera, el TCP pasa a ser un protocolo fiable en la transmisión de información. Todas las aplicaciones de Internet utilizan los servicios de transporte TCP para el intercambio de información, de forma que pueden ignorar los problemas de envío de información a través de la red.
NOTA: Este apartado lo ampliaré más profundamente en el punto 2.0
1.7 Protocolo UDP
Establecer una conexión TCP requiere gran cantidad de información en las cabeceras de los paquetes y en consecuencia retrasos en la transmisión, si se quiere enviar un paquete y no se requiere una particular precaución en el reparto del mismo entonces se puede usar otro protocolo más simple que el TCP, este es el caso del “protocolo de datagramas del usuario (UDP) que se utiliza en vez del TCP en algunas aplicaciones.
UDP es más simple que el TCP porque no se preocupa de mensajes que se pierdan, mantiene el orden en los paquetes que se envían, etc… UDP se usa para programas que sólo envían mensajes cortos, y pueden reenviar el mensaje si una respuesta no se produce en un período corto de tiempo. El UDP también se utiliza en el entorno de la red local donde la tasa de errores de transmisión es muy pequeña, y no es necesario el sofisticado control de errores del protocolo TCP.
2.-TCP/IP
El termino genérico "TCP/IP" usualmente significa todo lo relacionado a
los protocolos específicos de TCP e IP. Puede incluir otros protocolos,
aplicaciones y hasta la red entera. Un ejemplo de otros protocolos pueden
ser: UDP, ARP y ICMP. Un ejemplo de estas aplicaciones pueden ser: TELNET,
FTP y RCP. Un termino mas exacto podría ser "Tecnología Internet".
Una red que use "tecnología internet" es llamada "internet". Es decir, el
conjunto de aplicaciones y protocolos mencionados son los que forman el
conjunto comúnmente llamado INTERNET.
2.1 Estructura Básica
Para comprender esta tecnología debes primero de entender la siguiente
estructura lógica:
----------------------------
| Aplicaciones de Red |
| |
|... \ | / .. \ | / ...|
| ------- ------- |
| | TCP | | UDP | |
| ------- ------- |
| \ / |
| -------- |
| | IP | |
| ------- -*------ |
| | ARP | | |
| ------- | |
| \ | |
| -------- |
| | ENET | |
| ----@--- |
----------|-----------------
|
----------------------o---------
Cable de Ethernet
Figura 1. Un Nodo básico de Red TCP/IP
Esta es la estructura lógica de los protocolos en 'escalera' dentro de
una computadora en una Internet. Cada computadora que pueda comunicarse
usando tecnología internet tiene esta estructura. Es la estructura lógica
la que determina el comportamiento de la computadora en la internet.
Las cajas representan el procesamiento de datos mientras pasa a través de
la computadora, y las líneas conectando las cajas muestran el camino de
los datos. La línea horizontal al final representa el cable Ethernet; la
"o" es un Transceiver y Conecta al cable Ethernet con el resto de la
internet. El asterisco "*" es la dirección IP y el "@" es la dirección
Ethernet. Entender la estructura lógica es esencial para entender la
tecnología Internet a la que se refiere el tutorial.
2.2 Terminología
El nombre de la unidad de Información que fluye a través de una internet
depende con respecto a su posición en la pila de protocolos. En resumen:
Si esta en una Ethernet se llama 'Ethernet frame'; si se encuentra entre
el manejador de Ethernet y el modulo IP se denomina un 'IP packet'; si se
encuentra entre el modulo IP y el modulo UDP se llama 'Datagrama UDP'; Si
se encuentra entre el modulo IP y el modulo TCP se llama un 'Segmento
TCP'(generalmente llamado 'mensaje TCP'); y si esta en una aplicación de
Red se llama 'un mensaje de aplicación'.
(por favor examine la figura 1 mientras consulta esta información)
Un manejador (driver) es un software que se comunica directamente con
el hardware interfaz de la red. Un modulo es software que se comunica
con un manejador, con aplicaciones de red, o con algún otro modulo.
Los términos manejador, modulo, Ethernet frame, IP packet, Datagrama UDP,
Segmento TCP o mensaje TCP y mensaje de aplicación son usados a través de
este trabajo.
2.3 Flujo de Datos
Ahora seguiremos los datos mientras fluyen por la 'escalera' o 'pila' de
protocolos que se ven en la figura 1. Para una aplicación que use TCP
(Transmission Control Protocol*Protocolo de Control de Transmision) los
datos pasan entre la aplicación y el modulo TCP. Para las aplicaciones
que usan UDP (User Datagram Protocol), los datos pasan entre la
aplicación y el modulo UDP. FTP (File Transfer Protocol) es un ejemplo
típico de una aplicación que usa TCP. La 'escalera' de protocolos en
este ejemplo FTP seria FTP/TCP/IP/ENET. SNMP (Simple Network Management
Protocol) es una aplicación que usa UDP. Su protocolo en 'escalera'
seria SNMP/UDP/IP/ENET (ver figura 1 para ver la ruta de los datos)
El modulo TCP, modulo UDP y el manejador Ethernet son n-a-1 (n-to-1)
multiplexers. Los multiplexers permiten conectar varias Entradas (inputs)
a una salida (output). Existen también 1-a-n (1-to-n) de-multiplexers.
Los de-multiplexers conectan una entrada (input) a varias salidas
(outputs) de acuerdo con la indicación del encabezado del protocolo.
1 2 3 ... n 1 2 3 ... n
\ | | / | \ | | / ^
\ | | / | \ | | / |
------------- flujo ---------------- flujo
|multiplexer| de |de-multiplexer| de
------------- datos ---------------- datos
| | | |
| v | |
1 1
Figura 2. n-to-1 multiplexer y 1-to-n de-multiplexer
Si un Ethernet frame llega al manejador(driver) Ethernet hacia la red,
el paquete(packet) puede ser pasado hacia arriba a el modulo ARP (Address
Resolution Protocol) o al modulo IP (Internet Protocol). El valor del
encabezado de el Ethernet frame determina si el Ethernet frame es pasado
al modulo ARP o al modulo IP.
Si un IP packet llega al IP, la unidad de datos es pasado hacia arriba a
TCP o UDP, depende de lo determinado por el valor del encabezado del IP.
Si un datagrama UDP llega a UDP, el mensaje de la aplicación (TCP SEGMENT)
es pasado hacia arriba a la aplicación de red basada en el valor del
puerto en el encabezado del UDP Si el TCP SEGMENT llega a TCP, el mensaje
de la aplicación es pasado hacia la aplicación de la red basada en el
valor del encabezado TCP
Multiplexing hacia abajo es mas simple de realizar por que de cada punto
de partida solo hay un camino hacia abajo; cada modulo añade la
información al encabezado del paquete (packet) para que el paquete
pueda ser De-multiplexed en el servidor destinatario.
Los datos pasando fuera de las aplicaciones a través del TCP o UDP
convergen en el modulo IP y es enviado hacia abajo a través del manejador
de la parte baja de la red.
A pesar de que la tecnología Internet soporta varios medios de red,
Ethernet es usado para todos los ejemplos en este tutorial por que es la
mas común red física usada bajo IP. El sistema en la figura 1 tiene una
sola conexión Ethernet. La dirección Ethernet de 6 bytes es única para
cada interfase en una Ethernet y esta localizada en la interfaz baja del
manejador de Ethernet.
El sistema también tiene una dirección IP de 4 bytes. Esta dirección esta
localizada en la interfaz baja del modulo IP. La dirección IP debe ser
única para cada Internet.
Un sistema en marcha siempre sabe su dirección IP y Ethernet.
2.4 Dos Interfaces de Red
Si un sistema esta conectado a 2 Ethernets separados lo está como en la figura 3
----------------------------
| Aplicaciones de Red |
| |
|... \ | / .. \ | / ...|
| ----- ----- |
| |TCP| |UDP| |
| ----- ----- |
| \ / |
| -------- |
| | IP | |
| ----- -*----*- ----- |
| |ARP| | | |ARP| |
| ----- | | ----- |
| \ | | / |
| ------ ------ |
| |ENET| |ENET| |
| ---@-- ---@-- |
----------|-------|---------
| |
| ---o---------------------------
| Cable Ethernet 2
---------------o----------
Cable Ethernet 1
Figura 3.Nudo de Red TCP/IP en 2 Ethernets
Nótese que este sistema tiene 2 direcciones Ethernet y 2 IP
Se puede ver en esta estructura que para los sistemas con mas de una
interfaz de red física, el modulo IP es un N-a-M multiplexer y un M-a-N
de-multiplexer a la vez.
1 2 3 ... n 1 2 3 ... n
\ | | / | \ | | / ^
\ | | / | \ | | / |
------------- flujo ---------------- flujo
|multiplexer| de |de-multiplexer| de
------------- datos ---------------- datos
/ | | \ | / | | \ |
/ | | \ v / | | \ |
1 2 3 ... m 1 2 3 ... m
Figura 4. n-a-m multiplexer and m-a-n de-multiplexer
Puede realizar el multiplexing en cualquier dirección para acomodar los
datos hacia adentro y hacia afuera. Un modulo IP con mas de una interfaz
de red es mas compleja que el ejemplo original por que puede mandar datos
a la siguiente red. Los datos pueden llegar a cualquier interfaz de red
y ser mandados a cualquier otra.
TCP UDP
\ /
\ /
--------------
| IP |
| |
| --- |
| / \ |
| / v |
--------------
/ \
/ \
entrada salida
de datos de datos
Figura 5. Ejemplo de un IP mandando un paquete(packet) IP
El proceso de mandar un paquete IP hacia otra red es llamado 'forwarding'
un paquete IP. Una computadora que ha sido dedicada a la tarea de
'forwarding' paquetes IP se le denomina un "ruteador(router)-IP".
Como se puede ver en la figura, el paquete IP mandado nunca toca los
módulos TCP y UDP en el ruteador-IP. Algunas implementaciones de los
ruteadores-IP no tienen un modulo TCP o UDP.
2.5 IP crea una sola red lógica.
El modulo IP es central a el suceso de la tecnología Internet. Cada
modulo o manejador añade un encabezado al mensaje mientras este pasa
hacia abajo por la 'escalera' (stack) de protocolos. Cada modulo o
manejador le‚ el correspondiente encabezado del mensaje mientras este
sube por la 'escalera' de protocolos hacia la aplicación. El encabezado
IP contiene la dirección IP, que constituye una sola red lógica de
múltiples redes físicas. Este interconexión de redes físicas es la fuente
del nombre: Internet. Un set de redes físicas interconectadas que limitan
el rango de un paquete IP se llama "internet".
2.6 Independencia de redes físicas
IP esconde el hardware de la red de las aplicaciones de la red. Si in-
ventásemos una nueva red física, podríamos ponerla en servicio implemen-
tando un nuevo manejador que conecte a la internet abajo de la IP.Así,las
aplicaciones de la red permanecen intactas y no son vulnerables a los
cambios en la tecnología de hardware.
2.7 Interoperabilidad
Si dos computadoras en una internet se pueden comunicar, se dice que son
"interoperables"; si una implementacion de la tecnología internet es
buena, se dice que tiene "interoperabilidad". Usuarios de computadoras de
propósito general se benefician de la instalación de una internet por la
interoperabilidad de las computadoras en el marcado. Generalmente cuando
se compra una computadora, será interoperable. Si la computadora no tiene
interoperabilidad e interoperabilidad no puede ser añadida, ocupa un
espacio raro en el mercado.
2.8 Después de la Introducción
¿Con los datos anteriores establecidos, contestaremos las siguientes preguntas
¿Cuando se manda un paquete IP, como se determina la dirección Ethernet destinataria?
¿Como sabe la IP cual de las interfaces de redes múltiples usar cuando manda un paquete IP?
¿Como un cliente en una computadora alcanza al servidor en otra?
¿Porqué los protocolos TCP y UPD existen conjuntamente en lugar de uno o el otro?
¿Que aplicaciones de red están disponibles?
3. Ethernet
Esta sección es una revisión de la Tecnología Ethernet.
Una Cuadro Ethernet (Ethernet Frame) contiene la dirección destino, la dirección fuente, el tipo de campo y los datos.
Una dirección Ethernet es de 6 bytes. Cada dispositivo tiene su propia dirección Ethernet y esta espera cuadros Ethernet con esa dirección como destino. Todos los dispositivos esperan cuadros Ethernet con destinación 'comodín' es decir, dirigido a cualquier dispositivo, la dirección comodín es "FF-FF-FF-FF-FF-FF" (hexadecimal), se denomina una dirección anunciada (broadcast address).
Ethernet usa CSMA/CD (Carrier Sense and Multiple Acccess with Collision Detection). CSMA/CD significa que todos los dispositivos se comunican solo por un medio que solo puede transmitir uno a la vez, y que todos pueden recibir simultáneamente. Si 2 dispositivos tratan de transmitir a el mismo instante, la colisión es detectada y los 2 dispositivos esperan al azar (pero corto) periodo antes de empezar a transmitir nuevamente.
3.1 Una Analogía Humana
Una buena Analogía de lo que la tecnología Ethernet es un grupo de gente hablando en un pequeño y oscuro cuarto. En esta analogía el medio de la red física son las ondas de sonido en el aire en lugar de señales eléctricas en cable coaxial.
Cada persona puede escuchar las palabras cuando otra persona esta hablando (Carrier Sense). Todos en el cuarto pueden hablar (Múltiple Acces), pero ninguna de ellas se tarda hablando mas que los demás por buena educación. Si una de esas personas no tiene educación, se le pide que abandone el cuarto (ej. Un dispositivo alejado de la red).
Nadie habla mientras esta otra persona hablando. Pero si 2 personas empiezan a hablar en el mismo instante, cada una de ellas sabe lo que pasa por que escuchan algo que no han dicho (Collision Detection).
Cuando estas 2 personas notan lo que pasa, esperan un momento, luego una de ellas comienza a hablar. La otra escucha y espera a que termine antes de que empiece su discurso.
Cada persona tiene un nombre único (Dirección Ethernet Unica) para evadir la confusión. Cada vez que una de ellas habla, introduce el mensaje con el nombre de la persona a la que le esta hablando y con su propio nombre (Dirección Ethernet Destino y Dirección Fuente), ejemplo "Hola Jack, este es Jane,.blah...blah..blah". Si el originario del mensaje desea hablar a todos le diría "Hola a Todos" (Dirección Anunciada o Broadcast Address).
. ARP
Cuando se manda hacia afuera un paquete IP, ¿como es la dirección Ethernet destino determinada?
ARP (Address Resolution Protocol) es usado para trasladar direcciones IP a direcciones Ethernet. La Translación es hecha solo para los paquetes IP que van hacia afuera, por que aquí es cuando el encabezado IP y el encabezado Ethernet son creados.
4.1 ARP Tabla para Translación de Dirección
La translación es hecha como una tabla. La tabla, llamada tabla ARP es guardada en memoria y contiene una columna para cada computadora. Existe una columna para la dirección IP y una columna para la dirección Ethernet.
Cuando se Translada una dirección IP a una Ethernet, la tabla es buscada para encontrar una dirección IP idéntica. Lo siguiente es una tabla ARP:
------------------------------------
|dirección IP dir. Ethernet |
------------------------------------
|223.1.2.1 08-00-39-00-2F-C3|
|223.1.2.3 08-00-5A-21-A7-22|
|223.1.2.4 08-00-10-99-AC-54|
------------------------------------
TABLA 1. Ejemplo de una tabla ARP
Para escribir la dirección IP de 4 bytes se deben de colocar cada byte en decimal y separando los bytes con un punto. Cuando se escribe la dirección Ethernet de 6 bytes, se colocan cada byte en hexadecimal y separando los bytes con un signo de menos o un guión.
La tabla ARP es necesaria por que la dirección IP y Ethernet son seleccionadas independientemente; no se puede usar un algoritmo para transladar direcciones IP a Ethernet. La dirección IP es escogida por el por el manager de la red basado en la localización de la computadora en la Internet. Cuando la computadora es movida hacia una parte diferente de la Internet, su dirección IP deberá ser cambiada. La dirección Ethernet es escogida por el creador de la red basado en el espacio de la dirección Ethernet que ha sido dada por el creador. Cuando la interfaz del hardware de la tabla cambia, la dirección Ethernet cambia.
4.2 Escenario típico de translación
Durante una operación normal en una aplicación de red, como TELNET, se envía un mensaje de aplicación a TCP, después TCP envía el correspondiente mensaje TCP a el modulo IP. La dirección destino IP es conocida por la aplicación, el modulo TCP y el modulo IP. En este punto el paquete IP ha sido construido y esta listo para ser entregado a el controlador Ethernet, pero primero la dirección Ethernet debe ser determinada.
La tabla ARP es usada para ver la destinación Ethernet.
4.3 ARP SOLICITUD/RESPUESTA
La tabla ARP es completada automáticamente según se vaya necesitando.
Cuando una tabla ARP no puede ser usada para transladar una dirección suceden estas dos cosas:
1. Una paquete de solicitud ARP con una dirección Broadcast Ethernet -es
decir, a todos los componentes de la red- es enviado a cada computadora.
2. El paquete IP es marcado para futuro envío.
Cada computadora en la interfaz Ethernet recibe el cuadro Ethernet por ser enviado a la dirección 'anunciada' (broadcast). Cada manejador Ethernet examina el tipo de campo en el cuadro Ethernet y pasa el paquete ARP a el modulo ARP. El paquete de solicitud ARP dice "Si tu dirección IP es igual a la dirección IP destino, entonces dime tu dirección Ethernet". Un paquete de solicitud ARP es algo así:
------------------------------------------------
|Dirección IP Destino 223.1.2.1 |
|Dirección Ethernet Remitente 08-00-39-00-2F-C3|
------------------------------------------------
|Dirección IP Destino 223.1.2.2 |
|Dirección Ethernet Destino |
------------------------------------------------
TABLA 2. Ejemplo de una solicitud ARP
Cada modulo ARP examina su dirección IP y si la dirección IP destino coincide con su propia dirección IP, le envía una respuesta directamente a la dirección Ethernet fuente. El paquete ARP respuesta dice "Si, esa es mi dirección IP, déjame darte mi dirección Ethernet".Un paquete de respuesta ARP tiene el campo remitente/destinatario al revés que la solicitud. El paquete se ve algo así:
------------------------------------------------
|Dirección IP Remitente 223.1.2.2 |
|Dirección Ethernet Remitente 08-00-28-00-38-A9|
------------------------------------------------
|Dirección IP Destino 223.1.2.1 |
|Dirección Ethernet Destino 08-00-39-00-2F-C3|
------------------------------------------------
TABLA 3. Respuesta ARP
La respuesta es recibida por la computadora que lo envío originalmente.
El controlador Ethernet se fija en campo en el cuadro Ethernet y luego pasa el paquete ARP a el modulo ARP. El modulo ARP examina el paquete ARP y añade la dirección IP remitente y destinatario a la tabla ARP.
La tabla quedaría así:
-----------------------------------
|Dirección IP Dirección Ethernet|
-----------------------------------
|223.1.2.1 08-00-39-00-2F-C3|
|223.1.2.2 08-00-28-00-38-A9|
|223.1.2.3 08-00-5A-21-A7-22|
|223.1.2.4 08-00-10-99-AC-54|
-----------------------------------
TABLA 4. Tabla ARP después de la respuesta
4.4 La Continuación del Escenario
La nueva translación ha sido instalada automáticamente en la tabla, solo microsegundos después de que se necesitaba. Como puedes recordar de el paso 2 arriba, el paquete IP era marcado para futuro envío. Ahora, la dirección IP era transladada a la dirección Ethernet simplemente observando la tabla ARP y luego el cuadro Ethernet es transmitido a la Ethernet.
Así, con los nuevos pasos 3, 4, y 5, el escenario para la computadora que envía (remitente) es:
1. Un paquete de petición ARP es enviado con una dirección anunciada y
es enviado a todas las computadoras de la red.
2. El paquete IP era marcado para futuro envío.
3. La respuesta ARP llega con la dirección IP-a-Ethernet para la tabla.
4. Para el paquete IP marcado para futuro envío, la tabla es usada para
transladar la dirección IP a Ethernet.
5. El cuadro Ethernet es transmitido a la Ethernet.
En breve, cuando la translación hace falta en la tabla ARP, una paquete IP es detenido y se espera a que responda una computadora a la solicitud ARP. La información necesaria para la translacion es rápidamente completada y el paquete IP es transmitido.
Cada computadora tiene una tabla ARP separada de cada interfaz Ethernet.
Si la computadora destino no existe, no habrá ninguna respuesta ARP y la tabla ARP no será completada. IP descartara el paquete IP enviado a esa dirección. Los protocolos de la parte alta de la Ethernet no pueden diferencias entre una Ethernet rota y la falta de una computadora con la dirección IP destino.
5. Protocolo Internet
El modulo IP es central en la tecnología Internet y la esencia de IP es su tabla ruteadora. IP usa su tabla en-memoria para hacer todas las decisiones acerca de la ruta de un paquete IP. El contenido de la tabla ruteadora es definido por el administrador de la red. Un error en esa tabla bloquea la comunicación.
Para entender como una tabla ruteadora es usada es necesario entender el trabajo entre redes llamado internetworking. Este entendimiento es necesario para la administración y mantenimiento satisfactorio de una red IP.
La tabla ruteadora es mejor entendida si primero se tiene una vista de el ruteado, después aprendiendo acerca de las direcciones IP de las redes y por ultimo comprender los detalles.
5.1 Ruteado Directo
La figura de abajo es una internet pequeña con 3 computadoras: A, B, y C.
Cada computadora tiene la misma escalera de protocolos TCP/IP como se ve en la figura 1.
Cada interfaz Ethernet tiene su propia dirección Ethernet. Cada computadora tiene su dirección IP asignada a la interfaz por el administrador de la red, quien también ha asignado un numero IP a la Ethernet.
A B C
| | |
--o------o------o--
Ethernet 1
Desarrollo de una red IP
Figura 6. Una red IP
Cuando A envía un paquete IP a B, el encabezado IP contiene la dirección IP de la computadora A y el encabezado contiene la dirección Ethernet de A como la dirección Ethernet fuente. También, el encabezado IP contiene la dirección IP de B como la dirección destino y el encabezado Ethernet contiene la dirección Ethernet de B como la dirección destino.
------------------------------------------
| Dirección Fuente Destino |
------------------------------------------
| Encabezado IP A B |
| Encabezado Ethernet A B |
------------------------------------------
TABLA 5. Direcciones en un cuadro Ethernet para un paquete IP
de A dirigido a B
Para este simple caso, IP esta en el punto mas alto por que IP añade poco servicio ofrecido por la Ethernet. De cualquier manera. IP añade costo: El tiempo extra de procesamiento del CPU y el ancho de banda a generar, transmitir y crear el encabezado IP.
Cuando el modulo IP de la computadora B recibe el paquete de A, chequea la dirección IP destino con su propia dirección buscando que sean iguales, después pasa el datagrama los protocolos de mas alto nivel.
Esta comunicación entre A y B usa ruteado directo.
5.2 Ruteado Indirecto
La figura de abajo es una vista mas realística de una Internet. Esta compuesta de 3 Ethernets y 3 direcciones IP conectadas por un ruteador IP llamado computadora D. Cada una de las 3 redes tiene 4 computadoras; cada computadora tiene su propia dirección Ethernet e IP.
A B C ----D---- E F G
| | | | | | | | |
--o------o------o------o- | -o------o------o------o--
Ethernet 1 | Ethernet 2
"Desarrollo" de la red IP | red IP "Contabilidad"
|
|
| H I J
| | | |
--o-----o------o------o--
Ethernet 3
red IP "Fabrica"
Figura 7. Tres redes IP; una Internet.
Con excepción de la computadora D, cada computadora tiene la 'escalera' de protocolos igual que en la figura 1. La computadora D es el ruteador IP y esta conectada a las 3 redes y por eso tiene 3 direcciones IP y 3 direcciones Ethernet. La computadora D tiene la 'escalera' de protocolos similar a la figura 3, excepto que tiene 3 módulos ARP y 3 controladores Ethernet en lugar de 2. Cabe notar que la computadora D solo tiene un modulo IP.
El administrador de la red ha asignado un numero único llamado 'numero IP de red' para cada una de las Ethernets. Los números IP de red no son mostrados en este diagrama, solo los nombres de red.
Cuando la computadora A envía un paquete IP a la computadora B, el proceso es idéntico a el ejemplo de la red sencilla. Cualquier comunicación entre las computadoras localizadas en una red IP sencilla es idéntica a el ejemplo de ruteado discutido previamente.
Cuando las computadoras D y A se comunican, se llama comunicación directa.
Cuando las computadoras D y E se comunican, se llama comunicación directa.
Cuando las computadoras D y H se comunican, se llama comunicación directa.
Esto es por que cada uno de estos pares de computadoras están en la misma red IP.
De cualquier manera, cuando la computadora A se comunica con una computadora del otro lado del ruteador IP, la comunicación no es directa. La computadora A debe usar D para enviar el paquete IP a la siguiente red. Esta comunicación se llama "indirecta".
Este ruteado de paquetes IP es hecho por los módulos IP y transcurre transparentemente a TCP, UDP, y a las aplicaciones de red.
Si A envía un paquete IP a E, la dirección remitente IP y la dirección remitente Ethernet son las de A. La dirección IP destino es E, pero por que el modulo IP de A envía el paquete a D para que lo dirija, la dirección Ethernet destino es la de D.
------------------------------------
|Dirección Remitente Destino |
------------------------------------
|IP header A E |
|Ethernet header A D |
------------------------------------
TABLA 6. Direcciones en un cuadro Ethernet de un paquete IP de A
a E (pasando por D)
El modulo IP de D recibe el paquete después de examinar la dirección IP destino y dice "Esta no es mi dirección IP," y envía el paquete IP directamente a E.
--------------------------------------
|Dirección Remitente Destino |
--------------------------------------
|Encabezado IP A E |
|Encabezado Ethernet D E |
--------------------------------------
TABLA 7. Direcciones en un cuadro Ethernet para un paquete IP
de A a E (después de D)
En sumario, para comunicación directa, ambas direcciones remitente IP y la dirección remitente Ethernet es la dirección de la computadora que envía y la dirección IP destino es la de el recipiente. Para comunicación indirecta, la dirección IP y la dirección Ethernet no coinciden en esta manera.
Este ejemplo de internet es muy simple. Las verdaderas redes son regularmente complicadas por muchos factores, resultando en múltiples ruteadores IP y distintos tipos de redes físicas. Este ejemplo de internet puede realizarse en el caso de que el administrador de la red quisiera dividir el trafico de la red en orden de localizar el trafico Ethernet.
5.3 Direcciones IP
El administrador de la red asigna una dirección IP a las computadoras de acuerdo con la red IP a las que la computadora este conectada. Una parte de la dirección de 4 bytes es la dirección IP de red, la otra parte es el numero IP de la computadora (o numero de host). Para la computadora en la tabla 1, con una dirección IP de 223.1.2.1, el numero de red es 223.1.2 y el numero Host es numero 1.
La porción de las direcciones que es usado para el numero de red y para el numero de Host es definido por los primeros bits en la dirección de 4 bytes. Todos los ejemplos de direcciones IP en este tutorial son de clase C, significa que los 3 primeros bits indican que 21 bits son el numero de la red y los 8 bits son el numero Host. Esto permite 2,097,152 redes clase C con mas de 254 Host en cada red.
El espacio de la dirección IP es administrado por el NIC -Network Information Center-. Todas las Internets que estén conectadas a la única Internet Mundial deben usar números asignados por NIC. Si estás preparando tu propia Internet y no tienes planeado conectarla a la Internet mundial, de todas maneras debes obtener el numero de tu red por vía NIC. Si escoges tu propio número, corres el riesgo de confusión y caos en el momento que se conecte a la Internet Mundial.
5.4 Nombres
La gente se refiere a las computadoras por nombres no por números. Una computadora llamada Alpha puede tener la dirección IP de 223.1.2.1. Para redes pequeñas, esta translación de nombre a dirección es tenida en cada computadora de el archivo "hosts". Para redes mas grandes, esta translación esta guardada en un servidor accesado desde la red cuando se necesite. Unas pocas líneas de este archivo se verían así:
223.1.2.1 alpha
223.1.2.2 beta
223.1.2.3 gamma
223.1.2.4 delta
223.1.3.2 epsilon
223.1.4.2 iota
La dirección IP es la primera columna y el nombre de la computadora es la segunda columna.
En la mayoría de los casos, puedes instalar archivos "hosts" idénticos en todas las computadoras. Puedes darte cuenta que "Delta" tiene solo una entrada en este archivo a pesar de tener 3 direcciones IP. Delta puede ser alcanzada con cualquier de sus dirección IP; sin importar cual sea usada. Cuando delta recibe un paquete IP revisa la dirección destino, y reconocerá cualesquiera de sus 3 direcciones IP.
Las redes IP también tienen nombres. Si tienes 3 redes IP, el archivo "networks" que documenta estos nombres se vería algo así:
223.1.2 desarrollo
223.1.3 contadora
223.1.4 fabrica
El numero IP de la red está en la primera columna y su nombre en la segunda.
Desde este ejemplo se puede ver que alpha es la computadora 1 en el desarrollo de la red, beta es la computadora numero 2 en el desarrollo de la red y así. También se puede decir que alpha es desarrollo.1, Beta es desarrollo.2, y así.
La lista de archivo HOST mostrada es adecuada para los usuarios, pero el administrador de la red probablemente reemplazará la línea para delta con:
223.1.2.4 devnetrouter delta
223.1.3.1 facnetrouter
223.1.4.1 accnetrouter
Estas nuevas 3 líneas para el archivo hosts le dan a cada una de las direcciones IP de delta un nombre con significado.
5.5 Tabla ruteadora IP
Cuando IP necesita saber que interfaz de red ha de usar para mandar un paquete IP se fija en la tabla ruteadora usando una llave de búsqueda extraída de la dirección IP destino.
La tabla de rutas o ruteadora contiene una columna para cada ruta. Las columnas primarias en la tabla son: numero IP de red, bandera directo/indirecto, dirección IP ruteadora y el numero de interfaz. Esta tabla es usada por cada paquete IP que sale de la red.
En la mayoría de las computadoras la tabla ruteadora puede ser modificada con la el comando "route". El contenido de la tabla de rutas es definido por el administrador de la red por que el asigna las dirección IP a las computadoras.
5.6 Detalles del ruteado indirecto
--------- ---------
| alpha | | beta |
| 1 | | 1 |
--------- ---------
| |
--------o---------------o-
Ethernet 1
Red IP "Desarrollo"
Figura 8. Vista cercana de una red IP
La tabla de rutas se ve así:
----------------------------------------------------------------
| Red directo/indirecto ruteador numero de interfaz|
----------------------------------------------------------------
| Desarrollo directo 1 |
----------------------------------------------------------------
TABLA 8. Ejemplo de una simple tabla ruteadora
Esta vista puede ser observada en algunos sistemas UNIX con el comando "netstat -r". Con esta red simple, todas las computadoras tienen tablas ruteadoras idénticas.
Para la discusión, la tabla es otra vez impresa con el nombre de red transladado a su numero de red.
----------------------------------------------------------------
| Red directo/indirecto ruteador numero de interfaz|
----------------------------------------------------------------
|223.1.2 direct 1 |
----------------------------------------------------------------
TABLA 9. Ejemplo simple de una tabla ruteadora con números.
5.7 Escenario Directo
Alpha le esta enviando un paquete IP a beta. El paquete IP están en el modulo IP de beta y la dirección destino es beta o 223.1.2.2. IP extrae la porción de la red de la dirección IP y busca la primera columna buscando que sean iguales. Con esta red el primer dato es encontrado y añadido en la primera entrada.
La otra información en esta entrada indica qué computadoras en esta red pueden ser alcanzadas directamente a través de la interfaz 1. Una tabla de translacion ARP termina en la dirección beta IP y luego el cuadro Ethernet es mandado directamente a beta vía interfaz numero 1.
Si una aplicación trata de mandar datos a una dirección IP que no esta en el desarrollo de la red, IP no podrá encontrar en la tabla de rutas la dirección IP y el paquete es descartado. Algunas computadoras proveen con un mensaje de error.
5.8 Detalles del Ruteado Indirecto
Ahora examinaremos más de cerca a los complicados mecanismo de ruteo que son usados para el escenario examinado previamente.
--------- --------- ---------
| alpha | | delta | |epsilon|
| 1 | |1 2 3| | 1 |
--------- --------- ---------
| | | | |
--------o---------------o- | -o----------------o--------
Ethernet 1 | Ethernet 2
Red IP "Desarrollo" | Red IP "Contabilidad"
|
| --------
| | iota |
| | 1 |
| --------
| |
--o--------o--------
Ethernet 3
Red IP "Fabrica"
Figura 9. Vista de cerca de las 3 redes IP
La tabla ruteadora dentro de alpha se ve así:
----------------------------------------------------------------
| Red directo/indirecto ruteador numero de interfaz|
----------------------------------------------------------------
| Desarrollo Directo 1 |
| Contabilidad Indirecto devnetrouter 1 |
| Fabrica Indirecto devnetrouter 1 |
----------------------------------------------------------------
TABLA 10. Tabla de rutas de alpha
La tabla de rutas se ve así con números en lugar de nombres:
----------------------------------------------------------------
| Red directo/indirecto ruteador numero de interfaz|
----------------------------------------------------------------
|223.1.2 directo 1 |
|223.1.3 indirecto 223.1.2.4 1 |
|223.1.4 indirecto 223.1.2.4 1 |
----------------------------------------------------------------
TABLA 11. Tabla de rutas de alpha con números
El ruteador en la tabla de rutas de alpha es la dirección IP de la conexión de Delta con la red desarrollo.
5.9 Escenario Indirecto
Alpha envía un paquete IP a epsilon. El paquete IP esta en el modulo IP y la dirección destino IP es epsilon (223.1.3.2). IP extrae la porción de la red de la dirección IP (223.1.3) y busca la primera columna de la tabla buscando una dirección igual. Una dirección es encontrada igual en la segunda entrada (ver cuadro).
Esta entrada indica que las computadoras en la red 223.1.3 pueden ser alcanzadas mediante el ruteador-IP devnetrouter. El modulo IP entonces envía una tabla de translación ARP a la dirección IP de devnetrouter y envía el paquete IP directamente a devnetrouter a través de la interfaz alpha numero 1. El paquete IP sigue conteniendo la dirección IP destino de epsilon.
El paquete IP llega a la interfaz desarrollo de la red delta y es pasado a el modulo IP de delta. La dirección IP destino es examinada y por que no es igual a ninguna de las direcciones propias de delta, decide pasar el paquete IP.
El modulo IP de delta extrae la porción de la red de la dirección destino IP (223.1.3) y busca en su tabla de rutas por una red que sean iguales. La tabla de rutas de delta se vería así:
----------------------------------------------------------------
| Red directo/indirecto ruteador numero de interfaz|
----------------------------------------------------------------
| Desarrollo directo 1 |
| Fabrica directo 3 |
| Contabilidad directo 2 |
----------------------------------------------------------------
TABLA 12. Tabla de rutas de Delta
Abajo esta la tabla de rutas de delta de nuevo, en números.
----------------------------------------------------------------
| Red directo/indirecto ruteador numero de interfaz|
----------------------------------------------------------------
|223.1.2 directo 1 |
|223.1.3 directo 3 |
|223.1.4 directo 2 |
----------------------------------------------------------------
TABLA 13. Tabla de rutas de Delta con números
En la segunda entrada se encuentra la dirección IP buscada. IP envía el paquete IP a epsilon a través de la interfaz numero 3. El paquete IP contiene la dirección destino de epsilon y la dirección destino Ethernet del epsilon.
El paquete IP llega a epsilon y es pasado hacia la el modulo IP de epsilon. La dirección IP destino es examinada y se encuentra la dirección destino, así que el paquete es pasado a los protocolos de la parte alta.
5.10 Sumario de Ruteo
Cuando un paquete IP viaja a través de una larga internet tal vez pasara por varios ruteadores-IP antes de llegar a el destino. El camino que toma para llegar no esta determinado por una central fuente pero es el resultado de consultar cada una de las tablas de ruteo usadas en el camino. Cada computadora define solo el próximo brinco en el camino y se basa en esa computadora para enviar el paquete IP a su destino.
5.11 Administrando las rutas
Mantener el correcto funcionamiento de las tablas ruteadoras en una gran Internet es un trabajo complicado; la configuración de una red esta siendo modificada constantemente por los administradores de la red por distintas razones. Errores en las tablas de ruteo bloquean la comunicación en formas que son tediosas de diagnosticar.
Cuando una computadora es movida de una red IP a otra, su dirección IP debe ser cambiada. Cuando una computadora es removida de una red IP su vieja dirección se vuelve invalida. Estos cambios requieren modificaciones frecuentes a el archivo "HOSTS".
6. USER DATAGRAM PROTOCOL (UDP)
UDP es uno de los principales protocolos que residen en la cima de IP. Ofrece servicio a las aplicaciones de red. Algunas aplicaciones de red que usen UDP son: Network File System (NFS) y Simple Network Management Protocol (SNMP). Este servicio es poco mas que una interfaz a IP.
UDP es un servicio sin conexión de entrega de datagramas que no garantiza su llegada. UDP no mantiene una conexión de un extremo al otro con el modulo UDP destino; solamente empuja el datagrama fuera de la red y acepta los datagramas que llegan fuera de la red.
UDP añade dos valores a lo que es dado por IP. Uno es la capacidad de multiplexing (varias salidas para una entrada) de la información entre las aplicaciones basadas en el numero de puerto. La otra es un chequeo para ver la integridad de los datos.
6.1 Puertos
Como una computadora cliente alcanza el servidor en otra computadora?
El camino en la comunicación entre una aplicación y UDP es a través de puertos UDP. Estos puertos están numerados empezando de cero. Una aplicación que ofrezca un servicio (el servidor) espera por los mensajes que lleguen por un puerto especifico dedicado a ese servicio. El servidor espera pacientemente por cualquier cliente que pida servicio.
Cuando una aplicación envía datos a través de UDP, llega al final como una unidad simple. Por ejemplo, si una aplicación hace 5 escrituras a el puerto UDP, la aplicación destino hará 5 lecturas de el puerto UDP. Además, el tamaño de cada escritura es igual a el tamaño de cada leída.
UDP mantiene la barrera de el mensaje definida por la aplicación. Nunca une dos mensajes de aplicación juntos, o divide una simple aplicación en partes.
6.2 Checksum
El checksum es la capacidad de comprobar si los datos recibidos están en las condiciones que los datos enviados.
Un paquete IP con un encabezado IP indicando "UDP" es pasado a el modulo UDP por IP. Cuando el modulo UDP recibe el datagrama UDP de IP examina el Checksum UDP. Si el checksum es cero, significa que el checksum no fue calculado por el remitente y puede ser ignorado. Esto significa, que el modulo UDP de la computadora que envía puede o no crear checksums.
Si el checksum es valido (o cero), el puerto destino es examinado y si una aplicación esta esperando en ese puerto, una mensaje de aplicación es enviado a la aplicación. De otra forma el datagrama UDP es descartado.
7. Protocolo del Control de Transmisión
TCP ofrece un servicio diferente a UDP. TCP ofrece una conexión orientada por una corriente de bytes, en lugar de un datagrama sin conexión. TCP garantiza la entrega, UDP no.
TCP es usado en las aplicaciones de red que requieren la entrega garantizada y no puede ser aburrida haciendo retransmisiones o esperas. Las aplicaciones típicas que mas usan TCP son File Transfer Protocol (FTP) y TELNET. La gran reliabilidad de TCP tiene un coste, requiere mas trabajo del CPU y ancho de banda. El funcionamiento interno de TCP es mas complicado que esos en un modulo UDP.
Similar a UDP, las aplicaciones de red se conectan a puertos TCP.Los puertos bien definidos están dedicados a aplicaciones especificas. Por ejemplo, el servidor TELNET usa el puerto 23. El cliente TELNET puede encontrar el servidor simplemente conectándose a el puerto 23 de TCP en una computadora especifica.
Cuando una aplicación empieza usando TCP, el modulo TCP en la computadora cliente y el modulo TCP en el servidor empiezan la comunicación entre ellas.
Como todos los protocolos de ventanas, el protocolo tiene un tamaño de ventana. El tamaño de la ventana determina la cantidad de datos que pueden ser transmitidos antes de que se reciba la sedal de que han sido recibidos. Para TCP, esta cantidad no se mide en segmentos TCP sino en bytes.
8 Que aplicaciones de red están disponibles
Existen demasiadas aplicaciones de red como para listarlas. El número está creciendo continuamente. Algunas aplicaciones han existido desde el principio de la tecnología internet como FTP y TELNET. Otras son relativamente nuevas como X-Windows y SNMP. La siguiente lista menciona una breve descripción de las aplicaciones mencionadas en este trabajo.
8.1 TELNET
Telnet ofrece la capacidad de entrar (login) a un sistema remoto en TCP. La operación y apariencia es similar a un teclado marcando a través de un switch telefónico. En la línea de comandos en usuario escribe "telnet delta" y recibe un login prompt de la computadora llamada "delta".
8.2 FTP
File Transfer Protocol (FTP), tan viejo como TELNET, también usa TCP y ha tenido bastante popularidad. FTP permite copiar archivos entre computadoras.
8.3 SNMP
Simple Network Management Protocol (SNMP) usa UDP y esta diseñado para ser usado por las estaciones centrales de mantenimiento. Es un factor conocido que si se le ofrece suficiente información, un manager de red puede detectar y diagnosticar problemas en la red. La estación central usa SNMP para recibir la información de otras computadoras en la red. SNMP define el formato de los datos; es dejado a la estación central o manager de la red el interpretar los datos.
8.4 X-Window
El sistema X Window usa el protocolo X Window en TCP para dibujar ventanas en una estación de trabajo usando BITMAP. X Window es mucho mas que una simple utilidad para dibujar ventanas; es una filosofía entera para diseñar una interfaz de usuario.
9. Bibliografía
Para la realización del presente trabajo para el crédito de Desarrollo de funciones del sistema informático, he consultado las siguientes direcciones:
htt://www.microsoft.com/tcp_ip
El libro:
Redes Globales de información con Internet y TCP/IP
Autor: Douglas E. Comer
Editorial Prentice Hall