Está en la página 1de 99

CAPA DE TRANSPORTE

DEL MODELO OSI

Presentado por:
Jorge Sergio Rodríguez Pinzón
Javier Perea Montoya
Christian Andrés Arellano
2

¿QUÉ ES LA
CAPA DE
TRANSPORTE?
La capa de Transporte es responsable
de la transferencia de extremo a
extremo de los datos de aplicación,
es el enlace entre la capa de Aplicación
y las capas inferiores, que son
responsables de la transmisión en la
red.
Esta capa acepta datos de distintas
conversaciones y los transfiere a las
capas inferiores como secciones
manejables que puedan ser
eventualmente dirigidas a través del
medio.
3

INTRODUCCIÓN: CAPA DE TRANSPORTE

Propósito Responsabilidad Funciones


La capa de transporte permite la  Seguimiento de conversaciones  Control de flujo.
segmentación de datos y brinda el control individuales.
necesario para reensamblar las partes dentro  Entrega confiable.
de los distintos flujos o cadenas de  Segmentación de datos.
 Establecimiento de una sesión.
comunicación.  Reensamble de segmentos en flujos de
datos de aplicación.  Entrega en el mismo orden.

 Identificación de las diferentes  Segmentación y reensamble


aplicaciones.  Multiplexación de conversaciones.
4

CONCEPTOS: APLICACIÓN Y PROCESOS


• Una aplicación es un conjunto de instrucciones ejecutables almacenadas en un dispositivo.
Cuando una aplicación se está ejecutando recibe el nombre de proceso. Algunas aplicaciones
permiten que se ejecuten varias copias de sí misma y cada una de ellas es considerada un
proceso distinto.
5

SOCKETS
• La interfaz socket es una de las muchas APIs (Application Programming Interface) para los
protocolos de comunicación. Un socket es también una dirección de Internet, combinando
una dirección IP (la dirección numérica única de cuatro partes que identifica a un ordenador
particular en Internet) y un número de puerto (el número que identifica una aplicación de
Internet particular, como FTP, Gopher, o WWW).
6

SOCKETS (2)
• Consideremos la terminología siguiente:
• Un socket es un tipo especial de manejador de fichero que utiliza un proceso
para pedir servicios de red al sistema operativo.
• Una dirección de socket es la tripleta: {protocolo, dirección-local, proceso-
local} En la familia TCP/IP, por ejemplo: {tcp, 193.44.234.3, 12345}
• Una conversación es el enlace de comunicación entre dos procesos.
• Una asociación es la quíntupla que especifica completamente los dos procesos
que comprende una conexión:{protocolo, dirección-local, proceso-local,
dirección-externa, proceso-externo}
7

SOCKETS (3)
• En la familia TCP/IP, por ejemplo:
• {tcp, 193.44.234.3, 1500, 193.44.234.5, 21} podría ser una asociación válida.
Una media-asociación es: {protocolo, dirección-local, proceso-local} o {protocolo, dirección-
externa, proceso-externo} que especifica cada mitad de una conexión.
La media-asociación se denomina también socket o dirección de transporte. Esto es, un
socket es un punto terminal para comunicación que puede nombrarse y direccionarse en una
red.
8

PUERTOS

• Cada proceso que se comunica con otro proceso se identifica a sí mismo a la


familia de protocolos TCP/IP por uno o más puertos. Un puerto es un número
de 16 bits, usado por el protocolo host-a-host para identificar a qué protocolo
de más alto nivel o programa de aplicación (proceso) debe entregar los
mensajes de entrada.
• Como algunos programas de más alto nivel son protocolos por sí mismos,
estandarizados en la familia de protocolos TCP/IP, tales como telnet
(Telecommunication Network) y ftp (File Transfer Protocol), usan el mismo
número de puerto en todas las realizaciones de TCP/IP. Aquellos números de
puerto "asignados" se denominan puertos bien-conocidos y las aplicaciones
estándares servicios bien-conocidos.
9

PUERTOS (2)
• Los puertos "bien-conocidos" los controla y asigna la Autoridad de Números Asignados de
Internet (IANA) y en la mayoría de los sistemas sólo pueden usarlo los procesos del sistema
o programas ejecutados con privilegios de usuario. Los puertos "bien-conocidos" asignados
ocupan números de puerto en el rango de 0 a 1023. Los puertos con números dentro del
rango 1024-65535 no los controla la IANA y la mayor parte de los sistemas únicamente usan
programas desarrollados por usuarios.
• La asignación oficial de puertos esta disponible en:
http://www.iana.org/assignments/port-numbers
10

TIPOS DE PUERTO
• Puertos bien conocidos (números del 0 al 1023):
• Estos números se reservan para servicios y aplicaciones. Por lo general, se
utilizan para aplicaciones como HTTP (servidor Web), POP3/SMTP (servidor
de correo electrónico) y Telnet. Al definir estos puertos bien conocidos para las
aplicaciones de los servidores, las aplicaciones cliente se pueden programar
para solicitar una conexión a dicho puerto y su servicio asociado.
11

TIPOS DE PUERTO (2)


• Puertos registrados (números del 1024 al 49151):
• Estos números de puerto se asignan a procesos o aplicaciones del usuario. Estos procesos son
principalmente aplicaciones individuales que el usuario elige instalar en lugar de aplicaciones
comunes que recibiría un puerto bien conocido. Cuando no se utilizan para un recurso del
servidor, estos puertos se pueden utilizar también seleccionados de forma dinámica por un cliente
como su puerto de origen. Existe una lista pública en la web del IANA donde se puede ver qué
protocolo usa cada uno de ellos.
12

