当前位置: 首页 > news >正文

BGP通过route-policy路由策略调用ip-prefix网络前缀实现负载均衡与可靠性之AS-path属性

在这里插入图片描述

一、实验场景

1、loopback0与loopback1模拟企业实际环境中的某个网段。
2、本例目标总公司AR3的1.1.1.1/32网段到分公司AR4的3.3.3.3/32的流量从上方的AS500自治系统走。
3、本例目标总公司AR3的4.4.4.4/32网段到分公司AR4的2.2.2.2/32的流量从下面的AS300、AS400自治系统走。
4、总公司到分公司之间的AS500或AS300、AS400其中一条链路断开后,网络仍可正常运行,确保网络的可靠性。
5、从总公司到分公司的流量以负载均衡的方式在BGP路由中运行。

说明:路由策略与策略路由的区别
1、路由策略主要用于改变网络流量所经过的途径,通过修改路由属性(如可达性)来实现。它是一种智能化的路由方式,能够与路由协议结合,完成策略性的路由选择。路由策略通常指的是在网络中设置特定的规则,以确定数据包的传输路径。路由策略通常使用传统的路由协议和算法,如RIP、OSPF或BGP等。路由策略通过优化路由选择可以提高网络的整体性能和效率。路由策略适用于大多数标准网络环境,特别是在大规模网络中。如:本例中的BGP路由协议实验则是通过路由策略来完成。
2、策略路由则是一种更灵活的数据包路由转发机制,它基于策略进行转发,而不是简单的按路由表顺序进行。策略路由在数据包处理中具有更高的优先级,能够在路由表查找之前根据策略进行转发,这使得它能够更精细地控制数据包的流向。策略路由则是基于一组规则或政策来决定流量的路由,这些规则可能包括源地址、目的地、端口号等。策略路由则可能使用的技术如路由表、访问控制列表(ACL)或特定的路由协议扩展。策略路由则通过精确控制流量实现高效的网络资源利用,但可能需要更多的处理资源。策略路由提供了更高的灵活性和控制能力,适用于需要精细流量管理的复杂网络。如:在企业中有多条公网出口,公网出口的质量有差异,某些重要的业务需要通过ip专线出去,另一些日常网络流量则可通过拨号光纤出去,此时可选择配置策略路由,策略路由的转发优先于路由表。

二、实验拓扑图:

在这里插入图片描述

三、BGP的AS_PATH属性作用有:

1、防止BGP环路:当BGP路由器收到一条路由信息时,它会检查该路由信息的AS_PATH属性。如果AS_PATH属性中的某个AS号与路由器自身的AS号相同,那么该路由器就会知道该路由出现了环路,因为需要丢包处理。
2、路由优先级:AS_PATH属性中的AS号数量可以用于标识路由的优先级。一般来说,经过的AS号越少,说明该路由越优先。因此,AS_PATH属性可以根据AS号来判断路由的优先级

四、配置过程

1、【AR1】

System-view
sysname AR1
interface GigabitEthernet0/0/0
ip address 10.1.12.1 255.255.255.0

interface GigabitEthernet0/0/1
ip address 10.1.13.1 255.255.255.0
bgp 300
peer 10.1.12.2 as-number 400
peer 10.1.12.2 ebgp-max-hop 255
peer 10.1.13.3 as-number 100
peer 10.1.13.3 ebgp-max-hop 255

ipv4-family unicast
undo synchronization
peer 10.1.12.2 enable
peer 10.1.13.3 enable

2、【AR2】

System-view
sysname AR2
interface GigabitEthernet0/0/0
ip address 10.1.24.2 255.255.255.0
interface GigabitEthernet0/0/1
ip address 10.1.12.2 255.255.255.0
bgp 400
peer 10.1.12.1 as-number 300
peer 10.1.12.1 ebgp-max-hop 255
peer 10.1.24.4 as-number 200
peer 10.1.24.4 ebgp-max-hop 255
ipv4-family unicast
undo synchronization
peer 10.1.12.1 enable
peer 10.1.24.4 enable

3、【AR3】

System-view
sysname AR3
interface GigabitEthernet0/0/0
ip address 10.1.35.3 255.255.255.0
interface GigabitEthernet0/0/1
ip address 10.1.13.3 255.255.255.0
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
interface LoopBack1
ip address 4.4.4.4 255.255.255.255
bgp 100
peer 10.1.13.1 as-number 300
peer 10.1.13.1 ebgp-max-hop 255
peer 10.1.35.5 as-number 500
peer 10.1.35.5 ebgp-max-hop 255
ipv4-family unicast
undo synchronization
network 1.1.1.1 255.255.255.255
network 4.4.4.4 255.255.255.255
peer 10.1.13.1 enable
peer 10.1.35.5 enable

