PROTOCOLO TCP/IP

Protocolo	Nivel OSI	Temas	Métodos
IP (Internet Protocol)es enrutable responsable del direccionamiento IP y de la fragmentación y unión de los paquetes.	Red	Direccionamiento	Red Lógica
Conmutación	Paquete
Selección de Ruta	Dinámico
Servicios de Conexión	Control de Errores (Sólo de la cabecera IP no de los datos)
ICMP (Internet Control Message Protocol)	Red	Servicios de Conexión	Control de Errores Control de flujo de nivel de red
RIP Protocolo de Informacion del router	Red	Descubrimiento de ruta	Vector de Distancia
OSPF Abrir ruta más corta primero	Red	Descubrimiento de ruta	Estado de Enlace
TCP (Transmisión Control Protocol)	Red	Direccionamiento	Servicio
Transporte	Direccionamiento	Identificador de Conexión
Desarrollo de segmento	División y combinación
Servicios de conexión	Secuencia de Segmento Control de Errores Control de flujo de extremo a extremo
UDP (Protocolo de Datagrama de usuario)	Transporte	Direccionamiento	Identificador de Conexión
Desarrollo de segmento	Combinación
Servicios de conexión	Sin Conexión
ARP Protocolo de Resolución de Direcciones	Red	Resolución de direcciones
DNS Sistema de Nombres de Dominio	Transporte	Resolución de nombres/dirección
FTP Protocolo de transferencia de Ficheros	Sesión Presentación Aplicación
SMTP Protocolo Simple de Transferencia de Correo	Aplicación	Servicios de Red	Servicio de Mensajes
TELNET Emulación de Terminal Remoto	Sesión Presentación Aplicación
RPC Llamada de procedimiento remoto	Sesión	Administración de Sesión
XDR Representación de datos externos	Presentación	Traducción
NFS Sistema de Archivos de Red	Aplicación	Aplicación

En la suite TCP/IP existen varios tipos de protocolos, vamos a ver algunos de ellos y sus particularidades

TCP

El protocolo TCP tiene las siguientes características:

Negociación de conexión

Acuse de recibo de cada paquete

Control de no duplicidad de paquetes

Inmune a la llegada desordenada de paquetes

Inmune a la perdida de paquetes (se solicitan otra vez)

SYN:

El bit se syn indica un intento de iniciar una comunicación

RST:

Se devuelve un paquete rst cuando se intenta conectar a un puerto sin servicio. (esto normalmente indica un escaneo de puertos)

UDP

UDP es un protocolo simple para transferir datos sin toda la sobrecarga del TCP y sin ninguna de sus virtudes. En las conexiones UDP no hay negociación, ni acuse de recibo, ni control de perdida o desorden o duplicación de paquetes, todo esto debe ser gestionado por el servicio que emplea la conexión.

ICMP

El protocolo ICMP es un protocolo de control, los paquetes ICMP no tienen puerto de origen o de destino, en vez de ello tienen un tipo y un subtipo ó código.

Tabla 9-2. Tipos de datagramas de ICMP
Número de tipo	Código	Nombre	Descripción del tipo
0	echo-reply	Respuesta a eco
3	destination-unreachable	Destino inalcanzable
0	Net unreachable
1	Host unreachable
3	Port unreachable
4	Fragmentation needed
4	Source-quench	Congestión en el tráfico
5	Redirect	Redirección
8	echo-request	Solicitud de eco
11	time-exceeded	Tiempo superado
0	TTL Exceeded
1	Fragment reassembly timeout
12	parameter-problem	Problema de parámetros
13	timestamp-request	Solicitud de marca de tiempo
14	timestamp-reply	Respuesta de marca de tiempo
15	None	Solicitud de información
16	None	Respuesta de información
17	Address-mask-request	Petición de máscara de dirección
18	Address-mask-reply	Respuesta de máscara de dirección

Paquetes ICMP para verificar las comunicaciones

Fragmentation Needed Ü( 3/4):

Se utiliza para descubrir la unidad máxima de transferencia (MTU). En conexiones WAN debería de permitirse.

Ping =>(8/- ) <=(0/-)

Si queremos permitir el ping tenemos que permitir los siguiente:

echo-request 8 (salida del ping)

echo-reply 0 (respuesta del ping)

Traceroute <=(3/3) <=(11/0)

Para permitir el traceroute:

port unreachable: Tipo 3 / Código 3

TTL excedeed : 11 / 0

Paquetes UDP en el rango 33434:33600

Paquetes ICMP sospechosos o peligrosos:

Redirect <=(5/-)

Alguien intenta redirigir nuestro router.

Source-Quench <=(4/-)

Puede ser un intento de ataque DoS, ya que estos paquetes enlentecen la comunicación.

Parameter Problems => (12/-)

Indica que se nos está aplicando algún tipo de detección de sistema operativo o algún tipo de hackeo.

Port unreachable => (3/3)

Las salidas de paquetes ICMP 3/3 delatan la existencia de un escaneo de puerto de nuestra red.

Fragmentos

