CN104506451A - 一种基于fpga的pos数据链路层分类处理装置 - Google Patents

一种基于fpga的pos数据链路层分类处理装置 Download PDF

Info

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
Application number
CN201410815098.6A
Other languages
English (en)
Inventor
王立莹
李吉良
周三友
孙士勇
刘素桃
周玉娟
曹琨
谭坤
高飞
尹超
李晗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CETC 54 Research Institute
Original Assignee
CETC 54 Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CETC 54 Research Institute filed Critical CETC 54 Research Institute
Priority to CN201410815098.6A priority Critical patent/CN104506451A/zh
Publication of CN104506451A publication Critical patent/CN104506451A/zh
Pending legal-status Critical Current

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数据链路层分类处理装置
技术领域
本发明涉及通信网络领域,尤其涉及一种基于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),用于建立、配置、测试和管理数据链路连接。
CN201410815098.6A 2014-12-24 2014-12-24 一种基于fpga的pos数据链路层分类处理装置 Pending CN104506451A (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114389753A (zh) * 2021-12-15 2022-04-22 中国电子科技集团公司第三十研究所 一种能够适配多种速率的pos接口

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101257420A (zh) * 2007-03-02 2008-09-03 华为技术有限公司 一种点对点协议接入方法、系统及接入节点设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101257420A (zh) * 2007-03-02 2008-09-03 华为技术有限公司 一种点对点协议接入方法、系统及接入节点设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王立莹等: "POS信号中IP包的提取及FPGA实现", 《无线电工程》 *

Cited By (2)

* Cited by examiner, † Cited by third party
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