http://www.miguelbayon.com/fileHosting/publico/docencia/profesor/curso2006-2007/esi1/unidad03.CapaRed/diagramaRedesIp/diagramaRedIp.png

El Internet Control Message Protocol

IP tiene otro protocolo complementario del que no hemos hablado todavía. Este es el Internet Control Message Protocol (ICMP), usado por el código de redes del núcleo para comunicar mensajes de error a otros puestos. Por ejemplo, asumiremos que nos encontramos en erdos otra vez y queremos hacer telnet al puerto 12345 en quark, pero no hay procesos escuchando en ese puerto. Cuando el primer paquete TCP para este puerto llegue a quark, la capa de red reconocerá esta llegada e inmediatamente enviará un mensaje ICMP a erdosempezando con “Port Unreachable.”

El protocolo ICMP ofrece varios mensajes diferentes, muchos de ellos tratan con condiciones de error. De todas maneras, hay un mensaje muy interesante denominado mensaje Redirect. Lo genera el módulo de encaminamiento cuando detecta que otro puesto está usándolo como pasarela, aunque exista una ruta más corta. Por ejemplo, después del arranque, la tabla de encaminamiento de sophus puede estar incompleta. Puede que contenga las rutas a la red de Matemáticas, a la dorsal FDDI, y el encaminamiento por defecto apuntando a la pasarela del Groucho Computing Center ( gcc1). De este modo, los paquetes para quark serán enviados a gcc1 en vez de a niels, la pasarela del departamento de Fisicas. Cuando recibe un datagrama como éste, gcc1 notará que esa es una mala elección como ruta y reenviará el paquete a niels, mientras tanto envía un mensaje Redirect ICMP a sophus diciéndole la ruta superior.

Esta parece ser una forma muy inteligente de evitar la configuración manual de las rutas excepto las más básicas. De cualquier forma, hay que decir que depender de esquemas de encaminamiento dinámicos, sean RIP o mensajes Redirect ICMP, no es siempre una buena idea. Redirect ICMP y RIP ofrecen muy poca o ninguna capacidad de verificar si alguna información de encaminamiento es efectivamente auténtica. Esta situación permite a malévolos inútiles perturbar el desarrollo del tráfico de la red completa, o incluso algo peor. Consecuentemente, el código de red de GNU/Linux trata los mensaje Network Redirect como si fuesen Host Redirects. Esto minimiza los daños de un ataque restringiéndolos a sólo un puesto, en vez de la red completa. Por otro lado, esto significa que se generá un poco más de tráfico en las mismas condiciones, ya que cada puesto hace que se genere un mensaje Redirect ICMP. En la actualidad, se considera generalmente una mala costumbre depender de las redirecciones ICMP para algo.

Resolución de direcciones

Ahora que sabe como se componen las direcciones IP, se estará preguntando cómo se usan en una red Ethernet o Token Ring para identificar los diferentes puestos. Después de todo, dichos protocolos tienen sus propias direcciones para identificar los puestos y éstas no tienen absolutamente nada en común con una dirección IP, ¿verdad? De acuerdo.

Se necesita un mecanismo para proyectar las direcciones IP en las direcciones de la red subyacente. Este mecanismo es el Address Resolution Protocol (ARP). De hecho, ARP no se limita a Ethernet o Token Ring, sino que también se usa en otros tipos de redes, tales como el protocolo de radio amateur AX.25. La idea básica del ARP es exactamente lo que la mayor parte de la gente haría si tuviese que encontrar al señor X en una multitud de 150 personas: la persona que le busca le llamaría lo suficientemente fuerte para que todo el mundo en la habitación pueda oírle, esperando que el señor X responda si está allí. Cuando él responda, sabremos qué persona es.

Cuando ARP quiere encontrar la dirección Ethernet correspondiente a una dirección IP dada, usa una característica Ethernet denominada difusión, en la cual un datagrama se envía simultáneamente a todas las estaciones de la red. El datagrama de difusión enviado por el ARP contiene la dirección IP en cuestión. Cada puesto receptor compara esta dirección con la suya propia y si coinciden, devuelve una respuesta ARP al puesto emisor. El puesto emisor puede entonces obtener la dirección Ethernet del remitente de la respuesta.

Se preguntará como un puesto puede localizar una dirección de Internet que puede estar en una red diferente al otro lado del mundo. La respuesta a esta pregunta tiene que ver con elencaminamiento, esto es, encontrar la ubicación física de un puesto en una red. Discutiremos esta cuestión más profundamente en la próxima sección.

Hablemos un poco más sobre ARP. Una vez que un puesto ha descubierto una dirección Ethernet, la guarda en su caché ARP de forma que no tiene que preguntar por ella de nuevo la próxima vez que quiera enviar un datagrama al puesto en cuestión. De cualquier modo, es poco aconsejable mantener esta información para siempre; la tarjeta Ethernet del puesto remoto puede ser reemplazada a causa de problemas técnicos, así la entrada ARP sería inválida. Por tanto, las entradas en la caché ARP son desechadas cada cierto tiempo para forzar otra búsqueda de la dirección IP.

A veces también es necesario encontrar la dirección IP asociada a una dirección Ethernet dada. Esto ocurre cuando una máquina sin disco necesita arrancar desde un servidor de la red, lo que es una situación común en redes de área local. Un cliente sin disco, de todos modos, virtualmente no tiene información de sí mismo—¡excepto de su dirección Ethernet! De modo que difunde un mensaje que contiene una petición para que un servidor de arranque le otorgue una dirección IP. Hay otro protocolo para esta situación denominado Reverse Address Resolution Protocol (RARP). Junto al protocolo BOOTP, sirve para definir el proceso de arranque de clientes sin disco a través de la red.


Interfaces de red

Para ocultar la diversidad de hardware que puede usarse en un entorno de red, TCP/IP define una interfaz abstracta a través de la cual se accede a dicho hardware. Esta interfaz ofrece un conjunto de operaciones que son las mismas para todos los tipos de hardware y básicamente trata con el envío y la recepción de paquetes.

Tiene que estar presente en el núcleo la correspondiente interfaz para cada dispositivo periférico de red. Por ejemplo, las interfaces Ethernet se llaman en GNU/Linux con nombres comoeth0 y eth1; las interfaces PPP (discutido en Capítulo 8 ) se denominan ppp0 y ppp1; y a las interfaces FDDI se le da nombres como fddi0 y fddi1. Estos nombres de interfaz se usan para propósitos de configuración cuando se quiere especificar un dispositivo físico determinado en una orden de configuración, y no tienen significado más allá de este uso.

Antes de ser usada en una red TCP/IP, a una interfaz se le debe asignar una dirección IP que sirve como su identificador cuando se comunica con el resto del mundo. Esta dirección es distinta del nombre de interfaz mencionado anteriormente; si se compara una interfaz con una puerta, la dirección es como el número de la puerta.

Se pueden selecciónar otros parámetros de dispositivo como el tamaño máximo de los datagramas que pueden ser procesados por una parte del hardware determinada, a lo que se le denomina Maximum Transfer Unit (MTU). Hay otros atributos que se introducirán más tarde. Afortunadamente, la mayoría de esos atributos tienen valores por defecto muy acertados.

Direcciones IP

el protocolo de red IP utiliza direcciones formadas por números de 32 bits. Se le debe asignar un número único a cada máquina del entorno de red.[1]Si está haciendo funcionar una red local que no tiene tráfico TCP/IP con otras redes, puede asignar estos números de acuerdo con sus preferencias personales. Hay algunos rangos de direcciones IP que han sido reservadas para redes privadas. Estos rangos se listan en Tabla 2-1. De cualquier modo, los números para los sitios en Internet los asigna una autoridad central, el Network Information Center (NIC).

Para facilitar la lectura, las direcciones IP se separan en cuatro números de ocho bits llamados octetos. Por ejemplo, quark.physics.groucho.edu tiene una dirección IP 0x954C0C04, que se escribe como 149.76.12.4. Este formato se denomina normalmente notación de puntos divisorios.

Otra razón para usar esta notación es que las direcciones IP se dividen en un número de red, que es contenido en el octeto principal, y un número de puesto, que es contenido en el resto. Cuando se solicita al NIC una dirección IP, no se le asignará una dirección para cada puesto individual que pretenda usar. En cambio, se le otorgará un número de red y se le permitirá asignar todas la direcciones IP válidas dentro de ese rango para albergar puestos en su red de acuerdo con sus preferencias.

El tamaño de la parte dedicada al puesto depende del tamaño de la red. Para complacer diferentes necesidades, se han definido varias clases de redes, fijando diferentes sitios donde dividir la dirección IP. Las clases de redes se definen en lo siguiente:

Clase A

La clase A comprende redes desde 1.0.0.0 hasta 127.0.0.0. El número de red está contenido en el primer octeto. Esta clase ofrece una parte para el puesto de 24 bits, permitiendo aproximadamente 1,6 millones de puestos por red.

Clase B

La clase B comprende las redes desde 128.0.0.0 hasta 191.255.0.0; el número de red está en los dos primeros octetos. Esta clase permite 16.320 redes con 65.024 puestos cada una.

Clase C

Las redes de clase C van desde 192.0.0.0 hasta 223.255.255.0, con el número de red contenido en los tres primeros octetos. Esta clase permite cerca de 2 millones de redes con más de 254 puestos.

Clases D, E, y F

Las direcciones que están en el rango de 224.0.0.0 hasta 254.0.0.0 son experimentales o están reservadas para uso con propósitos especiales y no especifican ninguna red. La IP Multicast, un servicio que permite trasmitir material a muchos puntos en una internet a la vez, se le ha asignado direcciones dentro de este rango.

