Monografias.com > Computación > Redes
Descargar Imprimir Comentar Ver trabajos relacionados

TCP




Enviado por lfuente



    Indice
    1.
    Introducción

    2. Protocolo de Control de
    Transmisión (TCP)

    3. Principales características de
    TCP

    4. Aperturas activa y
    pasiva

    5. El Bloque de Control de
    Transmisión (TCB)

    6. El segmento TCP
    (PDU)

    7. Conclusión
    8. Bibliografía

    1.
    Introducción

    A finales de los años 60 y principios de los
    70, las redes no
    estaban diseñadas de forma que fuera posible compartir
    recursos entre
    redes
    diferentes.
    Desde entonces se ha hecho cada vez más necesario que las
    aplicaciones de usuario compartan recursos. Pero
    para que puedan hacerlo, los administradores de las redes deben
    acordar primero un conjunto de tecnologías y normas comunes
    para que las redes puedan comunicarse.Es por eso que las
    aplicaciones como la transferencia de archivos y el
    correo
    electrónico se deberían estandarizar
    también para permitir la interacción entre
    aplicaciones de usuario.

    El Protocolo de
    Control de
    Transmisión se desarrolló con esos objetivos.
    El propósito primordial de TCP es proporcionar circuitos
    lógicos confiables o servicios de
    conexión entre parejas de procesos. Esto
    no implica confiabilidad desde protocolos de
    más bajo nivel (como IP) así
    que TCP debe garantizar esto por sí mismo.

    2. Protocolo de
    Control de
    Transmisión (TCP)

    TCP reside en el nivel de transporte del
    modelo de
    niveles convencional. Está situado entre IP y los
    niveles superiores. TCP no está cargado en las pasarelas.
    Está diseñado para residir en los computadores o en
    las máquinas
    que se ocupan de conservar la integridad de la transferencia de
    datos entre
    extremos. Lo más común es que TCP resida en los
    computadores de usuario.
    Como IP es una red no orientada a
    conexión, es TCP quien se debe encargar de las tareas de
    fiabilidad, control de flujo, secuenciamiento, aperturas y
    cierres. Aunque TCP e IP estén tan relacionados que
    incluso se les denomine juntos "TCP/IP", TCP puede soportar otros
    protocolos. Por
    ejemplo, otro protocolo no orientado a conexión como el
    ISO 8473
    (Protocolo de Redes No Orientado a Conexión o CNLP)
    podría funcionar con TCP (si se realizan algunos ajustes
    de los interfaces entre módulos). Además, los
    protocolos de aplicación, como el Protocolo de
    Transferencia de Correo Simple (de siglas en inglés,
    SMTP) se apoyan en muchos servicios que
    proporciona TCP.

    3. Principales características de TCP

    TCP suministra una serie de servicios a los niveles
    superiores. Esta sección presenta brevemente esos
    servicios.
    TCP es un protocolo orientado a conexión. Esto quiere
    decir que TCP mantiene información del estado de cada
    cadena de datos de usuario
    que circula por él. El término utilizado en este
    contexto significa también que TCP es responsable de la
    transferencia de datos entre extremos por la red o redes hasta la
    aplicación de usuario receptora (o el protocolo de nivel
    superior). TCP debe asegurar que los datos se transmiten y
    reciben correctamente por los computadores atravesando las
    correspondientes redes.
    Como TCP es un protocolo orientado a conexión, es
    responsable de la transferencia fiable de cada uno de los
    caracteres (bytes u octetos) que reciben del nivel superior
    correspondiente. En consecuencia, utiliza números de
    secuencia y aceptaciones/rechazos.
    El término asociado con estos aspectos de los protocolos
    orientados a conexión es el de circuito virtual.
    Cada octeto transmitido lleva asignado un número de
    secuencia. El módulo TCP receptor utiliza una rutina de
    checksum para comprobar la posible existencia de daños en
    los datos producidos en el proceso de
    transmisión. Si los datos son aceptables, TCP envía
    una acepción positiva (ACK) al módulo TCP
    remitente. Si los datos han resultado dañados, el TCP
    receptor los descarta y utiliza un número de secuencia
    para informar al TCP remitente del problema. Como muchos otros
    protocolos orientados a conexión, TCP emplea
    temporizadores para garantizar que no transcurre un lapso de
    tiempo
    demasiado grande antes de la transmisión de aceptaciones
    desde el nodo receptor y/o de la transmisión de datos
    desde el nodo transmisor.
    TCP recibe datos de un protocolo de nivel superior de forma
    orientada a cadenas. Esto es diferente a muchos otros protocolos
    empleados en la industria. Los
    protocolos orientados a cadenas se diseñan para enviar
    caracteres separados y no bloques, tramas, datagramas, etc. Los
    datos son enviados por un protocolo de nivel superior en forma de
    cadenas, byte a byte. Cuando llegan al nivel TCP, los bytes son
    agrupados para formar segmentos TCP. Dichos segmentos se
    transfieren a IP (o a otro protocolo de nivel inferior) para su
    transmisión al siguiente destino. La longitud de los
    segmentos de la determina TCP, aunque el realizador de un
    determinado sistema puede
    determinar la forma en que TCP toma su decisión.Los
    realizadores de TCP que han trabajado con sistemas
    orientados a bloques, como los sistemas
    operativos de IBM, puede que tengas que modificar ligeramente
    su forma de pensar acerca de las prestaciones
    de TCP. TCP admite el uso de segmentos de longitud variable,
    debido a su diseño
    orientado a cadenas. Por tanto, las aplicaciones que trabajan
    normalmente con bloques de datos de longitud fija (una
    aplicación de gestión
    de personal que
    envíe registros de
    empleados de longitud fija o una aplicación de gestión
    de nóminas
    con registros de pago
    también longitud fija) no pueden utilizar TCP para
    transmitir bloques fijos al receptor. El nivel de
    aplicación debe ocuparse de configurar los bloques dentro
    de las cadenas de TCP.
    TCP comprueba también la duplicidad de los datos. En el
    caso de que el TCP remitente decida retransmitir los datos, el
    TCP descarta los datos redundantes. Estos datos redundantes
    podrían aparecer en la interred, por ejemplo cuando el TCP
    receptor no acepta el tráfico de manera temporizada, en
    cuyo caso el TCP remitente decidirá retransmitir los
    datos.
    Además de la capacidad de transmisión de cadenas,
    TCP soporta también el concepto de
    función
    push. Esta función se
    utiliza
    cuando una aplicación desea asegurarse de que todos los
    datos que han pasado al nivel inferior se han transmitido. Para
    hacer eso, gobierna la gestión del buffer de TCP. Para
    obtener esta función, el protocolo de nivel superior
    envía una orden a TCP con un identificador de
    parámetro de push a 1. Esta operación implica que
    TCP envía todo el tráfico almacenado en forma de
    segmento o segmentos hacia su destino.
    Además de utilizar los números de secuencia para
    aceptaciones, TCP los utiliza para la reordenación de los
    segmentos que llegan a su destino fuera de orden. Como TCP
    descansa sobre un protocolo no orientado a conexión, es
    bastante posible que en la interred se creen datagramas
    duplicados. TCP también elimina los segmentos
    duplicados.
    TCP emplea un esquema de aceptación inclusiva. El
    número de aceptación acepta todos los octetos hasta
    (e incluyendo) el del número de aceptación menos
    uno. Este esquema es un método muy
    sencillo y eficiente de aceptar tráfico, pero presenta una
    desventaja. Por ejemplo, supongamos que se han transmitido diez
    segmentos y debido a las operaciones
    realizadas durante el proceso de
    encaminamiento llegan desordenados. TCP está obligado
    aceptar sólo el mayor número de bytes contiguos
    recibidos sin error. No está permitido aceptar el byte de
    mayor número recibido hasta que hayan llegado todos los
    bytes intermedios. Por tanto, como en cualquier otro protocolo
    orientado a conexión, podría transcurrir el periodo
    de temporización de aceptaciones y TCP transmisora
    retransmitiría el tráfico no aceptado
    todavía. Esas retransmisiones podrían introducir
    una considerable sobrecarga en la red.
    El módulo TCP receptor se ocupa también de
    controlar el flujo de los datos del transmisor, lo que es muy
    útil para evitar el desbordamiento de los dispositivos de
    almacenamiento y la saturación de la máquina
    receptora. La idea que utiliza TCP es algo poco usual en
    protocolos de comunicación. Se basa en enviar el
    dispositivo transmisor un valor de
    "ventana". Se permite que el transmisor envíe un
    número máximo de bytes igual al valor de su
    ventana. Cuando se ha llegado a ese valor, la ventana se cierra y
    el transmisor debe interrumpir el envío de datos.
    Además, TCP posee una facilidad muy útil que
    permite multiplexar varias sesiones de usuario en un mismo
    computador.
    Esta operación se realiza definiendo algunas convenciones
    para compartir puertos y sockets entre usuarios.
    TCP proporciona transmisión en modo dúplex integral
    entre las entidades que se comunican. De esta forma, la
    transmisión se puede efectuar en ambos sentidos sin
    necesidad de esperar a la señal de indicación de
    cambio de
    sentido, necesaria en las transmisiones semidúplex.
    Además, TCP permite a los usuarios especificar niveles de
    seguridad y
    prioridades de las conexiones. Aunque esas opciones no
    están incluidas en todos los protocolos TCP, están
    definidas en el estándar TCP.
    TCP proporciona el cierre seguro de los
    circuitos
    virtuales (la conexión lógica
    entre dos usuarios). El cierre seguro se ocupa
    de que todo el tráfico sea reconocido antes de la
    desactivación del circuito virtual.

    4. Aperturas activa y
    pasiva

    Los puertos TCP pueden establecer dos tipos de
    conexiones. El modo de apertura pasiva permite que el protocolo
    de nivel superior (por ejemplo, un servidor) indique
    al TCP y al sistema operativo
    del computador que
    va a esperar la llegada de solicitudes de conexión
    procedentes del sistema remoto,
    en lugar de enviar una apertura activa. Tras recibir esta
    solicitud, el sistema operativo
    asigna un número de puerto a este extremo. Esta utilidad se puede
    usar para realizar comunicaciones
    con usuarios remotos sin tener el retardo de la apertura
    activa.
    Los procesos de
    aplicaciones que solicitan la apertura pasiva pueden aceptar una
    solicitud de cualquier usuario (supuesto que se cumplen algunos
    requisitos de compatibilidad). Si se puede aceptar cualquier
    llamada (sin requisitos de compatibilidad) el número de
    socket exterior se pone a ceros. Los números de socket
    exterior no especificados sólo se permiten en aperturas
    pasivas.
    La segunda forma de establecimiento de conexión es el modo
    de apertura activa. En esta situación, el protocolo de
    nivel superior designa específicamente otro socket por el
    que establecer la conexión. Típicamente, se
    envía la apertura activa a un puerto con apertura pasiva
    para establecer un circuito virtual.
    TCP admite un escenario en el que se envían dos aperturas
    activas de un sistema a otro a la vez. TCP realizará la
    conexión. Esta característica permite que las aplicaciones
    envíen una apertura en cualquier momento, sin preocuparse
    de si la otra aplicación ha enviado otra apertura o
    no.
    TCP establece convenciones estrictas sobre cómo se deben
    utilizar conjuntamente las aperturas activas y pasivas. En primer
    lugar, una apertura activa identifica un socket
    específico, así como sus niveles de prioridad y de
    seguridad. TCP
    garantiza una apertura si el socket remoto tiene una apertura
    pasiva compatible, o si ha enviado una apertura activa
    compatible.

    5. El Bloque de Control de
    Transmisión (TCB)

    Como TCP debe recordar varias cosas de cada
    conexión virtual, almacena esa información en un Bloque de Control de
    Transmisión (TCB). Entre la información que se
    almacena en la TCB destacamos los números de socket local
    y remoto, los punteros a los buffers de transmisión y
    recepción, los punteros a la cola de retransmisión,
    los valores de
    seguridad y prioridad de la conexión y el segmento en
    curso. La TCB también contiene varias variables
    asociadas a los números de secuencia de envío y
    recepción.

    El segmento TCP
    Las PDU que se intercambian entre dos módulos TCP se
    denominan segmentos. El segmento se divide en dos partes, la
    parte de cabecera y la parte de datos. La parte de datos sigue a
    la parte de cabecera. Los primeros dos campos del segmento se
    denominan puerto de fuente y puerto de destino. Esos campos de 16
    bits identifican a los programas de
    aplicación de nivel superior que utilizan la
    conexión TCP.

    6. El segmento TCP
    (PDU)

    El siguiente campo se denomina número de
    secuencia. Este campo contiene el número de secuencia del
    primer octeto del campo de datos de usuario. Su valore especifica
    la posición de la cadena de bits del módulo
    transmisor. Dentro del segmento especifica el primer octeto de
    datos de usuario.
    El número de secuencia se utiliza también durante
    la operación de gestión de la conexión. Si
    dos entidades TCP utilizan el segmento de solicitud de
    conexión, entonces el número de secuencia
    especifica el número de secuencia de envío inicial
    (ISS) que se utilizará para la numeración
    subsiguiente de los datos de usuario.
    El valor del número de aceptación permite aceptar
    los datos previamente recibidos. Este campo contiene el valor del
    número de secuencia del siguiente octeto que se espera
    recibir del transmisor. Con esa definición permite la
    aceptación inclusiva, en el sentido de que permite la
    aceptación de todos los octetos hasta, e incluyendo, el
    valor de este número menos 1.
    El campo de desplazamiento de datos especifica el número
    de palabras alineadas de 32 bits de que consta la cabecera de
    TCP. Este campo se utiliza para determinar dónde comienza
    el campo de datos.
    Como puede esperarse, el campo reservado está reservado.
    Consta de 6 bits que deben valer cero. Estos bits están
    reservados para usos futuros.
    Los seis bits siguientes se denominan indicadores
    (flags). Son bits de control de TCP y se utilizan para
    especificar ciertos servicios o utilidades que se pueden emplear
    durante la sesión. El valor de algunos de esos bits indica
    cómo interpretar otros campos de la cabecera. Los seis
    bits mencionados llevan la siguiente
    información.

    • URG indica que el campo de puntero de urgencia es
      significativo.
    • ACK indica si el campo de aceptación es
      significativo.
    • PSH significa que el módulo va a utilizar la
      función push.
    • RST indica que la conexión se va a
      inicializar.
    • SYN indica que se van a sincronizar los
      números de secuencia; se utiliza en los segmentos de
      establecimiento de conexión como indicación de
      que se van a realizar algunas operaciones de
      preparación.
    • FIN indica que el remitente no tiene más datos
      para enviar. Es comparable a la señal de fin de
      transmisión (EOT) en otros protocolos.

    El campo siguiente, denominado ventana, se pone a un
    valor que indica cuántos octetos desea aceptar el
    receptor. Este valor se establece teniendo en cuenta el valor del
    campo de aceptación (número de aceptación).
    La ventana se establece sumando los valores del
    campo de ventana y del campo de número de
    aceptación.
    El campo de checksum contiene el complemento de 1 a 16 bits del
    complemento a 1 de la suma de todas las palabras de 16 bits del
    segmento, incluyendo la cabecera del texto. El
    propósito de este cálculo es
    determinar si el segmento procedente del transmisor ha llegado
    libre de errores.
    El siguiente campo del segmento, denominado puntero de urgente,
    se utiliza sólo si el indicador de URG está a 1. El
    objeto de este puntero es identificar el octeto de datos al que
    siguen datos urgentes. Los datos urgentes se denominan datos
    fuera de bada. TCP no dice lo que hay que hacer con los datos
    urgentes. Depende de la implementación. Dicho de otro
    modo, sólo se indica el lugar donde empiezan los datos
    urgentes, no lo que hay que hacer con ellos. El valor de este
    campo es un desplazamiento del número de secuencia y
    apunta al octeto a partir de cual siguen los datos urgentes.El
    campo de opciones está concebido para posibilitar futuras
    mejoras de TCP. Está diseñado de forma semejante al
    campo de opción de los datagramas de IP, en el sentido de
    que cada opción se especifica mediante un byte que
    especifica el número de opción, un campo que
    contiene la longitud de la opción y finalmente, los valores de
    la opción propiamente dichos.
    Actualmente el campo de opción tiene un uso bastante
    limitado, y el estándar TCP sólo especifica tres
    opciones:
    0 : fin de lista de opciones
    1 : no operación
    2 : tamaño máximo de segmento

    Finalmente, el campo de relleno asegura que la cabecera
    TCP ocupa un múltiplo par de 32 bits. Finalmente, como se
    muestra en la
    figura, siguen los datos de usuario.

    7.
    Conclusión

    Los protocolos de Internet se han convertido
    en una de las familias de protocolos más ampliamente
    utilizada en el mundo. Están diseñados para
    facilitar la intercomunicación de redes de
    computadores.
    Los protocolos Internet constan de muchos
    protocolos diseñados para dar soporte a las operaciones de
    comunicación entre redes..
    Además, los protocolos interred contienen una gran
    cantidad de protocolos de nivel de aplicación, como
    TELNET, el
    protocolo de transferencia de archivos
    (FTP) y el
    protocolo simple de transferencia de correo (SMTP)

    8.
    Bibliografía

    Redes de computadores. Protocolos, normas e
    interfaces.
    2.ª Edición.
    Autor: Uyless Black
    Ed. Alfaomega

     

     

    Autor:

    Leopoldo de la Fuente Silva

    Estudiante de la Universidad
    Autónoma de Tamaulipas

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter