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.
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.
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:
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.
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.
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.
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.
Ejemplo:Clase Redes A 10.0.0.0 hasta 10.255.255.255 B 172.16.0.0 hasta 172.31.0.0 C 192.168.0.0 hasta 192.168.255.0
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.
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:
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.
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:
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.