ルーティング・OSPF -OSPF パケットの種類-


OSPF Packetの種類

種類 説明
Hello ネイバールータの発見と生存確認を行う(マルチキャストで送信される)
Database Description ルートの通知を行う。変更時に変更分だけ行う。(マルチキャストで送信される)
Link State Request Queryに対する返答(ユニキャストで送信される)
Link State Update ルートの問い合わせに行う。ルートのダウン時にフィジブルサクセサが自身のTableに無い場合。(マルチキャストで送信される)
Link State Acknowledgement Update、Reply、Queryに対する確認応答。(ユニキャストで送信される)

※これらのマルチキャストは、Cisco独自のトランスポート層プロトコルを使用する。

 

OSPF Packet Header

Version
OSPFのVersionが入ります。現状はVersion2を使用しているため"2"が入ります。

Type
OSPFのPacketTypeとして以下の値が入ります。
1:Hello
2:Database Description
3:Link State Request
4:Link State Update
5:Link State Acknowledgment

Packet length
Protocol Packetの長さがbytes単位で入ります。この長さにはOSPF Headerも含みます。

Router ID
OSPFのRouterの識別用に選択されたIPAddressが入ります。

Area ID
このPacketが属するエリアを識別する値が32bitで入ります。OSPF Packetは必ず一つのエリアに所属していなければいけません。VirtualLinkを使用している場合は、0.0.0.0が入ります。

Checksum
標準的なIPのアルゴリズムを使用して、64bitの認証フィールドを除くOSPF Packet全体を対象に計算されます。

AuType
OSPFの認証アルゴリズムを識別します。値は以下のように定義されます。
0:認証なし
1:簡易認証
2:暗号化認証

Authentication
OSPFの認証用フィールド

 

OSPF Hello Packet

OSPF Hello Packetの場合はHeaderのTypeに"1"が入ります。
隣接関係の確立と維持、ブロードキャストマルチアクセストポロジー、NBMA トポロジー のマルチアクセスネットワークであれば、DRとBDRの選出に使用します。

Network mask
Interfaceに設定しているNetwork Maskの値が入ります。

Hello Interval
Hello Packetを送信する間隔を指定します。

Options
オプションのRouter機能を設定します。

Priority
DR、BDRの選出時に使用。0~255の間で優先度が最も高いルータが選出される。"0"の場合DR、BDRに選出されることは無い。

Router Dead Interval
RouterがDownしたと判断するまでの時間を指定します。

Designated Router
DRが入ります。0.0.0.0の場合DRが存在しません。

Backup Designated Router
BDRが入ります。0.0.0.0の場合BDRが存在しません。

Neighbor
各Neighbor RouterのRouterIDが入ります。

 

OSPF Database Description Packet

OSPF Database Description Packetの場合はHeaderのTypeに"2"が入ります。
双方向のRouterでNeighborが確立されると、互いのDatabaseを同期させる必要があります。
これらの交換PacketにDDPを使用します。


  ※クリックすると大きな画像で見れます。

交換を開始するマスター側のRouterは"I","M","MS"の各ビットを"1"に設定し、DD sequence numberを相手のRouterが以前受信したことがない任意の値に設定した空のPacketを送信します。
スレーブ側Routerは確認応答Packetととして、"I"と"M"の各ビットを"1"、"MS"を"0"に設定し、同じDD sequence numberを含むPacketを送信します。

続いて役割が決まると、マスター側RouterはDatabase内のRecordの記述をDDPの順序で送信する。
最後のPacketを除き、"I"は"0"、"M"と"MS"は"1"に設定されます。
スレーブ側RouterはPacketを受信するたびに確認応答Packetを送信します。
確認応答Packetが一定時間内に送られてこないと、マスターは再度同じPacketを再送します。
スレーブ側で再度同じDD sequence numberのPacketが送られてくると、前回の確認応答を繰り返します。
このように確認応答をやりとりすることで確実にPacketのやりとりが行われることになります。

Interface MTU
フラグメンテーションを除いた物理Interfaceでの最長Packetサイズが入ります。

Options
Option パラメータでHelloPacketのOptionFieldに相当する。

I-bit
Init-bit。ここに"1"がSetされていると、DDPSequenceの最初のPacketである事を示しています。

M-bit
More-bit。ここに"1"がSetされていると、DDPがもっと続く事を示しています。

MS-bit
Master/Slave-bit。ここに"1"がSetされていると、このRouterがスレーブになっている事を示しています。

DD sequence number
DDPのやりとりに使用します。初期値は相手のRouterが以前に受信したことがないユニークな値です。DD sequence numbeはdatabse descriptionの送信が完了する度に増加します。

 

OSPF:Link State Request Packet

Link State Request Packetの場合はHeaderのTypeに"3"が入ります。
受け取ったDBDの内容が自分の持っている情報より新しい場合に、完全な情報を隣接ルータから貰うために使われるパケットです。

 

OSPF:Link State Update packet

Link State Update Packetの場合はHeaderのTypeに"4"が入ります。
リンク状態の変化が起きると変更分のLSA(Link State Advertisement)をFloodingするために使用します。
Fllodingの信頼性を高めるために確認応答パケットを受け取るまで一定間隔でLSUを再送します。

Number os Advertisements
広告するLSAの数が入ります。

Link State Advertisements
LSAリスト。

 

OSPF:Link State Acknowledgment packet

Link State Acknowledgment Packetの場合はHeaderのTypeに"5"が入ります。
LSUの確認応答に使用します。
複数のLSUの確認応答を一つのLSAckPacketにまとめることが可能。

 

関連記事

メールマガジン

ネットワ-ク初心者のみなさま。
ネットワークの基礎知識を疎かにすることは
大変危険です!!

「初心者にも理解できるネットワーク技術」

これを読めばネットワークの基礎が分かる!!
ネットワーク関連の仕事に就きたいとお考えの学生の方や、ネットワークに興味があって転職を考えている社会人の方、まずは登録してみてください。

もちろん無料です!!

↓メールマガジン購読はこちら↓

メールアドレス: