CCIE-16-PIM

目录

  • 实验条件
    • 网络拓朴
    • 实验环境
    • 实验目的
  • 开始实验
    • 实验1:PIM-DM
      • 配置PIM域中的路由,开启PIM-DM组播路由功能,
      • 验证组播情况
    • 实验2:PIM-SM(静态RP)
      • 配置PIM域中的路由,开启PIM-SM组播路由功能,并指定RP
    • 实验3:PIM-SM(auto-RP)
      • 开启PIM-SM组播路由功能
      • 验证结果
    • 实验4:PIM-SM(auto-RP)
      • 开始配置
      • 验证结果

实验条件

网络拓朴

在这里插入图片描述

实验环境

在这里插入图片描述

实验目的

实验组播功能

开始实验

实验1:PIM-DM

  1. R1/R2/R3/R5在一个PIM域中,这4台路由器需要开启组播路由功能,同时相应接口需要运行PIM-SM,从而为组播流量进行路由;
  2. R7/R8/R9模拟主机,分别模拟加入到不同的组播组当中
  3. R5模拟组播末节路由器,需要与主机R7/R8/R9之间通过IGMP进行通信

查询配置发现R7/R8/R9已经通过igmp-join分别加入了不同或相同的组播组,查看加入的组播情况

R7#show ip igmp groups
IGMP Connected Group Membership
Group Address    Interface                Uptime    Expires   Last Reporter   Group Accounted
239.1.1.1        Ethernet0/0              00:06:23  never     192.168.2.1     
239.1.1.3        Ethernet0/0              00:06:23  never     192.168.2.1     


R8#show ip igmp groups
IGMP Connected Group Membership
Group Address    Interface                Uptime    Expires   Last Reporter   Group Accounted
239.1.1.1        Ethernet0/0              00:07:33  never     192.168.2.1     
239.1.1.3        Ethernet0/0              00:07:33  never     192.168.2.1     
239.1.1.2        Ethernet0/0              00:07:33  never     192.168.2.2 

R9#show ip igmp groups
IGMP Connected Group Membership
Group Address    Interface                Uptime    Expires   Last Reporter   Group Accounted
239.1.1.3        Ethernet0/0              00:07:57  never     192.168.2.1     
239.1.1.2        Ethernet0/0              00:07:57  never     192.168.2.3     

三组组播:
Group1:239.1.1.1 R7、R8
Group1:239.1.1.2 R8、R9
Group1:239.1.1.3 R7、R8、R9

配置PIM域中的路由,开启PIM-DM组播路由功能,

R1:
conf t
ip multicast-routing
interface range e0/0-2
 ip pim dense-mode

R2:
conf t
ip multicast-routing
interface range e0/0-1
 ip pim dense-mode

R3:
conf t
ip multicast-routing
interface range e0/1-2
 ip pim dense-mode


R5:
conf t
ip multicast-routing
interface range e0/0, e0/2
 ip pim dense-mode

验证组播情况

在R6模拟发出组播流量之前,观察各组播路由器的组播路由表情况。

  1. 发起组播流量前:R1/R2/R3/R5组播路由表暂没有形成(S,G)的表项:
    下图是R5上查看的结果,只有组成员发送IGMP report后形成的(*,G)项,无任何(S,G)表项,其他R1/R2/R3也都不会形成
R5#show ip mroute   
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
       L - Local, P - Pruned, R - RP-bit set, F - Register flag,
       T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
       X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
       U - URD, I - Received Source Specific Host Report, 
       Z - Multicast Tunnel, z - MDT-data group sender, 
       Y - Joined MDT-data group, y - Sending to MDT-data group, 
       G - Received BGP C-Mroute, g - Sent BGP C-Mroute, 
       N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed, 
       Q - Received BGP S-A Route, q - Sent BGP S-A Route, 
       V - RD & Vector, v - Vector, p - PIM Joins on route, 
       x - VxLAN group
Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join
 Timers: Uptime/Expires
 Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 239.1.1.1), 00:43:35/00:02:27, RP 0.0.0.0, flags: DC
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    Ethernet0/2, Forward/Dense, 00:43:35/stopped
    Ethernet0/0, Forward/Dense, 00:43:35/stopped

