lunes, 5 de mayo de 2008

¿Quieres ser un hacker? (Parte 3)

NightRaider [lexy.galban@fcf.camaguey.cu]

Conceptos básicos de redes

Dispositivos

Antes de empezar a explicar protocolos y puertos, hay que familiarizarse con los iconos de los dispositivos más comunes que se ven en los esquemas básicos. Éstos son:

Topologías

Con estos dispositivos se pueden crear las denominadas redes de área local o LAN (Local Area Network). Con una LAN se puede tener una comunicación eficaz de dispositivos tales como ordenadores e impresoras para compartir recursos, se puede dar acceso a Internet con total control del administrador, etc. A la hora de diseñar una LAN, se puede optar por alguna de las siguientes topologías físicas:

En la primera, topología de Bus, se tienen todos los ordenadores conectados a un único medio de transmisión que a su vez está conectado a unas terminaciones a ambos lados. Todos los ordenadores se ven entre sí. En la configuración en Anillo se conecta un ordenador al siguiente, y el último al primero, de esta manera sólo se ve un ordenador con el contiguo. En la topología en Estrella se conectan todos los terminales a un único punto central y es éste el que se encarga de retransmitir la información. Si se conectan varios puntos centrales entre sí, se obtiene una topología de Estrella Extendida. Por lo contrario, si se van concatenando dispositivos a diferentes niveles se obtiene una topología Jerárquica

Modelo TCP/IP:
Introducción

El modelo TCP/IP fue desarrollado por el DoD (Department of Defense) de los EUA y DARPA (Defense Advanced Research Project Agency) en la década de los 70. El modelo TCP/IP fue pensado como un estándar abierto para poder conectar dos máquinas cualesquiera, todo el mundo puede utilizarlo y es en el que se basa Internet.

Capas TCP/IP

El modelo TCP/IP define cuatro capas totalmente independientes en las que divide el proceso de comunicación entre dos dispositivos. Las capas por las que pasa la información entre dos estaciones o máquinas son las siguientes:.

Aplicación

Es la capa más cercana al usuario final y la que le proporciona servicios de red. Como es la capa superior, no da servicios a ninguna capa. Es la responsable de traducir los datos de la aplicación, programa, para que puedan ser enviados por la red. Sus funciones se resumen en:
- Representación
- Codificación
- Control de diálogo
- Gestión de las aplicaciones de usuario

Transporte

La capa de transporte establece, mantiene y termina circuitos virtuales, proporciona mecanismos de control de flujo y permite las retransmisiones y proporciona mecanismos de detección y corrección de errores. La información que le llega de la capa de aplicación la divide formando diferentes segmentos. El direccionamiento se realiza a través de puertos. Sus funcionalidades básicas son:
- Fiabilidad
- Control de flujo
- Corrección de errores
- Retransmisión

IP

Divide los segmentos de la capa de transporte en paquetes y los envía por la red. No proporciona fiabilidad en las conexiones, de esto ya se ocupa la capa de transporte. Realiza un direccionamiento lógico de red mediante las direcciones IP. Es la capa responsable de proporcionar conectividad entre usuarios. Selecciona la mejor ruta a elegir entre origen y destino.

Acceso a Red

Se encarga de controlar el acceso al nivel físico utilizado y enviar la información por el mismo. Transforma a información básica (bits) toda la información que le llega de las capas superiores y la prepara para que se pueda enviar por el medio. El direccionamiento físico de la red lo hace mediante direcciones MAC.

Protocolos

Para poder enviar información entre dos máquinas, es necesario que ambas estaciones hablen el mismo lenguaje para que se entiendan entre ellas. A este lenguaje se le llamará protocolo.
Los protocolos más representativos que figuran en la capa de Aplicación de la torre TCP/IP
son:
- File Transfer Protocol (FTP)
- Hypertext Transfer Protocol (HTTP)
- Simple Mail Transfer Protocol (SMTP)
- Domain Name System (DNS)
- Trivial File Transfer Protocol (TFTP)

Los protocolos de la capa de Transporte son:
- Transport Control Protocol (TCP)
- User Datagram Protocol (UDP)

