IP组播配置与管理实战——1

2023-05-16

IGMP配置与管理

IGMP(InternetGroup Management Protocol,因特网组管理协议)是TCP/IP协议族中负责IPv4组播成员管理的协议,需要在组播组成员主机和与之相连的组播路由器上运行,用来在组播组成员主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。

IGMP有3个版本:IGMPv1版本(由RFC1112定义)、IGMPv2版本(由RFC2236定义)和IGMPv3(由RFC3376定义)版本。所有IGMP版本都支持ASM(任意源组播)。运行IGMPv3的主机可以直接应用于SSM(指定源组播)模型,而运行IGMPv1和IGMPv2的主机则需要与在IGMP交换机上运行的SSM Mapping结合才能应用于SSM模型中。

组播配置中,凡同时支持全局配置(即IGMP配置)和接口配置,则最终的配置生效原则如下:

(1)在IGMP视图下的配置全局有效,在接口视图下的配置只对该接口有效。

(2)如果接口视图和IGMP视图下都配置了命令,则优先选择接口视图下配置的值。接口视图下没有配置时,IGMP视图下配置的值有效。

(3)如果IGMP视图下配置非缺省值,则接口视图下配置的缺省值无效。

一、IGMP特性的产品支持

交换机上配置IGMP协议时,可以配置的功能特性包括IGMP基本功能、IGMP性能调整(包括Router-Alert选项、IGMP查询控制器、快速离开和IGMP报文过滤等)、SSM-Mapping、IGMP组成员关系个数限制等。

IGMP是三层组播协议需要运行在配置了IP地址的三层接口上,但华为S系列交换机的物理以太网端口是不能直接配置IP地址的,所有在配置IGMP协议时只能选择可以配置IP地址的VLANIF接口或Loopback接口(在S9300/9300E/9700中还支持POS接口和IP-Trunk接口)。本配置中,接口的配置一般选择VLANIF接口,但需要事先将对应的物理接口加入到该VLAN中。

1、IGMP基本功能

华为S系列交换机中的IGMP基本功能配置包括以下几个方面:

(1)IGMP版本配置:支持IGMPv1、IGMPv2和IGMPv3,版本可配置。交换机侧的高版本可以兼容主机侧的低版本。

(2)配置静态加入组播组:当网络中存在稳定的组播成员时,通过配置交换机用户侧接口静态加入指定的组播组,可以实现组播数据的快速、稳定转发

(3)配置接口允许加入的组播组范围:通过在交换机用户侧对应接口上设置一个ACL规则作为过滤器,就可以限制该接口所服务的组播组范围,从而控制组播数据的安全发送。

2、IGMP性能调整

在IGMP性能调整方面,可配置以下功能:

(1)Router-Alert选项:配置设备仅接收包含Router-Alert选项的IGMP报文,提高安全性。

(2)查询器:对IGMP查询器的参数进行合理配置,既可以使成员关系得到及时的更新维护,又可以避免报文发送过多造成网络拥塞。

(3)快速离开:使IGMP协议可以快速响应成员主机的Leave(离开)报文。

(4)IGMPOn-Demand:可根据组播成员的实际需求维护组成员之间的关系,减少了报文交互,降低网络流量。

(5)IGMP报文过滤:可根据组播报文中源IP地址来过滤用户侧IGMP接口收到的IGMP报文,提高安全性。

3、SSM Mapping

SSM是一种在IGMPv3协议支持的情况下,能够在用户侧IGMP接口上指定组播源的传输服务。但有时组播组成员主机却只能运行IGMPv1或IGMPv2,这时就可以通过在交换机上配置SSM Mapping功能,向运行IGMPv1IGMPv2的组成员提供SSM服务

4、IGMP Limit

IGMP协议规定,成员可以在任意时间、任意位置、成员总数不受限制的加入或退出组播组。但是当大量用户同时收看多套节目时,需要占用组播设备的大量带宽,可能会造成组播性能下降。为避免这种情况的发生,交换机支持IGMP Limit功能,通过限制全局和用户侧IGMP接口下的组播组个数,使加入组播组的用户收看更加清晰稳定的节目。

二、配置IGMP基本功能

在成员主机和与之相连的交换机上配置IGMP,“使能IGMP功能”和“配置IGMP版本”为必选配置

1、IGMP配置任务

通过在与用户网段相连的组播设备接口上使能IGMP基本功能,用户主机可以接入组播网络,接收组播报文。但在配置IGMP基本功能之前,需配置单播路由协议,使各节点间IP路由可达。主要配置任务如下:

(1)使能IGMP功能。配置IGMP协议之前,必须先使能IP组播路由功能,因为它是配置一切组播功能的前提。IGMP应该配置在与组成员相连的接口上。

