VRRPとは?仕組みや動作例・VRRPパケットの構成についても解説

VRRPとは?仕組みや動作例・VRRPパケットの構成についても解説のアイキャッチイメージ

VRRPとは?


VRRP(Virtual Router Redundancy Protocol)とは、複数のルーターを束ね、一体的に運用するための情報を伝送するプロトコルのことです。VRRPを使用することで予備のルーターにバックアップルーターの機能を持たせられるため、マスタールーターが停止しても、バックアップルーターが処理を引き継いでくれます。ここでは、VRRPの機能などについて紹介していきます。

VRRPができた経緯と変遷

VRRPとはIETFが1998年RFC2338として標準化した規格です。Ciscoが開発したHSRPをベースにして作られ、RFCで規定されました。また、その後の改定で、IPv6に対応しています。簡単に言うと、同一メーカーのみの構成の場合はHSRPを、異なるメーカーが混在する構成はVRRPとネットワーク形態によって選択できます。また、通信効率が良くてセキュリティ上も優れているのもVRRPの特徴です。

HSRPとの違い

同一メーカールーター同士の運用に限定している「HSRP」に対して、「VRRP」は、違うメーカールーター混在の運用も可能という点が大きな違いです。「HSRP」とは、ネットワークで複数のルーターをまとめて一体的に運用するための情報を伝送するプロトコルです。米シスコシステムズ社が策定したもので、同社製ルーターに限られて使用されます。VRRPと同じ機能を持ち、一方がマスタールーター、もう一方がバックアップルーターとして運用され、マスタールーターが機能停止するとバックアップルーターが処理引き継ぎをます。また、マスタールーターが回復した際には、バックアップルーターに降格して運用します。なお、「HSRP」と「VRRP」間の相互運用はありません。

VRRPの仕組みとは


VRRPは、ゲートウェイとして接続しているルーターの他にルーターを準備することで、バックアップルーターとしての利用を可能にする仕組みです。故障発生時には瞬時にバックアップルーターに切替できるため、業務への影響を最小限にする機能となります。

マスターとバックアップ

マスタールーターとは、VRRPの中に通常時メインでルーティングを実施し、稼働しているルーターのことです。バックアップルーターは、マスタールーターに故障が発生した場合にマスターに交代してルーティングを実施します。また、ルーターに設定された優先度によってマスターが決定します。

仮想ルーターのアドレスとVRID

マスタールーターとバックアップルーターは優先度で決定され、高い優先度の装置がマスタールーターとなります。この優先度を割り当てるために、仮想ルーターのIPアドレスとVRIDを設定します。仮想IPアドレスへのARP要求が来た場合は、仮想MACアドレスを常に使用して、ARP応答かNDP応答をします。

仮想IPアドレスオーナー

仮想IPアドレスオーナーになれるのは、同一グループ(VRID)の複数台あるルーターの中で、一台だけです。仮想IPアドレスと自物理IPアドレスを同じ設定にすることで実現します。また、仮想IPアドレスオーナーは、バックアップであるルーターに対して一定周期でパケットを出し続けますが、このパケットが途絶えると「オーナールーターが故障である」と判断し、自らマスタールーターへ昇格する動作を実施します。この昇格動作によりサービスの継続化が維持されています。

アドバタイズメントと障害時の動作

アドバタイズメントとは、マスタールーターの故障時の動作のことです。マスタールーターに障害があれば、制御パケットアドバタイズメントを出せなくなります。そのため、アドバタイズメントが一定時間受信できない場合は、バックアップルーターが自らマスター状態に移行します。切替後は役目が相互に入れ替わって動作を続行します。

VRRPグループ

VRRPグループとは、VRIDによってVRRPルーターのグループを分別したものです。IDが同一のVRRPルーターは同一グループに属しますが、中でもパケットの送受を実施するのは、マスターとなる一台だけです。VRIDが異なる場合、同一VRRPグループとはみなされないため、複数のVRRPグループが独立した動作を実施します。

VRRPを起動した際の状態遷移


