El modelo TCP - PowerPoint PPT Presentation

1 / 28
About This Presentation
Title:

El modelo TCP

Description:

Act a en el equivalente a la capa de transporte del modelo OSI. ... continuos, con TCP convirtiendo los datos en segmentos individuales controlados ... – PowerPoint PPT presentation

Number of Views:127
Avg rating:3.0/5.0
Slides: 29
Provided by: tana150
Category:
Tags: tcp | continuos | modelo

less

Transcript and Presenter's Notes

Title: El modelo TCP


1
El modelo TCP
RFC 793 STD 7
  • Giannella Ligato

2
Comparación de capas entre los modelos OSI y
TCP/IP
3
TCP es un protocolo de nivel 4.Actúa en el
equivalente a la capa de transporte del modelo
OSI.
La RFC 793 determina que el Protocol ID para
TCP es el 6. Cuando un sistema recibe un
datagrama IP que dice contener Protocol 6, éste
debe pasar los contenidos del datagrama a TCP
para su procesamiento.
4
Tipo de transmisión y tipo de protocolo
TCP es un protocolo confiable, para ser usado por
aplicaciones orientadas a la transacción. TCP
establece un circuito de comunicaciones
administrado, full-duplex y punto a punto para
ser usado por protocolos de aplicación. Cada vez
que se necesita enviar datos entre dos
aplicaciones basadas en TCP, se establece un
circuito virtual entre los dos proveedores de
TCP, y se realiza un intercambio de datos de
aplicaciones altamente controlado. Una vez que
todos los datos han sido exitosamente enviados y
recibidos, la conexión finaliza.
5
Tipo de servicio que da
  • El servicio que da TCP está orientado a conexión.
    Esto significa que se requiere
  • Establecer la conexión
  • Mantener la conexión
  • Liberar la conexión

Los servicios orientados a la conexión garantizan
que los datos lleguen en la secuencia correcta, y
que la conexión es confiable. Es necesario que
TCP sea orientado a la conexión dado que IP (con
el que trabaja estrechamente) no es un protocolo
confiable.
6
TCP otorga 5 servicios clave a las capas
superiores
  • Circuitos virtuales
  • Administración de I/O de aplicaciones
  • Administración de I/O de red
  • Control de flujo
  • Confiabilidad

7
- Circuitos virtualesCada vez que dos
aplicaciones necesitan comunicarse vía TCP, se
establece un circuito virtual entre dos endpoints
TCP. El circuito virtual está en el corazón del
diseño de TCP, y provee fiabilidad, control de
flujo y herramientas de administración de I/O que
lo distinguen de otros protocolos, como UDP. -
Administración de I/O de aplicacionesLas
aplicaciones se comunican entre sí enviando datos
al proveedor local de TCP, que luego transmite
los datos a través del circuito virtual a su
destino para ser entregados a la aplicación
correspondiente. TCP provee un buffer de I/O para
uso de las aplicaciones, permitiéndoles enviar y
recibir datos como streams continuos, con TCP
convirtiendo los datos en segmentos individuales
controlados que se envían a través de IP.
8
  • Administración de I/O de red
  • Cuando TCP necesita enviar datos a otro sistema,
    usa IP para la entrega. Pero TCP también debe
    proveer servicios de administración de I/O de red
    a IP, mediante la construcción de segmentos que
    puedan viajar en forma efectiva sobre la red IP,
    y luego reconvirtiendo los segmentos individuales
    en streams de datos apropiados para las
    aplicaciones.
  • Control de flujoLos diferentes hosts de una red
    tienen distintas características, y no todos
    ellos pueden enviar y recibir los datos con la
    misma velocidad es por eso que TCP debe ser
    capaz de manejar estas variaciones, de manera tal
    que resulten transparentes para las aplicaciones.

9
  • ConfiabilidadTCP provee un servicio de
    transporte confiable mediante el monitoreo de los
    datos que envía. TCP usa números de secuencia
    para monitorear bytes individuales,
    acknowledgment flags (indicadores de
    reconocimiento) para determinar si algunos de
    esos bytes se perdieron y checksums (sumas de
    comprobación) para validar los datos. Todos estos
    mecanismos, al trabajar en conjunto, hacen que
    TCP sea altamente fiable.
  • Estos 5 servicios hacen de TCP un protocolo de
    transporte muy robusto.

10
Métodos de control de flujo
  • El sistema emisor ajusta la tasa de transmisión a
    la que enviará los datos al sistema receptor. La
    variación de esta tasa está ligada, entre otras
    cosas, al espacio en buffer del sistema receptor
    y a las características de manejo de paquetes en
    la red. Es por eso que TCP incorpora varios
    mecanismos de control de flujo, permitiéndole al
    sistema reaccionar fácilmente ante la necesidad
    de estos cambios.
  • Ventana deslizante
  • Esquema de otorgamiento de créditos