Si volvemos al ejemplo del capítulo 1, encontraremos que 149.76.12.4, la dirección de quark, se refiere al puesto 12.4 en la red de clase B 149.76.0.0.

Habrá notado que no se permiten todos los valores posibles de la lista anterior para todos los octetos de la parte del puesto. Esto se debe a que los octetos 0 y 255 se reservan para propósitos especiales. Una dirección donde todos los bits de la parte del puesto son 0, se refiere a la red, y una dirección donde todos los bits de la parte del puesto son 1, se denominadirección de difusión. Ésta se refiere simultáneamente a todos los puestos de la red específica. Así, 149.76.255.255 no es una dirección de puesto válida, pero se refiere a todos los puestos en la red 149.76.0.0.

Algunas direcciones de red se reservan para propósitos especiales. 0.0.0.0 y 127.0.0.0 son dos de estas direcciones. La primera se denomina encaminamiento por defecto, y la segunda es la dirección loopback. El encaminamiento por defecto tiene que ver con el camino por el que el IP encamina los datagramas.

La red 127.0.0.0 está reservada para el tráfico local IP del puesto. Normalmente, la dirección 127.0.0.1 se asignará a una interfaz especial del puesto, la interfaz loopback, que actúa como un circuito cerrado. Cualquier paquete IP enviado a esta interfaz por TCP o UDP le será devuelto a cualquiera de ellos como si simplemente hubiese llegado desde alguna red. Esto permite desarrollar y probar software de red aunque no se esté usando una red “real”. La red loopback también permite usar software de red en un puesto solitario. Puede que esto no sea tan infrecuente como parece; por ejemplo, muchos sitios UUCP no tienen conectividad con IP en absoluto, pero aún pueden querer ejecutar un sistema de noticias INN. Para un funcionamiento adecuado en GNU/Linux, INN requiere la interfaz loopback.

Algunos rangos de direcciones de cada una de las clases de red han sido reservados y designados como rangos de direcciones “reservadas” o “privadas”. Estas direcciones están reservadas para el uso de redes privadas y no son encaminadas en Internet. Son usadas normalmente por organizaciones con su propia intranet, pero incluso las redes pequeñas suelen encontrarlas útiles.


El acceso a Internet.

El acceso a Internet es proporcionado por cualquier proveedor que disponga de esta posibilidad, para lo cual se hace completamente necesario el protocolo TCP/IP. El número IP que dispondrá como dirección el ordenador del usuario final es suministrado por el proveedor (puede ser distinto cada vez que se establezca una conexión) y será una dirección válida de Internet.

Transferencia de ficheros.

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 ficheros en Internet. El FTP depende del protocolo TCP para las funciones de transporte, y guarda alguna relación conTELNET (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 ficheros al ordenador local, enviar ficheros 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 elprograma, 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 ficheros 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 ficheros de los hosts que lo permitan, actuando estos host como enormes almacenes de información y de todo tipo de ficheros para uso público. Generalmente el acceso anónimo tendrá algunas limitaciones en los permisos, siendo normal en estos casos que no se permita realizaracciones tales como añadir ficheros 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 la dirección de correo electrónico propia, o bien la palabra "guest". Utilizar la dirección de correo electrónico como clave de acceso es una regla de cortesía que permite a los operadores y administradores hacerse una idea de los usuarios que están interesados en el servicio, aunque en algunos lugares puede que se solicite esta información rechazando el uso de la palabra "guest".

E FTP proporciona dos modos de transferencia de ficheros: ASCII y binario. El modo de transferencia ASCII se utiliza cuando se quiere transmitir archivos de texto, ya que cada sistema puede utilizar un formato distinto para la representación de texto. En este caso se realiza una conversión en el formato del fichero original, de manera que el fichero recibido pueda utilizarse normalmente. El modo de transferencia binario se debe utilizar en cualquier otro caso, es decir, cuando el fichero que vamos a recibir contiene datos que no son texto. Aquí no se debe realizar ninguna conversión porque quedarían inservibles los datos del fichero.

El protocolo TCP/IP.

TCP/IP es el protocolo común utilizado por todos los ordenadores conectados a Internet, de manera que éstos puedan comunicarse entre S. Hay que tener en cuenta que en Internet se encuentran conectados ordenadores 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:

  • 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 ficheros (FTP), conexión remota (TELNET) y otros más recientes como el protocolo HTTP (Hypertext Transfer Protocol).
  • 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.
  • ternet: 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.
  • Enlace: 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.

Transmision de Datos en Internet

Una red de ordenadores permite conectar a los ordenadores 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 una sala 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 ordenadores 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 ordenador conectado a Internet y, por tanto, capaz de compartir información con otro ordenador se 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 todos los ordenadores conectados a Internet disponen de una dirección única y exclusiva. Esta dirección, conocida como dirección de Internet o direcciónIP, 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 del protocolo IP, pero no en la 6). Un ejemplo de dirección IP es el siguiente: 205.198.48.1.

No hay publicaciones.
No hay publicaciones.