VLAN状态的协商方法及边缘设备.pdf

上传人:小** 文档编号:4753670 上传时间:2018-11-06 格式:PDF 页数:28 大小:5.23MB
返回 下载 相关 举报
摘要
申请专利号:

CN201210293245.9

申请日:

2012.08.17

公开号:

CN102811153A

公开日:

2012.12.05

当前法律状态:

授权

有效性:

有权

法律详情:

专利权人的姓名或者名称、地址的变更IPC(主分类):H04L 12/46变更事项:专利权人变更前:杭州华三通信技术有限公司变更后:新华三技术有限公司变更事项:地址变更前:310053 浙江省杭州市高新技术产业开发区之江科技工业园六和路310号华为杭州生产基地变更后:310052 浙江省杭州市滨江区长河路466号|||授权|||实质审查的生效IPC(主分类):H04L 12/46申请日:20120817|||公开

IPC分类号:

H04L12/46; H04L12/56; H04L9/32

主分类号:

H04L12/46

申请人:

杭州华三通信技术有限公司

发明人:

宋小恒

地址:

310053 浙江省杭州市高新技术产业开发区之江科技工业园六和路310号华为杭州生产基地

优先权:

专利代理机构:

北京德琦知识产权代理有限公司 11018

代理人:

郑红娟;宋志强

PDF下载: PDF下载
内容摘要

本发明公开了一种VLAN状态的协商方法及边缘设备,其中,该方法包括:第一边缘设备对站点内同一EVI实例的邻居第二边缘设备进行身份认证,并在身份认证成功之后,将该EVI实例对应的VLAN的状态从初始状态切换到交换状态;第一边缘设备与第二边缘设备相互通告各自所确定的VLAN的最终状态;且第一边缘设备判断自己与第二边缘设备所确定的VLAN的最终状态是否相同;若第一边缘设备判定出自己与第二边缘设备所确定的VLAN的最终状态不同,则第一边缘设备将VLAN的状态从交换状态切换到自己所确定的最终状态;若第一边缘设备判定出自己与第二边缘设备所确定的VLAN的最终状态相同,则第一边缘设备将VLAN的状态从交换状态切换到初始状态。

权利要求书

1: 一种虚拟局域网 VLAN 状态的协商方法, 应用于以太网连接虚拟化 EVI 网络, 其特征 在于, 所述方法包括 : 第一边缘设备对站点内同一 EVI 实例的邻居第二边缘设备进行身份认证, 并在身份认 证成功之后, 将该 EVI 实例对应的 VLAN 的状态从初始状态切换到交换状态 ; 其中, 边缘设备 上 VLAN 的状态处于初始状态或交换状态时, 该边缘设备不允许转发该 EVI 实例对应的 VLAN 中的报文, 边缘设备初始化后, 其上该 EVI 实例对应的 VLAN 的状态进入所述初始状态 ; 所述第一边缘设备与第二边缘设备相互通告各自所确定的 VLAN 的最终状态 ; 且所述 第一边缘设备判断自己与所述第二边缘设备所确定的 VLAN 的最终状态是否相同 ; 若所述第一边缘设备判定出自己与所述第二边缘设备所确定的 VLAN 的最终状态不 同, 则所述第一边缘设备将 VLAN 的状态从交换状态切换到自己所确定的最终状态 ; 其中, 当该最终状态为激活状态时, 所述第一边缘设备允许转发该 VLAN 中的报文, 当该最终状态 为非激活状态时, 所述第一边缘设备不允许转发该 VLAN 中的报文 ; 若所述第一边缘设备判定出自己与所述第二边缘设备所确定的 VLAN 的最终状态相 同, 则所述第一边缘设备将 VLAN 的状态从所述交换状态切换到所述初始状态。2: 根据权利要求 1 所述的方法, 其特征在于, 在所述第一边缘设备判定出自己与所述 第二边缘设备所确定的 VLAN 的最终状态不同之后, 以及在所述第一边缘设备将 VLAN 的状 态从交换状态切换到自己所确定的最终状态之前, 还包括 : 所述第一边缘设备向所述第二边缘设备发送确认消息, 其中, 所述确认消息中携带有 自己和所述第二边缘设备所确定的 VLAN 的最终状态 ; 在接收到所述第二边缘设备发来的确认消息之后, 所述第一边缘设备判定出接收的确 认消息中携带的所述第一边缘设备和所述第二边缘设备所确定的 VLAN 的最终状态分别与 本地保存的对应的最终状态一致。3: 根据权利要求 2 所述的方法, 其特征在于, 在所述接收到所述第二边缘设备发来的 确认消息之后, 还包括 : 若判定出接收的确认消息中携带的所述第一边缘设备或所述第二边缘设备所确定的 VLAN 的最终状态与本地保存的对应的最终状态不一致, 则所述第一边缘设备将 VLAN 的状 态从所述交换状态切换到所述初始状态。4: 根据权利要求 1 至 3 中任一项所述的方法, 其特征在于, 若所述第一边缘设备对所述 第二边缘设备进行身份认证失败, 则所述第一边缘设备将 VLAN 的状态维持在所述初始状 态。5: 根据权利要求 1 至 3 中任一项所述的方法, 其特征在于, 所述第一边缘设备与第二边 缘设备相互通告各自所确定的 VLAN 的最终状态包括 : 当 VLAN 的状态处于所述交换状态时, 所述第一边缘设备向所述第二边缘设备发送携 带有自己的以太网连接虚拟化 EVI 属性信息的 VLAN 状态消息, 以便所述第二边缘设备根据 所述第一边缘设备和所述第二边缘设备的 EVI 属性信息确定所述第二边缘设备的 VLAN 的 最终状态 ; 所述第一边缘设备接收到所述第二边缘设备发来的携带有所述第二边缘设备的 EVI 属性信息的 VLAN 状态消息之后, 根据自己和所述第二边缘设备的 EVI 属性信息, 确定自己 的 VLAN 的最终状态, 并保存到本地 ; 2 所述第一边缘设备将所确定的自己的 VLAN 的最终状态通告给所述第二边缘设备 ; 所述第一边缘设备接收所述第二边缘设备所确定的 VLAN 的最终状态, 并保存到本地。6: 根据权利要求 5 所述的方法, 其特征在于, 所述 EVI 属性信息包括 : EVI 实例标识符、 EVI 实例优先级和要进行协商的 VLAN 的优先级 ; 所述第一边缘设备根据自己和所述第二边 缘设备的 EVI 属性信息, 确定自己的 VLAN 的最终状态包括 : 所述第一边缘设备比较自己的 EVI 实例优先级与所述第二边缘设备的 EVI 实例优先 级; 若所述第一边缘设备与所述第二边缘设备的 EVI 实例优先级不同, 则所述第一边缘设 备在自己的 EVI 实例优先级高于所述第二边缘设备时, 确定自己的 EVI 实例中包含的要进 行协商的 VLAN 的最终状态为激活状态, 并在低于时, 确定自己的 EVI 实例中包含的要进行 协商的 VLAN 的最终状态为非激活状态 ; 若所述第一边缘设备与所述第二边缘设备的 EVI 实例优先级相同, 则针对每一个要进 行协商的 VLAN, 比较自己与所述第二边缘设备上该 VLAN 的优先级 ; 若自己与所述第二边缘设备上该 VLAN 的优先级不同, 则所述第一边缘设备在自己的 该 VLAN 的优先级高于所述第二边缘设备时, 确定自己的该 VLAN 的状态为激活状态, 并在低 于时, 确定自己的该 VLAN 的状态为非激活状态 ; 若自己与所述第二边缘设备上该 VLAN 的优先级 VLAN 优先级相同, 则所述第一边缘设 备在自己的桥 MAC 的地址大于所述第二边缘设备时, 确定自己的该 VLAN 的状态为激活状 态, 并在小于时, 确定自己的该 VLAN 的状态为非激活状态。7: 根据权利要求 1 至 3 中任一项所述的方法, 其特征在于, 还包括 : 当 VLAN 的状态处于最终状态时, 所述第一边缘设备在接收到所述第二边缘设备发来 的邻居发现 Hello 报文以及身份认证消息之后, 对所述第二边缘设备进行身份认证, 其中, 该身份认证消息是所述第二边缘设备在初始探测到站点内有同一 EVI 实例的邻居所述第 一边缘设备存在时发送的, 或者是所述第二边缘设备的 VLAN 处于最终状态时, 在所述第 二边缘设备的以下信息至少之一 : EVI 属性信息、 身份识别信息、 桥 MAC 发生改变之后发送 的; 在身份认证成功之后, 所述第一边缘设备将 VLAN 的状态从该最终状态切换到初始状 态。8: 根据权利要求 1 至 3 中任一项所述的方法, 其特征在于, 还包括 : 当 VLAN 的状态处于最终状态时, 在所述第一边缘设备的以下信息至少之一 : EVI 属性 信息、 身份识别信息、 桥 MAC 发生改变之后, 所述第一边缘设备向所述第二边缘设备发送身 份认证消息, 之后将 VLAN 的状态从该最终状态切换到初始状态。9: 根据权利要求 2 所述的方法, 其特征在于, 在所述第一边缘设备将 VLAN 的状态从交 换状态切换到自己所确定的最终状态之后, 还包括 : 当 VLAN 的状态处于最终状态时, 在所述第一边缘设备的 EVI 属性信息发生改变之后, 所述第一边缘设备将改变后的 EVI 属性信息携带在 VLAN 状态消息中发送给所述第二边缘 设备, 以便所述第二边缘设备根据所述第二边缘设备的 EVI 属性信息以及所述第一边缘设 备改变后的 EVI 属性信息, 重新确定所述第二边缘设备的 VLAN 的最终状态 ; 所述第一边缘设备根据自己改变后的 EVI 属性信息和所述第二边缘设备的 EVI 属性信 3 息, 重新确定自己的 VLAN 的最终状态, 并通告给所述第二边缘设备 ; 在接收到所述第二边缘设备重新确定的 VLAN 的最终状态之后, 所述第一边缘设备, 并 在判定出自己与所述第二边缘设备重新确定的 VLAN 的最终状态不同之后, 向所述第二边 缘设备发送确认消息, 其中, 本地保存的对应的最终状态分别更新为 : 所述第一边缘设备重 新确定的 VLAN 的最终状态和接收到的所述第二边缘设备重新确定的 VLAN 的最终状态 ; 在接收到所述第二边缘设备发来的确认消息之后, 若所述第一边缘设备判定出接收的 确认消息中携带的所述第一边缘设备和所述第二边缘设备确定的 VLAN 的最终状态分别与 本地保存的对应的最终状态一致, 则所述第一边缘设备将自己的 VLAN 的最终状态更新为 重新确定的最终状态。10: 一种边缘设备, 其特征在于, 应用于以太网连接虚拟化 EVI 网络, 所述边缘设备包 括: 身份认证模块, 用于对本边缘设备所在的站点内与本边缘设备为同一 EVI 实例的邻居 第二边缘设备进行身份认证 ; VLAN 状态切换模块, 用于在所述身份认证模块对所述第二边缘设备进行身份认证成功 之后, 将本边缘设备的该 EVI 实例对应的 VLAN 的状态从初始状态切换到交换状态, 以及, 在判断模块判定出本边缘设备与所述第二边缘设备所确定的 VLAN 的最终状态不同时, 将 VLAN 的状态从所述交换状态切换到本边缘设备所确定的最终状态, 在所述判断模块判定 出本边缘设备与所述第二边缘设备所确定的 VLAN 的最终状态相同时, 将 VLAN 的状态从所 述交换状态切换到所述初始状态 ; 其中, 边缘设备上 VLAN 的状态处于初始状态或交换状态 时, 该边缘设备不允许转发该 EVI 实例对应的 VLAN 中的报文, 边缘设备初始化后, 其上该 EVI 实例对应的 VLAN 的状态进入所述初始状态 ; 当本边缘设备所确定的 VLAN 的最终状态 为激活状态时, 本边缘设备允许转发该 VLAN 中的报文, 当本边缘设备所确定的 VLAN 的最终 状态为非激活状态时, 本边缘设备不允许转发该 VLAN 中的报文 ; 所述确定通告模块, 用于在所述 VLAN 状态切换模块将 VLAN 的状态从初始状态切换到 交换状态之后, 与所述第二边缘设备相互通告各自所确定的 VLAN 的最终状态 ; 所述判断模块, 用于判断本边缘设备与所述第二边缘设备所确定的 VLAN 的最终状态 是否相同。11: 根据权利要求 10 所述的设备, 其特征在于, 还包括 : 确认模块, 其中 : 所述确认模块用于在所述判断模块判定出本边缘设备与所述第二边缘设备所确定的 VLAN 的最终状态不同之后, 以及在所述 VLAN 状态切换模块将 VLAN 的状态从所述交换状态 切换到本边缘设备所确定的最终状态之前, 向所述第二边缘设备发送确认消息, 以及接收 所述第二边缘设备发来的确认消息, 其中, 所述确认消息中携带有本边缘设备和所述第二 边缘设备所确定的 VLAN 的最终状态 ; 所述判断模块还用于判断所述确认模块接收的确认消息中携带的本边缘设备和所述 第二边缘设备所确定的 VLAN 的最终状态是否分别与本边缘设备中保存的对应的最终状态 一致, 并在一致时, 通知所述 VLAN 状态切换模块将 VLAN 的状态从所述交换状态切换到本边 缘设备所确定的最终状态。12: 根据权利要求 11 所述的设备, 其特征在于, 所述 VLAN 状态切换模块还用于在所述判断模块判定出所述确认模块接收的确认消息 4 中携带的本边缘设备或所述第二边缘设备所确定的 VLAN 的最终状态与本边缘设备中保存 的对应的最终状态不一致时, 将 VLAN 的状态从所述交换状态切换到所述初始状态。13: 根据权利要求 10 至 12 中任一项所述的设备, 其特征在于, 所述 VLAN 状态切换模块还用于在所述认证执行模块对所述第二边缘设备进行身份认 证失败之后, 将 VLAN 的状态维持在所述初始状态。14: 根据权利要求 10 至 12 中任一项所述的设备, 其特征在于, 所述确定通告模块包 括: 第二收发模块, 用于在 VLAN 的状态处于所述交换状态时, 向所述第二边缘设备发送携 带有本边缘设备的以太网连接虚拟化 EVI 属性信息的 VLAN 状态消息, 以便所述第二边缘设 备根据本边缘设备和所述第二边缘设备的 EVI 属性信息确定所述第二边缘设备的 VLAN 的 最终状态, 接收所述第二边缘设备发来的携带有所述第二边缘设备的 EVI 属性信息的 VLAN 状态消息, 将所述状态确定模块所确定的本边缘设备的 VLAN 的最终状态通告给所述第二 边缘设备, 以及, 接收所述第二边缘设备发来的所述第二边缘设备所确定的 VLAN 的最终状 态; 所述状态确定模块, 用于根据本边缘设备和所述第二边缘设备的 EVI 属性信息, 确定 本边缘设备的 VLAN 的最终状态 ; 保存模块, 用于保存所述状态确定模块所确定的本边缘设备的 VLAN 的最终状态, 以及 所述第二收发模块接收到的所述第二边缘设备所确定的 VLAN 的最终状态。15: 根据权利要求 14 所述的设备, 其特征在于, 所述 EVI 属性信息包括 : EVI 实例标识 符、 EVI 实例优先级和要进行协商的 VLAN 的优先级 ; 所述状态确定模块包括 : 第一比较单元, 用于比较本边缘设备的 EVI 实例优先级与所述第二边缘设备的 EVI 实 例优先级 ; 确定单元, 用于在所述第一比较单元比较出本边缘设备与所述第二边缘设备的 EVI 实 例优先级不同的情况下, 在本边缘设备的 EVI 实例优先级高于所述第二边缘设备时, 确定 本边缘设备的 EVI 实例中包含的要进行协商的 VLAN 的最终状态为激活状态, 并在低于时, 确定本边缘设备的 EVI 实例中包含的要进行协商的 VLAN 的最终状态为非激活状态 ; 在所述 第二比较单元比较出本边缘设备与所述第二边缘设备上该 VLAN 的优先级不同的情况下, 在本边缘设备的该 VLAN 的优先级高于所述第二边缘设备时, 确定本边缘设备的该 VLAN 的 状态为激活状态, 并在低于时, 确定本边缘设备的该 VLAN 的状态为非激活状态 ; 在本边缘 设备与所述第二边缘设备上该 VLAN 的优先级 VLAN 优先级相同的情况下, 在本边缘设备的 桥 MAC 的地址大于所述第二边缘设备时, 确定本边缘设备的该 VLAN 的状态为激活状态, 并 在小于时, 确定本边缘设备的该 VLAN 的状态为非激活状态 ; 所述第二比较单元, 用于在所述第一比较单元比较出本边缘设备与所述第二边缘设备 的 EVI 实例优先级相同的情况下, 针对每一个要进行协商的 VLAN, 比较本边缘设备与所述 第二边缘设备上该 VLAN 的优先级。16: 根据权利要求 10 至 12 中任一项所述的设备, 其特征在于, 还包括 : 消息接收模块, 其中 : 所述消息接收模块用于接收所述第二边缘设备发来的邻居发现 Hello 报文以及身份 认证消息, 并通知所述身份认证模块中的认证执行模块对所述第二边缘设备进行身份认 5 证, 其中, 该身份认证消息是所述第二边缘设备在初始探测到自己所在的站点内有与自己 为同一 EVI 实例的邻居本边缘设备存在时发送的, 或者是所述第二边缘设备的 VLAN 处于最 终状态时, 在所述第二边缘设备的以下信息至少之一 : EVI 属性信息、 身份识别信息、 桥 MAC 发生改变之后发送的 ; 所述 VLAN 状态切换模块还用于在 VLAN 的状态处于最终状态时, 在所述消息接收模块 接收到所述第二边缘设备发来的 Hello 报文以及身份认证消息, 且所述认证执行模块对所 述第二边缘设备进行身份认证成功之后, 将 VLAN 的状态从该最终状态切换到初始状态。17: 根据权利要求 10 至 12 中任一项所述的设备, 其特征在于, 还包括 : 消息发送模块, 其中 : 所述消息发送模块用于在 VLAN 的状态处于最终状态时, 在本边缘设备的以下信息至 少之一 : EVI 属性信息、 身份识别信息、 桥 MAC 发生改变之后, 向所述第二边缘设备发送身份 认证消息 ; 所述 VLAN 状态切换模块还用于在所述消息发送模块向所述第二边缘设备发送身份认 证消息之后, 将 VLAN 的状态从该最终状态切换到初始状态。18: 根据权利要求 11 所述的设备, 其特征在于, 所述确认模块还用于在所述 VLAN 状态切换模块将 VLAN 的状态从所述交换状态切换 到最终状态之后, 在本边缘设备的 EVI 属性信息发生改变时, 将改变后的 EVI 属性信息携带 在 VLAN 状态消息中发送给所述第二边缘设备, 以便所述第二边缘设备根据所述第二边缘 设备的 EVI 属性信息以及本边缘设备改变后的 EVI 属性信息, 重新确定所述第二边缘设备 的 VLAN 的最终状态, 以及, 在所述判断模块判定出本边缘设备与所述第二边缘设备重新确 定的 VLAN 的最终状态不同时, 向所述第二边缘设备发送确认消息, 以及接收所述第二边缘 设备发来的确认消息 ; 所述确定通告模块还用于根据本边缘设备改变后的 EVI 属性信息和所述第二边缘设 备的 EVI 属性信息, 重新确定本边缘设备的 VLAN 的最终状态, 并通告给所述第二边缘设备, 以及, 接收所述第二边缘设备发来的所述第二边缘设备重新确定的 VLAN 的最终状态, 并通 知所述判断模块判断本边缘设备与所述第二边缘设备重新确定的 VLAN 的最终状态是否相 同, 其中, 本边缘设备中保存的对应的最终状态分别更新为 : 本边缘设备重新确定的 VLAN 的最终状态和接收到的所述第二边缘设备重新确定的 VLAN 的最终状态 ; 所述判断模块还用于在所述确认模块接收到所述第二边缘设备发来的确认消息之后, 判断接收的确认消息中携带的本边缘设备和所述第二边缘设备重新确定的 VLAN 的最终状 态是否分别与本边缘设备中保存的对应的最终状态一致 ; 所述 VLAN 状态切换模块还用于在所述判断模块判定出接收的确认消息中携带的本边 缘设备和所述第二边缘设备重新确定的 VLAN 的最终状态分别与本边缘设备中保存的对应 的最终状态一致时, 将 VLAN 的最终状态更新为本边缘设备重新确定的最终状态。