起動した場合の状態遷移を見て行きましょう。まず、VRRPの複数ルーターを起動させると、それぞれがイニシャライズ(初期設定動作)を開始します。次に、マスタールーターとバックアップルーターがそれぞれアドバイスメントと呼ばれるパケットを宛先MACアドレスと宛先IPアドレス宛に送信します。このパケットには、VRID、優先度、仮想IPアドレスなどの情報が格納されていて、受信したアドバイスメントのVRIDが設定の値と同じ場合のみ、さらに自らの優先度と比較します。結果、優先度が大きい場合はマスターの状態で、小さい時はバックアップの状態で動作を開始します。

Init状態

VRRPは、ルーターを起動した時が、Init状態(初期状態)となります。その後、最初の起動ルーターがマスター状態へと自動的に遷移します。VRRPは、Initm、Master、Backupの3つの状態で構成されます。

Master状態

VRRPは、優先度がいちばん高い状態にある場合、自動的にMaster状態となります。また、自ルーターがBackup状態の場合は、Masterルーターが故障状態になればMasterルーターに状態変更となります。

Backup状態

VRRPのBackup状態とは、自ルーターの優先度より高いMasterルーターがVRRPグループ内に存在する場合にBackup状態になることです。また、Master状態のルーターが故障などで停止すると、Master状態へと遷移します。

動作例


VRRPの設定済みのルーターが起動されると、設定された優先度の値をお互いに判定しマスターかバックアップの状態に変ります。この状態になると、PCはデフォルトゲートウェイ(マスタールーター)への通信が可能となります。

実装例

VRRPとは同じセグメント内で動作可能です。そのために同じセグメント内でVRRPが動作可能なルーターを複数台実装します。冗長化するルーターに同じVRRPグループIDを付与した設定します。これにより、同一グループであると双方で認識します。次に優先度の設定priorityやマスタールーターが故障した場合に、バックアップルーターに渡す情報preemtも同時に設定します。フラッピング時の影響を少なくするためにマスタールーター側にpreemt delayを設定しておくのも忘れずに実施します。

PCから通信を行うとき

PCから通信を実施するとは、あらかじめ設定してあるデフォルトゲートウェイによりVRRPルーターを認識します。複数のルーター側では、同じIDでグループ化設定がされているので、PC側は複数のルーターがあたかも一台のルーターとして認識しています。PC は送信する準備としてデフォルトゲートウェイ(VRRPルーター)に対して接続リクエストを要求します。受信したマスタールーターは仮想のMACアドレスをPCへ返送を実施し、このアドレスの受信により、PC はフレームデータの送信を開始します。

マスターに障害が発生したとき

マスタールーターに障害が発生したときの対処とは、アドバンスメントパケットを使用します。マスタールーターがバックアップルーターに定期的に送信している「自ルーターは正常に稼動している」と宣言しているものです。このアドバンスメントが一定時間受信できないと、バックアップルーターはマスタールーターが故障と判断し、自らマスタールーターとして動作を開始します。

VRRPの基本構成とは、バックアップルーターは稼動していない状態です。一台のマスタールーターのみが稼動して、バックアップルーターは故障などに備えて待機しているので負荷はマスタールーターのみが受けています。この冗長構成をとることで、サービスの継続性を担保しています。

VRRPパケットの構成とは


VRRPパケットの構成とはフレームフォーマットを見ると理解可能です。フレーム構成は32ビット構成で、上位ビットから「Version」、「Type」、「Vertual Rtr ID」、「Priority」、「Count IP Addrs」となります。それぞれがVRRPを支障なく運用するためには大切な項目です。

全体像

VRRPとは「Virtual Router Redundancy Protocol」の略で、各PCにひとつだけ設定でき、デフォルトゲートウェイを冗長化する機能です。それぞれのルーターは違う物理IPアドレスを設定し、これらのルーターを同じ仮想IPアドレスでグループ化します。また、マスターはこの仮想IPアドレスと物理IPアドレスを同じとします。これでこのルーターのIPアドレスオーナーが確立します。この確立によって、複数あるルーターがPCからは1台であるように認識できます。

Version