El protocolo más conocido de la capa de Internet es:
- Internet Protocol (IP)

El protocolo utilizado en la mayoría de redes locales en la capa de Acceso es:
- Ethernet

A continuación se describirán los protocolos anteriormente comentados y su puerto asociado de la capa de Transporte. Más adelante se detallarán todos los puertos y su significado.

Protocolos de la capa de Aplicación

El protocolo FTP es útil para la transmisión de archivos entre dos máquinas. Utiliza TCP para crear una conexión virtual para la información de control, y luego crea otra conexión para el envío de datos. Los puertos utilizados son el puerto 20 y 21. El protocolo HTTP es para visualizar la mayoría de páginas web de Internet. Sus mensajes se distribuyen como los de correo electrónico. El puerto que se utiliza es el 80. El protocolo SMTP es un servicio de correo que se basa en el modelo de FTP. Transfiere mensajes de correo entre dos sistemas y provee de notificaciones de correo entrante. El puerto que se utiliza es el 25.

El protocolo DNS es el que se encarga de reconocer el nombre de la máquina remota con la que se quiere establecer la conexión y traduce el nombre a su dirección IP. El puerto que se utiliza es el 53. El protocolo TFTP tiene las mismas funciones que el protocolo FTP pero funciona sobre UDP, con lo que hay mayor rapidez pero menor seguridad y confiabilidad. El puerto que se utiliza es el 69.

Protocolos de la capa de Transporte

Dentro de la capa de transporte existen dos protocolos que se utilizan para el envío de segmentos de información:
- TCP: El protocolo TCP establece una conexión lógica entre puntos finales de la red. Sincroniza y regula el tráfico con lo que se conoce como “Three Way Handshake”. Controla el flujo para que no se pierdan los paquetes y evitar así una congestión en la red. Es un protocolo orientado a conexión.
- UDP: El protocolo UDP es un protocolo de transporte no orientado a conexión que intercambia datagramas sin la utilización de ACK ni SYN que se utiliza como acuse de recibo en el caso de TCP. El procesamiento de errores y retransmisiones es soportado por los protocolos de capas superiores.

Protocolos de la capa de Internet

El protocolo IP sirve como protocolo universal para unir dos ordenadores en cualquier momento, lugar y tiempo. No es un protocolo orientado a conexión y no es confiable. Ofrece servicios de Best Effort: hará cuanto sea posible para que funcione correctamente. El protocolo IP determina el formato de la cabecera del paquete IP donde se incluye la dirección lógica y otras informaciones de control.

Direcciones IP

Las direcciones IP son los identificadores que se utilizan para diferenciar a cualquier dispositivo que se encuentre en la red. Cada dispositivo debe tener una dirección IP diferente para que no haya problemas de identidad dentro de la red.

La dirección IP consta de 32 bits que se dividen en 4 octetos (8 bits) separándolos por puntos. Lógicamente se compone de una parte que identifica la dirección de red (network) a la que pertenece y una segunda parte que es su propio identificador dentro de esa red, dirección de máquina (host).

Hay direcciones IP públicas y privadas. Las primeras deben ser únicas en todo Internet porque sino no sería posible el encaminamiento y por tanto la comunicación. En cambio, las direcciones privadas corresponden a redes de uso privado y que no tienen conexión alguna con otras redes, no tienen conexión a Internet. En las redes privadas hay que tener en cuenta que no se puede duplicar ninguna dirección IP en toda la red privada. Las direcciones IP privadas existentes y que están definidas por el organismo internacional IANA son las que se engloban en los márgenes siguientes:

10.0.0.0 a 10.255.255.255
172.16.0.0 a 172.31.255.255
192.168.0.0. a 192.168.255.255

Las direcciones IP se dividen en clases que dependen del tamaño asignado para la parte de red y el tamaño que corresponde a la parte de la maquina.

