非エンジニアでもわかるNWの基礎

スピーカー

佐々木康介さん

概要

yahoo.co.jpのIPアドレスを調べてみんなで繋いでみる。 複数のIPアドレスが存在するけど、同じサイトに繋がるということを確認。

目標(ゴール)

ネットワーク、ロードバランサーによる負荷分散を理解する。

内容

コマンドプロンプトの場合、下記コマンド

tracert yahoo.co.jp

Cisco機器、Mac、Linux等だと

traceroute yahoo.co.jp

になります。

以下、ながしーさんの提供の実行結果

PS C:\Users\WNadmin> tracert www.yahoo.co.jp edge.g.yimg.jp [183.79.250.123] へのルートをトレースしています 経由するホップ数は最大 30 です: 1 5 ms 2 ms 2 ms speedwifi-next.home [hogehoge] 2 * * * 要求がタイムアウトしました。 3 * * * 要求がタイムアウトしました。 4 53 ms 57 ms 47 ms 172.25.235.114 5 56 ms 59 ms 53 ms 172.25.117.19 6 56 ms 54 ms 49 ms 172.25.117.62 7 62 ms 58 ms 64 ms chyISN001.bb.kddi.ne.jp [27.89.250.33] 8 75 ms 68 ms 70 ms 27.85.225.29 9 60 ms 65 ms 82 ms 27.85.134.58 10 66 ms 69 ms 57 ms 210.132.124.158 11 56 ms 67 ms 57 ms 183.79.224.154 12 72 ms 78 ms 65 ms 183.79.250.123 トレースを完了しました。

tracertは目的地までの経路を表示するコマンドです。 msというのはレスポンス時間のミリ秒のことで、デフォルトでは3回問い合わせをします。 応答時間が長い機器はボトルネックになります。(海外とかだと遅いです) 上記の場合、目的のサーバ含めて12台のネットワーク機器が間で中継してくれています。 「*」で要求がタイムアウトしてるのは、NW機器に異常があるわけでなく、 わざと応答しない設定にしている可能性が高いです。

上記の場合「183.79.250.123」がyahoo.co.jpのIPアドレスです。 「183.79.250.123」をブラウザで開くと、yahoo.co.jpのトップページが開けます。

勉強会で複数人で試してみると、異なるIPアドレスが返されることがあります。 なぜ複数のIPアドレスがあるかというと、LBで負荷分散しているからです。 LBの説明はこちら  スライドの一枚目で、インターネットからの通信をLBが複数のWebサーバに振り分けてます。 ただ実際にはLBもスライド二枚目のように冗長化されてます。 Webサーバの後ろには複数のAPサーバがあります。 (興味があれば、セッションについても覚えると楽しい)

勉強会では、ヤフーのサーバが一部障害で落ちてたけど、これはIPアドレス直打ちだから発生する現象で、yahoo.co.jpで繋げばLBが正常なサーバに接続してくれます。 このように、LBにはサーバの死活監視の機能もあります。