11
  • Ventana deslizante Cuando un emisor manda un
    segmento, inicia un reloj. El destino responde
    con un segmento que contiene un acuse de recibo
    (acknowledgment flag) con un número de acuse
    igual al próximo número de secuencia que espera.
    Si el reloj termina antes de que llegue el acuse,
    el emisor manda el segmento de nuevo (ver
    retransmisión).
  • Sistema de créditos Además de advertirle al
    emisor el tamaño de la ventana, el receptor
    otorga créditos al emisor para indicarle
    cuántos segmentos puede enviarle antes de que los
    acuses de recibo de los segmentos enviados
    anteriormente lleguen nuevamente al emisor. Esto
    le permite a un endpoint enviar datos aunque los
    datos precedentes no hayan sido todavía acusados
    (acknowledged), confiando que llegará su acuse
    antes del tiempo límite establecido.

12
Métodos de control de errores
  • TCP usa el método de retransmisión para controlar
    errores, íntimamente ligado a la ventana
    deslizante. Para ello utiliza
  • Checksums (sumas de comprobación)
  • Números de secuencia
  • Acknowlegments (acuses de recibo correcto)
  • Timers (relojes)

13
  • ChecksumsTCP usa sumas de comprobación para cada
    segmento enviado, permitiendo al destinatario
    verificar que los datos del segmento recibido son
    válidos.
  • Números de secuencia
  • Cada byte que se envía tiene un número de
    secuencia. Este número les permite al emisor y al
    receptor referirse explícitamente a un rango de
    datos, y hace que el receptor pueda reordenar los
    segmentos que lleguen desordenados, así como
    eliminar los segmentos duplicados.
  • AcknowledgementsCada byte enviado debe recibir
    su correspondiente acuse de recibo. Esta tarea se
    realiza mediante el uso de un número de
    acknowledgment, que indica que el destinatario
    recibió los datos de un segmento correctamente, y
    está listo para recibir más.
  • TimersDado que TCP usa IP para sus entregas de
    datos, algunos segmentos pueden perderse o
    corromperse en el camino. Cuando esto sucede, el
    emisor no recibe el acknowledgment
    correspondiente, con lo cual necesita
    retransmitir los datos. Para detectar este error,
    TCP incorpora un acknowledgment timer, que
    indica cuánto tiempo es necesario esperar el
    acknowledment antes de reenviar los datos.

14
Manejo de la congestión
El manejo de congestión se realiza mediante -
Tamaño de la ventana de congestión - Slow start-
Congestion avoidance (evitar la congestión)
15
  • Tamaño de la ventana de congestión
  • Para poder manejar la congestión, es necesario
    el uso de una ventana de congestión en el
    sistema emisor. Esta ventana es conceptualmente
    similar a la ventana deslizante que se expande y
    se contrae, aunque estas dos acciones se llevan a
    cabo en función del estado de la red IP (su
    capacidad de manejar los datos a enviar en un
    momento dado), y no de la capacidad de
    procesamiento de datos del receptor.
  • Slow startEl emisor debe, antes de comenzar a
    enviar datos, verificar el estado de la red IP.
    Este es el propósito de la técnica Slow Start
    (comienzo lento), que establece el tamaño de la
    ventana de congestión en el valor más bajo para
    luego ir incrementándolo hasta que la red alcance
    su punto de saturación.
  • Congestion avoidance (evitar la congestión)Cada
    vez que se detecta congestión en la red, la
    ventana de congestión se reduce a la mitad de su
    tamaño. La técnica de Congestion avoidance se
    usa para ir gradualmente ensanchando la ventana
    de congestión, alcanzando eventualmente su tamaño
    máximo. Cuando esta técnica es usada junto con la
    de Slow Start, el emisor puede determinar más
    fácilmente cuál es la tasa óptima de transmisión
    en un circuito virtual dado.

16
Direccionamiento
TCP asigna números de puerto únicos a cada
instancia de cada aplicación que usa un circuito
virtual de TCP. Estos números de puertos actúan
como extensiones, permitiendo a TCP encaminar los
datos entrantes directamente a la aplicación de
destino apropiada.
17
  • Se utiliza el término socket para identificar
    el número de puerto y la dirección IP
    concatenados.
  • Ejemplo el puerto 80 en la dirección IP
    200.62.54.110 puede referirse igualmente como
    200.62.54.11080
  • Un par de sockets consiste en los dos
    endpoints de un circuito virtual (recordemos que
    TCP trabaja punto a punto), incluyendo las
    direcciones IP y números de puertos de ambas
    aplicaciones en ambos sistemas.

18
Identificación
  • El formato de los paquetes TCP es el siguiente
  • Source port (puerto emisor)
  • Destination port (puerto receptor)
  • Sequence number (número de secuencia)
  • Acknowledgement number (número de acuse de
    recibo)
  • Header length (longitud de la cabecera)
  • Reserved (campo reservado)
  • URG-ACK-PSH-RST-SYN-FIN (flags centinelas)
  • Window (ventana)
  • Checksum (suma de comprobación)
  • Urgent pointer (puntero de urgencia)
  • Options (si las hay)
  • Datos