Versionとは、パケットデータの最初の4ビット領域にあるプロトコルの種類を表す値のことです。バージョンといっても構成などではなく、単純に種類を表す情報です。値の0〜3は空、4がIPv4、5がST、6がIPv6、7がTP/IX、8がPIP、9がTUBA、10〜15が空となります。

IPv4は、対応する基本的な機能の全ての情報を含むため、無駄が多いという特徴があり、アドレスは32ビットです。IPv6ヘッダーは、普段使うものだけの情報なのでシンプルです。また、アドレスは128ビットで、ヘッダーサイズの80%はアドレスになっています。普段使われる時は、それぞれ「IPv4ヘッダー」、「IPv6ヘッダー」と呼ばれています。

Type

Typeとはパケットのフレームフォーマットのイーサネットヘッダの16ビットの情報のことです。この内、下位2ビット部分をタイプ番号として使用しプロトコルの種類を表します。

Virtual Rtr ID(VRID)

Virtual Rtr ID(VRID)とは仮想ルーターに割り当てられた番号です。仮想ルーターには、仮想MACアドレスが割り当てられます。仮に仮想MACアドレスが00:00:5E:00:01:XXだとすると、「XX」この値がVRIDに該当します。マスタールーターは、自MACアドレス宛ての上記のフレームデータを受信すると、ルーティング処理を実施した後に、パケットデータをネットワークへ送出します。万が一、マスタールーターに故障が発生した場合でもバックアップルーターがマスタールーターに切り替わるため、PCから仮想MACアドレス宛てにフレームデータを送信しても通信が継続できます。

Priority

Priorityとはルーターのマスターとバックアップに決定する場合の優先度の値です。この値が大きい程優先的にマスターとなりそれ以外はバックアップと決定されます。この優先度はマスターとバックアップでは値に大きな差をつけることが大事です。仮に同じ優先度値とすると、優先度が各ルーターで判断できず全てがマスタールーターになろうと動作しますので、調整負荷が増大します。このような状況を避けるために、優先度はできるだけ大きな差をつけるようにしましょう。

Count IPvX Addr

Count IPvX Addrは目的の宛先までに、データが何個もルーターを中継してから到達します。各ルーターは、ダイナミックルーティングを使用して宛先までの最適経路を計算しています。このルーティングでは、宛先への経路に故障が起きた場合に、自動で別の迂回経路に切り替える機能を持っています。

RSVP

RSVPとは送受信を実施する二台のPC間でデータ通信開始時に制御メッセージをやりとりすることによって、両者を結ぶ経路上のルーターやスイッチが伝送帯域を確保する方式です。テレビ会議などはリアルタイムの映像などは即時性が要求されるのでこの方式は適しています。

Max Adver Int

Max Adver Intとは、AdVERTISEMENTパケットの送信間隔を長くすることです。ネットワークの負荷が高くパケット損失が多い場合、仮想ルーターのマスターとバックアップの切り替わりが多くなる事象が発生します。この状態が断続的に起こる場合は,Max Adver Intの値を大きくすることで不具合を解消できる場合があります。

Checksum

Checksumとは、誤り検出符号でデータ列を整数値の列とみなして和を抽出し、ある定数で割った余りをデータとする方式です。単純な誤り検出方式のため検出精度は高くはありませんが、原理が単純で計算コストも低いので簡易な検出方式として広く普及しています。この方式を用いるとデータ伝送や記録、複製が正確にできたかを調べることが可能です。検証として、送信前にChecksumを元データに付加し、受信後にチェックサムを算出し直した際に両者が一致しなければ、データに誤りが生じていることが判定できます。

VRRPについて知って冗長化の手段を増やそう


VRRPでの冗長化とは、仮想IPアドレスをゲートウェイとして複数のルーターで共有して、ルーター故障が発生してもサービスを止めない方法です。複数の間でVRRPを有効にすることで、ルーター同士でVRRP Advertisementというメッセージのやりとりで仮想ルーターができます。そして、この仮想ルーターは「仮想MACアドレス」と「仮想IPアドレス」を持ちます。つまり、VRRPを使うことで、複数のルーターにマスターとバックアップの役割が割り当てられるため、「サービスを止めない」という目的の実現が可能になります。” “

VRRPとは?


VRRP(Virtual Router Redundancy Protocol)とは、複数のルーターを束ね、一体的に運用するための情報を伝送するプロトコルのことです。VRRPを使用することで予備のルーターにバックアップルーターの機能を持たせられるため、マスタールーターが停止しても、バックアップルーターが処理を引き継いでくれます。ここでは、VRRPの機能などについて紹介していきます。

VRRPができた経緯と変遷

VRRPとはIETFが1998年RFC2338として標準化した規格です。Ciscoが開発したHSRPをベースにして作られ、RFCで規定されました。また、その後の改定で、IPv6に対応しています。簡単に言うと、同一メーカーのみの構成の場合はHSRPを、異なるメーカーが混在する構成はVRRPとネットワーク形態によって選択できます。また、通信効率が良くてセキュリティ上も優れているのもVRRPの特徴です。

HSRPとの違い

同一メーカールーター同士の運用に限定している「HSRP」に対して、「VRRP」は、違うメーカールーター混在の運用も可能という点が大きな違いです。「HSRP」とは、ネットワークで複数のルーターをまとめて一体的に運用するための情報を伝送するプロトコルです。米シスコシステムズ社が策定したもので、同社製ルーターに限られて使用されます。VRRPと同じ機能を持ち、一方がマスタールーター、もう一方がバックアップルーターとして運用され、マスタールーターが機能停止するとバックアップルーターが処理引き継ぎをます。また、マスタールーターが回復した際には、バックアップルーターに降格して運用します。なお、「HSRP」と「VRRP」間の相互運用はありません。

VRRPの仕組みとは


VRRPは、ゲートウェイとして接続しているルーターの他にルーターを準備することで、バックアップルーターとしての利用を可能にする仕組みです。故障発生時には瞬時にバックアップルーターに切替できるため、業務への影響を最小限にする機能となります。

マスターとバックアップ

マスタールーターとは、VRRPの中に通常時メインでルーティングを実施し、稼働しているルーターのことです。バックアップルーターは、マスタールーターに故障が発生した場合にマスターに交代してルーティングを実施します。また、ルーターに設定された優先度によってマスターが決定します。

仮想ルーターのアドレスとVRID

マスタールーターとバックアップルーターは優先度で決定され、高い優先度の装置がマスタールーターとなります。この優先度を割り当てるために、仮想ルーターのIPアドレスとVRIDを設定します。仮想IPアドレスへのARP要求が来た場合は、仮想MACアドレスを常に使用して、ARP応答かNDP応答をします。

仮想IPアドレスオーナー

仮想IPアドレスオーナーになれるのは、同一グループ(VRID)の複数台あるルーターの中で、一台だけです。仮想IPアドレスと自物理IPアドレスを同じ設定にすることで実現します。また、仮想IPアドレスオーナーは、バックアップであるルーターに対して一定周期でパケットを出し続けますが、このパケットが途絶えると「オーナールーターが故障である」と判断し、自らマスタールーターへ昇格する動作を実施します。この昇格動作によりサービスの継続化が維持されています。

アドバタイズメントと障害時の動作

アドバタイズメントとは、マスタールーターの故障時の動作のことです。マスタールーターに障害があれば、制御パケットアドバタイズメントを出せなくなります。そのため、アドバタイズメントが一定時間受信できない場合は、バックアップルーターが自らマスター状態に移行します。切替後は役目が相互に入れ替わって動作を続行します。

VRRPグループ

VRRPグループとは、VRIDによってVRRPルーターのグループを分別したものです。IDが同一のVRRPルーターは同一グループに属しますが、中でもパケットの送受を実施するのは、マスターとなる一台だけです。VRIDが異なる場合、同一VRRPグループとはみなされないため、複数のVRRPグループが独立した動作を実施します。

VRRPを起動した際の状態遷移


起動した場合の状態遷移を見て行きましょう。まず、VRRPの複数ルーターを起動させると、それぞれがイニシャライズ(初期設定動作)を開始します。次に、マスタールーターとバックアップルーターがそれぞれアドバイスメントと呼ばれるパケットを宛先MACアドレスと宛先IPアドレス宛に送信します。このパケットには、VRID、優先度、仮想IPアドレスなどの情報が格納されていて、受信したアドバイスメントのVRIDが設定の値と同じ場合のみ、さらに自らの優先度と比較します。結果、優先度が大きい場合はマスターの状態で、小さい時はバックアップの状態で動作を開始します。

