vlan实现的单桥多桥方案比较和设计

上传人:飞*** 文档编号:44999404 上传时间:2018-06-14 格式:DOC 页数:10 大小:183.50KB
返回 下载 相关 举报
vlan实现的单桥多桥方案比较和设计_第1页
第1页 / 共10页
vlan实现的单桥多桥方案比较和设计_第2页
第2页 / 共10页
vlan实现的单桥多桥方案比较和设计_第3页
第3页 / 共10页
vlan实现的单桥多桥方案比较和设计_第4页
第4页 / 共10页
vlan实现的单桥多桥方案比较和设计_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《vlan实现的单桥多桥方案比较和设计》由会员分享,可在线阅读,更多相关《vlan实现的单桥多桥方案比较和设计(10页珍藏版)》请在金锄头文库上搜索。

1、1TBS 现在的 VLAN 实现分析:.2 1.1 模式分析.2 1.2 TBS 实现情况.2 1.3 TBS 实现存在问题.2 1.4 需求分析.2 2设计分析.3 2.1 设计约束.3 2.2 可选方案.3 2.3 比较分析.4 2.4 方案选择.5 2.5 技术分析.5 3 技术设计.5 3.1 ebtables 钩子 .5 3.2 ebt_vlan.c 修改.6 3.3 VLAN 设备不添加 VLAN 标签 .6 3.4 数据流程.7 3.5 linux shell 配置.81 TBS 现在的现在的 VLAN 实现分析:实现分析:1.1 模式分析模式分析AP 的 VLAN 实现可以分为

2、桥模式和路由模式来考虑: 桥模式:报文在 AP 中只实现 MAC 地址的交换,也就是说只在内核的桥进行 MAC 查表而 决定出端口。 路由模式:如果报文方向为 LAN-WAN 则报文首先流入内核的桥,然后再流入内核的路 由表来查表决定出口设备;而如果报文方向为 WAN-LAN 则报文首先进入内核 的路由表然后在进入内核的桥在桥中决定 LAN 出端口。1.2 TBS 实现情况实现情况TBS 使用 linux 内核的 VLAN 功能已经实现了通过 WAN 口设备创建相应 VLAN 设备,使 用 此 VLAN 设备来解释、创建报文的 VLANtag 标签,并在也就是对于 VLAN 的路由模式来 说,

3、TBS 已经实现了。对应 VLAN 的桥模式,TBS 现在的页面操作:使用 WAN 设备创建相应 VLAN 设备,然后 使用此 VLAN 设备创建桥连接,在将此桥连接跟一个 LAN 组捆绑,那么跟此 LAN 组捆绑 的 LAN 端口接收的报文在桥交换后通过此 VLAN 设备发送出去的时候就可以加上相关的 VLAN 标签。从这点来说,TBS 现在已经实现了根据 LAN 端口划分 VLAN 进行桥模式的 做法,只是界面配置不直观。1.3 TBS 实现存在问题实现存在问题TBS VLAN 桥模式存在的问题:如果 WAN 口设备本身也加入到桥中,那么根据此 WAN 口设备创建的 VLAN 设备无法生效

4、。这是由于 WAN 口设备进入桥后再上报 linux 内核的 上层会将 skb-dev 修改为桥,导致问题发生。那么,现在的 TBS VLAN 桥模式中 WAN 口 只可以接收带 VLAN 标签的报文进行桥模式转发,而不带 VLAN 标签的报文则无法进入 桥模式转发。1.4 需求分析需求分析VLAN 桥模式后续需求: 1.根据 MAC 地址划分 VLAN 2.根据业务类型(流)划分 VLAN2 设计分析设计分析2.1 设计约束设计约束1.需要与现有功能兼容,否则会导致平台软件大修改; 2.由于 TBS 平台软件还在开发中,故 VLAN 功能需要能够容易合进入后续的平台软件版 本;2.2 可选方

5、案可选方案单桥方案: 1.现在内核的桥为不支持 VLAN 的桥,单桥的核心是将内核的桥修改为支持 VLAN 的桥,将桥的 mac 表修改为使用 mac 和 vlan 作为索引,这样在转发查 表时就会根据 vlan 和 mac 来决定出端口;报文在流出桥时,如果报文需要加 tag,则在桥中添加; 2.桥的端口可以配置 PVID 和默认优先级; 3.如果需要根据 mac 地址或者流来决定报文的 vlan 时,可以使用 ebtables 来设 置 skb-vlan;brvlaneth0ath1ath0VLAN+MAC交换Brvlan.1 00Brvlan.2 00多桥方案: 1.维持内核的桥流程,一

