ACLの適用種別————————–
interface:ip access-group
interface(ipv6):ipv6 traffic-filter _name [in/out]
class-map:access-group
vty:access-class
route-map:ip address
経路集約————————–
| プロトコル | 集約場所 | コマンド |
|---|---|---|
| OSPF ABR | エリア間 | area range |
| OSPF ASBR | 再配送時 | summary-address |
| EIGRP | 任意IF | ip summary-address eigrp |
| BGP | BGPプロセス | aggregate-address |
EIGRPのコスト計算方法————————–
EIGRPのメトリック = 256 ×( 帯域幅 + 遅延 )
帯域幅 = 10,000,000 ÷ 経路上の最小帯域幅(Kbps)
遅延 = 経路上の遅延合計(μ秒) ÷ 10
1.目的地までの中で最小帯域幅をピックアップする
2.1の帯域幅をkbpsに変換する
3.10^7 ÷ “手順2で算出した数値” を計算する(単位はkbpsのまま)
4.目的地までの遅延の合計を算出する
5.4で算出した値 ÷ 10 を計算する
6.(3と5で算出した値を加算した値) × 256 を算出する
7.各径路の6の値を比較して適切な経路がテーブルに反映される
| 用語 | 意味 |
|---|---|
| FD(Feasible Distance) | R1から宛先までの自分が計算したトータルコスト |
| AD(Advertised Distance) | 隣接ルーターが「自分から宛先までのコスト」として広告してきた値 |
| サクセサー | FDが最小のルート=メインルート |
| フィージブルサクセサー | バックアップルートになれる候補 |
そのルートのAD < 現在のサクセサーのFDならばフィージブルサクセサーだよねってこと。
variance 2とかをする場合は
フィージブル条件を満たしている
&(かつ)
フィージブルサクセサーのFD ≦ サクセサーのFD × variance ならばルーティングに登録
サブネットマスクの計算
やり方は以下の3ステップです。「203.0.113.17 /28」を例にします。
(サブネット算出
→ 256-サブネット=きざみ幅
→IP÷きざみ幅=xあまりy
→IP-あまり
- マスクの末尾を256から引いて「きざみ幅」を出す
- マスクは
255.255.255.240です。 - 256 – 240 = 16 (16個きざみだと分かります)
- マスクは
- IPの末尾を「きざみ幅」で割って「余り」を出す
- 今回のIPは
.17です。 - 17 ÷ 16 = 1 あまり 1
- 今回のIPは
- 元のIPから「余り」を引く ➔ これがネットワークアドレス!
- 17 – 1 = 16
ワイルドカードマスクの算出
ワイルドカードマスクを求めるときは、「調べたい範囲の終わりのIP」から「始まりのIP」を引き算すると、一発で答えが出ます。
今回のターゲットである「クラスBのプライベートIP」の範囲を並べて、引き算してみましょう。
- 終わりのIP:
172 . 31 . 255 . 255 - 始まりのIP:
172 . 16 . 0 . 0 - 引き算の答え:
0 . 15 . 255 . 255
第2オクテット(2番目の区切り)を見ると、「31 – 16 = 15」 になっていますよね。 これが、コマンドで 0.15.255.255 を使う一番簡単な理由です。
YANGとXMLとJSONとか
| 名前 | 役割 |
|---|---|
| YANG | 設計図 ・インタフェースにはIPアドレスという項目がある ・BGPにはAS番号という項目がある という構造・ルールを定義する |
| NETCONF/RESTCONF | データの送信方法 |
| XML/JSON | データの書き方 (YANGで定義された必要な項目をどのように書くか) pythonやjavaなどはプログラミング言語。 送信側と受信側で常に同一言語が使われているわけではない。そういったときのデータの受け渡しには決まりが必要。そのデータ受け渡しの標準がXMLやJSONである。あくまでもデータの受け渡しを担当。 *命令処理などを送ったりするわけではない |
<interface>
<name>GigabitEthernet0/0</name>
<ip>192.168.1.1</ip>
</interface>{
"interface": {
"name": "GigabitEthernet0/0",
"ip": "192.168.1.1"
}
}NETCONFとRESTCONF
| 比較項目 | NETCONF (Network Configuration Protocol) | RESTCONF (RESTful Configuration Protocol) |
| トランスポート層 | SSH (標準ポート: TCP 830) ※TLSなども可 | HTTP / HTTPS (標準的なWebポート) |
| データフォーマット | XML のみ | XML および JSON の両方に対応 |
| 操作・通信方式 | リモートプロシージャコール (RPC) (例: <rpc>, <rpc-reply>) | HTTP メソッド ( GET, POST, PUT, PATCH, DELETE) |
| セッション管理 | ステートフル(接続を維持してセッション管理) | ステートレス(HTTPの仕組みに準拠) |
| 主な特徴・メリット | 厳密なトランザクション制御や、複数機器への一括設定・ロールバック機能に優れる | Web技術との親和性が高く、軽量なスクリプトやAPI連携が容易 |
| 主なユースケース | ネットワーク機器の高度な構成管理、信頼性重視のオーケストレーション | クラウド管理ツールとの連携、Webダッシュボードからの操作、簡易的な自動化 |
Pythonのライブラリ
| 関数 | 変換前 | 変換後 |
|---|---|---|
| json.dumps | 辞書 | JSON文字列 |
| json.loads | JSON文字列 | 辞書 |
| json.dump | 辞書 | ファイル |
| json.load | ファイル | 辞書 |
構成管理ツール
| 特徴 | Ansible | Puppet | Chef | SaltStack |
| PUSH/PULL | PUSH型 | PULL型 | PULL型 | PUSH型、PULL型 (両方の動作が可能) |
| 使用するプロトコル | SSH、NETCONFなど | HTTP | HTTP | SSH、ZeroMQなど |
| 定義ファイルの名称 | プレイブック (Playbook) | マニフェスト (Manifest) | レシピ (Recipe)、クックブック (Cookbook) | ステート (State) |
| 定義ファイルの記述形式 | YAML形式 | 独自形式 | Ruby言語 | YAML形式、独自形式 |
| サーバ側の待受ポート | なし | 8140/tcp | 10002/tcp | 4505/tcp、4506/tcp |
| エージェントの要否 | 不要 (エージェントレス) | 必要 (外部エージェントも利用可能) | 必要 | 必要 (Salt SSHではエージェントなしでも動作可能) |
| コードの記法 | 手続き型 | 宣言型 | 手続き型 | 手続き型、宣言型 |
| 開発言語 | Python | Ruby | Ruby | Python |
AD値(アドミニストレイティブディスタンス)
| ルーティングプロトコル / ルート種別 | AD値(デフォルト) | 備考 |
| Directly Connected(直結) | 0 | インターフェイスが直接繋がっている状態 |
| Static Route(スタティック) | 1 | 手動で設定する静的ルート |
| EIGRP(Summary / サマリー) | 5 | EIGRPの経路集約ルート |
| External BGP (eBGP / 外部) | 20 | 異なるAS(外部)から学習するBGPルート |
| EIGRP(Internal / 内部) | 90 | 同じAS内で学習するEIGRPルート |
| IGRP | 100 | (レガシープロトコル・現在はほぼ不使用) |
| OSPF | 110 | 広く使われるリンクステート型ルーティングプロトコル |
| IS-IS | 115 | 大規模ネットワーク向けプロトコル |
| RIP | 120 | ホップ数ベースのディスタンスベクタ型プロトコル |
| EIGRP(External / 外部) | 170 | 他のプロトコルからEIGRPに再配送されたルート |
| Internal BGP (iBGP / 内部) | 200 | 同じAS内で学習するBGPルート |
| Unknown / Unreachable(不明) | 255 | 信頼性なし(ルートとして採用しない) |
STPのコスト算出方法
| 帯域幅 | パスコスト(改訂版・推奨) | パスコスト(旧規格) |
| 10 Mbps | 100 | 100 |
| 100 Mbps | 19 | 10 |
| 1 Gbps | 4 | 1 |
| 10 Gbps | 2 | 1 |
STP関連のプロトコル
| プロトコル | STP | RSTP | MST | CST |
| 規格 | IEEE802.1D | IEEE802.1w | IEEE802.1s | IEEE802.1Q |
| Ciscoでの実装 | PVST+ | Rapid PVST+ | MST (Rapid PVST+で動作) | 無し |
| インスタンスの数 | VLANごとに1つ | VLANごとに1つ | 複数のVLANで1つ | 全体で1つ |
| インスタンスごとの負荷分散 | 可 | 可 | 可 | 不可 |

