2. HISTORIA DE LA TCP/IP
• El Protocolo de Internet (IP) y el Protocolo de Transmisión
(TCP), fueron desarrollados inicialmente en 1973 por el
informático estadounidense Vinton Cerf como parte de un
proyecto dirigido por el ingeniero norteamericano Robert Kahn y
patrocinado por la Agencia de Programas Avanzados de
Investigación (ARPA, siglas en inglés) del Departamento
Estadounidense de Defensa. Internet comenzó siendo una red
informática de ARPA (llamada ARPAnet) que conectaba redes de
ordenadores de varias universidades y laboratorios en
investigación en Estados Unidos. World Wibe Web se desarrolló
en 1989 por el informático británico Timothy Berners-Lee para
el Consejo Europeo de Investigación Nuclear (CERN, siglas en
francés).
3. CLASES DE DIRECCIONES
• Toda organización que planee conectarse a la Intemet debe
conseguir un bloque de direcciones de IP únicas. Las
direcciones se consiguen de la autoridad de registro
apropiada.
• Por conveniencia, las NIC de registro delegan grandes bloques
de su espacio de direcciones de IP a los proveedores de
servicio. De esta forma las organizaciones pueden obtener sus
direcciones de sus proveedores de servicios en lugar de un NIC
de registro.
4. SUB-REDES
• Las subredes se usan para varios motivos. Los principales
objetivos son: evitar las tormentas de trafico de red, evitar
colisiones, hacer la red mas rápida (mejor performance),
poder distribuir los recursos mas eficientemente, unir redes
lejanas, dividir tecnologías, etc.
5. NOMBRES DE ANFITRION
• En un entorno de red el nombre de la máquina es utilizado
para identificar unívocamente una máquina en particular,
mientras que en una máquina autónoma, el nombre del
anfitrión, simplemente da a la máquina personalidad y
encanto. Es como darle un nombre a una mascota: siempre
puede dirigirse a su perro como "El perro", pero es mucho
más interesante ponerle al perro un nombre como Mancha o
Duque.
6. CONFIGURAR CON IFCONFIG
• La orden ifconfig se utiliza para configurar correctamente los
interfaces de red de nuestro sistema Unix; habitualmente con
ifconfig se indican parámetros como la dirección IP de la
máquina, la máscara de la red local o la dirección de
broadcast. Si como parámetros se recibe únicamente un
nombre de dispositivo.
7. ARCHIVO ETC/HOST
• Este fichero se utiliza para obtener una relación entre un
nombre de máquina y una dirección IP: en cada línea de
/etc/hosts se especifica una dirección IP y los nombres de
máquina que le corresponden, de forma que un usuario no
tenga que recordar direcciones sino nombres de hosts.
Habitualmente se suelen incluir las direcciones, nombres y
aliases de todos los equipos conectados a la red local, de
forma que para comunicación dentro de la red no se tenga
que recurrir a DNS a la hora de resolver un nombre de
máquina.
8. ARCHIVO ETC/ETHERS
• De la misma forma que en /etc/hosts se establecía una
correspondencia entre nombres de máquina y sus direcciones
IP, en este fichero se establece una correspondencia entre
nombres de máquina y direcciones ethernet, en un formato
muy similar al archivo anterior.
9. ARCHIVO ETC/NETWORKS
• Este fichero, cada vez más en desuso, permite asignar un
nombre simbólico a las redes, de una forma similar a lo que
/etc/hosts hace con las máquinas. En cada línea del fichero se
especifica un nombre de red, su dirección, y sus alias.
• El uso de este fichero es casi exclusivo del arranque del
sistema, cuando aún no se dispone de servidores de nombres;
en la operación habitual del sistema no se suele utilizar, ya
que ha sido desplazado por DNS.
10. ARCHIVO ETC/PROTOCOLS
• El sistema de red en Unix utiliza un número especial,
denominado número de protocolo, para identificar el
protocolo de transporte específico que la máquina recibe;
esto permite al software de red decodificar correctamente la
información recibida. En el archivo /etc/protocolsse identifican
todos los protocolos de transporte reconocidos junto a su
número de protocolo y sus aliases.
11. ARCHIVO ETC/SERVICES
• En cada línea de este fichero se especifican el nombre,
número de puerto, protocolo utilizado y aliases de todos los
servicios de red existentes (o, si no de todos los existentes, de
un subconjunto lo suficientemente amplio para que ciertos
programas de red funcionen correctamente). Por ejemplo,
para especificar que el servicio de smtp utilizará el puerto 25,
el protocolo TCP y que un alias para él es mail.
12. ARCHIVO /etc/inetd.conf
• Este fichero es el utilizado por el demonio inetd, conocido
como el superservidor de red. El demonio inetd es el
encargado de ofrecer la mayoría de servicios de nuestro
equipo hacia el resto de máquinas, y por tanto debemos
cuidar mucho su correcta configuración. Posteriormente
hablaremos de cómo restringir servicios, tanto ofrecidos por
este demonio como servidos independientemente.
13. ARCHIVO /etc/hosts.equiv
• En este fichero se indican, una en cada línea, las máquinas
confiables. Qué significa confiables? Básicamente que
confiamos en su seguridad tanto como en la nuestra, por lo
que para facilitar la compartición de recursos, no se van a
pedir contraseñas a los usuarios que quieran conectar desde
estas máquinas con el mismo login, utilizando las órdenes BSD
r (rlogin, rsh, rcp...). Por ejemplo, si en el fichero
/etc/hosts.equiv del servidor maquina1 hay una entrada para
el nombre de host maquina2, cualquier usuario de este
sistema puede ejecutar una orden como la siguiente para
conectar a maquina1 y sin necesidad de ninguna clave.
14. ARCHIVO .rhosts
• Cualquier usuario del sistema remoto podrá conectar al
nuestro (sin que se le solicite contraseña) pero sólo bajo el
nombre de usuario en cuyo $HOME se encuentra en este
archivo. Su funcionamiento es similar a
/etc/hosts.equiv
15. DEMONIOS
• Un demonio (daemon, en inglés) es un programa que
escucha a través de un puerto a la espera de establecer
comunicaciones. Así, por ejemplo, un servidor de
páginas web tiene un demonio asociado al puerto 80,
esperando solicitudes de conexión. Cuando nosotros
cargamos una página en el navegador estamos
enviando una solicitud al puerto 80 del servidor, que
responde con la página correspondiente. Si el servidor
web no estuviera ejecutando el demonio o éste estuviera
escuchando en otro puerto, no podríamos consultar la
página que buscamos.
16. La orden ping
• El comando ping se utiliza generalmente para testear aspectos
de la red, como comprobar que un sistema está encendido y
conectado; esto se consigue enviando a dicha máquina
paquetes ICMP (de tipo ECHO/SMALL>_REQUEST), tramas que
causarán que el núcleo del sistema remoto responda con
paquetes ICMP, pero esta vez de tipo
ECHO/SMALL>_RESPONSE.
17. La orden traceroute
• Esta orden se utiliza para imprimir la ruta que los paquetes
siguen desde nuestro sistema hasta otra máquina; para ello
utiliza el campo TTL(Time To Live) del protocolo IP,
inicializándolo con valores bajos y aumentándolo conforme va
recibiendo tramas ICMP de tipoTIME/SMALL>_EXCEEDED. La
idea es sencilla: cada vez que un paquete pasa por un router o
una pasarela, esta se encarga de decrementar el campo TTL en
una unidad; en el caso de que se alcance un valor 0, se
devuelve un paquete TIME/SMALL>_EXCEEDED y se descarta
la trama. Así, traceroute inicializa a 1 este campo, lo que
ocasiona que el primer router encontrado ya devuelva el
mensaje de error; al recibirlo, lo inicializa a 2, y ahora es el
segundo router el que descarta el paquete y envía otro
mensaje de error, y así sucesivamente.