Está en la página 1de 16

Capa 4: protocol TCP/UDP

Lección 6 – TCP/UDP
Mg. Ing. Marcelo Araoz

Los protocolos en capa 4


Hemos visto que los paquetes de IP llegan a nuestro destino, pero el mismo protocolo está definido
como best effort, eso quiere decir que no sabemos si los paquetes llegaran a destino o si lo hacen
en forma ordenada. Por otra parte, no se realiza ningún control de la conexión y tampoco de flujo o
errores.

Esto justifica las acciones que están a cargo de TCP en la capa 4:

- Establecer una conexión lógica extremo a extremo


- Realizar un control del enlace, de servicio, de flujo y errores
- Entregar a la capa Aplicación un servicio de calidad, asegurando el transporte de los
mensajes

En contrapartida, en la capa 4 tenemos también a UDP, que no cumple con estas premisas. Vamos
a ver en detalle cada uno.

Comunicaciones digitales Página 1


Capa 4: protocol TCP/UDP

TCP
El siguiente gráfico muestra el formato del protocolo TCP:

Veamos los campos uno a uno, luego el funcionamiento:

Puerto de origen y destino: son dos Bytes que identifican la aplicación que estamos usando. Es una
nueva dirección que debemos aprender, junto con MAC e IP, y que en conjunto determinan el
direccionamiento del sistema de comunicaciones. En un apartado vamos a tratar cómo se establece
este número de port.

Número de secuencia: los mensajes de la capa aplicación se van a segmentar en muchos datagramas.
Este campo es el que le asigna un número a cada datagrama para poder rearmar el mensaje en el
otro extremo.

Número de secuencia: es el ACK de los datagramas que llegan del otro extremo.

Desplazamiento de datos: 4 bits nos indican la cantidad de filas del encabezado, lo que posibilita el
envío de opciones.

Reservado: 6 bits

Banderas:

URG: Indica la existencia del puntero urgente en los datos

ACK: Indica la existencia del campo de reconocimiento

PSH: envío de reclamos de información

RST: se debe realizar un Reset de conexión debido a un error grave

Comunicaciones digitales Página 2


Capa 4: protocol TCP/UDP

SYN: para iniciar el seteo de conexión entre nodos

FIN: Usado para iniciar la desconexión del enlace TCP

Ventana: indica el tamaño de la ventana utilizada en el esquema de ventana deslizante

Suma de comprobación: control de errores del datagrama, encabezado y carga útil

Puntero urgente: Puntero que indica la cantidad de datos urgentes (identifica el final de los datos
urgentes en el campo de datos que deben tratarse con prioridad)

Los puertos de capa 4


La dirección en capa 4 se denomina puerto o socket. Es un número de 16 bits que identifica el puerto
de origen y destino entre una PC y un Server. En el modelo cliente servidor, el cliente solicita servicio
de un servidor de aplicaciones. Ese servicio se define por el número de puerto. Por ejemplo,
SMTP:25; FTP:21; Telnet:23; y Web:80, entre muchos otros.

Los números de puerto son asignados por el IANA y se clasifican de tres maneras:

Puertos bien conocidos (Well Know Port): Los puertos conocidos son los del 0 al 1023. Están
definidos por el IANA para determinados servicios públicos.

Puertos registrados (Registered Port): Los puertos registrados son los del 1024 al 49151. Son
utilizados por los servers para asignar direcciones libres para el host.

Puertos dinámicos o privados: Los puertos dinámicos y / o privados son los del 49152 al 65535. Se
utilizan para conexiones que no requieran un valor establecido por el server.

Cuando una PC desea obtener servicios de un server, el port de origen es un número aleatorio
mientras que el de destino es el de la aplicación que se busca conectar. Por ejemplo, una PC desea
descargar una página web, y apunta a la dirección IP del server, pero en el esquema de puertos, el
port de origen será 80 (en principio copia el del servicio) y el puerto de destino será el servicio web,
es decir 80. El server al responder le asigna un puerto de los registrados para que identifique quién
es el que ha solicitado la descarga de la web. En el ejemplo, el server le asigna el número 5000. A
partir de allí el PC siempre se va a comunicar por el puerto 5000 hacia el puerto 80 del server.

Comunicaciones digitales Página 3


Capa 4: protocol TCP/UDP

