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

35
モバイルネットワークと広告配信 TCPの最適化を模索

Upload: kazuhito-ohkawa

Post on 17-Jul-2015

2.943 views

Category:

Science


1 download

TRANSCRIPT

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

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

TCPの最適化を模索

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

真面目に書いてたら論文になっちゃったから緩めで!

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

TCPの設計思想

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

速さはよりかは…

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

効率的にたくさん

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

UDPとか別のプロトコルもあるし

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

広告配信が求めているもの

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

積み荷はダンボール箱一個だけなのにこれ…?

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

コレでしょ

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

広告の通信はとても小さい

広告の通信はとても短いセッションで終わる

帯域より低遅延が求められる

TCPの設計思想とは真逆の要求になるので低遅延チューニングが必要

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

さらにモバイルネットワークとLinux TCPスタックの相性がとても悪い

RTO(TCP再送時間)SRTO(TCP再送アルゴリズム)

の問題点

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

通常のTCPフロー

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

エロ画像よこせ

汝の望むは画像これか

IYH!!!

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

TCPの再送が発生する場合

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

エロ画像よこせ

汝の望むは画像これか 返事がないただの屍のようだ☓

おーいJKのエロ画像だぞー

IYH!!!111

経路の不具合などで到達しない

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

RTOってなにしてるの?

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

エロ画像よこせ

汝の望むは画像これか 返事がないただの屍のようだ☓

おーいJKのエロ画像だぞー

IYH!!!111

経路の不具合などで到達しない

TCP再送タイムアウト(RTO)

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

RTOは最小値が200ms

一回再送するごとに倍の待ち時間に変化

 200ms -> 400ms -> 800ms …

通信内容によって再送回数は異なる

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

RTOはRTT(Round Trip Time)より計算される

要はpingでみれるあれ

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

エロ画像よこせ

汝の望むは画像これか

RTT 20msかRTOは200msだな

おーいJKのエロ画像だぞー

IYH!!!111

RTT 20ms

RTO 200ms

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

エロ画像よこせ

汝の望むは画像これか

RTT 500msとかwwRTOは1500msだな

おーいJKのエロ画像だぞー

IYH!!!111

RTT 500ms

RTO 1500ms

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

現実はこうはいかず、モバイルに限らず

ワイヤレスネットワークは不安定

RTTのゆらぎに対応するために

SRTO(Smooth Tcp Retramsmit Timeout)

が考案される

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

連続した通信の中でゆらぎのあるRTTの平均値を算出して最適化する

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

TTL 20ms

TTL 220ms

TTL 120ms振れ幅でかいなあ…RTOは500msくらいにしておこう

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

とてもよく考えられている

しかしこれが広告配信だと無意味

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

一回の通信が短いからRTTのゆらぎを補正できない

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

広告タグはよ

はいコレ

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

これだけ。。。

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

最初のRTTだけでRTOが計算されてしまう

たまたまRTTが低いと相手がリッチだと信じてしまう

不安定なモバイルネットワークに対して再送をがんばってしまう

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

無駄な再送により現在ルーターが過負荷の状態

TCPの輻輳も起こしてマイクロバーストが発生しているっぽい(スイッチのバッファ溢れ)

SRTOの実装はカーネルに直接書かれているので、手でRTOの値を変更することは不可能

再送回数を減らすしか対策がない

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

実体を参照する

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

ss -emoit

現在開かれているソケットのRTO,RTT等がわかる

Page 33: モバイルネットワークと広告配信
Page 34: モバイルネットワークと広告配信

とまあこれが最近の出来事です

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

おわり