Init状態

VRRPは、ルーターを起動した時が、Init状態(初期状態)となります。その後、最初の起動ルーターがマスター状態へと自動的に遷移します。VRRPは、Initm、Master、Backupの3つの状態で構成されます。

Master状態

VRRPは、優先度がいちばん高い状態にある場合、自動的にMaster状態となります。また、自ルーターがBackup状態の場合は、Masterルーターが故障状態になればMasterルーターに状態変更となります。

Backup状態

VRRPのBackup状態とは、自ルーターの優先度より高いMasterルーターがVRRPグループ内に存在する場合にBackup状態になることです。また、Master状態のルーターが故障などで停止すると、Master状態へと遷移します。

動作例


VRRPの設定済みのルーターが起動されると、設定された優先度の値をお互いに判定しマスターかバックアップの状態に変ります。この状態になると、PCはデフォルトゲートウェイ(マスタールーター)への通信が可能となります。

実装例

VRRPとは同じセグメント内で動作可能です。そのために同じセグメント内でVRRPが動作可能なルーターを複数台実装します。冗長化するルーターに同じVRRPグループIDを付与した設定します。これにより、同一グループであると双方で認識します。次に優先度の設定priorityやマスタールーターが故障した場合に、バックアップルーターに渡す情報preemtも同時に設定します。フラッピング時の影響を少なくするためにマスタールーター側にpreemt delayを設定しておくのも忘れずに実施します。

PCから通信を行うとき

PCから通信を実施するとは、あらかじめ設定してあるデフォルトゲートウェイによりVRRPルーターを認識します。複数のルーター側では、同じIDでグループ化設定がされているので、PC側は複数のルーターがあたかも一台のルーターとして認識しています。PC は送信する準備としてデフォルトゲートウェイ(VRRPルーター)に対して接続リクエストを要求します。受信したマスタールーターは仮想のMACアドレスをPCへ返送を実施し、このアドレスの受信により、PC はフレームデータの送信を開始します。

マスターに障害が発生したとき

マスタールーターに障害が発生したときの対処とは、アドバンスメントパケットを使用します。マスタールーターがバックアップルーターに定期的に送信している「自ルーターは正常に稼動している」と宣言しているものです。このアドバンスメントが一定時間受信できないと、バックアップルーターはマスタールーターが故障と判断し、自らマスタールーターとして動作を開始します。

VRRPの基本構成とは、バックアップルーターは稼動していない状態です。一台のマスタールーターのみが稼動して、バックアップルーターは故障などに備えて待機しているので負荷はマスタールーターのみが受けています。この冗長構成をとることで、サービスの継続性を担保しています。

VRRPパケットの構成とは


VRRPパケットの構成とはフレームフォーマットを見ると理解可能です。フレーム構成は32ビット構成で、上位ビットから「Version」、「Type」、「Vertual Rtr ID」、「Priority」、「Count IP Addrs」となります。それぞれがVRRPを支障なく運用するためには大切な項目です。

全体像

VRRPとは「Virtual Router Redundancy Protocol」の略で、各PCにひとつだけ設定でき、デフォルトゲートウェイを冗長化する機能です。それぞれのルーターは違う物理IPアドレスを設定し、これらのルーターを同じ仮想IPアドレスでグループ化します。また、マスターはこの仮想IPアドレスと物理IPアドレスを同じとします。これでこのルーターのIPアドレスオーナーが確立します。この確立によって、複数あるルーターがPCからは1台であるように認識できます。

Version

Versionとは、パケットデータの最初の4ビット領域にあるプロトコルの種類を表す値のことです。バージョンといっても構成などではなく、単純に種類を表す情報です。値の0〜3は空、4がIPv4、5がST、6がIPv6、7がTP/IX、8がPIP、9がTUBA、10〜15が空となります。

