FUNDAMENTOS DE REDES INFORMATICAS Y PROTOCOLO TCP/IP

27 

Texto completo

(1)

FUNDAMENTOS DE REDES INFORMATICAS Y PROTOCOLO TCP/IP

Cursos de Entrenamiento en Telefonía IP y Call Center con Asterisk/Elastix

www.elastixtech.com – Derechos Reservados – Nefta Anaya (2014)

Esta parte que vamos a ver ahora es un poco teórica pero es de obligada lectura. Nos proporcionará la cultura general necesaria en el mundo de las redes. Cuando veamos en la propaganda de un switch que es de "capa 3" ya sabremos a que hace referencia, a que puede trabajar en la capa 3 de este modelo OSI. La finalidad principal para la creación de una red de computadoras es compartir los recursos y la información en la distancia, asegurar la confiabilidad y la disponibilidad de la información, aumentar la velocidad de transmisión de los datos y reducir el coste general de estas acciones.

En este Manual se explica el funcionamiento de las Redes Informáticas y el protocolo TCP/IP “Internet; el desorden más grande mejor organizado”

(2)

FUNDAMENTOS DE REDES Y TCP/IP

Se dieron cuenta que necesitaban salir de los sistemas de red propietarios y tratar de estandarizar ese caos. Para enfrentar el problema de incompatibilidad de las redes y su imposibilidad de comunicarse entre sí, la Organización Internacional para la Normalización (ISO) estudió esquemas de red como DECNET, SNA y TCP/IP a fin de encontrar un conjunto de reglas. Como resultado de esta investigación, la ISO desarrolló un modelo de red que ayudaría a los fabricantes a crear redes que fueran compatibles y que pudieran operar con otras redes.

El objetivo de este manual es dar las bases que permitan entender el funcionamiento de las Redes Informáticas.

Índice del Contenido:

1. Introducción

2. Transmisión De Datos En Internet

3. El modelo OSI

4. Arquitectura cliente-servidor.

5. El protocolo TCP/IP.

6. TCP (Transmission Control Protocol).

7. UDP (User Datagram Protocol)

8. ICMP (Internet Control Message Protocol)

9. IP (Internet Protocol)

10. La dirección de Internet.

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

12. Routing.

13. Sistema de nombres por dominio.

14. Servicios de Internet: el nivel de aplicación.

15. Transferencia de archivos.

16. Conexión remota.

17. Correo electrónico.

18. El acceso a Internet.

19. Otras fuentes de información

Al principio de su desarrollo, las LAN, MAN y WAN eran en cierto modo caóticas. A principios de la década de los 80 se produjo un enorme crecimiento en la cantidad y el tamaño de las redes. A medida que las empresas se dieron cuenta de que podrían ahorrar mucho dinero y aumentar la productividad con la tecnología de red, comenzaron a agregar redes y a expandir las redes existentes casi simultáneamente con la aparición de nuevas tecnologías y productos de red. A mediados de los 80, estas empresas debieron enfrentar problemas cada vez más serios debido a su expansión caótica. Resultaba cada vez más difícil que las redes que usaban diferentes especificaciones pudieran comunicarse entre sí.

(3)

FUNDAMENTOS DE REDES Y TCP/IP

1.

Introducción

La gran rapidez con la que Internet se ha expandido y popularizado en los últimos años ha supuesto una revolución muy importante en el mundo de las comunicaciones, llegando a causar cambios en muchos aspectos de la sociedad. Lo que se conoce hoy como Internet es en realidad un conjunto de redes independientes (de área local LAN y área extensa WAN) que se encuentran conectadas entre sí, permitiendo el intercambio de datos y constituyendo por lo tanto una red mundial que resulta el medio idóneo para el intercambio de información, distribución de datos de todo tipo e interacción personal con otras personas.

2. Transmisión De Datos En Internet

Una red de computadoras permite conectar a las computadoras que la forman con la finalidad de compartir información, como documentos o bases de datos, o recursos físicos, como impresoras o unidades de disco. Las redes suelen clasificarse según su extensión en:

LAN (Local Area Network): Son las redes de área local. La extensión de este tipo de redes suele estar restringida a un solo edificio, aunque también podría utilizarse para conectar dos más edificios próximos.

WAN (Wide Area Network): Son redes que cubren un espacio muy amplio, conectando a computadoras de una cuidad o un país completo. Para ello se utilizan las líneas de teléfono y otros medios de transmisión más sofisticados, como pueden ser las microondas. La velocidad de transmisión suele ser inferior que en las redes locales. Varias redes pueden conectarse entre sí formando una red lógica de área mayor. Para que la transmisión entre todas ellas sea posible se emplean los routers, que son los sistemas que conectando físicamente varias redes se encargan de dirigir la información por el camino adecuado. Cuando las redes que se conectan son de diferente tipo y con protocolos distintos se hace necesario el uso de los gateways, los cuales además de encaminar la información también son capaces de convertir los datos de un protocolo a otro. Generalmente los términos router y gateway se emplean indistintamente para referirse de forma general a los sistemas encargados del encaminamiento de datos en Internet.

Lo que se conoce como Internet es en realidad una red de redes, ó la interconexión de otras redes independientes de manera que puedan compartir información entre ellas a lo largo de todo el planeta. Para ello es necesario el uso de un protocolo de comunicaciones común. El protocolo que proporciona la compatibilidad necesaria para la comunicación en Internet es el TCP/IP. Los protocolos de comunicaciones definen las normas que posibilitan que se establezca una comunicación entre varios equipos o dispositivos, ya que estos equipos pueden ser diferentes entre sí. Un interfaz, sin embargo, es el encargado de la conexión física entre los equipos, definiendo las normas para las características eléctricas y mecánicas de la conexión.

Exceptuando a los routers cualquier computadora conectada a Internet es capaz de compartir información con otra computadora al que se le conoce con el nombre de host (anfitrión). Un host debe identificarse de alguna manera que lo distinga de los demás para poder recibir o enviar datos. Para ello todas las computadoras conectadas a Internet

(4)

FUNDAMENTOS DE REDES Y TCP/IP

disponen de una dirección única y exclusiva. Esta dirección, conocida como dirección de Internet o dirección IP, es un número de 32 bit que generalmente se representa en cuatro grupos de 8 bit cada uno separados por puntos y en base decimal (esto es así en la versión número 4 Ipv4 del protocolo IP, pero no en la 6 Ipv6). Un ejemplo de dirección IP es el siguiente: 205.198.48.1.

3. El modelo OSI.

El modelo OSI (Open System Interconection) es utilizado por prácticamente la totalidad de las redes del mundo. Este modelo fue creado por el ISO (Organización Internacional de Normalización), y consiste en siete niveles o capas donde cada una de ellas define las funciones que deben proporcionar los protocolos con el propósito de intercambiar información entre varios sistemas. Esta clasificación permite que cada protocolo se desarrolle con una finalidad determinada, lo cual simplifica el proceso de desarrollo e implementación. Cada nivel depende de los que están por debajo de él, y a su vez proporciona alguna funcionalidad a los niveles superiores.

Los siete niveles del modelo OSI son los siguientes:

Aplicación

El nivel de aplicación es el destino final de los datos donde se proporcionan los servicios al usuario.

Presentación Se convierten e interpretan los datos que se

utilizarán en el nivel de aplicación.

Sesión Encargado de ciertos aspectos de la

comunicación como el control de los tiempos.

Transporte Transporta la información de una manera fiable

para que llegue correctamente a su destino.

Red Nivel encargado de encaminar los datos hacia su

destino eligiendo la ruta más efectiva.

Enlace

Enlace de datos. Controla el flujo de los mismos, la sincronización y los errores que puedan producirse.

Físico

Se encarga de los aspectos físicos de la

conexión, tales como el medio de transmisión o el hardware.