(*, 239.1.1.3), 00:43:35/00:02:25, RP 0.0.0.0, flags: DC
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    Ethernet0/2, Forward/Dense, 00:43:35/stopped
    Ethernet0/0, Forward/Dense, 00:43:35/stopped

(*, 239.1.1.2), 00:43:35/00:02:25, RP 0.0.0.0, flags: DC
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    Ethernet0/2, Forward/Dense, 00:43:35/stopped
    Ethernet0/0, Forward/Dense, 00:43:35/stopped

(*, 224.0.1.40), 00:43:36/00:02:46, RP 0.0.0.0, flags: DCL
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    Ethernet0/2, Forward/Dense, 00:43:35/stopped
    Ethernet0/0, Forward/Dense, 00:43:36/stopped
  1. R6模拟发出组播流量
R6#ping 239.1.1.1
Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 239.1.1.1, timeout is 2 seconds:

Reply to request 0 from 192.168.2.1, 26 ms
Reply to request 0 from 192.168.2.1, 47 ms
Reply to request 0 from 192.168.2.2, 47 ms
Reply to request 0 from 192.168.2.2, 26 ms
R6#ping 239.1.1.1
Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 239.1.1.1, timeout is 2 seconds:

Reply to request 0 from 192.168.2.1, 1 ms
Reply to request 0 from 192.168.2.2, 1 ms
R6#

再次观察R1/R2/R3/R5组播路由表,已形成(S,G)表项

R1#show ip mroute
......
(*, 239.1.1.3), 00:01:39/stopped, RP 0.0.0.0, flags: D
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    Ethernet0/2, Forward/Dense, 00:01:39/stopped
    Ethernet0/1, Forward/Dense, 00:01:39/stopped

(192.168.1.1, 239.1.1.3), 00:01:39/00:01:20, flags: T
  Incoming interface: Ethernet0/0, RPF nbr 0.0.0.0
  Outgoing interface list:
    Ethernet0/1, Prune/Dense, 00:01:39/00:01:20
    Ethernet0/2, Forward/Dense, 00:01:39/stopped

R2#show ip mroute
......
(*, 239.1.1.3), 00:02:03/stopped, RP 0.0.0.0, flags: D
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    Ethernet0/1, Forward/Dense, 00:02:03/stopped
    Ethernet0/0, Forward/Dense, 00:02:03/stopped

(192.168.1.1, 239.1.1.3), 00:02:03/00:00:56, flags: PT
  Incoming interface: Ethernet0/1, RPF nbr 12.1.1.1
  Outgoing interface list:
    Ethernet0/0, Prune/Dense, 00:02:03/00:00:58

......

上面模拟向239.1.1.1组中发起1个包的流量,第一次发起时由R7/R8组成员分别回复,但是会发现每个组成员均回复了2次,
原因分析:R2、R3作为运行了PIM-DM的路由器,处在一个MA网络中,当有第一次组播流量触发后,会发assert声明报文进行DR选举,但第一次的流量仍然会下发,所以R7、R8会各自接收到R2和R3共2份包,所以就各回复1份;当DR选举完后(R3成为assert winner),所以后续该组播流量就只有R3进行转发,R2会发prune报文进行修剪!
在这里插入图片描述
实现结果表明:

  1. PIM-DM模式是先进行组播流量的push
  2. 组播流量触发后,各运行PIM-DM的路由器才会形成组播路由表(S,G),形成SPT源树!
  3. 在MA网络中, Assert声明选举DR失败的一方,将发送prune进行修剪(还有其他可能造成prune的情况,本次实验没有涉及)。

实验2:PIM-SM(静态RP)

PIM域为R1/R2/R3/R5,静态指定R3为RP
R1/R2/R3/R5开启组播路由功能,并配置PIM-SM,每台PIM路由器均手工指定R3为RP
(R3上也要指定自己为RP)

重置实验LAB,再来配置实验,以免之前的配置干扰

配置PIM域中的路由,开启PIM-SM组播路由功能,并指定RP

R1:
conf t
ip multicast-routing
interface range e0/0-2
 ip pim sparse-mode
ip pim rp-address 3.3.3.3 override

R2:
conf t
ip multicast-routing
interface range e0/0-1
 ip pim sparse-mode
ip pim rp-address 3.3.3.3 override

R3:
conf t
ip multicast-routing
interface range e0/1-2
 ip pim sparse-mode
ip pim rp-address 3.3.3.3 override


R5:
conf t
ip multicast-routing
interface range e0/0, e0/2
 ip pim sparse-mode
ip pim rp-address 3.3.3.3 override

这里不指定override会让静态指定的RP无效。因为思科路由器会默认开启其它类型的RP协议
这里指定R3为RP(其lo0已经在IGP里通告,可以被其他PIM路由器学习到,该lo0无需接收组播流量,可以不用开启PIM-SM)

  1. R6模拟发出组播流量前:R5会接受R7/R8/R9的IGMP-join的report报文,本身会形成(,G)表项,同时R5会从RPF接口沿着RP方向发送(,G)join报文形成共享树!
    分析:对于本拓扑来说,由于R3被静态指定成RP,所以R5会从RPF接口e0/2发出(*,G)join,被R3-e0/1接收到

R5上观察组播路由表:静态RP为3.3.3.3

R5#show ip mroute
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
       L - Local, P - Pruned, R - RP-bit set, F - Register flag,
       T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
       X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
       U - URD, I - Received Source Specific Host Report, 
       Z - Multicast Tunnel, z - MDT-data group sender, 
       Y - Joined MDT-data group, y - Sending to MDT-data group, 
       G - Received BGP C-Mroute, g - Sent BGP C-Mroute, 
       N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed, 
       Q - Received BGP S-A Route, q - Sent BGP S-A Route, 
       V - RD & Vector, v - Vector, p - PIM Joins on route, 
       x - VxLAN group
Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join
 Timers: Uptime/Expires
 Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 239.1.1.1), 00:04:14/00:02:45, RP 3.3.3.3, flags: SJC
  Incoming interface: Ethernet0/2, RPF nbr 2.3.5.3
  Outgoing interface list:
    Ethernet0/0, Forward/Sparse, 00:04:13/00:02:45

(*, 239.1.1.3), 00:04:14/00:02:46, RP 3.3.3.3, flags: SJC
  Incoming interface: Ethernet0/2, RPF nbr 2.3.5.3
  Outgoing interface list:
    Ethernet0/0, Forward/Sparse, 00:04:13/00:02:46

(*, 239.1.1.2), 00:04:13/00:02:46, RP 3.3.3.3, flags: SJC
  Incoming interface: Ethernet0/2, RPF nbr 2.3.5.3
  Outgoing interface list:
    Ethernet0/0, Forward/Sparse, 00:04:13/00:02:46

R3上观察组播路由表:R3接收到(*,G)join报文后,会在组播路由表形成(*,G)表项

R3(config)#do show ip mroute
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
       L - Local, P - Pruned, R - RP-bit set, F - Register flag,
       T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
       X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
       U - URD, I - Received Source Specific Host Report, 
       Z - Multicast Tunnel, z - MDT-data group sender, 
       Y - Joined MDT-data group, y - Sending to MDT-data group, 
       G - Received BGP C-Mroute, g - Sent BGP C-Mroute, 
       N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed, 
       Q - Received BGP S-A Route, q - Sent BGP S-A Route, 
       V - RD & Vector, v - Vector, p - PIM Joins on route, 
       x - VxLAN group
Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join
 Timers: Uptime/Expires
 Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 239.1.1.1), 00:02:47/00:02:37, RP 3.3.3.3, flags: S
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    Ethernet0/1, Forward/Sparse, 00:02:47/00:02:37

