• No se han encontrado resultados

FUNDAMENTOS DE REDES CONCEPTOS DE LA CAPA DE TRANSPORTE

N/A
N/A
Protected

Academic year: 2021

Share "FUNDAMENTOS DE REDES CONCEPTOS DE LA CAPA DE TRANSPORTE"

Copied!
35
0
0

Texto completo

(1)

CONCEPTOS DE LA

CAPA DE TRANSPORTE

FUNDAMENTOS DE REDES

Dolly Gómez Santacruz [email protected]

(2)

●Capas 1

Bits sobre cables

●Capa 2

Tramas en una red local

●Capa 3

Datagramas o paquetes

CONCEPTOS DE LA CAPA DE TRANSPORTE

MOTIVACIÓN

●“Capas inferiores” ●“Detalles del mover

datos de un lugar a otro

●“Infraestructura de la

(3)

●El destino final de los mensajes no es sólo un equipo, sino un programa de aplicación que se ejecuta en el sistema operativo de este.

● La capa de transporte es la encargada de brindarle a la capa de aplicación la calidad de servicio (QoS) requerida

●No sólo basta con tener la dirección del host, sino que se necesita identificar de alguna manera el proceso al cual se quiere enviar un mensaje.

CONCEPTOS DE LA CAPA DE TRANSPORTE

MOTIVACIÓN

(4)

CONCEPTOS DE LA CAPA DE TRANSPORTE

MOTIVACIÓN

1. Física 2. Enlace de Datos 3. Red 4.Transporte 5. Sesión 6.Presentación 7. Aplicación

Proveedora de servicio de transporte

SERVICIO DE TRANSPORTE

(5)

●Punto medio entre las capas inferiores (más enfocadas al hardware de la red) y las capas superiores (capas “light” o capas de software) ●Ofrece servicios eficientes y confiables al

nivel superior (aplicación misma)

●La capa de transporte es la primera “extremo

a extremo

(6)

●Permitir que un par de procesos en los host fuente

y destino puedan tener una conversación

●Segmentación de los datos de aplicaciones de la

capa superior

●Establecimiento de operaciones de extremo a

extremo, establecer los mecanismos que permitan transportar los mensajes entre equipos, para lo que usa dos protocolos fundamentalmente: TCP y UDP

●Envío de segmentos de un host final a otro final ●Asegurar la fiabilidad de los datos

●Proporcionar control de flujo

CONCEPTOS DE LA CAPA DE TRANSPORTE

SERVICIOS

(7)

●Control de flujo

●Direccionamiento: A nivel de puertos

●Multiplexación: consiste en que más de una aplicación pueda utilizar los servicios del protocolo TCP.

●Secuenciamiento

●Conexiones: establecimiento de una conexión y liberación de una conexión

●Control de errores: recuperación de fallas, fiabilidad

CONCEPTOS DE LA CAPA DE TRANSPORTE

ELEMENTOS

(8)

● Durante el envío de los segmentos, es posible asegurar la

integridad de los mismos.

● El Control de flujo evita el problema causado por un host

que está inundando a otro destino con más paquetes de los que el destino puede procesar. (Y así evitar que se produzca una pérdida de datos)

● Ventana Deslizante ● Inicio Lento

Los servicios de la capa de transporte permiten solicitar un transporte fiable entre destinos.

● Asegurar que los segmentos serán confirmados. ● Proporcionar retransmisión, si es necesario.

● Devolver los segmentos a su secuencia correcta en el

destino.

● Proporcionar control e impedir la congestión.

(9)

●La ventana deslizante es un método para controlar la

cantidad de información transferida de extremo a extremo.

●El tamaño de la ventana indica la cantidad de

segmentos que pueden ser enviados sin confirmación.

●Suponiendo una ventana de tamaño m, el origen puede

enviar los segmento [n...(n+m-1)] antes de recibir una confirmación. Si se recibe una confirmación para el segmento n (ACK n+1), el origen desliza los límites de la ventana a [n+1...(n+m)] y puede enviar el segmento (n+m).

CONTROL DE FLUJO

VENTANA DESLIZANTE

(10)

● El algoritmo de “Inicio Lento” “Slow-start” intenta aprovechar al

máximo el canal de comunicación y supone que la pérdida de segmentos sea debido a una posible congestión de la red.

● Se incrementa el tamaño de la ventana hasta que no se reciban

confirmaciones para algunos segmentos. Se asume que la congestión en la red es la causa de esto y se reduce el tamaño de la ventana para evitar la congestión.

● El algoritmo inicia con una crecimiento exponencial de la ventana

de congestión (n = n * 2) hasta alcanzar un límite predefinido y continua aumentando el tamaño de la ventana de manera lineal (n = n + 1).