El modelo en sí mismo no puede ser considerado una arquitectura, ya que no especifica el protocolo que debe ser usado en cada capa, sino que suele hablarse de modelo de referencia. El intercambio de información entre dos capas OSI consiste en que cada capa en el sistema fuente le agrega información de control a los datos, y cada capa en el sistema de destino analiza y remueve la información de control de los datos. Si un ordenador (host A) desea enviar datos a otro (host B), los datos deben empaquetarse a través de un proceso denominado encapsulamiento, a medida que los datos se desplazan a través de las capas del modelo OSI, reciben encabezados, y otros tipos de información.

(5)

FUNDAMENTOS DE REDES Y TCP/IP

Este modelo está dividido en siete capas:

Capa Física (Capa 1)

La Capa Física del modelo de referencia OSI es la que se encarga de las conexiones físicas de la computadora hacia la red, tanto en lo que se refiere al medio físico (medios guiados: cable coaxial, cable de par trenzado, fibra óptica y otros tipos de cables; medios no guiados: radio, infrarrojos, microondas, láser y otras redes inalámbricas); características del medio (p.ej. tipo de cable o calidad del mismo; tipo de conectores normalizados o en su caso tipo de antena; etc.) y la forma en la que se transmite la información (codificación de señal, niveles de tensión/intensidad de corriente eléctrica, modulación, tasa binaria, etc.)

Es la encargada de transmitir los bits de información a través del medio utilizado para la transmisión. Se ocupa de las propiedades físicas y características eléctricas de los diversos componentes; de la velocidad de transmisión, si ésta es uní o bidireccional (simplex, dúplex o full-dúplex). También de aspectos mecánicos de las conexiones y terminales, incluyendo la interpretación de las señales eléctricas/electromagnéticas.

Se encarga de transformar una trama de datos proveniente del nivel de enlace en una señal adecuada al medio físico utilizado en la transmisión. Estos impulsos pueden ser eléctricos (transmisión por cable) o electromagnéticos (transmisión sin cables). Estos últimos, dependiendo de la frecuencia / longitud de onda de la señal pueden ser ópticos, de micro-ondas o de radio. Cuando actúa en modo recepción el trabajo es inverso; se encarga de transformar la señal transmitida en tramas de datos binarios que serán entregados al nivel de enlace.

Sus principales funciones se pueden resumir como:

* Definir el medio o medios físicos por los que va a viajar la comunicación: cable de pares trenzados (o no, como en RS232/EIA232), coaxial, guías de onda, aire, fibra óptica.

* Definir las características materiales (componentes y conectores mecánicos) y eléctricas (niveles de tensión) que se van a usar en la transmisión de los datos por los medios físicos.

* Definir las características funcionales de la interfaz (establecimiento, mantenimiento y liberación del enlace físico). * Transmitir el flujo de bits a través del medio.

* Manejar las señales eléctricas/electromagnéticas

* Especificar cables, conectores y componentes de interfaz con el medio de transmisión, polos en un enchufe, etc. * Garantizar la conexión (aunque no la fiabilidad de ésta).

Codificación de la señal

El nivel físico recibe una trama binaria que debe convertir a una señal eléctrica, electromagnética u otra dependiendo del medio, de tal forma que a pesar de la degradación que pueda sufrir en el medio de transmisión vuelva a ser interpretable correctamente en el receptor.

