|
||||||
|
EPON系统三层路由及接口设计[图]
http://www.cww.net.cn 2011年6月9日 07:38 光通信技术
作 者:郭鹂 吴军平 李岳政
⑤ 查找到下一跳的出口是SUPER-VLAN 200,就把报文发给SUPER-VLAN 200; ⑥ SUPER-VLAN 200收到报文,将报文转发给PC3。 现在考虑PC1和PC2的通信流程。比较PC1和PC2的IP地址可以知道二者同属于一个子网,PC1就会广播ARP报文请求PC2的MAC。而由于PC1和PC2不在同一个SUB-VLAN中,ARP广播报文不能到达PC2。此时,SUPER-VLAN就需要发挥它的另一个重要作用--ARP PROXY。SUPER-VLAN的ARPPROXY功能工作流程如下: ① PC1广播一个ARP报文请求PC2的MAC; ② SUPER-VLAN 100发现PC2不在SUB-VLAN1内,就代理接受该ARP报文; ③ SUPER-VLAN100在SUB-VLAN 2内广播ARP报文请求PC2的MAC地址; ④ PC2应答ARP请求,将自己的MAC 00-00-00-00-00-03发送给SUPER-VLAN 100; ⑤ SUPER-VLAN 100作为网关应答PC1的ARP请求,将自己的MAC 00-00-00-00-00-01当作PC2的MAC发送给PC1。后续PC1发送给PC2的报文就会将带上目的MAC 00-00-00-00-00-01、目的IP 1.1.1.2的报文发送给SUPER-VLAN网关,网关收到该报文后将自己的MAC替换成PC2的MAC 00-00-00-00-00-03,并把报文按照学习到的路由发送给PC2。 2 路由软件设计 2.1 路由管理模块设计 路由可以分为静态路由和动态路由两大类。静态路由由网络管理者直接配置产生,动态路由由路由协议学习生成。为了实现软件路由表和交换芯片路由表的同步和路由择优等功能,需要进行路由信息收集、过滤、优选等操作,因此系统中需要路由管理模块维护不同的路由表项。路由管理模块(RTM)位于各软硬件平台驱动层之上,三层功能协议层及管理层之下,是三层功能实现的核心模块。根据设计,它在系统中需要完成的工作如下: ① 管理员配置添加三层接口,包括添加SUPER-VLAN、SUB-VLAN以及IP; ② 接口管理模块向路由管理模块通告接口事件,如接口的UP/DOWN事件; ③ 协议模块学习到动态路由,进行动态路由的添加/删除; ④ 路由管理模块处理接口变化事件,并通知各三层功能协议模块;同时管理来自协议模块的动态路由的写入与删除; ⑤ OS IP协议栈ARP功能提供主机路由表的维护,并向路由管理模块提供路由条目中下一跳Gate-way相关的ARP功能; ⑥ 交换芯片驱动为路由管理模块提供硬件FIB表的删除与写入功能。 ⑦ OS IP协议栈向路由管理模块提供硬件FIB表的删除与写入功能。 对应上述功能,设计将路由管理模块划分成更小的模块来分别实现。如图2所示,路由管理模块(RTM)由路由表控制模块(RTM_CTRL)、主机路由控制模块、管理与配置模块、动态路由消息处理模块、接口消息处理模块、操作系统适配层以及驱动适配层组成。 路由表(RIB table)由节点链表组成,每个节点表示到达一个目的网段的所有路由。如图3所示,每一个node中都记录3张RIB表,分别是RIB-active表、RIB-standby表和RIB-pend表,每一个表的子项都是到达该目的网段的路由信息,即RIB路由条目、RIB里面记录路由类型(RIP/OSPF/静态等)、下一跳网关、距离、metric和生成时间等。
RIB-active中的RIB路由表示当前激活的路由,该路由会被写入到硬件FIB和OS FIB中去,实现业务流的三层转发功能。通常一个目的网段只有一个active路由。 RIB-standby中的路由条目是可到达但不是最优路径的路由,当active路由不可用时,路由管理模块会在standby RIB找一个最优路由升级为active路由。 RIB-pend路由表中的路由是由于该路由的下一跳网关不可达(查ARP表)而暂时挂起的路由路径,当下一跳网关可达后,该路由会升级为standby路由或者是active路由。
编 辑:高娟 联系电话:010-67110006-853
文章评论【查看评论()】
|
重要新闻 通信技术 企业黄页 会议活动 |