4、【AR4】

System-view
sysname AR4
interface GigabitEthernet0/0/0
ip address 10.1.46.4 255.255.255.0
interface GigabitEthernet0/0/1
ip address 10.1.24.4 255.255.255.0
interface LoopBack0
ip address 2.2.2.2 255.255.255.255
interface LoopBack1
ip address 3.3.3.3 255.255.255.255
bgp 200
peer 10.1.24.2 as-number 400
peer 10.1.24.2 ebgp-max-hop 255
peer 10.1.46.6 as-number 500
peer 10.1.46.6 ebgp-max-hop 255
ipv4-family unicast
undo synchronization
network 2.2.2.2 255.255.255.255
network 3.3.3.3 255.255.255.255
peer 10.1.24.2 enable
peer 10.1.46.6 enable

5、【AR5】

System-view
sysname AR5
interface GigabitEthernet0/0/0
ip address 10.1.35.5 255.255.255.0
interface GigabitEthernet0/0/1
ip address 10.1.56.5 255.255.255.0
bgp 500
peer 10.1.35.3 as-number 100
peer 10.1.35.3 ebgp-max-hop 255
peer 10.1.56.6 as-number 500
ipv4-family unicast
undo synchronization
peer 10.1.35.3 enable
peer 10.1.56.6 enable
peer 10.1.56.6 next-hop-local

6、【AR6】

System-view
sysname AR6
interface GigabitEthernet0/0/0
ip address 10.1.56.6 255.255.255.0
interface GigabitEthernet0/0/1
ip address 10.1.46.6 255.255.255.0
bgp 500
peer 10.1.46.4 as-number 200
peer 10.1.46.4 ebgp-max-hop 255
peer 10.1.56.5 as-number 500
ipv4-family unicast
undo synchronization
peer 10.1.46.4 enable
peer 10.1.56.5 enable
peer 10.1.56.5 next-hop-local

五、验证网络路径及网络的可靠性

(一)BGP原始路径的验证:

1、在总公司AR3上查看BGP邻居关系与ip路由表中的BGP路由,可以看出到分公司2.2.2.2与3.3.3.3的下一跳都是10.1.35.5,说明从总公司AR3到2.2.2.2与3.3.3.3都是默认从最短的路径AS500到达,默认从源到目标通过的AS自治系统数越少,路径越优。如下图:
在这里插入图片描述

2、在总公司AR3上查看BGP路由表,可以看出到达分公司2.2.2.2的有2条路由,其中*>最优路由下一跳是10.1.35.5,而次优路由下一跳是10.1.13.1,如下图:
在这里插入图片描述

3、在分公司的AR4上查看BGP邻居关系与ip路由表中的BGP路由,*>最优路由仍是AS500中的10.1.46.6,从AS_PATH路径看,从500 100i到达1.1.1.1,比400 300 100i到达1.1.1.1,要少过一个AS自治系统,如下图:
在这里插入图片描述

4、从总公司到分公司之间的AR6的G0/0/0抓包验证从AR3到AR4的网络流量,都是从上面的路径走过,即下面的路径是空闲备用状态,如下图:
在这里插入图片描述

从上图可以看出,默认的BGP配置,从总公司AR3到分公司AR4的网络流量都是从AR5和AR6的AS500通过,下面的AR1和AR2是空闲状态,从而网络没有发挥最优的性能。
所以我们要让网络流量从总公司到分公司实现负载均衡,下面使用ip-prefix与route-policy配合完成。

(二)负载均衡的配置及验证:

1、修改总公司AR3的配置:把从总公司AR3到达分公司AR4的2.2.2.2/32的BGP路由建立一条路由前缀ip-prefix,然后在BGP路由中增加一条ipv4-family的单播规则,通过路由策略route-policy调用这个条规划,从入的方向调用。路由策略的配置,满足路由前缀ip-prefix时,应用将AS-PATH属性增加600 800 900这3个AS自治系统号,从而500 200i就会变成600 800 900 500 200i,如下图:
在这里插入图片描述

【修改AR3】

bgp 100
ipv4-family unicast
peer 10.1.35.5 route-policy as_path import
route-policy as_path permit node 10
if-match ip-prefix as_path
apply as-path 600 800 900 additive
route-policy as_path permit node 20
ip ip-prefix as_path index 10 permit 2.2.2.2 32

2、从总公司AR3查看BGP路由表及ip路由表中的bgp路由,其中到达分公司2.2.2.2的BGP路由下一跳发生了变化,且经过的AS自治系统号也有变化(是我们在路由策略中应用增加了600 800 900 ),如下图:
在这里插入图片描述