6、个 vlan 使用一个桥来实现,利用桥之间的隔离来达到 vlan 的隔离功能,如果报文流出桥时需要加 tag,则使用现在设备的 vlan 设 备来实现,也就是说需要根据端口设备创建对应的 vlan 设备,然后在将此 vlan 设备加到桥中; 2.在报文流进桥时,需要添加代码可以根据端口、mac 地址或者流来决定报文 的 vlan,然后引入相应的桥中;Br.100Br.200eth0.100eth0.200ath0ath1ath0.100ath0.200ath1.100ath1.200eth0MAC交换MAC交换2.3 比较分析比较分析下面从代码复杂性、兼容性和可移植性三个方面对两个方案进行比较

7、分析功能点比较分析选择页面操作:兼容性:加了 VLAN 配置页面,必然会跟 WAN VLAN 配置存在冲突,这里加个规则,如果在 VLAN 配置页面 中的配置的 VLAN 包含 WAN 端口,则在 WAN VLAN 配置的此 WAN VLAN 设备的 IP 功能不生效。对于多桥 方案,还存在一个 WAN VLAN 设备创建/删除的冲突问 题。 可移植性:单桥方案集中在桥修改,而多桥由于存在冲 突问题,移植性比较差。 复杂性:对于单桥将 WAN 设备加到桥后,还需要桥逻 辑以便 WAN 设备和 WAN VLAN 设备的 IP 功能生效。单桥LAN 组绑定兼容性:单桥存在冲突性;而多桥配置 VLA

8、N 时需要创 建多个桥,并需要创建相应 LAN 口设备的对应 VLAN 设备并加入桥中。由于 LAN 口设备不发送带 VLAN 标 签的报文,需要 LAN 口设备的 VLAN 设备在发送报文多桥时不添加 VLAN 标签。 复杂性:多桥比较复杂, WAN 桥兼容性:在多桥中当 WAN 设备加入到桥中,WAN 口的 VLAN 设备则无法接收到报文,而单桥则不存在此问题。复杂性:多桥方案中,为了兼容性,需要做到 WAN 设 备加入到桥后,此 WAN 口的 VLAN 设备可以接收到报 文,比较复杂。单桥2.4 方案选择方案选择从功能冲突来说,单桥方案与 LAN 组绑定存在不可协调冲突,故只能够选择多桥

9、方案, 但多桥方案涉及 WAN 功能和 LAN 组绑定功能同时修改,对于可移植性来说是不利的。2.5 技术分析技术分析下面从 linux 和 tbs 两个方面来分析实现 VLAN 需求需要的技术:在 linux 中,使用多桥来实现可以根据 MAC 地址或者业务类型(流)确定 VLAN 的 VLAN 功能的关键技术: 1.可以使用桥来进行 VLAN 标签的添加和去除:在 linux 中,通过往桥添加 VLAN 设备即可以实现。 2.可以使用桥来进行 COS 字段的添加修改:使用 VLAN 设备来对报文进行 VLAN 标签的添加时,COS 字段是又 vconfig egress-map 此命令确定

10、的,需要 修改相关流程以便可以根据业务类型(流)或者入端口来选择不同 COS 值。 3.根据 MAC 地址、业务类型(流)或者端口将报文引到不同桥中:要达到这项 要求需要对报文进行分析,为了简便,可以利用 ebtables 功能来对报文进行分 析,但是 ebtables 现在所有的钩子入口都是在桥中,不符合需求,需要在桥外 增加一个钩子入口来达到要求,这是在 liux 中最关键也是最复杂的部分。 4.LAN 口的 VLAN 在发送报文时不添加 VLAN 标签。 5.WAN 设备加入到桥后,WAN 设备的 VLAN 设备也可以接收 VLAN 报文。在 tbs 中,需要增加一个 VLAN 逻辑模块,此逻辑模块完成桥与 VLAN 的对应关系、 对桥进行维护、完成桥的 IP 功能,维护相关配置节点。3 技术设计技术设计3.1 ebtables 钩子钩子内核修改:1.在 filter 表中增加一个 VLAN train:参

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号