auto-RP 및 부트스트랩과 같은 프로토콜을 실행하여 RP(Rendezvous Point)에 대한 이중화를 가질 수 있습니다.그러나, 장애가 발생할 경우 컨버전스가 그렇게 빠르지는 않습니다.동일한 IP 주소(rp-address)가 RP로 사용하려는 둘 이상의 라우터에 구성된 Anycast RP의 개념이 있습니다.그런 다음 IGP에서 이 IP를 광고합니다.다른 라우터는 rp-address의 최적 경로를 기반으로 이러한 라우터 중 하나를 선택합니다.장애 발생 시 컨버전스는 IGP(Interior Gateway Protocol)와 동일합니다.
이 개념에는 문제가 발생합니다.RP 역할을 하는 라우터 1에 참여하는 발신자와 수신자가 거의 없고 RP 역할을 하는 라우터 2에 참여하는 경우는 거의 없기 때문에 서로 다른 RP 간에 정보를 동기화해야 합니다.이러한 라우터에는 모든 소스에 대한 완전한 정보가 없으며 멀티캐스트가 손상될 수 있습니다.이 문제의 해결 방법은 RP로 작동하는 모든 라우터 간의 소스와 관련된 정보를 동기화하는 메커니즘을 가지고 있습니다.이러한 목적을 지원할 수 있는 프로토콜은 두 가지가 있습니다.
MSDP(Multicast Source Discovery Protocol)
PIM
MSDP는 한동안 존재했습니다.소스 활성 메시지는 소스가 RP에 등록될 때마다 다른 라우터로 전송됩니다.이 문서에 자세히 설명되어 있는 PIM의 개선 사항이 있습니다.현재 이 개선 사항은 Nexus에서만 사용 가능합니다.
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
애니캐스트 RP
PIM(Nexus)
이 문서는 특정 소프트웨어 및 하드웨어 버전으로 한정되지 않습니다.
문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 표기 규칙을 참고하십시오.
다음은 토폴로지의 예입니다.
Sender(172.16.1.1)—(9/3)Nexus-1(9/2)—(9/2)Nexus-2
Nexus 1 관련 구성:
ip pim rp-address 10.1.1.1 group-list 224.0.0.0/4 ip pim anycast-rp 10.1.1.1 192.168.1.1 ip pim anycast-rp 10.1.1.1 192.168.2.2 interface loopback1 ip address 192.168.1.1/32 ip router ospf 1 area 0.0.0.0 ip pim sparse-mode interface loopback7 ip address 10.1.1.1/32 ip router ospf 1 area 0.0.0.0 ip pim sparse-mode interface Ethernet9/2 ip address 10.7.7.1/24 ip router ospf 1 area 0.0.0.0 ip pim sparse-mode interface Ethernet9/3 ip address 172.16.1.2/24 ip router ospf 1 area 0.0.0.0 ip pim sparse-mode
Nexus 2 관련 구성:
ip pim rp-address 10.1.1.1 group-list 224.0.0.0/4 ip pim ssm range 232.0.0.0/8 ip pim anycast-rp 10.1.1.1 192.168.1.1 ip pim anycast-rp 10.1.1.1 192.168.2.2 interface loopback1 ip address 192.168.2.2/32 ip router ospf 1 area 0.0.0.0 ip pim sparse-mode interface loopback7 ip address 10.1.1.1/32 ip router ospf 1 area 0.0.0.0 ip pim sparse-mode interface Ethernet9/2 ip address 10.7.7.2/24 ip router ospf 1 area 0.0.0.0 ip pim sparse-mode
Nexus 상자에는 두 가지가 있습니다.Nexus-1 및 Nexus-2. 둘 다 RP로 사용됩니다.RP 주소는 10.1.1.1이어야 합니다. 루프백 7은 이 IP가 구성된 두 Nexus 상자에 있습니다.그런 다음 이 루프백은 OSPF(Open Shortest Path First)에서 알려지므로 네트워크의 다른 라우터가 RP의 Nexus-1 또는 Nexus-2에 도달합니다.이는 최상의 경로 메트릭에 따라 달라집니다.
두 Nexus 모두에서 10.1.1.1은 다음 명령을 사용하여 RP로 정의됩니다.
ip pim rp-address 10.1.1.1 group-list 224.0.0.0/4
이제 RP 세트라고 하는 것을 정의해야 합니다.RP로 작동하는 모든 라우터의 집합입니다.각 잠재 RP 라우터에 루프백이 있어야 합니다. 이는 RP 주소로 사용되는 루프백과 다릅니다.이 예에서 루프백 1은 각각 IP 주소 192.168.1.1/32 및 192.168.2.2/32을 가진 Nexus에 있습니다.이 루프백 1은 RP 세트를 정의하는 데 사용됩니다.동일한 작업을 수행하는 명령은 다음과 같습니다.
ip pim anycast-rp <rp-address> <ip-address-of-prequendal-RP>
설정에 대한 두 Nexuses의 명령은 다음과 같습니다.
ip pim anycast rp 10.1.1.1 192.168.1.1
ip pim anycast rp 10.1.1.1 192.168.2.2
여기서 주목할 점은 RP 집합뿐만 아니라 고유한 IP를 정의해야 한다는 것입니다.따라서 이 두 명령을 모두 Nexus 상자에 배치해야 합니다.
RP 세트가 정의되면 RP 매핑에 대해 표시되는 출력입니다.
Nexus-1# show ip pim rp PIM RP Status Information for VRF "default" BSR disabled Auto-RP disabled BSR RP Candidate policy: None BSR RP policy: None Auto-RP Announce policy: None Auto-RP Discovery policy: None Anycast-RP 10.1.1.1 members: 192.168.1.1* 192.168.2.2 RP: 10.1.1.1*, (0), uptime: 00:00:58, expires: never, priority: 0, RP-source: (local), group ranges: 224.0.0.0/4 Nexus-2# show ip pim rp PIM RP Status Information for VRF "default" BSR disabled Auto-RP disabled BSR RP Candidate policy: None BSR RP policy: None Auto-RP Announce policy: None Auto-RP Discovery policy: None Anycast-RP 10.1.1.1 members: 192.168.1.1 192.168.2.2* RP: 10.1.1.1*, (0), uptime: 02:46:54, expires: never, priority: 0, RP-source: (local), group ranges: 224.0.0.0/4
예를 들어, RP 세트의 일부인 라우터 중 하나에서 레지스터 메시지를 수신합니다.이 라우터는 테이블에 이 소스에 대해 S,G를 추가합니다.또한 라우터는 RP 집합의 다른 모든 멤버에 PIM 레지스터 메시지를 보냅니다.이 레지스터 메시지의 소스 IP는 RP 집합에 있는 이 라우터의 주소이며 대상은 RP 집합에 있는 각 라우터의 주소입니다.
이 예에서 소스 172.16.1.1이 Nexus-1로 향하는 멀티캐스트 패킷을 전송하면 Nexus-1은 먼저 이 소스를 RP로 등록하고 소스 172.16.1.1 및 그룹 239.1.1.1에 대한 레지스터 메시지를 Nexus-2에 보냅니다. Nexus-2가 이 등록을 수신하면 172.16.1.1에 대한 S,G 엔트리를 mroute 테이블에 239.1.1.1에 추가합니다.이제 RP Nexus-1 및 Nexus-2는 모두 이 소스에 대해 알고 있습니다.Nexus-1에서 Nexus-2로 전송된 레지스터 메시지는 소스 IP 192.168.1.1을 가지고 있으며 RP 집합에 정의된 대로 IP 192.168.2.2을 지정합니다.
등록 프로세스 후 두 Nexus 상자의 항목을 모두 라우팅합니다.
Nexus-1# sh ip mroute 239.1.1.1 IP Multicast Routing Table for VRF "default" (172.16.1.1/32, 239.1.1.1/32), uptime: 00:00:22, ip pim Incoming interface: Ethernet9/3, RPF nbr: 172.16.1.1, internal Outgoing interface list: (count: 0) Nexus-2# sh ip mroute 239.1.1.1 IP Multicast Routing Table for VRF "default" (172.16.1.1/32, 239.1.1.1/32), uptime: 00:00:17, pim ip Incoming interface: Ethernet9/2, RPF nbr: 10.7.7.1, internal Outgoing interface list: (count: 0)
Nexus-2에서 가져온 이러한 레지스터 메시지의 패킷 덤프:
Ethernet II, Src: d8:67:d9:04:5f:41 (d8:67:d9:04:5f:41), Dst: d8:67:d9:02:3b:41 (d8:67:d9:02:3b:41) Destination: d8:67:d9:02:3b:41 (d8:67:d9:02:3b:41) Address: d8:67:d9:02:3b:41 (d8:67:d9:02:3b:41) .... ...0 .... .... .... .... = IG bit: Individual address (unicast) .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default) Source: d8:67:d9:04:5f:41 (d8:67:d9:04:5f:41) Address: d8:67:d9:04:5f:41 (d8:67:d9:04:5f:41) .... ...0 .... .... .... .... = IG bit: Individual address (unicast) .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default) Type: IP (0x0800) Internet Protocol, Src: 192.168.1.1 (192.168.1.1), Dst: 192.168.2.2 (192.168.2.2) Version: 4 Header length: 20 bytes Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00) 0000 00.. = Differentiated Services Codepoint: Default (0x00) .... ..0. = ECN-Capable Transport (ECT): 0 .... ...0 = ECN-CE: 0 Total Length: 128 Identification: 0x1b27 (6951) Flags: 0x00 0.. = Reserved bit: Not Set .0. = Don't fragment: Not Set ..0 = More fragments: Not Set Fragment offset: 0 Time to live: 254 Protocol: PIM (0x67) Header checksum: 0x9aea [correct] [Good: True] [Bad : False] Source: 192.168.1.1 (192.168.1.1) Destination: 192.168.2.2 (192.168.2.2) Protocol Independent Multicast Version: 2 Type: Register (1) Checksum: 0xdeff [correct] PIM parameters Flags: 0x00000000 0... .... .... .... .... .... .... .... = Not border .0.. .... .... .... .... .... .... .... = Not Null-Register Internet Protocol, Src: 172.16.1.1 (172.16.1.1), Dst: 239.1.1.1 (239.1.1.1) Version: 4 Header length: 20 bytes Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00) 0000 00.. = Differentiated Services Codepoint: Default (0x00) .... ..0. = ECN-Capable Transport (ECT): 0 .... ...0 = ECN-CE: 0 Total Length: 100 Identification: 0x0000 (0) Flags: 0x00 0.. = Reserved bit: Not Set .0. = Don't fragment: Not Set ..0 = More fragments: Not Set Fragment offset: 0 Time to live: 254 Protocol: ICMP (0x01) Header checksum: 0xa294 [correct] [Good: True] [Bad : False] Source: 172.16.1.1 (172.16.1.1) Destination: 239.1.1.1 (239.1.1.1) Internet Control Message Protocol Type: 8 (Echo (ping) request) Code: 0 () Checksum: 0x9484 [correct] Identifier: 0x0000 Sequence number: 0 (0x0000) Data (72 bytes) 0000 00 00 00 00 00 71 e9 54 ab cd ab cd ab cd ab cd .....q.T........ 0010 ab cd ab cd ab cd ab cd ab cd ab cd ab cd ab cd ................ 0020 ab cd ab cd ab cd ab cd ab cd ab cd ab cd ab cd ................ 0030 ab cd ab cd ab cd ab cd ab cd ab cd ab cd ab cd ................ 0040 ab cd ab cd ab cd ab cd ........ Data: 000000000071E954ABCDABCDABCDABCDABCDABCDABCDABCD... [Length: 72]
이 필터를 사용하여 Nexus의 인밴드에서 PIM 패킷을 캡처할 수 있습니다.
etanalyzer 로컬 인터페이스 인밴드 캡처 필터 "ip proto 103" limit-captured-frames 0 write logflash:pim.pcap
이렇게 하면 cntrl+c를 누를 때까지 PIM 패킷을 무기한 캡처하기 시작합니다.패킷은 화면에도 표시되고 logflash의 pim.pcap 파일에 기록됩니다.특정 PIM 인접 디바이스("ip proto 103 및 호스트 <ip_address>")에서 패킷을 캡처하기 위해 IP 주소를 포함할 수도 있습니다.
다음은 Nexus에서 등록 프로세스를 확인하는 데 유용한 두 개의 디버그입니다.
디버그 ip pim data register send
debug ip pim data register receive
Nexus-1
2012 Sep 20 12:25:52.537472 pim: [6405] (default-base) Received Register from 172.16.1.2 for (172.16.1.1/32, 239.1.1.1/32) 2012 Sep 20 12:25:52.537656 pim: [6405] (default-base) Create route for (172.16.1.1/32, 239.1.1.1/32) 2012 Sep 20 12:25:52.537716 pim: [6405] (default-base) Add route (172.16.1.1/32, 239.1.1.1/32) to MRIB, multi-route TRUE 2012 Sep 20 12:25:52.537745 pim: [6405] (default-base) RP 10.1.1.1 is an Anycast-RP 2012 Sep 20 12:25:52.537771 pim: [6405] (default-base) Forward Register to Anycast-RP member 192.168.2.2 2012 Sep 20 12:25:52.537825 pim: [6405] (default-base) Send Register-Stop to 172.16.1.2 for (172.16.1.1/32, 239.1.1.1/32) 2012 Sep 20 12:25:52.538591 pim: [6405] (default-base) Received Register-Stop from 10.1.1.1 for (172.16.1.1/32, 239.1.1.1/32)
Nexus-2
2012 Sep 20 12:26:36.367862 pim: [7189] (default-base) Received Register from 192.168.1.1 for (172.16.1.1/32, 239.1.1.1/32) 2012 Sep 20 12:26:36.368093 pim: [7189] (default-base) Create route for (172.16.1.1/32, 239.1.1.1/32) 2012 Sep 20 12:26:36.368175 pim: [7189] (default-base) Add route (172.16.1.1/32, 239.1.1.1/32) to MRIB, multi-route FALSE 2012 Sep 20 12:26:36.368223 pim: [7189] (default-base) RP 10.1.1.1 is an Anycast-RP 2012 Sep 20 12:26:36.368240 pim: [7189] (default-base) Register received from Anycast-RP member 192.168.1.1
이 RFC는 PIM 등록 프로세스에 대한 자세한 정보를 제공합니다.http://tools.ietf.org/rfc/rfc4610.txt
또한 자세한 내용은 PIM 및 PIM6 구성을 참조하십시오.