(2)配置IGMP版本。运行IGMP高版本的交换机可以识别低版本的成员报告,但低版本的交换机不能识别高版本的成员报告。为了保证IGMP的正常运行,建议在交换机上配置与组播组成员主机上运行相同,或高于组播组成员主机的版本。

如果在主机侧共享网段上有多个交换机,由于不同版本的IGMP协议报文结构不同,为了保证IGMP的正常运行,必须在所有交换机接口配置相同的IGMP版本。

此项配置同时支持全局配置(即IGMP视图)和接口配置。

(3)(可选)配置静态组播组。在以下应用场景中,可在交换机的用户侧接口上配置静态组播组。

①网络中存在稳定的组播组成员。

②某网段内没有组播组成员或组播组成员主机无法发送Report报文,但是又需要将组播数据转发到该网段,可以在接口上配置静态组播组,将组播数据“拉”到接口上。

在接口上配置静态组播组后,交换机就认为此接口网段上一直存在该组播组的成员,从而转发改组的组播数据。

(4)(可选)配置接口加入的组播组范围。为了让IGMP接口所在网段的组播组成员主机加入指定的组播组,并接收这些组的报文,可以在该接口上设置ACL规则,对收到的成员Report报文进行过滤,使交换机只对该规则中允许的组播组维护组成员关系。

2、配置步骤




示例1:在与用户相连的VLANIF100接口(先要把对应物理接口加入VLAN100中)配置静态组播组224.1.1.1。

示例2:配置VLANIF100接口加入组播源IP地址为192.168.10.1,组播组IP地址为232.1.1.1的组播组(192.168.10.1,232.1.1.1)中。

示例3:配置VLANIF100接口加入以225.1.1.1位起始组播组IP地址,组播组地址递增掩码长度为8(相当于组播组子网掩码为255.255.255.0),组播组地址数量限制为10的批量组播组中。

示例4:配置VLANIF100接口加入以232.1.1.1位起始组播组IP地址,组播源IP地址为192.168.11.1,组播组地址递增掩码为0.0.255.255,组地址数量限制为10的批量组播组中。

示例5:创建编号为2005的ACL,允许主机接收来自组播组225.1.1.1的数据,然后在VLANIF100接口应用过滤策略,以限定该接口下的主机只能加入组播组225.1.1.1。

三、调整IGMP性能

使能IGMP后,缺省情况下可以正常工作。也可根据安全性和网络性能优化的要求适当调整相关参数。可以调整的IGMP性能参数包括以下几个方面

1、配置Router-Alert选项

通常情况下,网络设备收到报文时,只有目的IP地址为本设备接口地址的报文才会上送给相应的协议模块处理。这样就会存在一个问题,如果协议报文的目的地址不为本设备的接口地址,比如IGMP协议报文,由于其目的地址为组播地址,这种情况下就无法上送给IGMP协议模块处理,导致正常的组成员关系不能维护。为解决此类问题,Router-Alert选项应运而生。如果IP报文头携带Router-Alert选项,设备在接收到此类报文后会直接上送给相应的协议模块处理,而不检查目的地址

缺省情况下,出于兼容性考虑,当前交换机在收到IGMP报文后,无论其IP报文头是否包含Router-Alert选项都会上送给IGMP协议模块处理。交换机在发送IGMP报文时,也可以选择是否需要携带Router-Alert选项。缺省情况下,组播设备发送的IGMP报文中携带Router-Alert选项。

——这里提到一个只有目的IP地址为本设备接口地址的报文才会上送给相应的协议模块处理,对于普通的IP报文,在经过路由器时,报文的目的地址应该不是设备接口的地址,难道不送给IP协议模块处理?

2、配置IGMP查询器参数

IGMP通过查询/响应报文维护组成员关系。当同一网段上有多台组播设备时,是由IGMP查询器负责发送IGMP查询报文,这时就需要指定IGMP查询器(在IGMPv1中,查询器是由PIM协议指定的,IGMPv2和IGMPv3可以手工配置)。

在实际配置中,要确保IGMP查询报文最大响应时间”<IGMP普遍组查询报文发送间隔”<“其他IGMP查询器存活时间”。在共享网段内,如果多台设备的用户侧接口都使能了IGMP,应确保设备上配置的查询器参数一致,否则有可能导致IGMP协议无法正常运行。

3、配置IGMP快速离开

在某些应用中,IGMP查询器的一个接口下只能连接着一台成员主机(这是前提条件),当主机需要在多个组播组间频繁切换时,为了快速响应主机的离开组报文,可以在IGMP查询器上配置IGMP快速离开功能。这样,当查询器收到来自主机的Leave(离开)报文时,不再发送特定组查询报文,而是直接向上游发送离开通告。这样可减小响应延迟,也节省网络带宽。