(*, 239.1.1.3), 00:02:47/00:02:39, RP 3.3.3.3, flags: S
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    Ethernet0/1, Forward/Sparse, 00:02:47/00:02:39

(*, 239.1.1.2), 00:02:47/00:02:39, RP 3.3.3.3, flags: S
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    Ethernet0/1, Forward/Sparse, 00:02:47/00:02:39

以上从R5的RPF接口开始沿着RP方向到R3之间会形成共享树!

R2上观察组播路由表:由于R2不是RP,同时也不在R5的RPF口沿着RP方向的链路上,所以R2上不会接收到(,G)join报文,不会形成(,G)表项:

R2(config)#do show ip mroute
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
       L - Local, P - Pruned, R - RP-bit set, F - Register flag,
       T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
       X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
       U - URD, I - Received Source Specific Host Report, 
       Z - Multicast Tunnel, z - MDT-data group sender, 
       Y - Joined MDT-data group, y - Sending to MDT-data group, 
       G - Received BGP C-Mroute, g - Sent BGP C-Mroute, 
       N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed, 
       Q - Received BGP S-A Route, q - Sent BGP S-A Route, 
       V - RD & Vector, v - Vector, p - PIM Joins on route, 
       x - VxLAN group
Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join
 Timers: Uptime/Expires
 Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 224.0.1.40), 00:02:55/00:02:12, RP 3.3.3.3, flags: SJPL
  Incoming interface: Ethernet0/0, RPF nbr 2.3.5.3
  Outgoing interface list: Null

R2(config)#
  1. R6模拟发出组播流量:R1与R3形成GRE-tunnel,然后将组播报文封装成单播发送一个register报文,沿着GRE隧道发送给RP进行注册,RP将报文拆包还原成组播沿着共享树的方向发给R5,同时RP发送register-stop报文给R1,R1-R3之间形成SPT源树!
    以下是R3上的组播路由表:
    在这里插入图片描述
R1(config)#do show ip int br
Interface                  IP-Address      OK? Method Status                
......   
Loopback0                  1.1.1.1         YES TFTP   up                    up      
Tunnel0                    13.1.1.1        YES unset  up                    up      
R1(config)#do show int tunnel0
Tunnel0 is up, line protocol is up 
  Hardware is Tunnel
  Description: Pim Register Tunnel (Encap) for RP 3.3.3.3
  Interface is unnumbered. Using address of Ethernet0/2 (13.1.1.1)
  MTU 17912 bytes, BW 100 Kbit/sec, DLY 50000 usec, 
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation TUNNEL, loopback not set
  Keepalive not set
  Tunnel linestate evaluation up
  Tunnel source 13.1.1.1 (Ethernet0/2), destination 3.3.3.3
   Tunnel Subblocks:
      src-track:
         Tunnel0 source tracking subblock associated with Ethernet0/2
          Set of tunnels with source Ethernet0/2, 1 member (includes iterators), on interface <OK>
  Tunnel protocol/transport PIM/IPv4
  Tunnel TTL 255
  Tunnel transport MTU 1472 bytes
  Tunnel is transmit only
......
R1(config)#

以上实验表明:

  1. PIM-SM是last-hop路由器先沿着RP方向发送join报文形成(*,G)表项,首先构造出一个共享树;
  2. first-hop到RP之间通过通过GRE隧道发送register报文和register-stop,RP通过反向溯源的方式,成功构造出一个源树;
  3. 当R5溯源成功后,从RPF口沿着到source的方向沿途形成(S,G),于是完成SPT切换;
  4. 后续组播流量沿着SPT源树进行下发