19
Entrega en orden
  • Durante el establecimiento de conexión TCP, los
    números iniciales de secuencia son intercambiados
    entre las dos entidades TCP. Estos números de
    secuencia son usados para identificar los datos
    dentro del flujo de bytes, y poder identificar (y
    contar) los bytes de los datos de la aplicación.
    Siempre hay un par de números de secuencia
    incluidos en todo segmento TCP, referidos al
    número de secuencia y al número de asentimiento.
    Un emisor TCP se refiere a su propio número de
    secuencia cuando habla de número de secuencia,
    mientras que con el número de asentimiento se
    refiere al número de secuencia del receptor.

20
Multiplexación
  • Está definida por convenciones para compartir
    puertos y sockets entre usuarios.
  • Puede permitir que varios usuarios la utilicen
    mediante varios puertos identificados. La
    multiplexación se realiza hacia abajo,
    estableciendo varios puntos de contacto con la
    capa de red para permitir el envío de datos por
    varios circuitos virtuales, aumentando el
    rendimiento.

21
Fragmentación y MTU
  • Fragmentación Puede construir un segmento por
    cada lote de datos proporcionado por su usuario o
    puede esperar a que se acumule una cierta
    cantidad de datos antes de construir y enviar el
    segmento.
  • La fragmentación TCP emplea implementaciones
    oscuras de escaneo dividiendo el encabezado TCP
    en varios fragmentos. Luego el IP reensambla los
    fragmentos, lo que puede causar resultados
    impredecibles y anormales (los encabezados IP con
    datos pueden ser fragmentados).

22
Fragmentación y MTU
  • El encabezado TCP fragmentado mínimo permisible
    debe contener puertos destino y fuente para el
    primer paquete (8 octetos 64 bits), típicamente
    las marca (flags) inicializadas en el siguiente
    permitiendo al host remoto reensamblar el paquete
    a su llegada. El reensamblaje actual es
    establecido por el IPM (Internet Protocol Module)
    que identifica los paquetes fragmentados por los
    valores equivalentes en los campos
  • source
  • destination
  • protocol
  • Identification
  • MTU debe ser de 40 bytes

23
Priorización de envíos
  • La entidad de transporte almacena temporalmente
    los datos tanto en la transmisión como en la
    recepción. TCP normalmente aplica su propio
    criterio para decidir cuando construir un
    segmento para transmitirlo y cuando entregar los
    datos recibidos al usuario. El indicador Push
    (Forzado) se usa para obligar a que los datos
    acumulados sean enviados por el transmisor y
    entregados al usuario por el receptor. Esto sirve
    como una función de fin de bloque.

24
QoS
  • En la pila de protocolos TCP/IP, TCP es la capa
    intermedia entre el protocolo de Internet (IP) y
    la aplicación. Habitualmente, las aplicaciones
    necesitan que la comunicación sea fiable y, dado
    que la capa IP aporta un servicio de datagramas
    no fiable (sin confirmación), TCP añade las
    funciones necesarias para prestar un servicio que
    permita que la comunicación entre dos sistemas se
    efectúe
  • libre de errores.
  • en orden.
  • sin pérdidas.
  • sin duplicaciones.

25
Denominación de la PDU
  • Segmento Desde un punto de vista lógico se ve
    como un flujo de octetos.

26
Características
  • Está diseñado para proporcionar una comunicación
    fiable entre pares de procesos (usuarios TCP) a
    través de una gran variedad de redes e
    interconexiones fiables y no fiables. TCP
    proporciona dos servicios útiles para etiquetar
    los datos
  • Flujo de datos forzado
  • Señalización de datos urgentes

27
Aspectos de interés
  • Protocolo actualmente documentado por IETF RFC
    793.
  • El IETF (Internet Engineering Task Force, en
    castellano Grupo de Trabajo en Ingeniería de
    Internet) es una organización internacional
    abierta de normalización, que tiene como
    objetivos el contribuir a la ingeniería de
    Internet, actuando en diversas áreas, tales como
    transporte, encaminamiento, seguridad. Fue creada
    en EE.UU. en 1986.
  • RFC es el acrónimo inglés de Request For
    Comments. Conjunto de notas técnicas y
    organizativas donde se describen los estándares o
    recomendaciones de Internet (originalmente
    ARPANET), comenzado en 1969.
  • Dirección Web 793 http//www.ietf.org/rfc/rfc793.
    txt

28
Bibliografía
  • Stallings, William Data and computer
    communications. Prentice Hall, 2000.
  • Stallings, Williams Comunicaciones y redes de
    computadores. Séptima edición. Pearson Educación
    S. A., 2004.
  • Tanenbaum, Andrew Computer networks. Prentice
    Hall, 1996.
  • Hall, Eric Internet core protocols. OReilly,
    2000.
  • Apuntes de la cátedra.
  • Enciclopedia online Wikipedia www.wikipedia.org.
Write a Comment
User Comments (0)
About PowerShow.com