说明书


VLAN 状态的协商方法及边缘设备

    【技术领域】
     本发明涉及通信技术领域, 特别涉及一种 VLAN 状态的协商方法及边缘设备。背景技术 EVI(Ethernet Virtual Interconnection, 以太网连接虚拟化) 是一种以太网互 联的技术, 可以在异地部署多个数据中心来实现负载分担和高可靠性, 并通过虚拟机在数 据中心之间进行自由迁移。一个大的数据中心可以由分布在不同地点的多个站点 (site) 组成。在利用 EVI 技术构建的数据中心网络 (称为 EVI 网络) 中, 站点通过边缘设备 (Edge Device, ED) 接入核心网时, 为了实现高可靠性, 防止网络中设备的单点故障, 通常使用两台 边缘设备以双归属方式 (即两台边缘设备归属一个站点) 接入核心网 (这两台边缘设备互为 同一 EVI 实例的邻居) 。在以双归属方式接入核心网的站点中, 可能会存在环路。为了防 止环路, 目前通常采用的解决方法是 : 在一个站点内, 使每一个 VLAN(Virtual Local Area Network, 虚拟局域网) 的数据流必须从同一个边缘设备进出核心网, 该 VLAN 即为该边缘设 备的激活 VLAN, 即, 每一个 VLAN 只能是站点内的一个边缘设备的激活 VLAN。边缘设备的激 活 VLAN 的集合是配置的扩展 VLAN(即, 私网 VLAN) 的子集, 从某个特定的扩展 VLAN 角度来 看, 网络仍然是单归属的, 从而不存在环路。
     在如图 1 所示的 EVI 双归属网络中, 站点 1 内的边缘设备 ED1 和 ED2 以双归属方式 接入核心网 (即图中的 EVI) , ED1 和 ED2 通过 CE(Customer Edge, 用户边缘设备) 10 下挂了 大量的服务器和主机设备 ; 站点 2 内的边缘设备 ED3 和 ED4 以双归属方式接入核心网, ED3 和 ED4 通过 CE20 下挂了大量的服务器和主机设备。VLAN100 在 ED1 和 ED4 上为激活 VLAN, 在 ED2 和 ED3 上为非激活 VLAN, 从而 VLAN100 的数量流只会在 ED1 和 ED4 这两个边缘设备 之间进出核心网, 站点 1 内和站点 2 内不会存在环路。
     为了实现在一个站点内, 一个 VLAN 的数据流只从同一个边缘设备进出核心网, 同 一个站点内的各个边缘设备 (即归属于同一个站点的两台边缘设备) 在站点内的网络上运 行站点内 ISIS(Intermediate System-to-Intermediate System, 中间系统到中间系统) 协议, 来协商各个边缘设备的激活 VLAN 与非激活 VLAN。 必须保证同一个站点内的边缘设备 相互之间的可达性, 以完成站点内 ISIS 协议报文的交互过程, 在规划数据中心网络时要配 置独立的控制 VLAN 来承载站点内 ISIS 协议报文。在现有技术中, 每一个边缘设备的用户 VLAN 状态有两个 : Active(激活) 和 Inactive(非激活) , 只有用户 VLAN 的状态处于 Active 的边缘设备才会转发该 VLAN 中的数据流, 具体的用户 VLAN 状态协商过程如下 :
     边缘设备双方交互 Site ISIS Hello(站点内 ISIS 邻居发现) 报文来形成邻居关 系, 并且在初始化时双方中的用户 VLAN 的状态均为 Active ; 然后, 双方通过两者之间的连 接接口相互发送协议报文, 以相互通告各自配置的扩展 VLAN ; 之后, 双方在接收到对方发 送的协议报文之后, 各自独立地在本地按照某种算法进行运算, 以便从扩展 VLAN 中选择自 己的激活 VLAN 和非激活 VLAN, 其中, 针对每一个 VLAN 都按照相同的方式运算 ; 最后双方各 自按照自己选择的激活 VLAN 和非激活 VLAN 修改各个 VLAN 的属性。例如, 图 1 中的 ED1 和
     ED2 通过上述协商过程进行协商之后, 得到 : VLAN100 对于 ED1 为 Active VLAN, 而对于 ED2 为 Inactive VLAN, 之后 ED1 和 ED2 各自修改 VLAN100 的属性。因此, 在站点 1 中, 仅由 ED1 来转发 VLAN100 的数据流。
     由上可知, 在边缘设备进行用户 VLAN 状态协商的过程中, 由于初始化时双方中的 用户 VLAN 的状态均为 Active, 这样, 在最终修改各个 VLAN 的属性之前, 双方都认为自己的 VLAN 是 Active VLAN, 从而会导致在一定时间内某一个 VLAN 对于双方都是 Active VLAN 的 情况, 当一个 VLAN 对于同一站点内的两台双归属边缘设备都是 Active VLAN 时, 这两台边 缘设备都会转发该 VLAN 的数据流, 该站点内的网络中便会存在环路, 导致大量环路报文冲 击下挂的服务器和主机设备。并且, 协商双方在选择各自的激活 VLAN 和非激活 VLAN 时, 是 各自独立地在本地进行运算, 双方都不知道对方的选择结果, 这样可能会出现双方都选择 某一个 VLAN 为 Active VLAN 的情况, 站点内的网络中同样存在环路。 发明内容
     有鉴于此, 本发明提供了一种 VLAN 状态的协商方法及边缘设备, 以至少解决现有 技术的协商导致的网络环路问题。 本发明的技术方案如下 :
     一方面, 提供了一种 VLAN 状态的协商方法, 该方法应用于 EVI 网络, 该方法包括 : 第一边缘设备对站点内同一 EVI 实例的邻居第二边缘设备进行身份认证, 并在身份认证成 功之后, 将该 EVI 实例对应的 VLAN 的状态从初始状态切换到交换状态 ; 其中, 边缘设备上 VLAN 的状态处于初始状态或交换状态时, 该边缘设备不允许转发该 EVI 实例对应的 VLAN 中的报文, 边缘设备初始化后, 其上该 EVI 实例对应的 VLAN 的状态进入初始状态 ; 第一边 缘设备与第二边缘设备相互通告各自所确定的 VLAN 的最终状态 ; 且第一边缘设备判断自 己与第二边缘设备所确定的 VLAN 的最终状态是否相同 ; 若第一边缘设备判定出自己与第 二边缘设备所确定的 VLAN 的最终状态不同, 则第一边缘设备将 VLAN 的状态从交换状态切 换到自己所确定的最终状态 ; 其中, 当该最终状态为激活状态时, 第一边缘设备允许转发该 VLAN 中的报文, 当该最终状态为非激活状态时, 第一边缘设备不允许转发该 VLAN 中的报 文; 若第一边缘设备判定出自己与第二边缘设备所确定的 VLAN 的最终状态相同, 则第一边 缘设备将 VLAN 的状态从交换状态切换到初始状态。
     另一方面, 还提供了一种边缘设备, 应用于 EVI 网络, 边缘设备包括 : 身份认证模 块, 用于对本边缘设备所在的站点内与本边缘设备为同一 EVI 实例的邻居第二边缘设备进 行身份认证 ; VLAN 状态切换模块, 用于在身份认证模块对第二边缘设备进行身份认证成功 之后, 将本边缘设备的该 EVI 实例对应的 VLAN 的状态从初始状态切换到交换状态, 以及, 在 判断模块判定出本边缘设备与第二边缘设备所确定的 VLAN 的最终状态不同时, 将 VLAN 的 状态从交换状态切换到本边缘设备所确定的最终状态, 在判断模块判定出本边缘设备与第 二边缘设备所确定的 VLAN 的最终状态相同时, 将 VLAN 的状态从交换状态切换到初始状态 ; 其中, 边缘设备上 VLAN 的状态处于初始状态或交换状态时, 该边缘设备不允许转发该 EVI 实例对应的 VLAN 中的报文, 边缘设备初始化后, 其上该 EVI 实例对应的 VLAN 的状态进入 初始状态 ; 当本边缘设备所确定的 VLAN 的最终状态为激活状态时, 本边缘设备允许转发该 VLAN 中的报文, 当本边缘设备所确定的 VLAN 的最终状态为非激活状态时, 本边缘设备不允
     许转发该 VLAN 中的报文 ; 确定通告模块, 用于在 VLAN 状态切换模块将 VLAN 的状态从初始 状态切换到交换状态之后, 与第二边缘设备相互通告本边缘设备与第二边缘设备所确定的 VLAN 的最终状态 ; 判断模块, 用于判断本边缘设备与第二边缘设备所确定的 VLAN 的最终状 态是否相同。
     本发明的以上技术方案, 协商的边缘设备双方 VLAN 初始化时即进入初始状态, 在 对对方进行身份认证成功后, 将 VLAN 从初始状态切换到交换状态, 在 VLAN 处于交换状态 时, 会将各自确定的 VLAN 的最终状态 (激活或非激活状态) 通告给对方, 在确定自己与对方 确定的 VLAN 的最终状态不同时, 才会将 VLAN 从交换状态切换到自己所确定的最终状态。 由于边缘设备上的一个 VLAN 在初始状态或交换状态中时该边缘设备均不允许转发该 VLAN 中的报文, 因此, 在协商开始时以及协商过程中, 网络中均不可能存在环路, 而且, 边缘设备 在确定自己与对方确定的 VLAN 的最终状态不同时, 才会将 VLAN 从交换状态切换到自己所 确定的最终状态, 从而能够确保在 EVI 双归属网络中同一个 VLAN 在两台边缘设备上是处 于不同的最终状态, 即只会在一台边缘设备上是 Active 状态, 而在另一台边缘设备上是 Inactive 状态, 不可能出现两台边缘设备上都是 Active 状态或者都是 Inactive 状态的情 况, 进一步消除了环路存在的可能性, 从而通过优化 EVI 双归属网络的 VLAN 状态协商机制, 从根本上消除了协商导致的网络环路, 维护了双归属网络的稳定性。 附图说明
     图 1 是现有技术的 EVI 双归属网络的架构示意图 ; 图 2 是根据本发明的实施例一的 VLAN 状态的转移图 ; 图 3 是按照如图 2 所示的状态转移图执行的 VLAN 状态协商方法的一种流程图 ; 图 4 是按照如图 2 所示的状态转移图执行的 VLAN 状态协商方法的另一种流程图 ; 图 5 是根据本发明的实施例二的 VLAN 状态协商的方法的流程示意图 ; 图 6 是根据本发明的实施例三的边缘设备的一种结构示意图 ; 图 7 是根据本发明的实施例三的边缘设备的另一种结构示意图 ; 图 8 是根据本发明的实施例三的边缘设备的又一种结构示意图 ; 图 9 是根据本发明的实施例四的边缘设备的一种结构示意图 ; 图 10 是根据本发明的实施例四的边缘设备的另一种结构示意图。具体实施方式
     为了解决现有技术的 VLAN 状态协商方法所导致的网络环路问题, 本发明以下实 施例对现有技术进行了改进, 提供了一种可以应用于 EVI 双归属网络中的 VLAN(也可称为 用户 VLAN) 状态协商的改进方法以及可以应用该方法的边缘设备, 能够避免在协商过程中 以及协商完成后网络中出现环路, 减少 EVI 双归属网络中的广播风暴。
     本 发 明 以 下 实 施 例 中, 为 每 一 个 ED 设 备 的 VLAN 状 态 增 加 了 两 个 中 间 状 态 : Initial(初始)状态和 Exchange(交换)状态, 即, VLAN 存在三个状态 : Initial 状态、 Exchange 状态和最终状态 (最终状态为 Active 状态或 Inactive 状态) 。 其中, Initial 状态 用于标识 VLAN 的初始状态 (即 VLAN 初始化时的状态) , Exchange 状态用于标识 ED 设备开始 协商以及协商过程中 VLAN 的状态 (即 VLAN 在协商过程中的状态) , Inactive 状态和 Active状态为最终的结果状态。一般情况下, 只有 Active 状态的 VLAN 才能保证公网侧和用户侧 之间的数据流互通, Inactive 状态的 VLAN 可以按照用户的配置要求选择性丢弃数据报文, 而中间状态 Initial 和 Exchange 则不允许进行数据报文转发, 在预防环路要求高的组网环 境下会优先选择丢弃数据报文, 也就是说, 边缘设备上的一个 VLAN 的状态处于 Initial 状 态、 Exchange 状态、 或 Inactive 状态时, 该边缘设备不允许转发该 VLAN 中的数据报文, 只 有处于 Active 状态时, 该边缘设备才允许转发该 VLAN 中的数据报文。并且, 边缘设备初始 化后, 其上 VLAN 的状态即进入 Initial 状态。
     实施例一
     图 2 是根据本发明的实施例一的 VLAN 状态的转移图, 在图 2 中示出了边缘设备上 的每一个 VLAN 在 Initial 状态、 Exchange 状态和最终状态这三个状态之间进行状态迁移 的情况。按照如图 2 所示的状态转移图, 本发明实施例一的 EVI 双归属网络中的 VLAN 状态 协商方法如图 3 所示, 该方法可以由 EVI 双归属网络中的站点内的任意一台边缘设备 (可以 称为第一边缘设备) 执行。如图 3 所示, 该协商方法包括以下步骤 :
     步骤 S302, 当 VLAN 处于 Initial 状态时, 第一边缘设备对站点内同一 EVI 实例 的邻居 : 第二边缘设备进行身份认证, 若身份认证成功, 则进入步骤 S304, 否则, 进入步骤 S306 ;
     步骤 S304, 第一边缘设备将该 EVI 实例对应的 VLAN 的状态从 Initial 状态切换到 Exchange 状态 ;
     在步骤 S302-S304 中, 当 VLAN 的状态处于 Initial 状态时, 第一边缘设备向第 二边缘设备发送身份认证消息 ; 同样, 第二边缘设备也会向第一边缘设备发送身份认证消 息, 第一边缘设备在接收到第二边缘设备发来的身份认证消息之后, 就会对第二边缘设备 进行身份认证, 若身份认证成功, 则第一边缘设备将 VLAN 的状态从 Initial 状态切换到 Exchange 状态。例如 : 身份认证消息中可以包含 : 用于唯一标识一台边缘设备的桥 MAC (Media Access Control, 媒体访问控制) 和身份识别信息, 身份识别信息可以包括 : 用户配 置的密码和加密算法 (如 MD5) , 那么, 具体的身份认证过程可以为 : 第一边缘设备接收到第 二边缘设备发来的身份认证消息之后, 将该身份认证消息中携带的第二边缘设备的桥 MAC 与本地保存的相关列表中的桥 MAC 进行匹配, 若匹配到该列表中的一个桥 MAC, 则将该列表 中对应该桥 MAC 的密码以及该身份认证消息中携带的第二边缘设备的密码按照该身份认 证消息中携带的加密算法进行运算, 对运算得到的结果进行合法性检查, 若检查通过, 则身 份认证成功, 否则, 身份认证不成功。或者, 身份识别信息也可以仅包括密码, 此时, 身份认 证过程可以为 : 第一边缘设备接收到第二边缘设备发来的身份认证消息之后, 将该身份认 证消息中携带的第二边缘设备的桥 MAC 与本地保存的相关列表中的桥 MAC 进行匹配, 若匹 配到该列表中的一个桥 MAC, 则对该身份认证消息中携带的密码进行合法性检查, 若检查通 过, 则身份认证成功, 否则, 身份认证不成功。显然, 也可以采用其他的具体的身份认证方 式, 本发明对此不做限定。
     一种应用场景中, 某一个站点内开始时可能只配备了第一边缘设备这一台 ED 设 备, 该第一边缘设备接入核心网, 负责转发该站点内的服务器和 PC(即第一边缘设备连接 的 CE 下挂的大量的服务器和 PC) 与核心网之间交互的报文, 那么, 第一边缘设备上电后, 所 有实例内的 VLAN 即进入 Initial 状态, 同时设备上电后也会不停地周期性发送 Hello 报文, 若在一定时间 T1 的超时等待后未探测到任何邻居的存在 (即, 在一定时间内未接收到 Hello 报文) , 则 VLAN 从 Initial 状态切换到 Exchange 状态, 其中, T1 可以设置为 30 秒, 一 般 Hello 报文的发送时间间隔通常是 10 秒, 因此, 可以将 T1 设置为 3 倍的 Hello 报文的发 送时间间隔 ; 进入 Exchange 状态之后, 若在一定时间 T2 的超时等待后仍没有探测到任何邻 居, 则从 Exchange 状态切换到 Active 状态, 其中, T2 可以设置为 6 秒, 当 VLAN 状态消息的 发送时间间隔 (一般情况下, 考虑到网络丢包问题, 一般会多发几个 VLAN 状态消息) 为3秒 时, 可以将 T2 设置为 2 倍的 VLAN 状态消息的发送时间间隔) 。 之后, 为了防止站点网络中设 备的单点故障, 又在该站点内增加一台 ED 设备 (即第二边缘设备) , 让这两台边缘设备以双 归属方式接入核心网 (此时这两台边缘设备双归属于该站点) 时, 此时, 第一边缘设备探测 到站点内有同一 EVI 实例的邻居 : 第二边缘设备 (即接收到第二边缘设备发来 Hello 报文) 存在且接收到第二边缘设备发来的身份认证消息之后 (第一边缘设备在探测到站点内有同 一 EVI 实例的邻居 : 第二边缘设备之后, 会周期性地向第二边缘设备发送身份认证消息, 同 样, 第二边缘设备在探测到站点内有同一 EVI 实例的邻居 : 第一边缘设备之后, 也会周期性 地向第一边缘设备发送身份认证消息, 直至身份认证成功或者探测不到该邻居) , 根据该身 份认证消息对第二边缘设备进行身份认证 (具体身份认证过程同上, 这里不再赘述) , 若身 份认证成功, 则第一边缘设备会将 VLAN 从 Active 状态进入到 Initial 状态来与第二边缘 设备进行 VLAN 状态协商 (具体过程详见步骤 S302~S314、 或者步骤 S302’ ~S318’ ) ; 若身份 认证失败, 则第一边缘设备丢弃该身份认证消息, 不会进行状态切换。 还有一种可能的应用场景, 某一个站点内开始时就配备了第一边缘设备和第二 边缘设备这两台 ED 设备, 让这两台边缘设备以双归属方式接入核心网, 此时, 两台边缘设 备同时上电, 上电后双方中所有 VLAN 即进入 Initial 状态, 并且上电后双方均不停地周 期性发送 Hello 报文, 在一定时间内接收到对方的 Hello 报文后会自动认定探测到邻居 并建立邻居关系, 探测到邻居之后即周期性地向该邻居发送身份认证消息, 在接收到对方 的身份认证消息并进行身份认证成功后, 即将 VLAN 切换到 Exchange, 具体过程详见步骤 S302~S314、 或者步骤 S302’ ~S318’ 。
     每一台边缘设备在上电后, 即一直周期性地发送 Hello 报文, 并且在探测到有邻 居存在之后, 即周期性地向该邻居发送身份认证消息, 直至身份认证成功, 或者超时收不到 该邻居发来的 Hello 报文 (即认为该邻居不存在了) 。或者, 每一台边缘设备在 VLAN 状态迁 移到 Initial 状态后, 也会周期性地向对端邻居发送身份认证消息, 以重新进行身份认证 和状态协商过程。
     步骤 S306, 第一边缘设备将 VLAN 的状态维持在 Initial 状态, 返回步骤 S302 ;
     步骤 S308, 当 VLAN 的状态进入到 Exchange 状态之后, 第一边缘设备确定自己的 VLAN 的最终状态, 然后与第二边缘设备相互通告各自所确定的 VLAN 的最终状态 ; 具体可以 通过以下步骤 1~3 来完成 :
     步骤 1, 当 VLAN 的状态处于 Exchange 状态时, 第一边缘设备向第二边缘设备发送 VLAN 状态消息, 该 VLAN 状态消息中包含有 : 自己的 EVI 属性信息 (EVI 属性信息可以由用 户根据实际需要进行设置) 和要进行协商的 VLAN, 其中, EVI 属性信息可以包括 : EVI 实例 (instance) 标识符 (用于唯一标识一个 EVI 实例) 、 EVI 实例优先级和要进行协商的 VLAN 的 优先级 ; 在实际实施时, 可以针对一个 VLAN 发送一个 VLAN 状态消息, 此时, 要进行协商的
     VLAN 即为所针对的那一个 VLAN ; 如果正好有多个 VLAN 同时进入到 Exchange 状态, 也可以 针对这多个 VLAN 发送一个 VLAN 状态消息, 此时, 要进行协商的 VLAN 即为这多个 VLAN。
     同样, 第二边缘设备也会将自己的 EVI 属性信息和要协商的 VLAN 携带在 VLAN 状 态消息中发送给第一边缘设备, 并且, 在接收到第一边缘设备的 VLAN 状态消息之后, 就可 以根据第一边缘设备的 EVI 属性信息和第二边缘设备的 EVI 属性信息, 来确定第二边缘设 备的 VLAN 的最终状态, 并可以将所确定的 VLAN 的最终状态通过 VLAN 状态消息通告给第一 边缘设备 ;
     步骤 2, 第一边缘设备接收到第二边缘设备发来的 VLAN 状态消息之后, 根据自己 的 EVI 属性信息和该 VLAN 状态消息中携带的第二边缘设备的 EVI 属性信息, 确定自己的 VLAN 的最终状态, 并保存到本地, 同时通过 VLAN 状态消息将自己所确定的 VLAN 的最终状态 通告给第二边缘设备 ;
     由于状态协商是基于 EVI 实例的, 而一个 EVI 实例中又包含有多个 VLAN, 因此, 在 确定自己的 VLAN 的最终状态时, 若自己的 EVI 实例优先级高于对方的 EVI 实例优先级, 则 该 EVI 实例中包含的所有 VLAN 的最终状态均确定为 Active ; 若 EVI 实例优先级相同, 则 分别比较每一个 VLAN 的优先级, 优先级高的为 Active, 若 VLAN 优先级也相同, 则设备的桥 MAC 地址大的为 Active。 显然, EVI 属性信息中还可以包含有其他信息, 例如, 自定义的 QoS 字段等, 该自定 义的 QoS 字段例如可以为边缘设备允许的最大带宽, 此时, 若边缘设备的桥 MAC 也相同, 则 允许的最大带宽最大的为 Active, 本发明对此不做限定。 针对不同的 EVI 属性信息, 也可以 采用多种不同的方式确定 VLAN 的最终状态, 本发明对此不做限定。
     步骤 3, 第一边缘设备接收第二边缘设备发来的携带有第二边缘设备所确定的 VLAN 的最终状态的 VLAN 状态消息, 并将第二边缘设备所确定的 VLAN 的最终状态保存到本 地, 然后进入步骤 S310。
     步骤 S310, 第一边缘设备判断自己与第二边缘设备所确定的 VLAN 的最终状态是 否相同, 若不同, 则进入步骤 S312, 否则, 进入步骤 S314 ;
     第一边缘设备在步骤 S308 中接收到第二边缘设备发来的携带有第二边缘设备的 VLAN 的最终状态的 VLAN 状态消息之后, 比较自己确定的 VLAN 的最终状态与第二边缘设备 确定的 VLAN 的最终状态, 两者不相同, 即, 针对同一个 VLAN, 一个 ED 设备确定的是 Active 状态, 另一个 ED 设备确定的是 Inactive 状态 ; 两者相同, 即, 针对同一个 VLAN, 两台 ED 设 备均确定的是 Active 状态, 或者均确定的是 Inactive 状态。
     步骤 S312, 第一边缘设备将 VLAN 的状态从 Exchange 状态切换到自己所确定的最 终状态 ;
     例如, 第一边缘设备在步骤 S308 中确定的自己的 VLAN 的最终状态为 Active 状 态, 则在步骤 S312 中, 将 VLAN 的状态从 Exchange 状态切换到 Active 状态, 或者, 第一边缘 设备在步骤 S308 中确定的自己的 VLAN 的最终状态为 Inactive 状态, 则在步骤 S312 中, 将 VLAN 的状态从 Exchange 状态切换到 Inactive 状态。
     步骤 S314, 第一边缘设备将 VLAN 的状态从 Exchange 状态切换到 Initial 状态, 并 返回步骤 S302。
     在实际实施过程中, 考虑到网络中存在抖动或延迟, 为了避免边缘设备错误地
     将 VLAN 从 Exchange 状态切换到最终状态, 协商的双方在判定出自己与对方确定的 VLAN 的最终状态不同之后, 还可以再向对方进行 VLAN 状态的确认, 确认成功后, 才将 VLAN 从 Exchange 状态切换到自己所确定的最终状态。 这样, 本发明实施例的 VLAN 状态协商方法的 另一种实施方式可以是 :
     步骤 S302’ ~S308’ , 同上述步骤 S302~S308, 这里不再赘述 ;
     步骤 S310’ , 第一边缘设备判断自己与第二边缘设备所确定的 VLAN 的最终状态是 否相同, 若不同, 则进入步骤 S312’ , 否则, 进入步骤 S318’ ;
     第一边缘设备在步骤 S308’ 中接收到第二边缘设备发来的携带有第二边缘设备的 VLAN 的最终状态的 VLAN 状态消息之后, 比较自己确定的 VLAN 的最终状态与第二边缘设备 确定的 VLAN 的最终状态, 两者不相同, 即, 针对同一个 VLAN, 一个 ED 设备确定的是 Active 状态, 另一个 ED 设备确定的是 Inactive 状态 ; 两者相同, 即, 针对同一个 VLAN, 两台 ED 设 备均确定的是 Active 状态, 或者均确定的是 Inactive 状态。
     步骤 S312’ , 第一边缘设备向第二边缘设备发送确认消息, 其中, 确认消息中携带 有自己所确定的 VLAN 的最终状态和第二边缘设备所确定的 VLAN 的最终状态 (在步骤 S308’ 中获得) ; 同样, 第二边缘设备也会向第一边缘设备发送携带有自己和第一边缘设备确定的 VLAN 的最终状态的确认消息。
     步骤 S314’ , 在接收到第二边缘设备发来的确认消息之后, 第一边缘设备判断接收 到的确认消息中携带的第一边缘设备和第二边缘设备所确定的 VLAN 的最终状态是否分别 与本地保存的对应的最终状态一致, 若均一致, 则进入步骤 S316’ , 否则 (其中任意一个不一 致, 即, 接收到的确认消息中携带的第一边缘设备所确定的 VLAN 的最终状态与本地保存的 对应的最终状态不一致, 或者, 接收到的确认消息中携带的第二边缘设备所确定的 VLAN 的 最终状态与本地保存的对应的最终状态不一致) , 进入步骤 S318’ ;
     第一边缘设备会判断接收到的确认消息中携带的第一边缘设备确定的 VLAN 的最 终状态与本地保存的自己确定的 VLAN 的最终状态是否一致, 并且, 判断接收到的确认消息 中携带的第二边缘设备确定的 VLAN 的最终状态与本地保存的第二边缘设备确定的 VLAN 的 最终状态是否一致。例如, 接收到的确认消息中携带的第一边缘设备和第二边缘设备所确 定的 VLAN 的最终状态分别为 Active 状态和 Inactive 状态, 若第一边缘设备本地保存的自 己和第二边缘设备确定的 VLAN 的最终状态也分别为 Active 状态和 Inactive 状态, 则进入 步骤 S316’ , 若第一边缘设备本地保存的自己和第二边缘设备确定的 VLAN 的最终状态分别 为 Inactive 状态和 Active 状态, 则进入步骤 S318’ 。
     步骤 S316’ , 第一边缘设备将 VLAN 的状态从 Exchange 状态切换到自己所确定的最 终状态 ; 同上述步骤 S312, 这里不再赘述。
     在进入最终状态之后, 第一边缘设备和第二边缘设备会周期性地向对方发送确认 消息以通告自己的 VLAN 状态, 直至不再处于最终状态。
     步骤 S318’ , 第一边缘设备将 VLAN 的状态从 Exchange 状态切换到 Initial 状态, 并返回步骤 S302’ 。
     上述两个实施方式中, 在步骤 S312 或者 S316’ 结束之后, 至此一次 VLAN 状态协商 过程完成, 此时第一边缘设备和第二边缘设备上的 VLAN 的状态均处于最终状态, 若后续第
     一边缘设备接收到了自己的邻居 : 第二边缘设备发来的身份认证消息 (此时必定也会接收 到第二边缘设备发来的 Hello 报文) 之后, 就会根据该身份认证消息对第二边缘设备进行 身份认证, 在身份认证成功之后, 会将 VLAN 的状态从最终状态切换到 Initial 状态, 以重新 进行协商 (再次执行步骤 S302~S314、 或者步骤 S302’ ~S318’ ) , 其中, 该身份认证消息是第 二边缘设备在以下信息至少之一 : EVI 属性信息、 身份识别信息、 桥 MAC 发生改变后发送的。 也就是说, 第二边缘设备在自己的 EVI 属性信息、 身份识别信息、 和 / 或桥 MAC 发生了改变 之后, 会再次向自己的邻居 : 第一边缘设备发送身份认证消息, 这样, 此时, 第一边缘设备的 VLAN 若处于最终状态 (Active 或 Inactive) , 则会在接收到第二边缘设备发来的 Hello 报 文, 即邻居关系存在 (因为边缘设备会一直不停的周期性发送 Hello 报文) , 并且接收到第二 边缘设备发来的身份认证消息以及身份认证成功之后, 从最终状态切换到 Initial 状态, 重新进行身份认证和状态协商。
     或者, 第二边缘设备在进入站点后初次探测到站点内有同一 EVI 实例的邻居 : 第 一边缘设备存在时也会向第一边缘设备发送的身份认证消息, 此时, 第一边缘设备若处于 最终状态 (Active 或 Inactive) , 就在接收到第二边缘设备发来的 Hello 报文 (由于边缘设 备上电后即不停地周期性发送 Hello 报文) 以及身份认证消息, 并对第二边缘设备进行身份 认证成功之后, 从最终状态切换到 Initial 状态, 重新进行身份认证和状态协商。通过身份 认证可以预防攻击。
     同样, 当 VLAN 的状态处于最终状态时, 在第一边缘设备的以下信息至少之一 : EVI 属性信息、 身份识别信息、 桥 MAC 发生改变之后, 第一边缘设备也会向第二边缘设备发送身 份认证消息 (此时必然也会发送 Hello 报文) , 之后, 就会将 VLAN 的状态从最终状态切换到 初始状态。
     此外, 在 S316’ 结束之后, 此时双方的 VLAN 均处于最终状态, 如果第一边缘设备或 第二边缘设备任何一方中, EVI 属性信息发生了改变, 而与身份相关的桥 MAC 和身份识别信 息没有发生改变时, 此时, 也可以采取不返回 Initial 重新进行身份认证的方式, 直接从当 前最终状态更新为重新确定的最终状态。由于与身份相关的桥 MAC 和身份识别信息没有发 生改变, 因此双方无需再进行身份认证了, 而只需要重新确定 VLAN 的最终状态即可。具体 过程可以如下 :
     (1) 第一边缘设备的 EVI 属性信息发生了改变时, 步骤如下 :
     步骤 11, 当 VLAN 的状态处于最终状态时, 在第一边缘设备的 EVI 属性信息发生改 变之后, 第一边缘设备将改变后的 EVI 属性信息携带在 VLAN 状态消息中发送给第二边缘设 备, 以便第二边缘设备根据第二边缘设备的 EVI 属性信息以及该 VLAN 状态消息中携带的第 一边缘设备改变后的 EVI 属性信息, 重新确定第二边缘设备的 VLAN 的最终状态 ;
     为了尽量节约报文资源, 也可以仅将发生改变的字段携带在确认消息中, 例如, 只 有 EVI 属性信息中的 EVI 实例优先级发生了改变, 则仅将改变后的 EVI 实例优先级携带在 VLAN 状态消息中即可。
     第二边缘设备会将重新确定的 VLAN 的最终状态通过 VLAN 状态消息通告给第一边 缘设备。
     步骤 12, 第一边缘设备根据自己改变后的 EVI 属性信息和第二边缘设备的 EVI 属 性信息 (已经在步骤 S308’ 中获得) , 重新确定自己的 VLAN 的最终状态并更新本地保存的对应的最终状态 (即更新本地保存的第一边缘设备的 VLAN 的最终状态) , 同时通过 VLAN 状态 消息通告给第二边缘设备 ;
     步骤 13, 在接收到第二边缘设备重新确定的 VLAN 的最终状态 (携带在 VLAN 状态 消息中) 之后, 第一边缘设备以第二边缘设备重新确定的 VLAN 的最终状态更新本地保存的 对应的最终状态 (即更新本地保存的第二边缘设备的 VLAN 的最终状态) , 并在判定出自己与 第二边缘设备重新确定的 VLAN 的最终状态不同之后, 向第二边缘设备发送确认消息 ; 若自 己与第二边缘设备重新确定的 VLAN 的最终状态相同, 则按照如图 2 所示的状态转移图, 将 VLAN 的状态从最终状态切换到初始状态 ;
     显然, 该确认消息中携带了第一边缘设备和第二边缘设备重新确定的 VLAN 的最 终状态。
     步骤 14, 在接收到第二边缘设备发来的确认消息之后, 若第一边缘设备判定出接 收的确认消息中携带的第一边缘设备和第二边缘设备重新确定的 VLAN 的最终状态分别与 本地保存的对应的最终状态一致, 则第一边缘设备将自己的 VLAN 的最终状态更新为重新 确定的最终状态。显然, 若不一致, 则将 VLAN 从最终状态切换到初始状态。
     例如, 第一边缘设备更新前的 VLAN 最终状态为 Active, 重新确定的 VLAN 的最终状 态为 Inactive, 则直接将 VLAN 的最终状态从 Active 更新为 Inactive, 而无需返回 Initial 状态。
     (2) 第二边缘设备的 EVI 属性信息发生了改变时, 步骤如下 :
     步骤 21, 当 VLAN 的状态处于最终状态时, 第一边缘设备接收第二边缘设备在 EVI 属性信息发生改变后发来的携带有改变后的 EVI 属性信息的 VLAN 状态消息 ;
     步骤 22, 第一边缘设备根据自己的 EVI 属性信息以及第二边缘设备改变后的 EVI 属性信息, 重新确定自己的 VLAN 最终状态并更新本地保存的对应的最终状态, 同时通告给 第二边缘设备 (可以将重新确定的 VLAN 的最终状态携带在 VLAN 状态消息中) ;
     步骤 23, 在接收到第二边缘设备重新确定的 VLAN 的最终状态 (携带在 VLAN 状态消 息中) 之后, 第一边缘设备以第二边缘设备重新确定的 VLAN 的最终状态更新本地保存的对 应的最终状态, 并在判定出自己与第二边缘设备重新确定的 VLAN 的最终状态不同之后, 向 第二边缘设备发送确认消息 ; 若判定出自己与第二边缘设备重新确定的 VLAN 的最终状态 相同, 则将 VLAN 的状态从最终状态切换到初始状态 ;
     步骤 24, 在接收到第二边缘设备发来的确认消息之后, 若第一边缘设备判定出接 收的确认消息中携带的第一边缘设备和第二边缘设备确定的 VLAN 的最终状态分别与本地 保存的对应的最终状态一致, 则第一边缘设备将自己的 VLAN 的最终状态更新为重新确定 的最终状态。显然, 若不一致, 则将 VLAN 的状态从最终状态切换到初始状态。
     其中, 第二边缘设备的执行步骤同 (1) 中的第一边缘设备, 这里不再赘述。
     这样, 协商双方可以直接在最终状态中进行状态更新, 而无需返回 Initial 状态 重新进行身份认证和状态协商过程, 可以确保网络中的数据流不发生中断。
     在实际实施过程中, 上述步骤 S302~S314、 和步骤 S302’ ~S318’ 的两个实施方式 中, VLAN 的状态的协商可以是基于实例进行的, 而每一个实例又包含有多个 VLAN, 也就是 说, 协商时, 可以同时协商一个实例中的多个 VLAN。但是, 上述的状态转移是针对一个边缘 设备上的一个 VLAN 的, 一个边缘设备上的各个 VLAN 相互独立地按照图 2 所示的状态转移图进行状态切换。上述的一个边缘设备所确定的 VLAN 的最终状态指的是, 该边缘设备所确 定的 VLAN 在本端的最终状态, 例如, 对于 VLAN1, 第一边缘设备所确定的 VLAN 的最终状态即 为: VLAN1 在第一边缘设备上的最终状态。
     本发明上述实施例中, 协商的边缘设备双方 VLAN 初始化时即进入初始状态, 对对 方进行身份认证成功后, 将 VLAN 从初始状态切换到交换状态, 在 VLAN 处于交换状态时, 会 将各自确定的 VLAN 的最终状态 (激活或非激活状态) 通告给对方, 在确定自己与对方确定 的 VLAN 的最终状态不同时, 才会将 VLAN 从交换状态切换到自己所确定的最终状态。由于 边缘设备上的一个 VLAN 在初始状态或交换状态中时该边缘设备均不允许转发该 VLAN 中的 报文, 因此, 在协商开始时以及协商过程中, 网络中均不可能存在环路, 而且, 边缘设备在确 定自己与对方确定的 VLAN 的最终状态不同时, 才会将 VLAN 从交换状态切换到自己所确定 的最终状态, 从而能够确保在 EVI 双归属网络中同一个 VLAN 在两台边缘设备上是处于不同 的最终状态, 即只会在一台边缘设备上是 Active 状态, 而在另一台边缘设备上是 Inactive 状态, 不可能出现两台边缘设备上都是 Active 状态或者都是 Inactive 状态的情况, 进一步 消除了环路存在的可能性。本发明实施例优化了 EVI 双归属网络的 VLAN 状态协商机制, 从 根本上消除了协商导致的网络环路, 维护了双归属网络的稳定性。 另外, 在协商双方相互交互自己的 EVI 属性信息之后, 各自确定自己的 VLAN 的最 终状态为激活或非激活状态, 然后需要将自己确定的 VLAN 的最终状态通告给对方, 各自判 断自己确定的 VLAN 的最终状态与对方确定的是否相同, 在不同时, 才将自己的 VLAN 的状态 从交换状态切换到自己确定的最终状态, 这样做可以避免在链路不稳定的情况下的状态错 误切换。
     例如, 在链路状态不稳定的情况下, 有可能收到的对端的 EVI 属性信息并不是最 新的, 比如, 对端发了两个 EVI 属性信息, 第一个中的 VLAN 优先级是 10, 而第二个中的 VLAN 优先级是 20, 本端 ED 上该 VLAN 的优先级是 15, 第二个信息才是最新的, 但是由于链路发 生了抖动, 第二个信息先到, 而第一个信息后到, 此时若协商双方都不通告各自确定的 VLAN 的最终状态, 收到对端的 EVI 属性信息确定了自己的 VLAN 的最终状态后就直接切换本地的 VLAN 状态的话, 本端设备最终会按照第一个信息错误地计算出自己的 VLAN 的状态为激活 并错误地进行了状态切换 (而按照第二个信息计算出正确的状态应为非激活) , 对端按照第 二个信息计算出的自己的状态也为激活状态, 双方均为激活状态, 于是发生了状态切换错 误, 导致环路的产生。而将自己确定的 VLAN 的最终状态通告给对方, 在各自判断自己确定 的 VLAN 的最终状态与对方确定的不相同时, 才将自己的 VLAN 的状态从交换状态切换到自 己确定的最终状态, 这样, 不管有没有链路抖动, 只要发现对端和自己确定的结果相同, 就 重新协商, 从而不会有环路产生。
     另外, 确认消息也可以用于 VLAN 状态协商结束之后的状态维护, 及时感知对端当 前状态是否正确, 实时防止环路。
     在实际应用中, 对于中间状态 Initial 和 Exchange, 可以根据需要确定 VLAN 处于 这两个中间状态时边缘设备要执行的操作, 可以将这两个中间状态下的报文转发设置为丢 弃, 以防止环路。
     实施例二
     如图 5 所示, 本实施例以 EVI 双归属网络中某一个站点内的两台边缘设备 ED_A 和
     ED_B 为例, 描述站点内两台 ED 设备之间的 VLAN 状态协商过程, 以设备 ED_A 为例进行说明。
     在开始进行协商时, ED_A 和 ED_B 两台设备上的 VLAN 都会进入到 Initial 状态, 即使之前两个设备已经有其中之一或者两个设备均进入到 Active 状态或者 Inactive 状态 时 (当两个设备都是最终状态时, 这种情况属于用户配置错误) 。
     例如一种应用场景中, 某一个站点内开始时只配备了 ED_A 这一台 ED 设备, ED_A 接 入核心网, 负责转发该站点内的服务器和 PC (即第一边缘设备连接的 CE 下挂的大量的服务 器和 PC) 与核心网之间交互的报文, 那么, ED_A 上电后, 所有实例内的 VLAN 即进入 Initial 状态, 同时设备上电后也会不停地周期性发送 Hello 报文, 若在一定时间 T1 的超时等待后 未探测到任何邻居的存在, 则 VLAN 从 Initial 状态切换到 Exchange 状态 ; 进入 Exchange 状态之后, 若在一定时间 T2 的超时等待后仍没有探测到任何邻居, 则从 Exchange 状态切换 到 Active 状态。之后, 为了防止站点网络中设备的单点故障, 又在该站点内增加了一台 ED 设备 : ED_B, 让这两台边缘设备以双归属方式接入核心网 (此时这两台边缘设备双归属于该 站点) 时, 此时, ED_A 和 ED_B 各自都会探测到彼此的存在, 建立邻居关系, 并向对方周期性 地发送身份认证消息。 ED_A 在探测到有邻居存在 (即接收到 Hello 报文) 且接收到该邻居发 送的身份认证消息以及根据该身份认证消息对该邻居身份认证成功后, 就会从 Active 状 态进入到 Initial 状态。 步骤 1, ED_A 进入 Initial 状态后, 向监测到的站点内同一 EVI 实例的邻居 : ED_B 发送身份认证消息, 其中, 身份认证消息中携带有 ED_A 的桥 MAC 和身份识别信息 ;
     同样, ED_B 进入 Initial 状态后, 也向监测到的站点内同一 EVI 实例的邻居 : ED_A 发送身份认证消息, 其中, 身份认证消息中携带有 ED_B 的桥 MAC 和身份识别信息 ;
     步骤 2, ED_A 接收到 ED_B 发来的身份认证消息之后, 根据其中携带的 ED_B 的桥 MAC 和身份识别信息, 对 ED_B 进行身份认证, 身份认证成功后, 即将 VLAN 从 Initial 状态切 换到 Exchange 状态, 若身份认证失败, 则保持在 Initial 状态, 以重新进行身份认证和状态 协商 ;
     同样, ED_B 也会执行相同的操作, 这里不再赘述。
     步骤 3, VLAN 进入 Exchange 状态后, ED_A 向 ED_B 发送 VLAN 状态消息, 其中携带 有自己的 EVI 属性信息, EVI 属性信息可以包括 : EVI 实例标识符、 EVI 实例优先级、 EVI 实 例中包含的各个 VLAN 的 VLAN 优先级等, 可以根据用户需要定制 ;
     同样, ED_B 也会做同样的操作, 这里不再赘述。
     步骤 4, ED_A 接收到 ED_B 发来的 VLAN 状态消息之后, 根据该 VLAN 状态消息中携 带的 EVI 属性信息以及自己的 EVI 属性信息, 确定自己的 VLAN 的最终状态是 Active 状态 还是 Inactive 状态, 假设为 Active 状态, 并将自己确定的 VLAN 最终状态通过 VLAN 状态消 息发送到 ED_B ;
     同样, 设备 ED_B 也会做同样的操作, 将自己确定的 VLAN 最终状态通过 VLAN 状态 消息发送到 ED_A, 假设为 Inactive 状态, 这里不再赘述。
     步 骤 5, ED_A 接 收 到 ED_B 发 送 过 来 的 VLAN 最 终 状 态 : Inactive 状 态 后, 与本 地自己确定的 VLAN 最终状态 : Active 状态进行比较, 发现本地是 Active 状态而 ED_B 是 Inactive 状态, 即, 本地自己确定的与 ED_B 确定的 VLAN 的最终状态不同, 则认为 VLAN 最终 状态认证合法, 将自己确定的 VLAN 最终状态和 ED_B 确定的 VLAN 最终状态封装在一个消息
     (称为确认消息) 中发送到 ED_B ; 而若是接收到的 ED_B 确定的 VLAN 最终状态与本地自己确 定的 VLAN 最终状态相同, 则说明协商失败, 将 VLAN 直接从 Exchange 返回到 Initial 状态 重新执行身份认证 ;
     同样, ED_B 也会将比较自己与 ED_A 确定的 VLAN 最终状态, 并在不同时, 将 ED_A 和 自己确定的 VLAN 最终状态封装在确认消息中发送到 ED_A, 这里不再赘述。
     步骤 6, ED_A 接收到 ED_B 的确认消息后, 与本地保存的 VLAN 最终状态进行比较, 若一致, 则将 VLAN 从 Exchange 切换到自己确认的最终状态 : Active, 若不一致, 则直接返回 到 Initial 状态重新进行身份认证。
     同样, ED_B 也会执行相同的操作, 这里不再赘述。
     实施例三
     针对上述的实施例一和二中的方法, 本发明实施例提供了一种边缘设备, 可以使 用上述实施例一和二的方法进行 VLAN 状态的协商, 该边缘设备可以应用于 EVI 双归属网络 中。
     如图 6 所示, 该边缘设备包括 : 身份认证模块 10、 VLAN 状态切换模块 20、 确定通告 模块 30 和判断模块 40, 其中 :
     身份认证模块 10, 用于对本边缘设备所在的站点内与本边缘设备为同一 EVI 实例 的邻居第二边缘设备进行身份认证 ;
     VLAN 状态切换模块 20, 用于在身份认证模块 10 对第二边缘设备进行身份认证成 功之后, 将本边缘设备的该 EVI 实例对应的 VLAN 的状态从初始状态切换到交换状态, 以及, 在判断模块 40 判定出本边缘设备与第二边缘设备所确定的 VLAN 的最终状态不同时, 将 VLAN 的状态从交换状态切换到本边缘设备所确定的最终状态, 在判断模块 40 判定出本边 缘设备与第二边缘设备所确定的 VLAN 的最终状态相同时, 将 VLAN 的状态从交换状态切换 到初始状态 ; 其中, 边缘设备上 VLAN 的状态处于初始状态或交换状态时, 该边缘设备不允 许转发该 EVI 实例对应的 VLAN 中的报文, 边缘设备初始化后, 其上该 EVI 实例对应的 VLAN 的状态进入初始状态 ; 当本边缘设备所确定的 VLAN 的最终状态为激活状态时, 本边缘设备 允许转发该 VLAN 中的报文, 当本边缘设备所确定的 VLAN 的最终状态为非激活状态时, 本边 缘设备不允许转发该 VLAN 中的报文 ;
     确定通告模块 30, 用于在 VLAN 状态切换模块 20 将 VLAN 的状态从初始状态切换到 交换状态之后, 与第二边缘设备相互通告各自所确定的 VLAN 的最终状态 ;
     判断模块 40, 用于判断本边缘设备与第二边缘设备所确定的 VLAN 的最终状态是 否相同。
     考虑到网络中存在抖动或延迟, 为了避免边缘设备错误地将 VLAN 从 Exchange 状 态切换到最终状态, 协商的双方在判定出自己与对方确定的 VLAN 的最终状态不同之后, 还 可以再向对方进行 VLAN 状态的确认, 确认成功后, 才将 VLAN 从 Exchange 状态切换到自己 所确定的最终状态。因此, 如图 7 所示, 边缘设备中还可以包括 : 确认模块 50, 其中 :
     确认模块 50 用于在判断模块 40 判定出本边缘设备与第二边缘设备所确定的 VLAN 的最终状态不同之后, 以及在 VLAN 状态切换模块 20 将 VLAN 的状态从交换状态切换到本边 缘设备所确定的最终状态之前, 向第二边缘设备发送确认消息, 以及接收第二边缘设备发 来的确认消息, 其中, 确认消息中携带有本边缘设备和第二边缘设备所确定的 VLAN 的最终状态 ; 判断模块 40 还用于判断确认模块 50 接收的确认消息中携带的本边缘设备和第 二边缘设备所确定的 VLAN 的最终状态是否分别与本边缘设备中保存的对应的最终状态一 致, 并在一致时, 通知 VLAN 状态切换模块 20 将 VLAN 的状态从交换状态切换到本边缘设备 所确定的最终状态。
     VLAN 状态切换模块 20 还用于在判断模块 40 判定出确认模块 50 接收的确认消息 中携带的本边缘设备或第二边缘设备所确定的 VLAN 的最终状态与本边缘设备中保存的对 应的最终状态不一致时, 将 VLAN 的状态从交换状态切换到初始状态 ; 在判断模块 40 判定 出本边缘设备与第二边缘设备所确定的 VLAN 的最终状态相同时, 将 VLAN 的状态从交换状 态切换到初始状态 ; 以及, 在身份认证模块 10 对第二边缘设备进行身份认证失败之后, 将 VLAN 的状态维持在初始状态。
     如图 8 所示, 身份认证模块 10 可以进一步包括 : 第一收发模块 102 和认证执行模 块 104, 则:
     第一收发模块 102 在 VLAN 的状态处于初始状态时, 向第二边缘设备发送身份认证 消息, 以及, 接收第二边缘设备发来的身份认证消息 ;
     认证执行模块 104 在第一收发模块 102 接收到第二边缘设备发来的身份认证消息 之后, 对第二边缘设备进行身份认证, 并在身份认证成功之后, 通知 VLAN 状态切换模块 20 将 VLAN 的状态从初始状态切换到交换状态。
     如图 8 所示, 确定通告模块 30 也可以进一步包括 : 第二收发模块 302、 状态确定模 块 304 和保存模块 306, 则:
     第二收发模块 302, 用于在 VLAN 的状态处于交换状态时, 向第二边缘设备发送携 带有本边缘设备的 EVI 属性信息的 VLAN 状态消息, 以便第二边缘设备根据本边缘设备和第 二边缘设备的 EVI 属性信息确定第二边缘设备的 VLAN 的最终状态, 接收第二边缘设备发来 的携带有第二边缘设备的 EVI 属性信息的 VLAN 状态消息, 将状态确定模块 304 所确定的本 边缘设备的 VLAN 的最终状态通告给第二边缘设备 (可以携带在 VLAN 状态消息中) , 以及, 接 收第二边缘设备发来的第二边缘设备所确定的 VLAN 的最终状态 (可以携带在 VLAN 状态消 息中) , 其中, EVI 属性信息可以包括 : EVI 实例标识符、 EVI 实例优先级和要进行协商的 VLAN 的优先级 ;
     状态确定模块 304, 用于根据本边缘设备和第二边缘设备的 EVI 属性信息, 确定本 边缘设备的 VLAN 的最终状态 ;
     保存模块 306, 用于保存状态确定模块 304 所确定的本边缘设备的 VLAN 的最终状 态, 以及第二收发模块 302 接收到的第二边缘设备所确定的 VLAN 的最终状态。
     其中, EVI 属性信息可以包括 : EVI 实例标识符、 EVI 实例优先级和要进行协商的 VLAN 的优先级 ; 则, 状态确定模块包括 : 第一比较单元, 用于比较本边缘设备的 EVI 实例优 先级与第二边缘设备的 EVI 实例优先级 ; 确定单元, 用于在第一比较单元比较出本边缘设 备与第二边缘设备的 EVI 实例优先级不同的情况下, 在本边缘设备的 EVI 实例优先级高于 第二边缘设备时, 确定本边缘设备的 EVI 实例中包含的要进行协商的 VLAN 的最终状态为激 活状态, 并在低于时, 确定本边缘设备的 EVI 实例中包含的要进行协商的 VLAN 的最终状态 为非激活状态 ; 在第二比较单元比较出本边缘设备与第二边缘设备上该 VLAN 的优先级不
     同的情况下, 在本边缘设备的该 VLAN 的优先级高于第二边缘设备时, 确定本边缘设备的该 VLAN 的状态为激活状态, 并在低于时, 确定本边缘设备的该 VLAN 的状态为非激活状态 ; 在 本边缘设备与第二边缘设备上该 VLAN 的优先级 VLAN 优先级相同的情况下, 在本边缘设备 的桥 MAC 的地址大于第二边缘设备时, 确定本边缘设备的该 VLAN 的状态为激活状态, 并在 小于时, 确定本边缘设备的该 VLAN 的状态为非激活状态 ; 第二比较单元, 用于在第一比较 单元比较出本边缘设备与第二边缘设备的 EVI 实例优先级相同的情况下, 针对每一个要进 行协商的 VLAN, 比较本边缘设备与第二边缘设备上该 VLAN 的优先级。
     实施例四
     如图 9 所示, 该边缘设备中还可以包括 : 消息接收模块 60, 则:
     消息接收模块 60 用于接收第二边缘设备发来的 Hello 报文以及身份认证消息, 并 通知身份认证模块 10(具体为认证执行模块 104) 对第二边缘设备进行身份认证 ;
     VLAN 状态切换模块 20 还用于在 VLAN 的状态处于最终状态时, 在消息接收模块 60 接收到第二边缘设备发来的 Hello 报文以及身份认证消息, 且身份认证模块 10 对第二边缘 设备进行身份认证成功之后, 将 VLAN 的状态从该最终状态切换到初始状态, 其中, 身份认 证消息是第二边缘设备在初始探测到自己所在的站点内有与自己为同一 EVI 实例的本边 缘设备时发送的, 或者是第二边缘设备在以下信息至少之一发生改变时发送的 : EVI 属性 信息、 身份识别信息、 桥 MAC。
     第二边缘设备在初始进入站点, 探测到站点内有同一 EVI 实例的邻居 : 本边缘设 备之后, 会周期性地向本边缘设备发送身份认证消息, 直至身份认证成功或探测不到本边 缘设备为止。本边缘设备若此时处于最终状态 (激活或非激活状态) , 就会在接收到第二边 缘设备的 Hello 报文 (因为边缘设备上电后就会一直周期性地发送 Hello 报文) 以及身份认 证消息, 且根据该身份认证消息对第二边缘设备进行身份认证成功之后, 从最终状态切换 到初始状态, 以与第二边缘设备进行身份认证和 VLAN 状态协商。
     或者, 在本边缘设备与第二边缘设备协商完成后, 双方的 VLAN 都处于最终状态, 此时若第二边缘设备的 EVI 属性信息、 身份识别信息、 和 / 或桥 MAC 发生了改变, 第二边缘 设备会再次向本边缘设备发送身份认证消息, 本边缘设备在接收到第二边缘设备的 Hello 报文 (证明邻居关系存在) 以及身份认证消息, 且根据该身份认证消息对第二边缘设备进行 身份认证成功之后, 就会将 VLAN 的状态从最终状态切换到初始状态, 以重新与第二边缘设 备进行身份认证和状态协商。
     另外, 如图 10 所示, 本边缘设备还可以包括 : 消息发送模块 70, 则:
     消息发送模块 70 用于在 VLAN 的状态处于最终状态时, 在本边缘设备的以下信息 至少之一 : EVI 属性信息、 身份识别信息、 桥 MAC 发生改变之后, 向第二边缘设备发送身份认 证消息 ;
     VLAN 状态切换模块 20 还用于在消息发送模块 70 向第二边缘设备发送身份认证消 息之后, 将 VLAN 的状态从该最终状态切换到初始状态。
     本边缘设备在自己的 EVI 属性信息、 身份识别信息、 和 / 或桥 MAC 发生改变之后, 也需要向第二边缘设备发送身份认证消息, 身份认证消息发送之后, 即将 VLAN 的状态从最 终状态切换到初始状态, 以重新与第二边缘设备进行身份认证和状态协商。
     显然, 在实际实施过程中, 本边缘设备中也可以同时包含有消息接收模块和消息发送模块。
     此外, 在本边缘设备与第二边缘设备一次协商结束之后, 双方的 VLAN 均处于最终 状态, 如果本边缘设备或第二边缘设备任何一方中, 只有 EVI 属性信息发生了改变, 而与身 份相关的桥 MAC 和身份识别信息没有发生改变时, 此时, 也可以采取不返回 Initial 状态重 新进行身份认证的方式, 直接从当前最终状态更新为重新确定的最终状态。由于与身份相 关的桥 MAC 和身份识别信息没有发生改变, 因此双方无需再进行身份认证了, 而只需要重 新确定 VLAN 的最终状态即可。具体过程可以如下 :
     (1) 本边缘设备的 EVI 属性信息发生了改变时, 步骤如下 :
     步骤 11, 在 VLAN 状态切换模块将 VLAN 的状态从交换状态切换到最终状态之后, 确认模块在本边缘设备的 EVI 属性信息发生改变时, 将改变后的 EVI 属性信息携带在 VLAN 状态消息中发送给第二边缘设备, 以便第二边缘设备根据第二边缘设备的 EVI 属性信息以 及该 VLAN 状态消息中携带的本边缘设备改变后的 EVI 属性信息, 重新确定第二边缘设备的 VLAN 的最终状态 ;
     步骤 12, 确定通告模块根据本边缘设备改变后的 EVI 属性信息和第二边缘设备的 EVI 属性信息, 重新确定本边缘设备的 VLAN 的最终状态, 同时通过 VLAN 状态消息将自己所 确定的 VLAN 的最终状态通告给第二边缘设备 ;
     步骤 13, 确定通告模块接收第二边缘设备发来的携带有第二边缘设备重新确定 的 VLAN 的最终状态的 VLAN 状态消息, 并通知判断模块判断本边缘设备与第二边缘设备重 新确定的 VLAN 的最终状态是否相同, 其中, 本边缘设备中保存的对应的最终状态分别更新 为: 本边缘设备重新确定的 VLAN 的最终状态和接收到的第二边缘设备重新确定的 VLAN 的 最终状态 ;
     步骤 14, 判断模块判断本边缘设备与第二边缘设备重新确定的 VLAN 的最终状态 是否相同, 若不同, 则确认模块向第二边缘设备发送确认消息, 其中携带有本边缘设备和第 二边缘设备重新确定的 VLAN 的最终状态 ;
     步骤 15, 在确认模块接收到第二边缘设备发来的确认消息之后, 判断模块判断确 认模块接收到的确认消息中携带的本边缘设备和第二边缘设备重新确定的 VLAN 的最终状 态是否分别与本边缘设备中保存的对应的最终状态一致, 若一致, 则 VLAN 状态切换模块将 VLAN 的最终状态更新为本边缘设备重新确定的最终状态。
     (2) 第二边缘设备的 EVI 属性信息发生了改变时, 步骤如下 :
     步骤 21, 确认模块接收第二边缘设备在 EVI 属性信息发生改变后发来的携带有改 变后的 EVI 属性信息的 VLAN 状态消息 ;
     步骤 22, 确定通告模块根据本边缘设备的 EVI 属性信息以及第二边缘设备改变后 的 EVI 属性信息, 重新确定本边缘设备的 VLAN 最终状态, 同时通过 VLAN 状态消息通告给第 二边缘设备 ;
     步骤 23, 确定通告模块接收第二边缘设备发来的携带有第二边缘设备重新确定 的 VLAN 的最终状态的 VLAN 状态消息, 并通知判断模块判断本边缘设备与第二边缘设备重 新确定的 VLAN 的最终状态是否相同, 其中, 本边缘设备中保存的对应的最终状态分别更新 为: 本边缘设备重新确定的 VLAN 的最终状态和接收到的第二边缘设备重新确定的 VLAN 的 最终状态 ;步骤 24, 判断模块判断本边缘设备与第二边缘设备重新确定的 VLAN 的最终状态 是否相同, 若不同, 则确认模块向第二边缘设备发送确认消息, 其中携带有本边缘设备和第 二边缘设备重新确定的 VLAN 的最终状态 ;
     步骤 25, 在确认模块接收到第二边缘设备发来的确认消息之后, 判断模块判断确 认模块接收的确认消息中携带的本边缘设备和第二边缘设备确定的 VLAN 的最终状态是否 分别与本边缘设备中保存的对应的最终状态一致, 若一致, 则 VLAN 状态切换模块将 VLAN 的 最终状态更新为重新确定的最终状态。
     综上, 本发明以上实施例可以达到以下技术效果 :
     协商的边缘设备双方 VLAN 初始化时即进入初始状态, 对对方进行身份认证成功 后, 将 VLAN 从初始状态切换到交换状态, 在 VLAN 处于交换状态时, 会将各自确定的 VLAN 的 最终状态 (激活或非激活状态) 通告给对方, 在确定自己与对方确定的 VLAN 的最终状态不同 时, 才会将 VLAN 从交换状态切换到自己所确定的最终状态。 由于边缘设备上的一个 VLAN 在 初始状态或交换状态中时该边缘设备均不允许转发该 VLAN 中的报文, 因此, 在协商开始时 以及协商过程中, 网络中均不可能存在环路, 而且, 边缘设备在确定自己与对方确定的 VLAN 的最终状态不同时, 才会将 VLAN 从交换状态切换到自己所确定的最终状态, 从而能够确保 在 EVI 双归属网络中同一个 VLAN 在两台边缘设备上是处于不同的最终状态, 即只会在一台 边缘设备上是 Active 状态, 而在另一台边缘设备上是 Inactive 状态, 不可能出现两台边缘 设备上都是 Active 状态或者都是 Inactive 状态的情况, 进一步消除了环路存在的可能性, 从而通过优化 EVI 双归属网络的 VLAN 状态协商机制, 从根本上消除了协商导致的网络环 路, 维护了双归属网络的稳定性。
     以上所述仅为本发明的较佳实施例而已, 并不用以限制本发明, 凡在本发明的精 神和原则之内, 所做的任何修改、 等同替换、 改进等, 均应包含在本发明保护的范围之内。

