2021 年に出た WebRTC 関連 RFC 一覧
ライセンス
Creative Commons — 表示 - 非営利 - 改変禁止 4.0 国際 — CC BY-NC-ND 4.0
前提
- Session Initiation Protocol (SIP) 系は除きます
- Controlling Multiple Streams for Telepresence (CLUE) 系は除きます
定義
- 実装者
- WebRTC スタック実装者
- 開発者
- SDK などを利用したアプリ開発者
保留
RFC 8825: Overview: Real-Time Protocols for Browser-Based Applications
- WebRTC の概要についてかなり細かく書かれている
- プロトコル自体の話は書かれていない
- 必読
RFC 8826: Security Considerations for WebRTC
- WebRTC におけるセキュリティの懸念点について書かれている
- シグナリング、ローカルデバイスへのアクセス、画面共有、悪意ある接続者などの脅威について
- 読みたい人は読んだ方がいい
RFC 8827: WebRTC Security Architecture
- WebRTC におけるセキュリティアーキテクチャについて書かれている
- ただ、現在はほぼ使われていない話が多い
- 読まなくていい
RFC 8828: WebRTC IP Address Handling Requirements
- WebRTC 利用時におけるクライアントの IP アドレスの取得方法について
- 古いので mDNS の話がない
- 読まなくていい
RFC 8830: WebRTC MediaStream Identification in the Session Description Protocol
- SDP において WebRTC MediaStream を表現する仕組み
- MediaStreamTrack は m=audio m=video とそれぞれ別なのでそれをグルーピングする msid というのを用意する
- 必読
RFC 8831: WebRTC Data Channels
- WebRTC DataChannel の仕組みがしっかりと書かれている
- ユースケースが思ったより参考になる
- DataChannel 関連扱うなら必読
RFC 8832: WebRTC Data Channel Establishment Protocol
- SCTP 確立後に DataChunk 上でやりとりされる DataChannel 確立プロトコルについて書かれている
- DataChannel の label や順番保証、再送などの SCTP 上の独自仕様について
- DataChannel 関連扱うなら必読
RFC 8834: Media Transport and Use of RTP in WebRTC
- WebRTC の Media Channel での RTP/RTCP 利用について書かれている
- 幅広く、丁寧に書かれている
- 必読
RFC 8835: Transports for WebRTC
- WebRTC 利用時のファイアーウォール、TURN、NAT などについて書かれている
- WebRTC の DataChannel は SCTP over DTLS over ICE をサポートする必要がある
- 実装者は読んだ方がいいが、それ以外は読まなくていい
RFC 8836: Congestion Control Requirements for Interactive Real-Time Media
- リアルタイムメディアにおける輻輳制御の話が書かれている
- P2P で RTP 利用前提
- 実装者のみ読めばいい
RFC 8837: Differentiated Services Code Point (DSCP) Packet Markings for WebRTC QoS
- WebRTC の MediaCHannel QoS を実現するための仕組み
- Differentiated Services Code Point(DSCP)を利用
- 読みたい人だけ読めばいい
- セッション確立までの時間を短くする TricleICE の話
- 全てのローカル候補が見つかり次第、相手に投げつける仕組み
- 実装者は必読、開発者は興味があれば
- ICE 情報を SDP offer/answer でやりとりする仕組みについて
- ice-lite についても書いてある
- 開発者は読むとレベルが上がる
- DataChannel で利用している SCTP over DTLS の SDP offer/answer について
- m=application で SCTP と DTLS を利用する場合、 SDP でどう表現するか
- 実装者のみ必読
RFC 8844: Unknown Key-Share Attacks on Uses of TLS with the Session Description Protocol (SDP)
- SDP で TLS 証明書フィンガープリントを送る際の攻撃について
- TLS 拡張による防御対策
- 実装者のみ読んだ方がいい
RFC 8851: RTP Payload Format Restrictions
- SDP において RTP の rid を利用しペイロードを制限する
- そもそも WebRTC に実装されていない
- 実装者のみ流し読み
RFC 8852: RTP Stream Identifier Source Description (SDES)
- ストリームに SSRC 以外の名前を付ける RTP ヘッダー拡張の話
- Simulcast を利用する場合には必須
- 実装者のみ必読
RFC 8853: Using Simulcast in Session Description Protocol (SDP) and RTP Sessions
- Simulcast 利用時の SDP について
- ほぼこの仕様書にしかない情報がやまもり
- 実装者のみ必読
RFC 8854: WebRTC Forward Error Correction Requirements
- WebRTC における FEC について
- 音声では Opus FEC 、映像では Flexible FEC が推奨されている
- 実装者のみ必読
- RTP/RTCP 多重化について
- すでに WebRTC ではデフォルトになっている
- 実装者のみ必読
RFC 8860: Sending Multiple Types of Media in a Single RTP Session
- 同一ポートで複数のメディアタイプを転送する仕組み
- すでに WebRTC ではデフォルトになっている
- 実装者のみ必読
RFC 8863: Interactive Connectivity Establishment Patiently Awaiting Connectivity (ICE PAC)
- 新しい ICE 候補が見つかる前に今把握している ICE 候補が失敗したときに失敗したと見なさず少しだけ待機することで接続性を高くする仕組みについて
- ICE ペアリングの失敗確率を減らす
- 興味がある人だけ読めばいい
RFC 8866: SDP: Session Description Protocol
- SDP について
- RFC 4566 からの変更点
- att-field は attribute-name になった
- k= 廃止
- 大文字と小文字を区別しない
- 実装者は必読
RFC 8867: Test Cases for Evaluating Congestion Control for Interactive Real-Time Media
- RTP において輻輳制御アルゴリズムのパフォーマンス評価に利用するテストケースについて
- テストケースなのでそもそもめんどくさい
- 興味があれば
RFC 8868: Evaluating Congestion Control for Interactive Real-Time Media
- RTP において輻輳制御アルゴリズムのパフォーマンス評価するためのガイドライン
- メトリクス、共通 RTP ログ
- 興味があれば
RFC 8869: Evaluation Test Cases for Interactive Real-Time Media over Wireless Networks
- ワイヤレスネットワークを介した RTP において輻輳制御アルゴリズムのパフォーマンス評価に利用するテストケースについて
- 相当、幅広い知識が必要
- 興味があれば
RFC 8870: Encrypted Key Transport for DTLS and Secure RTP
- 使われていないので読まなくて良い
RFC 8871: A Solution Framework for Private Media in Privacy-Enhanced RTP Conferencing (PERC)
- WebRTC における E2EE の古い仕様
- 現在は SFrame へ
- 読まなくていい
RFC 8872: Guidelines for Using the Multiplexing Features of RTP to Support Multiple Media Streams
- RTP の多重化機能を利用し複数のメディアストリームをサポートするためのガイドライン
- サイマルキャストで mid や rid で複数 ssrc をつけたりする場合の話
- 実装者必読
RFC 8888: RTP Control Protocol (RTCP) Feedback for Congestion Control
- 輻輳制御のための RTCP フィードバックについて
- WebRTC には未実装
- 興味があれば