IGMP快速离开功能仅适用于IGMPv2和IGMPv3版本。

4、配置IGMP On-Demand

在标准的IGMP工作机制中,查询器通过周期性发送查询报文并接收成员反馈的Report和Leave报文来了解组播组成员信息,组成员收到查询时都会进行回应。为了减少这个过程中的报文交互,降低网络流量,可以在查询器上配置IGMP On-Demand功能。使能了IGMP On-Demand功能后,查询器可根据组播组成员的要求来维护成员关系,不再主动发送查询报文来收集成员状态。

IGMP On-Demand只适应于IGMPv2和IGMPv3

5、配置根据源地址过滤IGMP报文

为了提高安全性,可以在交换机的接口上对IGMP报文(包括Query报文、Report和Leave报文)进行过滤。





上面的拓扑,配置后,PC1可以向交换机发送成员报告报文,但是一直抓不到普遍组查询报文。——后来知道配置有问题。

四、配置IGMP SSM Mapping

在SSM模型PIM-SM组播网络中,要求组播设备接口运行IGMPv3,但某些组播用户主机只能运行IGMPv1或IGMPv2。为了向这些用户同样提供SSM服务,需要在组播设备上配置SSM Mapping静态映射功能。

SSM Mapping是通过给SSM组播组地址映射一个或多个组播源地址,将IGMPv1或IGMPv2 Report报文中(*,G)信息转换为一组(S,G)信息来实现SSM服务的。缺省情况下,SSM组播地址范围为232.0.0.0~232.255.255.255,但可通过配置来扩展SSM组地址范围。

五、配置IGMP Limit

IGMP Limit提供了对组成员关系的个数限制功能。配置了组成员关系个数限制功能后,当收到IGMP报文时,首先判断是否超过配置的个数限制,如果没有超过就建立组成员关系,给用户转发该组的数据流。

组成员关系的计数规则如下:

(1)每个(*,G)组成员关系计为一个表项。

(2)每个(S,G)源组成员关系计为一个表项。

(3)使用SSMMapping的每个(*,G)组成员关系计为一个表项,按照映射生成的(S,G)表项不进行计数。

IGMP Limit功能可以在全局或具体IGMP接口上配置。

——通过上面的描述,限制的不是接收端主机的个数,限制的是组播组的个数

对前面的实验进行继续配置和测试,先点击离开按钮,抓包到离开报文:

交换机一直没有发送查询报文,后来查询状态

然后对VLANIF100进行IP地址配置,配置一个IP地址后,在链路上开始能够抓到查询包了:

六、IGMP基本功能配置示例

如上图所示,在主机侧存在两个主机网段N1和N2,HostA和HostC分别为N1和N2中的组播组成员。网络中传播组播数据使用的组播组地址为225.1.1.1~225.1.1.5,组播组成员HostA只购买了组255.1.1.1对应的节目,HostC则没有限制。

1、基本配置思路

从图中的网络结构可看出,不仅涉及IGMP协议,还涉及PIM协议。

(1)配置网络中的单播路由协议(如可采用单播静态路由、RIP、OSPF之类的动态路由等),实现网络层互通。为实现这一步,需要在各Switch的接口配置IP地址和单播路由协议。单播路由正常是组播路由协议正常工作的基础。

(2)配置基本组播功能:全局使能组播路由功能,在与组播组成员连接的接口上使能PIM和IGMP,指定RP,以实现组播数据可以在网络中转发。

(3)通过ACL配置对HostA能接收的组播数据进行过滤,以实现对HostA接收的组播数据进行限制。

2、具体配置步骤

(1)配置各Switch接口IP地址和单播路由协议

按上图配置各VLAN接口的IP地址和掩码,并配置各Switch之间采用OSPF进行互联,确保网络中各Switch间能够在网络层互通。

(2)全局使能组播路由功能,在各组播交换机的所有接口上使能PIM-SM功能(需要先把物理接口加入到对应的VLAN中),并配置以SwitchD的VLANIF40为静态RP。因为SwitchA、SwitchB、SwitchC、SwitchD上的配置相同,以SwitchA为例:

[SwitchA]vlan batch 10 11

[SwitchA]interface gigabitethernet 0/0/1

[SwitchA-GigabitEthernet0/0/1]portlink-type access

[SwitchA-GigabitEthernet0/0/1]port defaultvlan 10

[SwitchA-GigabitEthernet0/0/1]quit

[SwitchA]interface gigabitethernet 0/0/2

[SwitchA-GigabitEthernet0/0/2]portlink-type access

[SwitchA-GigabitEthernet0/0/2]port defaultvlan 11

[SwitchA-GigabitEthernet0/0/2]quit

