Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
モバイルネットワークと広告配信
TCPの最適化を模索
真面目に書いてたら論文になっちゃったから緩めで!
TCPの設計思想
速さはよりかは…
効率的にたくさん
UDPとか別のプロトコルもあるし
広告配信が求めているもの
積み荷はダンボール箱一個だけなのにこれ…?
コレでしょ
広告の通信はとても小さい
広告の通信はとても短いセッションで終わる
帯域より低遅延が求められる
TCPの設計思想とは真逆の要求になるので
低遅延チューニングが必要
さらにモバイルネットワークと
Linux TCPスタックの相性がとても悪い
RTO(TCP再送時間)
SRTO(TCP再送アルゴリズム)
の問題点
通常のTCPフロー
エロ画像よこせ
汝の望むは画像これか
IYH!!!
TCPの再送が発生する場合
エロ画像よこせ
汝の望むは画像これか 返事がない
ただの屍のようだ
☓
おーいJKのエロ画像だぞー
IYH!!!111
経路の不具合
などで到達しない
RTOってなにしてるの?
エロ画像よこせ
汝の望むは画像これか 返事がない
ただの屍のようだ
☓
おーいJKのエロ画像だぞー
IYH!!!111
経路の不具合
などで到達しない
TCP再送タイムアウト(RTO)
RTOは最小値が200ms
一回再送するごとに倍の待ち時間に変化
 200ms -> 400ms -> 800ms …
通信内容によって再送回数は異なる
RTOはRTT(Round Trip Time)より計算される
要はpingでみれるあれ
エロ画像よこせ
汝の望むは画像これか
RTT 20msか
RTOは200msだな
☓
おーいJKのエロ画像だぞー
IYH!!!111
RTT 20ms
RTO 200ms
エロ画像よこせ
汝の望むは画像これか
RTT 500msとかww
RTOは1500msだな
☓
おーいJKのエロ画像だぞー
IYH!!!111
RTT 500ms
RTO 1500ms
現実はこうはいかず、モバイルに限らず
ワイヤレスネットワークは不安定
RTTのゆらぎに対応するために
SRTO(Smooth Tcp Retramsmit Timeout)
が考案される
連続した通信の中でゆらぎのあるRTTの平均値を算
出して最適化する
TTL 20ms
TTL 220ms
TTL 120ms
振れ幅でかいなあ…
RTOは500msくらい
にしておこう
とてもよく考えられている
しかしこれが広告配信だと無意味
一回の通信が短いからRTTのゆらぎを補正できない
広告タグはよ
はいコレ
これだけ。。。
最初のRTTだけでRTOが計算されてしまう
たまたまRTTが低いと相手がリッチだと信じてしまう
不安定なモバイルネットワークに対して再送をがん
ばってしまう
無駄な再送により現在ルーターが過負荷の状態
TCPの輻輳も起こしてマイクロバーストが発生してい
るっぽい(スイッチのバッファ溢れ)
SRTOの実装はカーネルに直接書かれているので、手
でRTOの値を変更することは不可能
再送回数を減らすしか対策...
実体を参照する
ss -emoit
現在開かれているソケットのRTO,RTT等がわかる
とまあこれが最近の出来事です
おわり
モバイルネットワークと広告配信
Upcoming SlideShare
Loading in …5
×

モバイルネットワークと広告配信

24,127 views

Published on

モバイル(ワイヤレス)ネットワークとLinuxのTCP再送アルゴリズムの相性の悪さをまとめた社内勉強会用資料

Published in: Science
  • Be the first to comment

モバイルネットワークと広告配信

  1. 1. モバイルネットワークと広告配信 TCPの最適化を模索
  2. 2. 真面目に書いてたら論文になっちゃったから緩めで!
  3. 3. TCPの設計思想
  4. 4. 速さはよりかは…
  5. 5. 効率的にたくさん
  6. 6. UDPとか別のプロトコルもあるし
  7. 7. 広告配信が求めているもの
  8. 8. 積み荷はダンボール箱一個だけなのにこれ…?
  9. 9. コレでしょ
  10. 10. 広告の通信はとても小さい 広告の通信はとても短いセッションで終わる 帯域より低遅延が求められる TCPの設計思想とは真逆の要求になるので 低遅延チューニングが必要
  11. 11. さらにモバイルネットワークと Linux TCPスタックの相性がとても悪い RTO(TCP再送時間) SRTO(TCP再送アルゴリズム) の問題点
  12. 12. 通常のTCPフロー
  13. 13. エロ画像よこせ 汝の望むは画像これか IYH!!!
  14. 14. TCPの再送が発生する場合
  15. 15. エロ画像よこせ 汝の望むは画像これか 返事がない ただの屍のようだ ☓ おーいJKのエロ画像だぞー IYH!!!111 経路の不具合 などで到達しない
  16. 16. RTOってなにしてるの?
  17. 17. エロ画像よこせ 汝の望むは画像これか 返事がない ただの屍のようだ ☓ おーいJKのエロ画像だぞー IYH!!!111 経路の不具合 などで到達しない TCP再送タイムアウト(RTO)
  18. 18. RTOは最小値が200ms 一回再送するごとに倍の待ち時間に変化  200ms -> 400ms -> 800ms … 通信内容によって再送回数は異なる
  19. 19. RTOはRTT(Round Trip Time)より計算される 要はpingでみれるあれ
  20. 20. エロ画像よこせ 汝の望むは画像これか RTT 20msか RTOは200msだな ☓ おーいJKのエロ画像だぞー IYH!!!111 RTT 20ms RTO 200ms
  21. 21. エロ画像よこせ 汝の望むは画像これか RTT 500msとかww RTOは1500msだな ☓ おーいJKのエロ画像だぞー IYH!!!111 RTT 500ms RTO 1500ms
  22. 22. 現実はこうはいかず、モバイルに限らず ワイヤレスネットワークは不安定 RTTのゆらぎに対応するために SRTO(Smooth Tcp Retramsmit Timeout) が考案される
  23. 23. 連続した通信の中でゆらぎのあるRTTの平均値を算 出して最適化する
  24. 24. TTL 20ms TTL 220ms TTL 120ms 振れ幅でかいなあ… RTOは500msくらい にしておこう
  25. 25. とてもよく考えられている しかしこれが広告配信だと無意味
  26. 26. 一回の通信が短いからRTTのゆらぎを補正できない
  27. 27. 広告タグはよ はいコレ
  28. 28. これだけ。。。
  29. 29. 最初のRTTだけでRTOが計算されてしまう たまたまRTTが低いと相手がリッチだと信じてしまう 不安定なモバイルネットワークに対して再送をがん ばってしまう
  30. 30. 無駄な再送により現在ルーターが過負荷の状態 TCPの輻輳も起こしてマイクロバーストが発生してい るっぽい(スイッチのバッファ溢れ) SRTOの実装はカーネルに直接書かれているので、手 でRTOの値を変更することは不可能 再送回数を減らすしか対策がない
  31. 31. 実体を参照する
  32. 32. ss -emoit 現在開かれているソケットのRTO,RTT等がわかる
  33. 33. とまあこれが最近の出来事です
  34. 34. おわり

×