Los fragmentos pueden ser de cualquier protocolo (TCP, UDP, ICMP, etc). Como los fragmentos posteriores al primero no llevan la cabecera del protocolo (TCP, UDP, ICMP, etc) solo contienen información de IP (IP origen, IP destino, TOS, etc…) y no los puertos que van en la cabecera TCP/UDP. Por lo tanto en las reglas de filtrado, en las que se acostumbra a filtrar por puertos, no sabremos que hacer con los fragmentos. Por lo tanto hay que crear una regla específica para evitar ataques con paquetes fragmentados.

DIRECCIONAMIENTO

La dirección IP es un valor de 4 bytes (32 bits) que se interpreta de la siguiente forma: W.X.Y.Z <Dirección de red, dirección de ordenador > Hay cinco clases de direcciones IP:

Clase A → W →0 # # # # # # # → 00000000 – 01111111 → 0-126 (ojo es de 0 a 126 ya que la 127 está reservada)

Nº de Redes: 27=128-2=126 (Se quitan 2 ya que las direcciones 0000000 y 1111111 están reservadas). Nº de Host por red =224=16.777.216-2=16.777.214

Clase B → W.X → 1 0 # # # # # # → 10000000 – 10111111  128-191

Nº de redes:2^14=16384 (no se quita nada porque no hay dentro de este rango ninguna dirección con todo 0 ó todo 1)

Nº de Host por red = 216=65.536-2=65.534 (se le quitan 2 por la dirección todo 0 y todo 1)

Clase C → W.X.Y → 110 # # # # # → 11000000 – 11011111  192-223

Nº de redes=221=20.097.152 Nº de Host por red=28-2=254

Clase D los primeros cuatro bits a 1110 → 224.xxx.xxx.xxx-239.xxx.xxx.xxx Reservada para direcciones IP multicast

Clase E los primeros cinco bits a 11110 → 240.xxx.xxx.xxx-247.xxx.xxx.xxx Reservada

Clase	Valor de W	Identificador de Red	Identificador de Host	Nº de redes	Nº de Host por Red
A	1-126	W	x.y.z	126	16.777.214
B	128-191	w.x	y.z	16.384	65.534
C	192-223	w.x.y	z	2.097.152	254

Dentro de las clases hay direcciones con un significado especial como las siguientes:

Todo a 0 (0.0.0.0) La utiliza el sistema sólo durante el arranque antes de saber su propia dirección.

Todo a 1 (255.255.255.255) Broadcast o Multidifusión

Dirección de la red a 0 + dirección del nodo (0.0.0.62) identifica al propio host en la red a la que pertenece. En este ejemplo identifica al host 62 de esa red.

Dirección de red y resto a 0 (192.168.12.0) Identifica a la dirección de la red, con lo cual se pueden enviar paquetes a todos los nodos de la red.

La dirección Clase A 127.xxx.xxx.xxxse usa para comunicación dentro del mismo ordenador. Convencionalmente se utiliza 127.0.0.1 como la dirección de bucle cerrado los procesos que necesitan comunicarse con otros a través de TCP/IP en el mismo ordenador, usan esta dirección para evitar tener que enviar paquetes a la red.

Poniendo todos los bits a uno en toda la dirección del nodo significa un mensaje para todos los ordenadores. Por ejemplo la dirección 128.18.255.255 significa todos los ordenadores de la red clase B 128.18

Existen además unas direcciones reservadas para redes privadas:

1.xxx.xxx.xxx (1 Clase A)

172.16.xxx.xxx a 172.31.xxx.xxx

192.168.0.xxx a 193.168.255.xxx

MASCARA DE RED

La mascara de red es una dirección IP, que contienen 1 en todos los bits que corresponden con la dirección de red y 0 en las otras posiciones.. La clase de red determina su mascara. Por ejemplo si una dirección es de clase C la mascara sería 255.255.255.0. Es muy importante tener en cuenta que la mascara es un número seguido de bits.

Mascara	Dec
10000000	128
11000000	192
11100000	224
11110000	240
11111000	248
11111100	252
11111110	254
11111111	255

Por lo tanto no existirán máscaras del tipo 10010001 ya que no son un número correlativo de bits.

DIRECCION DE RED

La dirección de red es la operación AND lógica entre la máscara y cualquier dirección IP de la red. Una dirección de red será de la forma W.X.Y.Z Debido a que los bits del identificador de red hay que elegirlos seguidos, hay veces que para expresar la mascara de red se utiliza el formato <nº bits mascara>

Mascara	Binario	Nº de bits a 1
255.0.0.0	11111111.00000000.00000000.00000000	8
255.255.0.0	11111111.11111111.00000000.00000000	16
255.255.255.0	11111111.11111111.11111111.00000000	24

Por ejemplo 192.168.1.0 con máscara 255.255.252.0 será expresada de la forma 192.168.1.0/22 ya que 255.255.252.0 11111111.11111111.11111100  22 bits a 1

Además hay que tener en cuenta que las mascara determinan las redes o subredes a la que pertenecen los equipos y por tanto no es lo mismo la red 128.124.0.0/16 que la red 128.124.0.0/24 ya que la red 128.124.0.0/16 comprende las direcciones entre la 128.124.0.1 a la 128.124.255.254 y la red 128.124.0.0/24 comprende las direcciones entre 128.124.0.1 a la 128.124.0.254

Referencias

http://blog.smaldone.com.ar/2006/11/21/tutorial-sobre-tcpip/