忍者ブログ
Kossyの生活・仕事・ゲームのブログです^p^ 音ゲーは楽しい
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


OSIプロトコルのルーティングプロトコルであるIS-ISの用語とか色々を以下にまとめてみた。
ちょっとづつ書き足していきます。

【CLNS】
Connectionless Network Service
IS-ISは、OSIプロトコルにおいてネットワークデバイス間でのコネクションレス型の通信を行うサービス。
コネクションレス型とは、通信相手に対して、データが届いているかの確認をせずにデータを送る手法。
UDPはコネクションレス型。
反対にコネクション型は、通信相手とリンクを確立した上で、データを送信する手法。
データが正常に送信できなかった場合は再送を行う。TCPはコネクション型。

<CLNSとTCP/IPのプロトコル対比表>
isis-2CLNS.PNG


拍手[3回]

【CLNP】
Connectionless Network Protocol
コネクションレス型のデータ転送を行うレイヤ3の転送プロトコル。
TCP/IPでいうところのIPに相当。

【ES-IS】

End System - Intermediate System
同じリンク上のエンドシステムのホスト(ES)と、ルータ(IS)間で通信を行うためのプロトコル。
TCP/IPでいうところのARP/ICMP/DHCPなどの機能を組み合わせたものに相当。

ルータはISH(Intermediate System Hello)を送信し、
エンドシステムはESH(End System Hello)を送信することで、お互いの存在を認識することができる。
これらのHelloメッセージには設定情報を含むことが可能。

【IS-IS】
ルータ(IS)間で通信を行うためのルーティングプロトコル。
各ルータがルート情報を交換し、最適なルートを決定することで、CLNPによるエンドツーエンドの
コネクションレス型通信を行うことができる。


【ルーティングレベル】

・レベル0ルーティング
同じリンク上のエンドシステムのホスト(ES)とルータ(IS)間で通信を行うルーティング。
エンドシステムはルータからのISHによってルータを発見することができ、
他のリンク宛てのパケットをルータに転送する。

・レベル1ルーティング
同じエリア内のルータ間ルーティング。
IS-ISで使用され、同じエリア内の宛先であれば、NSAPアドレスのシステムID(※)によってルータを識別し、
最適なルートが選択される。

※一意な6バイトのアドレス。通常はMACアドレスやループバックアドレスなどを設定する。
ただし、L1ルータに限り、異なるエリアであればシステムIDが同じでも問題ない。

・レベル2ルーティング
異なるエリア間のIS-ISルーティング。
OSPFでいうところの異なるエリアのABR同士の通信。
異なるエリアへルーティングするためには、NSAPアドレスのエリアアドレス(※)にて適切なルートが選択される。

※NSAPアドレスの最上位からシステムIDまでのアドレスで可変長。OSPFでいうところのエリア番号に相当。
「Integrated IS-IS ネットワーク構成図その1」で書いたエリアアドレス49.0001のこと。

・レベル3ルーティング

ドメイン(AS)間でのルーティング。
TCP/IPにおけるBGPに相当。
IRDP(Inter Domain Routing Protocol)によって実現されているが、
CiscoルータではOSIレベル3ルーティングはサポートされていない。


<ルーティングレベルまとめ表>
RoutingLevel.PNG


【IS-ISルータのタイプ】

IS-ISはレベル1および2のルーティングをサポートし、レベルごとにルート情報を持つ。
従って、レベル1用の情報(LSP※)、レベル2用の情報(LSP)の2種類があり、
リンクステートデータベースもそれぞれのレベルのものを持つ。
インタフェースごとにルーティングレベルを設定することも可能。

※Link State PDU。リンクステート情報をアドバタイズするために使用。
OSPFでいうところのLSU(Link State Update)パケット。

IS-ISルータは以下3つのタイプに分かれる。

・L1/L2ルータ

レベル1および2のルーティング両方をサポートし、Ciscoルータのデフォルトの設定ではこのL1/L2ルータとなる。
L1のIIH(IS-IS Hello)と、L2 IIH(IS-IS Hello)の両方を送信し、L1およびL2の両方のルータと隣接関係を確立する。
OSPFで例えるとL1/L2ルータはABRに相当する。

(config-router)# is-type level-1-2

・L1ルータ
エリア内のみでルーティングを行うルータ。
他エリアへのルートは、全てデフォルトルートとしてIPルーティングテーブルに載る。
OSPFで例えるとトータリースタブエリアの内部ルータに相当する。

(config-router)# is-type level-1

・L2ルータ
異なるエリア間でルーティングを行うルータ。
OSPFで例えると、バックボーンルータに相当する。

(config-router)# is-type level-2-only


<IS-ISルータとOSPFルータの対比表>



【IS-ISのエリア境界】
IS-ISのエリア境界は、ルータ単位で考える。(下図参照)
OSPFではインタフェース単位で考えるため、ルータのインタフェースごとに所属するエリアが異なる場合がある。
一方、IS-ISではエリアの設定はルータ単位で考えており、NETのエリアアドレスによって決定する。

【NSAPアドレス】

Network Service Access Point
IS-ISはCLNSのアドレッシングを基に動作するため、NSAPアドレスを用いる。
NSAPアドレスは最大20バイトで、下図の構成となっている。

isis-2NSAP_Address.PNG


・IDP
Inter Domain Pert
IPアドレスのクラスフルネットワーク部に相当。
AFIとIDIを組み合わせてIDPを構成する。

・AFI
Authority and Format ID
NSAPのフォーマットを指定する。
プロバイダや企業ごとに決められたアドレスを使用。
AFIが49で始まるNSAPアドレスはプライベートアドレスを示している。

39:ISO DCC (Data Country Code/データ国別コード)
45:ITU-T E.164 (国際ISDN番号)
47:ISO ICD (International Code Designator/国際コード指示子)

・IDI
ドメインIDを示す。
2バイト。
AFI+IDI=ドメインID

・HODSP (上位DSP)
High Order Domain Specific Part
エリアIDを示す。
ドメインを更にエリアに細分化するために使用され、IPのサブネット部に相当。
IS-ISの場合、ルーティングレベルが1・2のみでドメイン内でしか行われないので、
IDIとHODSPは区別せず組み合わせたものをエリアIDとして使用する。
(CiscoルータはOSIレベル3ルーティングであるIDRPをサポートしていない。)

・System ID

各デバイスを識別する。
IPアドレスのホストアドレスと同等。
Ciscoルータでは6バイト固定。
重複しないように設定する必要があるため、主にMACアドレスを用いる。
(レベル1ルータの場合、それぞれが異なるエリアであれば重複しても問題ないが、同じだと管理上面倒。)

・DSP
Domain Specific Part
HODSP、SystemID、NSELを組み合わせたもの。


NSAPアドレスは可変長のため、下位のフィールドから考える必要がある。
例:49.0001.aaaa.bbbb.cccc.00の場合

NSEL:00 //最後の1バイト。00となっているNSAPアドレスをNET(Network Entity Title)という。
SystemID:aaaa.bbbb.cccc //Ciscoルータでは6バイト固定。主にMACアドレスを使う。
エリアID:49.0001 //NSELとSystemIDを除き、残った部分のアドレスをエリアIDという。

【NET】
Network Entity Title
NSAPアドレスの最後の1バイトのNSELが「00」となっているもの。
NSELはTCP/IPでいうところのポート番号に相当。
この値が「00」ということは、アプリケーションではなくそのホスト単体を示していることになる。
IS-ISではOSPFのルータIDのように、IS(ルータ)を識別する識別子として使う。
SPF計算もこのNETを基に行う。

【SNPA】

Subnetwork Point of Attachment
NSAPアドレス(NET。OSIのレイヤ3アドレス)に関連付けられるレイヤ2アドレス。
利用しているデータリンク層のネットワークに応じて、以下のアドレスがSNPAとして用いられる。

MACアドレス (イーサネットなどのLAN環境)
DLCI値 (フレームリレー)
PPP、HDLC(ポイントツーポイント)では、レイヤ2アドレスが存在しないため、SNPAはHDLCという表示になる。

【メトリック】
IS-ISのメトリックは、以下4種類のメトリックが定義されている。:
・デフォルト(ナローメトリック)
・遅延
・コスト
・エラー

Ciscoルータでは、デフォルトメトリック(ナローメトリック)を採用しており、
インタフェースごとに一律「10」の値が決められている。
高速なインタフェースでも低速なインタフェースでもデフォルトメトリックの値が同じなため、
RIPと同じホップ数ベースのルート決定方法と変わらない。

よって、インタフェースの種類に応じて、デフォルトメトリックを適切な値に調整する必要がある。
以下のコマンドでデフォルトメトリックの値が変更できる。

・インタフェース単位
(config-if)# isis metric <metric> [level-1 | level-2]
※levelのオプションを入れると、ルーティングレベルごとにデフォルトメトリックの値を決定することもできる。

また、ルータのインタフェースに設定できるデフォルトメトリックの値は6ビット(~63)まで、
ルータが扱える累積パスコストは10ビット(~1023)までという上限がある。

大規模なネットワークでは複数のルートの識別がこの範囲で行えないことも考えられるため、
以下コマンドで値の範囲の拡張が可能なワイドメトリック機能を追加することも可能。(CiscoIOS 12.0以降)

(config-router)# metric-style wide

このコマンドにより、メトリックの値が24ビット(~16777216)、
パスメトリックが32ビット(~4294967296)まで拡張されるワイドメトリックが使用可能。
ただし、ネットワーク上の全ルータでワイドメトリックの設定をする必要がある。
ナローメトリックとワイドメトリックを混在させるとルート選択が上手くいかなくなることがあるので注意すること。

【IS-IS PDU】
OSIプロトコルでは、パケットをPDU(Protocol Data Unit)と呼ぶ。
IS-ISで利用するパケットはIS-IS PDU。
IS-IS PDUは、データリンクプロトコルで直接カプセル化される。(ES-ISもCLNPも同様)

isis-2IS-IS_header.PNG

TLVはデータの種類(Type:1オクテット=8bit)、長さ(Length:1オクテット=8bit)、
値(Value:Lengthフィールドの値)を表している。

IS-ISでは、OSPFと違いES(各端末の情報)もリンクステートデータベースに載せる。

詳細はITproを見ると良い感じ。

【IS-IS Hello PDU】
OSPFのHelloパケットに相当し、略してIIH。
IS-ISのアジャセンシー確立とその維持のために利用するPDU。

IS-ISではIIHによってネイバーを発見し、アジャセンシーを確立する。
IIHは直接データリンクでカプセル化されており、
イーサネットの場合はの送信先MACアドレスは以下のマルチキャストアドレスを利用する。

レベル1 IIH:0180.C200.0014
レベル2 IIH:0180.C200.0015

IIHはデフォルトで10秒ごとに送信され、ホールドタイムは30秒。

【Link State PDU】
OSPFのLSUパケット(LSA)に相当し、略してLSP。
IS-ISのリンクステート情報をアドバタイズするために利用するPDU。

【Sequence Number PDU】

IS-ISのリンクステートデータベースの同期を行うためのPDUで、略してSNP。
SNPにはPSNP、CSNPの2種類がある。

◇PSNP
Partial Sequence Number PDU
OSPFのLSR(LinkState Request)、LSAck(LinkState ACknowledgement)に相当。
リンクステート情報の要求および確認応答に用いる。

◇CSNP
Complete Sequence Number PDU
OSPFのDBD(Database Description)に相当。
リンクステートデータベースのサマリーを表す。
※DBD:データベース交換の際に使われるパケット。

IS-IS PDUはレベルごとに管理され、IIH・LSP・SNPにそれぞれレベル1、2が存在する。

IS-IS PDUとOSPFの比較は下図の通り。
isis-2IS-IS_PDU.PNG

【ネットワークタイプ】
IS-ISのネットワークタイプは以下の2つ。
ネットワークのタイプによって、送信するIIHのタイプが異なる。
ネットワークタイプが異なると、IIHの種類も異なるのでネイバーになれない。