实验3:PIM-SM(auto-RP)

将R1作为MA,R2/R3作为C-RP,为保证RP相关报文能顺利从PIM-SM接口泛洪,本实验主要是要让R5也能接收,则R2和R3开启autorp listen功能,使得在还没有选出RP的情况下,有关RP选举报文能泛洪出去被R5接收到!

开启PIM-SM组播路由功能

注:由于R1要配置成MA,并配置其lo0要发送rp-discovery报文而都要配置C-RP,并配置其lo0要能发送rp-announce报文

R1:
conf t
ip multicast-routing
interface range e0/0-2
 ip pim sparse-mode
interface lo 0
 ip pim sparse-mode
ip pim send-rp-discovery loopback 0 scope 255
ip pim autorp listener

R2:
conf t
ip multicast-routing
interface range e0/0-1
 ip pim sparse-mode
interface lo 0
 ip pim sparse-mode
ip pim send-rp-announce loopback 0 scope 255
ip pim autorp listener

R3:
conf t
ip multicast-routing
interface range e0/1-2
 ip pim sparse-mode
interface lo 0
 ip pim sparse-mode
ip pim send-rp-announce loopback 0 scope 255

R5:
conf t
ip multicast-routing
interface range e0/0, e0/2
 ip pim sparse-mode

验证结果

  1. 查看RP选举情况:
    在MA上查看RP选举情况:R3被选举为RP(选举IP地址大的成为RP)
R1#show ip pim rp mapping in-use 
PIM Group-to-RP Mappings
This system is an RP-mapping agent (Loopback0)

Group(s) 224.0.0.0/4
  RP 3.3.3.3 (?), v2v1
    Info source: 3.3.3.3 (?), elected via Auto-RP
         Uptime: 00:00:54, expires: 00:02:01
  RP 2.2.2.2 (?), v2v1
    Info source: 2.2.2.2 (?), via Auto-RP
         Uptime: 00:01:04, expires: 00:02:52

Dynamic (Auto-RP or BSR) RPs in cache that are in use:
R1#

在R5上查看:RP选举结果已经泛洪被R5接收

R5#show ip pim rp mapping in-use 
PIM Group-to-RP Mappings

Group(s) 224.0.0.0/4
  RP 3.3.3.3 (?), v2v1
    Info source: 1.1.1.1 (?), elected via Auto-RP
         Uptime: 00:01:42, expires: 00:02:14

Dynamic (Auto-RP or BSR) RPs in cache that are in use:
Group(s): 224.0.0.0/4, RP: 3.3.3.3, expires: 00:00:57
R5#

现在,整个PIM域中,选举出R3作为RP

实验4:PIM-SM(auto-RP)

将R1设置为C-BSR(最终成为BSR),R2/R3设置为C-RP

开始配置

R1:
conf t
ip multicast-routing
interface range e0/0-2
 ip pim sparse-mode
interface lo 0
 ip pim sparse-mode
ip pim bsr-candidate lo0 0 0

R2:
conf t
ip multicast-routing
interface range e0/0-1
 ip pim sparse-mode
interface lo 0
 ip pim sparse-mode
ip pim rp-candidate lo0 priority 0

R3:
conf t
ip multicast-routing
interface range e0/1-2
 ip pim sparse-mode
interface lo 0
 ip pim sparse-mode
ip pim rp-candidate lo0 priority 0

R5:
conf t
ip multicast-routing
interface range e0/0, e0/2
 ip pim sparse-mode

验证结果

  1. 查看BSR:R1成为BSR
R1#show ip pim bsr-router 
PIMv2 Bootstrap information
This system is the Bootstrap Router (BSR)
  BSR address: 1.1.1.1 (?)
  Uptime:      00:01:05, BSR Priority: 0, Hash mask length: 0
  Next bootstrap message in 00:00:56
R1#
  1. 查看RP:R2成为RP