[SwitchA]multicast routing-enable   #--全局使能组播路由功能

[SwitchA]interface vlanif10

[SwitchA-Vlanif10]pim sm #--在VLAN10接口上(GE0/0/1接口上)启用PIM-SM

[SwitchA-Vlanif10]quit

[SwitchA]interface vlanif11

[SwitchA-Vlanif11]pim sm

[SwitchA-Vlanif11]quit

[SwitchA]pim

[SwitchA-pim]static-rp 192.168.4.1 #---配置SwitchD的GE0/0/4接口为静态RP

[SwitchA-pim]quit

(3)在SwitchA、SwitchB、SwitchC组播组成员侧接口上使能IGMP功能。以SwitchA为例:

[SwitchA]interface vlanif10

[SwitchA-Vlanif10]igmp enable

[SwitchA-Vlanif10]quit

(4)通过IGMP报文过滤功能配置SwitchA的VLANIF10接口只能加入组播组225.1.1.1。要先创建一个允许以组播组地址225.1.1.1为源地址报文通过的基本ACL,然后在SwitchA的VLANIF10接口上应用该策略。

[SwitchA]acl number 2001

[SwitchA-acl-basic-2001]rule permit source225.1.1.1 0

[SwitchA-acl-basic-2001]quit

[SwitchA]interface vlanif10

[SwitchA-Vlanif10]igmp group-policy 2001

[SwitchA-Vlanif10]quit

配置好后,可通过display igmp interface查看各接口上IGMP的配置和运行情况。

模拟器模拟实验:

按照如上图示,进行基本端口、vlan和ip的设置:

配置单播路由,互相连通,使用ospf协议:

这个拓扑图是有问题的,从中可以看出,LSWD——LSWC——LSW5——LSWB形成了环路,在LSW5上查看STP:

可见e0/0/1端口已经是DISCARDING状态,被阻塞了,所以此条链路不通。

而LSWD中ospf形成路由将到达10.110.2.0网段的两条链路做成等价链路,且192.168.2.1在前,所以报文到了这里因为STP阻塞就无法通过了。

在LSWD上配置静态路由,提高VLAN31链路的优先级,

全局使能组播路由功能,在各组播交换机的所有接口上使能PIM-SM功能(需要先把物理接口加入到对应的VLAN中),并配置以SwitchD的VLANIF40为静态RP。

在PC1点击加入组前后各查询一次

然后设置VLC:

使用了百度影音播放器作为VLC,不好用,后来下载了一个VLC播放器,然后在LSWD中少设置了一步,需要设置静态RP,

在做一个测试,如下

增加几个组播源,在PIM SM模式下,同一个组中的多个组播源,哪一个最后点击的运行,在客户端点击启动VLC时接收的就是哪个源的信息。

所以对于接收多个组播源的接收端,需要有一个机制来区分不同的源,就像电视机的频道转换一样。

对于PC3和PC4,相当于共同接在LSWC上,效果一样。

静态加入组播组配置示例

如上图拓扑,在主机侧存在两个主机网段N1和N2,N1中有一个组播组成员HostA,N2中有HostC和HostD两个组播组成员。现希望HostA长期稳定的接收组播组225.1.1.3的数据,HostC和HostD对所接收的组播组数据没有要求。

本例与上例唯一不同是上例是通过IGMP报文过滤方式来限定HostA主机加入的组播组,本例要求HostA接收主机静态加入组播组225.1.1.3。

HostA主机静态加入组播组225.1.1.3的配置方法如下:

[SwitchA]interface vlanif 10

[SwitchA-Vlanif10]igmp static-group225.1.1.3  #---静态加入到IP为225.1.1.3的组播组中

[SwitchA-Vlanif10]quit

即在LSWA上配置静态加入的组播组225.1.1.3即可。

七、IGMP SSM Mapping配置示例

如上图拓扑,同时采用ASM和SSM模式提供组播服务。由于与组播组成员相连的Switch接口上运行IGMPv3,组播组成员主机上运行的是IGMPv2,且不能升级到IGMPv3,因此,该主机在加入组播组时无法指定组播源,必须依靠SSM Mapping来实现。

当前网络中的SSM组播组地址范围是232.1.1.0/24,Source1、Source2和Source3都向该范围内的组播组发送组播数据,而组播组成员想接收来自Source1和Source3的组播数据。

1、基本配置思路分析

本例有两项基本要求:一是通过SSMMapping实现运行IGMPv2的组播组成员可以使用SSM服务;二是通过SSM Mapping的组播组和组播源映射功能,使组播组成员仅可接收特定的指定源组播组数据。当然,首先要进行的也是一个基本组播网络的基本功能配置,如各交换机接口上的PIM-SM功能的使能,并指定相同的RP,以及与组播组成员连接的交换机接口上的IGMP功能。

