tcp udp webrtc channel transport

¿WebRTC usa TCP o UDP?



channel transport (1)

  1. Puede usar cualquiera. Por defecto, se da preferencia a UDP, pero dependiendo de los firewalls entre los pares que lo conectan, solo se puede conectar con TCP. Puede usar Wireshark para capturar paquetes y verificar si se está utilizando TCP o UDP. En Chrome también puede ver detalles sobre el candidato seleccionado ( googActiveConnection ) yendo a chrome://webrtc-internals .

  2. El "modo de confiabilidad" probablemente se refiere al modo de confiabilidad del DataChannel , que puede configurarse para ejecutarse en modo confiable o no confiable. DTLS se refiere al método actualmente opcional, pero pronto por defecto, de intercambiar claves de cifrado (el otro modo obsoleto es SDES). Firefox solo es compatible con DTLS, por lo que para la interoperabilidad del navegador, deberá habilitarlo en Chrome .

  3. RTCPeerConnection (medios) usará TCP o UDP, mientras que DataChannel usa SCTP. La implementación de SCTP utilizada por Firefox se implementa sobre UDP: https://code.google.com/p/sctp-refimpl/ .

  4. Es posible filtrar los candidatos ICE TCP o UDP antes de agregarlos con addIceCandidate . En general, no debe intentar forzar el transporte utilizado, ya que WebRTC simplemente "hará lo correcto". El navegador no limita el número de conexiones TCP utilizadas por WebRTC más allá de cualquier límite en RTCPeerConnection o DataChannel (es decir, si puede tener 10 PeerConnections, cada una puede usar TCP sin ningún problema).

Esto suena como una pregunta muy básica, pero necesito una confirmación

  1. ¿Utiliza WebRTC TCP o UDP como transporte de igual a igual? Cómo puedo saber ?
  2. Leí que hay modo de confiabilidad y acuerdo de DTLS, ¿cómo afectan?
  3. ¿Es este transporte el mismo para Media y DataChannel?
  4. ¿Cómo cambio entre TCP y UDP?

Pregunto esto porque sé que los navegadores tienen un límite en el número de conexiones paralelas (creo que hablan de TCP), y tal vez la conexión UDP no esté limitada.