Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
WebRTCを支えるマイナーなプロトコルSRTP/DTLS/SCTPを分かった気になる / Slightly understand WebRTC Protocols like SRTP/DTLS/SCTP
Search
iwashi
November 26, 2022
Technology
6
980
WebRTCを支えるマイナーなプロトコル SRTP/DTLS/SCTPを分かった気になる / Slightly understand WebRTC Protocols like SRTP/DTLS/SCTP
WebRTC Meetup Tokyo #3の発表資料です。
WebRTCを支えるマイナーなプロトコルSRTP/DTLS/SCTPを分かった気になる資料です。
iwashi
November 26, 2022
Tweet
Share
More Decks by iwashi
See All by iwashi
エレガントパズル エンジニアのマネジメントという難問にあなたはどう立ち向かうのか / Elegant Puzzle
iwashi86
15
2.8k
ベロシティを高く保つ仕事のすすめ方 / Maintaining a High Velocity as Productivity Hacks
iwashi86
53
18k
マネージャー&リーダー向け 社内トレーニング / Training of management and leadership for Stockmark
iwashi86
53
29k
30分でわかる「エンジニアのためのドキュメントライティング」- インフラエンジニアBooks / Docs for Developers within 30 minutes
iwashi86
9
2.2k
エンジニアのためのドキュメントライティング / Docs for Developers
iwashi86
29
18k
なぜ変化を起こすのが難しいのか? - 数年以上にわたって難しさに向き合い・考え取り組んできたこと / The reason why changing organization is so hard - What I thought and faced for more than several years
iwashi86
59
82k
2015年 第4四半期の WebRTC 標準化 アップデート / 2015 update of WebRTC Standards
iwashi86
0
180
外注が主な企業でどのように内製開発を立ち上げ・進化させているのか? / how we start in-house developement in enterprise?
iwashi86
2
30k
Extreme testing of WebRTC Applications
iwashi86
0
120
Other Decks in Technology
See All in Technology
MLP Can Be A Good Transformer Learner
safie
1
120
効果的なLLM評価法 LangSmithの技術と実践
knishioka
0
130
Introducing Azure Automation Runtime Environment
mappie_kochi
0
190
Bring your app’s core features to users with App Intents とか App Intents 関連の要約
ryomm
1
280
LeanとDevOpsのためにE2Eテストができること
magicpod
5
3.7k
なぜ僕たちは 開発生産性指標を見ていないのか / Our Strategy for Development Productivity Metrics
kakehashi
16
4.3k
【Oracle GoldenGate 最新情報&テクニカルセミナー】[Session01] Oracle GoldenGate 最新情報&最新事例
oracle4engineer
PRO
2
150
Godot Engineを使った vision OSアプリ開発について
limes2018
0
140
「開発生産性を上げる改善」って儲かるの?に答えられるようにする / Is development productivity profitable?
i35_267
22
11k
Oracle Cloud Infrastructure:2024年6月度サービス・アップデート
oracle4engineer
PRO
1
120
Copilot for Security を使った MDE / Sentinel のログ調査
sophiakunii
2
240
RAGだけじゃない! 古くて新しいベクトル検索の世界 | DevelopersIO 2024 福岡
quiver
3
700
Featured
See All Featured
Building Effective Engineering Teams - LeadDev
addyosmani
42
2.1k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
188
16k
Fireside Chat
paigeccino
24
2.8k
Raft: Consensus for Rubyists
vanstee
133
6.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
246
12k
The Cult of Friendly URLs
andyhume
74
5.8k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
22
1.9k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
10
3.7k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
19
7.1k
Unsuck your backbone
ammeep
664
57k
Learning to Love Humans: Emotional Interface Design
aarron
269
39k
Transcript
WebRTCを支えるマイナーなプロトコル SRTP/DTLS/SCTPを分かった気になる - kind of feel like understanding SRTP/DTLS/SCTP -
@iwashi86 2014/08/01 WebRTC Meetup Tokyo #3
•Attribute Name Yoshimasa Iwase @iwashi86 web iwashi.co •Work ・Web Engineer@NTT
Com ・HTML5 Experts.jp Editor •Recently ・has become PHPer for 2 months (ついにぺちぱーになりました)
Takeaway 本日お持ち帰りいただくこと
IP UDP DTLS SRTP SCTP Audio/Video Data WebRTC protocol stack
IP UDP DTLS SRTP SCTP Audio/Video Data Understanding…
After this talk you’ll be able to answer このお話が終わる頃には 次の質問に答えられるように
What’s DTLS? What’s SRTP? What’s SCTP? DTLS,SRTP,SCTP? 何それ美味しいの?
Caveat ※注
Feel like understanding (Please check RFC for further information) 分かった気になってるだけ
(詳細はRFC読んでね)
Main Topic ここから本題
IP UDP DTLS SRTP SCTP Audio/Video Data Let’s start with
SRTP ではSRTPから
SRTP
S + RTP
S + RTP Secure
S + RTP Secure Real-time Transport Protocol
RTP?
Protocol for Send/Receive and Audio/Video Real-time 音声映像をリアルタイムに送受信するプロトコルのこと
Why? How? 何で必要なの?どう動くの?
H e l l o Ideal(理想)
Real world with UDP/IP
H e l l o Jitter(ゆらぎ) Real world with UDP/IP
H e l l o Jitter(ゆらぎ) Out-of-order (ホレルになった) H o
l e l Real world with UDP/IP
H e l l o Jitter(ゆらぎ) Out-of-order (ホレルになった) Loss (まさかの地獄行き)
H e l l o H o l e l Real world with UDP/IP
Problem and Solutions of RTP 課題とその解決方法 Jitter (ゆらぎ) Out-of-order (順序逆転)
Loss (消失)
Jitter (ゆらぎ) Out-of-order (順序逆転) Loss (消失) Timestamp タイムスタンプでいつ送ったか記録しておけば タイミングよく再生できるよ Problem
and Solutions of RTP 課題とその解決方法
Jitter (ゆらぎ) Out-of-order (順序逆転) Loss (消失) Timestamp タイムスタンプでいつ送ったか記録しておけば タイミングよく再生できるよ Sequence
Number シーケンス番号があれば並べ替えできるよ Problem and Solutions of RTP 課題とその解決方法
Jitter (ゆらぎ) Out-of-order (順序逆転) Loss (消失) Timestamp タイムスタンプでいつ送ったか記録しておけば タイミングよく再生できるよ Sequence
Number シーケンス番号があれば並べ替えできるよ Give up (don’t have time of retransmission) 再送するほど暇じゃない Problem and Solutions of RTP 課題とその解決方法
RTP is a thin wrapper of UDP RTPはUDPの薄皮みたいなもの http://www.cl.cam.ac.uk/~jac22/books/mm/book/node159.html
SRTP is a just secure RTP SRTPはRTPを安全にしただけ Encrypted Payload 暗号化されたペイロード
http://flylib.com/books/2/110/1/html/2/images/ct402614.jpg
Hey, where is encryption key? あれ? 暗号化の鍵はどこにあるの?
IP UDP DTLS SRTP SCTP Audio/Video Data That’s why we
have DTLS そこでDTLSですよ
DTLS
D + TLS Datagram (UDPの)
D + TLS Datagram (UDPの) Transport Layer Security
TLS?
You know! 知らないとは言わせない
This one! ここ!
Under the food of HTTPS 内部ではこう動いている https://devcentral.f5.com/Portals/0/images/metapost/News-Articles/ltwagnon/2013/Jun/Windows-Live-Writer-525a2ddcdc82_787C-Modif ied%20TLS%20Handshake_2.jpg
What if there is a packet loss パケロスがあったら… https://devcentral.f5.com/Portals/0/images/metapost/News-Articles/ltwagnon/2013/Jun/Windows-Live-Writer-525a2ddcdc82_787C-Modif ied%20TLS%20Handshake_2.jpg
What if there is a packet loss パケロスがあったら… https://devcentral.f5.com/Portals/0/images/metapost/News-Articles/ltwagnon/2013/Jun/Windows-Live-Writer-525a2ddcdc82_787C-Modif ied%20TLS%20Handshake_2.jpg
Can’t share key 鍵を共有できない
We need reliability! 信頼性さえあれば!
So we’ve added TCP functions to TLS そこでTLSにTCPの機能をつけてみた
DLTS = TLS + TCP (ex. Seq, Order-control) DTLSはTLSにTCPの機能つけたようなもの Retransmission
再送する
IP UDP DTLS SRTP SCTP Audio/Video Data End with SCTP
最後は SCTP
You’re using now! 使ってないとは言わせない
STCP is running in LTE core NW SCTPはLTEキャリアコア網の中で動いている https://www.nttdocomo.co.jp/binary/pdf/corporate/technology/rd/technical_journal/bn/vol19_1/vol19_1_011jp.pdf
SCTP ≒ TCP 結構似てる(似せられる) SCTP ≒ HTTP2 レイヤは違えど考え方が似ている
Handshake SYN SYN + ACK ACK INIT INIT-ACK COOKIE COOKIE-ECHO
TCP SCTP
Difference between STCP and TCP で、何が違うの? SCTP TCP UDP(参考) Reliability
到達保証 Configurable 選べる Yes No Order 順序制御 Configurable 選べる Yes No Transmission 転送志向 Message メッセージ志向 Byte バイト志向 Message メッセージ志向 Multi Stream マルチストリーム有無 Yes No - Flow / Congestion Control 流量/輻輳制御 Yes Yes No
Now you might be able to answer そろそろなんとなく答えられるはず?
What’s DTLS? What’s SRTP? What’s SCTP?
Thanks! おしまい