Open10
メモ置き場
このメモについて
自分向けの資料や記事やコードをまとめてあります
自分が調べて理解したこととかも雑に書いていきます。
モチベーション
- 一カ所にまとめておきたい
- 日本語訳重視
WebTransport のフォールバックについて
- WebTransport over HTTP/3 や WebTransport using HTTP/2 ではフォールバックについては一切触れられていない
- FallbackTransport はまだドラフトが出てきていない
Fallback support への方針
- TCP へフォールバックすべき
- HTTP/2 へフォールバックすべき
- draft がでている WebTransport using HTTP/2 で行く
Fallback support についての議論
Fallback support · Issue #107 · w3c/webtransport
WebTransport using HTTP/2 について IETF 110 議論
-
https://youtu.be/FMAD8z0gyiw?t=6307
- ここからスタート
WebTransport over HTTP/3 のフォールバックは 3 つになる
- 失敗して終わり
- 自由にフォールバック先を選べる
- WebSocket over HTTP/2 など
- WebTransport over HTTP/2 へフォールバック
個人的には 3 の WebTransport over HTTP/2 へフォールバックが綺麗で嬉しそう。
IETF 110
スライド
- IETF110_WEBTRANS_WG - Google スライド
- slides-110-rtcweb-aligning-jsep-bundle-00
- slides-110-rtcweb-nat-slipstream-00
- slides-110-sframe-sframemls-00
動画
-
IETF110-RTCWEB-20210312-1200 - YouTube
- ざっと見た
- IETF110-QUIC-20210310-1200 - YouTube
-
IETF110-SFRAME-20210309-1430 - YouTube
- ざっと見た
-
IETF110-WEBTRANS-20210308-1600 - YouTube
- ざっと見た、WebTransport using HTTP/2 が良かった
- IETF110-MLS-20210308-1430 - YouTube
-
IETF110-AVTCORE-20210311-1200 - YouTube
- Audio/Video Transport Core
WebTransport
- WebTransport (webtrans) - Documents
- WebTransport
- The WebTransport Protocol Framework
- WebTransport over HTTP/3
- WebTransport using HTTP/2
- chromium/third_party/blink/renderer/modules/webtransport at master · chromium/chromium
HTTP/3
- Hypertext Transfer Protocol Version 3 (HTTP/3)
- QPACK: Header Compression for HTTP/3
- Using QUIC Datagrams with HTTP/3
- draft-bishop-httpbis-altsvc-quic-01 - Existing HTTP/2 Extensions in HTTP/3
- draft-marx-quic-qlog-h3-events-00
QUIC
- RFC 8999 - Version-Independent Properties of QUIC 日本語訳
- RFC 9000 - QUIC: A UDP-Based Multiplexed and Secure Transport 日本語訳
- RFC 9001 - Using TLS to Secure QUIC 日本語訳
- RFC 9002 - QUIC Loss Detection and Congestion Control 日本語訳
- An Unreliable Datagram Extension to QUIC
- QUIC event definitions for qlog
- draft-ietf-quic-load-balancers-06
QUIC v2
Media over QUIC
- Media Over QUIC - Use Cases and Considerations for Media Transport Protocol Design
- Operational Considerations for Streaming Media
実装
- mozilla/neqo
- cloudflare/quiche: 🥧 Savoury implementation of the QUIC transport protocol and HTTP/3
- ngtcp2/nghttp3: HTTP/3 library written in C
- ngtcp2/ngtcp2: ngtcp2 project is an effort to implement IETF QUIC protocol
- xflagstudio/requiem: QuicTransport (WebTransport over QUIC) framework for Elixir
- Support WebTransport over HTTP/3. (I3c430fc4) · Gerrit Code Review
- quiche - Git at Google
- h2o/h2o: H2O - the optimized HTTP/1, HTTP/2, HTTP/3 server
動画
- WebTransport & WebCodecs - YouTube
- Zoom on Web: getting connected with advanced web technology - YouTube
GitHub
- ietf-wg-webtrans/draft-ietf-webtrans-http3: Internet Drafts for WebTransport
- ietf-wg-webtrans/draft-ietf-webtrans-overview: WebTransport overview draft.
- WebTransport over HTTP/3 support · Issue #163 · aiortc/aioquic
web-transport-dev
web-transport-dev - Google グループ
ASnoKaze blog
@flano_yuki のブログ
E2EE
-
Cryptology ePrint Archive: Report 2021/424 - Security Analysis of SFrame
- SFrame のセキュリティ解析
- eomara/sframe: Internet draft for SFrame
- draft-barnes-sframe-mls-00 - Using Messaging Layer Security (MLS) to Provide Keys for SFrame
- draft-omara-sframe-02 - Secure Frame (SFrame)
- Solutions - Zero-Trust Security for Webex White Paper - Cisco
- draft-knodel-e2ee-definition-00
- zoom/zoom-e2e-whitepaper: End-to-End Encryption for Zoom Meetings
MLS
- The Messaging Layer Security (MLS) Architecture
- The Messaging Layer Security (MLS) Protocol
- https://i.blackhat.com/USA-19/Wednesday/us-19-Robert-Messaging-Layer-Security-Towards-A-New-Era-Of-Secure-Group-Messaging.pdf
- https://www.diva-portal.org/smash/get/diva2:1388449/FULLTEXT01.pdf
実装
RFC
HTTP/2
- RFC 6202 - Known Issues and Best Practices for the Use of Long Polling and Streaming in Bidirectional HTTP 日本語訳
- RFC 8441 - Bootstrapping WebSockets with HTTP/2 日本語訳
- RFC 7838 - HTTP Alternative Services 日本語訳
- RFC 7639 - The ALPN HTTP Header Field 日本語訳
- RFC 7301 - Transport Layer Security (TLS) Application-Layer Protocol Negotiation Extension 日本語訳
- RFC 8447 - IANA Registry Updates for TLS and DTLS 日本語訳
- RFC 7540 - Hypertext Transfer Protocol Version 2 (HTTP/2) 日本語訳
- RFC 8740 - Using TLS 1.3 with HTTP/2 日本語訳
ドラフト
書籍
-
よくわかるHTTP/2の教科書
- HTTP/2 がどんなもんか?というのを知るのに良い本
- とにかくキーワードについて短く簡潔にまとめられている
-
詳解HTTP/2 電子書籍
- HTTP/2 in Action の翻訳本
- 2019 年の本なので QUIC / HTTP/3 については古い情報になってる
- 一つ一つについて細かく説明しているので読み応えがある
WebRTC
W3C
- WebRTC 1.0: Real-Time Communication Between Browsers
- Identifiers for WebRTC's Statistics API
- Media Capture and Streams
- Audio Output Devices API
- Screen Capture
-
WebRTC Encoded Transform
- w3c/webrtc-encoded-transform: WebRTC Encoded Media
- Insertable Streams API は名前が WebRTC Encoded Transform に変わった
- MediaStreamTrack Insertable Media Processing using Streams
- MediaStreamTrack Content Hints
- Capture Handle - Bootstrapping Collaboration when Screensharing
- The Capture-Handle Actions Mechanism
- Viewport Capture
DTLS
ドラフト
DataChannel
SCTP
-
RFC 9260 - Stream Control Transmission Protocol (RFC 9260) 日本語訳
- 以下が Obsolate されてる
- RFC 4460 - Stream Control Transmission Protocol (SCTP) Specification Errata and Issues 日本語訳
- RFC 4960 - Stream Control Transmission Protocol 日本語訳
- RFC 6096 - Stream Control Transmission Protocol (SCTP) Chunk Flags Registration 日本語訳
- RFC 7053 - SACK-IMMEDIATELY Extension for the Stream Control Transmission Protocol 日本語訳
- RFC 8540 - Stream Control Transmission Protocol: Errata and Issues in RFC 4960 日本語訳
- RFC 3758 - Stream Control Transmission Protocol (SCTP) Partial Reliability Extension 日本語訳
- RFC 8261 - Datagram Transport Layer Security (DTLS) Encapsulation of SCTP Packets 日本語訳
-
RFC 8260 - Stream Schedulers and User Message Interleaving for the Stream Control Transmission Protocol 日本語訳
- SCTP で大きなデータを送るための拡張
- RFC 7765 - TCP and Stream Control Transmission Protocol (SCTP) RTO Restart 日本語訳
- RFC 6951 - UDP Encapsulation of Stream Control Transmission Protocol (SCTP) Packets for End-Host to End-Host Communication 日本語訳
- RFC 6525 - Stream Control Transmission Protocol (SCTP) Stream Reconfiguration 日本語訳
- RFC 6083 - Datagram Transport Layer Security (DTLS) for Stream Control Transmission Protocol (SCTP) 日本語訳
- RFC 5827 - Early Retransmit for TCP and Stream Control Transmission Protocol (SCTP) 日本語訳
- RFC 5061 - Stream Control Transmission Protocol (SCTP) Dynamic Address Reconfiguration 日本語訳
- Stream Control Transmission Protocol (SCTP) Parameters
- RFC 8841 - Session Description Protocol (SDP) Offer/Answer Procedures for Stream Control Transmission Protocol (SCTP) over Datagram Transport Layer Security (DTLS) Transport 日本語訳
ワーキンググループ
Transport Area Working Group (tsvwg)
SDP
- RFC 8843 - Negotiating Media Multiplexing Using the Session Description Protocol (SDP) 日本語訳
- RFC 8859 - A Framework for Session Description Protocol (SDP) Attributes When Multiplexing 日本語訳
-
RFC 8853 - Using Simulcast in Session Description Protocol (SDP) and RTP Sessions 日本語訳
- Simulcast の SDP について
RTP
-
RFC 3550 - RTP: A Transport Protocol for Real-Time Applications 日本語訳
-
RFC 3711 - The Secure Real-time Transport Protocol (SRTP) 日本語訳
-
RFC 6904 - Encryption of Header Extensions in the Secure Real-time Transport Protocol (SRTP) 日本語訳
-
RFC 3611 - RTP Control Protocol Extended Reports (RTCP XR) 日本語訳
-
RFC 8852 - RTP Stream Identifier Source Description (SDES) 日本語訳
ドラフト
- draft-ietf-avtcore-rtp-vvc-08 - RTP Payload Format for Versatile Video Coding (VVC)
- draft-ietf-avtext-framemarking-12 - Frame Marking RTP Header Extension
- draft-ietf-payload-vp9-13
- draft-gouaillard-avtcore-codec-agn-rtp-payload-01
- draft-ietf-avtcore-cryptex-01 - Completely Encrypting RTP Header Extensions and Contributing Sources
- draft-ietf-avtcore-rtp-evc-01
VP8
FLAC
その他
WebAssembly
- js - The Go Programming Language
- WebAssembly · golang/go Wiki
- Using WebAssembly :: TinyGo - Go on Microcontrollers and WASM
暗号ライブラリ
WebAssembly で利用できる想定
-
dalek cryptography
- Rust の暗号ライブラリ
-
cloudflare/circl: CIRCL: Cloudflare Interoperable Reusable Cryptographic Library
- Introducing CIRCL: An Advanced Cryptographic Library
- Cloudflare がメンテしている暗号関連ライブラリ
TLS
- RFC 7301 - Transport Layer Security (TLS) Application-Layer Protocol Negotiation Extension 日本語訳
- RFC 8446 - The Transport Layer Security (TLS) Protocol Version 1.3 日本語訳
- RFC 8447 - IANA Registry Updates for TLS and DTLS 日本語訳
- RFC 8448 - Example Handshake Traces for TLS 1.3 日本語訳
- RFC 8449 - Record Size Limit Extension for TLS 日本語訳
- Transport Layer Security (TLS) Extensions