IPv4は、対応する基本的な機能の全ての情報を含むため、無駄が多いという特徴があり、アドレスは32ビットです。IPv6ヘッダーは、普段使うものだけの情報なのでシンプルです。また、アドレスは128ビットで、ヘッダーサイズの80%はアドレスになっています。普段使われる時は、それぞれ「IPv4ヘッダー」、「IPv6ヘッダー」と呼ばれています。

Type

Typeとはパケットのフレームフォーマットのイーサネットヘッダの16ビットの情報のことです。この内、下位2ビット部分をタイプ番号として使用しプロトコルの種類を表します。

Virtual Rtr ID(VRID)

Virtual Rtr ID(VRID)とは仮想ルーターに割り当てられた番号です。仮想ルーターには、仮想MACアドレスが割り当てられます。仮に仮想MACアドレスが00:00:5E:00:01:XXだとすると、「XX」この値がVRIDに該当します。マスタールーターは、自MACアドレス宛ての上記のフレームデータを受信すると、ルーティング処理を実施した後に、パケットデータをネットワークへ送出します。万が一、マスタールーターに故障が発生した場合でもバックアップルーターがマスタールーターに切り替わるため、PCから仮想MACアドレス宛てにフレームデータを送信しても通信が継続できます。

Priority

Priorityとはルーターのマスターとバックアップに決定する場合の優先度の値です。この値が大きい程優先的にマスターとなりそれ以外はバックアップと決定されます。この優先度はマスターとバックアップでは値に大きな差をつけることが大事です。仮に同じ優先度値とすると、優先度が各ルーターで判断できず全てがマスタールーターになろうと動作しますので、調整負荷が増大します。このような状況を避けるために、優先度はできるだけ大きな差をつけるようにしましょう。

Count IPvX Addr

Count IPvX Addrは目的の宛先までに、データが何個もルーターを中継してから到達します。各ルーターは、ダイナミックルーティングを使用して宛先までの最適経路を計算しています。このルーティングでは、宛先への経路に故障が起きた場合に、自動で別の迂回経路に切り替える機能を持っています。

RSVP

RSVPとは送受信を実施する二台のPC間でデータ通信開始時に制御メッセージをやりとりすることによって、両者を結ぶ経路上のルーターやスイッチが伝送帯域を確保する方式です。テレビ会議などはリアルタイムの映像などは即時性が要求されるのでこの方式は適しています。

Max Adver Int

Max Adver Intとは、AdVERTISEMENTパケットの送信間隔を長くすることです。ネットワークの負荷が高くパケット損失が多い場合、仮想ルーターのマスターとバックアップの切り替わりが多くなる事象が発生します。この状態が断続的に起こる場合は,Max Adver Intの値を大きくすることで不具合を解消できる場合があります。

Checksum

Checksumとは、誤り検出符号でデータ列を整数値の列とみなして和を抽出し、ある定数で割った余りをデータとする方式です。単純な誤り検出方式のため検出精度は高くはありませんが、原理が単純で計算コストも低いので簡易な検出方式として広く普及しています。この方式を用いるとデータ伝送や記録、複製が正確にできたかを調べることが可能です。検証として、送信前にChecksumを元データに付加し、受信後にチェックサムを算出し直した際に両者が一致しなければ、データに誤りが生じていることが判定できます。

VRRPについて知って冗長化の手段を増やそう


VRRPでの冗長化とは、仮想IPアドレスをゲートウェイとして複数のルーターで共有して、ルーター故障が発生してもサービスを止めない方法です。複数の間でVRRPを有効にすることで、ルーター同士でVRRP Advertisementというメッセージのやりとりで仮想ルーターができます。そして、この仮想ルーターは「仮想MACアドレス」と「仮想IPアドレス」を持ちます。つまり、VRRPを使うことで、複数のルーターにマスターとバックアップの役割が割り当てられるため、「サービスを止めない」という目的の実現が可能になります。

インフラエンジニア専門の転職サイト「FEnetインフラ」

FEnetインフラはサービス開始から10年以上『エンジニアの生涯価値の向上』をミッションに掲げ、多くのエンジニアの就業を支援してきました。

転職をお考えの方は気軽にご登録・ご相談ください。