Port O Port D
80 80
IP O IP D
PC Server

Port O Port D
80 5000
IP O IP D
Server PC

Port O Port D
5000 80
IP O IP D
PC Server

¿por qué el server le asigna el puerto 5000 a la PC? Los servidores deben atender muchos usuarios.
Su capacidad de atención depende del procesador, la memoria y la velocidad de acceso al disco.
Entonces a cada cliente le va a asignar un número de los registrados diferente; de esta manera sabrá
identificar con cada uno quién las diferentes comunicaciones.

Los puertos bien conocidos


El siguiente listado presenta algunos de los principales puertos bien conocidos:

Keyword Decimal Description


------- ------- -----------
ftp 21/tcp File Transfer [Control]
ssh 22/tcp SSH Remote Login Protocol
telnet 23/tcp Telnet
smtp 25/tcp Simple Mail Transfer
name 42/tcp Host Name Server
nameserver 42/tcp Host Name Server
tacacs 49/tcp Login Host Protocol (TACACS)
domain 53/tcp Domain Name Server
bootps 67/tcp Bootstrap Protocol Server
bootpc 68/tcp Bootstrap Protocol Client
tftp 69/tcp Trivial File Transfer
http 80/tcp World Wide Web HTTP
rtelnet 107/tcp Remote Telnet Service
pop3 110/tcp Post Office Protocol - Version 3
auth 113/tcp Authentication Service
sqlserv 118/tcp SQL Services
netbios-ns 137/tcp NETBIOS Name Service
netbios-dgm 138/tcp NETBIOS Datagram Service
netbios-ssn 139/tcp NETBIOS Session Service
imap 143/tcp Internet Message Access Protocol

Comunicaciones digitales Página 4


Capa 4: protocol TCP/UDP

snmp 161/tcp SNMP


snmptrap 162/tcp SNMPTRAP
bgp 179/tcp Border Gateway Protocol
ptp-event 319/tcp PTP Event
ptp-general 320/tcp PTP General
rsvp_tunnel 363/tcp RSVP Tunnel
https 443/tcp http protocol over TLS/SSL

¿Cómo funciona TCP?


TCP cumple una serie de pasos para lograr dar un servicio seguro de transferencia. En primer lugar,
necesita establecer la conexión:

Envía un datagrama con el bit SYN en uno indicando la necesidad de conectarse. En este encabezado
coloca un número de secuencia de arranque, el tamaño de ventana sugerido para el esquema de
créditos de ventana deslizante, el port de origen sugerido y el de destino del servicio. Del otro
extremo devuelve el datagrama con otro mensaje similar, pero el tamaño de ventana se ajusta a las
dimensiones de atención que pone el server. Y el puerto de destino se corrige al valor que le asigne
el server.

Una vez que está el acuerdo de la secuencia y tamaño de ventana, comienza el envío de mensajes
siguiendo un esquema de créditos de ventana deslizante. En el esquema siguiente, sobre el inicio
ambos extremos se ponen de acuerdo para transmitir hasta 1400 bytes en envíos de a 200. Entonces
la ventana es de 1400. Comienza el envío con el número de secuencia 1001 hasta 1200, luego 1201
a 1400, 1401 a 1600. A medida que se van enviado los datagramas, los mensajes enviados dentro
de la ventana se van reduciendo, pero la ventana no se mueve hasta recibir confirmación ACK del
otro extremo.

Comunicaciones digitales Página 5


Capa 4: protocol TCP/UDP

Cuando el extremo B envía la respuesta de ACK, le indica como es costumbre el número de SN que
espera recibir. Pero en este caso también le solicita modificar el tamaño de la ventana. Ambos
extremos corrigen la ubicación de la ventana y continúa la transmisión.

¿por qué el extremo B cambió el tamaño de la ventana? TCP tiene una enorme ventaja respecto a
otros protocolos, pues puede negociar el tamaño de la ventana según sean las condiciones de
memora y procesamiento que disponen los extremos. Si las condiciones varían, para mejor o peor,
puede ampliar o reducir el tamaño de la venta y así acomodarse a las condiciones de flujo que sean.

Si existen errores puede genera un rechazo selectivo del datagrama en cuestión. Y la transmisión
continúa. De igual manera detecta los mensajes duplicados.