En el caso más sencillo el medio es directamente digital, como en el caso de las fibras ópticas, dado que por ellas se transmiten pulsos de luz. Cuando el medio no es digital hay que codificar la señal, en los casos más sencillos la codificación puede ser por pulsos de tensión (PCM o Pulse Code Modulation) (por ejemplo 5 V para los "unos" y 0 V para los ausencia de corriente.

(6)

FUNDAMENTOS DE REDES Y TCP/IP

En general estas codificaciones son muy simples y no usan bien la capacidad de medio. Cuando se quiere sacar más partido al medio se usan técnicas de modulación más complejas, y suelen ser muy dependientes de las características del medio concreto.

En los casos más complejos, como suelen ser las comunicaciones inalámbricas, se pueden dar modulaciones muy sofisticadas, este es el caso de los estándares Wi-Fi, en el que se utiliza codificación OFDM.

Topología y medios compartidos

Indirectamente, el tipo de conexión que se haga en la capa física puede influir en el diseño de la capa de Enlace. Atendiendo al número de equipos que comparten un medio hay dos posibilidades:

* Conexiones punto a punto: que se establecen entre dos equipos y que no admiten ser compartidas por terceros * Conexiones multipunto: en la que más de dos equipos pueden usar el medio.

Así por ejemplo la fibra óptica no permite fácilmente conexiones multipunto y por el contrario las conexiones inalámbricas son inherentemente multipunto.

Equipos adicionales

A la hora de diseñar una red hay equipos adicionales que pueden funcionar a nivel físico, se trata de los repetidores, en esencia se trata de equipos que amplifican la señal, pudiendo también regenerarla. En las redes Ethernet con la opción de cableado de par trenzado (la más común hoy por hoy) se empleaban unos equipos de interconexión llamados concentradores más conocidos por su nombre en inglés (hubs) que convierten una topología física en estrella en un bus lógico y que actúan exclusivamente a nivel físico, a diferencia de los conmutadores (switches) que actúan a nivel de enlace.

Capa de enlace de datos (Capa 2)

Cualquier medio de transmisión debe ser capaz de proporcionar una transmisión sin errores, es decir, un tránsito de datos fiable a través de un enlace físico. Debe crear y reconocer los límites de las tramas, así como resolver los problemas derivados del deterioro, pérdida o duplicidad de las tramas. También puede incluir algún mecanismo de regulación del tráfico que evite la saturación de un receptor que sea más lento que el emisor. La capa de enlace de datos se ocupa del direccionamiento físico, de la topología de la red, del acceso a la red, de la notificación de errores, de la distribución ordenada de tramas y del control del flujo. Se hace un direccionamiento de los datos en la red ya sea en la distribución adecuada desde un emisor a un receptor, la notificación de errores, de la topología de la red de cualquier tipo. La tarjeta NIC (Network Interface Card, Tarjeta de Interfaz de Red en español o Tarjeta de Red) que se encarga de que tengamos conexión, posee una dirección MAC (control de acceso al medio) y la LLC (control de enlace lógico).

(7)

FUNDAMENTOS DE REDES Y TCP/IP

Capa de red (Capa 3)

El cometido de la capa de red es hacer que los datos lleguen desde el origen al destino, aun cuando ambos no estén conectados directamente. Los dispositivos que facilitan tal tarea se denominan en castellano encaminadores, aunque es más frecuente encontrar el nombre inglés routers y, en ocasiones enrutadores. Adicionalmente la capa de red lleva un control de la congestión de red, que es el fenómeno que se produce cuando una saturación de un nodo tira abajo toda la red (similar a un atasco en un cruce importante en una ciudad grande). La PDU de la capa 3 es el paquete.

Los routers trabajan en esta capa, aunque pueden actuar como switch de nivel 2 en determinados casos, dependiendo de la función que se le asigne. Los firewalls actúan sobre esta capa principalmente, para descartar direcciones de máquinas.

En este nivel se realiza el direccionamiento lógico y la determinación la ruta de los datos hasta su receptor final.

Capa de transporte (Capa 4)

Su función básica es aceptar los datos enviados por las capas superiores, dividirlos en pequeñas partes si es necesario, y pasarlos a la capa de red. En el caso del modelo OSI, también se asegura que lleguen correctamente al otro lado de la comunicación. Otra característica a destacar es que debe aislar a las capas superiores de las distintas posibles implementaciones de tecnologías de red en las capas inferiores, lo que la convierte en el corazón de la comunicación. En esta capa se proveen servicios de conexión para la capa de sesión que serán utilizados finalmente por los usuarios de la red al enviar y recibir paquetes. Estos servicios estarán asociados al tipo de comunicación empleada, la cual puede ser diferente según el requerimiento que se le haga a la capa de transporte. Por ejemplo, la comunicación puede ser manejada para que los paquetes sean entregados en el orden exacto en que se enviaron, asegurando una comunicación punto a punto libre de errores, o sin tener en cuenta el orden de envío.

Una de las dos modalidades debe establecerse antes de comenzar la comunicación para que una sesión determinada envíe paquetes, y ése será el tipo de servicio brindado por la capa de transporte hasta que la sesión finalice. De la explicación del funcionamiento de esta capa se desprende que no está tan encadenada a capas inferiores como en el caso de las capas 1 a 3, sino que el servicio a prestar se determina cada vez que una sesión desea establecer una comunicación. Todo el servicio que presta la capa está gestionado por las cabeceras que agrega al paquete a transmitir.

En resumen, podemos definir a la capa de transporte como:

Capa encargada de efectuar el transporte de los datos (que se encuentran dentro del paquete) de la máquina origen a la de destino, independizándolo del tipo de red física que se esté utilizando. La PDU de la capa 4 se llama Segmentos.

(8)

FUNDAMENTOS DE REDES Y TCP/IP

Capa de sesión (Capa 5)

Esta capa establece, gestiona y finaliza las conexiones entre usuarios (procesos o aplicaciones) finales. Ofrece varios servicios que son cruciales para la comunicación, como son:

* Control de la sesión a establecer entre el emisor y el receptor (quién transmite, quién escucha y seguimiento de ésta).

* Control de la concurrencia (que dos comunicaciones a la misma operación crítica no se efectúen al mismo tiempo).

* Mantener puntos de verificación (checkpoints), que sirven para que, ante una interrupción de transmisión por cualquier causa, la misma se pueda reanudar desde el último punto de verificación en lugar de repetirla desde el principio. Por lo tanto, el servicio provisto por esta capa es la capacidad de asegurar que, dada una sesión establecida entre dos máquinas, la misma se pueda efectuar para las operaciones definidas de principio a fin, reanudándolas en caso de interrupción. En muchos casos, los servicios de la capa de sesión son parcial o totalmente prescindibles. En conclusión esta capa es la que se encarga de mantener el enlace entre los dos computadores que estén transmitiendo datos de cualquier índole.

Capa de presentación (Capa 6)

El objetivo de la capa de presentación es encargarse de la representación de la información, de manera que aunque distintos equipos puedan tener diferentes representaciones internas de caracteres (ASCII, Unicode, EBCDIC), números (little-endian tipo Intel, big-endian tipo Motorola), sonido o imágenes, los datos lleguen de manera reconocible.

Esta capa es la primera en trabajar más el contenido de la comunicación que el cómo se establece la misma. En ella se tratan aspectos tales como la semántica y la sintaxis de los datos transmitidos, ya que distintas computadoras pueden tener diferentes formas de manejarlas.

Esta capa también permite cifrar los datos y comprimirlos. En pocas palabras es un traductor.

Por todo ello, podemos resumir la definición de esta capa como aquella encargada de manejar la estructura de datos abstracta y realizar las conversiones de representación de los datos necesarias para la correcta interpretación de los mismos.

(9)

FUNDAMENTOS DE REDES Y TCP/IP

Capa de aplicación (Capa 7)

Ofrece a las aplicaciones (de usuario o no) la posibilidad de acceder a los servicios de las demás capas y define los protocolos que utilizan las aplicaciones para intercambiar datos, como correo electrónico (POP y SMTP), gestores de bases de datos y servidor de ficheros (FTP). Hay tantos protocolos como aplicaciones distintas y puesto que continuamente se desarrollan nuevas aplicaciones el número de protocolos crece sin parar.

Cabe aclarar que el usuario normalmente no interactúa directamente con el nivel de aplicación. Suele interactuar con programas que a su vez interactúan con el nivel de aplicación pero ocultando la complejidad subyacente. Así por ejemplo un usuario no manda una petición "HTTP/1.0 GET index.html" para conseguir una página en html, ni lee directamente el código html/xml.

Entre los protocolos (refiriéndose a protocolos genéricos, no a protocolos de la capa de aplicación de OSI) más conocidos destacan:

* HTTP (HyperText Transfer Protocol = Protocolo de Transferencia de Hipertexto) el protocolo bajo la www. * FTP (File Transfer Protocol = Protocolo de Transferencia de Archivos) (FTAM, fuera de TCP/IP)

* SMTP (Simple Mail Transfer Protocol = Protocolo Simple de Correo) (X.400 fuera de tcp/ip).

* POP (Post Office Protocol = Protocolo de Oficina de Correo)/IMAP: reparto de correo al usuario final. * SSH (Secure Shell = Capa Segura) principalmente terminal remoto, cifra casi cualquier tipo de transmisión. * Telnet otro terminal remoto, ha caído en desuso por su inseguridad intrínseca, ya que las claves viajan sin cifrar. Hay otros protocolos de nivel de aplicación que facilitan el uso y administración de la red:

* SNMP (Simple Network Management Protocol) * DNS (Domain Name System)

Capa 8

Fuera del modelo OSI pero haciendo referencia este modelo se habla de la ‘capa 8′, el cual popularmente se conoce como un error que sucede “entre el teclado y la silla”, haciendo referencia que el error es del usuario final o (la mayoría de la veces) un humano. En estos términos cuando se habla de

“error de Capa 8″ se habla de un error humano. Pero cabe repetir que esto es cultura popular, porque no es parte del estándar.

Ahora ya lo sabes, a la siguiente vez que tengas que culpar al Súper Usuario, mejor dile que es un error de Sistema en la Capa 8. No te entenderá, quedará contento de que es "error" del sistema, de todos modos te va a culpar, pero al menos ya te desahogaste.

(10)

FUNDAMENTOS DE REDES Y TCP/IP

4. Arquitectura cliente-servidor.

La arquitectura cliente-servidor es una forma específica de diseño de aplicaciones, aunque también se conoce con este nombre a las computadoras en las que estas aplicaciones son ejecutadas. Por un lado, el cliente es la computadora que se encarga de efectuar una petición o solicitar un servicio. El cliente no posee control sobre los recursos, sino que es el servidor el encargado de manejarlos. Por otro lado, la computadora remota que actúa como servidor evalúa la petición del cliente y decide aceptarla o rechazarla consecuentemente. Una vez que el servidor acepta el pedido la información requerida es suministrada al cliente que efectuó la petición, siendo este último el responsable de proporcionar los datos al usuario con el formato adecuado.

Finalmente debemos precisar que cliente y servidor no tienen que estar necesariamente en computadoras separadas, sino que pueden ser programas diferentes que se ejecuten en la misma computadora.

5. El protocolo TCP/IP.

TCP/IP es el protocolo común utilizado por todas las computadoras conectados a Internet, de manera que éstas puedan comunicarse entre sí. Hay que tener en cuenta que en Internet se encuentran conectadas computadoras de clases muy diferentes y con hardware y software incompatibles en muchos casos, además de todos los medios y formas posibles de conexión. Aquí se encuentra una de las grandes ventajas del TCP/IP, pues este protocolo se encargará de que la comunicación entre todos sea posible. TCP/IP es compatible con cualquier sistema operativo y con cualquier tipo de hardware.

TCP/IP no es un único protocolo, sino que es en realidad lo que se conoce con este nombre es un conjunto de protocolos que cubren los distintos niveles del modelo OSI. Los dos protocolos más importantes son el TCP

(Transmission Control Protocol) y el IP (Internet Protocol), que son los que dan nombre al conjunto. En Internet se diferencian cuatro niveles o capas en las que se agrupan los protocolos, y que se relacionan con los niveles OSI de la siguiente manera:

(11)

FUNDAMENTOS DE REDES Y TCP/IP

Aplicación: Se corresponde con los niveles OSI de aplicación, presentación y sesión. Aquí se incluyen protocolos destinados a proporcionar servicios, tales como correo electrónico (SMTP), transferencia de archivos (FTP), conexión remota (TELNET) y otros más recientes como el protocolo HTTP (Hypertext Transfer Protocol).

Servicio Transporte: Coincide con el nivel de transporte del modelo OSI. Los protocolos de este nivel, tales como TCP y UDP, se encargan de manejar los datos y proporcionar la fiabilidad necesaria en el transporte de los mismos.

Envió Internet: Es el nivel de red del modelo OSI. Incluye al protocolo IP, que se encarga de enviar los paquetes de información a sus destinos correspondientes. Es utilizado con esta finalidad por los protocolos del nivel de transporte.

Físico: Los niveles OSI correspondientes son el de enlace y el nivel físico. Los protocolos que pertenecen a este nivel son los encargados de la transmisión a través del medio físico al que se encuentra conectado cada host, como puede ser una línea punto a punto o una red Ethernet.

El TCP/IP necesita funcionar sobre algún tipo de red o de medio físico que proporcione sus propios protocolos para el nivel de enlace de Internet. Por este motivo hay que tener en cuenta que los protocolos utilizados en este nivel pueden ser muy diversos y no forman parte del conjunto TCP/IP. Sin embargo, esto no debe ser problemático puesto que una de las funciones y ventajas principales del TCP/IP es proporcionar una abstracción del medio de forma que sea posible el intercambio de información entre medios diferentes y tecnologías que inicialmente son incompatibles.

Para transmitir información a través de TCP/IP, ésta debe ser dividida en unidades de menor tamaño. Esto proporciona grandes ventajas en el manejo de los datos que se transfieren y, por otro lado, esto es algo común en cualquier protocolo de comunicaciones. En TCP/IP cada una de estas unidades de información recibe el nombre de "datagrama" (datagram), y son conjuntos de datos que se envían como mensajes independientes.

6. TCP (Transmission Control Protocol).

El protocolo de control de transmisión (TCP) pertenece al nivel de transporte, siendo el encargado de dividir el mensaje original en datagramas de menor tamaño, y por lo tanto, mucho más manejables. Los datagramas serán dirigidos a través del protocolo IP de forma individual.

El protocolo TCP se encarga además de añadir cierta información necesaria a cada uno de los datagramas. Esta información se añade al inicio de los datos que componen el datagrama en forma de cabecera.

La cabecera de un datagrama contiene al menos 160 bit que se encuentran repartidos en varios campos con diferente significado. Cuando la información se divide en datagramas para ser enviados, el orden en que éstos lleguen a su destino no tiene que ser el correcto. Cada uno de ellos puede llegar en cualquier momento y con cualquier orden, e incluso puede que algunos no lleguen a su destino o lleguen con información errónea. Para evitar todos estos problemas el TCP numera los datagramas antes de ser enviados, de manera que sea posible volver a unirlos en el orden adecuado. Esto permite también solicitar de nuevo el envío de los datagramas individuales que no hayan llegado o que contengan errores, sin que sea necesario volver a enviar el mensaje completo.

(12)

FUNDAMENTOS DE REDES Y TCP/IP

Formato de la cabecera TCP.

En cualquier caso el tamaño de la cabecera debe ser múltiplo de 32 bits, por lo que puede ser necesario añadir un campo de tamaño variable y que contenga ceros al final para conseguir este objetivo cuando se incluyen algunas opciones. El campo de desplazamiento de datos contiene la longitud total de la cabecera TCP expresada en el número de palabras de 32 bits que ocupa. Esto permite determinar el lugar donde comienzan los datos.

Dos campos incluidos en la cabecera y que son de especial importancia son los números de puerto de origen y puerto de destino. Los puertos proporcionan una manera de distinguir entre las distintas transferencias, ya que una misma computadora puede estar utilizando varios servicios o transferencias simultáneamente, e incluso puede que por medio de usuarios distintos. El puerto de origen contendrá un número cualquiera que sirva para realizar esta distinción. Además, el programa cliente que realiza la petición también se debe conocer el número de puerto en el que se encuentra el servidor adecuado. Mientras que el programa del usuario utiliza números prácticamente aleatorios, el servidor deber tener asignado un número estándar para que pueda ser utilizado por el cliente. (Por ejemplo, en el caso de la transferencia de archivos FTP el número oficial es el 21). Cuando es el servidor el que envía los datos, los números de puertos de origen y destino se intercambian.

En la transmisión de datos a través del protocolo TCP la fiabilidad es un factor muy importante. Para poder detectar los errores y pérdida de información en los datagramas, es necesario que el cliente envíe de nuevo al servidor unas señales de confirmación una vez que se ha recibido y comprobado la información satisfactoriamente. Estas señales se incluyen en el campo apropiado de la cabecera del datagrama (Acknowledgment Number), que tiene un tamaño de 32 bit. Si el servidor no obtiene la señal de confirmación adecuada transcurrido un período de tiempo razonable, el datagrama completo se volverá a enviar. Por razones de eficiencia los datagramas se envían continuamente sin esperar la confirmación, haciéndose necesaria la numeración de los mismos para que puedan ser ensamblados en el orden correcto.

También puede ocurrir que la información del datagrama llegue con errores a su destino. Para poder detectar cuando sucede esto se incluye en la cabecera un campo de 16 bit, el cual contiene un valor calculado a partir de la información del datagrama completo (suma de comprobacion (checksum)). En el otro extremo el receptor vuelve a calcular este valor, comprobando que es el mismo que el suministrado en la cabecera. Si el valor es distinto significaría que el datagrama es incorrecto, ya que en la cabecera o en la parte de datos del mismo hay algún error.

La forma en que TCP numera los datagramas es contando los bytes de datos que contiene cada uno de ellos y añadiendo esta información al campo correspondiente de la cabecera del datagrama siguiente. De esta manera el primero empezará por cero, el segundo contendrá un número que será igual al tamaño en bytes de la parte de datos del datagrama anterior, el tercero con la suma de los dos anteriores, y así sucesivamente. Por ejemplo, para un tamaño fijo de 500 bytes de datos en cada datagrama, la numeración sería la siguiente: 0 para el primero, 500 para el segundo, 1000 para el tercero, etc.

(13)

FUNDAMENTOS DE REDES Y TCP/IP

Existe otro factor más a tener en cuenta durante la transmisión de información, y es la potencia y velocidad con que cada uno de las computadoras puede procesar los datos que le son enviados. Si esto no se tuviera en cuenta, la computadora de más potencia podría enviar la información demasiado rápido al receptor, de manera que éste no pueda procesarla. Este inconveniente se soluciona mediante un campo de 16 bit (Ventana) en la cabecera TCP, en el cual se introduce un valor indicando la cantidad de información que el receptor está preparado para procesar. Si el valor llega a cero será necesario que el emisor se detenga. A medida que la información es procesada este valor aumenta indicando disponibilidad para continuar la recepción de datos.

Protocolos alternativos a TCP.

TCP es el protocolo más utilizado para el nivel de transporte en Internet, pero además de éste existen otros protocolos que pueden ser más convenientes en determinadas ocasiones. Tal es el caso de UDP e ICMP.

7. UDP (User Datagram Protocol)

El protocolo de datagramas de usuario (UDP) puede ser la alternativa al TCP en algunos casos en los que no sea necesario el gran nivel de complejidad proporcionado por el TCP. Puesto que UDP no admite numeración de los datagramas, éste protocolo se utiliza principalmente cuando el orden en que se reciben los mismos no es un factor fundamental, o también cuando se quiere enviar información de poco tamaño que cabe en un único datagrama. Cuando se utiliza UDP la garantía de que un paquete llegue a su destino es mucho menor que con TCP debido a que no se utilizan las señales de confirmación. Por todas estas características la cabecera del UDP es bastante menor en tamaño que la de TCP. Esta simplificación resulta en una mayor eficiencia en determinadas ocasiones.

Un ejemplo típico de una situación en la que se utiliza el UDP es cuando se pretende conectar con una computadora de la red, utilizando para ello el nombre del sistema. Este nombre tendrá que ser convertido a la dirección IP que le corresponde y, por tanto, tendrá que ser enviado a algún servidor que posea la base de datos necesaria para efectuar la conversión (Servidor DNS). En este caso es mucho más conveniente el uso de UDP.

UDP proporciona un nivel de transporte no fiable de datagramas, ya que apenas añade la información necesaria para la comunicación extremo a extremo al paquete que envía al nivel inferior. Lo utilizan aplicaciones como NFS (Network File

System) y RCP (comando para copiar archivos entre computadores remotos), pero sobre todo se emplea en tareas de

control y en la transmisión de audio y vídeo a través de una red. No introduce retardos para establecer una conexión, no mantiene estado de conexión alguno y no realiza seguimiento de estos parámetros. Así, un servidor dedicado a una aplicación particular puede soportar más clientes activos cuando la aplicación corre sobre UDP en lugar de sobre TCP.

Transmisión de vídeo y voz

UDP es generalmente el protocolo usado en la transmisión de vídeo y voz a través de una red. Esto es porque no hay tiempo para enviar de nuevo paquetes perdidos cuando se está escuchando a alguien o viendo un vídeo en tiempo real. Ya que tanto TCP como UDP circulan por la misma red, en muchos casos ocurre que el aumento del tráfico UDP daña el correcto funcionamiento de las aplicaciones TCP. Por defecto, TCP pasa a un segundo lugar para dejar a los datos en tiempo real usar la mayor parte del ancho de banda. El problema es que ambos son importantes para la mayor parte de las aplicaciones, por lo que encontrar el equilibrio entre ambos es crucial.

(14)

FUNDAMENTOS DE REDES Y TCP/IP

8. ICMP (Internet Control Message Protocol)

El protocolo ICMP únicamente informa de incidencias en la red pero no toma ninguna decisión.

El protocolo de mensajes de control de Internet (ICMP) es de características similares al UDP, pero con un formato aún más simple. Su utilidad no está en el transporte de datos "de usuario", sino en los mensajes de error y de control necesarios para los sistemas de la red. Los mensajes de solicitud y respuesta de eco, tipos 8 y 0 respectivamente, se utilizan para comprobar si existe comunicación entre 2 hosts a nivel de la capa de red. Estos mensajes comprueban que las capas física (cableado), acceso al medio (tarjetas de red) y red (configuración IP) están correctas. El comando PING envía mensajes de solicitud de eco a un host remoto e informa de las respuestas.

9. IP (Internet Protocol)

El IP es un protocolo que pertenece al nivel de red, por lo tanto, es utilizado por los protocolos del nivel de transporte como TCP para encaminar los datos hacia su destino. IP tiene únicamente la misión de encaminar el datagrama, sin comprobar la integridad de la información que contiene. Para ello se utiliza una nueva cabecera que se antepone al datagrama que se está tratando. Suponiendo que el protocolo TCP ha sido el encargado de manejar el datagrama antes de pasarlo al IP, la estructura del mensaje una vez tratado quedaría así:

La cabecera IP tiene un tamaño de 160 bit y está formada por varios campos de distinto significado. Estos campos son:

Versión: Número de versión del protocolo IP utilizado. Tendrá que tener el valor 4. Tamaño: 4 bit.

Longitud de la cabecera: (Internet Header Length, IHL) Especifica la longitud de la cabecera expresada en el número de grupos de 32 bit que contiene. Tamaño: 4 bit.

(15)

FUNDAMENTOS DE REDES Y TCP/IP

Tipo de servicio: El tipo o calidad de servicio, se utiliza para indicar la prioridad o importancia de los datos que se envían, lo que condicionará la forma en que éstos serán tratados durante la transmisión. Tamaño: 8 bit.

Longitud total: Es la longitud en bytes del datagrama completo, incluyendo la cabecera y los datos. Como este campo utiliza 16 bit, el tamaño máximo del datagrama no podrá superar los 65.535 bytes, aunque en la práctica este valor será mucho más pequeño. Tamaño: 16 bit.

Identificación: Valor de identificación que se utiliza para facilitar el ensamblaje de los fragmentos del datagrama. Tamaño: 16 bit.

Flags: Indicadores utilizados en la fragmentación. Tamaño: 3 bit.

Fragmentación: Contiene un valor (offset) para poder ensamblar los datagramas que se hayan fragmentado. Está expresado en número de grupos de 8 bytes (64 bit), comenzando con el valor cero para el primer fragmento. Tamaño: 16 bit.

Límite de existencia TTL: Contiene un número que disminuye cada vez que el paquete pasa por un sistema. Si este número llega a cero, el paquete será descartado. Esto es necesario por razones de seguridad para evitar un bucle infinito, ya que aunque es bastante improbable que esto suceda en una red correctamente diseñada, no debe descuidarse esta posibilidad. Tamaño: 8 bit.

Protocolo: El número utilizado en este campo sirve para indicar a qué protocolo pertenece el datagrama que se encuentra a continuación de la cabecera IP, de manera que pueda ser tratado correctamente cuando llegue a su destino. Tamaño: 8 bit.

Comprobación: El campo de comprobación (checksum) es necesario para verificar que los datos contenidos en la cabecera IP son correctos. Por razones de eficiencia este campo no puede utilizarse para comprobar los datos incluidos a continuación, sino que estos datos de usuario se comprobarán posteriormente a partir del campo de comprobación de la cabecera siguiente, y que corresponde al nivel de transporte. Este campo debe calcularse de nuevo cuando cambia alguna opción de la cabecera, como puede ser el límite de existencia. Tamaño: 16 bit.

Dirección de origen: Contiene la dirección IP del host que envía el paquete. Tamaño: 32 bit.

Dirección de destino: Esta dirección IP es la del host que recibirá la información. Los routers o gateways intermedios deben conocerla para dirigir correctamente el paquete. Tamaño: 32 bit.

10. La dirección de Internet.

El protocolo IP identifica a cada computadora que se encuentra conectada a la red mediante su correspondiente dirección. Esta dirección es un número de 32 bit que debe ser único para cada host, y normalmente suele representarse como cuatro cifras de 8 bit separadas por puntos.

La dirección de Internet (IP Address) se utiliza para identificar tanto a la computadora en concreto como la red a la que pertenece, de manera que sea posible distinguir a las computadoras que se encuentran conectadas a una misma red. Con este propósito, y teniendo en cuenta que en Internet se encuentran conectadas redes de tamaños muy diversos, se establecieron tres clases diferentes de direcciones, las cuales se representan mediante tres rangos de valores:

Clase A: Son las que en su primer byte tienen un valor comprendido entre 1 y 126, incluyendo ambos valores. Estas direcciones utilizan únicamente este primer byte para identificar la red, quedando los otros tres bytes disponibles para cada uno de los hosts que pertenezcan a esta misma red. Esto significa que podrán existir más de dieciséis millones de computadoras en cada una de las redes de esta clase. Este tipo de direcciones es usado por redes muy extensas, pero hay que tener en cuenta que sólo puede haber 126 redes de este tamaño. ARPAnet es una de ellas, existiendo además algunas grandes redes comerciales, aunque son pocas las organizaciones que obtienen una dirección de "clase A". Lo normal para las grandes organizaciones es que utilicen una o varias redes de "clase B".

(16)

FUNDAMENTOS DE REDES Y TCP/IP

Clase B: Estas direcciones utilizan en su primer byte un valor comprendido entre 128 y 191, incluyendo ambos. En este caso el identificador de la red se obtiene de los dos primeros bytes de la dirección, teniendo que ser un valor entre 128.1 y 191.254 (no es posible utilizar los valores 0 y 255 por tener un significado especial). Los dos últimos bytes de la dirección constituyen el identificador del host permitiendo, por consiguiente, un número

máximo de 64516 computadoras en la misma red. Este tipo de direcciones tendría que ser suficiente para la gran mayoría de las organizaciones grandes. En caso de que el número de computadoras que se necesita conectar fuese mayor, sería posible obtener más de una dirección de "clase B", evitando de esta forma el uso de una de "clase A".

Clase C: En este caso el valor del primer byte tendrá que estar comprendido entre 192 y 223, incluyendo ambos valores. Este tercer tipo de direcciones utiliza los tres primeros bytes para el número de la red, con un rango desde 192.1.1 hasta 223.254.254. De esta manera queda libre un byte para el host, lo que permite que se conecten un máximo de 254 computadoras en cada red. Estas direcciones permiten un menor número de host que las anteriores, aunque son las más numerosas pudiendo existir un gran número redes de este tipo (más de dos millones).

Tabla de direcciones IP de Internet. Clase Primer byte Identificación

de red Identificación de hosts Número de redes Número de hosts A 1 .. 126 1 byte 3 byte 126 16.387.064 B 128 .. 191 2 byte 2 byte 16.256 64.516 C 192 .. 223 3 byte 1 byte 2.064.512 254

En la clasificación de direcciones anterior se puede notar que ciertos números no se usan. Algunos de ellos se encuentran reservados para un posible uso futuro, como es el caso de las direcciones cuyo primer byte sea superior a 223 (clases D y E, que aún no están definidas), mientras que el valor 127 en el primer byte se utiliza en algunos sistemas para propósitos especiales. También es importante notar que los valores 0 y 255 en cualquier byte de la dirección no pueden usarse normalmente por tener otros propósitos específicos. El número 0 está reservado para las máquinas que no conocen su dirección, pudiendo utilizarse tanto en la identificación de red para máquinas que aún no conocen el número de red a la que se encuentran conectadas, en la identificación de host para máquinas que aún no conocen su número de host dentro de la red, o en ambos casos.

El número 255 tiene también un significado especial, puesto que se reserva para el broadcast. El broadcast es necesario cuando se pretende hacer que un mensaje sea visible para todos los sistemas conectados a la misma red. Esto puede ser útil si se necesita enviar el mismo datagrama a un número determinado de sistemas, resultando más eficiente que enviar la misma información solicitada de manera individual a cada uno. Otra situación para el uso de broadcast es cuando se quiere convertir el nombre por dominio de una computadora a su correspondiente número IP y no se conoce la dirección del servidor de nombres de dominio más cercano.

Lo usual es que cuando se quiere hacer uso del broadcast se utilice una dirección compuesta por el identificador normal de la red y por el número 255 (todo unos en binario) en cada byte que identifique al host. Sin embargo, por conveniencia también se permite el uso del número 255.255.255.255 con la misma finalidad, de forma que resulte más simple referirse a todos los sistemas de la red.

(17)

FUNDAMENTOS DE REDES Y TCP/IP

El broadcast es una característica que se encuentra implementada de formas diferentes dependiendo del medio utilizado, y por lo tanto, no siempre se encuentra disponible. En ARPAnet y en las líneas punto a punto no es posible enviar broadcast, pero sí que es posible hacerlo en las redes Ethernet, donde se supone que todos los computadoras prestarán atención a este tipo de mensajes.

En el caso de algunas organizaciones extensas puede surgir la necesidad de dividir la red en otras redes más pequeñas (subnets). Como ejemplo podemos suponer una red de clase B que, naturalmente, tiene asignado como identificador de red un número de dos bytes. En este caso sería posible utilizar el tercer byte para indicar en qué red Ethernet se encuentra un host en concreto. Esta división no tendrá ningún significado para cualquier otra computadora que esté conectado a una red perteneciente a otra organización, puesto que el tercer byte no será comprobado ni tratado de forma especial. Sin embargo, en el interior de esta red existirá una división y será necesario disponer de un software de red especialmente diseñado para ello. De esta forma queda oculta la organización interior de la red, siendo mucho más cómodo el acceso que si se tratara de varias direcciones de clase C independientes.

Direcciones IP de uso Privado.

Cuando se creó Internet y se definió el protocolo IP, al desarrollar los conceptos de clases A, B y C se reservaron una red clase A (10.X.X.X), quince clase B (172.16.X.X a 172.31.X.X) y 255 clase C (192.168.0.X a 192.168.255.X) para su uso privado. Este uso privado consiste en que el órgano competente en la asignación de direcciones no concede estas clases, y se reservan para que las redes privadas sin conexión a Internet o con el mundo exterior, hagan uso de ellas de tal manera de no provocar colisiones si en el futuro estas redes se conectan a redes públicas.

De esta forma se definen dos tipos de direcciones IP, direcciones IP públicas, que son aquellas que conceden los organismos internacionales competentes en esta materia y que van a ser usadas en Redes IP Globales conectadas a Internet, y direcciones IP privadas, definidas como aquellas que van a identificar a los equipos cuando se hable de Redes IP Privadas.

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

Los protocolos que pertenecen al nivel de enlace o interfaz de red de Internet (niveles físico y de enlace en el modelo OSI) deben añadir más información a los datos provenientes de IP para que la transmisión pueda realizarse. Es el caso de las redes Ethernet, de uso muy extendido actualmente. Este tipo de redes utiliza su propio sistema de direcciones, junto con una nueva cabecera para los datos. Las redes locales Ethernet son posiblemente la tecnología que domina en Internet. Este tipo de redes fue desarrollado por Xerox durante los años 70, y entre sus características podemos destacar su alto nivel de rendimiento, unas velocidades de 10Mbit/seg (Ethernet), 100Mbit/seg (Fast Ethernet), 1000Mbit/seg (Giga Ethernet). Y CSMA/CD como técnica de acceso al medio.

(18)

FUNDAMENTOS DE REDES Y TCP/IP

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

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

Es importante notar que las direcciones utilizadas por Ethernet no guardan ninguna relación con las direcciones de Internet. Así como las direcciones IP de Internet son asignadas por el usuario, las direcciones Ethernet se asignan "de fábrica". Esta es la razón por la que se utilizan 48 bit en las direcciones, ya que de esta manera se obtiene un número lo suficientemente elevado de direcciones como para asegurar que no sea necesario repetir los valores. En una red Ethernet los paquetes son transportados de una computadora a otra de manera que son visibles para todos, siendo necesario un procedimiento para identificar los paquetes que pertenecen a cada computadora. Cuando el paquete es recibido en el otro extremo, la cabecera y el checksum se retiran, se comprueba que los datos corresponden a un mensaje IP, y este mensaje se pasa al protocolo IP para que sea procesado.

El tamaño máximo para un paquete de datos varía de unas redes a otras. En el caso de Ethernet el tamaño puede ser de

1500 bytes, para otras redes puede ser menor o bastante mayor en el caso de redes muy rápidas. Aquí surge otro problema, pues normalmente los paquetes de tamaño mayor resultan más eficientes para transmitir grandes cantidades de información.

Sin embargo, se debe tener en cuenta que las redes del receptor y el emisor pueden ser muy distintas. Por este motivo el protocolo TCP está preparado para negociar el tamaño máximo de los datagramas que serán enviados durante el resto de la conexión. Pero así el problema no queda completamente resuelto porque hasta que los paquetes lleguen a su destino es muy probable que tengan que atravesar otras redes intermedias, las cuales puede que no sean capaces de soportar el tamaño de los paquetes que se está enviando. Se hace necesario entonces dividir el paquete original en otros más pequeños para que puedan ser manejados: Esto se conoce como fragmentación (fragmentation).

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

ARP (Address Resolution Protocol).

El Protocolo de Resolución de Direcciones (ARP) es necesario debido a que las direcciones Ethernet y las direcciones IP son dos números distintos y que no guardan ninguna relación. Así, cuando pretendemos dirigirnos a un host a través de su dirección de Internet se necesita convertir ésta a la correspondiente dirección Ethernet.

(19)

FUNDAMENTOS DE REDES Y TCP/IP

ARP es el protocolo encargado de realizar las conversiones de dirección correspondientes a cada host. Para ello cada sistema cuenta con una tabla con la dirección IP y la dirección Ethernet de algunos de los otros sistemas de la misma red. Sin embargo, también puede ocurrir que la computadora de destino no se encuentre en la tabla de direcciones, teniendo entonces que obtenerla por otros medios. Con la finalidad de obtener una dirección Ethernet destino que no se encuentra en la tabla de conversiones se utiliza el mensaje ARP de petición (ARP Request). Este mensaje es enviado como broadcast, es decir, que estará disponible para que el resto de los sistemas de la red lo examinen, y el cual contiene una solicitud de la dirección final de un sistema a partir de su dirección IP.

Cuando la computadora con la que se quiere comunicar analiza este mensaje comprueba que la dirección IP corresponde a la suya y envía de regreso el mensaje ARP de respuesta, el cual contendrá la dirección Ethernet que se estaba buscando. La computadora que solicitó la información recibirá entonces el mensaje de respuesta y añadirá la dirección a su propia tabla de conversiones para futuras referencias.

El mensaje de petición ARP contiene las direcciones IP y Ethernet del host que solicita la información, además de la dirección IP del host de destino. Estos mensajes son aprovechados en algunas ocasiones también por otros sistemas de la red para actualizar sus tablas, ya que el mensaje es enviado en forma de broadcast. La computadora de destino, una vez que ha completado el mensaje inicial con su propia dirección Ethernet, envía la respuesta directamente al host que solicitó la información.

12. Routing.

Ya se ha expuesto anteriormente la forma en que los datagramas pasan de una computadora de la red a otra mediante el protocolo IP, sin embargo en esta sección se comenta con más detalle el proceso que permite que la información llegue hasta su destino final. Esto se conoce con el nombre de routing.

Las tareas de routing son implementadas por el protocolo IP sin que los protocolos de un nivel superior tales como TCP o UDP tengan constancia de ello. Cuando se quiere enviar información por Internet a una computadora, el protocolo IP comprueba si la computadora de destino se encuentra en la misma red local que la computadora origen. Si es así, se enviará el correspondiente datagrama de forma directa: la cabecera IP contendrá el valor de la dirección Internet de la computadora destino, y la cabecera Ethernet contendrá el valor de la dirección de la red Ethernet que corresponde a esta misma computadora.

Cuando se pretende enviar información a una computadora remota que está situado en una red local diferente la computadora de origen, el proceso resulta más complicado. Esto se conoce como routing indirecto, y es el caso que se presenta más frecuentemente cuando se envía información en Internet.

(20)

FUNDAMENTOS DE REDES Y TCP/IP

En Internet existen un elevado número de redes independientes conectadas entre sí mediante el uso de los routers. Una computadora puede actuar como un router si se conecta a varias redes al mismo tiempo, disponiendo por lo tanto de más de una interfaz de red así como de varias direcciones IP y Ethernet (tantas como redes a las que se encuentre conectado). El router, por supuesto, puede enviar y recibir información de los hosts de todas las redes a las que está conectado, y siempre será de forma directa.

Si sólo fuésemos a enviar información de manera directa dentro de una misma red no sería necesario el uso del protocolo TCP/IP, siendo el mismo especialmente indicado cuando se desea una comunicación con otras redes. En este caso los datagramas tendrán que ser encaminados a través del router para llegar a su destino. La forma de hacer esto es a través del protocolo IP, el cual decide si la información puede enviarse directamente o si por el contrario debe utilizarse el método indirecto a través de un router.

Hasta este punto se ha supuesto que sólo existe un único router, pero es bastante probable que una red con conexión a Internet posea múltiples enlaces con otras redes, y por lo tanto más de un router. Entonces... ¿cómo determina el protocolo IP el sistema correcto al que debe dirigirse? Para resolver este problema cada computadora utiliza una tabla donde se relaciona cada una de las redes existentes con el router que debe usarse para tener acceso. Debe tenerse en cuenta que los routers indicados en estas tablas pueden no estar conectados directamente a las redes con las que están relacionados, sino que lo que se indica es el mejor camino para acceder a cada una de ellas.

Por esta razón, cuando un router recibe un paquete que debe ser encaminado, busca en su propia tabla de redes la entrada correspondiente a la red para, una vez encontrada, entregarlo a la computadora de destino. Es importante notar que en el caso de que el router no tenga conexión directa a la misma red que la computadora de destino, la búsqueda en su tabla de redes dará como resultado la dirección de un nuevo router al que dirigir el paquete, y así continuará el proceso sucesivamente hasta encontrar el destino final.

A causa de la extensión de Internet, es normal que un paquete atraviese numerosas redes (pueden ser decenas) hasta llegar a su destino. La ruta que tiene que recorrer un paquete en su viaje a través de la red no está determinada inicialmente, sino que es el resultado de la consulta en las tablas de direcciones individuales de las computadoras intermedios. La creación y mantenimiento de la tabla de redes para routing es un proceso complejo que debe ser realizado por el administrador de la red. Aquí hay que tener en cuenta que la enorme extensión de Internet supone una gran dificultad para conseguir que sean correctas todas las entradas de la tabla, además de que esta tabla puede llegar a tener un tamaño considerable. La utilización de routers por defecto mejora la situación al permitir que sean estos los que guarden el registro de la red sin que las computadoras individuales tengan que ocuparse en ello, pero estos routers sí que deberían tener una tabla completa.

(21)

FUNDAMENTOS DE REDES Y TCP/IP

Para facilitar el mantenimiento de la tabla existen algunos protocolos para routing que permiten que un router o gateway cualquiera pueda encontrar por sí mismo la localización de otros routers o gateways y guardar la información acerca del mejor camino para acceder a cada red.

Lógicamente el proceso real de routing sobre Internet suele ser mucho más complejo que el expuesto aquí, principalmente por el uso de redes y tecnologías muy distintas e incompatibles. Esto obliga a que se realicen conversiones en el formato de los paquetes para que puedan pasar a través de medios diferentes, pero en cualquier caso el protocolo IP proporciona una transmisión transparente para los protocolos de nivel superior y las aplicaciones de red.

Protocolos de Ruteo.

Los protocolos de ruteo son los encargados de que cada paquete de Información llegue a su correcto destino. El Ruteo se divide en dos categorías; ruteo interno y ruteo externo cada uno independientemente trabajan con algoritmos distintos. En un sistema de Conmutación de paquetes, el ruteo es el proceso de selección de un camino sobre el que se mandarán paquetes pasando por varias redes físicas si fuera preciso. Ruteo o rutear , es dirigir la información que se transmite a través de una red desde su origen hasta su destino, eligiendo el mejor camino posible a través de las redes que los separan.

Protocolo Interior de Gateway (IGP) o IRP: Protocolo usado por los vecinos interiores para intercambiar Información

de accesibilidad, las conexiones se realizan en redes de ruteo interno.

Protocolos de ruteo interno: RIP, OSPF

RIP (Routing Information Protocol): Protocolo de información de encaminamiento, utiliza el protocolo UDP y se comunica a través del Puerto 520. Fácil de configurar, aunque para calcular una ruta sólo tiene en cuenta por cuántas máquinas pasará, y no otros aspectos más importantes como el Ancho de banda.

OSPF (Open Shortest Path First): Utiliza el algoritmo de Dijkstra para calcular la ruta más corta. Es el más utilizado en redes grandes, pues se puede descomponer en otras más pequeñas para facilitar la configuración. Una red OSPF está dividida en grupos lógicos de encaminadores o áreas cuya información se puede resumir para el resto de la red. Se basa en las normas de código abierto, lo que significa que muchos fabricantes lo pueden desarrollar y mejorar.

Protocolo Exterior de Gateway (EGP) o ERP

Protocolo usado por vecinos exteriores para difundir información de accesibilidad entre otros sistemas autónomos, el intercambio se realiza con otros sistemas autónomos externos conectados a Internet.

Protocolo de ruteo: BGP (Border Gateway Protocol) diseñado para permitir la cooperación en el intercambio de información de encaminamiento entre routers en Sistemas Autónomos diferentes.

BGP intercambia información de encaminamiento entre sistemas autónomos a la vez que garantiza una elección de rutas libres de bucles. Protocolo principal de publicación de rutas utilizado por las compañías más importantes de ISP en Internet. A diferencia de los protocolos de Gateway internos (IGP), como RIP, OSPF y EIGRP, no usa métricas como número de saltos, ancho de banda, o retardo. En cambio, BGP toma decisiones de encaminamiento basándose en políticas de la red, o reglas que utilizan varios atributos de ruta BGP.

(22)

FUNDAMENTOS DE REDES Y TCP/IP

13. Sistema de nombres por dominio.

El sistema de nombres por dominio (DNS, Domain Name System) es una forma alternativa de identificar a una máquina conectada a Internet. La dirección IP resulta difícil de memorizar, siendo su uso más adecuado para las computadoras. El sistema de nombres por dominio es el utilizado normalmente por las personas para referirse a una computadora en la red, ya que además puede proporcionar una idea del propósito o la localización del mismo.

El nombre por dominio de una computadora se representa de forma jerárquica con varios nombres separados por puntos (generalmente 3 ó 4, aunque no hay límite). Típicamente el nombre situado a la izquierda identifica al host, el siguiente es el subdominio al que pertenece este host, y a la derecha estará el dominio de mayor nivel que contiene a los otros subdominios.

nombre_computadora.subdominio.dominio_principal

Aunque esta situación es la más común, el nombre por dominio es bastante flexible, permitiendo no sólo la identificación de hosts sino que también puede utilizarse para referirse a determinados servicios proporcionados por una computadora o para identificar a un usuario dentro del mismo sistema. Es el caso de la dirección de correo electrónico, donde el nombre por dominio adquiere gran importancia puesto que el número IP no es suficiente para identificar al usuario dentro de una computadora.

Para que una máquina pueda establecer conexión con otra es necesario que conozca su número IP, por lo tanto, el nombre por dominio debe ser convertido a su correspondiente dirección a través de la correspondiente base de datos. En los inicios de Internet esta base de datos era pequeña de manera que cada sistema podía tener su propia lista con los nombres y las direcciones de las otras computadoras de la red, pero actualmente esto sería impensable. Con esta finalidad se utilizan los servidores de nombres por dominio (DNS servers).

Los servidores de nombres por dominio son sistemas que contienen bases de datos con el nombre y la dirección de otros sistemas en la red de una forma encadenada o jerárquica.

Para comprender mejor el proceso supongamos que un usuario suministra el nombre por dominio de un sistema en la red a su computadora local, realizándose el siguiente proceso:

• La computadora local entra en contacto con el servidor de nombres que tiene asignado, esperando obtener la dirección que corresponde al nombre que ha suministrado el usuario.

• El servidor de nombres local puede conocer la dirección que se está solicitando, entregándosela a la computadora que realizó la petición.

• Si el servidor de nombres local no conoce la dirección, ésta se solicitará al servidor de nombres que esté en el dominio más apropiado. Si éste tampoco tiene la dirección, llamará al siguiente servidor DNS, y así sucesivamente.

• Cuando el servidor DNS local ha conseguido la dirección, ésta se entrega a la computadora que realizó la petición.

(23)

FUNDAMENTOS DE REDES Y TCP/IP

14. Servicios de Internet: el nivel de aplicación.

Los diferentes servicios a los que podemos tener acceso en Internet son proporcionados por los protocolos que pertenecen al nivel de aplicación. Estos protocolos forman parte del TCP/IP y deben aportar entre otras cosas una forma normalizada para interpretar la información, ya que todas las máquinas no utilizan los mismos juegos de caracteres ni los mismos estándares. Los protocolos de los otros niveles sólo se encargan de la transmisión de información como un bloque de bits, sin definir las normas que indiquen la manera en que tienen que interpretarse esos bits. Los protocolos del nivel de aplicación están destinados a tareas específicas, algunos de los cuales se consideran como tradicionales de Internet por utilizarse desde los inicios de la red, como son por ejemplo:

• Transferencia de archivos (File Transfer).

• Correo electrónico (e-mail).

• Conexión remota (Telnet, remote login).

15. Transferencia de archivos.

El protocolo FTP (File Transfer Protocol) se incluye como parte del TCP/IP, siendo éste el protocolo de nivel de aplicación destinado a proporcionar el servicio de transferencia de archivos en Internet. El FTP depende del protocolo TCP para las funciones de transporte, y guarda alguna relación con TELNET (protocolo para la conexión remota).

El protocolo FTP permite acceder a algún servidor que disponga de este servicio y realizar tareas como moverse a través de su estructura de directorios, ver y descargar archivos a la computadora local, enviar archivos al servidor o copiar archivos directamente de un servidor a otro de la red. Lógicamente y por motivos de seguridad se hace necesario contar con el permiso previo para poder realizar todas estas operaciones. El servidor FTP pedirá el nombre de usuario y clave de acceso al iniciar la sesión (login), que debe ser suministrado correctamente para utilizar el servicio. La manera de utilizar FTP es por medio de una serie de comandos, los cuales suelen variar dependiendo del sistema en que se esté ejecutando el programa, pero básicamente con la misma funcionalidad.

Existen aplicaciones de FTP para prácticamente todos los sistemas operativos más utilizados, aunque hay que tener en cuenta que los protocolos TCP/IP están generalmente muy relacionados con sistemas UNIX. Por este motivo y, ya que la forma en que son listados los archivos de cada directorio depende del sistema operativo del servidor, es muy frecuente que esta información se muestre con el formato propio del UNIX. También hay que mencionar que en algunos sistemas se han desarrollado clientes de FTP que cuentan con un interfaz gráfico de usuario, lo que facilita notablemente su utilización, aunque en algunos casos se pierde algo de funcionalidad.

Existe una forma muy utilizada para acceder a fuentes de archivos de carácter público por medio de FTP. Es el acceso FTP anónimo, mediante el cual se pueden copiar archivos de los hosts que lo permitan, actuando estos host como enormes almacenes de información y de todo tipo de archivos para uso público. Generalmente el acceso anónimo tendrá algunas limitaciones en los permisos, siendo normal en estos casos que no se permita realizar acciones tales como añadir archivos o modificar los existentes. Para tener acceso anónimo a un servidor de FTP hay que identificarse con la palabra "anonymous" como el nombre de usuario, tras lo cual se pedirá el password o clave correspondiente. Normalmente se aceptará cualquier cadena de caracteres como clave de usuario, pero lo usual es que aquí se indique

Figure

Actualización...

Referencias

Actualización...