TCP – Transfer Control Protocol

Protocolo de comunicación de transporte (capa 4 OSI) orientado a conexión, garantiza que los datos serán entregados en su destino sin errores y en el mismo orden en que se transmitieron. Realiza la negociación en tres pasos (SYN, SYN/ACK y ACK), contiene algoritmos de control de flujo y control de errores «Checksums». Fue pensado para poder enviar grandes cantidades de información de forma fiable, pero debido a esto penaliza la velocidad en la transmisión, debido a la sobrecarga que implica el mantenimiento de esta fiabilidad (añade 20 bytes a la trama), por ello cuando es más importante la velocidad que la fiabilidad, se utiliza UDP (añade 8 bytes a la trama).


UDP – User Datagram Protocol

Protocolo de comunicación de transporte (capa 4 OSI) no orientado a conexión, permite el envío de datagramas de forma ágil en redes IP sin el establecimiento de una conexión previa, no tiene confirmación ni control de flujo, por lo que no hay confirmación de entrega o recepción. Suele usarse para la transmisión de audio y vídeo en tiempo real, ya que las retransmisiones no son viables debido a los requisitos de retardo. Trabaja con datagramas enteros, penaliza la fiabilidad en la transmisión a favor de la velocidad y provoca un poca carga adicional en la red debido a sus pequeñas cabeceras (solo añade 8 bytes a la trama).


SSL – Secure Sockets Layer

Antecesor a TLS, quedo deprecado el 30 de Junio de 2018


TLS – Transport Layer Security

Protocolo criptográficos, que proporcionan comunicaciones seguras por Internet. Usa certificados X.509 y criptografía asimétrica para autentificar a la parte contraria en comunicación,​ y para intercambiar una llave simétrica, esta sesión es luego usada para cifrar el flujo de datos entre las partes. Lo que proporciona confidencialidad e integridad del dato/mensaje y la autenticación de este.


DTLS – Datagram Transport Layer Security

Protocolo que proporciona seguridad a las comunicaciones basadas en protocolos de datagramas (UDP). DTLS se basa en el protocolo TLS y proporciona garantías de seguridad similares. Se usa principalmente junto con los protocolos UDP y SCTP, las aplicaciones que emplean DTLS deben lidiar con desorden de paquetes y pérdida de datos.


SCTP – Stream Control Transmission Protocol

Este protocolo es una alternativa a los protocolos de transporte TCP y UDP (capa 4 OSI) que provee confiabilidad, control de flujo y secuenciación como TCP, no obstante SCTP permite el envío de mensajes fuera de orden y a diferencia de TCP, SCTP es un protocolo orientado al mensaje (no orientado a conexión), lo que conlleva ventajas en la velocidad de la transmisión similar al envío de datagramas UDP, permite la transferencia multihoming y multistream y además incorpora mejoras a nivel de seguridad, utiliza cookies durante el four-way handshake evitando ataques SYN flooding (Ataques DDOS).


SDP – Session Description Protocol

Protocolo que se utiliza para describir los parámetros de inicialización de los flujos multimedia, SDP se encarga de la negociación de lo parametros de media entre los endpoints que intervienen en la sesión, como tipo de contenido, formato, y todos los demás parámetros (Códec , URI, Clave de cifrado, Origen, puerto, etc..). Este conjunto de parámetros se conoce como perfil de sesión (session profile).

Descripción de la sesión

        v=  Versión del protocolo
        o=  Origen e identificador de sesión
        s=  Nombre de sesión
        i=* Información de la sesión
        u=* URI de descripción
        e=* Correo electrónico
        p=* Número telefónico
        c=* Información de conexión
        b=* Cero o más líneas con información de ancho de banda
        Una  más líneas de descripción de tiempo (Ver abajo "t=" y "r=")
        z=* Ajustes de zona horaria
        k=* Clave de cifrado
        a=* Cero o más líneas de atributos de sesión
        
Descripción de tiempo

        t=  Tiempo durante el cual la sesión estará activa
        r=* Cero o más veces de repetición
