APP下载

一种非令牌的环网中一跳转发数据的方法*

2022-08-23冉茂琪王建兵冯玖江

通信技术 2022年7期
关键词:令牌环网环路

冉茂琪,李 文,张 益,王建兵,冯玖江,邢 川

(1.重庆金美通信有限责任公司,重庆 400030;2.中国人民解放军军事科学院 系统工程研究院,北京 100141)

0 引言

令牌在环网中沿着环网的总线,在环网上的各个节点间依次传递。令牌自身不含有业务消息,只是为了控制环网信道的使用,即保证在某个时刻,仅有一个节点能够使用当前信道。当环网上节点处于空闲状态时,令牌继续沿着环网传递。环网中的节点发送数据前必须取得令牌,所以不会造成碰撞。又因令牌在环网上是按一定顺序依次传递的,因此对所有环网中的节点而言,访问权是公平的。

根据令牌环网的特性可以发现,在某一时刻,环网中只有一个节点能够使用信道,因此采用令牌无法充分使用信道资源[5],并且还需要不断维护令牌[6],一旦令牌控制异常,整个环网通信将会出现异常。

若为提高信道利用率而取消令牌机制,则当环网节点采用2 层交换通信,交换机的2 层接口收到广播报文时,会在其广播域内向所有端口转发[7],在环网拓扑中,数据包将会被不断复制和转发,直至网络瘫痪;若采用3 层交换通信[8],由于生存时间(Time To Live,TTL)字段缘故(IPv4 包的第9个字节的TTL 字段取值范围为0~255,该字段表示网际协议(Internet Protocol,IP)数据包在计算机网络中可以转发的最大跳数,即最大跳数为255跳),IP 报文每通过一个节点进行3 层转发后,TTL 值将会减少1,直至到达目的地,若在到达目的地之前,TTL 已耗尽(值为0),则数据包将不会被继续转发[9],因此使得计算机网络中的节点个数受到一定的限制。

综上所述,在环网通信中,亟需一种实现方法来减少维护令牌资源的成本,并提高环网通信信道利用效率,同时还需要该方法能防止环网广播风暴,解决TTL 对网络节点拓扑的限制等问题。

本文针对上述问题,提出一种非令牌的环网中一跳转发数据的解决方法[10],并在实际应用中得以实施和验证。所提方法可以为有类似功能需求的读者提供一种可参考的解决思路。

1 非令牌环网的构建

1.1 物理链路层的搭建

根据不同的使用场景,环网拓扑会有多种结构[11-12],会出现单环模型与多环模型之分[13],但其中核心的环网拓扑可抽象为图1。

本文旨在通过对经权思想的历史嬗变之梳理,对经权思想内涵的挖掘,冀望对翻译理论的研究与实践提供某种尝试与探索。

图1 中各节点可表示交换机节点或其他功能等同的设备,互联链路为有线链路,节点1 的port2口与节点2 相连,节点2 与节点3 相连,以此类推,直到节点n与节点1 的port1 相连,即节点1 至节点n分别与其相邻节点进行互联形成环网[14]。

需要说明的是,互联链路并非一定是如图1 所示的单链路,也可以是具有冗余备份的连接链路,即可以是等价为单链路的一组连接链路,如聚合链路。

1.2 非令牌环网设计流程

非令牌环网则是在环网架构下,不使用令牌机制,而使用其他方法来实现环网中各节点间的通信功能。为此,设计出非令牌环网软件的基本实现流程,如图2 所示。

采用非令牌通信机制进行节点间通信,首先要对环网各节点上互联端口进行相应参数配置;其次在节点上使用多生成树协议(Multiple Spanning Tree Protocol,MSTP)消除通信环路、防止广播风暴,同时还要采用策略控制捕获预设类型的协议报文,进行识别处理;最后采用2 层通信与所述策略控制相结合的方法,实现环网中节点间通信数据一跳到达。

2 环网节点配置

2.1 节点端口PVLAN 配置

为解决IP 报文转发受TTL 限制的问题,采用2 层转发方法,实现一跳转发。

以图1 环网中节点1 为例,采用基于端口的虚拟局域网(Virtual Local Area Network,VLAN)配置方式来配置节点1 的port1 与port2。设置port1 与port2 为ACCESS 类型,ACCESS 类型下的端口只能属于1 个VLAN,该VLAN 通常被称为端口的私有VLAN(Private VLAN,PVLAN),并且配置port1与port2 的PVLAN 值相等。

环网中其他节点的端口配置可参照节点1,不同节点上的PVLAN 值可以不相同。

2.2 MSTP 配置

MSTP 主要用于解决以太网环路问题,防止形成通信环路,实现链路冗余备份。