R2#show ip pim rp mapping in-use 
PIM Group-to-RP Mappings
This system is a candidate RP (v2)

Group(s) 224.0.0.0/4
  RP 2.2.2.2 (?), v2
    Info source: 1.1.1.1 (?), via bootstrap, priority 0, holdtime 150
         Uptime: 00:00:47, expires: 00:01:40
  RP 3.3.3.3 (?), v2
    Info source: 1.1.1.1 (?), via bootstrap, priority 0, holdtime 150
         Uptime: 00:00:48, expires: 00:01:40

Dynamic (Auto-RP or BSR) RPs in cache that are in use:
Group(s): 224.0.0.0/4, RP: 2.2.2.2, expires: 00:00:58
R2#show ip pim rp-hash 239.1.1.1
  RP 2.2.2.2 (?), v2
    Info source: 1.1.1.1 (?), via bootstrap, priority 0, holdtime 150
         Uptime: 00:01:42, expires: 00:01:45
  PIMv2 Hash Value (mask 0.0.0.0)
    RP 2.2.2.2, via bootstrap, priority 0, hash value 1524600152
    RP 3.3.3.3, via bootstrap, priority 0, hash value 450145259
R2#

注:这里通过RP选举规则第三条:较大的HASH值成为RP(前两条规则比不出来)R2运算得到的hash值更大:

    RP 2.2.2.2, via bootstrap, priority 0, hash value 1524600152
    RP 3.3.3.3, via bootstrap, priority 0, hash value 450145259
  1. 查看组播路由表:R5上查看组播路由表,当有组播流量后,完成了SPT切换
R5#show ip mroute 
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
       L - Local, P - Pruned, R - RP-bit set, F - Register flag,
       T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
       X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
       U - URD, I - Received Source Specific Host Report, 
       Z - Multicast Tunnel, z - MDT-data group sender, 
       Y - Joined MDT-data group, y - Sending to MDT-data group, 
       G - Received BGP C-Mroute, g - Sent BGP C-Mroute, 
       N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed, 
       Q - Received BGP S-A Route, q - Sent BGP S-A Route, 
       V - RD & Vector, v - Vector, p - PIM Joins on route, 
       x - VxLAN group
Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join
 Timers: Uptime/Expires
 Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 239.1.1.1), 00:38:10/00:02:49, RP 2.2.2.2, flags: SJC
  Incoming interface: Ethernet0/2, RPF nbr 2.3.5.2
  Outgoing interface list:
    Ethernet0/0, Forward/Sparse, 00:38:08/00:02:49

(*, 239.1.1.3), 00:38:10/00:02:52, RP 2.2.2.2, flags: SJC
  Incoming interface: Ethernet0/2, RPF nbr 2.3.5.2
  Outgoing interface list:
    Ethernet0/0, Forward/Sparse, 00:38:08/00:02:52

(*, 239.1.1.2), 00:38:10/00:02:51, RP 2.2.2.2, flags: SJC
  Incoming interface: Ethernet0/2, RPF nbr 2.3.5.2
  Outgoing interface list:
    Ethernet0/0, Forward/Sparse, 00:38:08/00:02:51

R6模拟发出组播流量,再查看R5路由表(*, 239.1.1.1),变成了从(192.168.1.1,239.1.1.1)从R3转发,完成了SPT切换。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/561450.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

3-内核开发-第一个字符设备模块开发案例

3-内核开发-第一个字符设备模块开发案例 目录 3-内核开发-第一个字符设备模块开发案例 (1) 字符设备背景介绍 (2) 简单版本字符设备模块 (3) 继续丰富我们的字符驱动模块&#xff0c;增加write,read 功能 (4) 编译执行验证 (5)总结 (6)后记 (7)参考 课程简介&#xff…

[Meachines][Easy]Crafty