Para finalizar, lo hace de la misma manera que estableció al principio un mensaje de SYN, en este
caso lo hace con sendos mensajes de FIN entre ambos extremos.

Un problema de performance con TCP


Vamos a ver un ejemplo práctico que muestra una deficiencia en la performance del sistema de
comunicaciones cuando se utiliza TCP (ojo, no ocurre esto con UDP).

TCP-Window-Size-in-bits / Latency-in-seconds = Bits-per-second-throughput

Así que veamos un ejemplo sencillo. Tengo un enlace Ethernet de 1 Gig de Chicago a Nueva York
con una latencia de ida y vuelta de 30 milisegundos. Si intento transferir un archivo grande de un

Comunicaciones digitales Página 6


Capa 4: protocol TCP/UDP

servidor en Chicago a un servidor en Nueva York usando FTP, ¿cuál es el mejor rendimiento que
puedo esperar?

Primero, convierta el tamaño de la ventana TCP de bytes a bits. En este caso, estamos usando el
tamaño de ventana TCP estándar de 64 KB de una máquina Windows.

64 KB = 65536 bytes. 65536 * 8 = 524288 bits

A continuación, tomemos la ventana TCP en bits y dividámosla por la latencia de ida y vuelta de
nuestro enlace en segundos. Entonces, si nuestra latencia es de 30 milisegundos, usaremos 0.030
en nuestro cálculo.

524288 bits / 0,030 segundos = 17476266 bits por segundo rendimiento = 17,4 Mbps máximo
rendimiento posible.

Si hacemos el cálculo suponiendo la ventana default: 64KB y con un delay de 250 ms:

El cálculo de throughput da:

524288/0.250 (rtt 250) = 2097152 aprox 2.0Mbps

Hay que tener en cuenta que son valores aproximados, pero están más relacionados con el delay
que con el BW.

Es decir, cuando se trata de delays tan altos, el BW se va reflejar cuando se hagan muchas
conexiones simultáneas (con distintas máquinas) y no con una sola conexión.

Y otra aclaración válida es que el aumento del tamaño de la ventana a infinito, no aumenta la tasa
de transferencia a infinito.

Por eso cuando realizamos una medición de velocidad de nuestro vínculo de internet hogareño,
debemos hacerlo usando UDP. Es probable que, si realizamos una descarga de archivos o usemos
una página web que se encuentra muy lejana, con alto delay, la performance sea muy baja. Por
eso debemos atender al delay de los contenidos que solemos utilizar.

Comunicaciones digitales Página 7


Capa 4: protocol TCP/UDP

UDP
UDP es un protocolo sencillo de trasmisión de información, que no cuenta con ningún tipo de
control de flujo o pedido de retransmisiones por errores, lo que no asegura una entrega de
servicio con calidad. Se encuentra especificado en la RFC 768, y se la utiliza habitualmente en
protocolos donde no resistan la solicitud de retransmisión de mensajes (tiempo real) o aquellos
que la pérdida de datos no altere la necesidad del servicio (recolección de datos de gestión).

En el siguiente esquema se muestra los campos que utiliza UDP.

Los puertos de origen y destino se correspo0nden con los de TCP. La longitud indica el largo del
mensaje y la suma de comprobación determina si hubo errores en el mensaje (encabezado +
información útil).

Listas de acceso
En los routers de una red se pueden realizar un control del tráfico mediante las denominadas listas
de acceso. Se trata de configurar filtros para que determinado tipo de paquetes puedan conmutarse
en la intranet o desde la Internet. Vamos a considerarlas porque son los principios básicos de un
firewall.

Comunicaciones digitales Página 8


Capa 4: protocol TCP/UDP

Una lista de acceso es una serie de sentencias que determinan si el tráfico está permitido (permit)
o negado (deny) a ser enrutado.

Para realizar los filtrados, el router puede analizar los campos de la capa 3 y 4 y tomar decisiones en
base a:

- La dirección IP de origen o destino


- El protocolo de capa superior 4
- El protocolo de Aplicación (port de origen o destino)

Las listas de acceso se dividen en estándar y extendida. Las primeras solo van a analizar la dirección
IP de origen y las segundas pueden analizar todos los campos indicados más arriba.

¿Cómo se usan las listas de acceso?


Las listas de acceso se crean en el router definiendo los ítems a analizar para permitir o negar en
una tabla secuencial. Una vez configurada la lista, luego se puede aplicar a una interfaz física en el
sentido de ingreso o de egreso a la interfaz.