Según el tamaño asignado a cada parte se podrán o crear más redes o albergar más dispositivos en cada red creada. Las clases existentes son:
- Clase A: El primer bit es siempre cero, con lo que comprende las direcciones entre 0.0.0.0 a 126.255.255.255. Las direcciones de 127.x.x.x están reservadas para el servicio de loopback o localhost.
- Clase B: Los dos primeros bits del primer octeto son ‘10’. Las direcciones que pertenecen a esta clase están comprendidas entre 128.0.0.0 y 191.255.255.255.

Clase C: Los tres primeros bits del primer octeto son ‘110’. Las direcciones están comprendidas entre 192.0.0.0 y 223.255.255.255.
- Clase D: Los cuatro primeros bits del primer octeto son ‘1110’. Las direcciones están comprendidas entre 224.0.0.0 y 239.255.255.255. Se utilizan para grupos multicast. Las restantes direcciones son para experimentación. A este último grupo se les puede encontrar como Clase E.

Actualmente, para la diferenciación entre la parte de red y la parte de máquina no se utilizan las clases, sino que lo que se utiliza es la máscara. La máscara identifica con un ‘1’ binario la parte que es de red y con un ‘0’ binario la parte que es de máquina. Por lo tanto, para identificar una máquina, además de la dirección IP es necesario especificar una máscara de red: IP: 172.16.1.20 Máscara: 255.255.255.0

Se ha visto que las direcciones IP 127.X.X.X estaban reservadas y que no se pueden utilizar para identificar a ningún dispositivo. Del mismo modo existen otras direcciones de máquina que no se pueden utilizar, éstas son la dirección de red y la dirección de braodcast. La dirección de red es aquella en que la parte que identifica al dispositivo dentro de la red es toda ceros. Esta dirección no se puede utilizar ya que identifica a una red y, por lo tanto, nunca debe identificar a un dispositivo en concreto. IP: 172.16.1.0 Máscara: 255.255.255.0

La dirección de bradcast es aquella que los bits que identifican al dispositivo dentro de la red son todo unos. Esta dirección tampoco se puede usar ya que es la que se utiliza cuando se quiere enviar alguna información a todas las máquinas que pertenecen a una red en concreto. IP: 172.16.1.255 Máscara: 255.255.255.0

Puertos

Tanto TCP como UDP utilizan puertos para pasarse información con las capas superiores. Con la definición de un puerto, es posible acceder a un mismo destino, un host, y aplicar sobre él distintos servicios. Con la utilización de los puertos los servidores son capaces de saber qué tipo de petición a nivel de aplicación le están solicitando, si es http o ftp, y pueden mantener más de una comunicación simultánea con diferentes clientes.

Si se quiere acceder a la web de www.osstmm.org cuya IP es 62.80.122.203, como el servidor de WEB está en el puerto 80, lo que se está estableciendo es una conexión al denominado socket 62.80.122.203:80 Para entenderlo mejor, se puede hacer la analogía siguiente: pensemos que la dirección IP es como el puerto de Barcelona, donde llegan muchos barcos, y los puertos de las direcciones IP son cada uno de los muelles en los que van a parar cada barco. Para poder mantener una coherencia en los números de los puertos la IANA, organismo internacional regulador, establece que los puertos inferiores a 1024 se utilizan para los servicios comunes y el resto de números de puertos es para asignaciones dinámicas de programas o servicios particulares.

Encapsulación

Para enviar, por ejemplo, un mail desde un ordenador a otro la información irá pasando una serie de transformaciones, es decir, la capa superior generará una serie de datos que será recogida por la capa inmediatamente inferior. La capa inferior cogerá la información que le han pasado y le añadirá una cabecera para poder agregar información suficiente para que la capa del mismo nivel del destino pueda entender qué debe hacer con aquella información. A este procedimiento recursivo se le conoce con el nombre de encapsulación. Cada capa hace una encapsulación de la anterior, hasta llegar a la última capa, la de enlace, que hace posible la transmisión de los datos por el medio físico de la LAN: cable, radio, etc. En el siguiente esquema se explica la encapsulación de una forma más gráfica:

Cuando la información encapsulada llega al destino, éste sólo tiene que desencapsular la
información realizando el procedimiento contrario.


Artículos relacionados


No hay comentarios: