Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
WebRTCを支えるマイナーなプロトコルSRTP/DTLS/SCTPを分かった気になる / ...
Search
iwashi
November 26, 2022
Technology
36
2.5k
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
AIはプロダクト開発をどう変えたか?〜 3つの役割から見る「変化」と「未来」〜 / How AI Transformed Product Development: A Look at "Change" and "Future" via Three Roles
iwashi86
3
940
ざっくり学ぶ 『エンジニアリングリーダー 技術組織を育てるリーダーシップと セルフマネジメント』 / 50 minute Engineering Leader
iwashi86
12
5.7k
最高のステークホルダーになるために / Striving to be the best stakeholder
iwashi86
10
4.4k
n=1の経験が紡ぐエンジニアリングマネジメントの可能性 / The Possibilities of Engineering Management from n=1 Experiences
iwashi86
23
14k
エンジニアリングが好きな私たちのためのエンジニアリングマネジャー入門 / Engineering management for the rest of us
iwashi86
25
6k
エレガントパズル 30分 ダイジェスト版/ Elegant Puzzle 30min Digest
iwashi86
6
710
エレガントパズル エンジニアのマネジメントという難問にあなたはどう立ち向かうのか / Elegant Puzzle
iwashi86
18
4.9k
ベロシティを高く保つ仕事のすすめ方 / Maintaining a High Velocity as Productivity Hacks
iwashi86
54
21k
マネージャー&リーダー向け 社内トレーニング / Training of management and leadership for Stockmark
iwashi86
65
33k
Other Decks in Technology
See All in Technology
Kiro Autonomous AgentとKiro Powers の紹介 / kiro-autonomous-agent-and-powers
tomoki10
0
520
Kubernetes Multi-tenancy: Principles and Practices for Large Scale Internal Platforms
hhiroshell
0
120
コンテキスト情報を活用し個社最適化されたAI Agentを実現する4つのポイント
kworkdev
PRO
1
1.5k
「図面」から「法則」へ 〜メタ視点で読み解く現代のソフトウェアアーキテクチャ〜
scova0731
0
300
生成AI時代におけるグローバル戦略思考
taka_aki
0
200
IAMユーザーゼロの運用は果たして可能なのか
yama3133
1
440
AWSセキュリティアップデートとAWSを育てる話
cmusudakeisuke
0
290
子育てで想像してなかった「見えないダメージ」 / Unforeseen "hidden burdens" of raising children.
pauli
2
130
Power of Kiro : あなたの㌔はパワステ搭載ですか?
r3_yamauchi
PRO
0
160
ChatGPTで論⽂は読めるのか
spatial_ai_network
9
29k
AI駆動開発における設計思想 認知負荷を下げるフロントエンドアーキテクチャ/ 20251211 Teppei Hanai
shift_evolve
PRO
2
410
SSO方式とJumpアカウント方式の比較と設計方針
yuobayashi
7
690
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.5k
It's Worth the Effort
3n
187
29k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Documentation Writing (for coders)
carmenintech
76
5.2k
Scaling GitHub
holman
464
140k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
We Have a Design System, Now What?
morganepeng
54
7.9k
Facilitating Awesome Meetings
lara
57
6.7k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
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! おしまい