Skip to content

Relative Drafts And Usages

backkem edited this page Jul 11, 2018 · 22 revisions

TODO

  • List the protocols used in the project
  • What are the issues that these protocols used to solve

Protocols

These are the protocols that make up the full WebRTC stack. The listed Sub-protocols are mentioned in the WebRTC spec.

WebRTC

API spec: https://w3c.github.io/webrtc-pc/

Protocol overview: https://tools.ietf.org/wg/rtcweb/

Transports overview: https://tools.ietf.org/html/draft-ietf-rtcweb-transports

Data-channel overview: https://tools.ietf.org/html/draft-ietf-rtcweb-data-channel

ICE

Spec: RFC5245Bis

Usage: Used to establish a p2p connection by gathering network addresses using STUN and TURN and trying different combinations.

Sub-specs:

SDP

Spec: RFC4566

Usage: Used to negotiate capabilities between peers. The capabilities include but are not limited to: networking details, media tracks, data channel information.

Extensions

STUN

Spec: RFC5389

Usage: Used to identify your external IP address and keep a NAT binding alive until a direct connection to a peer can be established.

Sub-specs:

TURN

Spec: RFC5766

Usage: Used to relay network traffic through the TRUN server. This is required in networks where direct p2p connection cannot be established due to highly restrictive NAT(s).

Sub-specs:

RTP

Spec: RFC3550

Usage: The real-time transport protocol provides end-to-end network transport functions suitable for applications transmitting real-time data, such as audio or video.

Sub-specs:

  • RFC5761 Multiplexing RTP data packets and RTP Control Protocol
  • RFC7022 Canonical Names (CNAMEs)
  • RFC8108 Sending Multiple RTP Streams in a Single RTP Session

DTLS

Spec: RFC6347

Usage: Datagram Transport Layer Security

Sub-specs:

SCTP

Spec: RFC4960

Usage: Stream Control Transmission Protocol

Sub-specs:

  • RFC3758: SCTP Partial Reliability Extension
  • RFC7496: Additional Policies for Partially Reliable Extension
  • RFC6525: SCTP Stream Reconfiguration
  • RFC8260: Stream Schedulers and User Message Interleaving for the SCTP
  • RFC8261: DTLS Encapsulation of SCTP Packets
  • RFC4821: Packetization Layer Path MTU Discovery
  • RFC4820: Padding Chunk and Parameter for SCTP
  • RFC5061: SCTP Dynamic Address Reconfiguration