3、修改分公司AR4的配置:

【修改AR4】

ip ip-prefix 1 index 10 permit 4.4.4.4 32
route-policy 1 permit node 30
if-match ip-prefix 1
apply as-path 1000 1200 1500 additive
route-policy 1 permit node 40
Bgp 200
ipv4-family unicast
peer 10.1.46.6 route-policy 1 import

4、从分公司的AR4查看ip路由表中的bgp路由,并查看分公司AR4的BGP路由表,从分公司AR4到达总公司AR3的4.4.4.4最优路由*>下一跳已经发生了变化,如下图:
在这里插入图片描述

(三)验证目标从上面的链路与下面的链路同时抓包

1、从总公司AR3的1.1.1.1到分公司AR4的3.3.3.3的网络流量路径,与预期目标一致,如下图:
在这里插入图片描述

2、从总公司的AR3的4.4.4.4到分公司AR4的2.2.2.2的网络流量路径,与预期目标一致,如下图:
在这里插入图片描述

3、有人会说,如果验证总公司AR3的1.1.1.1到分公司AR4的2.2.2.2,或验证总公司AR3的4.4.4.4到分公司AR4的3.3.3.3的结果呢?
解析:
(1)总公司AR3的1.1.1.1到分公司AR4的2.2.2.2的访问网络流量,如下图:
在这里插入图片描述

(2)分公司AR4的2.2.2.2到总公司AR3的1.1.1.1回应的网络流量,如下图:
在这里插入图片描述

(3)结论:总公司AR3的1.1.1.1到分公司AR4的2.2.2.2访问网络流量与回复网络流量路径是不同的,即request的请求流量与reply的回应流量网络路径不同,网络流量形成了一个环的状态,从上方的AR6的G0/0/0接口抓包,同时也从AR3的G0/0/1接口抓包,如下图:
在这里插入图片描述

同理,从总公司AR3的4.4.4.4到分公司AR4的3.3.3.3,请求包的路径与回复包的路径也是不同的。此处不再赘述。

(四)验证某节点物理故障后,网络仍可正常运行:

1、把链路正常情况下,总公司AR3的BGP路由表与ip路由表中的bgp协议路由显示,如下图:
在这里插入图片描述

2、把总公司到分公司之间AR5上的G0/0/1接口shutdown后,再从AR3上查看BGP路由表与ip路由表中的bgp协议路由,很明显就少了10.1.35.5的那条路由,但是仍然可以到达2.2.2.2与3.3.3.3的目的网络,如下图:
(1)查看总公司AR3上ip路由表中的bgp协议路由,与BGP 路由表,如下图:
在这里插入图片描述

(2)总公司从AR3的1.1.1.1网段到分公司AR4的2.2.2.2网段的路径只有下面一条是正常的,发送的数据包与回应的数据包都从下面的路径走,而不是与之前那样发送与回应的路径 不同,request包与reply包都从同一路径走,如下图:
在这里插入图片描述

3、把总公司到分公司之间AR5的G0/0/1接口undo shutdown,后再把总公司到分公司之间AR1的G0/0/0接口shutdown,然后查看总公司AR3上的BGP路由表与ip路由表中的BGP协议路由时,只剩下10.1.35.5的下一跳路由了,被shutdown的接口10.1.13.1的路由自然就不存在
(1)查看AR3的ip路由表中的BGP协议路由,与BGP路由表如下图:
在这里插入图片描述

(2)总公司从AR3的4.4.4.4网段到分公司AR4的3.3.3.3网段的路径只有下面一条正常的情况下,发送的数据包与回应的数据包都从下面的路径走,而不是与之前那样发送与回应的路径 不同,request包与reply包都从同一路径走,如下图:
在这里插入图片描述

4、结论:从以上验证,说明当链路中某个节点故障后,网络仍可正常运行,总公司到达分公司的网络路径会自动切换到另一条。
通过本次实验,验证了BGP协议通过自身的特性能达到防环的目标,> 表示最优路由,BGP路由表 ,>其下方的一条路由则是次优路由,采用路由策略route-policy调用前缀列表ip-prefix,控制网络流量的AS_PATH属性值 ,实现了总公司与分公司之间链路的流量负载均衡,提高了网络资源的利用率。另外也通过shutdown命令在网络制造故障后,总公司到分公司的网络流量也可以从另一条路径走,提升了网络的可靠性、可用性。

相关文章:

BGP通过route-policy路由策略调用ip-prefix网络前缀实现负载均衡与可靠性之AS-path属性

