华为Eth-Trunk级联堆叠接入IPTV网络部署案例
Eth-Trunk级联堆叠接入IPTV网络部署案例
组网图形
方案简介
随着IPTV业务的迅速发展,IPTV平台承载的用户也越来越多,用户对IPTV直播业务的可靠性要求越来越高。IPTV作为视频类业务,最终用户对业务体验的连续性要求极高,需要保障日常维护中的用户业务体验连续,在重大事件保障、重大版本升级保障中保证业务的延续性。
如图1所示是某个地区广电基本组网图。为了保证广电直播流的质量,广电组播源服务器发送的直播流需要先转发到MRF转码服务器进行转码,然后由转码服务器再转发给接收者。转码服务器通过Eth-Trunk级联堆叠的方式接入IPTV组网,提高网络可靠性。
- 组播源服务器发送的组播流正常转发路径是:Core->PE1->Stack->CDN->转码服务器。
- 转码服务器转换后的组播流正常转发路径是:转码服务器->CDN->Stack->PE1->AGG->ACC1和ACC2。
- 录制服务器到接收者单播流正常转发路径是:录制服务器->CDN->Stack->PE1->AGG->ACC1和ACC2。
配置注意事项
本举例中Core、PE1和PE2使用框式交换机为例,其他设备以盒式交换机为例。本举例中的交换机可以使用S系列交换机所有产品。
组网需求
如图2所示为某地区IPTV组网图,接收者可以点播直播节目,也可以回看电视节目。具体需求如下:
- 组播源服务器发送的组播直播流,先转发到CDN服务器转码录制后,再转发给接收者。
- 接收者也可以通过单播方式回看电视节目。
- 通过部署三层组播、二三层组播混跑和IGMP Snooping功能,实现组播流转发。
- 通过OSPF协议实现三层流量互通。Stack与PE1、PE2通过OSPF 1区域1建立邻居关系,Core与PE1、PE2通过OSPF 1区域0建立邻居关系。
- 为保证接入安全,Stack通过流策略限制组播源服务器的接入。
数据规划
参数项 | 描述 |
---|---|
VLAN 33 | ACC1下挂用户所属的VLAN。 |
VLAN 34 | ACC2下挂用户所属的VLAN。 |
VLAN 88 | 用户回看节目使用的VLAN。 |
VLAN 400 | 组播直播流转码后使用的VLAN。 |
VLAN 530 | 组播直播流未转码前使用的VLAN。 |
产品名称 | 参数项 | 描述 |
---|---|---|
Core | GE1/0/1:66.1.1.3/24 | 上行连接组播源服务器的三层接口。 |
GE1/0/2:20.1.1.3/24 | 连接PE2的三层接口。 | |
GE1/0/3:12.1.1.2/24 | 连接PE1的三层接口。 | |
LoopBack0:1.1.1.3 | - | |
PE1 | GE1/0/2:12.1.1.1/24 | 上行连接Core的三层接口。 |
GE1/0/3:60.1.1.1/24 | 连接PE2的三层接口。 | |
Vlanif10:10.1.1.1/24,对应的接口是Eth-Trunk2 | 连接Stack的接口。Eth-Trunk2绑定的物理接口是GE1/0/6和GE1/0/7。 | |
Vlanif11:11.1.1.1/24,对应物理接口是GE1/0/4 | 连接AGG的接口。 | |
LoopBack0:1.1.1.1 | - | |
PE2 | GE1/0/2:20.1.1.2/24 | 上行连接Core的三层接口。 |
GE1/0/3:60.1.1.2/24 | 连接PE1的三层接口。 | |
Vlanif21:21.1.1.1/24,对应的接口是Eth-Trunk3 | 连接Stack的接口。Eth-Trunk3绑定的物理接口是GE1/0/6和GE1/0/7 | |
Vlanif22:22.1.1.2/24,对应物理接口是GE1/0/4 | 连接AGG的接口。 | |
LoopBack0:1.1.1.2 | - | |
AGG | Vlanif11:11.1.1.8/24,对应物理接口是GE0/0/4 | 连接PE1的接口。 |
Vlanif22:22.1.1.8/24,对应物理接口是GE0/0/5 | 连接PE2的接口。 | |
Vlanif33:33.1.1.8/24,对应物理接口是GE0/0/1 | 连接ACC1的接口。 | |
Vlanif34:34.1.1.8/24,对应物理接口是GE0/0/2 | 连接ACC2的接口。 | |
LoopBack0:1.1.1.4 | - | |
Stack | Vlanif10:10.1.1.2/24,对应的接口是Eth-Trunk2 | 连接PE1的接口。Eth-Trunk2绑定的物理接口是GE0/0/6和GE1/0/6。 |
Vlanif88:88.1.1.7/24,对应物理接口是GE0/0/2 | 用于与录制服务器通信。 | |
Vlanif21:21.1.1.2/24,对应的接口是Eth-Trunk3 | 连接PE2的接口。Eth-Trunk3绑定的物理接口是GE0/0/8和GE1/0/8。 | |
Vlanif400:4.1.1.2/24,对应物理接口是GE0/0/2 | 用于与转码后的服务器通信。 | |
Vlanif530:5.1.1.2/24,对应物理接口是GE0/0/2 | 用于与转前的服务器通信。 |
配置思路
采用如下的思路进行配置:
- 创建VLAN并配置各接口所属VLAN。
- 配置各VLANIF接口的IP地址。
- 配置OSPF功能,实现三层互通。
- 配置三层组播功能。
- 配置IGMP Snooping二层组播功能。
- 配置流策略,控制组播源的接入。
操作步骤
创建VLAN并配置各接口所属VLAN# 在ACC1上创建VLAN,并将接口加入VLAN。
<HUAWEI> system-view
[HUAWEI] sysname ACC1
[ACC1] vlan batch 33
[ACC1] interface gigabitethernet 0/0/1
[ACC1-GigabitEthernet0/0/1] description ACC1***to***AGG
[ACC1-GigabitEthernet0/0/1] port link-type trunk
[ACC1-GigabitEthernet0/0/1] port trunk allow-pass vlan 33
[ACC1-GigabitEthernet0/0/1] quit
[ACC1] interface gigabitethernet 0/0/2
[ACC1-GigabitEthernet0/0/2] port link-type access
[ACC1-GigabitEthernet0/0/2] port default vlan 33
[ACC1-GigabitEthernet0/0/2] quit
[ACC1] interface gigabitethernet 0/0/3
[ACC1-GigabitEthernet0/0/3] port link-type access
[ACC1-GigabitEthernet0/0/3] port default vlan 33
[ACC1-GigabitEthernet0/0/3] quit
# 在ACC2上创建VLAN,并将接口加入VLAN。
<HUAWEI> system-view
[HUAWEI] sysname ACC2
[ACC2] vlan batch 34
[ACC2] interface gigabitethernet 0/0/1
[ACC2-GigabitEthernet0/0/1] description ACC2***to***AGG
[ACC2-GigabitEthernet0/0/1] port link-type trunk
[ACC2-GigabitEthernet0/0/1] port trunk allow-pass vlan 34
[ACC2-GigabitEthernet0/0/1] quit
[ACC2] interface gigabitethernet 0/0/2
[ACC2-GigabitEthernet0/0/2] port link-type access
[ACC2-GigabitEthernet0/0/2] port default vlan 34
[ACC2-GigabitEthernet0/0/2] quit
[ACC2] interface gigabitethernet 0/0/3
[ACC2-GigabitEthernet0/0/3] port link-type access
[ACC2-GigabitEthernet0/0/3] port default vlan 34
[ACC2-GigabitEthernet0/0/3] quit
# 在AGG上创建VLAN,并将接口加入VLAN。
<HUAWEI> system-view
[HUAWEI] sysname AGG
[AGG] vlan batch 11 22 33 34
[AGG] interface gigabitethernet 0/0/1
[AGG-GigabitEthernet0/0/1] description AGG***to***ACC1
[AGG-GigabitEthernet0/0/1] port link-type trunk
[AGG-GigabitEthernet0/0/1] port trunk allow-pass vlan 33
[AGG-GigabitEthernet0/0/1] quit
[AGG] interface gigabitethernet 0/0/2
[AGG-GigabitEthernet0/0/2] description AGG***to***ACC2
[AGG-GigabitEthernet0/0/2] port link-type trunk
[AGG-GigabitEthernet0/0/2] port trunk allow-pass vlan 34
[AGG-GigabitEthernet0/0/2] quit
[AGG] interface gigabitethernet 0/0/4
[AGG-GigabitEthernet0/0/4] description AGG***to***PE1
[AGG-GigabitEthernet0/0/4] port link-type trunk
[AGG-GigabitEthernet0/0/4] port trunk allow-pass vlan 11
[AGG-GigabitEthernet0/0/4] quit
[AGG] interface gigabitethernet 0/0/4
[AGG-GigabitEthernet0/0/4] description AGG***to***PE2
[AGG-GigabitEthernet0/0/4] port link-type trunk
[AGG-GigabitEthernet0/0/4] port trunk allow-pass vlan 22
[AGG-GigabitEthernet0/0/4] quit
# 在PE1上创建VLAN,并将接口加入VLAN。
<HUAWEI> system-view
[HUAWEI] sysname PE1
[PE1] vlan batch 10 11
[PE1] interface eth-trunk2
[PE1-Eth-Trunk1] description PE1***to***Stack
[PE1-Eth-Trunk1] port link-type access
[PE1-Eth-Trunk1] port default vlan 10
[PE1-Eth-Trunk1] trunkport gigabitethernet 1/0/6
[PE1-Eth-Trunk1] trunkport gigabitethernet 1/0/7
[PE1-Eth-Trunk1] quit
[PE1] interface gigabitethernet 1/0/4
[PE1-GigabitEthernet1/0/4] description PE1***to***AGG
[PE1-GigabitEthernet1/0/4] port link-type trunk
[PE1-GigabitEthernet1/0/4] port trunk allow-pass vlan 11
[PE1-GigabitEthernet1/0/4] quit
# 在PE2上创建VLAN,并将接口加入VLAN。
<HUAWEI> system-view
[HUAWEI] sysname PE2
[PE2] vlan batch 21 22
[PE2] interface eth-trunk2
[PE2-Eth-Trunk1] description PE2***to***Stack
[PE2-Eth-Trunk1] port link-type access
[PE2-Eth-Trunk1] port default vlan 21
[PE2-Eth-Trunk1] trunkport gigabitethernet 1/0/6
[PE2-Eth-Trunk1] trunkport gigabitethernet 1/0/7
[PE2-Eth-Trunk1] quit
[PE2] interface gigabitethernet 1/0/4
[PE2-GigabitEthernet1/0/4] description PE2***to***AGG
[PE2-GigabitEthernet1/0/4] port link-type trunk
[PE2-GigabitEthernet1/0/4] port trunk allow-pass vlan 22
[PE2-GigabitEthernet1/0/4] quit
# 在Stack上创建VLAN,并将接口加入VLAN。
<HUAWEI> system-view
[HUAWEI] sysname Stack
[Stack] vlan batch 10 21 88 301 400 530
[Stack] interface eth-trunk1
[Stack-Eth-Trunk1] description Stack***to***CDN
[Stack-Eth-Trunk1] port link-type trunk
[Stack-Eth-Trunk1] port trunk allow-pass vlan 88 301 400 530
[Stack-Eth-Trunk1] trunkport gigabitethernet 0/0/1
[Stack-Eth-Trunk1] trunkport gigabitethernet 1/0/1
[Stack-Eth-Trunk1] quit
[Stack] interface eth-trunk2
[Stack-Eth-Trunk2] description Stack***to***PE1
[Stack-Eth-Trunk2] port link-type access
[Stack-Eth-Trunk2] port default vlan 10
[Stack-Eth-Trunk2] trunkport gigabitethernet 0/0/6
[Stack-Eth-Trunk2] trunkport gigabitethernet 1/0/6
[Stack-Eth-Trunk2] quit
[Stack] interface eth-trunk3
[Stack-Eth-Trunk3] description Stack***to***PE2
[Stack-Eth-Trunk3] port link-type access
[Stack-Eth-Trunk3] port default vlan 21
[Stack-Eth-Trunk3] trunkport gigabitethernet
[Stack-Eth-Trunk3] trunkport gigabitethernet 1/0/8
[Stack-Eth-Trunk3] quit
# 在CDN上创建VLAN,并将接口加入VLAN。
<HUAWEI> system-view
[HUAWEI] sysname CDN
[CDN] vlan batch 88 301 400 530
[CDN] interface eth-trunk1
[CDN-Eth-Trunk1] description CDN***to***Stack
[CDN-Eth-Trunk1] port link-type trunk
[CDN-Eth-Trunk1] port trunk allow-pass vlan 88 301 400 530
[CDN-Eth-Trunk1] trunkport gigabitethernet 0/0/1
[CDN-Eth-Trunk1] trunkport gigabitethernet 0/0/2
[CDN-Eth-Trunk1] quit
[CDN] interface gigabitethernet 0/0/3
[CDN-GigabitEthernet0/0/3] description CDN***to***HMS-Server
[CDN-GigabitEthernet0/0/3] port link-type access
[CDN-GigabitEthernet0/0/3] port default vlan 88
[CDN-GigabitEthernet0/0/3] quit
[CDN] interface gigabitethernet 0/0/4
[CDN-GigabitEthernet0/0/4] description CDN***to***MRF-IN
[CDN-GigabitEthernet0/0/4] port link-type access
[CDN-GigabitEthernet0/0/4] port default vlan 400
[CDN-GigabitEthernet0/0/4] quit
[CDN] interface gigabitethernet 0/0/4
[CDN-GigabitEthernet0/0/4] description CDN***to***MRF-OUT
[CDN-GigabitEthernet0/0/4] port link-type access
[CDN-GigabitEthernet0/0/4] port default vlan 530
[CDN-GigabitEthernet0/0/4] quit
配置各接口的IP地址# 在Core配置接口的IP地址。
<HUAWEI> system-view
[HUAWEI] sysname Core
[Core] interface gigabitethernet 1/0/1
[Core-GigabitEthernet1/0/1] undo portswitch
[Core-GigabitEthernet1/0/1] description Core***to***Sever
[Core-GigabitEthernet1/0/1] ip address 66.1.1.3 255.255.255.0
[Core-GigabitEthernet1/0/1] quit
[Core] interface gigabitethernet 1/0/2
[Core-GigabitEthernet1/0/2] undo portswitch
[Core-GigabitEthernet1/0/2] description Core***to***PE2
[Core-GigabitEthernet1/0/2] ip address 20.1.1.3 255.255.255.0
[Core-GigabitEthernet1/0/2] quit
[Core] interface gigabitethernet 1/0/3
[Core-GigabitEthernet1/0/3] undo portswitch
[Core-GigabitEthernet1/0/3] description Core***to***PE1
[Core-GigabitEthernet1/0/3] ip address 12.1.1.2 255.255.255.0
[Core-GigabitEthernet1/0/3] quit
[Core] interface LoopBack0
[Core-LoopBack0] ip address 1.1.1.3 255.255.255.255
[Core-LoopBack0] quit
# 在PE1配置接口的IP地址。
[PE1] interface vlanif 10
[PE1-Vlanif10] description to***Stack
[PE1-Vlanif10] ip address 10.1.1.1 255.255.255.0
[PE1-Vlanif10] quit
[PE1] interface vlanif 11
[PE1-Vlanif11] description to***AGG
[PE1-Vlanif11] ip address 11.1.1.1 255.255.255.0
[PE1-Vlanif11] quit
[PE1] interface gigabitethernet 1/0/2
[PE1-GigabitEthernet1/0/2] undo portswitch
[PE1-GigabitEthernet1/0/2] description PE1***to***Core
[PE1-GigabitEthernet1/0/2] ip address 12.1.1.1 255.255.255.0
[PE1-GigabitEthernet1/0/2] quit
[PE1] interface gigabitethernet 1/0/3
[PE1-GigabitEthernet1/0/3] undo portswitch
[PE1-GigabitEthernet1/0/3] description PE1***to***PE2
[PE1-GigabitEthernet1/0/3] ip address 60.1.1.1 255.255.255.0
[PE1-GigabitEthernet1/0/3] quit
[PE1] interface LoopBack0
[PE1-LoopBack0] ip address 1.1.1.1 255.255.255.255
[PE1-LoopBack0] quit
# 在PE2配置接口的IP地址。
[PE2] interface vlanif 21
[PE2-Vlanif10] description to***Stack
[PE2-Vlanif10] ip address 21.1.1.1 255.255.255.0
[PE2-Vlanif10] quit
[PE2] interface vlanif 22
[PE2-Vlanif22] description to***AGG
[PE2-Vlanif22] ip address 22.1.1.2 255.255.255.0
[PE2-Vlanif22] quit
[PE2] interface gigabitethernet 1/0/2
[PE2-GigabitEthernet1/0/2] undo portswitch
[PE2-GigabitEthernet1/0/2] description PE2***to***Core
[PE2-GigabitEthernet1/0/2] ip address 20.1.1.2 255.255.255.0
[PE2-GigabitEthernet1/0/2] quit
[PE2] interface gigabitethernet 1/0/3
[PE2-GigabitEthernet1/0/3] undo portswitch
[PE2-GigabitEthernet1/0/3] description PE2***to***PE1
[PE2-GigabitEthernet1/0/3] ip address 60.1.1.2 255.255.255.0
[PE2-GigabitEthernet1/0/3] quit
[PE2] interface LoopBack0
[PE2-LoopBack0] ip address 1.1.1.2 255.255.255.255
[PE2-LoopBack0] quit
# 在AGG配置接口的IP地址。
[AGG] interface vlanif 11
[AGG-Vlanif11] description to***PE1
[AGG-Vlanif11] ip address 11.1.1.8 255.255.255.0
[AGG-Vlanif11] quit
[AGG] interface vlanif 22
[AGG-Vlanif22] description to***PE2
[AGG-Vlanif22] ip address 22.1.1.8 255.255.255.0
[AGG-Vlanif22] quit
[AGG] interface vlanif 33
[AGG-Vlanif33] description to***ACC1
[AGG-Vlanif33] ip address 33.1.1.8 255.255.255.0
[AGG-Vlanif33] quit
[AGG] interface vlanif 34
[AGG-Vlanif34] description to***ACC2
[AGG-Vlanif34] ip address 34.1.1.8 255.255.255.0
[AGG-Vlanif34] quit
[AGG] interface LoopBack0
[AGG-LoopBack0] ip address 1.1.1.4 255.255.255.255
[AGG-LoopBack0] quit
# 在Stack配置接口的IP地址。
[Stack] interface vlanif 10
[Stack-Vlanif10] description to***PE1
[Stack-Vlanif10] ip address 10.1.1.2 255.255.255.0
[Stack-Vlanif10] quit
[Stack] interface vlanif 21
[Stack-Vlanif10] description to***PE2
[Stack-Vlanif10] ip address 21.1.1.2 255.255.255.0
[Stack-Vlanif10] quit
[Stack] interface vlanif 88
[Stack-Vlanif88] description to***HMS
[Stack-Vlanif88] ip address 88.1.1.7 255.255.255.0
[Stack-Vlanif88] quit
[Stack] interface vlanif 301
[Stack-Vlanif301] description to***LSW2
[Stack-Vlanif301] ip address 31.1.1.1 255.255.255.0
[Stack-Vlanif301] quit
[Stack] interface vlanif 400
[Stack-Vlanif400] description to***MRF IN
[Stack-Vlanif400] ip address 4.1.1.2 255.255.255.0
[Stack-Vlanif400] quit
[Stack] interface vlanif 530
[Stack-Vlanif530] description to***MRF OUT
[Stack-Vlanif530] ip address 5.1.1.2 255.255.255.0
[Stack-Vlanif530] quit
配置OSPF功能# 在Core配置OSPF功能。
[Core] ospf 1
[Core-ospf-1] area 0
[Core-ospf-1-area-0.0.0.0] quit
[Core-ospf-1] quit
[Core] interface gigabitethernet 1/0/1
[Core-GigabitEthernet1/0/1] ospf enable 1 area 0.0.0.0
[Core-GigabitEthernet1/0/1] quit
[Core] interface gigabitethernet 1/0/2
[Core-GigabitEthernet1/0/2] ospf enable 1 area 0.0.0.0
[Core-GigabitEthernet1/0/2] quit
[Core] interface gigabitethernet 1/0/3
[Core-GigabitEthernet1/0/3] ospf enable 1 area 0.0.0.0
[Core-GigabitEthernet1/0/3] quit
[Core] interface LoopBack0
[Core-LoopBack0] ospf enable 1 area 0.0.0.0
[Core-LoopBack0] quit
# 在PE1配置OSPF功能。
[PE1] ospf 1
[PE1-ospf-1] area 0
[PE1-ospf-1-area-0.0.0.0] quit
[PE1-ospf-1] area 1
[PE1-ospf-1-area-0.0.0.1] nssa
[PE1-ospf-1-area-0.0.0.1] quit
[PE1-ospf-1] quit
[PE1] interface vlanif 10
[PE1-Vlanif10] ospf enable 1 area 0.0.0.1
[PE1-Vlanif10] quit
[PE1] interface vlanif 11
[PE1-Vlanif11] ospf enable 1 area 0.0.0.0
[PE1-Vlanif11] quit
[PE1] interface gigabitethernet 1/0/2
[PE1-GigabitEthernet1/0/2] ospf enable 1 area 0.0.0.0
[PE1-GigabitEthernet1/0/2] quit
[PE1] interface gigabitethernet 1/0/3
[PE1-GigabitEthernet1/0/3] ospf enable 1 area 0.0.0.0
[PE1-GigabitEthernet1/0/3] quit
[PE1] interface LoopBack0
[PE1-LoopBack0] ospf enable 1 area 0.0.0.0
[PE1-LoopBack0] quit
# 在PE2配置OSPF功能。
[PE2] ospf 1
[PE2-ospf-1] area 0
[PE2-ospf-1-area-0.0.0.0] quit
[PE2-ospf-1] area 1
[PE2-ospf-1-area-0.0.0.1] nssa
[PE2-ospf-1-area-0.0.0.1] quit
[PE2-ospf-1] quit
[PE2] interface vlanif 21
[PE2-Vlanif10] ospf enable 1 area 0.0.0.1
[PE2-Vlanif10] quit
[PE2] interface vlanif 22
[PE2-Vlanif22] ospf enable 1 area 0.0.0.0
[PE2-Vlanif22] quit
[PE2] interface gigabitethernet 1/0/2
[PE2-GigabitEthernet1/0/2] ospf enable 1 area 0.0.0.0
[PE2-GigabitEthernet1/0/2] quit
[PE2] interface gigabitethernet 1/0/3
[PE2-GigabitEthernet1/0/3] ospf enable 1 area 0.0.0.0
[PE2-GigabitEthernet1/0/3] quit
[PE2] interface LoopBack0
[PE2-LoopBack0] ospf enable 1 area 0.0.0.0
[PE2-LoopBack0] quit
# 在AGG配置OSPF功能,同时修改优先级,进行路由备份。
[AGG] ospf 1
[AGG-ospf-1] area 0
[AGG-ospf-1-area-0.0.0.0] quit
[AGG-ospf-1] quit
[AGG] interface vlanif 11
[AGG-Vlanif11] ospf enable 1 area 0.0.0.0
[AGG-Vlanif11] quit
[AGG] interface vlanif 22
[AGG-Vlanif22] ospf cost 10000
[AGG-Vlanif22] ospf enable 1 area 0.0.0.0
[AGG-Vlanif22] quit
[AGG] interface vlanif 33
[AGG-Vlanif33] ospf enable 1 area 0.0.0.0
[AGG-Vlanif33] quit
[AGG] interface vlanif 34
[AGG-Vlanif34] ospf enable 1 area 0.0.0.0
[AGG-Vlanif34] quit
[AGG] interface LoopBack0
[AGG-LoopBack0] ospf enable 1 area 0.0.0.0
[AGG-LoopBack0] quit
# 在Stack配置OSPF功能。
[Stack] interface vlanif 10
[Stack-Vlanif10] ospf enable 1 area 0.0.0.1
[Stack-Vlanif10] quit
[Stack] interface vlanif 21
[Stack-Vlanif10] ospf enable 1 area 0.0.0.1
[Stack-Vlanif10] quit
[Stack] interface vlanif 301
[Stack-Vlanif301] ospf network-type p2p
[Stack-Vlanif301] ospf timer hello 1
[Stack-Vlanif301] quit
[Stack] ospf 1 router-id 192.168.1.1
[Stack-ospf-1] default-route-advertise
[Stack-ospf-1] silent-interface Vlanif88
[Stack-ospf-1] silent-interface Vlanif530
[Stack-ospf-1] silent-interface Vlanif400
[Stack-ospf-1] area 1
[Stack-ospf-1-area-0.0.0.1] network 5.1.1.0 0.0.0.255
[Stack-ospf-1-area-0.0.0.1] network 10.1.1.0 0.0.0.255
[Stack-ospf-1-area-0.0.0.1] network 31.1.1.0 0.0.0.255
[Stack-ospf-1-area-0.0.0.1] network 88.1.1.0 0.0.0.255
[Stack-ospf-1-area-0.0.0.1] nssa
[Stack-ospf-1-area-0.0.0.1] quit
[Stack-ospf-1] quit
配置三层组播功能# 在Core配置三层组播功能。
[Core] multicast routing-enable
[Core] pim
[Core-pim] static-rp 1.1.1.2
[Core-pim] quit
[Core] interface gigabitethernet 1/0/1
[Core-GigabitEthernet1/0/1] pim sm
[Core-GigabitEthernet1/0/1] quit
[Core] interface gigabitethernet 1/0/2
[Core-GigabitEthernet1/0/2] pim sm
[Core-GigabitEthernet1/0/2] quit
[Core] interface gigabitethernet 1/0/3
[Core-GigabitEthernet1/0/3] pim sm
[Core-GigabitEthernet1/0/3] quit
# 在PE1配置三层组播功能。
[PE1] multicast routing-enable
[PE1] pim
[PE1-pim] c-bsr LoopBack0
[PE1-pim] c-rp LoopBack0
[PE1-pim] static-rp 1.1.1.2
[PE1-pim] quit
[PE1] interface vlanif 10
[PE1-Vlanif10] pim sm
[PE1-Vlanif10] quit
[PE1] interface vlanif 11
[PE1-Vlanif11] pim sm
[PE1-Vlanif11] quit
[PE1] interface gigabitethernet 1/0/2
[PE1-GigabitEthernet1/0/2] pim sm
[PE1-GigabitEthernet1/0/2] quit
[PE1] interface gigabitethernet 1/0/3
[PE1-GigabitEthernet1/0/3] pim sm
[PE1-GigabitEthernet1/0/3] quit
[PE1] interface LoopBack0
[PE1-LoopBack0] pim sm
[PE1-LoopBack0] quit
# 在PE2配置三层组播功能。
[PE2] multicast routing-enable
[PE2] pim
[PE2-pim] static-rp 1.1.1.2
[PE2-pim] quit
[PE2] interface vlanif 21
[PE2-Vlanif10] pim sm
[PE2-Vlanif10] quit
[PE2] interface vlanif 22
[PE2-Vlanif22] pim sm
[PE2-Vlanif22] quit
[PE2] interface gigabitethernet 1/0/2
[PE2-GigabitEthernet1/0/2] pim sm
[PE2-GigabitEthernet1/0/2] quit
[PE2] interface gigabitethernet 1/0/3
[PE2-GigabitEthernet1/0/3] pim sm
[PE2-GigabitEthernet1/0/3] quit
[PE2] interface LoopBack0
[PE2-LoopBack0] pim sm
[PE2-LoopBack0] quit
# 在AGG配置三层组播功能。
[AGG] multicast routing-enable
[AGG] pim
[AGG-pim] static-rp 1.1.1.2
[AGG-pim] quit
[AGG] interface vlanif 11
[AGG-Vlanif11] pim sm
[AGG-Vlanif11] quit
[AGG] interface vlanif 22
[AGG-Vlanif22] pim sm
[AGG-Vlanif22] quit
[AGG] interface vlanif 33
[AGG-Vlanif33] pim sm
[AGG-Vlanif33] igmp enable //与用户相连,需要使能IGMP功能
[AGG-Vlanif33] quit
[AGG] interface vlanif 34
[AGG-Vlanif34] pim sm
[AGG-Vlanif34] igmp enable
[AGG-Vlanif34] quit
# 在Stack配置三层组播功能。
[Stack] multicast routing-enable
[Stack] pim
[Stack-pim] static-rp 1.1.1.1
[Stack-pim] quit
[Stack] interface vlanif 10
[Stack-Vlanif10] pim sm
[Stack-Vlanif10] quit
[Stack] interface vlanif 21
[Stack-Vlanif10] pim sm
[Stack-Vlanif10] quit
[Stack] interface vlanif 301
[Stack-Vlanif301] pim sm
[Stack-Vlanif301] quit
[Stack] interface vlanif 400
[Stack-Vlanif400] pim sm
[Stack-Vlanif400] quit
[Stack-Vlanif400] igmp enable
[Stack] interface vlanif 530
[Stack-Vlanif530] pim sm
[Stack-Vlanif530] igmp enable //与解码服务器相连,需要使能IGMP功能
[Stack-Vlanif530] quit
配置IGMP Snooping二层组播功能# 在ACC1上使能IGMP Snooping功能。
[ACC1] igmp-snooping enable
[ACC1] vlan 33
[ACC1-vlan33] igmp-snooping enable
[ACC1-vlan33] multicast drop-unknown
[ACC1-vlan33] quit
# 在ACC2上使能IGMP Snooping功能。
[ACC2] igmp-snooping enable
[ACC2] vlan 34
[ACC2-vlan34] igmp-snooping enable
[ACC2-vlan34] multicast drop-unknown
[ACC2-vlan34] quit
# 在Stack上使能IGMP Snooping功能。
[Stack] igmp-snooping enable
[Stack] vlan 301
[Stack-vlan301] igmp-snooping enable
[Stack-vlan301] quit
[Stack] vlan 530
[Stack-vlan530] igmp-snooping enable
[Stack-vlan530] quit
配置流策略限制组播源接入# 在Stack上配置流策略。
[Stack] acl number 3000
[Stack-acl-adv-3000] description ***ACL FOR IPTV_Service_IN***
[Stack-acl-adv-3000] rule 1 permit ip source 66.1.1.0 0.0.0.255 destination 4.1.1.0 0.0.0.127
[Stack-acl-adv-3000] quit
[Stack] acl number 3998
[Stack-acl-adv-3998] description ***ACL FOR Multicast Remark***
[Stack-acl-adv-3998] rule 5 permit ip source 5.1.1.80 0.0.0.15
[Stack-acl-adv-3998] quit
[Stack] traffic classifier IPTV_Service_IN
[Stack-classifier-IPTV_Service_IN] if-match acl 3000
[Stack-classifier-IPTV_Service_IN] quit
[Stack] traffic classifier IPTV_Multicast_Remark
[Stack-classifier-IPTV_Multicast_Remark] if-match acl 3998
[Stack-classifier-IPTV_Multicast_Remark] quit
[Stack] traffic behavior IPTV_Service_IN
[Stack-behavior-IPTV_Service_IN] permit
[Stack-behavior-IPTV_Service_IN] quit
[Stack] traffic behavior IPTV_Multicast_Remark
[Stack-behavior-IPTV_Multicast_Remark] permit
[Stack-behavior-IPTV_Multicast_Remark] remark dscp af41
[Stack-behavior-IPTV_Multicast_Remark] quit
[Stack] traffic policy IPTV_Service_IN
[Stack-trafficpolicy-IPTV_Service_IN] classifier IPTV_Service_IN behavior IPTV_Service_IN
[Stack-trafficpolicy-IPTV_Service_IN] quit
[Stack] traffic policy IPTV_Multicast_Remark
[Stack-trafficpolicy-IPTV_Multicast_Remark] classifier IPTV_Multicast_Remark behavior IPTV_Multicast_Remark
[Stack-trafficpolicy-IPTV_Multicast_Remark] quit
[Stack] interface Eth
[Stack] interface eth-trunk2
[Stack-Eth-Trunk2] traffic-policy IPTV_Service_IN inbound
[Stack-Eth-Trunk2] quit
[Stack] interface eth-trunk3
[Stack-Eth-Trunk3] traffic-policy IPTV_Service_IN inbound
[Stack-Eth-Trunk3] quit
[Stack] interface eth-trunk1
[Stack-Eth-Trunk1] traffic-policy IPTV_Multicast_Remark inbound
[Stack-Eth-Trunk1] quit
验证配置结果# 配置完成后,Core、PE1、PE2和AGG上可以正常生成PIM邻居信息。
[Core] display pim neighborVPN-Instance: public net Total Number of Neighbors = 2 Neighbor Interface Uptime Expires Dr-Priority BFD-Session 12.1.1.1 GE1/0/3 01:09:01 00:01:43 1 N 20.1.1.2 GE1/0/2 01:06:30 00:01:39 1 N
[PE1] display pim neighborVPN-Instance: public net Total Number of Neighbors = 4 Neighbor Interface Uptime Expires Dr-Priority BFD-Session 12.1.1.2 GE1/0/2 01:10:48 00:01:27 1 N 60.1.1.2 GE1/0/3 01:08:06 00:01:40 1 N 10.1.1.2 Vlanif10 00:39:38 00:01:21 1 N 11.1.1.8 Vlanif11 01:05:16 00:01:30 1 N
[PE2] display pim neighborVPN-Instance: public net Total Number of Neighbors = 4 Neighbor Interface Uptime Expires Dr-Priority BFD-Session 20.1.1.3 GE1/0/2 01:11:32 00:01:42 1 N 60.1.1.1 GE1/0/3 01:11:18 00:01:27 1 N 10.1.2.2 Vlanif21 00:41:06 00:01:39 1 N 21.1.1.2 Vlanif22 01:08:28 00:01:42 1 N
[AGG] display pim neighborVPN-Instance: public net Total Number of Neighbors = 2 Neighbor Interface Uptime Expires Dr-Priority BFD-Session 11.1.1.1 Vlanif11 01:09:30 00:01:20 1 N 22.1.1.2 Vlanif22 01:08:34 00:01:18 1 N # 用户发送IGMP Report报文后,ACC1和ACC2上可以正常生成组播组成员端口信息。
[ACC1] display igmp-snooping port-info
--------------------------------------------------------------------------------(Source, Group) Port FlagFlag: S:Static D:Dynamic M: Ssm-mapping --------------------------------------------------------------------------------VLAN 33, 1 Entry(s) (*, 225.1.1.1) GE0/0/2 -D-GE0/0/3 -D-2 port(s) include --------------------------------------------------------------------------------
[ACC2] display igmp-snooping port-info
--------------------------------------------------------------------------------(Source, Group) Port FlagFlag: S:Static D:Dynamic M: Ssm-mapping --------------------------------------------------------------------------------VLAN 34, 1 Entry(s) (*, 225.1.1.1) GE0/0/2 -D-GE0/0/3 -D-2 port(s) include --------------------------------------------------------------------------------# 组播源发送组播报文,解码服务器发送组播组加入报文后,Stack和PE1上可以正常生成组播路由表。[Stack] display pim routing-tableVPN-Instance: public net Total 1 (*, G) entry; 0 (S, G) entry (*, 225.0.0.1) RP: 1.1.1.1 Protocol: pim-sm, Flag: WC UpTime: 02:41:03 Upstream interface: Vlanif10 Upstream neighbor: 10.1.1.1 RPF prime neighbor: 10.1.1.1 Downstream interface(s) information: Total number of downstreams: 1 1: Vlanif530 Protocol: igmp, UpTime: 02:41:03, Expires: -
[PE1] display pim routing-tableVPN-Instance: public net Total 1 (*, G) entry; 0 (S, G) entry (*, 225.0.0.1) RP: 1.1.1.1 (local) Protocol: pim-sm, Flag: WC UpTime: 02:39:32 Upstream interface: Register Upstream neighbor: NULL RPF prime neighbor: NULL Downstream interface(s) information: Total number of downstreams: 1 1: Vlanif10 Protocol: pim-sm, UpTime: 02:39:32, Expires: 00:02:58
配置文件
-
Core的配置文件# sysname Core # multicast routing-enable # interface GigabitEthernet1/0/1undo portswitch description Core***to***Severip address 66.1.1.3 255.255.255.0pim smospf enable 1 area 0.0.0.0 # interface GigabitEthernet1/0/2undo portswitch description Core***to***PE2ip address 20.1.1.3 255.255.255.0pim smospf enable 1 area 0.0.0.0 # interface GigabitEthernet1/0/3undo portswitch description Core***to***PE1 ip address 12.1.1.2 255.255.255.0 pim sm ospf enable 1 area 0.0.0.0 # interface LoopBack0ip address 1.1.1.3 255.255.255.255ospf enable 1 area 0.0.0.0 # ospf 1area 0.0.0.0 # pimstatic-rp 1.1.1.2 # return
-
PE的配置文件
PE1配置文件
PE2配置文件
# sysname PE1 # vlan batch 10 to 11 # multicast routing-enable # interface Vlanif10description to***Stackip address 10.1.1.1 255.255.255.0pim smospf enable 1 area 0.0.0.1 # interface Vlanif11description to***AGGip address 11.1.1.1 255.255.255.0pim smospf enable 1 area 0.0.0.0 # interface Eth-Trunk2description PE1***to***Stackport link-type accessport default vlan 10 # interface GigabitEthernet1/0/2undo portswitchdescription PE1***to***Coreip address 12.1.1.1 255.255.255.0pim smospf enable 1 area 0.0.0.0 # interface GigabitEthernet1/0/3undo portswitch description PE1***to***PE2ip address 60.1.1.1 255.255.255.0pim smospf enable 1 area 0.0.0.0 # interface GigabitEthernet1/0/4description PE1***to***AGGport link-type trunkport trunk allow-pass vlan 11 # interface GigabitEthernet1/0/6eth-trunk2 # interface GigabitEthernet1/0/7eth-trunk2 # interface LoopBack0ip address 1.1.1.1 255.255.255.255pim smospf enable 1 area 0.0.0.0 # ospf 1area 0.0.0.0area 0.0.0.1nssa # pimc-bsr LoopBack0c-rp LoopBack0static-rp 1.1.1.2 # return
# sysname PE2 # vlan batch 21 to 22 # multicast routing-enable # interface Vlanif21description to***Stackip address 21.1.1.1 255.255.255.0pim smospf enable 1 area 0.0.0.1 # interface Vlanif22description to***AGGip address 22.1.1.2 255.255.255.0pim smospf enable 1 area 0.0.0.0 # interface Eth-Trunk3description PE2***to***Stackport link-type accessport default vlan 21 # interface GigabitEthernet1/0/2undo portswitchdescription PE2***to***Coreip address 20.1.1.2 255.255.255.0pim smospf enable 1 area 0.0.0.0# interface GigabitEthernet1/0/3undo portswitch description PE2***to***PE1ip address 60.1.1.2 255.255.255.0pim smospf enable 1 area 0.0.0.0 # interface GigabitEthernet1/0/4description PE2***to***AGGport link-type trunkport trunk allow-pass vlan 22 # interface GigabitEthernet1/0/6eth-trunk3 # interface GigabitEthernet1/0/7eth-trunk3 # interface LoopBack0ip address 1.1.1.2 255.255.255.255ospf enable 1 area 0.0.0.0 # ospf 1area 0.0.0.0area 0.0.0.1nssa # pimstatic-rp 1.1.1.2 # return
-
Stack的配置文件 # sysname Stack # vlan batch 10 21 88 301 400 530 # multicast routing-enable # igmp-snooping enable # acl number 3000description ***ACL FOR IPTV_Service_IN***rule 1 permit ip source 66.1.1.0 0.0.0.255 destination 4.1.1.0 0.0.0.127 acl number 3998description ***ACL FOR Multicast Remark***rule 5 permit ip source 5.1.1.80 0.0.0.15 # traffic classifier IPTV_Multicast_Remark operator orif-match acl 3998 traffic classifier IPTV_Service_IN operator orif-match acl 3000 # traffic behavior IPTV_Multicast_Remarkpermitremark dscp af41 traffic behavior IPTV_Service_INpermit # traffic policy IPTV_Multicast_Remark match-order configclassifier IPTV_Multicast_Remark behavior IPTV_Multicast_Remark traffic policy IPTV_Service_IN match-order configclassifier IPTV_Service_IN behavior IPTV_Service_IN # vlan 10description to***PE1 vlan 21description to***PE2 vlan 301description to***LSW2igmp-snooping enable vlan 400description ***MRF IN***multicast drop-unknownigmp-snooping enable vlan 530description ***MRF OUT***multicast drop-unknownigmp-snooping enable # interface Vlanif10description to***PE1ip address 10.1.1.2 255.255.255.0pim smospf enable 1 area 0.0.0.1 # interface Vlanif21description to***PE2ip address 21.1.1.2 255.255.255.0pim smospf enable 1 area 0.0.0.1 # interface Vlanif88description to***HMSip address 88.1.1.7 255.255.255.0vrrp vrid 2 virtual-ip 88.1.1.100vrrp vrid 2 priority 120vrrp vrid 2 preempt-mode timer delay 20vrrp vrid 2 track interface GigabitEthernet0/0/1 reduced 100 # interface Vlanif301description LSW1***to***LSW2ip address 31.1.1.1 255.255.255.0pim smospf network-type p2pospf timer hello 1 # interface Vlanif400description to***MRF INip address 4.1.1.2 255.255.255.0vrrp vrid 40 virtual-ip 4.1.1.10vrrp vrid 40 priority 120pim smigmp enable # interface Vlanif530description to***MRF OUTip address 5.1.1.2 255.255.255.0vrrp vrid 53 virtual-ip 5.1.1.10vrrp vrid 53 priority 120pim smigmp enable # interface Eth-Trunk1description Stack***to***CDNport link-type trunkport trunk allow-pass vlan 88 301 400 530traffic-policy IPTV_Multicast_Remark inbound # interface Eth-Trunk2description Stack***to***PE1port link-type accessport default vlan 10traffic-policy IPTV_Service_IN inbound # interface Eth-Trunk3description Stack***to***PE2port link-type accessport default vlan 21traffic-policy IPTV_Service_IN inbound # interface GigabitEthernet0/0/1eth-trunk1 # interface GigabitEthernet0/0/6eth-trunk2 # interface GigabitEthernet0/0/8eth-trunk3 # interface GigabitEthernet1/0/1eth-trunk1 # interface GigabitEthernet1/0/6eth-trunk2 # interface GigabitEthernet1/0/8eth-trunk3 # ospf 1 router-id 192.168.1.1default-route-advertisesilent-interface Vlanif88silent-interface Vlanif530silent-interface Vlanif400area 0.0.0.1network 10.1.1.0 0.0.0.255network 31.1.1.0 0.0.0.255network 88.1.1.0 0.0.0.255network 5.1.1.0 0.0.0.255nssa # pimstatic-rp 1.1.1.1 # return CDN的配置文件 # sysname CDN # vlan batch 88 301 400 530 # interface Eth-Trunk1description CDN***to***Stackport link-type trunkport trunk allow-pass vlan 88 301 400 530 # interface GigabitEthernet0/0/1eth-trunk1 # interface GigabitEthernet0/0/2eth-trunk1 # interface GigabitEthernet0/0/3description CDN***to***HMS-Serverport link-type accessport default vlan 88stp disable # interface GigabitEthernet0/0/4description CDN***to***MRF-INport link-type accessport default vlan 400stp disable # interface GigabitEthernet0/0/5description CDN***to***MRF-OUTport link-type accessport default vlan 530stp disable # return AGG的配置文件 # sysname AGG # vlan batch 11 22 33 to 34 # multicast routing-enable # interface Vlanif11description to***PE1ip address 11.1.1.8 255.255.255.0pim smospf enable 1 area 0.0.0.0 # interface Vlanif22description to***PE2ip address 22.1.1.8 255.255.255.0pim smospf cost 10000ospf enable 1 area 0.0.0.0 # interface Vlanif33description to***ACC1ip address 33.1.1.8 255.255.255.0pim smigmp enableospf enable 1 area 0.0.0.0 # interface Vlanif34description to***ACC2ip address 34.1.1.8 255.255.255.0pim smigmp enableospf enable 1 area 0.0.0.0 # interface GigabitEthernet0/0/1description AGG***to***ACC1port link-type trunkport trunk allow-pass vlan 33 # interface GigabitEthernet0/0/2description AGG***to***ACC2port link-type trunkport trunk allow-pass vlan 34 # interface GigabitEthernet0/0/4description AGG***to***PE1port link-type trunkport trunk allow-pass vlan 11 # interface GigabitEthernet0/0/5description AGG***to***PE2port link-type trunkport trunk allow-pass vlan 22 # interface LoopBack0ip address 1.1.1.4 255.255.255.255ospf enable 1 area 0.0.0.0 # ospf 1area 0.0.0.0 # pimstatic-rp 1.1.1.2 # return
-
ACC的配置文件
ACC1的配置文件
ACC2的配置文件
# sysname ACC1 # vlan batch 33 # igmp-snooping enable # vlan 33multicast drop-unknownigmp-snooping enable # interface GigabitEthernet0/0/1description ACC1***to***AGGport link-type trunkport trunk allow-pass vlan 33 # interface GigabitEthernet0/0/2port link-type accessport default vlan 33 # interface GigabitEthernet0/0/3port link-type accessport default vlan 33 # return
# sysname ACC2 # vlan batch 34 # igmp-snooping enable # vlan 34multicast drop-unknownigmp-snooping enable # interface GigabitEthernet0/0/1description ACC2***to***AGGport link-type trunkport trunk allow-pass vlan 34 # interface GigabitEthernet0/0/2port link-type accessport default vlan 34 # interface GigabitEthernet0/0/3port link-type accessport default vlan 34 # return
相关文章:
华为Eth-Trunk级联堆叠接入IPTV网络部署案例
Eth-Trunk级联堆叠接入IPTV网络部署案例 组网图形 图2 Eth-Trunk级联堆叠IPTV基本组网图 方案简介配置注意事项组网需求数据规划配置思路操作步骤配置文件 方案简介 随着IPTV业务的迅速发展,IPTV平台承载的用户也越来越多,用户对IPTV直播业务的可靠性…...
idea: 无法创建Java Class文件(SpringBoot)已解决
第一:点击file-->project Sructure... 第二步:点击Moudules 选择自己需要创建java的文件夹(我这里选择的是main)右键点击Sources,然后点击OK即可 然后就可以创建java类了...
ChinaXiv:中科院科技论文预发布平台
文章目录 Main彩蛋 Main 主页:https://chinaxiv.org/home.htm 彩蛋...
【人工智能】Fine-tuning 微调:解析深度学习中的利器(7)
在深度学习领域,Fine-tuning 微调是一项重要而强大的技术,它为我们提供了在特定任务上充分利用预训练模型的途径。本文将深入讨论 Fine-tuning 的定义、原理、实际操作以及其在不同场景中的应用,最后简要探讨Fine-tuning 的整体架构。 1. Fi…...
黄金交易策略(Nerve Nnife):大K线对技术指标的影响
我们使用heiken ashi smoothed来做敏感指标(大趋势借助其转向趋势预判,但不是马上转变),has默认使用6根k线的移动平均值来做计算的。若在6根k线规范内有一个突变的行情(k线很长),那么整个行情的…...
django中实现数据迁移
在Django中,数据迁移(data migrations)通常指的是将模型(models)中的数据从一个状态迁移到另一个状态。这可以涉及很多操作,比如添加新字段、删除字段、更新字段的数据类型,或者更改表之间的关系…...
全新抖音快手小红书去水印系统网站源码 | 支持几十种平台
全新抖音快手小红书去水印系统网站源码 | 支持几十种平台...
ChatGPT炸裂了
优质内容:ChatGPT太炸裂了 hello,我是小索奇 很多人在使用ChatGPT时遇到了两个主要问题,导致他们觉得这个工具并没有带来太多实际价值。首先,许多人发现ChatGPT的回答缺乏深度,缺乏实用性。其次,一些人在使…...
小白代码审计入门
最近小白一直在学习代码审计,对于我这个没有代码审计的菜鸟来说确实是一件无比艰难的事情。但是着恰恰应了一句老话:万事开头难。但是小白我会坚持下去。何况现在已经喜欢上了代码审计,下面呢小白就说一下appcms后台模板Getshell以及读取任意文件,影响的版本是2.0.101版本。…...
[开源]GPT Boss – 用图形化的方式部署您的私人GPT镜像网站
在这个以数据和智能为核心的时代,掌握最新的技术趋势是每个企业和个人都需要做到的。这就是GPT Boss存在的意义:一个基于OpenAI技术的一站式GPT应用解决方案。 自2022年起,GPT Boss团队便投身于人工智能领域,将OpenAI的GPT模型带给…...
FastAPI使用ORJSONResponse作为默认的响应类型
FastAPI默认使用Python的标准库来做json解析,如果换成rust编写的orjson,速度上会快一些 1. 安装依赖 pip install orjson 2. 设置为默认响应类型 from fastapi.responses import ORJSONResponseapp FastAPI(titlexxx, default_response_classORJSON…...
C++初阶:适合新手的手撕string类(模拟实现string类)
上次讲了常用的接口:C初阶:初识STL、String类接口详细讲解(万字解析) 今天就来进行模拟实现啦 文章目录 1.基本结构与文件规划2.构造函数(constructor)2.1构造函数2.1.1无参有参分开2.1.2利用缺省参数合起来 2.2拷贝构…...
uniapp canvas游标卡尺效果
效果 根据公司业务仿照写的效果。原项目从微信小程序转uniapp,未测试该效果在android端效果。 uniapp直接使用canvas不可做子组件,否则无效果显示,其次显示时要考虑页面渲染超时的问题。 如效果所见,可以设置取值精度。 gitee地址:project_practice: 项目练习 - Gitee.…...
【django】建立python虚拟环境-20240205
1.确保已经安装pip3 install venv 2.新建虚拟环境 python -m venv myenv 3.安装虚拟环境的依赖包 pip install … 4.激活虚拟环境 cd myenv cd Scripts activate 激活activate.bat并进入虚拟环境 进入虚拟环境后,命令行前面显示(myenv࿰…...
070:vue+cesium: 利用canvas设置线性渐变色材质
第070个 点击查看专栏目录 本示例的目的是介绍如何在vue+cesium中设置线性渐变色的材质,这里使用canvas的辅助方法。 直接复制下面的 vue+cesium源代码,操作2分钟即可运行实现效果. 文章目录 示例效果配置方式示例源代码(共104行)专栏目标示例效果 配置方式 1)查看基础…...
Electron+Vue实现仿网易云音乐实战
前言 这个项目是我跟着官方文档的那个Electron入门教程大致跑了一遍,了解了下Electron开发流程之后的实战项目,所以中间应该是会有很多写法不是很规范,安全性有可能也没考虑到,可实现的各种api也不是很了解,适合初学者。 必须感谢 https://github.com/Binaryify/NeteaseC…...
【玩转408数据结构】线性表——定义和基本操作
考点剖析 线性表是算法题命题的重点,该类题目实现相对容易且代码量不高,但需要最优的性能(也就是其时间复杂度以及空间复杂度最优),这样才可以获得满分。所以在考研复习中,我们需要掌握线性表的基本操作&am…...
回归预测 | Matlab实现ABC-BP人工蜂群算法优化BP神经网络多变量回归预测
回归预测 | Matlab实现ABC-BP人工蜂群算法优化BP神经网络多变量回归预测 目录 回归预测 | Matlab实现ABC-BP人工蜂群算法优化BP神经网络多变量回归预测预测效果基本描述程序设计参考资料 预测效果 基本描述 1.Matlab实现ABC-BP人工蜂群算法优化BP神经网络多变量回归预测&#x…...
SQL笔记-2024/01/31
cross join 两个表的笛卡尔积 例如: select s.name student_name,s.age student_age,s.class_id class_id,c.name class_name from student s cross join class c; 子查询 select s.name name,s.score score,s.class_id class_id from student s where s.class_id …...
C#系列-简介(1)
一,C#简介 C#(读作“C Sharp”)是一种由微软公司开发的、运行于.NET Framework和.NET Core(现在统称为.NET)之上的高级编程语言。C#结合了C的强大功能和Java的易用性,旨在成为一种“优雅且安全”的语言&am…...
LoRA:语言模型微调的计算资源优化策略
编者按:随着数据量和计算能力的增加,大模型的参数量也在不断增加,同时进行大模型微调的成本也变得越来越高。全参数微调需要大量的计算资源和时间,且在进行切换下游任务时代价高昂。 本文作者介绍了一种新方法 LoRA,可…...
pycharm deployment 灰色 一直无法点击
我的development的配置如下,我看了很多教程一直不知道为什么一直是灰色的, 文件夹配置: 如果你这里 Autodect,那么你Mapping 的文件夹应该是应该省略这个前缀的,例如我下面,我应该将本地文件夹映射到/home…...
解决“使用Edge浏览器每次鼠标点击会出现一个黑色边框”的问题
目录 一 问题描述 二 解决方案 三 方案来源 四 参考资料 & AI工具 一 问题描述 为了方便进行收藏夹同步,开始从Chrome浏览器切换到Edge浏览器。在使用Edge浏览器过程中发现“每次鼠标点击会出现一个黑色边框”(效果如下图所示)&#…...
IEC61499 学习记录
IEC 61499是一种用于工业自动化的标准化模型,它基于面向对象的方法,用于描述分布式控制系统。该模型包括基本元素如事件、函数块和资源,以及它们之间的关系。函数块是该模型的核心概念,它们描述了系统中的控制和数据处理功能。整个…...
斗地主登录界面(JAVA图形化界面)设置
1.实现代码 import CodeUtil.CodeUtil; import domain.User;import javax.swing.*; import java.awt.*; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.util.ArrayList;public class LoginGame extends JFrame implements MouseListen…...
RibbonOpenFeign源码(待完善)
Ribbon流程图 OpenFeign流程图...
Python DNS操作详解
在网络世界中,DNS(Domain Name System)扮演着重要的角色,它是一种分布式数据库系统,用于将域名(如 google.com)转换为相应的 IP 地址(如 172.217.7.206)。DNS 可以被视为…...
Redis篇之分布式锁
一、为什么要使用分布式锁 1.抢劵场景 (1)代码及流程图 (2)抢劵执行的正常流程 就是正好线程1执行完整个操作,线程2再执行。 (3)抢劵执行的非正常流程 因为线程是交替进行的,所以有…...
制作一个简单的HTML个人网页我的名字叫小明爱好打篮球,喜欢的歌手周杰伦我的技能java c++ python 主题配色蓝白
欢迎来到小明的个人网页 关于我 我叫小明,喜欢打篮球,最喜欢的歌手是周杰伦。 我的技能 JavaCPython 联系我 你可以通过以下方式联系我(请根据实际情况填写): 电子邮件:xiaomingexample.com GitHub&…...
华为视频监控接入到视频监控平台 (华为网路监控摄像机IPC和华为视频节点设备VCN)
目 录 一、设备介绍 1.1 华为VCN介绍 1.2 AS-V1000视频监控平台介绍 1.3 平台服务器配置说明 二、安装、配置HW_IVS软件 2.1下载安装HW_IVS软件 2.2登录HW_IVS 2.3共享到外域 三、配置华为外域参数 3.1 PCG模块设置 3.2通信协议GBT28181配置 3.3传…...
树与二叉树---数据结构
树作为一种逻辑结构,同时也是一种分层结构,具有以下两个特点: 1)树的根结点没有前驱,除根结点外的所有结点有 且只有一个前驱。 2)树中所有结点可以有零个或多个后继。 树结点数据结构 满二叉树和完全二…...
C++ .h文件类的调用
demo1只有类的情况下调用 下面写一个util.h 文件里面 // 定义宏防止编译器重复编译 #ifndef TEST_H #define TEST_H class Test{ public:void sum(int a, int b);int num(int a, int b);bool number();}; #endif // TEST_H 调用的时候首先要引入这个头文件 #include "u…...
C语言:分支与循环
创造不易,友友们给个三连吧!! C语⾔是结构化的程序设计语⾔,这⾥的结构指的是顺序结构、选择结构、循环结构,C语⾔是能够实 现这三种结构的,其实我们如果仔细分析,我们⽇常所⻅的事情都可以拆分…...
【linux系统体验】-archlinux折腾日记
archlinux 一、系统安装二、系统配置及美化2.1 中文输入法2.2 安装virtualbox增强工具2.3 终端美化 三、问题总结3.1 终端中文乱码 一、系统安装 安装步骤人们已经总结了很多很全: Arch Linux图文安装教程 大体步骤: 磁盘分区安装 Linux内核配置系统(…...
常用数字处理格式校验
1、前端校验 1.1 要求为数字类型(不限位数与正负) input输入框添加 type“number” <el-input type"number"/>当typenumber时,仍然可以输入字母e或E。解决方法是:给typenumber的输入框添加一个正则表达式&…...
2024.1.26力扣每日一题——边权重均等查询
2024.1.26 题目来源我的题解方法一 使用dfs对每一组查询都求最近公共祖先(会超时,通不过)方法二 不需要构建图,直接在原始数组上进行求最大公共祖先的操作。 题目来源 力扣每日一题;题序:2846 我的题解 …...
C语言操作符超详细总结
文章目录 1. 操作符的分类2. 二进制和进制转换2.1 2进制转10进制2.1.1 10进制转2进制数字 2.2 2进制转8进制和16进制2.2.1 2进制转8进制2.2.2 2进制转16进制 3. 原码、反码、补码4.移位操作符4.1 左移操作符4.2 右移操作符 5. 位操作符:&、|、^、~6. 逗号表达式…...
【Java八股面试系列】JVM-内存区域
目录 Java内存区域 运行时数据区域 线程独享区域 程序计数器 Java 虚拟机栈 StackFlowError&OOM 本地方法栈 线程共享区域 堆 GCR-分代回收算法 字符串常量池 方法区 运行时常量池 HotSpot 虚拟机对象探秘 对象的创建 对象的内存布局 句柄 Java内存区域 运…...
计划任务功能优化,应用商店上架软件超过100款,1Panel开源面板v1.9.6发布
2024年2月7日,现代化、开源的Linux服务器运维管理面板1Panel正式发布v1.9.6版本。 在v1.9.5和v1.9.6这两个小版本中,1Panel针对计划任务等功能进行了多项优化和Bug修复。此外,1Panel应用商店新增了3款应用,上架精选软件应用超过1…...
蓝桥杯(Web大学组)2023省赛真题3:收集帛书碎片
需要实现: 1.将二维数组转为一维数组; 2.数组去重 一、将二维数组转为一维数组: 二、数组去重: function collectPuzzle(...puzzles) {// console.log(puzzles);// console.log(...puzzles);// TODO:在这里写入具体的实现逻辑/…...
使用QT编写一个简单QQ登录界面
widget.cpp #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);//设置窗口标题this->setWindowTitle("QQ");//设置窗口图标this->setWindowIcon(…...
TryHackMe-Net Sec Challenge练习
本文相关的TryHackMe实验房间链接:TryHackMe | Why Subscribe nmap nmap -T5 -p- 10.10.90.32 -T5 扫描速度 -p- 全端口扫描 答题: 这题叫我们找藏在http服务下的flag,根据上面扫出来的端口,所以我们开始搞80 这里简单介绍一下…...
面试 JavaScript 框架八股文十问十答第五期
面试 JavaScript 框架八股文十问十答第五期 作者:程序员小白条,个人博客 相信看了本文后,对你的面试是有一定帮助的!关注专栏后就能收到持续更新! ⭐点赞⭐收藏⭐不迷路!⭐ 1)常见的位运算符有…...
[职场] 如何通过运营面试_1 #笔记#媒体#经验分享
如何通过运营面试 盈利是公司的事情,而用户就是你运营的事情。你需要彻底建立一个庞大而有效的用户群,这样才能让你们的公司想盈利就盈利,想战略就战略,想融资就融资。 一般从事运营的人有着强大的自信心,后台数据分析…...
CTFshow web(命令执行 41-44)
web41 <?php /* # -*- coding: utf-8 -*- # Author: 羽 # Date: 2020-09-05 20:31:22 # Last Modified by: h1xa # Last Modified time: 2020-09-05 22:40:07 # email: 1341963450qq.com # link: https://ctf.show */ if(isset($_POST[c])){ $c $_POST[c]; if(!p…...
XML介绍和基本语法
XML简介 XML(eXtensible Markup Language,可扩展标记语言)是一种用于标记电子文件使其具有结构性的标记语言。它允许用户定义自己的标记元素,使得信息的共享和数据的存储更加便捷和通用。XML广泛应用于Web开发、配置文件、数据交…...
Android:Android Studio安装及环境配置
1开发环境搭建 Android开发需要使用java的jdk环境,所以需要下载JAVA JDK。 1.1安装配置JAVA JDK Java的JDK下载: https://www.oracle.com/technetwork/java/javase/downloads/index.html 配置java的环境变量: JAVA_HOME:java安装路径。 新增环境变量CLASSPATH 在Path环境…...
力扣刷题之旅:进阶篇(三)
力扣(LeetCode)是一个在线编程平台,主要用于帮助程序员提升算法和数据结构方面的能力。以下是一些力扣上的入门题目,以及它们的解题代码。 --点击进入刷题地址 一、动态规划(DP) 首先,让我们来…...
代码随想录 Leetcode55. 跳跃游戏
题目: 代码(首刷自解 2024年2月9日): class Solution { public:bool canJump(vector<int>& nums) {int noz 0;for (int i nums.size() - 2; i > 0; --i) {if (nums[i] 0) {noz;continue;} else {if (nums[i] > noz) noz …...
Go Context -- 管理请求的上下文信息
在Go语言中,管理请求的上下文信息对于构建可靠的并发程序至关重要。context 包为我们提供了一种优雅的方式来传递请求的取消信号、超时信息和请求范围的值。接下来将深入探讨Go中的 context 包,包括其基本概念、用法、实际应用场景和最佳实践,…...