tym78さんの助け合いフォーラム投稿一覧
(求めてた回答と違ったらすみません...)
コピペはやったことないので、わかりませんが、tab補完で入力の時間を短縮したりはできると思います。
あとは同じコマンドを出したい時の「↑キー」を使ったりですかね。
受験時にtab補完と「↑キー」は使えた記憶があります。
(試験で使える確証はないですが、)こちらに載っているコマンド編集機能とかを使うのも時間の短縮になりそうです。
https://www.itbook.info/network/cisco11.html
横から失礼します。
公式ドキュメントの説明を以下のように解釈したので共有させていただきます。
「ip nhrp holdtime」コマンドはNHCとNHSの両方で使えますが、使用目的が異なるのだと思います。
NHC側で「ip nhrp holdtime」コマンドを設定すると、間接的にNHRP登録要求の間隔を操作できます。
なぜなら、「ip nhrp holdtime」で指定された秒数の1/3がNHRP登録要求の間隔になるためです。
(NHCにおけるアドレスマッピングの保持時間はNHS側に設定された秒数が指示されるので、この設定コマンドはあくまでもNHC自身のNHRP登録要求の間隔だけに影響を与える)
NHC側で直接的にNHRP登録要求の間隔を指定するには、「ip nhrp registration timeout」コマンドを使います。
NHS側で「ip nhrp holdtime」コマンドを設定すると、NHC側はNHRP応答で提供されたアドレスマッピングを設定された秒数の間、保持します。
まとめ↓
・「ip nhrp holdtime」コマンド
NHC側では、NHRP登録要求の間隔を操作するために使う。
NHS側では、NHRP応答でアドバタイズするNBMAアドレスが有効な時間を指示するために使う。
・「ip nhrp registration timeout」コマンド
NHC側では、NHRP登録要求の間隔を指定するために使う。
NHS側では、設定の必要がない。
まず、ルートマップMAP1はRDからREへBGPのどの経路情報を伝達するかを決めるためのフィルタとして用意されています。
(もしかしたら、この点を何か誤解していて、混乱しているのではないでしょうか?違ったらすみません。)
ルートマップを適用すると、permitされている経路情報しかRDからREへ伝えられなくなるので、MAP1の設定において、「10.1.3.0」と「10.1.4.0」の経路情報は暗黙のdenyによってRDからREへ伝達されなくなります。
そのため、REはRDから「10.1.3.0」と「10.1.4.0」の経路情報を教えてもらえないため、RD(198.51.100.5)をネクストホップとするこれらの経路情報を持つことができなくなります。
(ルートマップ適用前はRDをネクストホップとするこれらの経路情報を持っていました。設問の図のREの「show ip bgp 」からわかります。)
つまり、ルートマップ適用後、REは「10.1.3.0」と「10.1.4.0」宛の経路情報をRCからしか学習しないので、ネクストホップがRC(192.0.2.9)の経路情報のみ知っています。
これは解説の図のルートマップを適用した後のREの「show ip bgp 」からわかります。
REから「10.1.3.0」と「10.1.4.0」に到達するには、RCを経由する経路しか知らないので、以下の選択肢が正解となります。
・「10.1.3.0/24」宛のパケットはRC経由で転送される
・「10.1.4.0/24」宛のパケットはRC経由で転送される
たしかに結果としてはいずれの設定でも「192.168.1.0/24」がRBのルーティングテーブルに載ることはないです。
ただ、①と②の設定では「192.168.1.0/24」はルートマップの暗黙のdenyによってフィルタリングされているといえます。
暗黙のdeny回避用のシーケンスを追加すると、「192.168.1.0/24」がRBのルーティングテーブルに載るようになります。
ここからは推測ですが、設問の空欄の位置的に、ルートマップMAP1のシーケンス10を使って「192.168.1.0/24」をフィルタリングしたいという意図があってこのような解答になっているのではないでしょうか。
しかしながら、設問文にそのような意図がはっきり書かれているわけでもなく、暗黙deny回避用のシーケンスが設定に入っているわけでもないので、問題の改善の余地がありそうですね。
検証を行ってみましたので、参考にどうぞ。
[解答の設定で暗黙のdeny回避用のシーケンスを追加した場合]
RA#show access-lists
Standard IP access list 1
10 permit 192.168.1.0, wildcard bits 0.0.0.255 (3 matches) ←ACL1を「permit」に設定
Standard IP access list 2
10 permit 192.168.2.0, wildcard bits 0.0.0.255 (24 matches)
Standard IP access list 3
10 deny 192.168.3.0, wildcard bits 0.0.0.255 (22 matches)
Standard IP access list 4
10 deny 192.168.4.0, wildcard bits 0.0.0.255 (22 matches)
RA#show route-map MAP1
route-map MAP1, deny, sequence 10 ←シーケンス10を「deny」に設定
Match clauses:
ip address (access-lists): 1
Set clauses:
Policy routing matches: 0 packets, 0 bytes
route-map MAP1, permit, sequence 20
Match clauses:
ip address (access-lists): 2
Set clauses:
Policy routing matches: 0 packets, 0 bytes
route-map MAP1, deny, sequence 30
Match clauses:
ip address (access-lists): 3
Set clauses:
Policy routing matches: 0 packets, 0 bytes
route-map MAP1, permit, sequence 40
Match clauses:
ip address (access-lists): 4
Set clauses:
Policy routing matches: 0 packets, 0 bytes
route-map MAP1, permit, sequence 50 ←暗黙のdeny回避用のシーケンスを追加
Match clauses:
Set clauses:
Policy routing matches: 0 packets, 0 bytes
RB#sh ip route eigrp
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
a - application route
+ - replicated route, % - next hop override, p - overrides from PfR
Gateway of last resort is not set
D 192.168.2.0/24
[90/130816] via 192.168.100.1, 00:32:00, GigabitEthernet0/1 ←「192.168.1.0/24」が載っていない
D 192.168.3.0/24
[90/130816] via 192.168.100.1, 00:32:00, GigabitEthernet0/1
D 192.168.4.0/24
[90/130816] via 192.168.100.1, 00:32:00, GigabitEthernet0/1
D 192.168.5.0/24
[90/130816] via 192.168.100.1, 00:32:00, GigabitEthernet0/1
[①の設定で暗黙のdeny回避用のシーケンスを追加した場合]
RA#show access-lists
Standard IP access list 1
10 deny 192.168.1.0, wildcard bits 0.0.0.255 (6 matches) ←ACL1を「deny」に設定
Standard IP access list 2
10 permit 192.168.2.0, wildcard bits 0.0.0.255 (20 matches)
Standard IP access list 3
10 deny 192.168.3.0, wildcard bits 0.0.0.255 (18 matches)
Standard IP access list 4
10 deny 192.168.4.0, wildcard bits 0.0.0.255 (18 matches)
RA#
RA#show route-map MAP1
route-map MAP1, deny, sequence 10 ←シーケンス10を「deny」に設定
Match clauses:
ip address (access-lists): 1
Set clauses:
Policy routing matches: 0 packets, 0 bytes
route-map MAP1, permit, sequence 20
Match clauses:
ip address (access-lists): 2
Set clauses:
Policy routing matches: 0 packets, 0 bytes
route-map MAP1, deny, sequence 30
Match clauses:
ip address (access-lists): 3
Set clauses:
Policy routing matches: 0 packets, 0 bytes
route-map MAP1, permit, sequence 40
Match clauses:
ip address (access-lists): 4
Set clauses:
Policy routing matches: 0 packets, 0 bytes
route-map MAP1, permit, sequence 50 ←暗黙のdeny回避用のシーケンスを追加
Match clauses:
Set clauses:
Policy routing matches: 0 packets, 0 bytes
RB#sh ip route eigrp
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
a - application route
+ - replicated route, % - next hop override, p - overrides from PfR
Gateway of last resort is not set
D 192.168.1.0/24
[90/130816] via 192.168.100.1, 00:21:47, GigabitEthernet0/1 ←「192.168.1.0/24」がフィルタリングされていない
D 192.168.2.0/24
[90/130816] via 192.168.100.1, 00:21:47, GigabitEthernet0/1
D 192.168.3.0/24
[90/130816] via 192.168.100.1, 00:21:47, GigabitEthernet0/1
D 192.168.4.0/24
[90/130816] via 192.168.100.1, 00:21:47, GigabitEthernet0/1
D 192.168.5.0/24
[90/130816] via 192.168.100.1, 00:21:47, GigabitEthernet0/1
[②の設定で暗黙のdeny回避用のシーケンスを追加した場合]
RA#show access-lists
Standard IP access list 1
10 deny 192.168.1.0, wildcard bits 0.0.0.255 (2 matches) ←ACL1を「deny」に設定
Standard IP access list 2
10 permit 192.168.2.0, wildcard bits 0.0.0.255 (26 matches)
Standard IP access list 3
10 deny 192.168.3.0, wildcard bits 0.0.0.255 (24 matches)
Standard IP access list 4
10 deny 192.168.4.0, wildcard bits 0.0.0.255 (24 matches)
RA#show route-map MAP1
route-map MAP1, permit, sequence 10 ←シーケンス10を「permit」に設定
Match clauses:
ip address (access-lists): 1
Set clauses:
Policy routing matches: 0 packets, 0 bytes
route-map MAP1, permit, sequence 20
Match clauses:
ip address (access-lists): 2
Set clauses:
Policy routing matches: 0 packets, 0 bytes
route-map MAP1, deny, sequence 30
Match clauses:
ip address (access-lists): 3
Set clauses:
Policy routing matches: 0 packets, 0 bytes
route-map MAP1, permit, sequence 40
Match clauses:
ip address (access-lists): 4
Set clauses:
Policy routing matches: 0 packets, 0 bytes
route-map MAP1, permit, sequence 50 ←暗黙のdeny回避用のシーケンスを追加
Match clauses:
Set clauses:
Policy routing matches: 0 packets, 0 bytes
RB#sh ip route eigrp
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
a - application route
+ - replicated route, % - next hop override, p - overrides from PfR
Gateway of last resort is not set
D 192.168.1.0/24
[90/130816] via 192.168.100.1, 00:01:37, GigabitEthernet0/1 ←「192.168.1.0/24」がフィルタリングされていない
D 192.168.2.0/24
[90/130816] via 192.168.100.1, 00:39:05, GigabitEthernet0/1
D 192.168.3.0/24
[90/130816] via 192.168.100.1, 00:39:05, GigabitEthernet0/1
D 192.168.4.0/24
[90/130816] via 192.168.100.1, 00:39:05, GigabitEthernet0/1
D 192.168.5.0/24
[90/130816] via 192.168.100.1, 00:39:05, GigabitEthernet0/1
矛盾が生じてるとまでは言えない気がします。
「ルートブリッジのプライオリティ値」という表現では主語が「ルートブリッジ」なので、ブリッジプライオリティのことだとわかると思います。
ポートプライオリティはインターフェースごとに設定するので、主語が「Gi0/0」とか「Gi0/1」になるのではないでしょうか?
また、ポートプライオリティ値の「128」は選択肢にないので、誤り選択肢が見方によっては正解になってしまうなどの不備も起きていませんし。
②だと思いますが、ENCORがないとENARSIの受験資格がないということにはならず、受ける順番はどっちが先でも大丈夫なはずです。
ただ、ENCOR→ENARSIの順が一般的だと思います。
ENCORとENARSIの2つを取得した時点でCCNP Enterpriseの認定となります。
参考になりそうな情報です↓
https://www.cisco.com/c/ja_jp/training-events/training-certifications/certifications/professional/ccnp-enterprise.html
https://www.cisco.com/c/ja_jp/training-events/training-certifications/recertification-policy.html#~how-to-recertify
https://www.infraeye.com/2020/08/17/ciscoexam027/#:~:text=CCNP%20Enterprise%E8%A9%A6%E9%A8%93%EF%BC%9A%E5%8F%97%E9%A8%93%E3%81%99%E3%82%8B%E9%A0%86%E7%95%AA%E3%80%81%E5%8B%89%E5%BC%B7%E6%96%B9%E6%B3%95%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6
過去の助け合いフォーラムに似たような質問があったので、こちらも参考になりそうです。
https://mondai.ping-t.com/g/posts/917
インターフェースに適用する場合、そのインターフェースを通過するトラフィック全てがフィルタリングの対象となります。
この問題ではACLでhostを指定していますが、anyで指定した場合など、他のルータ宛のトラフィックも予期せずブロックしてしまう可能性などが考えられます。
インターフェースへのACL適用は広範囲に影響を及ぼす可能性があるため、慎重になる必要があります。
一方でVTYラインへの適用ではこのルータに対する管理アクセスに絞ってフィルタリングが行われるためより局所的な制御となります。
他の通常のトラフィックに影響を与えることがなく、インターフェースへの適用に比べて運用も容易になるといえます。
おそらく、「OSPFよりもスタティックルートの方がAD値が高いために、」という部分が少し言葉足らずな感じになっていて、
「OSPFよりもスタティックルートの方がAD値 "の優先度" が高いために、」ということを言いたいのだと思います。
AD値の値は、小さい方が優先度が高く、大きい方が優先度が低いです。
変数dataは波括弧「{}」で囲まれた「key: value」の形式になっており、辞書型データとして定義しているように見えますが、なぜそのように思われたのでしょうか?
試しに変数dataのデータ型をtype()を使って確認すると、以下のようになります。
(dataの中身は長いので少し省略してますがご了承ください)
[test.py]
import json
data = {
"hostname": "RouterA",
"interfaces": {
"Loopback0": {
"ipv4-address": "1.1.1.1",
"subnet-mask": "255.255.255.255",
"shutdown": "no"
}
}
}
#変数dataのデータ型を出力
print(type(data))
#辞書型の変数dataを文字列型に変換して、変数data2に代入
data2 = (json.dumps(data, separators=(',', ':')))
#変数data2のデータ型を出力
print(type(data2))
#変数data2を出力
print(data2)
[実行結果]
C:\> python test.py
<class 'dict'>
<class 'str'>
{"hostname":"RouterA","interfaces":{"Loopback0":{"ipv4-address":"1.1.1.1","subnet-mask":"255.255.255.255","shutdown":"no"}}}
1行目の<class 'dict'>という出力から変数dataは辞書型だとわかります。
2行目の<class 'str'>という出力から変換後の変数data2は文字列型だとわかります。
これはそういうもんだと覚えるしかないのでしょうか?
はい、そうです。
RESTCONFでネットワーク機器の設定を変更するということは、YANGモデルのデータを操作するということです。
POSTで設定を追加する際に対象のネットワーク機器が対応しているYANGモデルを使ってデータを指定してあげないと、機器側は何を追加したいのか認識できません。
つまり、あらかじめ決められているデータ構造に従って設定を追加したり変更したりする必要があります。
あなたが「"source"」や「"destination"」の方がしっくりくるなと思っても、決められたデータ構造と異なる場合、機器側には通じないということです。
試しに「"source":"any"」を使ってリクエストしてみましたが、以下のようにエラーになりました。
"error-message"に「unknown element: source」と書かれています。これは機器側が「source」というキーを知らない(あらかじめ決められているデータ構造にはない)からです。
{
"ietf-restconf:errors": {
"error": [
{
"error-type": "application",
"error-tag": "malformed-message",
"error-path": "/Cisco-IOS-XE-native:native/ip/access-list",
"error-message": "unknown element: source in /ios:native/ios:ip/ios:access-list/ios-acl:extended[ios-acl:name='ACL4']/ios-acl:access-list-seq-rule[ios-acl:sequence='100']/ios-acl:ace-rule/ios-acl:source"
}
]
}
}
じゃあどうやってデータ構造を知ることができるのかという話になると思いますが、GETリクエストで実際にデータを取得したり、GitHubなどで公開されているYANGモデルを取得したりできます。
詳しくは以下のサイトが参考になると思います。
https://www.infrastudy.com/?p=1262
https://www.it-enjoy.com/entry/2021/01/26/190000#%E5%89%8D%E6%9B%B8%E3%81%8D
https://ccieojisan.net/post-2031/#RESTCONF
ネクストホップの情報=IPヘッダに含まれる宛先IPアドレス という勘違いをされているのではないでしょうか。
実際に、次のホップの宛先アドレスを示すのは、イーサネットヘッダの宛先MACアドレスです。
ネットワークデバイスがIPパケットを転送する際、ルーティングテーブルを参照して次のホップのIPアドレスを決定しますが、このIPアドレスは直接IPヘッダに含まれるわけではありません。(IPヘッダに含まれる宛先IPアドレスは最終的な目的地であるため)
そのため、ARPを使用して、その次のホップのIPアドレスに対応するMACアドレスを取得します。
そして、このMACアドレスが外部イーサネットヘッダの宛先MACアドレスとして設定されます。
なので、VXLANパケットの転送においてネクストホップの情報を示すのは、外部イーサネットヘッダの宛先MACアドレスです。
参考URLに載っている以下のサイトに詳しく説明されています。
https://milestone-of-se.nesuke.com/nw-basic/grasp-nw/ethernet-ip-address/#toc2
スタブエリアか、スタブエリアではないかを識別するフラグのことだと思います。
Ciscoの情報が載っているサイト:
https://www.cisco.com/c/ja_jp/support/docs/ip/open-shortest-path-first-ospf/7039-1.html#toc-hId-50449744
エリアがスタブとして設定されている場合、そのエリアに属するすべてのインターフェイスは、インターフェイスがスタブであることを示すフラグを付けてHelloパケットを交換します。
実際のところ、これは Hello パケット内の 1 ビット(E ビット)が 0 に設定されることで、実現されます。共通のセグメントを持つすべてのルータは、そのフラグに同意する必要があります。そうしないと、ネイバーにならず、ルーティングが有効になりません。
シスココミュニティ:
https://community.cisco.com/t5/switching/stub-area-flag-in-ospf/td-p/2672098
余談ですが、用語をネットで検索する時に「cisco stub area flag」や「cisco スタブエリアフラグ」のように英語にしたり「cisco」というキーワードを入れたりするとCisco公式の情報がヒットしやすくなり、試験勉強に役立つと思います。
コマンド構文の図にも記載されていますが、送信元セッションの設定と宛先セッションの設定で指定する宛先IPアドレスを一致させる必要があります。
宛先IPアドレス=対向ルータのIPアドレスではありません。
この例の場合、SwitchAが送信元、SwitchBが宛先となっているので、SwitchBのIPアドレスが宛先IPアドレスとして両方の設定で使用されます。
「ネイティブVLANをサポートしている」という表現に対して私は別に問題はないと思いました。
この問題はIEEE 802.1Q中の記載内容について問われている訳ではないと思います。
「untagged set」より「ネイティブVLAN」の方がネットワーク用語としては広く知られてるのでわかりやすいのではないでしょうか。
トランク接続によるネイティブVLANの動作を考えてみます。
トランクポートの設定で「switchport trunk encapsulation dot1q」を使ってトランキングプロトコルをIEEE802.1Qにします。
このポートにタグ無しのフレームが流れた場合、それらのトラフィックはネイティブVLANとして認識されます。
当然、IEEE802.1Qを使用しているトランクポートではネイティブVLANがサポートされています。
ネイティブVLANがサポートされていなければタグ無しのフレームが適切に処理されなくなってしまいます。
ちなみにCiscoの公式ガイドブックには、IEEE802.1Qで規定されているタグ無しトラフィックの扱いについて以下のような記載がありました。
In the 802.1Q standard, any traffic that is transmitted or received on a trunk port without the 802.1Q VLAN tag is associated to the native VLAN.
(802.1Q規格では、トランクポートで送受信される802.1Q VLANタグがない任意のトラフィックは、ネイティブVLANに関連付けられます。)
この文からも「IEEE 802.1QはネイティブVLANをサポートしている」といっても問題なさそうだと感じました。
設問のルータで設定されているルーティングプロトコルはeigrpのみ(複数のルーティングプロトコルが出てこない)であるにも関わらず、
再配送の設定が必要になるという点がいまいち理解できずにいます。
この問題のルーティングの設定にはEIGRPとスタティックルートが使用されています。
R2の設定には[ip route 3.3.3.3 255.255.255.255 10.1.2.3]があるので、
R2のルーティングテーブルに載っている[3.3.3.3]宛のルートはスタティックルートです。
(スタティックルートのAD値は1で、ルーティングテーブルに載る優先度が高い)
[redistribute static]コマンドはスタティックルートをEIGRPへ再配送するという意味で、
R2が持っている[3.3.3.3]宛のスタティックルートを再配送するための設定です。
R2はルーティングテーブルにEIGRPで学習した[3.3.3.3]宛のルートを持っているわけではないので、
EIGRP同士で再配送しているということにはなりません。
再配送とは、異なるルーティングプロトコル間でルート情報をやりとりするときに必要となる設定の認識なのですが、この認識が間違っているのでしょうか?
こちらのご認識は正しいです。
スタティックルートはEIGRPとは異なるルーティング方法なので、再配送が必要ということになります。
余談ですが、R2に対して以下の設定を行った場合でも問題の要件を満たせます。
[network 10.1.2.0 0.0.0.255]でGi0/2でEIGRPを有効にして、
[no ip route 3.3.3.3 255.255.255.255 10.1.2.3]でスタティックルートを削除すると、
R2のルーティングテーブルにはR3からEIGRPで学習した[3.3.3.3]宛のルートが載るようになるので、
再配送の設定がなくてもEIGRPによってR1へ[3.3.3.3]宛のルートが伝播されるようになります。
これはスタティックルートを削除して、3yamotさんがおっしゃっているeigrpのみ(複数のルーティングプロトコルが出てこない)の状況になった場合の話です。
問題としては破綻していないから誤植なのかは微妙な気がしました。
トータリースタブエリアはタイプ5(External LSA)、タイプ4(Summary ASBR LSA)、およびタイプ3(Summary LSA)を受け取りません。
しかしながら、ABRはトータリースタブエリアにデフォルトルートを注入するために特別なタイプ3のLSAを用いてデフォルトルートのみを送信します。
Pnt1205_004さんの意見も間違ってはいないと思います。
ただし、他の選択肢にはLSAタイプ4,5,7とかが入っているため明らかに間違いといえます。
トータリースタブエリア内の内部ルータが受信するLSAタイプとして「1,2」が最も正しい選択肢として適切なので、問題として成立していますし、別に誤植という訳でもない気がします。
「show lacp neighbor」の「Port」で表示されている番号は自分のポートのことですね。
なので、この問題で表示されているのはCatAのFa0/6とFa0/7のことです。
対向(CatB)の情報は「Flags」のところで確認しますが、ポートの番号は出力されていないです。
試しに以下のように2台を別々のポート番号で接続してみました。
・CatAのGi0/0とCatBのGi0/1を接続
・CatAのGi0/2とCatBのGi0/3を接続
CatA#sh run interface gi 0/0
Building configuration...
Current configuration : 101 bytes
!
interface GigabitEthernet0/0
media-type rj45
negotiation auto
channel-group 10 mode active ←イーサチャネルの設定
end
CatA#sh run interface gi 0/1
Building configuration...
Current configuration : 71 bytes
!
interface GigabitEthernet0/1
media-type rj45
negotiation auto
end
CatA#sh run interface gi 0/2
Building configuration...
Current configuration : 101 bytes
!
interface GigabitEthernet0/2
media-type rj45
negotiation auto
channel-group 10 mode active ←イーサチャネルの設定
end
CatA#sh run interface gi 0/3
Building configuration...
Current configuration : 71 bytes
!
interface GigabitEthernet0/3
media-type rj45
negotiation auto
end
CatA#show lacp neighbor
Flags: S - Device is requesting Slow LACPDUs
F - Device is requesting Fast LACPDUs
A - Device is in Active mode P - Device is in Passive mode
Channel group 10 neighbors
Partner's information:
LACP port Admin Oper Port Port
Port Flags Priority Dev ID Age key Key Number State
Gi0/0 SP 32768 5003.001a.0000 15s 0x0 0xA 0x2 0x3C ←CatAでイーサチャネルの設定を行ったGi0/0
Gi0/2 SP 32768 5003.001a.0000 18s 0x0 0xA 0x4 0x3C ←CatAでイーサチャネルの設定を行ったGi0/2
CatA#
CatB#sh run int gi 0/0
Building configuration...
Current configuration : 71 bytes
!
interface GigabitEthernet0/0
media-type rj45
negotiation auto
end
CatB#sh run int gi 0/1
Building configuration...
Current configuration : 102 bytes
!
interface GigabitEthernet0/1
media-type rj45
negotiation auto
channel-group 10 mode passive ←イーサチャネルの設定
end
CatB#sh run int gi 0/2
Building configuration...
Current configuration : 71 bytes
!
interface GigabitEthernet0/2
media-type rj45
negotiation auto
end
CatB#sh run int gi 0/3
Building configuration...
Current configuration : 102 bytes
!
interface GigabitEthernet0/3
media-type rj45
negotiation auto
channel-group 10 mode passive ←イーサチャネルの設定
end
CatB#sh lacp neighbor
Flags: S - Device is requesting Slow LACPDUs
F - Device is requesting Fast LACPDUs
A - Device is in Active mode P - Device is in Passive mode
Channel group 10 neighbors
Partner's information:
LACP port Admin Oper Port Port
Port Flags Priority Dev ID Age key Key Number State
Gi0/1 SA 32768 5003.0019.0000 5s 0x0 0xA 0x1 0x3D ←CatBでイーサチャネルの設定を行ったGi0/1
Gi0/3 SA 32768 5003.0019.0000 9s 0x0 0xA 0x3 0x3D ←CatBでイーサチャネルの設定を行ったGi0/3
CatB#
問題文に「以下のネットワークではPC4が他のPCと通信できない。」とあることから自分の認識では、
この問題の通りにネットワーク機器を設定したら「"絶対"にループが発生する」と思っていたのですが、
解説にも"ルーティングループが発生する危険性があります。"と書いてあるので、ループ発生の可能性はあり得ますが、絶対に発生するかどうかは別という感じかなと思います。
発生するかどうかは各ルータやプロセスの起動タイミングとかによって変わってきます。
複数のルーティングプロトコルを使用しているとプロトコルによって収束時間も異なる(OSPFやEIGRPに比べてRIPの収束時間は遅い)ので、このあたりもネットワークが不安定になる要因になったりします。
この問題では、もしタイミング的にうまいこといってループが発生しないパターンがあったとしても、このネットワーク構成でループが発生しうる原因は「distance eigrp 90 95」が設定されている点だからこの部分をフィルタリングした方が良いよねって感じですかね。
(問題文は「PC4が他のPCと通信できない。」となっているので、ループが発生しているパターンで問われているのは明らかですが)
もし最初はループが発生しないパターンで動作していても、運用中に何かしら障害が発生してルータやプロセスやインターフェースのダウン、再起動などを機にルーティングアップデートでループが発生するパターンでルーティングテーブルが更新されるかもしれません。
そうではなく、問題の通りの設定でもループが発生しないパターンもある、ということでよろしいでしょうか?
RCがもとは自分が発信した192.168.51.0の経路情報をRAやRBから受け取らなければループは発生しないはずなので、192.168.51.0の経路情報がRA-RB-RC間でループしないパターンは以下のような場合が考えられると思います。
・RA-RC間のEIGRPでスプリットホライズンの働きによって、ネクストホップがRAとなる192.168.51.0の経路情報をRCが受信しない
(RAはRCをネクストホップとする192.168.51.0の経路情報を受信しています)
・RA-RB間のEIGRPでスプリットホライズンの働きによって、ネクストホップがRAとなる192.168.51.0の経路情報をRBが受信しない
(RAはRBをネクストホップとする192.168.51.0の経路情報を受信しています)
・RB-RC間のOSPFでネクストホップがRBとなる192.168.51.0の経路情報をRCが受信しない
(OSPFではスプリットホライズンが働くわけではありませんが、LSDB、SPFアルゴリズムによってループが発生しないようになってます。RBはRCをネクストホップとする192.168.51.0の経路情報を受信しています)
このような状況になれば、RCは192.168.51.0の経路情報をRAやRBからは学習せずにRDからRIPで学習するので、RA-RB-RCのトライアングルでループすることはなくなるはずだと思います。
なので結局、RA→RCとRC→RA(またはRA→RBとRB→RA)のどっちが先に192.168.51.0の経路情報を学習して、どっちがスプリットホライズンで伝播されないようになるかのタイミングの問題なんじゃないでしょうか。
参考になりそうなサイトです↓
IOSルーティング編<第1回> 再配布の基礎
第32回再配布(3) ルーティングループ
EIGRPではもともとルーティングループを回避するためのメカニズムとしてスプリットホライズンが備わっています。
スプリットホライズンは「ルートを学習したインターフェイスから同じルートをアドバタイズしない」というものです。
この問題でループが発生している状況では、RCはRAからEIGRPで「192.168.51.0/24」の経路情報を学習しているので、スプリットホライズンが発動してRCからRAに「192.168.51.0/24」の経路情報は送られないというようなことが起こっていると考えられます。
なので、nishina_dnsさんがおっしゃっている「★RCが「192.168.51.0/24」の経路情報をRAへEIGRPで送信する」の動作はスプリットホライズンで回避されているということになります。
解説の2つ目の図にあるRAのtracerouteの結果を見ると、RAは192.168.51.100へRBを経由して到達しようとしていることがわかりますので、RCを経由するルートはRAのルーティングテーブルに載っていないはずです。(これはスプリットホライズンによってRCを経由するルートは学習できていないからです。)
スプリットホライズンの参考情報です。
Enhanced Interior Gateway Routing Protocol の理解および使用
ちなみにもし、RAがRCとRBの両方から等コストで宛先が同じ経路情報を受信していたとしたら、EIGRPでは等コストロードバランシングが行われるので、ルーティングテーブルには2つのパスが載ります。
ルーティングテーブルに2つのパスが載っていたら、tracerouteの結果は両方のパスを使っていることがわかるような結果になると思います。
ルーティングループは、ルータやプロトコルの起動タイミング、ネットワークの収束タイミングなどによって、同じ構成でも発生する場合としない場合があったりして結構複雑です。
以前の質問の回答でも記載してますが、この説明はあくまでもこの問題の設定において "ループが発生する原因となっている" 経路学習の順について説明しているという点を忘れないでくださいね。