・Point-to-Point
HDLC/PPPやフレームリレー/ATMなどのポイントツーポイントサブインタフェース。
Point-to-Point IIHを送信する。

・Broadcast
イーサネットやフレームリレーなどのマルチアクセスインタフェース。
LAN IIHを送信する。

【DIS】
Designated IS
OSPFのDR(Designated Router)に相当。
Broadcastのネットワーク上で、LSPのフラッディングを効果的に実施するためにDISが存在する。
DISは疑似ノードLSPを生成し、下図のようにDISが中心としたスター型トポロジーを構成している。
OSPFのネットワークLSAに相当し、マルチアクセスネットワーク上のISリストなどの情報が含まれている。

◇DISの選出プロセス
選出はレベルごとに発生する。
①IS-ISプライオリティの大きいルータ (OSPFプライオリティに相当)
②SNPAの大きいルータ

・IS-ISプライオリティを変更するコマンド
(Config-if)# isis priority <priority>

【LSDBの同期】
同期プロセスは以下3種類のPDUによって行い、Point-to-PointとBroadcastのリンクタイプによって動作が異なる。
・LSP
・PSNP
・CSNP

◇Point-to-PointでのLSDBの同期プロセス
LSDBのサマリー情報であるCSNPはリンクアップ時のみに送信する。
ネイバールータがCSNPを受信し、不足しているLSP情報を確認すると、PSNPを用いてLSPの要求をする。
PSNPでLSPの要求を受けたルータは、要求されたLSPをアドバタイズする。

その流れについては下図の通り。
同期プロセスP-to-P.png

①リンクアップ時にRT1からRT2に向かってCSNPを送信
②RT2上のLSDBにRT1が無いので、RT1のLSPを要求
③RT1は要求されたR1のLSPを送信
④RT2はLSP(RT1)をLSDBに格納し、LSP受信に対する確認応答をRT1へ送信する

◇BroadcastでのLSDBの同期プロセス
DISは、疑似ノードを作成した後に、各レベル(1、2)のHelloパケットを3秒置きに送信し、
また、定期的(デフォルト10秒)にCSNPを送信する。
LSDBに載っていないLSPが存在すればPSNPによってその情報を要求する。

その流れについては下図の通り。

<その1>
Broadcast_1.png

<その2>
Broadcast_2.png


このあたりは色々とサイトを巡って調べたところ、以下のサイトに詳しく書かれてた。
IS-ISの詳細

文章が何故か英語だけど、LSPのフォーマットなど詳細が載っていたのも発見。
H3C


【非対称ルーティング】

行きと帰りで経路の異なるルーティングで、問題があるというわけではない。
エリア境界になるL1/L2ルータが複数存在する場合は、非対称ルーティングになる可能性がある。
これはL1ルータのデフォルトルートが自身から最も近いL1/2ルータとなるため、
どちらのルータがゲートウェイになるかで非対称ルーティングになるかどうかが決まる。

下図は非対称ルートティングの例。
isis-2IS-IS_非対称ルーティング.png

R3がR4にパケットを①の経路で送信する。
R4はデフォルトルートがR6を向いているとすると、②の経路で送信される。
行きと帰りのルートが異なるため、これは非対称ルーティングとなる。

【IS-IS確認コマンド】
IS-ISでの確認コマンド集。
Integrated IS-IS ネットワーク構成図のネットワーク構成図を例にしています。

・show clns protocols
Integrated IS-ISに関するサマリー情報の確認。
protocolsの後に続くコマンドがいくつかある模様。

RT1# show clns protocols ?
  cache         CLNS fast-switching route cache
  es-neighbors  ES neighbor adjacencies
  filter-expr   CLNS filter expressions
  filter-set    CLNS filter sets
  interface     CLNS interface status and configuration
  is-neighbors  IS neighbor adjacencies
  neighbors     CLNS neighbor adjacencies
  protocol      CLNS routing protocol process information
  redirects     CLNS redirect information
  route         CLNS prefix routing table
  traffic       CLNS protocol statistics


上記の中からneighborsとis-neibhborsを試してみた。
ていうか他のコマンドは出力結果が白紙だった。

