一种基于fpga的pos数据链路层分类处理装置制造方法

文档序号:7823831阅读:224来源:国知局
一种基于fpga的pos数据链路层分类处理装置制造方法
【专利摘要】本发明公开了一种基于FPGA的POS数据链路层分类处理装置,该装置包括以下模块:POS接口模块、POS-PHY接收模块、内存控制器、RAM、链路层分类处理模块、协议报文处理模块。POS接口模块接收SDH帧,实现串并转换,并给出数据包的首地址及长度信息;POS-PHY接收模块接收POS接口模块发送的POS数据,实现PPP帧的提取,并将PPP数据发送到内存控制器;内存控制器控制PPP数据的读写,经过缓存后PPP数据发送给链路层分类处理模块,完成PPP帧中的协议报文和IP包的分类,并将IP包发送到IP处理模块,协议报文发送到协议报文处理模块;协议报文处理模块完成对协议报文进行解析,识别出不同的协议报文并进行相应的处理,完成链路层控制功能。
【专利说明】一种基于FPGA的POS数据链路层分类处理装置

【技术领域】
[0001]本发明涉及通信网络领域,尤其涉及一种基于FPGA的POS数据链路层分类处理装置。

【背景技术】
[0002]POS 全称为 Packet Over S0NET/SDH,又称 IP Over SONET/SDH,是一种在 SONET/SDH上承载IP和其他数据包的传输技术。POS技术是以S0NET/SDH作为IP数据包的物理传输网络,即将IP数据包通过PPP (Point to Point Protocol)协议直接映射到SDH (Synchronous Digital Hierarchy)或者 SONET (Synchronous Optical Network)帧。
[0003]根据OSI七层模型,SONET/SDH是物理层的协议,主要负责在物理层介质上传送字节数据;IP是网络层的协议,负责数据包的寻址和路由;数据链路层负责S0NET/SDH与IP之间的接口,IETF(Internet Engineering Task Force)定义PPP协议来执行此项功能,相应有 PPP over S0NET/SDH 草案,实现 IP over S0NET/SDH 技术。
[0004]PPP协议定义了点到点链路上传输多协议数据包的标准方法,PPP协议在OSI七层模型中位于第二层,在网络层与物理层之间。根据RFC1661,PPP协议包括三部分:(1)对多种协议数据的封装方法;(2)用于建立、配置、检测链路的链接扩展协议(LCP,Link ControlProtocol) ; (3)用于建立、配置不同网络层协议的网络扩展协议(NCP,Network ControlProtocol)ο
[0005]请参见图1,是标准PPP协议帧格式,各个字段的详细含义如下:
[0006](I)Flag(标志字段):0x7E,表示PPP帧的开始;(2) Adress (地址字段):0xFF,标识所用主机的广播地址;(3)Control (控制字段):0x03,无序号帧;(4)Protocol (协议字段):用来指示信息域内所承载的数据的协议类型;(5) informat1n(信息字段):用来承载上层数据,缺省为1500字节;(6) FCS (帧校验序列字段):32比特或16比特(缺省)的校验值。
[0007]协议字段主要包括:⑴0x0021:1P数据报;⑵0xC021:链路控制数据LCP ;(3) 0x8021:网络控制数据 NCP ; (4) 0xC023: 口令验证协议 PAP (Password Authenticat1nProtocol) ; (5)0xC223:质询握手验证协议 CHAP(Challenge_Handshake Authenticat1nProtocol)ο
[0008]POS信号的处理主要涉及数据链路层分类处理、协议报文处理、IP数据处理。数据链路层分类处理主要完成承载在PPP帧中的协议报文和IP包的分类。协议报文处理主要完成链路的建立及维护,对接收到的协议报文进行解析,识别出不同的协议报文并进行相应的处理,完成链路层控制功能,如状态协商,状态监视等功能。IP数据处理主要负责根据端口收到的IP包地址信息查表,对IP包进行业务端口间转发。


【发明内容】

[0009]有鉴于传统的POS信号处理全部使用CPU实现,需要消耗CPU的大量处理能力,本发明以FPGA为控制核心,实现SONET/SDH链路中POS数据的采集,并完成从POS物理层到数据链路层的协议处理,实现POS数据链路层的分类。通过FPGA实现POS数据链路层分类处理,与CPU实现相应功能相比,处理速度更快、方便灵活、可扩展性好,同时,提高系统的工作效率,减少CPU处理的程序难度。
[0010]本发明所采取的技术方案为:
[0011]—种基于FPGA的POS数据链路层分类处理装置,其特征在于:该装置包括有POS接口模块210、P0S-PHY接收模块221、内存控制器222、RAM223、链路层分类处理模块224和协议报文处理模块225 ;
[0012]POS接口模块210,用于接收外部输入的SDH数据包,获取SDH数据包的首地址及长度信息,并将串行数据转换成并行POS-PHY接口数据;
[0013]POS-PHY接收模块221,用于接收POS接口模块210发送的P0S-PHY接口数据,并对POS-PHY接口数据中的PPP帧进行提取,将POS-PHY接口数据转换为本地接口的PPP数据;
[0014]内存控制器222,用于控制RAM223中的PPP数据读取与写入操作,完成对来自POS-PHY接收模块221的PPP数据进行缓存并将PPP数据发送到链路层分类处理模块224 ;
[0015]RAM223,用于缓存PPP数据;
[0016]链路层分类处理模块224,用于完成PPP数据中的协议报文和IP包的分类,并将协议报文发送到协议报文处理模块225,将IP包对外进行发送;
[0017]协议报文处理模块225,用于完成对接收到的协议报文进行解析,识别出不同的协议报文并进行相应的处理。
[0018]其中,链路层分类处理模块224包括PPP数据解析模块241和分类处理模块242 ;
[0019]PPP数据解析模块241,用于接收内存控制器222发送的PPP数据,依据PPP协议帧格式,查询出PPP数据的起始地址,移除PPP数据的地址字段和控制字段,从PPP数据中解析出协议字段和信息字段并发送给分类处理模块242 ;
[0020]分类处理模块242,用于完成PPP数据的分类处理,通过读取协议字段来判断接收到的数据是协议报文还是IP包,并将包含协议字段和信息字段的协议报文发送到协议处理模块225,将包含协议字段和信息字段的IP包对外进行发送。
[0021]其中,协议报文处理模块225包括报文解析模块251、协议识别模块252、认证处理模块253、LCP处理模块254和NCP处理模块255 ;
[0022]报文解析模块251,用于接收链路层分类处理模块224发送的协议报文,从协议报文据中解析出协议字段和信息字段并发送给协议识别模块252 ;
[0023]协议识别模块252,用于识别协议报文类型,通过协议字段判断接收的协议报文是链路控制数据LCP、网络控制数据NCP或是认证协议;如果协议报文是链路控制数据LCP,则发送给LCP处理模块254 ;如果是协议报文是网络控制数据NCP,则发送给NCP处理模块255 ;如果是协议报文是认证协议,则发送给认证处理模块253 ;
[0024]认证处理模块253,用于完成用户的身份认证,通过协议字段判断接收的协议报文是口令验证协议PAP或是质询握手验证协议CHAP ;
[0025]LCP处理模块254,用于创建、维护或终止一次物理连接;
[0026]NCP处理模块255,用于建立、配置、测试和管理数据链路连接。
[0027]本发明与现有技术相比,所取得的有益效果为:
[0028]本发明以FPGA为控制核心,实现SONET/SDH链路中POS数据的采集,并完成从POS物理层到数据链路层的协议处理,实现POS数据链路层的分类。通过FPGA实现POS数据链路层分类处理,与CPU实现相应功能相比,处理速度更快、方便灵活、可扩展性好,同时,提高系统的工作效率,减少CPU处理的程序难度。

【专利附图】

【附图说明】
[0029]图1为标准PPP协议帧格式。
[0030]图2为本发明基于FPGA的POS数据链路层分类处理装置的电原理逻辑方框图。
[0031]图3为链路层分类处理模块224的逻辑方框图。
[0032]图4为协议处理模块225的逻辑方框图。

【具体实施方式】
[0033]下面结合附图对本发明实施例所述的技术方案作进一步的详细说明。
[0034]参照图2,一种基于FPGA的POS数据链路层分类处理装置,POS接口模块210通过POS-PHY接口连接FPGA220,FPGA220接收POS接口模块210发送的POS数据,实现PPP帧的提取,完成PPP帧中的协议报文和IP包的分类,并将IP包发送到IP处理模块230,协议报文发送到协议报文处理模块225,协议报文处理模块225再对报文的协议字段进行分类,完成链路层控制功能。
[0035]具体包括:
[0036]POS接口模块210:用于接收外部输入的SDH数据包,获取SDH数据包的首地址及长度信息,对SDH数据包进行去开销和拆帧处理,实现串行数据转换成并行POS-PHY接口数据。
[0037]POS-PHY接收模块221:用于接收POS接口模块210发送的P0S-PHY接口数据,并对POS-PHY接口数据中的PPP帧进行提取,提取后的数据为如图1所示帧结构去掉了帧中的FLAG字段,并将POS-PHY接口数据转换为本地接口的PPP数据。
[0038]内存控制器222:用于控制RAM223中的PPP数据读取与写入操作,完成对来自POS-PHY接收模块221的PPP数据进行缓存并将PPP数据发送到链路层分类处理模块224。
[0039]RAM223:用于缓存PPP数据。
[0040]链路层分类处理模块224:用于完成PPP数据中的协议报文和IP包的分类,并将协议报文发送到协议报文处理模块225,将IP包对外进行发送。链路层分类处理模块的逻辑方框图参照图3。
[0041]协议报文处理模块225:用于完成对接收到的协议报文进行解析,识别出不同的协议报文并进行相应的处理。协议处理模块的逻辑方框图参照图4。
[0042]PPP数据解析模块241:用于接收内存控制器222发送的PPP数据,依据PPP协议帧格式,查询出PPP数据的起始地址,移除PPP数据的地址字段和控制字段,从PPP数据中解析出协议字段和信息字段。
[0043]分类处理模块242:用于完成PPP数据的分类处理,通过读取协议字段来判断接收到的数据是协议报文还是IP包。如果协议字段为0x0021,则为IP包,将其余部分去掉帧校验序列字段,发送到IP处理模块230 ;如果协议字段不是0x0021,则为协议报文,将数据发送到协议处理模块225进行后续处理。
[0044]报文解析模块251:用于接收链路层分类处理模块224发送的协议报文,从协议报文据中解析出协议字段和信息字段。
[0045]协议识别模块252:用于识别协议报文类型,通过协议字段判断接收的协议报文是链路控制数据LCP、网络控制数据NCP或是认证协议。如果协议字段为0XC021,则为链路控制数据LCP ;如果协议字段是0x8021,则为网络控制数据NCP ;如果协议字段为0XC023,则为口令验证协议PAP ;如果协议字段为0xC223,则为质询握手验证协议CHAP。
[0046]认证处理模块253:用于完成用户的身份认证,通过协议字段判断接收的的协议报文是口令验证协议PAP或是质询握手验证协议CHAP。在通信链路建立过程中,如果认证成功,则跳转到网络层协议阶段,如果认证失败,则释放链路。
[0047]LCP处理模块254:用于创建、维护或终止一次物理连接。
[0048]NCP处理模块255:用于建立、配置、测试和管理数据链路连接。
【权利要求】
1.一种基于FPGA的POS数据链路层分类处理装置,其特征在于:该装置包括有POS接口模块(210)、P0S-PHY接收模块(221)、内存控制器(222) ,RAM(223)、链路层分类处理模块(224)和协议报文处理模块(225); POS接口模块(210),用于接收外部输入的SDH数据包,获取SDH数据包的首地址及长度信息,并将串行数据转换成并行POS-PHY接口数据; POS-PHY接收模块(221),用于接收POS接口模块210发送的POS-PHY接口数据,并对POS-PHY接口数据中的PPP帧进行提取,将POS-PHY接口数据转换为本地接口的PPP数据; 内存控制器(222),用于控制RAM223中的PPP数据读取与写入操作,完成对来自POS-PHY接收模块221的PPP数据进行缓存并将PPP数据发送到链路层分类处理模块224 ; RAM (223),用于缓存PPP数据; 链路层分类处理模块(224),用于完成PPP数据中的协议报文和IP包的分类,并将协议报文发送到协议报文处理模块225,将IP包对外进行发送; 协议报文处理模块(225),用于完成对接收到的协议报文进行解析,识别出不同的协议报文并进行相应的处理。
2.根据权利要求1所述的一种基于FPGA的POS数据链路层分类处理装置,其特征在于:链路层分类处理模块(224)包括PPP数据解析模块(241)和分类处理模块(242); PPP数据解析模块(241),用于接收内存控制器(222)发送的PPP数据,依据PPP协议帧格式,查询出PPP数据的起始地址,移除PPP数据的地址字段和控制字段,从PPP数据中解析出协议字段和信息字段并发送给分类处理模块(242); 分类处理模块(242),用于完成PPP数据的分类处理,通过读取协议字段来判断接收到的数据是协议报文还是IP包,并将包含协议字段和信息字段的协议报文发送到协议处理模块(225),将包含协议字段和信息字段的IP包对外进行发送。
3.根据权利要求1所述的一种基于FPGA的POS数据链路层分类处理装置,其特征在于:协议报文处理模块(225)包括报文解析模块(251)、协议识别模块(252)、认证处理模块(253)、LCP处理模块(254)和NCP处理模块(255); 报文解析模块(251),用于接收链路层分类处理模块(224)发送的协议报文,从协议报文据中解析出协议字段和信息字段并发送给协议识别模块(252); 协议识别模块(252),用于识别协议报文类型,通过协议字段判断接收的协议报文是链路控制数据LCP、网络控制数据NCP或是认证协议;如果协议报文是链路控制数据LCP,则发送给LCP处理模块(254);如果是协议报文是网络控制数据NCP,则发送给NCP处理模块(255);如果是协议报文是认证协议,则发送给认证处理模块(253); 认证处理模块(253),用于完成用户的身份认证,通过协议字段判断接收的协议报文是口令验证协议PAP或是质询握手验证协议CHAP ; LCP处理模块(254),用于创建、维护或终止一次物理连接; NCP处理模块(255),用于建立、配置、测试和管理数据链路连接。
【文档编号】H04L12/801GK104506451SQ201410815098
【公开日】2015年4月8日 申请日期:2014年12月24日 优先权日:2014年12月24日
【发明者】王立莹, 李吉良, 周三友, 孙士勇, 刘素桃, 周玉娟, 曹琨, 谭坤, 高飞, 尹超, 李晗 申请人:中国电子科技集团公司第五十四研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1