● Cuando las confirmaciones no se reciben, el tamaño de la

ventana es reducido a la mitad y el algoritmo vuelve a empezar.

CONTROL DE FLUJO

INICIO LENTO

(11)

●Cada proceso que se desea comunicar con otro

se identifica en la pila de protocolos TCP/IP con uno o más puertos. Un puerto es un número de 16 bits, empleado por un protocolo host – a – host para identificar a que protocolo del nivel superior o programa de aplicación se deben entregar los mensajes recibidos.

●Puertos bien conocidos. Ocupan número de

puerto comprendidos en el rango de 0 a 1023.

●Los puertos con números en el rango de 1024 a

65535 no los controla IANA y en la mayor parte de los sistemas los pueden usar los programas de usuario.

(12)

● Varios procesos accediendo la red

● Varias conexiones al mismo destino o destinos diferentes

● Varias conexiones del mismo origen, a diferentes servicios, hosts

MULTIPLEXACIÓN

WEB SMTP FTP DNS

WEB

(13)

●Tanto TCP como UDP usan números de puerto (o

socket) para enviar información a las capas superiores.

●Los números de puerto se usan para mantener un

seguimiento de las distintas conversaciones que atraviesan la red al mismo tiempo, (RFC1700).

●A las conversaciones que no involucran aplicaciones

con números de puerto conocidos se les asignan números de puerto que se seleccionan al azar a partir de un intervalo específico.

●Estos números de puerto se usan como direcciones

origen y destino en el segmento TCP.

(14)

Direccionamiento capa 4

● Puertos: Noción para identificar el servicio o aplicación al

origen y destino de cada conexión.

Bien conocidos

● 0-1023. Asignados por la IANA, usados generalmente para

servicios básicos (procesos del sistema)

Registrados

● 1024-49151. Usados por aplicaciones como puertos origen

y registrados para aplicaciones populares

Dinámicos/Privados

● 49152-65535. También pueden ser usados por aplicaciones

como puertos orígen.

Socket

● Dir IP + Protocolo + Número de Puerto

MULTIPLEXACIÓN

(15)

●Tanto TCP como UDP usan números de puerto para

enviar información a las capas superiores.

● A las conversaciones que no involucran

aplicaciones con números de puerto conocidos se les asignan números de puerto que se seleccionan al azar a partir de un intervalo específico

●Estos números de puerto se usan como parte de las

direcciones origen y destino en el segmento TCP.

(16)
(17)
(18)

●Se utilizan números de secuencia distintos para cada sentido de la comunicación.

●El número inicial (aleatorio) para cada sentido se acuerda al establecer la comunicación.

●Se debe confirmar la recepción exitosa de cada segmento (o grupo de ellos).

(19)

1.Establecimiento de la conexión (Negociación en 3 pasos)

2.Transferencia de datos

3.Finalización de la conexión (Negociación en 4 pasos)

CONCEPTOS DE LA CAPA DE TRANSPORTE

(20)

● La aplicación servidor debe abrir un

socket para aceptar conexiones. Se dice que estas conexiones están “escuchando” y que esta es una inicialización pasiva de la conexión.

● “3-way Handshake” (protocolo de

acuerdo a 3 vías)

1. Inicialización activa de la conexión, envío de segmento SYN

2. Repuesta del segmento SYN original con un segmento SYN/ACK

3. Confirmación de inicialización, envio de segmento ACK

CONCEPTOS DE LA CAPA DE TRANSPORTE

(21)

CONCEPTOS DE LA CAPA DE TRANSPORTE

ESTABLECIMIENTO DE UNA CONEXIÓN

●1 El servidor escucha por la conexión

●2 Paquete de solicitud de conexión

●3 Paquete de confirmación de conexión ●4 Paquete de reconocimiento

(22)

● Se usa una negociación en cuatro pasos (four-way handshake),

terminando la conexión desde cada lado independientemente.

● Cuando uno de los dos extremos de la conexión desea parar su

"mitad" de conexión transmite un paquete FIN, que el otro extremo asentirá con un ACK. Por tanto, una desconexión típica requiere un par de segmentos FIN y ACK desde cada lado de la conexión.

● Una conexión puede estar "medio abierta" en el caso de que

uno de los lados la finalice pero el otro no.

CONCEPTOS DE LA CAPA DE TRANSPORTE

FINALIZACIÓN DE LA CONEXIÓN

(23)

CONCEPTOS DE LA CAPA DE TRANSPORTE

FINALIZACIÓN DE LA CONEXIÓN

(24)

● TCP debe poder recuperar los datos que se

corrompan, pierdan, dupliquen o se entreguen desordenados por el sistema de comunicación del entorno de internet.

