この部分の広告を募集しています。 詳しくはこちら

2004年12月アーカイブの最新記事

OSPF Helloパケット

(所属カテゴリー:IPルーティング---投稿日時:2004年12月31日)

OSPF Helloパケットとは

OSPF Helloパケットとは、ネイバーの検出と維持に利用するためのパケットです。OSPFの5つのパケット種類のうちの1つで、パケットタイプ1です。

OSPFのパケットの種類をまとめたものが次の表です。

タイプ パケット種類 説明
タイプ1 Hello 他のOSPFルータとHelloパケットを送受信することによって、ダイナミックにネイバーを確立します。また定期的にHelloパケットを送信することによってネイバーの維持を行います。
タイプ2 DBD(DataBase Description) アジャセンシーを確立したあと、リンクステートデータベースの同期を取るために送受信します。
タイプ3 LSR(Link State Request) 特定のリンクステート情報(LSA)を要求するために送信します。
タイプ4 LSU(Link State Update) LSRの応答として送信されるリンクステート情報です。LSUパケットの中にリンクステート情報であるLSAが含まれています。
タイプ5 LSAck(Link State ACknowledgement) DBDやLSUを受信したことを意味する確認応答です。

OSPF Helloパケットの送信

OSPF HelloパケットはOSPFが有効になっているインタフェースから定期的に送信されます。Helloパケットを送信する間隔をHelloインターバルと呼びます。Helloインターバルは、OSPFインタフェースタイプによって異なります。また、Helloパケットを受信できずにネイバーがダウンしたとみなす時間をDeadインターバルといいます。Deadインターバルの時間もOSPFインタフェースタイプによって異なります。
OSPFインタフェースごとのHello/Deadインターバルのデフォルトは次のようになります。

OSPFネットワークタイプ Helloインターバル(秒) Deadインターバル(秒)
Broadcast 10 40
NBMA 30 120
Point-to-point 10 40
Point-to-multipoint 30 120

Hello/Deadインターバルの値を変更するには、インタフェースコンフィグレーションモードで次のコマンドを入力します。

(config-if)#ip ospf hello-interval [second]
(config-if)#ip ospf dead-interval [second]

なお、Helloインターバルを変更するとDeadインターバルは自動的に変更したHelloインターバルの4倍の値になります。しかし、Deadインターバルを変更してもHelloインターバルは自動的に変更されません。

OSPF Helloパケットは、すべてのOSPFルータ(ALLSPFRouters)を示す224.0.0.5を送信先IPアドレスとして送信されます。ただし、NBMAネットワークではマルチキャストを転送することができないので、明示的にユニキャストアドレスを指定する必要があります。

OSPF Helloパケットのフォーマット

次の図がOSPF Helloパケットのフォーマットを示したものです。

OSPFのパケットフォーマットは、すべてのパケットタイプに共通の24バイトのOSPFヘッダとパケットタイプごとのデータから構成されています。

OSPFヘッダの各フィールドの概要は次の通りです。

【バージョン】

OSPFのバージョンです。現在のOSPFバージョンは2です。

【タイプ】

OSPFパケットのタイプを示します。

【パケット長】

ヘッダも含めたOSPFパケットの長さをバイト単位で表した値が入ります。

【ルータID】

OSPFルータのルータIDが格納されます。

【エリアID】

パケットが生成されたエリアのエリア番号です。バーチャルリンク上にOSPFパケットが送られる場合には、エリアIDは0、つまりバックボーンエリアのエリア番号です。これは、バーチャルリンクはバックボーンエリアの一部として考えているためです。

【チェックサム】

エラーチェックのためのチェックサム計算に用います。

【認証タイプ】

OSPFの認証のタイプを示します。この認証タイプフィールドの取りうる値は、次のとおりです。

認証タイプの値 認証の種類
0 認証なし
1 クリアテキスト認証
2 MD5による認証

【認証情報】

認証タイプが0のときには、認証を行わないためこのフィールドには意味がありません。認証タイプが1、2のときには、認証に必要な情報が入ります。

次にHelloパケットのデータの各フィールドについて見ます。

【ネットワークマスク】

Helloパケットが送信されたインタフェースのサブネットマスクです。もし受信したHelloパケットのネットワークマスクとインタフェースのサブネットマスクが一致しなければ、そのパケットは無視されます。Helloパケットは、同じネットワークでのみ交換されるためです。

【Helloインターバル】

Helloパケットが送信される間隔です。前にも述べている通り、OSPFネットワークタイプ(ブロードキャストマルチアクセス、ポイントツーポイント、NBMA)によってデフォルト値が異なっています。Helloインターバルの値が一致しないとネイバーになることができません。

【オプション】

オプションフィールドは、OSPFルータのさまざまな機能を表しています。このオプショフィールドの中にスタブエリアの場合にスタブエリアであることを示すフラグ(スタブエリアフラグと呼ぶことにします)などがあります。

【ルータプライオリティ】

DR/BDRの選定に利用されるOSPFルータプライオリティです。この値が大きいルータほどDR/BDR の選定のときに優先されます。もし、プライオリティが0であれば、DR/BDRになることができなくなります。

【Deadインターバル】

ルータがダウンしたとみなす間隔です。最後にHelloパケットを受信してからDeadインターバルの間に次のHelloパケットを受信することができなければ、ネイバーのルータがダウンしたとみなされます。もし、Deadインターバルの値がお互いに一致していなければ、ネイバーになることができません。

【DRのIPアドレス】

マルチアクセスネットワーク上のDRのインタフェースIPアドレスです。ルータIDではありません。DRが選定されていなかったり、ポイントツーポイントネットワークであるなどDR/BDRの選定が行われない場合は、このフィールドは、0.0.0.0という値がセットされます。

【BDRのIPアドレス】

マルチアクセスネットワーク上のBDRのインタフェースIPアドレスです。ルータIDではありません。DRが選定されていなかったり、ポイントツーポイントネットワークであるなどDR/BDRの選定が行われない場合は、このフィールドは、0.0.0.0という値がセットされます。

【ネイバー】

ルータが認識しているすべてのネイバーのルータIDがリストされています。ルータがHelloパケットをやり取りして、このネイバーフィールドにお互いがリストされた状態が2Way状態となります。

ネイバーになるための条件

パケットフォーマットのフィールドの解説でも触れていますが、OSPFでネイバーになるためにはHelloパケットの次の条件が一致していなければいけません。

  • エリアID
  • 認証データ(認証が有効なとき)
  • ネットワークマスク
  • Helloインターバル
  • Deadインターバル
  • スタブエリアフラグ(オプションフィールド内)

うまくネイバーになってくれないときには、以上の条件がきちんと一致しているかどうかも確かめてみてください。

更にOSPFを究めるなら!Gene作成の『究めるOSPF』がお勧め!詳細はこちら↓
http://www.n-study.com/library/2005/11/ccnaccnpccieosp.html

Google
Web n-study.com

各コンテンツの最新記事

有料コンテンツライブラリ(ITエンジニア教育資料)

ネットワーク技術雑誌レビュー

ベンダ資格受験記

オススメ!ネットワーク技術雑誌・書籍

MindMapでおべんきょ

結果を出せるコーチング

Geneのつぶやき

The Power of Words

スポンサードリンク

スポンサードリンク