WebRTCを支えるマイナーなプロトコル SRTP/DTLS/SCTPを分かった気になる

21,550 views

Published on

WebRTC Meetup Tokyo #3の発表資料です。
WebRTCを支えるマイナーなプロトコル SRTP/DTLS/SCTPを分かった気になる資料です。



P.38 誤記 Under the food -> hood です。
P.43 誤記 DLTS -> DTLSです

Published in: Technology
0 Comments
40 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
21,550
On SlideShare
0
From Embeds
0
Number of Embeds
8,605
Actions
Shares
0
Downloads
96
Comments
0
Likes
40
Embeds 0
No embeds

No notes for slide

WebRTCを支えるマイナーなプロトコル SRTP/DTLS/SCTPを分かった気になる

  1. 1. WebRTCを支えるマイナーなプロトコル SRTP/DTLS/SCTPを分かった気になる - kind of feel like understanding SRTP/DTLS/SCTP - @iwashi86 2014/08/01 WebRTC Meetup Tokyo #3
  2. 2. ●Attribute Name Yoshimasa Iwase @iwashi86 web iwashi.co ●Work ・Web Engineer@NTT Com ・HTML5 Experts.jp Editor ●Recently ・has become PHPer for 2 months (ついにぺちぱーになりました)
  3. 3. Takeaway 本日お持ち帰りいただくこと
  4. 4. IP UDP DTLS SRTP SCTP Audio/Video Data WebRTC protocol stack
  5. 5. IP UDP DTLS SRTP SCTP Audio/Video Data Understanding…
  6. 6. After this talk you’ll be able to answer このお話が終わる頃には 次の質問に答えられるように
  7. 7. What’s DTLS? What’s SRTP? What’s SCTP? DTLS,SRTP,SCTP? 何それ美味しいの?
  8. 8. Caveat ※注
  9. 9. Feel like understanding (Please check RFC for further information) 分かった気になってるだけ (詳細はRFC読んでね)
  10. 10. Main Topic ここから本題
  11. 11. IP UDP DTLS SRTP SCTP Audio/Video Data Let’s start with SRTP ではSRTPから
  12. 12. SRTP
  13. 13. S + RTP
  14. 14. S + RTP Secure
  15. 15. S + RTP Secure Real-time Transport Protocol
  16. 16. RTP?
  17. 17. Protocol for Send/Receive and Audio/Video Real-time 音声映像をリアルタイムに送受信するプロトコルのこと
  18. 18. Why? How? 何で必要なの?どう動くの?
  19. 19. Hello Ideal(理想)
  20. 20. Real world with UDP/IP
  21. 21. Hello Jitter(ゆらぎ) Real world with UDP/IP
  22. 22. Hello Jitter(ゆらぎ) Out-of-order (ホレルになった) Holel Real world with UDP/IP
  23. 23. Hello Jitter(ゆらぎ) Out-of-order (ホレルになった) Loss (まさかの地獄行き) Hello Holel Real world with UDP/IP
  24. 24. Problem and Solutions of RTP 課題とその解決方法 Jitter (ゆらぎ) Out-of-order (順序逆転) Loss (消失)
  25. 25. Jitter (ゆらぎ) Out-of-order (順序逆転) Loss (消失) Timestamp タイムスタンプでいつ送ったか記録しておけば タイミングよく再生できるよ Problem and Solutions of RTP 課題とその解決方法
  26. 26. Jitter (ゆらぎ) Out-of-order (順序逆転) Loss (消失) Timestamp タイムスタンプでいつ送ったか記録しておけば タイミングよく再生できるよ Sequence Number シーケンス番号があれば並べ替えできるよ Problem and Solutions of RTP 課題とその解決方法
  27. 27. Jitter (ゆらぎ) Out-of-order (順序逆転) Loss (消失) Timestamp タイムスタンプでいつ送ったか記録しておけば タイミングよく再生できるよ Sequence Number シーケンス番号があれば並べ替えできるよ Give up (don’t have time of retransmission) 再送するほど暇じゃない Problem and Solutions of RTP 課題とその解決方法
  28. 28. RTP is a thin wrapper of UDP RTPはUDPの薄皮みたいなもの http://www.cl.cam.ac.uk/~jac22/books/mm/book/node159.html
  29. 29. SRTP is a just secure RTP SRTPはRTPを安全にしただけ Encrypted Payload 暗号化されたペイロード http://flylib.com/books/2/110/1/html/2/images/ct402614.jpg
  30. 30. Hey, where is encryption key? あれ? 暗号化の鍵はどこにあるの?
  31. 31. IP UDP DTLS SRTP SCTP Audio/Video Data That’s why we have DTLS そこでDTLSですよ
  32. 32. DTLS
  33. 33. D + TLS Datagram (UDPの)
  34. 34. D + TLS Datagram (UDPの) Transport Layer Security
  35. 35. TLS?
  36. 36. You know! 知らないとは言わせない
  37. 37. This one! ここ!
  38. 38. Under the food of HTTPS 内部ではこう動いている https://devcentral.f5.com/Portals/0/images/metapost/News-Articles/ltwagnon/2013/Jun/Windows-Live-Writer-525a2ddcdc82_787C- Modified%20TLS%20Handshake_2.jpg
  39. 39. 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- Modified%20TLS%20Handshake_2.jpg
  40. 40. 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- Modified%20TLS%20Handshake_2.jpg Can’t share key 鍵を共有できない
  41. 41. We need reliability! 信頼性さえあれば!
  42. 42. So we’ve added TCP functions to TLS そこでTLSにTCPの機能をつけてみた
  43. 43. DLTS = TLS + TCP (ex. Seq, Order-control) DTLSはTLSにTCPの機能つけたようなもの Retransmission 再送する
  44. 44. IP UDP DTLS SRTP SCTP Audio/Video Data End with SCTP 最後は SCTP
  45. 45. You’re using now! 使ってないとは言わせない
  46. 46. 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
  47. 47. SCTP ≒ TCP 結構似てる(似せられる) SCTP ≒ HTTP2 レイヤは違えど考え方が似ている
  48. 48. Handshake SYN SYN + ACK ACK INIT INIT-ACK COOKIE COOKIE-ECHO TCP SCTP
  49. 49. 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
  50. 50. Now you might be able to answer そろそろなんとなく答えられるはず?
  51. 51. What’s DTLS? What’s SRTP? What’s SCTP?
  52. 52. Thanks! おしまい

×