● Uso de número de secuencia para cada octeto

transmitido, y exigiendo un acuse de recibo (ACK) del módulo de TCP receptor.

● Tiempo de expiración fijado, al cabo del que los

datos se retransmiten.

● En el receptor, se utilizan los números de secuencia

para ordenar y eliminar los segmentos duplicados.

● La corrupción de datos se trata añadiendo:

n Suma de comprobación

n Códigos de redundancia cíclica (CRC)

(25)

●Los protocolos de transporte se parecen a los

protocolos de enlace. Ambos manejan el control de errores, el control de flujo, la secuencia de paquetes, etc.

●En el nivel de transporte, se necesita una manera

para especificar la dirección del destino.

(26)

●Variedad de protocolos de transporte ●TCP/IP : TCP y UDP

●TCP: Proporciona servicios orientados a la conexión

●UDP: Proporciona servicios orientados a la no conexión.

●La unidad de envío o recepción de datos del protocolo TCP se conoce con el nombre de segmento TCP y la unidad de envío o recepción de datos del protocolo UDP es conocido como datagrama UDP.

(27)

●Protocolo de transporte que provee servicios orientados a la conexión

●Garantiza que los datos son entregados al destino sin errores y en el mismo orden en que se transmitieron

●Divide los mensajes salientes en segmentos

●Reensambla los mensajes en la estación destino

●Vuelve a enviar lo que no se ha recibido

●Reensambla los mensajes a partir de segmentos entrantes

(28)

●Entrega libre de errores

●Aseguramiento de la entrega: Compromiso de TCP de entregar el mensaje al destino final, o avisar al emisor que hubo un problema en la entrega del mismo.

●Entrega ordenada de los datos: Evita duplicidad en los datos

●Conexión full duplex: Punto de vista de procesos de una aplicación

●Operación extremo a extremo

(29)

Formato segmento TCP

(30)

Formato segmento TCP

Protocolos de transporte: TCP

●Puerto Origen (16): Número de puerto origen.

●Puerto Destino (16): Número de puerto destino (servicio

usado).

●Número de secuencia (32): Número de secuencia del

primer byte de datos del segmento. Si el bit de control SYN es 1, el número de secuencia es el inicial(n) y el primer byte de datos será el n+1.

●Número de reconocimiento (32): Valor del siguiente

número de secuencia que se espera recibir, si el bit de control ACK es 1.

(31)

Protocolos de transporte: TCP

Desplazamiento de datos (4): Número de palabras de 32 bits

de la cabecera TCP. Indica dónde empiezan los datos. (Mínimo valor = 5)

●Reservado (6): Bits reservados para su uso futuro (cero). ●FLAGS Campo de control

● URG: Hace significativo el campo "Puntero urgente"

● ACK: Hace significativo el campo "Número de acuse de recibo" ● PSH (1): Función "Push": fuerza a TCP a enviar un segmento y

que éste sea entregado de inmediato a la aplicación en el otro extremo

● RST (1): Resetea la conexión.

● SYN (1): Sincroniza los números de secuencia. ● FIN (1): No hay más datos del emisor.

(32)

Protocolos de transporte: TCP

Ventana (16): Número de bytes de datos que el receptor

esta dispuesto a recibir. Usado en segmentos ACK.

Suma de comprobación o Checksum (24): Suma de

comprobación de errores del segmento. Se utiliza una cabecera que también incluye las direcciones IP origen y destino.

●Puntero de Urgencia (8): Apunta al primer octeto de datos

que sigue a los datos importantes. Sólo es significativo cuando el bit de control URG es 1.

●Opciones: Formadas por un único byte o por multiples

bytes, Ej. Máximo tamaño del segmento, Marca de tiempo.

●Padding: Bytes todos a cero para rellenar la cabecera TCP

(33)

●Protocolo de transporte que provee servicios orientados a la no conexión

●Basado en el intercambio simple de datagramas (sin establecer previamente una conexión)

●No hay acuse de recibo (ACK) ni control de flujo ●Usado en protocolos donde el establecimiento de

la conexión es in-necesario (DHCP, DNS, TFTP, SNMP) y en transmisión de audio y video en tiempo real.

(34)

Formato segmento UDP

(35)

●Puerto origen: Puerto del proceso que envía el

datagrama. Es el puerto al que se deben dirigir las respuestas.

●Puerto destino: Puerto destino en el host de

destino.

●Longitud: Longitud (en bytes) del datagrama UDP,

incluyendo la cabecera.

●Checksum: Campo opcional consistente en el

complemento a uno de 16 bits obtenidos con información del encabezado UDP y del encabezado IP.

Referencias

Documento similar