hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)

28
ケーススタディ (ネットワークの遅延と戦う 前編) Hokkaido.cap #4 2011.07.22 Masayuki YAMAKI

Upload: panda-yamaki

Post on 23-Jun-2015

14.296 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)

ケーススタディ(ネットワークの遅延と戦う – 前編)

Hokkaido.cap #4

2011.07.22

Masayuki YAMAKI

Page 2: Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)

今日の目標

• ユーザーが「ネットワークが遅い」と言ってくるシナリオを体験し、ネットワーク遅延時のパケットがWiresharkでどのように見えるか確認しましょう。

• Expert Info、TCP Stream Graph等、便利な解析機能の使い方を覚えましょう。

2

Page 3: Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)

前回までのおさらい

• これまでの資料を以下のURLで公開しています。(USBメモリにも収録しています)Wiresharkを初めて使う方は参照しながら進めてみてください。

http://www.slideshare.net/eightroll

• 操作方法がわからない場合は、遠慮せずにどんどん質問してください。

3

Page 4: Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)

今日の進め方

• 「実践パケット解析第8章ケーススタディ(ネット

ワークの遅延と戦う)」の内容をベースに進めます。本書をお持ちの方は演習に合わせて参照してください。(スライドには概要のみ記載しています)

• 気付いた点やわからない点があれば自由にディスカッションしましょう。

4

Page 5: Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)

5

演習資料

- ネットワークの遅延と戦う(前編) -

Page 6: Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)

ダウンロードの遅延 (1/6)

• サンプルファイル : slowdownload.pcap

• 大量のHTTP通信とTCPによるダウンロードが記録されているキャプチャファイル。

• 異常なトラフィックを見分けるため、「Expert Info」機能を使う。

• [Analyze] → [Expert Info]→ [Expert Info Composite]

- 最新バージョンでは Window Update はNoteレベルではなくChatレベルに分類される。

6

Page 7: Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)

ダウンロードの遅延 (2/6)

• Window Updateが大量に記録されている。

- データ受信速度が速くなったり遅くなったりしている。

7

Page 8: Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)

ダウンロードの遅延 (3/6)

• 問題の起きているパケット

- Expert Infoを見ると、ダウンロードが進むにつれTCP Segment lost、Dupulicate ACKが増えている。

8

Page 9: Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)

ダウンロードの遅延 (4/6)

• TCPで遅延を示すメッセージの例

9

項目 説明

TCP Window Update ウィンドウサイズが変更された

TCP Previous segment lost パケットの欠落、破棄

TCP Dup Ack

受信側から同じ応答確認番号のACKを受け取った(クライアントはサーバーに対し受け取れな

かったパケットを再度送信するよう求めている)

TCP Out-Of-Order 順番の乱れたパケット

TCP Retransmission TCPによる再送信

Page 10: Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)

ダウンロードの遅延 (5/6)

• スループットの確認

- 1023番のパケットを選択し、[Statistics]→[TCP Stream Graph]→[Round Trip Time Graph]

10

Page 11: Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)

ダウンロードの遅延 (6/6)

• RTT (Round Trip Time)- 任意のTCPセグメントを相手側が正しく受信してから

確認応答セグメント(データサイズ分だけ確認応答番号を増加させ、ACKフラグをONにして送られるパケット)が返ってくるまでの往復遅延時間

- このRTTをもとに、RTO(Retransmission Time Out)が調整される

- ブロードバンド回線であれば、RTTは通常0.1秒以下

→ このケースでは明らかに遅延が発生していることがわかる

11

Page 12: Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)

12

Page 13: Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)

ルーティングの不具合 (1/4)

• サンプルファイル : icmp-tracert-slow.pcap

• ネットワーク遅延調査のため、tracerouteを実行した結果が記録されているキャプチャデータ。

13

Page 14: Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)

ルーティングの不具合 (2/4)