MSTP 兼容快速生成树协议(Rapid Spanning Tree Protocol,RSTP)和生成树协议(Spanning Tree Protocol,STP),具有收敛快、多实例等特点,因此以图1 中环网的节点1 为例,对节点1 的port1、port2 启用MSTP 协议[1],其他节点端口配置MSTP的方法与之相同。

2.3 策略控制

环网中节点与节点之间的通信存在协议交互,例如邻居发现协议、路由协议、节点控制协议等协议报文,往往包含组播通信、广播通信,而部分协议又只需要与相邻节点进行通信,而不需要与远端节点通信。由于在本方法设计中,主体通信方法采用的是2 层转发通信,在数据包是组播、广播的情况下,将会从一个节点转发至环网中的多个节点,因此需要将这类报文识别出来,进行重定向处理,对于不符合通信业务需求的报文设置为丢弃,防止其通过二层转发发送至下一节点。

网络通信中的交换设备,通常有对数据报文进行策略控制的模块,其主要实现流程为截获数据报文,识别特定字段,执行动作。执行动作又主要有重定向、丢弃、修改报文数据等。策略控制主要用于对符合识别条件的数据报文进行特殊处理,以此来满足对应的功能需求。

策略控制处理流程如图3 所示,对捕获的报文进行识别匹配,若匹配成功则执行相应动作(重定向或丢弃或其他);若匹配失败,则不对该报文进行特殊处理,依据其原有处理规则进行处理。

3 实验测试

3.1 实验环境搭建

由于真实实验环境中,不可能存在无限多个节点,因此实验测试主要采用有限个节点组成环网,旨在验证本文所提出的方法的可行性。

如图4 所示,搭建具有6 个节点的环网,节点间采用光纤接口相连,并为各节点配置IP 地址,其中节点2 具有双IP 地址,其目的是验证节点之间的IP 地址即使在不同网段,也能实现通信。同时按照前文所述,配置相应端口参数、路由协议、自定义协议、MSTP 功能、策略控制等。

图4 实验测试环境拓扑

3.2 MSTP 状态查询

完成拓扑搭建后,为保证通信环路未成环,查询各个节点中的MSTP 状态。图5 为节点1 至节点5 的端口状态,均为转发状态(forwarding,FWD)。图6 为节点6 的端口状态,其中节点6 的port1 为阻塞状态(blocking,BLK)。

图5 节点1 至节点5 的端口状态

图6 节点6 的端口状态

结合各节点中的MSTP 状态,可将环路的通信拓扑等效为图7,节点1 至节点6 依次连接,而节点1 与节点6 之间为断开状态。

图7 MSTP 状态下的等效通信拓扑

3.3 路由状态查询

节点间已配置相应路由参数与策略控制,因此使得节点所需的自定义协议报文、路由报文等,可以只转发给邻居节点,而不转发给远端节点,从而减少协议报文对环网资源的占用。

以节点1 为例,查看节点1 路由信息如图8 所示。对于节点1 而言,发往其他节点的业务消息,其出接口均为节点2,从物理接口上看即是以太网光口3,符合预期设置。

图8 节点1 的路由表

3.4 节点通信测试

为测试图4 中实验环境的通信情况,使用节点1(IP 为111.0.0.1)与节点6(IP 为116.0.0.1)进行ping 包测试,测试结果如图9 所示,可以看出,节点1 与节点6 能实现正常通信。

图9 节点1 与节点6 通信的镜像数据

3.5 实验总结

根据上述实验与理论相结合,可得出本文所提出方法能达到预期效果,其中主要的验证点如表1所示,可以看出,所提方法达到了全部期望。

表1 验证点与期望结果

4 结语

针对环网通信中存在的环路问题,所提方法使用MSTP 协议,在非令牌通信机制的环形网络中,进行消除通信环路,而物理连接上仍然保持原有的环形拓扑不变。针对部分协议报文会在同VLAN 下所有接口进行转发的问题,所提方法采用策略控制,对特定的组播报文、广播报文进行识别、处理,使其不从环网中的端口转发至下一节点,处理动作主要为丢弃或重定向至其他接口。此外,针对转发跳数受TTL 限制的问题,所提方法采用2 层转发而非3 层转发,可以使环形拓扑中任一节点发送IP 报文,实现一跳转发,进而可以增加通信节点数量。该方法目前已应用到实际项目中,并在真实应用环境中验证了其有效性。

猜你喜欢

令牌环网环路
直流电源系统环网故障危害分析
一起直流接线错误引起的环网故障分析
称金块
外差式光锁相环延时对环路性能影响
电力光纤通信环网的可靠路由与可靠性测评
基于ODUk Spring方式实现基础网络环网保护的研究
基于路由和QoS令牌桶的集中式限速网关
选取环路切换策略的高动态载波跟踪算法研究*
基于WTRP网络的自适应令牌传递算法*
惯导辅助的北斗接收机深组合环路跟踪方法研究