2、具体配置步骤

(1)配置IP地址和单播路由协议。按照上图标注配置各VLAN接口的IP地址和掩码,并配置各Switch之间采用OSPF进行互连,确保网络中各Switch间能够在网络层互通。

(2)在SwitchD上全局使能组播路由功能,并在各VLAN接口上配置PIM-SM,并在主机侧VLANIF13接口上配置运行IGMPv3。

[SwitchD]multicast routing-enable

[SwitchD]interface vlanif 13

[SwitchD-VLanif13]pim sm

[SwitchD-VLanif13]igmp enable

[SwitchD-VLanif13]igmp version 3

[SwitchD-VLanif13]quit

[SwitchD]interface vlanif21

[SwitchD-VLanif21]pim sm

[SwitchD-VLanif21]quit

[SwitchD]interface vlanif30

[SwitchD-VLanif30]pim sm

[SwitchD-VLanif30]quit

(3)在SwitchA、SwitchB和SwitchC上全局使能组播路由功能,并在各VLAN接口上使能PIM-SM。

[SwitchA]multicast routing-enable

[SwitchA]interface vlanif 10

[SwitchA-Vlanif10]pim sm

[SwitchA-Vlanif10]quit

[SwitchA]interface vlanif 20

[SwitchA-Vlanif20]pim sm

[SwitchA-Vlanif20]quit

[SwitchA]interface vlanif 30

[SwitchA-Vlanif30]pim sm

[SwitchA-Vlanif30]quit

(4)在SwitchD上配置VLANIF30为C-BSR和C-RP。因为本网络中只配置了一个C-BSR和一个C-RP,所以VLANIF30最终会直接成为BSR和RP。

[SwitchD]pim

[SwitchD-pim]c-bsr vlanif 30

[SwitchD-pim]c-rp vlanif 30

[SwitchD-pim]quit

(5)在SwitchD的VLANIF13上使能SSMMapping功能。

[SwitchD]interface vlanif 13

[SwitchD-Vlanif13]igmp SSM-Mapping enable

[SwitchD-Vlanif13]quit

(6)在所有Switch上配置SSM组播组地址范围,以限定组播数据的发送。

[SwitchA]acl number 2000

[SwitchA-acl-basic-2000]rule permit source232.1.1.0 0.0.0.255

[SwitchA-acl-basic-2000]quit

[SwitchA]pim

[SwitchA-pim]ssm-policy 2000

[SwitchA-pim]quit

(7)在连接主机的Switch上配置SSMMapping映射规则,将232.1.1.0/24范围内的组播组映射到组播源Source1和Source3上,以实现组播组成员接收到Source1和Source3发来的组播数据。

[SwitchD]igmp

[SwitchD-igmp]ssm-mapping 232.1.1.0 2410.10.1.1

[SwitchD-igmp]ssm-mapping 232.1.1.0 24 10.10.3.1

[SwitchD-igmp]quit

配置好后,可通过display igmpssm-mapping group命令查看Switch上源和组的映射关系。通过display igmp group ssm-mapping命令查看Switch特定源/组地址的信息。

模拟器实战:

1、首先进行基础配置,配置vlan、端口、IP

2、启动ospf,使单播路由连通:




通过IP路由表和STP树,可以看到,在有环路的网络中,STP自动进行了环路的避免,LSWA至LSWB的链路在STP中是DISCARDING,LSWA上的IP路由表中,到10.10.2.0网段是从LSWD走的。

3、配置各路由器的组播路由功能,配置各VLAN接口的PIM-SM,在D路由器上主机侧配置运行IGMPv3

4、在D上配置VLANIF30为C-BSR和C-RP,在VLANIF13上使能SSM Mapping功能:

5、在所有Switch上配置SSM组播组地址范围,以限定组播数据的发送:

6、在连接主机的Switch上配置SSM Mapping映射规则

八、IGMP Limit配置示例

如上拓扑,该网络中的用户主机通过组播方式接收视频节目。现假设与SwitchA相连网段的HostA上订购了一个长期的组地址为225.1.1.3的节目,要求当网络中的用户主机点播的节目数量达到限制值时不允许再点播新的节目,保证用户已订购节目的接收质量。

1、基本配置思路分析

有两项主要配置

(1)为组播组成员HostA配置静态加入组播组225.1.1.3,使该用户能长期接收发往组播组225.1.1.3的数据。

(2)采用IGMP Limit功能来限制连接订购节目的用户的交换机上配置的组成员关系数量,以保证用户已订购节目的接收质量。

2、具体配置步骤

(1)配置各Switch接口IP地址和单播路由协议。按照上图标注,配置各VLAN接口的IP地址和掩码,并配置各Switch之间采用OSPF进行互连,确保网络中各Switch间能够在网络层互通。

