10. Capa de Transporte (TCP y UDP)¶
10.1. ¿De qué va este tema?¶
Conocer los protocolos TCP y UDP y los conceptos principales de los protocolos de transporte. Entender el concepto de socket como interfaz de programación y comunicación de red.
10.2. Clases¶
Son unas 12 sesiones de clase.
10.2.1. La Capa de Transporte¶
Funciones:
direccionamiento
establecimiento (liberación y mantenimiento) de una conexión
control de flujo
multiplexado
Servicios:
OC (handshake + datos + fin)
NOC (datos)
Primitivas Transporte:
listen
connect
send
receive
disconnect
Protocolos (Internet) de Transporte:
UDP. no fiable (pero muy rápido).
TCP. fiable (pero más lento).
Actividad. Leer Documentación
Estudiar al Documentación
10.2.2. Sockets¶
Concepto: source ip address:source port <–> destination ip address:destination port
Pueden ser orientados a conexión (OC -> TCP) o no (NOC -> UDP)
Arquitectura C/S (pero no exclusivamente)
IPC Sockets vs Network Sockets : programación de servicios cliente/Servidor de/en red (local o no)
Conceptos de Sockets (para programación)
Puertos ( IANA Assigned Ports ):
Privilegiados (0 - 1023). System / Well Known Ports
Registrados (1024 - 49151). User / Registered Ports
Efímeros (49152 - 65355). Dynamic / Ephemeral / Private Ports
Actividad.
Haz una captura de tráfico de al menos 1.000 tramas (Repasa Herramientas de Análisis de Tráfico y Protocolos)
¿Cuántos sockets hay?
¿Cual es el puerto origen en la trama 150?
¿Cual es el puerto destino?
¿Cual es la IP origen?
¿Y la IP destino?
¿Cual es el socket en la trama 150?
¿Cual es el socket en la trama 50?
¿Cual es el puerto del servidor DNS (si hay tráfico?
¿Cual es el puerto del servidor HTTP (si hay tráfico)?
¿Cual son los puertos que usan los clientes en esas tramas?
10.2.3. El Protocolo UDP¶
Características (RFC 768):
Sencillo y Ligero
No fiable y sin conexión (pero sí usa sockets)
Datagrama UDP
Actividad. Análisis Tráfico UDP
Comprobar UDP con Wireshark (Uso de Wireshark (Avanzado))
10.2.4. El Protocolo TCP¶
Funciones (RFC 793 y varios más):
Transferencia de Datos (SYN, SYN/ACK y ACK usando segmentos)
Fiabilidad (seq + ack)
Control de flujo (ventana deslizante)
Multiplexado Aplicaciones (puertos)
Conexión (sockets= ip + puerto)
Seguridad y Precedencia
El Segmento TCP :
Actividad. Estudiar Documentación
Repasa los videos y la documentación
10.2.5. El proceso de conexión y control de flujo¶
Uso de flags de Control de la conexión:
Inicio: 3-Way HandShake: SYN, SYN/ACK y ACK
Transferencia (de datos)
Cierre: 4-Way HandShake: FIN, ACK, FIN, ACK ( Why ?)
El control de flujo (varias estrategias):
Checksum (con ACK)
usando protocolo de Ventana Deslizante (varios a la vez)
Temporizadores (varios escenarios)
Actividad. Estudiar Documentación
Repasa los videos y la documentación
10.2.6. Recapitulando¶
Protocolos de Transporte:
Control de la Conexión
10.2.7. Detalles avanzados de un segmento TCP¶
-
Longitud de Cabecera (Data Offset en palabras 32b) = 20 (mínimo) + Opciones (múltiplos de 4)
Tipo de Opción, Longitud y Datos (4B)
Ejemplos de Opciones:
EOL (End Of List)
NOP (No OPeration)
Maximum Segment Size
Window Scaling (Escalado de Ventana)
SACK (Selective ACK)
Timestamp
Tamaño de la Ventana
Números de Secuencia (absolutos y relativos). En Bytes ( Understanding TCP Sequence Number )
Actividad. Análizar Tráfico TCP
Analizar Tráfico TCP (Avanzado): Uso de Wireshark (Avanzado)
10.2.8. Analizando el estado de la red (sockets)¶
Conocer Estados TCP
Comando netstat