一、实验场景 1、loopback0与loopback1模拟企业实际环境中的某个网段。 2、本例目标总公司AR3的1.1.1.1/32网段到分公司AR4的3.3.3.3/32的流量从上方的AS500自治系统走。 3、本例目标总公司AR3的4.4.4.4/32网段到分公司AR4的2.2.2.2/32的流量从下面的AS300、AS400自治系统走。…...

每日速记10道java面试题14-MySQL篇

其他资料 每日速记10道java面试题01-CSDN博客 每日速记10道java面试题02-CSDN博客 每日速记10道java面试题03-CSDN博客 每日速记10道java面试题04-CSDN博客 每日速记10道java面试题05-CSDN博客 每日速记10道java面试题06-CSDN博客 每日速记10道java面试题07-CSDN博客 每…...

内存图及其画法

所有的文件都存在硬盘上,首次使用的时候才会进入内存 进程:有自己的Main方法,并且依赖自己Main运行起来的程序。独占一块内存区域,互不干扰。内存中有一个一个的进程。 操作系统只认识c语言。操作系统调度驱动管理硬件&#xff0…...

Ansys Maxwell:Qi 无线充电组件

Qi 无线充电采用感应充电技术,无需物理连接器或电缆,即可将电力从充电站传输到兼容设备。由 WPC 管理的 Qi 标准确保了不同无线充电产品之间的互操作性。以下是 Qi v1.3 标准的核心功能: Qi v1.3 标准的主要特点 身份验证:确保充…...

【Shell 脚本实现 HTTP 请求的接收、解析、处理逻辑】

以下是一个实现客户端对 Shell HTTP 服务发起 POST 请求并传入 JSON 参数的完整示例。Shell 服务会解析收到的 JSON 数据,根据内容执行操作。 服务端脚本:http_server.sh 以下脚本使用 netcat (nc) 来监听 HTTP 请求,并通过 jq 工具解析 JSO…...

【北京迅为】iTOP-4412全能版使用手册-第六十七章 USB鼠标驱动详解

iTOP-4412全能版采用四核Cortex-A9,主频为1.4GHz-1.6GHz,配备S5M8767 电源管理,集成USB HUB,选用高品质板对板连接器稳定可靠,大厂生产,做工精良。接口一应俱全,开发更简单,搭载全网通4G、支持WIFI、蓝牙、…...

【青牛科技】拥有两个独立的、高增益、内部相位补偿的双运算放大器,可适用于单电源或双电源工作——D4558

概述: D4558内部包括有两个独立的、高增益、内部相位补偿的双运算放大器,可适用于单电源或双电源工作。该电路具有电压增益高、噪声低等特点。主要应用于音频信号放大,有源滤波器等场合。 D4558采用DIP8、SOP8的封装形式 主要特点&#xff…...

Kafka 数据写入问题

目录标题 分析思路1. **生产者配置问题**:Kafka生产者的配置参数生产者和消费者的处理确定并优化 2. **网络问题**:3. **Kafka 集群配置问题**:unclean.leader.election.enable 4. **Zookeeper 配置问题**:5. **JVM 参数调优**&am…...

实战ansible-playbook(九)-profile配置- 确保 CUDA 和 MPI 环境变量正确设置并立即生效

Playbook 分析 --- - name: 确保 CUDA 和 MPI 环境变量正确设置并立即生效hosts: pod2 # 指定目标主机组或具体主机名become: yes # 使用特权提升(sudo),以root权限执行某些需要权限的任务remote_user: canopy # 远程连接使用的用户名vars: # 定义全局变量,用于Playbo…...

气膜馆:科技与环保融合的未来建筑新选择—轻空间

在全球城市化进程不断加快的背景下,传统建筑方式面临着越来越多的挑战。如何在有限的土地和资源条件下,快速、高效、环保地搭建符合多功能需求的建筑,成为现代建筑行业亟待解决的重要课题。而随着科技的进步与建筑材料的创新,一种…...

git回退到某个版本git checkout和git reset命令的区别

文章目录 1. git checkout <commit>2. git reset --hard <commit>两者的区别总结推荐使用场景* 在使用 Git 回退到某个版本时&#xff0c; git checkout <commit> 和 git reset --hard <commit> 是两种常见的方式&#xff0c;但它们的用途和影响有很…...

Preprocess

Preprocess数据预处理 文本 使用Tokenizer将文本转换为标记序列&#xff0c;创建标记的数值表示&#xff0c;并将它们组装成张量。 预处理文本数据的主要工具是标记器。标记器根据一组规则将文本拆分为标记。标记被转换为数字&#xff0c;然后转换为张量&#xff0c;这些张量…...

