Mejor respuesta
La especificación dice que usa TCP, por obvias razones de seguridad. TCP es más lento, pero no corre el riesgo de perder paquetes. UDP se usa cuando la velocidad es necesaria y no te preocupas por las pérdidas aquí y allá. Normalmente se transmiten datos como chat de audio o video. Si realiza un chat de video y hay un error en la pantalla o una frase que no escuchó. Lo más probable es que sea un paquete perdido de UDP para usted.
Dicho esto, no significa que no pueda tener un UDP confiable. Simplemente significa que la confiabilidad no es parte del protocolo en sí. Algunos softwares usan UDP para aumentar la velocidad e intentan implementar la seguridad de una manera diferente y más rápida que TCP.
No lo recuerdo, pero creo que una versión de SSH hace eso. Pero es notorio que existe una alternativa a SSH llamada «Mosh» y se implementa como acabo de describir. Utiliza UDP y la seguridad está implementada en el propio software.
Respuesta
La pregunta que respondí fue “ ¿Cómo puedo aprender los aspectos internos del protocolo TCP / IP? Me gustaría hacer esto siguiendo la forma en que se implementa en algunos marcos web populares. ”
Los frameworks web no saben nada sobre los aspectos internos del protocolo TCP / IP.
Los servidores web (y clientes) saben algo sobre cómo interactuar con la API de los sistemas operativos con sus componentes TCP / IP.
Los diferentes sistemas operativos implementarán TCP / IP de manera diferente debido a los tipos de servicios que el sistema operativo proporciona internamente. (Nota: debido a que los diferentes sistemas operativos tienen diferentes API, o al menos características en las API, puede tener comportamiento diferente con TCP / IP bajo ciertas condiciones de borde.)
Si no entiende la cli ent / servidor con TCP / IP, es posible que desee investigar primero un cliente / servidor simple. Busque primero una implementación del antiguo protocolo FTP (busque tanto un cliente simple como un servidor simple). Muchos de los conceptos utilizados por un marco web para interactuar a nivel de TCP / IP serán diferentes abstracciones de los mismos conceptos utilizados en otros modelos de cliente / servidor TCP / IP.
Mi respuesta original no abordó el TCP / IP en sí.
TCP (Protocolo de control de transmisión) se implementa en los puntos finales del host. Depende de que la IP se implemente correctamente en los puntos finales del host y en los enrutadores intermedios, y de que el enrutamiento funcione correctamente para que las implementaciones de IP del punto final del host elijan la interfaz de red correcta para usar, y para que los enrutadores intermedios elijan la forma correcta de reenviar datagramas IP.
Puede comenzar leyendo las RFC relevantes para TCP e IP. Una búsqueda en Google te ayudará a encontrarlos. Los tutoriales sobre enrutamiento y los protocolos utilizados para administrar el enrutamiento son toda una carrera.