TIPOS DE PUERTO (3)


• Puertos dinámicos o privados (números 49152 a 65535):
• también conocidos como puertos efímeros, están usualmente asignados de forma dinámica a las
aplicaciones cliente cuando se inicia una conexión. No es muy común que un cliente se conecte a
un servicio utilizando un puerto dinámico o privado (aunque algunos programas que comparten
archivos punto a punto lo hacen).
13

EJEMPLO
14

DIRECCIONAMIENTO DE PUERTOS
• El puerto de origen en el encabezado de un segmento o de un datagrama de la solicitud de un
cliente, se crea de forma aleatoria desde los números de puerto mayores de 1023.
• Mientras no haya un conflicto con otros puertos en uso en el sistema, el cliente puede elegir
cualquier número de puerto del rango de números predeterminados que utiliza el sistema
operativo.
• El número de puerto actúa como dirección de retorno para la aplicación que realiza la
solicitud.
15

DIRECCIONAMIENTO DE PUERTOS (2)


• La capa de transporte mantiene un seguimiento de este puerto y de la aplicación que generó
la solicitud, de manera que cuando se devuelva una respuesta, pueda ser enviar a la
aplicación correcta.
• El número de puerto de la aplicación que realiza la solicitud se utiliza como número de
puerto de destino en la respuesta que vuelve del servidor.
• La combinación del número de puerto de la capa de transporte y de la dirección IP de la capa
de red asignada al host identifica de manera exclusiva un proceso en particular que se
ejecuta en un dispositivo host específico.
16

DIRECCIONAMIENTO DE PUERTOS (3)


• La combinación del punto anterior se denomina socket.
• Eventualmente, los términos número de puerto y socket se utilizan en forma indistinta.
• El término socket hace referencia sólo a la combinación exclusiva de dirección IP y número
de puerto.
• Un par de sockets, que consiste en las direcciones IP de origen y destino y los números de
puertos, también es exclusivo e identifica la conversación entre los dos hosts.
17

DIRECCIONAMIENTO DE PUERTOS (4)


• Por ejemplo, una solicitud de página Web HTTP (Hyper Text Transfer Protocol) que se envía
a un servidor Web (puerto 80) que se ejecuta en un host con una dirección IPv4 de Capa 3 de
192.168.1.20 se destinaría al socket 192.168.1.20:80.

Si el explorador Web que solicita una página Web se ejecuta en el host 192.168.100.48 y el
número de puerto dinámico que se asignó al explorador es 49152, el socket para la página
Web sería 192.168.100.48:49152.
18

EJEMPLO
19

COMUNICACIÓN CLIENTE/SERVIDOR
• El modelo de comunicación cliente/servidor es un modelo de aplicación distribuida en el
que las tareas se reparten entre los proveedores de recursos o servicios, llamados servidores,
y los demandantes, llamados clientes. Un cliente realiza peticiones a otro programa, el
servidor, le da respuesta.
20

COMUNICACIÓN P2P (PEER TO PEER / PUNTO A PUNTO)

• En modelo de comunicación punto a punto (P2P, peer to peer), los dispositivos en red actúan
como iguales, o pares entre sí.
• Cada dispositivo puede tomar el rol de cliente o la función de servidor.
• En un momento, el dispositivo A, por ejemplo, puede hacer una petición de un dato del
dispositivo B, y este es el que le responde enviando el dato al dispositivo A. El dispositivo A
funciona como cliente, mientras que B funciona como servidor.
• Un momento después los dispositivos A y B pueden revertir los roles: B, como cliente, hace
una solicitud a A, y A, como servidor, responde a la solicitud de B. A y B permanecen en una
relación reciproca o par entre ellos.
21

EJEMPLO
22

¿PARA QUE SIRVE LA CAPA DE


TRANSPORTE?
• Seguimiento de la comunicación individual entre aplicaciones en los hosts origen y
destino.
• Segmentar datos y gestionar cada porción.
• Reensamblar los segmentos en flujos (stream) de datos de aplicación.
• Identificar las diferentes aplicaciones.

Host: Es un anfitrión (computadora/ordenador) que funciona como punto de inicio y


final de la transferencia de datos.
23

SEGUIMIENTO DE
CONVERSACIONES INDIVIDUALES
• Cualquier host puede tener múltiples aplicaciones
que se están comunicando a través de la red. Cada
una de estas aplicaciones se comunicará con una
o más aplicaciones en host remotos. Es
responsabilidad de la capa de transporte mantener
los diversos flujos de comunicación entre estas
aplicaciones.
24

SEGMENTACIÓN DE DATOS Y
GESTIÓN DE CADA PORCIÓN
• Debido a que cada aplicación genera un flujo de
datos para enviar a una aplicación remota, estos
datos deben prepararse para ser enviados por los
medios en partes manejables. Esto incluye la
encapsulación necesaria en cada sección de
datos. Cada sección requiere que se agreguen
encabezados en la capa de Transporte para
indicar la comunicación a la cual está asociada.
25

REENSAMBLE DE SEGMENTOS EN
FLUJOS DE DATOS DE APLICACIÓN
• En el host de recepción, cada sección de datos puede ser direccionada a la
aplicación adecuada. Además, estas secciones de datos individuales también
deben reconstruirse para generar un flujo completo de datos que sea útil
para la capa de aplicación. Los protocolos de la capa de transporte
describen cómo se utiliza la información de encabezado de dicha capa para
reensamblar las secciones de datos en flujos y enviarlas a la capa de
Aplicación
26

