auto-RP 및 Bootstrap과 같은 프로토콜을 실행하여 RP(Rendezvous Point)에 대한 이중화를 가질 수 있습니다. 하지만 실패의 경우 컨버전스가 그리 빠르지 않습니다. RP로 사용하려는 둘 이상의 라우터에 동일한 IP 주소(rp-address)가 구성된 Anycast RP의 개념이 있습니다. 그런 다음 IGP에서 이 IP를 광고합니다. 다른 라우터는 rp-address에 대한 최상의 경로를 기반으로 이러한 라우터 중 하나를 선택합니다. 장애가 발생할 경우 컨버전스는 IGP(Interior Gateway Protocol)와 동일합니다.
이러한 개념으로 인해 문제가 발생합니다. 서로 다른 RP 간에 정보를 동기화해야 합니다. 발신자 및 수신자가 RP의 역할을 하는 라우터 1에 참가할 수 없고 RP의 역할을 하는 라우터 2에 참가할 수 있는 수신자가 거의 없기 때문입니다. 이러한 라우터에는 모든 소스의 전체 정보가 없으며 멀티캐스트가 손상될 수 있습니다. 이 문제의 해결 방법은 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-projective-RP>
설정에 대한 두 Nexus의 명령은 다음과 같습니다.
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이 239.1.1.1을 목적지로 하는 멀티캐스트 패킷을 Nexus-1로 전송하면 Nexus-1이 먼저 이 소스를 RP로 등록하고 소스 172.16.1.1 및 그룹 239.1.1.1에 대한 등록 메시지를 Nexus-2로 전송합니다. Nexus-2가 이 등록을 수신하면 mroute 테이블에 172.16.1.1, 239.1.1.1에 대한 S,G 항목을 추가합니다. 이제 RP Nexus-1과 Nexus-2 모두 이 소스에 대해 알고 있습니다. Nexus-1에서 Nexus-2로 전송된 등록 메시지에는 소스 IP 192.168.1.1과 RP 세트에 정의된 목적지의 IP 192.168.2.2가 있습니다.
등록 프로세스 후 두 Nexus 상자의 Mroute 항목:
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 패킷을 캡처할 수 있습니다.
ethanalyzer 로컬 인터페이스 인밴드 캡처 필터 "ip proto 103" limit-captured-frames 0 write logflash: pim.pcap
이렇게 하면 cntrl+c를 누를 때까지 PIM 패킷 캡처가 무기한 시작됩니다. 패킷은 화면에 표시되고 logflash에서 pim.pcap 파일에 기록됩니다. 특정 PIM 네이버에서 패킷을 캡처하기 위해 IP 주소를 포함할 수도 있습니다("ip proto 103 and host <ip_address>").
다음은 Nexus에서 등록 프로세스를 확인하는 데 도움이 되는 두 가지 디버그입니다.
ip pim 데이터 레지스터 보내기 디버그
디버그 ip pim 데이터 레지스터 수신
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 구성을 참조하십시오.
개정 | 게시 날짜 | 의견 |
---|---|---|
1.0 |
25-Oct-2012 |
최초 릴리스 |