Main $ sudo nmap -p- -sS -T4 10.10.11.249 发现25565端口是我的世界服务器端口 CVE-2021-44228: https://nodecraft.com/blog/service-updates/minecraft-java-edition-security-vulnerability在阿帕奇Log4j图书馆&#xff0c;广泛使用的记录框架&#xff0c;在Java应用程序…

一起Talk Android吧(第五百五十七回:如何获取文件读写权限)

文章目录 1. 概念介绍2. 使用方法3. 示例代码4. 内容总结各位看官们大家好,上一回中分享了一个Retrofit使用错误的案例,本章回中将介绍 如何获取文件读写权限。闲话休提,言归正转,让我们一起Talk Android吧! 1. 概念介绍 我们在本章回中说的文本读写权限是指读写手机中的…

0-1背包问题:贪心算法与动态规划的比较

0-1背包问题&#xff1a;贪心算法与动态规划的比较 1. 问题描述2. 贪心算法2.1 贪心策略2.2 伪代码 3. 动态规划3.1 动态规划策略3.2 伪代码 4. C语言实现5. 算法分析6. 结论7. 参考文献 1. 问题描述 0-1背包问题是组合优化中的一个经典问题。假设有一个小偷在抢劫时发现了n个…

CCF-CSP真题《202312-3 树上搜索》思路+c++满分题解

想查看其他题的真题及题解的同学可以前往查看&#xff1a;CCF-CSP真题附题解大全 问题描述 试题编号&#xff1a;202312-3试题名称&#xff1a;树上搜索时间限制&#xff1a;1.0s内存限制&#xff1a;512.0MB问题描述&#xff1a; 题目背景 问题描述 输入格式 输出格式 样…

BioTech - 使用 Amber 工具 松弛(Relaxation) 蛋白质三维结构 (Python)

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/137889532 Amber 工具在蛋白质 松弛(Relaxation) 过程中起着重要的作用。在分子动力学模拟中,蛋白质松弛是指模拟过程中蛋白质结构达到一个较为稳定的状态。这个过程通…

SQLite轻量级会话扩展(三十四)

返回&#xff1a;SQLite—系列文章目录 上一篇&#xff1a;SQLite R*Tree 模块&#xff08;三十三&#xff09; 下一篇&#xff1a;SQLite—系列文章目录 1. 引言 会话扩展提供了一种方便记录的机制 对 SQLite 数据库中某些表的部分或全部更改&#xff0c;以及 将这些…

视频质量评价 SSIM 算法详细介绍

SSIM SSIM(Structural Similarity Index Measure)是一种用于衡量两幅图像之间相似度的指标,是属于全参考视频质量评价算法范畴;它在图像质量评估领域得到了广泛的应用。SSIM是基于人类视觉系统的特性设计的,它考虑了图像的亮度、对比度和结构信息。SSIM的值范围在-1到1之…

xilinx 7系列FPGA时钟布线资源

7系列FPGA拥有多种时钟路由资源&#xff0c;以支持各种时钟方案和需求&#xff0c;包括高扇出、短传播延迟以及极低的偏斜。为了最佳地利用时钟路由资源&#xff0c;需要了解如何将用户时钟从PCB传递到FPGA&#xff0c;确定哪种时钟路由资源最优&#xff0c;然后通过利用适当的…

【数据结构|C语言版】单链表

前言1. 单链表的概念和结构1.1 单链表的概念1.2 单链表的结构 2. 单链表的分类3.单链表的实现3.1 新节点创建3.2 单链表头插3.3 单链表头删3.4 单链表尾插3.5 单链表尾删3.6 链表销毁 4. 代码总结4.1 SLT.h4.2 SLT.c4.3 test.c 后言 前言 各位小伙伴大家好&#xff01;时隔不久…

百科不全书之 docker记录