Descripción de medios, si está presente

        m=  Nombre de medio y dirección de transporte
        i=* Título
        c=* Información de conexión
        b=* Cero o más líneas con información de ancho de banda
        k=* Clave de cifrado
        a=* Cero o más líneas de atributos de sesión

QUIC – Quick UDP Internet Connections

Protocolo de red experimental sobre la capa de transporte (capa 4 OSI) que soporta un conjunto de conexiones multiplexadas entre dos extremos sobre UDP, diseñado para proveer seguridad equivalente a TLS junto con latencia de conexión y de transporte reducidas, y estimación de ancho de banda en cada dirección para evitar la congestión. Su principal objetivo de QUIC es mejorar el rendimiento de aplicaciones web orientadas a conexión que usan actualmente TCP.


RTP – Real-time Transport Protocol

Protocolo de nivel de aplicación (capa 7 OSI) utilizado para la transmisión en tiempo real, suele utilizarse para los flujos de audio y vídeo. Generalmente usa UDP en la capa de transporte dentro del modelo TCP/IP ( aunque puede usar TCP).

RTCP – Real-time Transport Control Protocol

Protocolo de control de RTP (capa 7 OSI), no transporta ningún dato, se usa para transmitir paquetes de control, su función principal de es la de informar de la calidad de servicio RTP. Recolecta estadísticas de la conexión, información de trafico enviado, paquetes perdidos, Jitter, etc. Usa el puerto+1 usado por RTP, esto es, si el RTP fluye por el puerto 6511, RTCP usara el puerto 6512.

SRTP – Secure Real-time Transport Protocol

Se trata de un protocolo que proporciona cifrado y autenticación al protocolo RTP

SRTCP – Secure Real-time Transport Control Protocol

Proporciona las mismas características de encriptación y autenticación al protocolo RTCP

Mas especificos de WebRTC:

ICE – Interactive Connectivity Establishment

Podemos definir ICE como un protocolo que se usa para generar candidatos transversales de medios, los cuales se usan para intercambiar atributos de medios e información de red, se detallan todas las posibilidades de conexión entre pares (peer2peer o a través de TURN), de cada candidato, ICE propone primero los mejores candidatos, inicialmente los candidatos UDP , porque es más rápido y los flujos de medios pueden recuperarse fácilmente de las interrupciones (UDP es un protocolo no orientado a conexión), pero ICE también acepta candidatos TCP (protocolo orientado a la conexión [ICE-TCP]) .

ICE es importante porque es un método estándar de cruce de NAT utilizado en WebRTC, se ocupa del proceso de conexión de medios a través de NAT mediante la realización de comprobaciones de conectividad.


STUN – Session Traversal Utilities for NAT

Es un protocolo de red del tipo cliente/servidor que permite a clientes de tras de NAT encontrar su dirección IP pública, el tipo de NAT en el que se encuentra y el puerto de Internet asociado con el puerto local a través de NAT

Se sitúa en la red publica y responde a solicitudes entrantes, es usado principalmente software VoIP. Incorpora un cliente STUN que envía una petición a un servidor STUN. El servidor STUN informa entonces al cliente de la IP pública y qué puerto ha sido abierto por NAT para permitir el tráfico entrante a la red del cliente, la respuesta permite además al cliente STUN determinar el tipo de NAT en uso.

La conexión con el servidor STUN se suele llevar a cabo a través del puerto 3478 mediante UDP. El servidor STUN puede entonces facilitar al cliente una IP y un puerto alternativos de comunicación.


TURN – Traversal Using Relays around NAT

En el 80% de lo casos las conexiones se pueden resolver mediante el uso de la dirección IP local o mediante el uso de STUN y las direcciones IP públicas (P2P), cuando esto no es posible ,por ejemplo, debido a que dispositivos NAT y firewalls en uso no permiten que se produzca dicho tráfico directo, enrutamos los datos a través de un servidor público intermedio llamado TURN. Cuando usamos el servidor TURN? fácil, siempre que no se pueda establecer la configuración directa entre peers.