(2)全局使能组播路由功能,并在所有VLAN接口上使能PIM-SM功能,同时以SwitchD上的GE0/0/4接口为静态RP。

[SwitchA]multicast routing-enable

[SwitchA]interface valnif 10

[SwitchA-Vlanif10]pim sm

[SwitchA-Vlanif10]quit

[SwitchA]interface valnif 11

[SwitchA-Vlanif11]pim sm

[SwitchA-Vlanif11]quit

[SwitchA]pim

[SwitchA-pim]static-rp 192.168.4.1

[SwitchA-pim]quit

(3)配置SwitchA、SwitchB和SwitchC的组播组成员侧接口使能IGMP。

[SwitchA]interface vlanif 10

[SwitchA-Vlanif10]igmp enable

(4)将SwitchA的组播组成员侧接口静态加入组播组225.1.1.3,使用户能长期接收发往组播组225.1.1.3的数据。

[SwitchA-Vlanif10]igmp static-group225.1.1.3

[SwitchA-Vlanif10]quit

(5)在连接已订阅节目用户的最后一跳交换机上配置IGMP组成员关系个数限制。本例需在SwitchA上配置,假设总共可以创建50个IGMP组成员关系。

[SwitchA]igmp global limit 50

还可以在具体的接口(如VLANIF10)上配置总共可以创建的IGMP组成员关系数量,假设为30个(肯定要小于SWitchA上全局的成员关系限制数)。

[SwitchA]interface vlanif 10

[SwitchA-Vlanif10]igmp limit 30

[SwitchA-Vlanif10]quit

如果还要保证SwitchB和SwitchC上已订阅节目用户的接收质量,可按照上面SwitchA上HostA配置方法配置静态加入组播组,并配置IGMP Limit功能。

配置好后,可通过命令查看交换机接口上IGMP的配置和运行情况:

模拟:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IP组播配置与管理实战——1 的相关文章

  • 在 Git 中推送提交时消息“src refspec master does not match any”

    问 xff1a 我克隆我的存储库 xff1a git clone ssh span class token operator span span class token operator span span class token oper
  • Qt编译、链接和运行参数的设置

    Qt编译 链接和运行参数的设置 Qt笔记 使用 Qt Creator 集成开发环境构建和运行程序是一件非常简单的事情 xff0c 一个按钮或者一个快捷键搞定全部 xff0c 通过 Qt Creator使用教程 xff08 简明版 xff09
  • 常用Linux命令行技巧

    结果以表格形式输出 column t 比如 xff1b span class token function mount span span class token operator span column t 默认分隔符为空格 xff0c
  • CV往哪卷?李飞飞指出三颗「北极星」:具身智能,视觉推理和场景理解

    点击下方卡片 xff0c 关注 CVer 公众号 AI CV重磅干货 xff0c 第一时间送达 转载自 xff1a 新智元 编辑 xff1a LRS 导读 ImageNet见证了计算机视觉发展的辉煌历程 xff0c 在部分任务性能已超越人类
  • Java异常处理的九个最佳实践

    1 确保在Finally程序块中完成资源释放或者使用Try With语句 比如对于InputStream xff0c 当我们使用完毕 xff0c 我们要确保资源被正确关闭 xff0c 比如下面我们常见的错误用法 xff0c 不要在try模块
  • CodeMirror使用笔记

    最近因工作需要 xff0c 在项目中使用了CodeMirror代码编辑器 xff0c 以下是使用笔记 首先 xff0c 看下最终的效果 引入基本的需要资源 lt script src 61 34 lt 61 request getConte
  • JAVA注解

    Java注解Annotations主要用于为目标程序提供额外补充的说明信息 注解以 64 符号标识注解并不改变编译程序的行为注意可以为程序元素 xff1a 实例变量 构造方法 方法或者类添加元数据信息注解并不是单纯的注释 xff0c 但却可
  • ubuntu中GitLab的安装与配置

    这里 xff0c 我们采用离线安装的方式安装GitLab 首先 xff0c 我们从清华大学开源软件镜像站中下载软件包 xff0c 用户可根据实际的服务器操作系统版本来选择不同的镜像资源 xff0c 这里我们以ubuntu为例 执行命令sud
  • Jenkins使用笔记

    本章简单记录Jenkins的使用笔记 首先 xff0c 我们从官网中下载安装介质 xff0c 可以看到这里有适合各种操作系统版本的安装源介质 xff0c 简单起见 xff0c 我们直接下载一个通用的war程序包 执行命令java jar j
  • GitLab 与 Jenkins 持续集成实践

    首先 xff0c 我们简单说明下我们的部署环境 xff1a GitLab xff1a 192 168 43 61 Jenkins xff1a 192 168 43 116 Jenkins中系统设置中 xff0c 配置GitLab连接信息 x
  • Linux下免密认证登录失败原因总结

    事件背景 A机器已经生产rsa密钥且已经将public key添加到B机器 root ssh authorized keys xff0c 但是从A机器上ssh root 64 B机器时仍然需要输入密码 xff0c 即无密码认证失败 原因总结
  • 公钥添加到authorized_keys到文件中之后仍无法免密登陆

    接上一章 xff0c 关于Linux下免密登陆失败 xff0c 这里找了Stackoverflow上关于这个问题的讨论 xff1a Adding public key to ssh authorized keys does not log
  • Java 8 中的List排序

    按字母顺序排序字符串列表 List lt String gt cities 61 Arrays asList 34 Milan 34 34 london 34 34 San Francisco 34 34 Tokyo 34 34 New D
  • Microservices vs SOA - 微服务与SOA

    开始之前 xff0c 我们先简单看下单体架构 SOA与微服务之间的区别 xff0c 如下图所示 xff1a 简单来讲 xff0c 对于单体架构 xff0c 其就像一个超大容器 xff0c 容器内集中包含了该应用的所有软件组件 xff0c 并
  • Python 机器学习8:sklearn 聚类算法

    1 K Means算法是一种广泛使用的聚类算法 from sklearn cluster import KMeans K Means是聚焦于相似的无监督的算法 xff0c 以距离作为数据对象间相似性度量的标准 xff0c 即数据对象间的距离
  • 什么是微服务——微服务架构体系介绍

    Why Microservices 回答这个问题前 xff0c 我们先看下之前大行其道的单体架构 Monolithic Architecture xff0c 对于非专业人士来讲 xff0c 所谓的单体架构 xff0c 其就像一个超大容器 x
  • 微服务架构特征

    一个典型的微服务架构 xff08 MSA xff09 通常包含以下组件 xff1a 客户端 xff1a 微服务架构着眼于识别各种不同的类型的设备 xff0c 以及在此设备上进行的各种管理操作 xff1a 搜索 构建 配置等等身份标识提供者
  • 微服务架构系列——API服务网关

    本章我们简单介绍微服务架构下的API服务网关 xff0c 本章我们将讨论以下话题 xff1a 什么是API服务网关为什么需要API服务网关API服务网关的工作机制 处理横切关注点 当我们在开发设计大型软件应用时 xff0c 我们一般都会采用
  • Java之keytool命令学习

    Java Keytool is a key and certificate management utility It allows users to manage their own public private key pairs an
  • HashMap 与 HashTable的区别

    HashMap 实现了Map接口非线程同步 xff0c 非线程安全不允许重复键键和值均允许为null HashMap lt Interger String gt employeeHashmap 61 new HashMap lt Integ