docker记录 1.参考文件2. Docker简介与虚拟机的区别 3. 安装Docker注意 Windows家庭版的要额外设置 4.使用5.docker与ROS 1.参考文件 参考视频&#xff1a;B站【GeekHour】Docker入门教程: 【GeekHour】30分钟Docker入门教程 2. Docker简介 Docker是一个用于构建运行 传送…

The C programming language (second edition,KR) exercise(CHAPTER 4)

E x c e r c i s e 4 − 1 Excercise\quad 4-1 Excercise4−1&#xff1a; #include <stdlib.h> #include <stdio.h> #include <string.h> int strindex(char s[],char t[]); int strrindex(char s[],char t[]);int main(void) {char s[100]"qwoulddf…

Java | Leetcode Java题解之第41题缺失的第一个正数

题目&#xff1a; 题解&#xff1a; class Solution {public int firstMissingPositive(int[] nums) {int n nums.length;for (int i 0; i < n; i) {while (nums[i] > 0 && nums[i] < n && nums[nums[i] - 1] ! nums[i]) {int temp nums[nums[i] …

yolov8实战第七天——pyqt5-yolov8实现车牌识别系统(参考论文(约7000字)+环境配置+完整部署代码+代码使用说明+训练好的模型)

基于 pyqt5-yolov8实现车牌识别系统,包括图片车牌识别,视频车牌识别,视频流车牌识别。 效果展示(图片检测,检测到的内容添加到历史记录): 效果展示(视频检测,视频车辆只会添加一条记录,下文更多实际应用中的优化策略): 基于YOLOv8和PyQt5的车牌识别系统设计与…

存储竞赛,角逐未来

随着人工智能&#xff08;AI&#xff09;和大数据驱动的海量数据需求&#xff0c;对存储技术的要求也在不断提高。在此背景下&#xff0c;各大存储芯片巨头之间的技术竞赛日益激烈。 在NAND闪存领域&#xff0c;企业关注的重点在于层数的突破。近日&#xff0c;《韩国经济日报》…

linux下编译c++程序报错“undefined reference to `std::allocator<char>::allocator()‘”

问题 linux下编译c程序报错“undefined reference to std::allocator::allocator()”。 原因 找不到c标准库文件。 解决办法 开始尝试给gcc指令添加-L和-l选项指定库路径和库文件名&#xff0c;但是一直不成功&#xff0c;后来把gcc改为g就可以了。

Stylus精讲:网页设计新境界【写作AI一键生成】

首先&#xff0c;这篇文章是基于笔尖AI写作进行文章创作的&#xff0c;喜欢的宝子&#xff0c;也可以去体验下&#xff0c;解放双手&#xff0c;上班直接摸鱼~ 按照惯例&#xff0c;先介绍下这款笔尖AI写作&#xff0c;宝子也可以直接下滑跳过看正文~ 笔尖Ai写作&#xff1a;…

SWCTF

easy_php 源码 <?php// flag is in flag.php highlight_file(__FILE__); ini_set(display_errors, 0); error_reporting(0);if (isset($_GET[myon1]) && isset($_GET[myon2]) && isset($_GET[myon3])) {$myon1 $_GET[myon1];$myon2 $_GET[myon2];$myon…

# Win10 打不开【本地组策略编辑器】解决方案

Win10 打不开【本地组策略编辑器】解决方案 段子手168 问题描述&#xff1a; 当在 WIN R 打开【运行】输入&#xff1a;gpedit.msc 打开【本地组策略编辑器】时&#xff0c;出现错误时&#xff0c; 或者在【计算机管理】中 没有【本地用户和组】这一项。 可以试一下以下方…

Go 之 sync.Mutex 加锁失效现象

我先声明一下&#xff0c;并不是真的加锁失效&#xff0c;而是我之前的理解有误&#xff0c;导致看起来像是加锁失效一样。于是乎记录一下&#xff0c;加深一下印象。 我之前有个理解误区&#xff08;不知道大家有没有&#xff0c;有的话赶紧纠正一下——其实也是因为我这块的…