通信プロトコル「IP(Internet Protocol)」のポイント
はじめに
今回は、通信プロトコル「IP(Internet Protocol)」について解説します。IPはインターネットで利用されている通信プロトコルであり、デファクトスタンダード(事実上の標準)としてコンピュータネットワーク以外にも音声ネットワークや映像ネットワークなどにも採用されています。IPは多くの通信の基盤となる仕組みであるため、午前問題や午後問題を解く際の必須知識であると言えます。
IPアドレスとサブネットマスク
まず、IPアドレスとサブネットマスクについて確認します(図1)。IPはネットワーク層のプロトコルであり、宛先情報(アドレス情報)としてIPアドレスを利用します。IPアドレスは32ビットで、一般的には8ビット単位にまとめてドットで区切り、数値を10進数で表記します。前半部分のネットワーク部と後半部分のホスト部で構成され、ネットワーク部はL3スイッチやルータを越えない範囲(同一セグメント・同一ネットワーク)で同じ値を設定し、ホスト部は同一ネットワーク内で重複しない値を設定します。
ネットワーク部とホスト部の境界はサブネットマスクで決定されます。サブネットマスクはIPアドレスと同様にドット区切りの10進数以外に、プレフィックス長と呼ばれる数値で記述される場合があります。また、サブネットマスクは1ビット単位で設定できるため、サブネットマスクに関連した計算問題は出題されやすい傾向があります。
それでは、IPアドレスやサブネットマスクに関連した過去問題を確認してみましょう。
問13 クラスBのIPアドレスで,サブネットマスクが16進数のFFFFFF80である場合,利用可能なホスト数は最大幾つか。
ア 126 イ 127 ウ 254 エ 255
(平成26年度 秋期 午前Ⅱ問題 問13(試験問題から引用))
利用可能なホスト数を求める問題です。まず、16進数で表記しているサブネットマスクを2進数で表記すると、11111111 11111111 11111111 10000000となります。0ビット部分がホスト部として利用されることから、この問題ではホスト部に7ビット分確保されていることがわかります。したがって、2の7乗から128となります。また、ホスト部には予約されていてホストに割り当てることができないアドレスが2つあるため、128から2を引いた126、すなわち(ア)が正解です。
なお、予約されているアドレスとは、ホスト部のビットが全て0のアドレスと全て1のアドレスです。前者はネットワーク部だけを表記したアドレスとなるため、ネットワークアドレスと呼ばれます。また、後者はブロードキャストアドレスと呼ばれ、同一ネットワークアドレス全体に対する通信のための宛先として利用されます(図2)。
問12 ネットワークアドレス 192.168.10.192/28 のサブネットにおけるブロードキャストアドレスはどれか。
ア 192.168.10.199 イ 192.168.10.207
ウ 192.168.10.233 エ 192.168.10.255
(平成29年度 秋期 午前Ⅱ問題 問12(試験問題から引用))
ブロードキャストアドレスを求める問題です。ブロードキャストアドレスとは、ホスト部のビットが全て1になっているIPアドレスでしたね。問題のネットワークアドレスは192.168.10.192/28なので、対象となる範囲は192.168.10.192から192.168.10.207の間と求められます(図3)。このうちホスト部がオール1ビットのIPアドレスは192.168.10.207なので、解答は(イ)となります。
余談ですが、ホスト部のビットが全て0のアドレスである192.168.10.192も予約されて使えないため、利用できる最小IPアドレスは192.168.10.193、最大IPアドレスは192.168.10.206となります。
このように、IPアドレスとサブネットマスクに関連した問題では16進数や10進数、2進数の変換が必要となるため、これらの計算に慣れておきましょう。RFC1878にはサブネットマスクのビット数に応じたホストアドレスの範囲などの情報がまとめられているので、参考にしてください。
ルーティング
ルーティングとは、IPパケットに含まれる宛先IPアドレスをもとに中継先を決定する仕組みです。ルーティングを適切に設定することで離れたコンピュータ間との通信を実現します。ルーティングはルーティングテーブルを参照して転送先を決定します(図4)。宛先IPアドレスとルーティングテーブルに登録された宛先ネットワークを比較し、一致するビット数が最も高いテーブルを中継先として選択します。もし、ルーティングテーブルに適切な転送先が登録されていない場合はパケットが破棄されます。その際には、送信元にICMPのエラー通知メッセージ(宛先到達不能)が送信されることもあります。
ルーティングテーブルは装置にIPアドレスを設定することで自動的に登録されますが、直接接続されていないネットワークの情報は何らかの方法で登録する必要があります。ルーティングテーブルの登録方法にはスタティックとダイナミックがあり、スタティックは手作業による登録を、ダイナミックはルーティングプロトコルによる登録を指します。また、ルーティングプロトコルには組織内で利用するIGPと組織間で利用するBGPがあり、それぞれ代表的なものとしてIGPではOSPF、BGPではBGP4が挙げられます。
スタティックルーティングの設定方法の代表例として、デフォルトゲートウェイが挙げられます。一般的にデフォルトゲートウェイには同一ネットワークに接続されたルータのIPアドレスを設定します。スタティックルーティングでは中継先が固定となるため、対象の装置が利用不可能となった場合は通信ができなくなります。その対策としてVRRP(Virtual Redundancy Router Protocol)を組み合わせることが多く、試験でも関連した問題が出題されています。
ダイナミックルーティングはL3スイッチやルータでルーティングプロトコルを利用することで実現できます。ルーティングプロトコルには様々な規格がありますが、試験などで出題されやすいプロトコルとしてOSPFが挙げられます。
OSPF
OSPFではエリアの設計が必要になります(図5)。エリアはOSPFで利用する情報を交換する範囲であり、エリアを分割することで装置の負荷を軽減します。エリアには設定が必須となるバックボーンエリアと、それ以外の通常のエリアがあり、通常のエリアは原則バックボーンエリアに隣接させる必要があります。また、エリアを分割することでエリア間のルーティング情報を集約できます。集約とは、複数のルーティング情報をまとめて他のエリアに通知する仕組みです(図6)。なお、集約は手動で設定した内容をそのまま利用するため、集約範囲を間違えるとトラブルの原因となります。設定は慎重に行う必要があります。
OSPFではルーティングテーブルやルータなどの情報の交換をLSA(Link State Advertisement)と呼ばれるパケットで行います。EthernetにおけるLSAの交換は、ルータからDR(Designated Router)とBDR(Backup Designated Router)を選出した上で、これらを経由して行われます(図7)。
ルータの冗長化技術
VRRPは複数のL3スイッチやルータなどの装置で仮想ルータを設定する技術で、デフォルトゲートウェイを冗長化する用途などで利用されます。VRRPでは複数の装置を1台の仮想ルータとみなして動作させます。仮想ルータとして動作するのはグループ化した装置の中の1台ですが、万一その装置がダウンした場合でも別の装置が仮想ルータの通信処理を引き継ぐため、仮想ルータ宛の通信を継続して処理することが可能となります。
VRRPは仮想ID、仮想IPアドレス、優先度を設定することで動作します。VRRPを設定した装置はVRRP広告(VRRP Advertisement)と呼ばれるパケットを定期的(デフォルトは1秒ごと)に送信します。その一方で、他の装置から同じ仮想IDかつ優先度の高いVRRP広告が送信されてきていないかチェックします。自身の優先度よりも高い値の装置が存在した場合はバックアップルータとして動作し、存在しない場合はメインルータとして動作します(図8)。なお、同一優先度の装置が存在した場合は、装置に設定されたIPアドレスの大きい方がメインルータになります。そして、メインルータとして動作している装置が仮想IPアドレス宛のパケットを受け取って中継処理を行います。一方、バックアップルータとして動作している装置はそのまま待機します。
メインルータがダウンした場合は、メインルータからVRRP広告が送信されなくなります。この場合、次に優先度の高い装置がバックアップルータからメインルータへと動作が切り替わるため、仮想ルータ宛の通信を継続して処理できます。
過去問題の確認
それでは、VRRPとOSPFに関連した過去問題を確認してみましょう。
こちらから、平成26年度 ネットワークスペシャリスト試験 午後Ⅰ問題をダウンロードして、問1の設問2(1)~(3)までを解いてみてください。
●設問2 (1)
VRRPとデフォルトゲートウェイの設定に関する問題です。まず、VRRPの設定について考えてみます。問題文[ネットワーク経路の検討]の1~3行目から設定するVRRPの構成が読み取れます(図9)。また、問題文[ネットワーク経路の検討]の4~5行目から、満たすべき要件が読み取れます(図10)。
これらの情報から、支部1ではルータ3とルータ4でVRRPを構成し、その際に業務系セグメントではルータ3を、動画系セグメントではルータ4をメインルータに選出されるように設定すれば良いことがわかります(図11)。また、PCに設定するデフォルトゲートウェイはルータのIPアドレスではなく、仮想ルータのIPアドレスを設定します。今回は仮想ルータを2つ用意するため、設定すべき仮想ルータの情報を明記する必要があります。
以上のことから、業務系セグメントのPCのデフォルトゲートウェイには「業務系セグメントに対応した仮想ルータのIPアドレス」を設定します。また、業務系セグメントのPCから送信されたパケットを適切な経路で処理するためのVRRPの設定としては、「業務系セグメントの仮想ルータがルータ3でアクティブになるようにプライオリティ値を設定する」となります。なお、これは解答例なので、アクティブをメインルータと表現したり、プライオリティ値を優先度と表現したりしても問題ありません。
●設問2 (2)
OSPFの集約に関する問題です。集約はそのエリア内のルーティング情報を、他のエリアに送信する際に行うことができます。今回の問題におけるエリアの構成は、問題文[ネットワーク経路の検討]の18~20行目から読み取ることができます(図12)。
この設計を反映すると、図13のようになります。
支部1に注目すると、業務系セグメントに10.1.1.0/24、動画系セグメントに10.1.2.0/24のネットワークアドレスが存在します。また、ルータ3はABR(Area Boarder Router)として、バックボーンエリアのルータ1へ集約したルーティング情報を送信できます。したがって、これらを集約してバックボーンエリアに送信する際の最適なネットワークアドレスは「10.1.0.0/16」が解答になります。集約したネットワークアドレスとして10.1.0.0/22や10.1.0.0/21などでも間違いではありませんが、問題文[ネットワーク経路の検討]の20行目中に「最もプレフィックスが短くなるように」と条件が指定してあるため、解答としては不適切です。また、10.0.0.0/15では本部で利用しているネットワークアドレス(10.0.1.0/24など)と区別できなくなるため、こちらは集約するネットワークアドレスそのものが不適切になります。
●設問2 (3)
動画サーバからのデータ(動画データ)の送信経路に関する問題です。まず、aの「ルータ2本体の障害時」について考えてみます。この場合、ルータ2からのVRRPアドバタイズメントが送信されなくなるため、ルータ1が動画系セグメントのメインルータとして動作し、動画サーバから送信された仮想IPアドレス宛の通信を中継処理します(図14)。以上より、解答は「(動画サーバ→L2SW→)ルータ1→ルータ3(→L2SW→PC)」となります。
次に、bの「ルータ4 p10の障害時」について考えてみます。動画サーバから送信されたデータは、動画系セグメントのメインルータであるルータ2が受け取ります。今回はp10がダウンしていることから、支部1の動画系セグメントのルーティング情報はルータ1を経由して送られてきます。そこで、ルータ2はルータ1を中継先とします。ルータ1からの通信はルータ3に中継され、そのまま動画系セグメントのPCに送信されます(図15)。ルータ4は経由しません。以上より、解答は「(動画サーバ→L2SW→)ルータ2→ルータ1→ルータ3(→L2SW→PC)」となります。
おわりに
今回は、IPに関連した仕組みと関連する問題について確認しました。次回は、アプリケーションプロトコルを取り上げます。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- レイヤー3スイッチとルーティング
- VLSM(Variable Length Subnet Mask:可変長サブネットマスク)の利用
- ネットワーク環境を準備する
- DHCPサーバーのインストールと設定
- OSI参照モデルを紐解いていこう ー第3層(ネットワーク層) ②ルーティング
- OSI参照モデルを紐解いていこう ー第3層(ネットワーク層) ①ネットワーク層の役割とIPアドレス
- IPv4のサブネット化の概要[サブネットをサイジング/プライベートアドレスとパブリックアドレスを見分ける]
- ネットワーク層の機能(前編)―パケット転送時の役割―
- Windows Server 8でよく使うネットワーク機能の設定
- ソフトウェア定義型ネットワークの作成