随机推荐

  • 如何避免敏捷失败?

    很多人都听说敏捷 xff0c 有些人知道敏捷是什么 xff0c 有些人也尝试过敏捷 xff0c 本章中将列举出一些常见的错误敏捷实践 xff0c 如果想要避免敏捷失败 xff0c 建议还是要对照下你所在的敏捷团队中有没有类似的敏捷实践 xf
  • 一个人有文化,到底有多重要?

    关于什么是文化 xff0c 我最最欣赏的回答 xff0c 是作家梁晓声的四句概括 xff1a 根植于内心的修养 xff0c 无需提醒的自觉 xff0c 以约束为前提的自由 xff0c 为别人着想的善良 01 一位叫做 Judy 的空姐 xf
  • MyBatis动态SQL中Map参数处理

    在MyBatis中 xff0c 如果我们需要传递两个参数 xff0c 有一种方式是通过Map作为传入参数 xff0c 在动态SQL中 xff0c 我们需要对传入的Map参数中的值进行判断 xff0c 然后进行动态SQL的条件拼接处理 假设我
  • MyBatis框架下防止SQL注入

    与传统的ORM框架不同 xff0c MyBatis使用XML描述符将对象映射到SQL语句或者存储过程中 xff0c 这种机制可以让我们更大的灵活度通过SQL来操作数据库对象 xff0c 因此 xff0c 我们必须小心这种便利下SQL注入的可
  • 使用android 视频解码mediaCodec碰到的几个问题

    问题1 mediaCodec dequeueInputBuffer一直返回 1 xff0c APP现象 xff1a 视屏卡屏 原因 xff1a 这是因为inputbuffer的内容有误 xff0c 导致无法解码 可通过设延时时间解决 xff
  • 云计算思维导图

    根据近期的云计算学习心得 xff0c 将云计算部分内容制作成思维导图 xff0c 方便于广大云计算学习者作为辅导讲义 xff01 思维导图内容主要包含 xff1a 1 云计算概述 2 云体系结构 3 网络资源 4 存储资源 5 硬件介绍 6
  • 路由器重温——串行链路链路层协议积累

    对于广域网接口来说 xff0c 主要的不同或者说主要的复杂性在于理解不同接口的物理特性以及链路层协议 xff0c 再上层基本都是 IP 协议 xff0c 基本上都是相同的 WAN口中的serial接口主要使用点对点的链路层协议有 xff0c
  • 路由器重温——PPPoE配置管理-2

    四 配置设备作为PPPoE服务器 路由器的PPPoE服务器功能可以配置在物理以太网接口或 PON 接口上 xff0c 也可配置在由 ADSL 接口生成的虚拟以太网接口上 1 配置虚拟模板接口 虚拟模板接口VT和以太网接口或PON接口绑定后
  • Python入门自学进阶——1--装饰器

    理解装饰器 xff0c 先要理解函数和高阶函数 首先要明白 xff0c 函数名就是一个变量 xff0c 如下图 xff0c 定义一个变量名和定义一个函数 xff0c 函数名与变量名是等价的 既然函数名就是一个变量名 xff0c 那么在定义函
  • Python入门自学进阶-Web框架——21、DjangoAdmin项目应用

    客户关系管理 以admin项目为基础 xff0c 扩展自己的项目 一 创建项目 二 配置数据库 xff0c 使用mysql数据库 xff1a 需要安全mysqlclient模块 xff1a pip install mysqlclient D
  • Python入门自学进阶-Web框架——33、瀑布流布局与组合查询

    一 瀑布流 xff0c 是指页面布局中 xff0c 在显示很多图片时 xff0c 图片及文字大小不相同 xff0c 导致页面排版不美观 如上图 xff0c 右边的布局 xff0c 因为第一行第一张图片过长 xff0c 第二行的第一张被挤到第
  • Python入门自学进阶-Web框架——34、富文本编辑器KindEditor、爬虫初步

    KindEditor 是一个轻量级的富文本编辑器 xff0c 应用于浏览器客户端 一 首先是下载 xff1a http kindeditor net down php xff0c 如下图 下载后是 解压缩后 xff1a 红框选中的都可以删除
  • Python入门自学进阶-Web框架——35、网络爬虫使用

    自动从网上抓取信息 xff0c 就是获取相应的网页 xff0c 对网页内容进行抽取整理 xff0c 获取有用的信息 xff0c 保存下来 要实现网上爬取信息 xff0c 关键是模拟浏览器动作 xff0c 实现自动向网址发送请求 xff0c
  • 6、spring的五种类型通知

    spring共提供了五种类型的通知 xff1a 通知类型接口描述Around 环绕通知org aopalliance intercept MethodInterceptor拦截对目标方法调用Before 前置通知org springfram
  • 路由器接口配置与管理——1

    路由器的接口相对于交换机来说最大的特点就是接口类型和配置更为复杂 xff0c 一般吧路由器上的接口分为三大类 xff1a 一类用于局域网的LAN接口 xff0c 一类用于广域网接入 互联的WAN接口 xff0c 最后一类可以应用于LAN组网
  • 路由配置与管理——静态路由配置与管理

    静态路由是一种最简单的路由 xff0c 需手工配置 xff0c 用一条指令指定静态路由的目的IP地址 子网掩码 下一跳IP地址 xff0c 或者出接口 优先级等主要参数值就可以了 还可根据实际需要配置静态路由与BFD或者NQA的联动 一 路
  • TCP实现局域网通信

    TCP实现局域网通信 TCP客户端通信步骤 xff1a 1 xff1a 创建套接字 sockfd 61 socket AF INET SOCK STREAM 0 2 xff1a 填写服务器结构体信息 span class token key
  • 路由策略和策略路由配置与管理-1

    路由策略和策略路由配置与管理 路由策略 与 策略路由 之间的区别就在于它们的主体 xff08 或者说 作用对象 xff09 不同 xff0c 前者的主体是 路由 xff0c 是对符合条件的路由 xff08 主要 xff09 通过修改路由属性
  • IP组播基础及工作原理——1

    IP组播在一些多用户定向发送的网络应用中使用非常普遍 xff0c 如远程多媒体会议 远程教学 视频点播 定向电子商务 xff0c 以及ISP的IPTV xff08 网络电视 xff09 等 学好IP组播基础知识及配置与管理方法 xff0c
  • IP组播配置与管理实战——1

    IGMP 配置与管理 IGMP xff08 InternetGroup Management Protocol xff0c 因特网组管理协议 xff09 是TCP IP 协议族 中负责IPv4组播成员管理 的协议 xff0c 需要在组播组成