nighborsの方はSNPAが表示され、is-neighborsの方はPriorityやCircuit IDなどが表示されているなど、
出力結果が少し異なったものになった。

RT1# show clns protocols neighbors

System Id      Interface   SNPA                State  Holdtime  Type Protocol
RT3            Fa1         001b.5492.809c      Up     9         L1   IS-IS
RT2            Fa0         001b.2a97.53cc      Up     27        L2   IS-IS

RT1# show clns protocols is-neighbors

System Id      Interface   State  Type Priority  Circuit Id         Format
RT3            Fa1         Up     L1   64        RT3.02             Phase V
RT2            Fa0         Up     L2   64        RT1.01             Phase V


・show clns interface
IS-ISが有効になっているインタフェースの確認。
FastEthernet0および1で有効になっているのが分かる。
また、RT1.01となっている「.01」の部分は疑似ノードLSPを表している。

RT1# show clns interface
FastEthernet0 is up, line protocol is up
  Checksums enabled, MTU 1497, Encapsulation SAP
  ERPDUs enabled, min. interval 10 msec.
  CLNS fast switching enabled
  CLNS SSE switching disabled
  DEC compatibility mode OFF for this interface
  Next ESH/ISH in 42 seconds
  Routing Protocol: IS-IS
    Circuit Type: level-1-2
    Interface number 0x0, local circuit ID 0x1
    Level-1 Metric: 10, Priority: 64, Circuit ID: RT1.01
    DR ID: 0000.0000.0000.00
    Level-1 IPv6 Metric: 10
    Number of active level-1 adjacencies: 0
    Level-2 Metric: 10, Priority: 64, Circuit ID: RT1.01
    DR ID: RT1.01
    Level-2 IPv6 Metric: 10
    Number of active level-2 adjacencies: 1
    Next IS-IS LAN Level-1 Hello in 3 seconds
    Next IS-IS LAN Level-2 Hello in 2 seconds
FastEthernet1 is up, line protocol is up
  Checksums enabled, MTU 1497, Encapsulation SAP
  ERPDUs enabled, min. interval 10 msec.
  CLNS fast switching enabled
  CLNS SSE switching disabled
  DEC compatibility mode OFF for this interface
  Next ESH/ISH in 18 seconds
  Routing Protocol: IS-IS
    Circuit Type: level-1-2
    Interface number 0x1, local circuit ID 0x2
    Level-1 Metric: 10, Priority: 64, Circuit ID: RT3.02
    DR ID: RT3.02
    Level-1 IPv6 Metric: 10
    Number of active level-1 adjacencies: 1
    Level-2 Metric: 10, Priority: 64, Circuit ID: RT1.02
    DR ID: 0000.0000.0000.00
    Level-2 IPv6 Metric: 10
    Number of active level-2 adjacencies: 0
    Next IS-IS LAN Level-1 Hello in 1 seconds
    Next IS-IS LAN Level-2 Hello in 1 seconds
BRI0 is administratively down, line protocol is down
  CLNS protocol processing disabled
BRI0:1 is administratively down, line protocol is down
  CLNS protocol processing disabled
BRI0:2 is administratively down, line protocol is down
  CLNS protocol processing disabled
FastEthernet2 is up, line protocol is down
  CLNS protocol processing disabled
FastEthernet3 is up, line protocol is down
  CLNS protocol processing disabled
FastEthernet4 is up, line protocol is down
  CLNS protocol processing disabled
FastEthernet5 is up, line protocol is down
  CLNS protocol processing disabled
FastEthernet6 is up, line protocol is down
  CLNS protocol processing disabled
FastEthernet7 is up, line protocol is down
  CLNS protocol processing disabled
FastEthernet8 is up, line protocol is down
  CLNS protocol processing disabled
FastEthernet9 is up, line protocol is down
  CLNS protocol processing disabled
Vlan1 is up, line protocol is down
  CLNS protocol processing disabled


・show isis route
レベル1ルーティングのルート確認。(CLNSルーティングが有効になっている場合のみ。)
CLNSルーティングが有効になっていない場合、以下の結果が出力される。