EJEMPLO
27

¿CÓMO SE DIRIGE CADA UNO DE LOS


DATOS RECIBIDOS A SU PROCESO
CORRESPONDIENTE?
¡Para esto necesitamos la multiplexación y demultiplexación!
Para dirigir la información al proceso correcto.
• El mecanismo de multiplexamiento consiste en que más de una aplicación pueda utilizar los
servicios del protocolo TCP. El protocolo TCP hace uso de los parámetros de control: Puerto
destino y Puerto origen incluidos en una cabecera TCP y los parámetros de control:
Dirección IP Destino y Dirección IP Origen incluidos en una cabecera IP con el fin de
satisfacer el mecanismo de multiplexamiento.
28

¿CÓMO SE DIRIGE CADA UNO DE LOS DATOS


RECIBIDOS A SU PROCESO CORRESPONDIENTE?
(2)

• Cuando los números de puerto son concatenados con las direcciones IP de la capa de
enrutamiento, conforman lo que se denomina un conector "socket". Un par de
conectores que identifica de forma única la conexión bidireccional entre una
aplicación cliente y una aplicación servidor.
29

EJEMPLO
El proceso permite que se entrelacen (multiplexen) varias
comunicaciones diferentes de varios usuarios distintos en la
misma red en forma simultánea.

Proporciona los medios para enviar y recibir datos durante la


ejecución de varias aplicaciones.

Se agrega un encabezado a cada segmento para


identificarlo.
30

IDENTIFICACIÓN DE LAS
APLICACIONES
• Para poder transferir los flujos de datos a las aplicaciones adecuadas, la capa de
transporte debe identificar la aplicación de destino. Para lograr esto, la capa de
transporte asigna un identificador a la aplicación. Los protocolos TCP/IP(Protocolo
de Control de Transmisión/Protocolo de Internet) denominan a este identificador
número de puerto. A todos los procesos de software que requieran acceder a la red se
les asigna un número de puerto exclusivo en ese host. Este número de puerto se
utiliza en el encabezado de la capa de transporte para indicar con qué aplicación está
asociada esa sección de datos
31

PROTOCOLOS EN LA CAPA DE
TRANSPORTE
Un protocolo es un conjunto de reglas o normas que rigen la manera de comunicarse entre
procesos que potencialmente se ejecutan en diferentes equipos.
• TCP (Transsmission Control Protocol) – Protocolo de control de transmisión.
• UDP (User Datagram Protocol) – Protocolo de datagramas de usuario.
• SCTP (Stream Control Transsmission Protocol ) – Protocolo de control de transmisiones de
flujos.

Hay dos protocolos principales en la capa de transporte (TCP y UDP)


32

PROTOCOLO DE CONTROL DE
TRANSMISIÓN (TCP)
• El fin de TCP (Protocolo de control de transmisión) es proveer un flujo de bytes confiable de
extremo a extremo sobre una internet no confiable. TCP puede adaptarse dinámicamente a
las propiedades de la internet y manejar fallas de muchas clases.
• Actúa tanto como emisor como receptor de paquetes. Cada paquete tiene un numero de
secuencia de 32 bits, que es un campo de la cabecera.
33

FORMATO DE LA CABECERA DE
SEGMENTOS TCP
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Puerto de origen Puerto de destino


Número de secuencia
Número de acuse de recibo (si ACK esta establecido)
20 Bytes

Longitu
URG
ACK

SYN
PSH
RST

FIN
d de Reservado Ventana Tamaño de la ventana
cabecera

Suma de control (Checksum) Puntero urgente


Opciones Relleno
Datos

32 Bits
34

DESCRIPCIÓN DE LOS CAMPOS


• Puerto de origen: De 16 bits, es un puerto relacionado con la aplicación en curso en la maquina
origen.
• Puerto de destino: De 16 bits, es un puerto relacionado con la aplicación en curso de la
maquina destino
• Número de secuencia: De 32 bits; Cuando el indicador SYN esta fijado en 0, el numero de
secuencia es el de la primera palabra del segmento actual. Cuando esta fijado en 1 el número de
secuencia es igual al número de secuencia inicial utilizado para sincronizar los números de
secuencia iniciales (ISN).
35

DESCRIPCIÓN DE LOS CAMPOS (2)


• Número de acuse de recibo: De 32 bits; También llamado número de descargo se relaciona con
el número (secuencia) del último segmento esperado y no del número del último segmento
recibido.
• Margen/Longitud de datos: De 4 bits; Esto permite ubicar el inicio de los datos en el paquete.
Aquí, el margen es fundamental porque el campo opción es de tamaño variable.
• Reservado: De 6 bits; Es un campo que actualmente no esta en uso, pero se proporciona para el
uso futuro.
36

DESCRIPCIÓN DE LOS CAMPOS (3)


Indicadores: De 6 bits cada uno; Estos representan información adicional.
• URG(Urgente campo de señalizador significativo): Si esta en 1, el paquete se debe procesar de
forma urgente.
• ACK(Campo significativo de acuse de recibo): Si esta en 1, el paquete es un acuse de recibo.
• PSH (PUSH; Función de empuje): Si esta en 1, el paquete opera con el método PUSH.
• RST(Reconfiguración de la conexión): Si esta en 1, se restablece la conexión.
• SYN(Sincronizar números de secuencia): Este indicador es un pedido para restablecer
conexión.
• FIN(No hay más datos desde el emisor.): Si esta en 1, se interrumpe la conexión.
37

