Вы находитесь на странице: 1из 19

Nivel Transporte: TCP y UDP

Ing. Ral Armas Caldern

Modelo OSI-RM y Arquitectura TCP/IP

El Modelo OSI-RM y la Arquitectura TCP/IP, ambos se basan en niveles El nivel 2 permite control de errores y de flujo entre mquinas conectadas directamente. El nivel 4 se encarga del control de errores y de flujo de extremo a extremo.

Nivel Transporte

El nivel 4 se encarga del control de errores y de flujo de extremo a extremo recuperndose de los problemas que se producen en un nivel de red no fiable como IP: datagramas perdidos, duplicados, desordenados. En todo caso el nivel 4 puede ser un mero transmisor de los datos recibidos por la red, y dejar que sean las propias aplicaciones quienes realicen el control de errores que necesiten.

Puertos y Aplicaciones

Nmeros de Puerto
F T P T E L N E T
23 TCP

Application Layer

S M T P

D N S

T F T P

S N M P

R I P

21 Transport Layer

25

53

69
UDP

161

520

Port Numbers

Tipos de Protocolo
Transport Layer

TCP 6

UDP 17 IP Protocol Numbers

Internet Layer

Determines destination upper-layer protocol

Asignacin de Puertos

Nivel de Transporte: UDP

No es orientado a conexin: los mensajes se pueden perder, duplicarse o llegar desordenados. No es fiable Es ms ligero que TCP (en una LAN, donde hay pocos fallos y se aplica el CRC, supone ms velocidad), pero el programador tiene que implementar sus propios mecanismos de comprobacin de errores.

Nivel de Transporte: TCP

Es fiable porque se recupera de fallos temporales (prdidas de datagramas, replicados, reordenamiento...), aunque si el problema es persistente notifica el error al nivel superior. Conexin virtual: hay una fase de establecimiento lgico de la conexin y otra de transferencia. Conexin Full Duplex: ambos sentidos simultneamente. Piggybacking

Funciones del nivel Transporte

Sender

Receiver

Synchronize

Acknowledge, Synchronize
Acknowledge

Connection Established
Data Transfer (Send Segments)

Conexin TCP
Host A Host B

Send SYN (seq=100 ctl=SYN) SYN received SYN received

Send SYN, ACK 2 (seq=300 ack=101 ctl=syn,ack)

Established (seq=101 ack=301 ctl=ack)

Establecimiento de una conexin TCP

Como los reconocimientos asumen la aceptacin de todos los datos a partir del ltimo reconocido con anterioridad, es necesario acordar un nmero de secuencia inicial para emisor y receptor. Sin el establecimiento de conexin, A podra enviar 1000bytes, que se pierden, luego otros 1000, y al recibir el ACK de 2001 (siguiente carcter que espera B) dar por recibidos los 1000 primeros. TCP ignora peticiones de conexin una vez que ha conectado.

Establecimiento de una conexin TCP

Para cerrar un sentido de la conexin, se termina de transmitir lo que falte, se espera su reconocimiento (no se cierra la transmisin en un sentido mientras quedan caracteres sin asentir) y manda un segmento con el bit FIN. El receptor enva en ACK del segmento con bit FIN, e informa a la aplicacin de que no hay ms datos disponibles (tpicamente EOF).

Asentimiento Simple TCP


Sender Send 1 Receive ACK 2 Send 2 Receive ACK 3 Send 3 Receiver Receive 1 Send ACK 2

Receive 2 Send ACK 3 Receive 3 Send ACK 4


Window

Receive ACK 4

size = 1

Ventana TCP
Sender
Window size = 3 Send 1 Window size = 3 Send 2 Window size = 3 Send 3 Window size = 3

Receiver

Packet 3 is ACK 3 Window size = 2 Dropped

Window size = 3 Send 3 Window size = 3 Send 4 ACK 5 Window size = 2

Asentimientos positivos y retransmisiones

Los datos se envan en segmentos de tamao variable (se adaptan a las longitudes de trama de los niveles inferiores). Los nmeros de secuencia se refieren a bytes. Cada segmento especifica cual es el nmero de orden del primer byte, y cuantos se envan. El receptor con esa informacin podr recomponer byte a byte el stream, reordenando los segmentos lleguen como lleguen. EN_UN_LU GAR_D ( se pierde en primera instancia) E_LA_M El receptor enviar ACK=550 (primer nmero de secuencia que no tiene). Si posteriormente se le enva un datagrama con GAR_D pondr los caracteres en su sitio y devolver ACK=561

Ventana deslizante

Para aumentar la eficiencia de la transmisin y realizar control del flujo extremo a extremo, se permite que el emisor emita segmentos sin haber obtenido los ACKs de los anteriores. Esto exige la existencia de memoria en el emisor y el receptor. El emisor guarda en un nmero acotado de buffers, con los segmentos enviados y an no reconocidos. El receptor almacena en sus buffers aquellos segmentos recibidos pero an no solicitados por la aplicacin. Si la aplicacin no consume datos, la cola se llena y deja de reconocer nuevos segmentos. Cada conexin lleva asociadas dos ventanas por sentido, una en el emisor y la otra en el receptor. En cada ACK el campo WINDOW especifica la cantidad de datos que el receptor est dispuesto a recibir. En el caso extremo, el receptor saturado reduce a cero la ventana para detener al emisor

Ataque:

ICMP Unreachable
syn rqst

client synack

server

Connection established

Attacker

Causa el cierre de las conexiones TCP legtimas

Ataque:

TCP SYN Flood


syn rqst server synack

client

Spoofed syn rqst zombie Waiting buffer overflows victim synack

Zombies

One of the first CERT DDoS advisories issued

Вам также может понравиться