stm32 spi接口传输asm330l速率优化(及cpu和dma方式对比)

最近一段时间做了一个mems的项目&#xff0c;项目的方案是stm32g071做主控&#xff0c;读写3颗asm330l的硬件形态。最初是想放置4颗imu芯片&#xff0c;因为pcb空间布局的问题&#xff0c;改放了3颗。但对于软件方案来说无所谓&#xff0c;关键是如何优化spi的传输速率&#xf…...

数字时代的文化宝库:存储技术与精神生活

文章目录 1. 文学经典的数字传承2. 音乐的无限可能3. 影视艺术的数字化存储4. 结语 数字时代的文化宝库&#xff1a;存储技术与精神生活 在数字化的浪潮中&#xff0c;存储技术如同一座桥梁&#xff0c;连接着过去与未来&#xff0c;承载着人类文明的瑰宝。随着存储容量的不断增…...

flex: 1 display:flex 导致的宽度失效问题

flex: 1 & display:flex 导致的宽度失效问题 问题复现 有这样的一个业务场景&#xff0c;详情项每行三项分别占33%宽度&#xff0c;每项有label字数不固定所以宽度不固定&#xff0c;还有content 占满标签剩余宽度&#xff0c;文字过多显示省略号&#xff0c; 鼠标划入展示…...

Hive 窗口函数与分析函数深度解析:开启大数据分析的新维度

Hive 窗口函数与分析函数深度解析&#xff1a;开启大数据分析的新维度 在当今大数据蓬勃发展的时代&#xff0c;Hive 作为一款强大的数据仓库工具&#xff0c;其窗口函数和分析函数犹如一把把精巧的手术刀&#xff0c;助力数据分析师们精准地剖析海量数据&#xff0c;挖掘出深…...

前端工程 Node 版本如何选择

1. Node 与 Npm 版本对应 这是一个必知必会的问题&#xff0c;尤其是对于维护那些老掉牙、一坨坨、非常大的有着长期历史的老破大工程。 1.1. package-lock.json 版本 首先你要会看项目的 package-lock.json 文件中的 lockfileVersion 版本号&#xff0c;这对于 NPM 安装来说…...

推荐在线Sql运行

SQL Fiddle 1、网址&#xff1a;SQL Fiddle - Online SQL Compiler for learning & practiceDiscover our free online SQL editor enhanced with AI to chat, explain, and generate code. Support SQL Server, MySQL, MariaDB, PostgreSQL, and SQLite.http://www.sqlfi…...

【数据结构】【线性表】特殊的线性表-字符串

目录 字符串的基本概念 字符串的三要素 字符串的基本概念 串的编码 串的实现及基本运算 顺序串的实现 串的静态数组实现 串的动态数组的实现 顺序存储的四种方案 链式串的实现 基本运算 方案三 方案一 字符串的基本概念 数据结构千千万&#xff0c…...

app-1 App 逆向环境准备(mumu模拟器+magisk+LSPosed+算法助手+抓包(socksDroid+charles)+Frida环境搭建

一、前言 本篇是基于 mumu模拟器 进行环境配置记录。&#xff08;真机的后面博客记录&#xff09; 二、mumu模拟器magiskLSPosed算法助手 2.1、mumu模拟器 选择 mumu 模拟器&#xff0c;下载地址&#xff1a;https://mumu.163.com 安装完成后打开&#xff0c;找到设置中心进…...

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

JavaSec-RCE

简介 RCE(Remote Code Execution)&#xff0c;可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景&#xff1a;Groovy代码注入 Groovy是一种基于JVM的动态语言&#xff0c;语法简洁&#xff0c;支持闭包、动态类型和Java互操作性&#xff0c…...

[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解

突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 ​安全措施依赖问题​ GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外&#xff0c;K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案&#xff0c;全安装在K8S群集中。 具体可参…...

Oracle查询表空间大小

1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

23-Oracle 23 ai 区块链表(Blockchain Table)

小伙伴有没有在金融强合规的领域中遇见&#xff0c;必须要保持数据不可变&#xff0c;管理员都无法修改和留痕的要求。比如医疗的电子病历中&#xff0c;影像检查检验结果不可篡改行的&#xff0c;药品追溯过程中数据只可插入无法删除的特性需求&#xff1b;登录日志、修改日志…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程&#xff0c;并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令&#xff0c;把数据流转换成Message&#xff0c;状态转变流程是&#xff1a;State::Created 》 St…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元&#xff08;GRU&#xff09;长短期记忆神经网络&#xff08;LSTM&#xff09…...

在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?

uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件&#xff0c;用于在原生应用中加载 HTML 页面&#xff1a; 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...