DESCRIPCIÓN DE LOS CAMPOS (4)


• Ventana: De 16 bits; Campo que permite saber la cantidad de bytes que el
receptor desea recibir sin acuse de recibo.
• Suma de control (CRC): La suma de control se realiza tomando la suma del
campo de datos del encabezado para poder verificar la integridad de los datos.
• Puntero urgente: De 16 bits; Indica el número de secuencia después del cual
la información se torna urgente.
• Opciones: De tamaño variable; Tiene diversas opciones.
• Relleno: Espacio restante después de que las opciones se rellenan con ceros
para tener una longitud que sea múltiplo de 32 bits.
38

CARACTERÍSTICAS DEL TCP


• ORIENTADO A LA CONEXIÓN: Dos computadoras establecen una conexión para
intercambiar datos. Los sistemas de los extremos se sincronizan con el otro para manejar el
flujo de paquetes y adaptarse a la congestión de la red.
• OPERACIÓN FULL-DÚPLEX: Una conexión TCP es un par de circuitos virtuales, cada
uno en una dirección. Sólo los dos sistemas finales sincronizados pueden usar la conexión.
• REVISIÓN DE ERRORES: Una técnica de checksum (suma de comprobación) es usada
para verificar que los paquetes no estén corruptos.
39

CARACTERÍSTICAS DEL TCP (2)


• ACUSES DE RECIBO: sobre recibo de uno o más paquetes, el receptor regresa un acuse
de recibido al transmisor indicando que recibió los paquetes. Si los paquetes no son
notificados, el transmisor puede reenviar los paquetes o terminar la conexión si el transmisor
cree que el receptor no está más en la conexión.
• CONTROL DE FLUJO: si el transmisor está desbordando el buffer del receptor por
transmitir demasiado rápido, el receptor descarta paquetes. Los acuses fallidos que llegan al
transmisor le alertan para bajar la tasa de transferencia o dejar de transmitir.
• SERVICIO DE RECUPERACIÓN DE PAQUETES: el receptor puede pedir la
retransmisión de un paquete. Si el paquete no es notificado como recibido (ACK Campo
significativo de acuse de recibo )
el transmisor envía de nuevo el paquete.
40

CONEXIONES Y DESCONEXIONES
• Las conexiones TCP (Protocolo de control de transmisión) se componen de
tres etapas: establecimiento de conexión, transferencia de datos y fin de la
conexión. Para establecer la conexión se usa el procedimiento llamado
negociación en tres pasos (3-way handshake). Una negociación en cuatro
pasos (4-way handshake) es usada para la desconexión. Durante el
establecimiento de la conexión, algunos parámetros como el número de
secuencia son configurados para asegurar la entrega ordenada de los datos y
la robustez de la comunicación.
41

ESTABLECIMIENTO DE CONEXIÓN A TRAVÉS


DEL PROTOCOLO THREE-WAY HANDSHAKE
(ACUERDO DE TRES VÍAS)

• Una conexión entre ellas simultáneamente, normalmente una de ellas abre


un socket en un determinado puerto TCP y se queda a la escucha de nuevas
conexiones. Es común referirse a esto como apertura pasiva, y determina el
lado servidor de una conexión. El lado cliente de una conexión realiza una
apertura activa de un puerto enviando un paquete SYN inicial. En el lado
del servidor se comprueba si el puerto está abierto, es decir, si existe algún
proceso escuchando en ese puerto.
42

ESTABLECIMIENTO DE CONEXIÓN A TRAVÉS


DEL PROTOCOLO THREE-WAY HANDSHAKE
(ACUERDO DE TRES VÍAS) (2)

• En caso de no estarlo, se envía al cliente un paquete de respuesta con el bit


RST activado, lo que significa el rechazo del intento de conexión.
• En caso de que sí se encuentre abierto el puerto, el lado servidor respondería a
la petición SYN válida con un paquete SYN/ACK (acuse de recibo).
• Finalmente, el cliente debería responderle al servidor con un ACK,
completando así la negociación en tres pasos (SYN, SYN/ACK y ACK) y la
fase de establecimiento de conexión.
43

REPRESENTACIÓN DEL PROTOCOLO DE


CONEXIÓN 3-WAY HANDSHAKE
44

TRANSFERENCIA DE DATOS

• Durante la etapa de transferencia de datos, una serie de mecanismos claves determinan la


fiabilidad y robustez del protocolo. Entre ellos están incluidos el uso del número de
secuencia para ordenar los segmentos TCP recibidos y detectar paquetes duplicados,
checksums para detectar errores y temporizadores para detectar pérdidas y retrasos.
45

FASE DE FINALIZACIÓN DE LA
CONEXIÓN
• Esta fase utiliza una negociación en cuatro pasos (four-way handshake), terminando la
conexión desde cada lado independientemente. Sin embargo, es posible realizar la
finalización de la conexión en 3 fases; enviando el segmento FIN(es un flag (bandera) que
identifica a un paquete como el último de una conexión) y el ACK(Un ACK acuse de recibo
o asentimiento)) en uno solo. Cuando uno de los dos extremos de la conexión desea parar su
"mitad" de conexión transmite un segmento con el flag FIN en 1, que el otro interlocutor
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
46

FASE DE
FINALIZACIÓN DE
LA CONEXIÓN (2)
Una conexión puede estar "medio abierta"
en el caso de que uno de los lados la
finalice pero el otro no. El lado que ha
dado por finalizada la conexión no puede
enviar más datos pero la otra parte si
podrá.
47

