CN104506451A - 一种基于fpga的pos数据链路层分类处理装置 - Google Patents
一种基于fpga的pos数据链路层分类处理装置 Download PDFInfo
- Publication number
- CN104506451A CN104506451A CN201410815098.6A CN201410815098A CN104506451A CN 104506451 A CN104506451 A CN 104506451A CN 201410815098 A CN201410815098 A CN 201410815098A CN 104506451 A CN104506451 A CN 104506451A
- Authority
- CN
- China
- Prior art keywords
- protocol
- pos
- processing module
- module
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于FPGA的POS数据链路层分类处理装置,该装置包括以下模块:POS接口模块、POS-PHY接收模块、内存控制器、RAM、链路层分类处理模块、协议报文处理模块。POS接口模块接收SDH帧,实现串并转换,并给出数据包的首地址及长度信息;POS-PHY接收模块接收POS接口模块发送的POS数据,实现PPP帧的提取,并将PPP数据发送到内存控制器;内存控制器控制PPP数据的读写,经过缓存后PPP数据发送给链路层分类处理模块,完成PPP帧中的协议报文和IP包的分类,并将IP包发送到IP处理模块,协议报文发送到协议报文处理模块;协议报文处理模块完成对协议报文进行解析,识别出不同的协议报文并进行相应的处理,完成链路层控制功能。
Description
技术领域
本发明涉及通信网络领域,尤其涉及一种基于FPGA的POS数据链路层分类处理装置。
背景技术
POS全称为Packet Over SONET/SDH,又称IP OverSONET/SDH,是一种在SONET/SDH上承载IP和其他数据包的传输技术。POS技术是以SONET/SDH作为IP数据包的物理传输网络,即将IP数据包通过PPP(Point to Point Protocol)协议直接映射到SDH(Synchronous Digital Hierarchy)或者SONET(Synchronous OpticalNetwork)帧。
根据OSI七层模型,SONET/SDH是物理层的协议,主要负责在物理层介质上传送字节数据;IP是网络层的协议,负责数据包的寻址和路由;数据链路层负责SONET/SDH与IP之间的接口,IETF(InternetEngineering Task Force)定义PPP协议来执行此项功能,相应有PPPover SONET/SDH草案,实现IP over SONET/SDH技术。
PPP协议定义了点到点链路上传输多协议数据包的标准方法,PPP协议在OSI七层模型中位于第二层,在网络层与物理层之间。根据RFC1661,PPP协议包括三部分:(1)对多种协议数据的封装方法;(2)用于建立、配置、检测链路的链接扩展协议(LCP,Link ControlProtocol);(3)用于建立、配置不同网络层协议的网络扩展协议(NCP,Network Control Protocol)。
请参见图1,是标准PPP协议帧格式,各个字段的详细含义如下:
(1)Flag(标志字段):0x7E,表示PPP帧的开始;(2)Adress(地址字段):0xFF,标识所用主机的广播地址;(3)Control(控制字段):0x03,无序号帧;(4)Protocol(协议字段):用来指示信息域内所承载的数据的协议类型;(5)information(信息字段):用来承载上层数据,缺省为1500字节;(6)FCS(帧校验序列字段):32比特或16比特(缺省)的校验值。
协议字段主要包括:(1)0x0021:IP数据报;(2)0xC021:链路控制数据LCP;(3)0x8021:网络控制数据NCP;(4)0xC023:口令验证协议PAP(Password Authentication Protocol);(5)0xC223:质询握手验证协议CHAP(Challenge-Handshake Authentication Protocol)。
POS信号的处理主要涉及数据链路层分类处理、协议报文处理、IP数据处理。数据链路层分类处理主要完成承载在PPP帧中的协议报文和IP包的分类。协议报文处理主要完成链路的建立及维护,对接收到的协议报文进行解析,识别出不同的协议报文并进行相应的处理,完成链路层控制功能,如状态协商,状态监视等功能。IP数据处理主要负责根据端口收到的IP包地址信息查表,对IP包进行业务端口间转发。
发明内容
有鉴于传统的POS信号处理全部使用CPU实现,需要消耗CPU的大量处理能力,本发明以FPGA为控制核心,实现SONET/SDH链路中POS数据的采集,并完成从POS物理层到数据链路层的协议处理,实现POS数据链路层的分类。通过FPGA实现POS数据链路层分类处理,与CPU实现相应功能相比,处理速度更快、方便灵活、可扩展性好,同时,提高系统的工作效率,减少CPU处理的程序难度。
本发明所采取的技术方案为:
一种基于FPGA的POS数据链路层分类处理装置,其特征在于:该装置包括有POS接口模块210、POS-PHY接收模块221、内存控制器222、RAM223、链路层分类处理模块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;
RAM223,用于缓存PPP数据;
链路层分类处理模块224,用于完成PPP数据中的协议报文和IP包的分类,并将协议报文发送到协议报文处理模块225,将IP包对外进行发送;
协议报文处理模块225,用于完成对接收到的协议报文进行解析,识别出不同的协议报文并进行相应的处理。
其中,链路层分类处理模块224包括PPP数据解析模块241和分类处理模块242;
PPP数据解析模块241,用于接收内存控制器222发送的PPP数据,依据PPP协议帧格式,查询出PPP数据的起始地址,移除PPP数据的地址字段和控制字段,从PPP数据中解析出协议字段和信息字段并发送给分类处理模块242;
分类处理模块242,用于完成PPP数据的分类处理,通过读取协议字段来判断接收到的数据是协议报文还是IP包,并将包含协议字段和信息字段的协议报文发送到协议处理模块225,将包含协议字段和信息字段的IP包对外进行发送。
其中,协议报文处理模块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,用于建立、配置、测试和管理数据链路连接。
本发明与现有技术相比,所取得的有益效果为:
本发明以FPGA为控制核心,实现SONET/SDH链路中POS数据的采集,并完成从POS物理层到数据链路层的协议处理,实现POS数据链路层的分类。通过FPGA实现POS数据链路层分类处理,与CPU实现相应功能相比,处理速度更快、方便灵活、可扩展性好,同时,提高系统的工作效率,减少CPU处理的程序难度。
附图说明
图1为标准PPP协议帧格式。
图2为本发明基于FPGA的POS数据链路层分类处理装置的电原理逻辑方框图。
图3为链路层分类处理模块224的逻辑方框图。
图4为协议处理模块225的逻辑方框图。
具体实施方式
下面结合附图对本发明实施例所述的技术方案作进一步的详细说明。
参照图2,一种基于FPGA的POS数据链路层分类处理装置,POS接口模块210通过POS-PHY接口连接FPGA220,FPGA220接收POS接口模块210发送的POS数据,实现PPP帧的提取,完成PPP帧中的协议报文和IP包的分类,并将IP包发送到IP处理模块230,协议报文发送到协议报文处理模块225,协议报文处理模块225再对报文的协议字段进行分类,完成链路层控制功能。
具体包括:
POS接口模块210:用于接收外部输入的SDH数据包,获取SDH数据包的首地址及长度信息,对SDH数据包进行去开销和拆帧处理,实现串行数据转换成并行POS-PHY接口数据。
POS-PHY接收模块221:用于接收POS接口模块210发送的POS-PHY接口数据,并对POS-PHY接口数据中的PPP帧进行提取,提取后的数据为如图1所示帧结构去掉了帧中的FLAG字段,并将POS-PHY接口数据转换为本地接口的PPP数据。
内存控制器222:用于控制RAM223中的PPP数据读取与写入操作,完成对来自POS-PHY接收模块221的PPP数据进行缓存并将PPP数据发送到链路层分类处理模块224。
RAM223:用于缓存PPP数据。
链路层分类处理模块224:用于完成PPP数据中的协议报文和IP包的分类,并将协议报文发送到协议报文处理模块225,将IP包对外进行发送。链路层分类处理模块的逻辑方框图参照图3。
协议报文处理模块225:用于完成对接收到的协议报文进行解析,识别出不同的协议报文并进行相应的处理。协议处理模块的逻辑方框图参照图4。
PPP数据解析模块241:用于接收内存控制器222发送的PPP数据,依据PPP协议帧格式,查询出PPP数据的起始地址,移除PPP数据的地址字段和控制字段,从PPP数据中解析出协议字段和信息字段。
分类处理模块242:用于完成PPP数据的分类处理,通过读取协议字段来判断接收到的数据是协议报文还是IP包。如果协议字段为0x0021,则为IP包,将其余部分去掉帧校验序列字段,发送到IP处理模块230;如果协议字段不是0x0021,则为协议报文,将数据发送到协议处理模块225进行后续处理。
报文解析模块251:用于接收链路层分类处理模块224发送的协议报文,从协议报文据中解析出协议字段和信息字段。
协议识别模块252:用于识别协议报文类型,通过协议字段判断接收的协议报文是链路控制数据LCP、网络控制数据NCP或是认证协议。如果协议字段为0xC021,则为链路控制数据LCP;如果协议字段是0x8021,则为网络控制数据NCP;如果协议字段为0xC023,则为口令验证协议PAP;如果协议字段为0xC223,则为质询握手验证协议CHAP。
认证处理模块253:用于完成用户的身份认证,通过协议字段判断接收的的协议报文是口令验证协议PAP或是质询握手验证协议CHAP。在通信链路建立过程中,如果认证成功,则跳转到网络层协议阶段,如果认证失败,则释放链路。
LCP处理模块254:用于创建、维护或终止一次物理连接。
NCP处理模块255:用于建立、配置、测试和管理数据链路连接。
Claims (3)
1.一种基于FPGA的POS数据链路层分类处理装置,其特征在于:该装置包括有POS接口模块(210)、POS-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),用于建立、配置、测试和管理数据链路连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410815098.6A CN104506451A (zh) | 2014-12-24 | 2014-12-24 | 一种基于fpga的pos数据链路层分类处理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410815098.6A CN104506451A (zh) | 2014-12-24 | 2014-12-24 | 一种基于fpga的pos数据链路层分类处理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104506451A true CN104506451A (zh) | 2015-04-08 |
Family
ID=52948166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410815098.6A Pending CN104506451A (zh) | 2014-12-24 | 2014-12-24 | 一种基于fpga的pos数据链路层分类处理装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104506451A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114389753A (zh) * | 2021-12-15 | 2022-04-22 | 中国电子科技集团公司第三十研究所 | 一种能够适配多种速率的pos接口 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101257420A (zh) * | 2007-03-02 | 2008-09-03 | 华为技术有限公司 | 一种点对点协议接入方法、系统及接入节点设备 |
-
2014
- 2014-12-24 CN CN201410815098.6A patent/CN104506451A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101257420A (zh) * | 2007-03-02 | 2008-09-03 | 华为技术有限公司 | 一种点对点协议接入方法、系统及接入节点设备 |
Non-Patent Citations (1)
Title |
---|
王立莹等: "POS信号中IP包的提取及FPGA实现", 《无线电工程》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114389753A (zh) * | 2021-12-15 | 2022-04-22 | 中国电子科技集团公司第三十研究所 | 一种能够适配多种速率的pos接口 |
CN114389753B (zh) * | 2021-12-15 | 2024-01-30 | 中国电子科技集团公司第三十研究所 | 一种能够适配多种速率的pos接口 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9282173B2 (en) | Reconfigurable packet header parsing | |
US9729400B2 (en) | Realization method and system for enabling LLDP function on non-ethernet link | |
CN110300081A (zh) | 一种数据传输的方法和设备 | |
WO2009059523A1 (en) | An accessing method, system and equipment of layer-3 session | |
WO2014101394A1 (zh) | 可扩展虚拟局域网报文的传输方法及装置、系统 | |
CN102468899B (zh) | 通道化stm-1接入分发方法与系统 | |
JP5763216B2 (ja) | ワイヤレスマルチ通信モードパケットルーティング機構 | |
TWI667899B (zh) | 電子設備及用於通訊的方法 | |
US9172554B2 (en) | Method and network access device for enabling data forwarding between different physical mediums | |
CN101217540A (zh) | 报文隧道分片的自适应调整方法、装置和系统 | |
CN104125191A (zh) | 基于以太网的点对点协议的处理方法、设备和系统 | |
JP2020522190A (ja) | パケット転送 | |
EP2445160A1 (en) | Method for automatically negotiating type of service and aggregation apparatus therefor | |
EP2071808B1 (en) | Methods and a system and devices for ipv6 datagram transmission in the ethernet | |
KR20100072694A (ko) | 프레임 축소 방법 및 장치 | |
CN104506451A (zh) | 一种基于fpga的pos数据链路层分类处理装置 | |
CN105263165B (zh) | 一种基于fpga的网络数据连包拆分方法 | |
US20220109659A1 (en) | Computer network with an ip subnetwork and a non-ip subnetwork and backend device, gateway, frontend device therefore and procedure for operation thereof | |
CN115550104A (zh) | Axi总线扩展方法、装置、电子设备及存储介质 | |
CN110943896B (zh) | PPPoE数据报文传输方法、装置、设备及存储介质 | |
CN104333500A (zh) | 一种信号转换方法、装置及系统 | |
CN103580805B (zh) | 报文的处理方法及装置 | |
EP2858415B1 (en) | Multi-link-based data transmission method and device | |
KR100475969B1 (ko) | IPv6 프로토콜 구현 장치와 이 장치에 사용되는 물리매체 인터페이스 유닛, IPv6 헤더 처리 유닛, 상위계층 인터페이스 유닛 | |
CN101667971A (zh) | 发送、接收报文的方法、装置和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150408 |