TCP y UDP
https://engineerdesistemas.blogspot.com/2012/03/tcp-y-udp.html
Uso de puertos. TCP y UDP, como protocolos de transporte, deben proporcionar comunicación proceso a proceso. Esto es llevado a cabo utilizando los puertos. Los números de puertos se utilizan para dirigir los mensajes hacia los procesos desplegados en un computador, y sólo son válidos para ese computador. Un número de puerto es un entero de 16 bits. Una vez que un paquete IP ha sido entregado en el host destino, la capa TCP-UDP los despacha hacia el proceso indicado en el número de puerto.
Características de TCP. TCP proporciona un servicio de transporte mucho más sofisticado. Proporciona entrega fiable de secuencias de bytes grandes por vía de la abstracción de la programación basada en streams.
La capa TCP incluye mecanismos para cumplir con el compromiso de fiabilidad. Éstos son:
Secuenciación: el proceso emisor TCP divide los flujos en una secuencia de segmentos de datos que se transmiten como paquetes IP. A cada segmento TCP se le asocia un número de secuencia.
Proporciona el número de byte correspondiente al primer byte del segmento dentro del stream. El receptor utiliza los números de secuencia para ordenar los segmentos recibidos antes de colocarlos en el stream se entrada del proceso receptor. No puede colocarse ningún segmento en el flujo de entrada hasta que todos los segmentos con números de secuencia inferiores hayan sido recibidos y colocados en el stream, se modo que los segmentos que lleguen desordenados debe reposar en un búfer hasta que lleguen sus predecesores.
Control del flujo. El emisor tiene cuidado de no saturar el receptor o a los nodos intermedio. Esto se consigue con un sistema de acuses de recibo por segmento. Siempre que el receptor envía al emisor un reconocimiento indicando el número de secuencia mayor de los recibidos junto con un tamaño de ventana. Si existe un flujo de datos inverso, los reconocimientos se incluyen en los segmentos de datos normales, en otro caso se transmiten como segmentos de reconocimiento. El campo de tamaño de ventana en el segmento de reconocimiento indica la cantidad de datos que el emisor tiene permiso para enviar antes del siguiente reconocimiento.
Retransmisión: el emisor registra los números de secuencia de los segmentos que envía. Cuando recibe un reconocimiento asume que los segmentos aludidos han sido recibidos satisfactoriamente, por lo que pueden ser borrados de los búferes de salida. Cualquier segmento que no haya sido reconocido en un tiempo límite fijado, será retransmitido por el emisor.
Almacenamiento: el búfer de entrada en el receptor se utiliza para equilibrar el flujo entre el emisor y el receptor. Si el proceso receptor genera operaciones recibe más despacio que el emisor genera operaciones envía, la cantidad de datos en el búfer puede crecer. La información normalmente se extraerá del búfer antes de que éste se llene, aunque al final el búfer puede desbordarse y los segmentos entrantes serán desechados, sin registrarse su llegada. Por lo tanto, su llegada no será reconocida y el emisor se verá obligado a retransmitirlos de nuevo.
Características de TCP. TCP proporciona un servicio de transporte mucho más sofisticado. Proporciona entrega fiable de secuencias de bytes grandes por vía de la abstracción de la programación basada en streams.
La capa TCP incluye mecanismos para cumplir con el compromiso de fiabilidad. Éstos son:
Secuenciación: el proceso emisor TCP divide los flujos en una secuencia de segmentos de datos que se transmiten como paquetes IP. A cada segmento TCP se le asocia un número de secuencia.
Proporciona el número de byte correspondiente al primer byte del segmento dentro del stream. El receptor utiliza los números de secuencia para ordenar los segmentos recibidos antes de colocarlos en el stream se entrada del proceso receptor. No puede colocarse ningún segmento en el flujo de entrada hasta que todos los segmentos con números de secuencia inferiores hayan sido recibidos y colocados en el stream, se modo que los segmentos que lleguen desordenados debe reposar en un búfer hasta que lleguen sus predecesores.
Control del flujo. El emisor tiene cuidado de no saturar el receptor o a los nodos intermedio. Esto se consigue con un sistema de acuses de recibo por segmento. Siempre que el receptor envía al emisor un reconocimiento indicando el número de secuencia mayor de los recibidos junto con un tamaño de ventana. Si existe un flujo de datos inverso, los reconocimientos se incluyen en los segmentos de datos normales, en otro caso se transmiten como segmentos de reconocimiento. El campo de tamaño de ventana en el segmento de reconocimiento indica la cantidad de datos que el emisor tiene permiso para enviar antes del siguiente reconocimiento.
Retransmisión: el emisor registra los números de secuencia de los segmentos que envía. Cuando recibe un reconocimiento asume que los segmentos aludidos han sido recibidos satisfactoriamente, por lo que pueden ser borrados de los búferes de salida. Cualquier segmento que no haya sido reconocido en un tiempo límite fijado, será retransmitido por el emisor.
Almacenamiento: el búfer de entrada en el receptor se utiliza para equilibrar el flujo entre el emisor y el receptor. Si el proceso receptor genera operaciones recibe más despacio que el emisor genera operaciones envía, la cantidad de datos en el búfer puede crecer. La información normalmente se extraerá del búfer antes de que éste se llene, aunque al final el búfer puede desbordarse y los segmentos entrantes serán desechados, sin registrarse su llegada. Por lo tanto, su llegada no será reconocida y el emisor se verá obligado a retransmitirlos de nuevo.