• Para lograr el servicio, TCP debe crearse una conexión explícita entre un
socket del nodo emisor y otro socket (Crea un punto terminal de
comunicación) del nodo receptor.
• Un socket puede recibir una o varias conexiones al mismo tiempo.
• Las conexiones se identifican con (socket1, socket2) sin ningún otro
identificador ni circuito virtual.
48

TODAS LAS
CONEXIONES TCP SON:

 Dúplex integral (Full duplex): el


tráfico puede ir en ambos sentidos a
un tiempo.
 Extremo a extremo: cada
conexión tiene exactamente dos
puntos terminales (TCP no reconoce
difusión ni multitransmisión).
49

CONEXIÓN TCP
Una conexión TCP es una corriente de
bytes y no una corriente de mensajes, por
lo que los límites de los mensajes no se
conservan extremo a extremo y los
receptores no pueden detectar las unidades
de transmisión del origen.
50

CONEXIÓN TCP (2)


• El protocolo TCP decide el tamaño de los segmentos con dos límites:
• Cada segmento TCP (incluida cabecera) debe caber en los 65,535 bytes de IP.
• Cada red tiene su MTU (Maximum Transfer Unit: Unidad Máxima de transferencia) y cada
segmento debe caber en una MTU. La MTU define el límite superior del tamaño del segmento.
• Un segmento demasiado grande es fragmentado por los routers frontera (overhead)
51

ENTRE LAS APLICACIONES QUE


UTILIZAN TCP SE INCLUYEN:
• Las aplicaciones que utilizan el TCP son:
• Exploradores Web
• Correo electrónico
• Transferencias de archivos
52

PROTOCOLO DE DATAGRAMAS DE
USUARIO (UDP)
• UDP es un protocolo simple, sin conexión, descrito en la RFC(Request For Comments) 768.
Cuenta con la ventaja de proveer la entrega de datos sin utilizar muchos recursos.
• Cuando una maquina A envía paquetes a una maquina B, el flujo es unidireccional. La
transferencia de datos es realizada sin haber realizado previamente una conexión con la
máquina de destino (maquina B), y el destinatario recibirá los datos sin enviar una
confirmación al emisor (la maquina A). Esto es debido a que la encapsulación de datos
enviada por el protocolo UDP no permite transmitir la información relacionada al emisor.
Por ello el destinatario no conocerá al emisor de los datos excepto su IP(Protocolo de
internet).
53

FORMATO DE LA CABECERA DE
DATAGRAMAS DE UDP
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Puerto de origen Puerto de destino


8 Bytes

Longitud de cabecera Suma de control (Chrcksum)


Datos

32 Bits
54

SIGNIFICADO DE LOS CAMPOS


• Puerto de origen: Es el número de puerto relacionado con la aplicación del remitente del
segmento UDP. Este campo representa una dirección de respuesta para el destinatario. Por lo
tanto, este campo es opcional. Esto significa que si el puerto de origen no está especificado,
los 16 bits de este campo se pondrán en cero. En este caso, el destinatario no podrá
responder (lo cual no es estrictamente necesario, en particular para mensajes
unidireccionales).
• Puerto de destino: Este campo contiene el puerto correspondiente a la
aplicación del equipo receptor al que se envía.
• Longitud: Este campo especifica la longitud total del segmento, con el
encabezado incluido. Sin embargo, el encabezado tiene una longitud de 4 x 16
bits (que es 8 x 8 bits), por lo tanto la longitud del campo es necesariamente
superior o igual a 8 bytes.
• Suma de control: Es una suma de comprobación realizada de manera tal que
permita controlar la integridad del segmento.
55

CARACTERÍSTICAS DEL UDP


• Es un protocolo del nivel de transporte orientado a mensajes (datagramas) documentado en
el RFC 768 de la IETF (Internet Engineering Task Force (IETF) en español Grupo de
Trabajo de Ingeniería de Internet).
• Proporciona una sencilla interfaz entre la capa de red y la capa de aplicación.
• Se utiliza, por ejemplo, cuando se necesita transmitir voz o vídeo y resulta más importante
transmitir con velocidad que garantizar el hecho de que lleguen absolutamente todos los
bytes.

Los RFC son documentos que contienen información técnica y notas organizacionales
sobre el internet.
56

ENTRE LAS APLICACIONES QUE UTILIZAN UDP SE


INCLUYEN:

 Sistema de nombres de dominios (DNS), Recibe un bloque de datos de la aplicación le añade su cabecera y
se lo entrega a IP
 Streaming de vídeo
 Voz sobre IP (VoIP).
57

PROTOCOLO DE CONTROL DE
TRANSMISIÓN DE FLUJO (SCTP)
• En general, SCTP puede proporcionar más flexibilidad para determinadas aplicaciones, por
ejemplo Voice over IP (VoIP), que requieren la transferencia de datos fiable pero orientada a
mensajes. Para esta categoría de aplicaciones, probablemente SCTP es más adecuando que
TCP o UDP.
58

PROTOCOLO DE CONTROL DE
TRANSMISIÓN DE FLUJO (SCTP) (2)
• SCTP es un mecanismo de transporte fiable orientado hacia conexión. Esta orientado
tambien hacia la transmision de datos pero no de bytes como TCP, sino de mensajes como
UDP. Provee multiples transmisiones distribuidas sobre una misma conexión con multiples
direcciones IP de modo que si una IP falla, la conexión no se interrmpe. Se desarrolló
inicialmente para aplicaciones de telefonia, pero se puede utilizar en otras aplicaciones.
59

