一种以太网无编号接口实现数据转发方法

文档序号:7868465阅读:387来源:国知局
专利名称:一种以太网无编号接口实现数据转发方法
技术领域
本发明涉及网络通信技术,尤其涉及一种以太网通过无编号接口作为中继模式, 实现报文转发的方法。
背景技术
无编号接口就是设备上的一个接口上没有配置IP地址但是还想使用该接口,就直接利用本地其他接口网络地址作为该接口的网络地址以使该接口能够正常使用。其目的是是为了让没有配置IP地址的接口进行正常通讯同时节省宝贵的IP地址资源。但使用无编号接口的功能时候,存在使用限制借用方不能为以太网接口 ;被借用方接口的地址本身不能为借用地址;被借用方的地址可以借给多个接口 ;环回口的地址可被其它接口借用,但本身不能借用其它接口的地址;如果被借用接口有多个IP地址,则只能借用主IP 地址。目前以太网接口都需要配置IP地址,该接口才能正常工作,鉴于目前以太网接口在设备上大量存在,当以太网接口作为中继链路时需要配置同一网段地址,且配置的地址繁多,导致用户的配置使用复杂,使得设备的易用性不高。发明内容
本发明针对上述借用方不能为以太网接口限制的问题,提供了一种以太网无编号接口作为中继接口,实现报文转发方法。为了实现该方法,需要4个模块,包括配置管理模块、IP接口管理模块、邻居维护模块和交换网络驱动模块。
所述配置管理模块,负责设置以太网接口的无编号地址功能,能够进行有编号和无编号切换,将配置信息发送给IP接口管理模块。
所述IP接口管理模块,负责创建三层以太网接口,在创建接口时候向IP协议栈注册的自定义回调函数,向交换网络驱动模块发送报文时候,通过该接口函数发送报文。
所述邻居维护模块,负责收集对端连接设备的接口号、接口 IP地址和MAC地址。在本地维护对端MAC地址、IP地址、对端接口信息的映射表,该表项供驱动模块收发数据和维护三层转发表使用。
所述交换网络驱动模块,采用逻辑的三层接口,对以太网头部进行封装以及解封装,完成报文的收发处理。
实现以太网无编号数据转发功能的方法为1)以太网无编号接口创建,2)邻居维护模块进行邻居的创建和删除维护,建立邻居映射表,作为驱动模块进行报文封装和维护三层转发表使用,3)路由表形成,邻居维护模块与驱动模块之间相互配合,协助路由协议建立路由邻居和维护路由表,将路由信息添加到协议栈和通知驱动模块更新芯片路由表,4) 当数据需要进行转发时,交换网络根据目的IP地址查找三层转发表,三层转发表中包含下一跳的IP地址、MAC地址和出接口,根据这些信息查找出接口进行报文转发。
本发明的有效技术效果是通过增加邻居维护模块建立的邻居信息映射表和驱动模块对报文进行正确以太网头部封装和解封装,在二层/三层以太交换芯片上实现以太网无编号数据转发功能,减少IP地址的使用,有效减少用户的配置接口 IP地址,提高设备的可用性。


图I、各模块之间的关系。
图2、报文发送流程图。
图3、报文接收流程图。
具体实施方式
为了实现本发明的发明目的,本发明提供了一种以太网无编号接口作为中继接口,包括配置管理模块、接口管理模块、邻居维护模块和交换网络驱动模块。各个模块之间的关系参见图I。
以太网无编号接口创建设置以太网接口为无编号接口,配置管理模块通知IP接口管理模块,由接口管理模块创建三层以太网接口,创建的时候不直接使用协议栈提供的接口函数,而是通过自定义接口函数创建。创建的三层以太网接口不支持ARP协议。接口管理接口创建成功后需要通知驱动模块创建逻辑的三层接口,逻辑三层接口采用VLAN进行报文的隔离。接口创建成功后,通知邻居维护启动邻居管理模块运行工作。
邻居模块邻居维护邻居协议采用组播方式发送定时向对端设备发送Hello报文。该报文包括本接口信息、接口 IP地址和MAC地址;接收端接收到Hello报文后,从报文中提取对端接口的接口信息、接口 IP地址、MAC地址,形成本地的邻居信息映射表,表项内容包括对端接口号、接口 MAC地址、接口 IP地址和本端的端口信息。在邻居状态没有达到双向通信之前,两端设备接收到路由协议报文时候,路由协议不处理更新报文。
路由表形成过程如果发送方发送组播报文,驱动模块对于组播报文根据组播的规则计算目的MAC地址,根据出接口信息填写源MAC地址,然后从相应的出接口发送报文; 接收方接收到组播报文后,和有编号接口处理一致;对于单播报文,需要根据下一跳IP地址、出接口信息到邻居管理模块维护的映射表中查找网关MAC地址,根据出接口信息填写源MAC地址,然后将报文从相应的出接口发送出去,具体参见图2。接收方设备从驱动模块接收组播或者单播报文,检查以太网帧类型,如果是IP数据同时接口是无编号接口,从以太网帧头部读取VLANID信息,将报文送到协议栈对应接口上,路由协议模块通过Socket接收到协议更新报文后,进行路由更新,然后路由信息添加到协议栈和通知驱动模块更新芯片路由表,具体参见图3。
数据转发过程当报文需要通过以太网设备进行转发时,交换网络根据目的IP地址查找三层转发表,三层转发表中包含下一跳的IP地址、MAC地址、出接口,根据这些信息查找出接口,交换之后的报文经过以太网封装。
权利要求
1.本发明提供了一种以太网通过无编号方式作为中继接口,实现报文转发方法,其特征在于,实现该方法需要配置管理模块、IP接口管理模块、邻居维护模块和交换网络驱动模块; 所述配置管理模块,负责设置以太网接口的无编号地址功能,能够进行有编号和无编号切换,将配置信息发送给IP接口管理模块; 所述IP接口管理模块,负责创建三层以太网接口,在创建接口时候向IP协议栈注册的自定义回调函数,向交换网络驱动模块发送报文时候,通过该接口函数发送报文; 所述邻居维护模块,负责收集对端连接设备的接口号、接口 IP地址和MAC地址;在本地维护对端MAC地址、IP地址、对端接口信息的映射表,该表项供驱动模块收发数据和维护三层转发表使用; 所述交换网络驱动模块,采用逻辑的三层接口,对以太网头部进行封装以及解封装,完成报文的收发处理。
2.根据权利要求I所述的方法,其特征在于,报文转发的方法为1)以太网无编号接口创建,2)邻居维护模块进行邻居的创建和删除维护,建立邻居映射表,该表为驱动模块进行报文封装和维护三层转发表使用,3)路由表形成;如果发送方发送组播报文,驱动模块对于组播报文根据组播的规则计算目的MAC地址,根据出接口信息填写源MAC地址,然后从相应的出接口发送报文;接收方接收到组播报文后,和有编号接口处理一致;对于单播报文,需要根据下一跳IP地址、出接口信息到邻居管理模块维护的映射表中查找网关MAC地址,根据出接口信息填写源MAC地址,然后将报文从相应的出接口发送出去;接收方设备从驱动模块接收组播或者单播报文,检查以太网帧类型,如果是IP数据同时接口是无编号接口,从以太网帧头部读取VLAN ID信息,将报文送到协议栈对应接口上,路由协议模块通过Socket接收到协议更新报文后,进行路由更新,然后路由信息添加到协议栈和通知驱动模块更新芯片路由表,4)当数据需要进行转发时,交换网络根据目的IP地址查找三层转发表,三层转发表中包含下一跳的IP地址、MAC地址和出接口,根据这些信息查找出接口进行报文转发。
全文摘要
本发明公开了一种以太网接口通过无编号方式实现报文转发的以太网交换方法。该方法包括以太网接口作为无编号接口,增加邻居维护模块建立;在本地建立MAC地址和IP地址信息映射表,驱动模块根据协议报文的特征进行正确地进行以太网帧头部封装和解封装,协助路由协议完成路由交互的过程,最终形成芯片的三层转发表;当数据转发时,交换网络根据目的IP地址查找三层转发表,三层转发表中包含下一跳的IP地址、MAC地址、出接口,根据这些信息查找出接口,交换之后的报文进行以太网封装。本发明的有效技术效果是减少用户的配置接口IP地址,提高设备的可用性。
文档编号H04L12/741GK102984070SQ20121053589
公开日2013年3月20日 申请日期2012年12月13日 优先权日2012年12月13日
发明者李世钊, 陈量, 郑直, 雷文虎, 杨钊, 刘俊 申请人:重庆金美通信有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1