Para crear la lista, lo primero que se configura son los ítems generales para luego pasar a los más
particulares. El router toma cada paquete y lo compara con cada sentencia. En el siguiente diagrama
se observa la lista como un diagrama de flujo, donde cada sentencia representa un cuadro de
decisión. Si la sentencia se cumple, luego se analiza si se trata de un permiso o una negación. Y en
caso de permit, se enruta el paquete. Si la sentencia no coincide con el paquete, pasa a la siguiente
sentencia. Y así continúa hasta la última sentencia donde por definición, si el paquete no coincide
se niega el servicio (implicit deny).

Comunicaciones digitales Página 9


Capa 4: protocol TCP/UDP

Un ejemplo de lista de acceso estándar


Las ACL estándar se numeran de 1 a 99. En el ejemplo que sigue se busca que solo las PC 172.16.30.2,
30.3, 30.4 y 30.5 puedan salir de la red de ventas.

172.16.20.0/24 172.16.40.0/24
s0 s0 s1 s0
RouterA .1 .2 RouterB .1 .2 RouterC
.1 e0 .1 e0 .1 e0

Administration Sales Engineering

172.16.10.3/24 172.16.30.3/24 172.16.50.3/24

172.16.10.2/24 172.16.30.2/24 172.16.50.2/24

Primero se debe configurar la lista de acceso, en este caso se trata de la lista número 10. En cada
sentencia se indica la dirección IP que debe ser permitida de enrutar. En la última sentencia se indica
que se niega el tránsito de toda otra dirección IP de esa red. Para eso se indica como dirección IP
0.0.0.0 y máscara 255.255.255.255. En algunos equipos esto se indica como any any.

Comunicaciones digitales Página 10


Capa 4: protocol TCP/UDP

Luego, en el comando de configuración de la interfaz e0 se aplica la lista en modo in. Eso quiere
decir que cada paquete que tenga como dirección de origen alguna de estas cuatro PC, al ingresar
al router por la e0 van a ser permitidos. Cualquier otro paquete que tenga una IP de origen diferente
va a ser rechazado.

La wildcard mask (máscara comodín)


La máscara wildcard o máscara inversa cumple la función exactamente inversa a la máscara de
subred que vimos antes. En lugar de resolver un listado de redes posibles, la wildcard nos va a filtrar
un grupo de host. De esa forma, se marcaría qué grupo de host debe coincidir con la sentencia de
la lista de acceso.

En este caso la cantidad de bits 1 indican el grupo de host que debemos considerar en la lista. En el
siguiente ejemplo, 8 bits uno al final de la máscara wildcard nos indica que todos los host de la red
172.16.30.X cumplen con la condición de test.

Por ejemplo, en la siguiente lista, todos esos hosts cumplen la condición y tiene permitido enrutar.

Comunicaciones digitales Página 11


Capa 4: protocol TCP/UDP

Un ejemplo con wildcard mask


En el siguiente ejemplo, se busca que todas las computadoras de la red de ventas y una
computadora de la red de ingeniería puedan ingresar a la red de administración. Para eso se utiliza
una lista número 11 con los hosts de la red ventas indicado mediante una máscara de 8 bits unos,
más una sentencia indicando la dirección IP permitida de la red de ingeniería con wildcard todos 0
(especifica esa IP solamente). Finalmente, la última sentencia niega todas las direcciones IP que no
hayan coincidido antes (any any).

Finalmente, la lista es aplicada a una puerta en modo salida (out).

Lista de acceso extendidas


Estas listas se numeran de 100 a 199 y permiten elegir más operadores que solo la dirección IP de
origen. En los routers Cisco se configura así:

Comunicaciones digitales Página 12


Capa 4: protocol TCP/UDP

El comando access-list + el número de la lista , luego el comando que permite o niega, más el
protocolo de capa 4 (TCP/UDP/ICMP) más la dirección IP de origen y su máscara, más la IP de destino
y su máscara, más el operador (menor que, mayor que, igual, no igual) más el número de port.

Veamos un ejemplo:

RouterA(config)#access-list 110 permit tcp host 172.16.50.2 host 172.16.10.2 eq 80