CARACTERÍSTICAS DE SCTP
• TCP proporciona entrega de datos de orden de transmisión fiable y estricta. Para
aplicaciones que necesitan fiabilidad, pero pueden tolerar la entrega de datos no ordenados o
parcialmente ordenados, TCP puede producir algún retardo innecesario debido al bloqueo
de cabecera de línea. Con el concepto de varias corrientes en una sola conexión, SCTP
puede proporcionar entrega estrictamente ordenada en una corriente mientas se aíslan los
datos de forma lógica de las corrientes diferentes.
• SCTP está orientado a mensajes, a diferencia de TCP, que está orientado a bytes. Debido a
la naturaleza orientada a bytes de TCP, la aplicación tiene que añadir su propia marca de
registro para mantener los límites de mensaje.
60

CARACTERÍSTICAS DE SCTP (2)


• SCTP proporciona cierto grado de tolerancia a errores utilizando la característica de varios
inicios. Se considera que un sistema principal tiene varios inicios cuando tiene conectada
más de una interfaz de red, en la misma red o en redes diferentes. Se puede establecer una
asociación SCTP establecida entre dos sistemas principales de varios inicios. En este caso,
todas las direcciones IP de ambos puntos finales se intercambian en el arranque de
asociación; esto permite que cada punto final utilice cualquiera de estas direcciones durante
el tiempo de vida de la conexión si una de las interfaces está inactiva por cualquier razón, a
condición de que se pueda alcanzar el igual mediante las interfaces alternativas.
61

CARACTERÍSTICAS DE SCTP (3)


• SCTP proporciona características de seguridad adicionales que TCP y UDP no
proporcionan. En SCTP, la asignación de recursos durante la configuración de asociación se
retarda hasta que la identidad del cliente se puede verificar utilizando un mecanismo de
intercambio cookie, reduciendo de este modo la posibilidad de ataques de rechazo de
servicio.
62

DIFERENCIAS ENTRE TCP Y UDP


• La diferencia clave entre TCP y UDP es la confiabilidad. La confiabilidad de la
comunicación TCP se lleva a cabo utilizando sesiones orientadas a la conexión. Antes de que
un host que utiliza TCP envíe datos a otro host, la capa de transporte inicia un proceso para
crear una conexión con el destino. Esta conexión permite el rastreo de una sesión, o stream
de comunicación entre los hosts. Este proceso asegura que cada host tenga conocimiento de
la comunicación y se prepare. Una conversación completa de TCP necesita establecer una
sesión entre los hosts de ambas
direcciones.
63

DIFERENCIAS ENTRE TCP Y UDP (2)


• Después de establecer una sesión, el destino envía un acuse de recibo al origen por los
segmentos que recibe. Estos acuses de recibo forman la base de la confiabilidad dentro
de la sesión TCP. Cuando el origen recibe un acuse de recibo, reconoce que los datos
se han entregado con éxito y puede dejar de rastrearlos. Si el origen no recibe el acuse
de recibo dentro de un tiempo predeterminado, retransmite esos datos al destino.

Parte de la carga adicional que genera el uso de TCP es el tráfico de red generado por
los acuses de recibo y las retransmisiones. El establecimiento de las sesiones genera
cargas en forma de segmentos adicionales intercambiados. Hay también sobrecarga en
los hosts individuales creada por la necesidad de mantener un registro de los
segmentos que esperan un acuse de recibo y por el proceso de retransmisión.

Esta confiabilidad se logra al tener archivos en el segmento TCP, cada uno con su
función específica, como se muestra en la figura. Estos campos se explicarán más
adelante en esta sección.
64

¿TCP O UDP?
Existe un nivel de equilibrio entre el
valor de la confiabilidad y la carga que
implica para la red.

Los desarrolladores de aplicaciones


eligen el protocolo de transporte según
los requisitos de las aplicaciones.
65

COMPARACIÓN ENTRE TCP, UDP Y SCTP


66

CONTROL DE ERRORES
• Los métodos de control de errores son básicamente dos:
• FEC (FEC - Forward Error Correction, en español: corrección de errores hacia
adelante)
• ARQ (Automatic Repeat Request, en español: Solicitud de Repetición
Automática)
67

PROTOCOLOS HÍBRIDOS
• Revisa la integridad de los paquetes recibidos, entregan información que permite corregir
algunos errores (FEC - Forward Error Correction en español: corrección de errores hacia
adelante), sin la necesidad de solicitar datos extra. Esto resulta en la no necesidad de un
canal de vuelta hacia el transmisor o de evitar retransmisiones, pero teniendo como costo un
mayor ancho de banda.
68

TIPOS DE ARQ-HÍBRIDO
• ARQ-híbrido (Automatic Repeat Request en español: Solicitud de Repetición
Automática)
• tipo 1, trabaja enviando ED (Error Detection) y FEC (Forward Error Correction) juntos
con la información. Cuando el receptor recibe, primero analiza el FEC, y si se presentan
errores, tratará de corregirlos, y luego usará el ED para determinar si es correcto. Si la
calidad del canal es mala, sólo habrá podido corregir algunos de los errores, y solicitará
retransmisiones. Si la calidad del enlace es buena, al encontrar un error éste será
corregido con el FEC y no solicitará retransmisión.
69

TIPOS DE ARQ-HÍBRIDO (2)