VLAN状态的协商方法及边缘设备.pdf_第1页
第1页 / 共28页
VLAN状态的协商方法及边缘设备.pdf_第2页
第2页 / 共28页
VLAN状态的协商方法及边缘设备.pdf_第3页
第3页 / 共28页
点击查看更多>>
资源描述

《VLAN状态的协商方法及边缘设备.pdf》由会员分享,可在线阅读,更多相关《VLAN状态的协商方法及边缘设备.pdf(28页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102811153 A (43)申请公布日 2012.12.05 CN 102811153 A *CN102811153A* (21)申请号 201210293245.9 (22)申请日 2012.08.17 H04L 12/46(2006.01) H04L 12/56(2006.01) H04L 9/32(2006.01) (71)申请人 杭州华三通信技术有限公司 地址 310053 浙江省杭州市高新技术产业开 发区之江科技工业园六和路 310 号华 为杭州生产基地 (72)发明人 宋小恒 (74)专利代理机构 北京德琦知识产权代理有限 公司 11018 代理人 郑。

2、红娟 宋志强 (54) 发明名称 VLAN 状态的协商方法及边缘设备 (57) 摘要 本发明公开了一种 VLAN 状态的协商方法及 边缘设备, 其中, 该方法包括 : 第一边缘设备对站 点内同一 EVI 实例的邻居第二边缘设备进行身份 认证, 并在身份认证成功之后, 将该 EVI 实例对应 的 VLAN 的状态从初始状态切换到交换状态 ; 第一 边缘设备与第二边缘设备相互通告各自所确定的 VLAN 的最终状态 ; 且第一边缘设备判断自己与第 二边缘设备所确定的 VLAN 的最终状态是否相同 ; 若第一边缘设备判定出自己与第二边缘设备所确 定的 VLAN 的最终状态不同, 则第一边缘设备将 VL。

3、AN 的状态从交换状态切换到自己所确定的最 终状态 ; 若第一边缘设备判定出自己与第二边缘 设备所确定的 VLAN 的最终状态相同, 则第一边缘 设备将 VLAN 的状态从交换状态切换到初始状态。 (51)Int.Cl. 权利要求书 5 页 说明书 16 页 附图 6 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 5 页 说明书 16 页 附图 6 页 1/5 页 2 1. 一种虚拟局域网 VLAN 状态的协商方法, 应用于以太网连接虚拟化 EVI 网络, 其特征 在于, 所述方法包括 : 第一边缘设备对站点内同一 EVI 实例的邻居第二边缘设备进行身份认证, 并。

4、在身份认 证成功之后, 将该EVI实例对应的VLAN的状态从初始状态切换到交换状态 ; 其中, 边缘设备 上VLAN的状态处于初始状态或交换状态时, 该边缘设备不允许转发该EVI实例对应的VLAN 中的报文, 边缘设备初始化后, 其上该 EVI 实例对应的 VLAN 的状态进入所述初始状态 ; 所述第一边缘设备与第二边缘设备相互通告各自所确定的 VLAN 的最终状态 ; 且所述 第一边缘设备判断自己与所述第二边缘设备所确定的 VLAN 的最终状态是否相同 ; 若所述第一边缘设备判定出自己与所述第二边缘设备所确定的 VLAN 的最终状态不 同, 则所述第一边缘设备将 VLAN 的状态从交换状态切。

5、换到自己所确定的最终状态 ; 其中, 当该最终状态为激活状态时, 所述第一边缘设备允许转发该 VLAN 中的报文, 当该最终状态 为非激活状态时, 所述第一边缘设备不允许转发该 VLAN 中的报文 ; 若所述第一边缘设备判定出自己与所述第二边缘设备所确定的 VLAN 的最终状态相 同, 则所述第一边缘设备将 VLAN 的状态从所述交换状态切换到所述初始状态。 2. 根据权利要求 1 所述的方法, 其特征在于, 在所述第一边缘设备判定出自己与所述 第二边缘设备所确定的 VLAN 的最终状态不同之后, 以及在所述第一边缘设备将 VLAN 的状 态从交换状态切换到自己所确定的最终状态之前, 还包括 。

6、: 所述第一边缘设备向所述第二边缘设备发送确认消息, 其中, 所述确认消息中携带有 自己和所述第二边缘设备所确定的 VLAN 的最终状态 ; 在接收到所述第二边缘设备发来的确认消息之后, 所述第一边缘设备判定出接收的确 认消息中携带的所述第一边缘设备和所述第二边缘设备所确定的 VLAN 的最终状态分别与 本地保存的对应的最终状态一致。 3. 根据权利要求 2 所述的方法, 其特征在于, 在所述接收到所述第二边缘设备发来的 确认消息之后, 还包括 : 若判定出接收的确认消息中携带的所述第一边缘设备或所述第二边缘设备所确定的 VLAN 的最终状态与本地保存的对应的最终状态不一致, 则所述第一边缘设。

7、备将 VLAN 的状 态从所述交换状态切换到所述初始状态。 4.根据权利要求1至3中任一项所述的方法, 其特征在于, 若所述第一边缘设备对所述 第二边缘设备进行身份认证失败, 则所述第一边缘设备将 VLAN 的状态维持在所述初始状 态。 5.根据权利要求1至3中任一项所述的方法, 其特征在于, 所述第一边缘设备与第二边 缘设备相互通告各自所确定的 VLAN 的最终状态包括 : 当 VLAN 的状态处于所述交换状态时, 所述第一边缘设备向所述第二边缘设备发送携 带有自己的以太网连接虚拟化EVI属性信息的VLAN状态消息, 以便所述第二边缘设备根据 所述第一边缘设备和所述第二边缘设备的 EVI 属。

8、性信息确定所述第二边缘设备的 VLAN 的 最终状态 ; 所述第一边缘设备接收到所述第二边缘设备发来的携带有所述第二边缘设备的 EVI 属性信息的 VLAN 状态消息之后, 根据自己和所述第二边缘设备的 EVI 属性信息, 确定自己 的 VLAN 的最终状态, 并保存到本地 ; 权 利 要 求 书 CN 102811153 A 2 2/5 页 3 所述第一边缘设备将所确定的自己的 VLAN 的最终状态通告给所述第二边缘设备 ; 所述第一边缘设备接收所述第二边缘设备所确定的 VLAN 的最终状态, 并保存到本地。 6.根据权利要求5所述的方法, 其特征在于, 所述EVI属性信息包括 : EVI实。

9、例标识符、 EVI 实例优先级和要进行协商的 VLAN 的优先级 ; 所述第一边缘设备根据自己和所述第二边 缘设备的 EVI 属性信息, 确定自己的 VLAN 的最终状态包括 : 所述第一边缘设备比较自己的 EVI 实例优先级与所述第二边缘设备的 EVI 实例优先 级 ; 若所述第一边缘设备与所述第二边缘设备的 EVI 实例优先级不同, 则所述第一边缘设 备在自己的 EVI 实例优先级高于所述第二边缘设备时, 确定自己的 EVI 实例中包含的要进 行协商的 VLAN 的最终状态为激活状态, 并在低于时, 确定自己的 EVI 实例中包含的要进行 协商的 VLAN 的最终状态为非激活状态 ; 若所。

10、述第一边缘设备与所述第二边缘设备的 EVI 实例优先级相同, 则针对每一个要进 行协商的 VLAN, 比较自己与所述第二边缘设备上该 VLAN 的优先级 ; 若自己与所述第二边缘设备上该 VLAN 的优先级不同, 则所述第一边缘设备在自己的 该VLAN的优先级高于所述第二边缘设备时, 确定自己的该VLAN的状态为激活状态, 并在低 于时, 确定自己的该 VLAN 的状态为非激活状态 ; 若自己与所述第二边缘设备上该 VLAN 的优先级 VLAN 优先级相同, 则所述第一边缘设 备在自己的桥 MAC 的地址大于所述第二边缘设备时, 确定自己的该 VLAN 的状态为激活状 态, 并在小于时, 确定。

11、自己的该 VLAN 的状态为非激活状态。 7. 根据权利要求 1 至 3 中任一项所述的方法, 其特征在于, 还包括 : 当 VLAN 的状态处于最终状态时, 所述第一边缘设备在接收到所述第二边缘设备发来 的邻居发现 Hello 报文以及身份认证消息之后, 对所述第二边缘设备进行身份认证, 其中, 该身份认证消息是所述第二边缘设备在初始探测到站点内有同一 EVI 实例的邻居所述第 一边缘设备存在时发送的, 或者是所述第二边缘设备的 VLAN 处于最终状态时, 在所述第 二边缘设备的以下信息至少之一 : EVI 属性信息、 身份识别信息、 桥 MAC 发生改变之后发送 的 ; 在身份认证成功之后。

12、, 所述第一边缘设备将 VLAN 的状态从该最终状态切换到初始状 态。 8. 根据权利要求 1 至 3 中任一项所述的方法, 其特征在于, 还包括 : 当 VLAN 的状态处于最终状态时, 在所述第一边缘设备的以下信息至少之一 : EVI 属性 信息、 身份识别信息、 桥 MAC 发生改变之后, 所述第一边缘设备向所述第二边缘设备发送身 份认证消息, 之后将 VLAN 的状态从该最终状态切换到初始状态。 9. 根据权利要求 2 所述的方法, 其特征在于, 在所述第一边缘设备将 VLAN 的状态从交 换状态切换到自己所确定的最终状态之后, 还包括 : 当 VLAN 的状态处于最终状态时, 在所述。

13、第一边缘设备的 EVI 属性信息发生改变之后, 所述第一边缘设备将改变后的 EVI 属性信息携带在 VLAN 状态消息中发送给所述第二边缘 设备, 以便所述第二边缘设备根据所述第二边缘设备的 EVI 属性信息以及所述第一边缘设 备改变后的 EVI 属性信息, 重新确定所述第二边缘设备的 VLAN 的最终状态 ; 所述第一边缘设备根据自己改变后的EVI属性信息和所述第二边缘设备的EVI属性信 权 利 要 求 书 CN 102811153 A 3 3/5 页 4 息, 重新确定自己的 VLAN 的最终状态, 并通告给所述第二边缘设备 ; 在接收到所述第二边缘设备重新确定的 VLAN 的最终状态之后。

14、, 所述第一边缘设备, 并 在判定出自己与所述第二边缘设备重新确定的 VLAN 的最终状态不同之后, 向所述第二边 缘设备发送确认消息, 其中, 本地保存的对应的最终状态分别更新为 : 所述第一边缘设备重 新确定的 VLAN 的最终状态和接收到的所述第二边缘设备重新确定的 VLAN 的最终状态 ; 在接收到所述第二边缘设备发来的确认消息之后, 若所述第一边缘设备判定出接收的 确认消息中携带的所述第一边缘设备和所述第二边缘设备确定的 VLAN 的最终状态分别与 本地保存的对应的最终状态一致, 则所述第一边缘设备将自己的 VLAN 的最终状态更新为 重新确定的最终状态。 10. 一种边缘设备, 其。

15、特征在于, 应用于以太网连接虚拟化 EVI 网络, 所述边缘设备包 括 : 身份认证模块, 用于对本边缘设备所在的站点内与本边缘设备为同一 EVI 实例的邻居 第二边缘设备进行身份认证 ; VLAN 状态切换模块, 用于在所述身份认证模块对所述第二边缘设备进行身份认证成功 之后, 将本边缘设备的该 EVI 实例对应的 VLAN 的状态从初始状态切换到交换状态, 以及, 在判断模块判定出本边缘设备与所述第二边缘设备所确定的 VLAN 的最终状态不同时, 将 VLAN 的状态从所述交换状态切换到本边缘设备所确定的最终状态, 在所述判断模块判定 出本边缘设备与所述第二边缘设备所确定的 VLAN 的最。

16、终状态相同时, 将 VLAN 的状态从所 述交换状态切换到所述初始状态 ; 其中, 边缘设备上 VLAN 的状态处于初始状态或交换状态 时, 该边缘设备不允许转发该 EVI 实例对应的 VLAN 中的报文, 边缘设备初始化后, 其上该 EVI 实例对应的 VLAN 的状态进入所述初始状态 ; 当本边缘设备所确定的 VLAN 的最终状态 为激活状态时, 本边缘设备允许转发该VLAN中的报文, 当本边缘设备所确定的VLAN的最终 状态为非激活状态时, 本边缘设备不允许转发该 VLAN 中的报文 ; 所述确定通告模块, 用于在所述 VLAN 状态切换模块将 VLAN 的状态从初始状态切换到 交换状态。

17、之后, 与所述第二边缘设备相互通告各自所确定的 VLAN 的最终状态 ; 所述判断模块, 用于判断本边缘设备与所述第二边缘设备所确定的 VLAN 的最终状态 是否相同。 11. 根据权利要求 10 所述的设备, 其特征在于, 还包括 : 确认模块, 其中 : 所述确认模块用于在所述判断模块判定出本边缘设备与所述第二边缘设备所确定的 VLAN 的最终状态不同之后, 以及在所述 VLAN 状态切换模块将 VLAN 的状态从所述交换状态 切换到本边缘设备所确定的最终状态之前, 向所述第二边缘设备发送确认消息, 以及接收 所述第二边缘设备发来的确认消息, 其中, 所述确认消息中携带有本边缘设备和所述第。

18、二 边缘设备所确定的 VLAN 的最终状态 ; 所述判断模块还用于判断所述确认模块接收的确认消息中携带的本边缘设备和所述 第二边缘设备所确定的 VLAN 的最终状态是否分别与本边缘设备中保存的对应的最终状态 一致, 并在一致时, 通知所述VLAN状态切换模块将VLAN的状态从所述交换状态切换到本边 缘设备所确定的最终状态。 12. 根据权利要求 11 所述的设备, 其特征在于, 所述 VLAN 状态切换模块还用于在所述判断模块判定出所述确认模块接收的确认消息 权 利 要 求 书 CN 102811153 A 4 4/5 页 5 中携带的本边缘设备或所述第二边缘设备所确定的 VLAN 的最终状态。

19、与本边缘设备中保存 的对应的最终状态不一致时, 将 VLAN 的状态从所述交换状态切换到所述初始状态。 13. 根据权利要求 10 至 12 中任一项所述的设备, 其特征在于, 所述 VLAN 状态切换模块还用于在所述认证执行模块对所述第二边缘设备进行身份认 证失败之后, 将 VLAN 的状态维持在所述初始状态。 14. 根据权利要求 10 至 12 中任一项所述的设备, 其特征在于, 所述确定通告模块包 括 : 第二收发模块, 用于在 VLAN 的状态处于所述交换状态时, 向所述第二边缘设备发送携 带有本边缘设备的以太网连接虚拟化EVI属性信息的VLAN状态消息, 以便所述第二边缘设 备根据。

20、本边缘设备和所述第二边缘设备的 EVI 属性信息确定所述第二边缘设备的 VLAN 的 最终状态, 接收所述第二边缘设备发来的携带有所述第二边缘设备的 EVI 属性信息的 VLAN 状态消息, 将所述状态确定模块所确定的本边缘设备的 VLAN 的最终状态通告给所述第二 边缘设备, 以及, 接收所述第二边缘设备发来的所述第二边缘设备所确定的 VLAN 的最终状 态 ; 所述状态确定模块, 用于根据本边缘设备和所述第二边缘设备的 EVI 属性信息, 确定 本边缘设备的 VLAN 的最终状态 ; 保存模块, 用于保存所述状态确定模块所确定的本边缘设备的 VLAN 的最终状态, 以及 所述第二收发模块接。

21、收到的所述第二边缘设备所确定的 VLAN 的最终状态。 15. 根据权利要求 14 所述的设备, 其特征在于, 所述 EVI 属性信息包括 : EVI 实例标识 符、 EVI 实例优先级和要进行协商的 VLAN 的优先级 ; 所述状态确定模块包括 : 第一比较单元, 用于比较本边缘设备的 EVI 实例优先级与所述第二边缘设备的 EVI 实 例优先级 ; 确定单元, 用于在所述第一比较单元比较出本边缘设备与所述第二边缘设备的 EVI 实 例优先级不同的情况下, 在本边缘设备的 EVI 实例优先级高于所述第二边缘设备时, 确定 本边缘设备的 EVI 实例中包含的要进行协商的 VLAN 的最终状态为。

22、激活状态, 并在低于时, 确定本边缘设备的EVI实例中包含的要进行协商的VLAN的最终状态为非激活状态 ; 在所述 第二比较单元比较出本边缘设备与所述第二边缘设备上该 VLAN 的优先级不同的情况下, 在本边缘设备的该 VLAN 的优先级高于所述第二边缘设备时, 确定本边缘设备的该 VLAN 的 状态为激活状态, 并在低于时, 确定本边缘设备的该 VLAN 的状态为非激活状态 ; 在本边缘 设备与所述第二边缘设备上该 VLAN 的优先级 VLAN 优先级相同的情况下, 在本边缘设备的 桥 MAC 的地址大于所述第二边缘设备时, 确定本边缘设备的该 VLAN 的状态为激活状态, 并 在小于时, 。

23、确定本边缘设备的该 VLAN 的状态为非激活状态 ; 所述第二比较单元, 用于在所述第一比较单元比较出本边缘设备与所述第二边缘设备 的 EVI 实例优先级相同的情况下, 针对每一个要进行协商的 VLAN, 比较本边缘设备与所述 第二边缘设备上该 VLAN 的优先级。 16. 根据权利要求 10 至 12 中任一项所述的设备, 其特征在于, 还包括 : 消息接收模块, 其中 : 所述消息接收模块用于接收所述第二边缘设备发来的邻居发现 Hello 报文以及身份 认证消息, 并通知所述身份认证模块中的认证执行模块对所述第二边缘设备进行身份认 权 利 要 求 书 CN 102811153 A 5 5/。

24、5 页 6 证, 其中, 该身份认证消息是所述第二边缘设备在初始探测到自己所在的站点内有与自己 为同一EVI实例的邻居本边缘设备存在时发送的, 或者是所述第二边缘设备的VLAN处于最 终状态时, 在所述第二边缘设备的以下信息至少之一 : EVI 属性信息、 身份识别信息、 桥 MAC 发生改变之后发送的 ; 所述 VLAN 状态切换模块还用于在 VLAN 的状态处于最终状态时, 在所述消息接收模块 接收到所述第二边缘设备发来的 Hello 报文以及身份认证消息, 且所述认证执行模块对所 述第二边缘设备进行身份认证成功之后, 将 VLAN 的状态从该最终状态切换到初始状态。 17. 根据权利要求。

25、 10 至 12 中任一项所述的设备, 其特征在于, 还包括 : 消息发送模块, 其中 : 所述消息发送模块用于在 VLAN 的状态处于最终状态时, 在本边缘设备的以下信息至 少之一 : EVI 属性信息、 身份识别信息、 桥 MAC 发生改变之后, 向所述第二边缘设备发送身份 认证消息 ; 所述 VLAN 状态切换模块还用于在所述消息发送模块向所述第二边缘设备发送身份认 证消息之后, 将 VLAN 的状态从该最终状态切换到初始状态。 18. 根据权利要求 11 所述的设备, 其特征在于, 所述确认模块还用于在所述 VLAN 状态切换模块将 VLAN 的状态从所述交换状态切换 到最终状态之后,。

26、 在本边缘设备的EVI属性信息发生改变时, 将改变后的EVI属性信息携带 在 VLAN 状态消息中发送给所述第二边缘设备, 以便所述第二边缘设备根据所述第二边缘 设备的 EVI 属性信息以及本边缘设备改变后的 EVI 属性信息, 重新确定所述第二边缘设备 的 VLAN 的最终状态, 以及, 在所述判断模块判定出本边缘设备与所述第二边缘设备重新确 定的 VLAN 的最终状态不同时, 向所述第二边缘设备发送确认消息, 以及接收所述第二边缘 设备发来的确认消息 ; 所述确定通告模块还用于根据本边缘设备改变后的 EVI 属性信息和所述第二边缘设 备的EVI属性信息, 重新确定本边缘设备的VLAN的最终。

27、状态, 并通告给所述第二边缘设备, 以及, 接收所述第二边缘设备发来的所述第二边缘设备重新确定的 VLAN 的最终状态, 并通 知所述判断模块判断本边缘设备与所述第二边缘设备重新确定的 VLAN 的最终状态是否相 同, 其中, 本边缘设备中保存的对应的最终状态分别更新为 : 本边缘设备重新确定的 VLAN 的最终状态和接收到的所述第二边缘设备重新确定的 VLAN 的最终状态 ; 所述判断模块还用于在所述确认模块接收到所述第二边缘设备发来的确认消息之后, 判断接收的确认消息中携带的本边缘设备和所述第二边缘设备重新确定的 VLAN 的最终状 态是否分别与本边缘设备中保存的对应的最终状态一致 ; 所。

28、述 VLAN 状态切换模块还用于在所述判断模块判定出接收的确认消息中携带的本边 缘设备和所述第二边缘设备重新确定的 VLAN 的最终状态分别与本边缘设备中保存的对应 的最终状态一致时, 将 VLAN 的最终状态更新为本边缘设备重新确定的最终状态。 权 利 要 求 书 CN 102811153 A 6 1/16 页 7 VLAN 状态的协商方法及边缘设备 技术领域 0001 本发明涉及通信技术领域, 特别涉及一种 VLAN 状态的协商方法及边缘设备。 背景技术 0002 EVI(Ethernet Virtual Interconnection, 以太网连接虚拟化) 是一种以太网互 联的技术, 可。

29、以在异地部署多个数据中心来实现负载分担和高可靠性, 并通过虚拟机在数 据中心之间进行自由迁移。一个大的数据中心可以由分布在不同地点的多个站点 (site) 组成。在利用 EVI 技术构建的数据中心网络 (称为 EVI 网络) 中, 站点通过边缘设备 (Edge Device, ED) 接入核心网时, 为了实现高可靠性, 防止网络中设备的单点故障, 通常使用两台 边缘设备以双归属方式 (即两台边缘设备归属一个站点) 接入核心网 (这两台边缘设备互为 同一 EVI 实例的邻居) 。在以双归属方式接入核心网的站点中, 可能会存在环路。为了防 止环路, 目前通常采用的解决方法是 : 在一个站点内, 使。

30、每一个 VLAN(Virtual Local Area Network, 虚拟局域网) 的数据流必须从同一个边缘设备进出核心网, 该 VLAN 即为该边缘设 备的激活 VLAN, 即, 每一个 VLAN 只能是站点内的一个边缘设备的激活 VLAN。边缘设备的激 活 VLAN 的集合是配置的扩展 VLAN(即, 私网 VLAN) 的子集, 从某个特定的扩展 VLAN 角度来 看, 网络仍然是单归属的, 从而不存在环路。 0003 在如图1所示的EVI双归属网络中, 站点1内的边缘设备ED1和ED2以双归属方式 接入核心网 (即图中的 EVI) , ED1 和 ED2 通过 CE(Customer。

31、 Edge, 用户边缘设备) 10 下挂了 大量的服务器和主机设备 ; 站点 2 内的边缘设备 ED3 和 ED4 以双归属方式接入核心网, ED3 和 ED4 通过 CE20 下挂了大量的服务器和主机设备。VLAN100 在 ED1 和 ED4 上为激活 VLAN, 在 ED2 和 ED3 上为非激活 VLAN, 从而 VLAN100 的数量流只会在 ED1 和 ED4 这两个边缘设备 之间进出核心网, 站点 1 内和站点 2 内不会存在环路。 0004 为了实现在一个站点内, 一个 VLAN 的数据流只从同一个边缘设备进出核心网, 同 一个站点内的各个边缘设备 (即归属于同一个站点的两台边。

32、缘设备) 在站点内的网络上运 行站点内 ISIS(Intermediate System-to-Intermediate System, 中间系统到中间系统) 协议, 来协商各个边缘设备的激活VLAN与非激活VLAN。 必须保证同一个站点内的边缘设备 相互之间的可达性, 以完成站点内 ISIS 协议报文的交互过程, 在规划数据中心网络时要配 置独立的控制 VLAN 来承载站点内 ISIS 协议报文。在现有技术中, 每一个边缘设备的用户 VLAN 状态有两个 : Active(激活) 和 Inactive(非激活) , 只有用户 VLAN 的状态处于 Active 的边缘设备才会转发该 VLAN。

33、 中的数据流, 具体的用户 VLAN 状态协商过程如下 : 0005 边缘设备双方交互 Site ISIS Hello(站点内 ISIS 邻居发现) 报文来形成邻居关 系, 并且在初始化时双方中的用户 VLAN 的状态均为 Active ; 然后, 双方通过两者之间的连 接接口相互发送协议报文, 以相互通告各自配置的扩展 VLAN ; 之后, 双方在接收到对方发 送的协议报文之后, 各自独立地在本地按照某种算法进行运算, 以便从扩展 VLAN 中选择自 己的激活 VLAN 和非激活 VLAN, 其中, 针对每一个 VLAN 都按照相同的方式运算 ; 最后双方各 自按照自己选择的激活 VLAN 。

34、和非激活 VLAN 修改各个 VLAN 的属性。例如, 图 1 中的 ED1 和 说 明 书 CN 102811153 A 7 2/16 页 8 ED2 通过上述协商过程进行协商之后, 得到 : VLAN100 对于 ED1 为 Active VLAN, 而对于 ED2 为 Inactive VLAN, 之后 ED1 和 ED2 各自修改 VLAN100 的属性。因此, 在站点 1 中, 仅由 ED1 来转发 VLAN100 的数据流。 0006 由上可知, 在边缘设备进行用户 VLAN 状态协商的过程中, 由于初始化时双方中的 用户 VLAN 的状态均为 Active, 这样, 在最终修改各。

35、个 VLAN 的属性之前, 双方都认为自己的 VLAN 是 Active VLAN, 从而会导致在一定时间内某一个 VLAN 对于双方都是 Active VLAN 的 情况, 当一个 VLAN 对于同一站点内的两台双归属边缘设备都是 Active VLAN 时, 这两台边 缘设备都会转发该 VLAN 的数据流, 该站点内的网络中便会存在环路, 导致大量环路报文冲 击下挂的服务器和主机设备。并且, 协商双方在选择各自的激活 VLAN 和非激活 VLAN 时, 是 各自独立地在本地进行运算, 双方都不知道对方的选择结果, 这样可能会出现双方都选择 某一个 VLAN 为 Active VLAN 的情。

36、况, 站点内的网络中同样存在环路。 发明内容 0007 有鉴于此, 本发明提供了一种 VLAN 状态的协商方法及边缘设备, 以至少解决现有 技术的协商导致的网络环路问题。 0008 本发明的技术方案如下 : 0009 一方面, 提供了一种 VLAN 状态的协商方法, 该方法应用于 EVI 网络, 该方法包括 : 第一边缘设备对站点内同一 EVI 实例的邻居第二边缘设备进行身份认证, 并在身份认证成 功之后, 将该 EVI 实例对应的 VLAN 的状态从初始状态切换到交换状态 ; 其中, 边缘设备上 VLAN 的状态处于初始状态或交换状态时, 该边缘设备不允许转发该 EVI 实例对应的 VLAN。

37、 中的报文, 边缘设备初始化后, 其上该 EVI 实例对应的 VLAN 的状态进入初始状态 ; 第一边 缘设备与第二边缘设备相互通告各自所确定的 VLAN 的最终状态 ; 且第一边缘设备判断自 己与第二边缘设备所确定的 VLAN 的最终状态是否相同 ; 若第一边缘设备判定出自己与第 二边缘设备所确定的 VLAN 的最终状态不同, 则第一边缘设备将 VLAN 的状态从交换状态切 换到自己所确定的最终状态 ; 其中, 当该最终状态为激活状态时, 第一边缘设备允许转发该 VLAN 中的报文, 当该最终状态为非激活状态时, 第一边缘设备不允许转发该 VLAN 中的报 文 ; 若第一边缘设备判定出自己与。

38、第二边缘设备所确定的 VLAN 的最终状态相同, 则第一边 缘设备将 VLAN 的状态从交换状态切换到初始状态。 0010 另一方面, 还提供了一种边缘设备, 应用于 EVI 网络, 边缘设备包括 : 身份认证模 块, 用于对本边缘设备所在的站点内与本边缘设备为同一 EVI 实例的邻居第二边缘设备进 行身份认证 ; VLAN 状态切换模块, 用于在身份认证模块对第二边缘设备进行身份认证成功 之后, 将本边缘设备的该EVI实例对应的VLAN的状态从初始状态切换到交换状态, 以及, 在 判断模块判定出本边缘设备与第二边缘设备所确定的 VLAN 的最终状态不同时, 将 VLAN 的 状态从交换状态切。

39、换到本边缘设备所确定的最终状态, 在判断模块判定出本边缘设备与第 二边缘设备所确定的VLAN的最终状态相同时, 将VLAN的状态从交换状态切换到初始状态 ; 其中, 边缘设备上 VLAN 的状态处于初始状态或交换状态时, 该边缘设备不允许转发该 EVI 实例对应的 VLAN 中的报文, 边缘设备初始化后, 其上该 EVI 实例对应的 VLAN 的状态进入 初始状态 ; 当本边缘设备所确定的 VLAN 的最终状态为激活状态时, 本边缘设备允许转发该 VLAN 中的报文, 当本边缘设备所确定的 VLAN 的最终状态为非激活状态时, 本边缘设备不允 说 明 书 CN 102811153 A 8 3/。

40、16 页 9 许转发该 VLAN 中的报文 ; 确定通告模块, 用于在 VLAN 状态切换模块将 VLAN 的状态从初始 状态切换到交换状态之后, 与第二边缘设备相互通告本边缘设备与第二边缘设备所确定的 VLAN 的最终状态 ; 判断模块, 用于判断本边缘设备与第二边缘设备所确定的 VLAN 的最终状 态是否相同。 0011 本发明的以上技术方案, 协商的边缘设备双方 VLAN 初始化时即进入初始状态, 在 对对方进行身份认证成功后, 将 VLAN 从初始状态切换到交换状态, 在 VLAN 处于交换状态 时, 会将各自确定的 VLAN 的最终状态 (激活或非激活状态) 通告给对方, 在确定自己。

41、与对方 确定的 VLAN 的最终状态不同时, 才会将 VLAN 从交换状态切换到自己所确定的最终状态。 由于边缘设备上的一个 VLAN 在初始状态或交换状态中时该边缘设备均不允许转发该 VLAN 中的报文, 因此, 在协商开始时以及协商过程中, 网络中均不可能存在环路, 而且, 边缘设备 在确定自己与对方确定的 VLAN 的最终状态不同时, 才会将 VLAN 从交换状态切换到自己所 确定的最终状态, 从而能够确保在 EVI 双归属网络中同一个 VLAN 在两台边缘设备上是处 于不同的最终状态, 即只会在一台边缘设备上是 Active 状态, 而在另一台边缘设备上是 Inactive 状态, 不。

42、可能出现两台边缘设备上都是 Active 状态或者都是 Inactive 状态的情 况, 进一步消除了环路存在的可能性, 从而通过优化EVI双归属网络的VLAN状态协商机制, 从根本上消除了协商导致的网络环路, 维护了双归属网络的稳定性。 附图说明 0012 图 1 是现有技术的 EVI 双归属网络的架构示意图 ; 0013 图 2 是根据本发明的实施例一的 VLAN 状态的转移图 ; 0014 图 3 是按照如图 2 所示的状态转移图执行的 VLAN 状态协商方法的一种流程图 ; 0015 图 4 是按照如图 2 所示的状态转移图执行的 VLAN 状态协商方法的另一种流程图 ; 0016 图。

43、 5 是根据本发明的实施例二的 VLAN 状态协商的方法的流程示意图 ; 0017 图 6 是根据本发明的实施例三的边缘设备的一种结构示意图 ; 0018 图 7 是根据本发明的实施例三的边缘设备的另一种结构示意图 ; 0019 图 8 是根据本发明的实施例三的边缘设备的又一种结构示意图 ; 0020 图 9 是根据本发明的实施例四的边缘设备的一种结构示意图 ; 0021 图 10 是根据本发明的实施例四的边缘设备的另一种结构示意图。 具体实施方式 0022 为了解决现有技术的 VLAN 状态协商方法所导致的网络环路问题, 本发明以下实 施例对现有技术进行了改进, 提供了一种可以应用于 EVI。

44、 双归属网络中的 VLAN(也可称为 用户 VLAN) 状态协商的改进方法以及可以应用该方法的边缘设备, 能够避免在协商过程中 以及协商完成后网络中出现环路, 减少 EVI 双归属网络中的广播风暴。 0023 本发明以下实施例中, 为每一个 ED 设备的 VLAN 状态增加了两个中间状态 : Initial(初始)状态和 Exchange(交换)状态, 即, VLAN 存在三个状态 : Initial 状态、 Exchange状态和最终状态 (最终状态为Active状态或Inactive状态) 。 其中, Initial状态 用于标识VLAN的初始状态 (即VLAN初始化时的状态) , Exc。

45、hange状态用于标识ED设备开始 协商以及协商过程中 VLAN 的状态 (即 VLAN 在协商过程中的状态) , Inactive 状态和 Active 说 明 书 CN 102811153 A 9 4/16 页 10 状态为最终的结果状态。一般情况下, 只有 Active 状态的 VLAN 才能保证公网侧和用户侧 之间的数据流互通, Inactive 状态的 VLAN 可以按照用户的配置要求选择性丢弃数据报文, 而中间状态Initial和Exchange则不允许进行数据报文转发, 在预防环路要求高的组网环 境下会优先选择丢弃数据报文, 也就是说, 边缘设备上的一个 VLAN 的状态处于 I。

46、nitial 状 态、 Exchange 状态、 或 Inactive 状态时, 该边缘设备不允许转发该 VLAN 中的数据报文, 只 有处于 Active 状态时, 该边缘设备才允许转发该 VLAN 中的数据报文。并且, 边缘设备初始 化后, 其上 VLAN 的状态即进入 Initial 状态。 0024 实施例一 0025 图 2 是根据本发明的实施例一的 VLAN 状态的转移图, 在图 2 中示出了边缘设备上 的每一个 VLAN 在 Initial 状态、 Exchange 状态和最终状态这三个状态之间进行状态迁移 的情况。按照如图 2 所示的状态转移图, 本发明实施例一的 EVI 双归。

47、属网络中的 VLAN 状态 协商方法如图3所示, 该方法可以由EVI双归属网络中的站点内的任意一台边缘设备 (可以 称为第一边缘设备) 执行。如图 3 所示, 该协商方法包括以下步骤 : 0026 步骤 S302, 当 VLAN 处于 Initial 状态时, 第一边缘设备对站点内同一 EVI 实例 的邻居 : 第二边缘设备进行身份认证, 若身份认证成功, 则进入步骤 S304, 否则, 进入步骤 S306 ; 0027 步骤S304, 第一边缘设备将该EVI实例对应的VLAN的状态从Initial状态切换到 Exchange 状态 ; 0028 在步骤 S302-S304 中, 当 VLAN。

48、 的状态处于 Initial 状态时, 第一边缘设备向第 二边缘设备发送身份认证消息 ; 同样, 第二边缘设备也会向第一边缘设备发送身份认证消 息, 第一边缘设备在接收到第二边缘设备发来的身份认证消息之后, 就会对第二边缘设备 进行身份认证, 若身份认证成功, 则第一边缘设备将 VLAN 的状态从 Initial 状态切换到 Exchange 状态。例如 : 身份认证消息中可以包含 : 用于唯一标识一台边缘设备的桥 MAC (Media Access Control, 媒体访问控制) 和身份识别信息, 身份识别信息可以包括 : 用户配 置的密码和加密算法 (如 MD5) , 那么, 具体的身份。

49、认证过程可以为 : 第一边缘设备接收到第 二边缘设备发来的身份认证消息之后, 将该身份认证消息中携带的第二边缘设备的桥 MAC 与本地保存的相关列表中的桥 MAC 进行匹配, 若匹配到该列表中的一个桥 MAC, 则将该列表 中对应该桥 MAC 的密码以及该身份认证消息中携带的第二边缘设备的密码按照该身份认 证消息中携带的加密算法进行运算, 对运算得到的结果进行合法性检查, 若检查通过, 则身 份认证成功, 否则, 身份认证不成功。或者, 身份识别信息也可以仅包括密码, 此时, 身份认 证过程可以为 : 第一边缘设备接收到第二边缘设备发来的身份认证消息之后, 将该身份认 证消息中携带的第二边缘设备的桥 MAC 与本地保存的相关列表中的桥 MAC 进行匹配, 若匹 配到该列表中的一个桥 MAC, 则对该身份认证消息中携带的密码进行合法性检查, 若检查通 过, 则身份认证成功, 否则, 身份认证不成功。显然, 也可以采用其他的具体的身份认证方 式, 本发明对此不做限定。 0029 一种应用场景中, 某一个站点内开始时可能只配备了第一边缘设备这一台 ED 设 备, 该第一边缘设备接入核心网, 负责转发该站点内的服务器和 PC(即第一边缘设备连接 的 CE 下挂的大量的服务器和。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1