En este caso, permite el protocolo TCP, del host origen 172.16.50.2 al host 172.16.10.2 con la
aplicación http (80).

Los firewalls
Los firewalls son equipos que filtran mensajes según las reglas de seguridad que el administrador le
aplique. En forma complementaria a las listas de acceso, los firewalls son equipos más potentes.

El objetivo es defender a las redes de posibles ataques de hackers. Habitualmente se instalan en el


ingreso de Internet, y se considera del firewall un elemento perimetral, es decir que cuida el ingreso
o egreso de paquetes maliciosos de la red, pero no evita que los equipos puedan ser infectados de
otra manera (con un pendrive infectado, un celular o laptop que se infecta en otro sitio y llega a la
red infectado).

Comunicaciones digitales Página 13


Capa 4: protocol TCP/UDP

El firewall se identifica como un diodo y una pared, que deja o no pasar mensajes. Habitualmente
cuentan con una o más puertas de WAN que se conectan a los servicios de un ISP, algunas puertas
de LAN donde se encuentra la red privada y una o más puertas de DMZ (zona desmilitarizada).

Por ejemplo, ell equipo de la figura tiene 2 puertos de WAN -5- (óptico u eléctrico), dos puertos DMZ
-4-, doce puertos de LAN. 1 es el puerto de consola y 2 un puerto USB para descargar
configuraciones.

La zona desmilitarizada es usada para publicar servicios en la web: server de correo, web,
transferencia de archivos, centrales telefónicas IP. Esos servidores están protegidos por el hecho
que solo permiten el ingreso de paquetes de la aplicación de destino que corresponde. Si el server,
por alguna razón es hackeado, no se verá afectada la LAN.

Funciones de los firewalls


Entre la zona WAN y la zona LAN se realiza nateo o routeo.

El firewall realiza las mismas funciones que las listas de acceso, solo que su configuración es más
simple y amena. Además, el filtrado puede incluir muchos más detalles en el análisis de paquetes.
Eso requiere que el firewall tenga un procesamiento mucho mayor al de un router porque la
inspección de los paquetes es mucho más estricta.

Comunicaciones digitales Página 14


Capa 4: protocol TCP/UDP

En el gráfico vemos las posibilidades que tiene un firewall comercial de la empresa Fortinet:

En primer lugar, se utiliza como firewall de igual manera que vimos las listas de acceso en los routers.
También permiten realizar VPN conectándose a elementos remotos de la red Internet mediante un
enlace seguro y encriptado que se denomina túnel (lo veremos en la capa WAN).

Permite realizar un control sobre las aplicaciones, limitando aquellas que no se desea permitir, por
ejemplo, los accesos remotos.

Realiza una detección de intrusión. Es habitual que los hackers realicen una investigación y espionaje
de sus víctimas con antelación, para conocer sus capacidades operativas y financieras. Para eso
introducen en la red espías que envían información a servers remotos. Este equipo lo detecta y no
permite el tránsito de esos mensajes.

El antivirus analiza todo el contenido del mensaje, incluyendo la carga útil. Es necesario que el
antivirus del firewall esté debidamente actualizado porque a lista de virus en la web crece
exponencialmente.

El filtrado de URL no permite el tráfico a determinadas páginas web, identificadas en grupos (redes
sociales, drogas, sexo, pornografía, etc) o específicas (www.xxx.com).

El sandboxing es una caja de arena, donde los paquetes sospechosos son introducidos y abiertos
para verificar si tienen virus o actividades maliciosas. La idea es que exploten dentro de la caja de
arena, eliminando el efecto nocivo. Si el paquete no tiene nada, se conmuta hacia la red.

Comunicaciones digitales Página 15


Capa 4: protocol TCP/UDP

La inspección de SSL se realiza a los paquetes que están encriptados con seguridad SSL, con el fin de
evitar que se encuentren contaminados.

Debe quedar claro que el firewall es solo un elemento de seguridad en toda la gama de acciones y
productos que se deben contemplar en una red. Un administrador debe asesorarse correctamente
sobre todas las posibles formas de ser atacado y dañado, dado que los problemas de hackeos
muchas veces son muy onerosos y pueden llevar compañías a la quiebra, sobre todo si la imagen de
la empresa se ve afectada por el ataque o si los clientes de ellas se sientes vulnerados.

Comunicaciones digitales Página 16

También podría gustarte