• ARQ-híbrido
• tipo 2: Tiene la ventaja de no perder rendimiento cuando la calidad del canal es buena.
La razón de la pérdida de rendimiento es normalmente debida a que mientras el tamaño
del código ED (como CRC (comprobacion de redundancia cíclica) no excede los
cuantos bytes, el código FEC puede llegar a ser del triple del tamaño de la información,
disminuyendo el uso del canal para la transmisión de datos. Para evitar esto, el tipo 2
envía sólo bits ED o FEC por transmisión, alternándolos cuando la transmisión es
correcta. Primero envía data y el código ED. Si no hay errores, la transmisión termina.
70

TIPOS DE ARQ-HÍBRIDO (3)


• HARQ: Es utilizado mayoritariamente por las redes inalámbricas de telefonía
móvil, debido a la evidente vulnerabilidad de éstas en cuanto a los establecimientos
de conexión.
• HARQ es usado en HSDPA (High-Speed Downlink Packet Access) y HSUPA (High-
Speed Uplink Packet Access) los cuales proveen transmisión de alta velocidad de
bajada y subida respectivamente para redes de telefonía móvil
71

TRANSFERENCI
A FIABLE DE
DATOS
¿Cómo lograrla?
 Mecanismo de confirmaciones
 Se numeran los bytes para confirmarlos
 Los SYNs (Sincronizar números de
secuencia) establecen los números de
secuencia iniciales
72

CONTROL DE FLUJO

• Receptor lee más despacio que lo que recibe


• Buffer se desbordaría
• Receptor informa a emisor del espacio libre
limitado
73

TÉCNICAS DE CONTROL DE FLUJO:

• Parada y Espera (Stop-and-Wait)


1. El emisor espera una confirmación por cada trama transmitida
2. La siguiente trama se envía sólo cuando se recibe la confirmación
3. El tiempo total para transmitir una trama incluye el tiempo
necesario para transmitir su confirmación.
74

• Ventaja: simplicidad (cada trama se transmite y se confirma


individualmente)
• Desventaja: ineficiencia (cada trama y su confirmación recorren todo
el camino entre el emisor y el receptor antes de poder enviar la
siguiente trama)
75

VENTANA DESLIZANTE (SLIDING


WINDOW)
• El emisor puede enviar varias tramas antes de recibir una confirmación
• Permite aprovechar de forma más eficiente la capacidad del canal
• El receptor confirma la recepción de tramas de vez en cuando
• Una o más tramas pueden ser confirmadas en cualquier momento
• La ventana (buffer) almacena un número determinado de tramas
76

VENTANA DESLIZANTE (SLIDING


WINDOW) (2)
• Esta técnica requiere un esquema de numeración de tramas para poder realizar un seguimiento de las
tramas enviadas y recibidas:
La numeración depende del tamaño de la ventana
Las tramas se numeran en módulo n, es decir, de 0 a n-1
El tamaño máximo de la ventana es n-1(¡¡¡ y no n!!!)

• Confirmación de las tramas:


Confirmación de varias tramas (múltiple) con un único ACK(Campo significativo de acuse de recibo)
Los ACKs incluyen el número de la próxima trama esperada
Como máximo se pueden enviar n-1tramas antes de recibir un ACK
77

VENTANA DEL EMISOR


• La ventana tiene inicialmente espacio para n-1tramas.
• El tamaño de la ventana en cada momento equivale al número de tramas
que se pueden enviar.
• Envío de una trama.
• El límite izquierdo de la ventana avanza.
• Recepción de un ACK(Campo significativo de acuse de recibo).
• El límite derecho de la ventana avanza.
78

VENTANA
• La ventana tiene inicialmente espacio para n-1tramas
DEL RECEPTOR
• El tamaño de la ventana en cada momento equivale al número de tramas
que se pueden aceptar
• Recepción de una trama
El límite izquierdo de la ventana avanza
• Envío de un ACK
El límite derecho de la ventana avanza
79

CONTROL DE FLUJO PARA RECUPERACIÓN


DE ERRORES
• La recuperación de errores mediante ARQ (Solicitud de Repetición Automática ) se
implementa junto con el control de flujo parada y espera como:
• Parada y espera con ARQ (stop-and-wait ARQ)
• Ventana deslizante (ventana deslizante con ARQ):
• Vuelta atrás N (go-back-n)
• Rechazo selectivo (selective reject)
80

PARADA Y ESPERA CON ARQ (STOP-


AND-WAIT ARQ)
El emisor guarda una copia de la última trama transmitida hasta que recibe el ACK
correspondiente
El receptor puede responder con un ACK(Solicitud de Repetición Automática) o un
NAK(Confirmación negativa).
• Las tramas de datos y las tramas ACK se numeran con 0/1
• Permite identificar y descartar las tramas duplicadas
81

LAS TRAMAS NAK(CONFIRMACIÓN NEGATIVA)

• Asienten negativamente una


trama de datos errónea.
• Indican la retransmisión
de la última trama de datos.
TRAMA ACK PERDIDA
82
83

VENTANA DESLIZANTE CON ARQ


El receptor puede responder con un ACK o un NAK:
• Las tramas de datos, las tramas ACK y las tramas NAK están
numeradas:
• Las tramas ACK llevan el número de la trama esperada
• Las tramas NAK llevan el número de la trama errónea y también
sirven para confirmar positivamente todas las tramas anteriores a la
errónea
84

PROTOCOLO GO BACK-N

• Número de secuencia en el paquete


• Se permite una ventana de N paquetes sin confirmar
• Cada ACK confirma todos los paquetes anteriores
• Timeout(se acabo el tiempo) al iniciar la ventana
• Si caduca el timeout se retransmite la ventana
85

EVENTOS EN EL EMISOR (GO


• Recibo un ACK BACK-N)
• Avanza la ventana hasta la posición confirmada
• Si aun quedan paquetes pendientes recalcular el temporizador
• Al aumentar base puede enviar los siguientes paquetes de la
aplicación hasta llenar la ventana.
• Caduca el timeout del primer paquete de la ventana
• Reenvía todos los paquetes enviados en la ventana
• Reinicia el temporizador
86
87

EVENTOS EN EL RECEPTOR (GO


BACK-N)
¿Qué hace si…?

• Llega el paquete esperado


 Envía un ACK indicando el siguiente esperado
 Entrega datos al nivel superior
• Llega otro paquete
 Envía un ACK indicando el paquete que estoy esperando
 Descarta los datos
88

RECHAZO SELECTIVO (SELECTIVE REJECT)


• Difiere de vuelta atrás N en que:
• El emisor debe disponer de un mecanismo de búsqueda que le permita
seleccionar la trama cuya retransmisión fue solicitada (el receptor detectó
una trama de datos perdida o errónea y solicitó su retransmisión mediante
una trama NAK)
• El emisor sólo retransmite la trama de datos perdida o errónea
• El receptor debe almacenar las tramas recibidas después de enviar un NAK
hasta que la trama dañada sea reemplazada
• El receptor debe ser capaz de reordenar las tramas recibidas
89

RECHAZO SELECTIVO (SELECTIVE


REJECT)
90

PROTOCOLOS DEL NIVEL DE


ENLACE
• Características:
Independencia del nivel físico
Soporte de actividad bidireccional simultánea
Adaptación a diferentes aplicaciones/entornos
Eficiencia (relación entre los bits de información
Transportados y los bits de control del protocolo)
Robustez
Fiabilidad
91

CONEXIÓN DIRECTA ENTRE HOSTS


• Enlace punto a punto entre dos DTEs (Equipo terminal de datos)
• Extremo a extremo
• Servicio orientado a conexión
• Control de flujo:
• Parada y espera (R↓): Kermit
• Ventana deslizante (d↑o R↑): HDLC (High-Level Data Link Control)(Control de enlace de
datos de alto nivel)
92

• Controlador + terminales
• Enlace multipunto
• Un DTE maestro y varios DTEs (Equipo terminal de datos) esclavos
• Coordinación centralizada (sondeo/selección)
• Extremo a extremo
• Servicio orientado a conexión
• Control de flujo:
• Parada y espera (R↓): BSC (Binary Synchronous Control)(Control síncrono
binario)
• Ventana deslizante (d↑o R↑): HDLC (High-Level Data Link Control)(Control de
enlace de datos de alto nivel)
93

REDES WAN (WIDE AREA


NETWORK – RED DE AREA
AMPLIA)
• Enlace punto a punto
• Significado local(entre DTE (Equipo terminal
de datos)y DCE (Equipo de terminación del
circuito de datos), o entre DCE y DCE)
• Servicio orientado a conexión
• Control de flujo:
• PPP (Point-to-Point Protocol): basado en
HDLC (Control de enlace de datos de alto
nivel)
• Acceso doméstico (módems, ADSL (Linea de
abonado digital asimetrica)
• Interconexión de routers
94

REDES LAN (LOCAL AREA


NETWORK – RED DE AREA LOCAL)
• Enlace multipunto
• Extremo a extremo d↓, R↑ y tasa de errores muy baja
• Control de flujo en niveles superiores
• Protocolo dividido en dos subcapas (Ethernet): LLC (Logical Link Control): basado en
HDLC
• MAC (Media Access Control): coordinación por contienda
95

PROTOCOLO HDLC (HIGH-LEVEL


DATA LINK CONTROL)
• Todos los protocolos del nivel de enlace actuales son subclases de HDLC o se basan en
HDLC
• Tipos de estaciones: primarias, secundarias y combinadas
• Configuración del enlace: punto a punto y multipunto
• Modos de operación: NRM(Normal Response Mode), ARM(Asynchronous Response Mode)
y ABM(Asynchronous Balanced Mode)
• Tramas monoformato: tramas I, tramas S y tramas U
• Clases de procedimiento: subclases de HDLC
• Interfaz del protocolo
96
97

PPP (POINT-TO-POINT PROTOCOL)


• Diferentes protocolos de autenticación
• Múltiples protocolos del nivel de red de manera simultánea
• Asignación dinámica de direcciones de red
• Detección de errores (tramas PPP erróneas)
• Detección de fallos en el enlace y notificación al nivel de red
• PPP no soporta ni control de flujo ni enlaces multipunto
98

RESUMEN
• El rol de la capa de transporte es proporcionar tres funciones principales:
• multiplexación, segmentación y rearmado, y verificación de errores.
• Estas funciones son necesarias para abordar cuestiones de calidad de servicio y seguridad en
las redes.
• El conocimiento sobre el funcionamiento de TCP y UDP y las aplicaciones populares que
utilizan cada protocolo permite la implementación de calidad de servicio y el armado de
redes más confiables.
• Los puertos proporcionan un “túnel” para que los datos pasen de la capa de transporte a la
aplicación correcta en el destino.
99

COMPARACIÓN CON MODELO


TCP/IP

IR

También podría gustarte