• traceroute- 宛先に到達するまでのすべてのルータに、 TTL(Time to

Live : パケットの生存期間)を1から順に増やしてパケットを送信。

- 途中経路にあるルータはICMPの生存時間超過パケット(ICMP Time Exceeded)を返す。

14

TTL1TTL2

TTL3

Page 15: Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)

ルーティングの不具合 (3/4)

15

C:¥>tracert twitter.com

twitter.com [199.59.149.198] へのルートをトレースしています経由するホップ数は最大 30 です:

1 2 ms 1 ms 1 ms gateway [10.1.60.1]2 5 ms 4 ms 4 ms 60.36.159.2273 5 ms 5 ms 6 ms 60.36.159.2544 23 ms 27 ms 22 ms 118.21.174.213

・・・17 155 ms 154 ms 143 ms ae-43-90.car3.SanJose1.Level3.net [4.69.152.197]18 137 ms 156 ms 132 ms TWITTER-INC.car3.SanJose1.Level3.net [4.71.113.194]19 142 ms 159 ms 144 ms 199.16.159.5320 147 ms 183 ms 152 ms www2.twitter.com [199.59.149.198]

トレースを完了しました。

Page 16: Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)

ルーティングの不具合 (4/4)

• このケースからわかること

- 最初のルータから応答を受け取っておらず、3秒後に再送している。(2回目、3回目も受け取っていない)

- TTLを2にして送信→2番目のルータから応答を受信

- 以降は宛先に到達するまでTTLの値を増やしながら、上記の繰り返し。

→ 1番目のルータに問題がある可能性が高い

16

Page 17: Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)

17

Page 18: Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)

二重に見える (1/3)

• サンプルファイル : double-vision.pcap

• すべてのパケットが2回送信されている。

18

Page 19: Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)

二重に見える (2/3)

• パケットが2重に送信される主な理由

- ルーティングの間違い

- ポートミラーリング設定の間違い

• 本当に同じパケットかどうか

→IPヘッダのID(identification)を確認

19

Page 20: Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)

二重に見える (3/3)

• TTLの値が異なればルーティングの問題

1番目のパケット 2番目のパケット

20

→ サブネットマスクの設定ミスにより、送信パケットが返ってきてしまう。

→ 通常の通信量では気付かないが、ネットワーク使用量のピーク時になると通信が遅くなる。

Page 21: Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)

21

Page 22: Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)

サーバが私を拒否してる? (1/3)

• サンプルファイル : http-client-refuse.pcap

• 一見通常に見える通信だが、ブラウザでページをロードしようとするとなにも起きない。

22

Page 23: Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)

サーバが私を拒否してる? (2/3)

• 28番目のパケット受信に9秒かかっており、サーバ側からRSTパケットを送出して通信が終了している。

23

• [Analyze] → [Follow TCP Stream] で解析する。

Page 24: Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)

サーバが私を拒否してる? (3/3)

• サーバにFlashのアプレットをリクエストしているが、

ポップアップをブロックするプログラムがこれをブロックしている。

24

Page 25: Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)

25

まとめと参考資料

Page 26: Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)

この演習のまとめ

• ネットワーク遅延が発生した場合、Wiresharkでどのように見えるか確認しました。

• Expert Info、TCP Stream Graphを利用した調査方法を学習しました。

• ネットワーク遅延に関連するトラブルは実際の利用シーンでも遭遇することが多いため、次回も引き続き学習していきましょう。

26

Page 27: Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)

参考資料

• 実践パケット解析 - Wiresharkを使ったトラブルシューティング

- http://www.oreilly.co.jp/books/9784873113517

- ISBN978-4-87311-351-7

• Key:雑学事典 - TCP における確認応答と再送制御

- http://www.7key.jp/nw/tcpip/tcp/tcp2.html

27

写真提供 : ジャイアントパンダ写真集(フリー素材) http://giantpanda.jp

Page 28: Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)

28