RT1# show isis route

IS-IS not running in OSI mode (*) (only calculating IP routes)

(*) Use "show isis topology" command to display paths to all routers


これを解決するには、以下コマンドCLNSルーティングを有効にする。
RT1(config-if)# clns router isis

以下は上記コマンド実行後の出力結果。
RT1# sh isis route

IS-IS Level-1 Routing Table - version 8
System Id       Next-Hop        Interface   SNPA            Metric  State
RT3             RT3             Fa1         001b.5492.809c  10      Up
RT1             --

レベル1ルーティング限定なので、レベル1ルーティングを行っているRT3へのルート情報が表示された。


・show clns route
レベル2ルーティングのルート確認。(CLNSルーティングを行っている場合のみ。)

RT1# show clns route
Codes: C - connected, S - static, d - DecnetIV
       I - ISO-IGRP,  i - IS-IS,  e - ES-IS
       B - BGP,       b - eBGP-neighbor

C  49.0001 [2/0], Local IS-IS Area
C  49.0001.001b.5370.9688.00 [1/0], Local IS-IS NET


・show isis topology
レベル1、2の最短ルートの確認
IS-ISでは、PRC(Partial Route Calculation)によって、SPFツリーの必要な部分のみ計算を行う。

RT1# show isis topology

IS-IS paths to level-1 routers
System Id            Metric     Next-Hop             Interface   SNPA
RT1                  --
RT3                  10         RT3                  Fa1         001b.5492.809c

IS-IS paths to level-2 routers
System Id            Metric     Next-Hop             Interface   SNPA
RT2                  10         RT2                  Fa0         001b.2a97.53cc
RT1                  --


・show isis database

IS-IS LSDBの確認
L1/L2ルータのため、レベル1、2のLSDBが出力される。

RT1# show isis database

IS-IS Level-1 Link State Database:
LSPID                 LSP Seq Num  LSP Checksum  LSP Holdtime      ATT/P/OL
RT1.00-00           * 0x00000005   0xCDA2        985               1/0/0
RT3.00-00             0x00000003   0x840F        1019              0/0/0
RT3.02-00             0x00000002   0xDA3F        977               0/0/0
IS-IS Level-2 Link State Database:
LSPID                 LSP Seq Num  LSP Checksum  LSP Holdtime      ATT/P/OL
RT2.00-00             0x00000006   0xF92F        1097              0/0/0
RT1.00-00           * 0x00000005   0x79B8        1071              0/0/0
RT1.01-00           * 0x00000002   0x667E        977               0/0/0


※「*」は、showコマンドを実行した自身のルータを表す。

もっと詳細が知りたい場合はCiscoのTACを見ると良いかもNE!

【ルート集約】
OSPFと同じようにルート集約が可能。
以下コマンドは192.168.0.0/16でルート集約をかける実行例。

R1(config-router)# summary-address 192.168.0.0 255.255.0.0

PR

Comment
Name
Title
Mail
URL
Comment
Pass   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
[174] [173] [172] [171] [170] [169] [168] [167] [166] [165] [164
«  Back :   HOME   : Next  »
カウンター
カレンダー
03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
プロフィール

[Author] Kossy
[Steam_ID] Kossy

定時帰りそこそこ復活<(╹ヮ╹)>

最新コメント
[07/17 Kossy]
[07/17 カサハンラ]
[09/04 Kossy]
[09/03 おちんちん]
[08/04 testes]
[08/03 Kossy]
[08/02 testes]
マシンスペック

【メインPC】
[OS] Windows11 Pro
[CPU] Core i5-10400 @2.9GHz
[MEM] 32GB
[VGA] NVIDIA GTX1660 SUPER
[マウス] Logicool M550L
[PAD] SteelSeries QcK 63004
[キーボード] Logicool K295

【Webサーバー機】
[Model] MINISFORUM N40
[OS] Rocky Linux
[CPU] Celeron N4020 @2.8GHz
[MEM] 4GB
[SSD] 64GB
ブログ内検索
アーカイブ
バーコード
最新トラックバック
忍者ブログ [PR]