CN115665678A - 一种5g信令报文生成方法及系统 - Google Patents
一种5g信令报文生成方法及系统 Download PDFInfo
- Publication number
- CN115665678A CN115665678A CN202211319320.4A CN202211319320A CN115665678A CN 115665678 A CN115665678 A CN 115665678A CN 202211319320 A CN202211319320 A CN 202211319320A CN 115665678 A CN115665678 A CN 115665678A
- Authority
- CN
- China
- Prior art keywords
- signaling
- message
- test
- gtp
- protocol
- 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
- 230000011664 signaling Effects 0.000 title claims abstract description 76
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000012360 testing method Methods 0.000 claims abstract description 100
- 230000006870 function Effects 0.000 claims abstract description 65
- 238000013515 script Methods 0.000 claims abstract description 27
- 230000006854 communication Effects 0.000 claims abstract description 17
- 238000004891 communication Methods 0.000 claims abstract description 16
- 238000002347 injection Methods 0.000 claims abstract description 7
- 239000007924 injection Substances 0.000 claims abstract description 7
- 230000009131 signaling function Effects 0.000 claims abstract description 7
- 208000037550 Primary familial polycythemia Diseases 0.000 claims description 17
- 208000017693 primary familial polycythemia due to EPO receptor mutation Diseases 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 16
- 238000005516 engineering process Methods 0.000 claims description 5
- 238000011084 recovery Methods 0.000 claims description 4
- 125000004122 cyclic group Chemical group 0.000 abstract 1
- 238000005538 encapsulation Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 10
- 238000010276 construction Methods 0.000 description 10
- 239000013256 coordination polymer Substances 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000011161 development Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 230000035515 penetration Effects 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 239000000243 solution Substances 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 235000014510 cooky Nutrition 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000035772 mutation Effects 0.000 description 2
- 102100022734 Acyl carrier protein, mitochondrial Human genes 0.000 description 1
- 101000678845 Homo sapiens Acyl carrier protein, mitochondrial Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000012812 general test Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 238000012502 risk assessment Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供了一种5G信令报文生成方法及系统,配置信令构造的函数库,用于进行信令封包、CRC校验、获取时间戳、获取用户识别ID和获取通信管道参数,使得测试引擎能够自动识别测试脚本中对应信令函数库与接口,并根据接口参数和当前系统状态进行组包;生成符合5G信令规范的测试报文,并根据测试要求实现特定字段的错误注入。本发明能够方便对5G各种协议、接口规范进行灵活配置,快速开展安全性测试。
Description
技术领域
本发明属于移动通信技术领域,涉及一种5G信令报文生成方法及系统。
背景技术
本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
随着5G逐渐进入各垂直行业,通信运营商、设备商、垂直行业组织开始在各自领域推动建设5G专网示范网络,而由于5G新技术在专网部署中的应用,如边缘计算和切片网络虚拟化技术,使得5G专网出现了大量各自独立分散的应用网络,这种网络形式是无法受到集中式网络保护的,这些变化带来了新的安全风险,增加了额外的攻击面,同时系统中单个的安全漏洞也可能会损害整个网络的安全性。当5G专网规模快速发展时,如何确保网络设备的安全基线,当前状态是否存在已知或未知漏洞以及如何采取相应的防护措施是行业专网用户最关心的问题之一。
如思博伦这样专业的自动化测试仪表,能够为5G安全测试提供真实场景下的应用和攻击仿真,还能够提供全面的安全性能和安全效能评估,的确能为企业提供专业的5G安全检测服务,但是对于企业用户而言,同时要考虑的还有测试成本问题,包括测试仪表维护以及测试人员的技术培训,如果测评成本过高必然会打击企业用户发展5G专网业务的积极性,或者客观上对5G行业示范网的建设造成阻碍。当前5G行业专网还处于试验网建设阶段,尚处在快速发展时期,网络设备及专网部署方案的迭代更新也会非常频繁,如何能够对5G行业专网中的网络设备安全和组网安全进行快捷有效的安全检测和风险评估是行业用户最关心的,需要快速的测试技术来补充。对于5G通信协议而言,模糊测试和渗透测试是重要的安全测试手段。模糊测试是在5G协议报文中对关键字段注入异常数据,发送给被测设备,检测被测设备是否出现异常的测试方法,渗透测试则是模拟真实网络环境中的数据报文发送给被测设备,以验证被测设备是否能识别数据报文的合法性。无论是模糊测试还是渗透测试,都需要一种快速生成5G信令报文的方法。
研究5G信令构造方法首先要进行信令收集分析,通过分析信令流程定位解决无线通信中的具体问题。信令是根据确定的协议在通信设备中传输的控制信息,通过检测该控制信息,获得具体信令流程。而信令数据主要是收集信令流程,通过分析信令流程,可以反映网络整体的通信过程并检测出通信异常的点。
5G NR无线协议栈分为用户面及控制面,用户面协议栈用于用户数据传输,主要功能负责数据传输、传输信道选择及数据安全等相关业务信令过程。5G核心网支持IP流的QoS控制,通过核心网与基站中间单独PDU对话隧道实现多个IP流独立无线承载映射,同时在PDCP上层引入SDAP层执行IP流与无线承载之间的映射。控制面协议栈用于系统控制信令传输,相对于用户面增加了RRC子层和NAS子层,RRC子层主要作用是控制小区切换、RRC连接等功能,NAS子层负责包含通信安全、双向鉴权,管理用户的移动性和会话等。
如果要对5G信令协议进行健壮性测试或者渗透测试,均需要构造符合上述规范的5G信令报文,并且根据测试目的植入变异策略或者修改某些参数,将报文发送给被测设备,测试被测设备在5G信令处理的健壮性以及是否存在漏洞。大部分的5G仿真测试工具,如思博伦、触点等仿真测试工具都具备5G信令构造的功能,但是测试人员只能修改工具界面可供修改的参数,如果需要根据测试目的对测试报文进行定制化扩展或者二次开发则是很困难的事情。
发明内容
本发明为了解决上述问题,提出了一种5G信令报文生成方法及系统,本发明能够快速便捷开发5G信令测试脚本,方便对5G各种协议、接口规范进行灵活配置,用于生成测试报文并发给被测设备,实现对5G协议开展安全性和健壮性测试。
根据一些实施例,本发明采用如下技术方案:
一种5G信令报文生成方法,包括以下步骤:
配置信令构造的函数库,用于进行信令封包、CRC校验、获取时间戳、获取用户识别ID和获取通信管道参数,使得测试引擎能够自动识别测试脚本中对应信令函数库与接口,并根据接口参数和当前系统状态进行组包;
生成符合5G信令规范的和设定协议标准的测试报文,并根据测试要求实现特定字段的错误注入。
作为可选择的实施方式,所述函数库包括用于构造GTP协议PFCP协议、SCTP协议和HTTP2协议信令的函数,所述GTP协议包括GTPv1和GTPv2。
作为进一步限定的实施方式,构造GTP v1协议创建PDP上下文请求消息的具体步骤包括:
定义GTP-U头部标签,包括以利用不同的函数接口实现根据GTP版本获得标识和消息类型、自动计算GTP-U Message长度、根据消息类型获取隧道端点标识(TEID)值;
定义隧道消息的相关字段,包括配置序列号(Sequence Number)字段以指示数据包的顺序、获得当前国际移动用户识别码(IMSI)、TEID值、网络层服务接入点标识(NSAPI)、用户地址(End-User_Address)、接入点名称(APN)、扩展网络协议选项和信令面地址和用户流量地址。
作为可选择的实施方式,构造GTPv2协议Create Session Request命令的信令具体步骤包括:
定义GTP-U头部标签,包括以利用不同的函数接口实现根据GTP版本获得标识和消息类型、自动计算GTP-U Message长度和获取TEID值;
定义隧道消息的相关字段,包括配置序列号(Sequence Number)字段以指示数据包的顺序、获得当前国际移动用户识别码、MSISDN内容、MEI信息、当前服务网络信息、当前使用的无线技术类型以及当前的F-TEID信息。
作为可选择的实施方式,构造PFCP协议建立关联请求信令的具体过程包括:
配置Flags标识字段
根据协议类型和请求类型配置当前消息类型;
设置PFCP消息长度字段;
设置保留字节;
获取当前节点信息并配置字段;
配置Recovery Time Stamp字段;
控制面功能特性。
作为可选择的实施方式,构造SCTP协议信令的具体过程包括:
配置源端口、目标端口,利用函数获取或配置为固定值;
配置当前校验字;
配置当前校验和;
计算得到cookie_echo并填充到消息报文中。
作为可选择的实施方式,构造HTTP2协议信令的具体过程包括:
配置函数接口以生成帧数据,通过指定帧类型、数据流ID和帧内容生成HTTP2协议报文数据。
一种5G信令报文生成系统,包括:
函数库配置模块,用于配置信令构造的函数库,用于进行信令封包、CRC校验、获取时间戳、获取用户识别ID和获取通信管道参数,使得测试引擎能够自动识别测试脚本中对应信令函数库与接口,并根据接口参数和当前系统状态进行组包;
测试报文生成模块,用于生成符合5G信令规范的测试报文,并根据测试要求实现特定字段的错误注入。
一种计算机可读存储介质,其中存储有多条指令,所述指令适于由终端设备的处理器加载并执行所述方法中的步骤。
一种终端设备,包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,所述指令适于由处理器加载并执行所述的方法中的步骤。
与现有技术相比,本发明的有益效果为:
本发明在一般测试脚本开发语法规则基础上扩展用于5G信令构造的函数库,关键字为constraint,函数库功能包括:信令封包、CRC校验、获取时间戳、获取用户识别ID类(IMSI、MSISDN、IMEI等)、获取通信管道参数(TEID等),测试引擎能够自动识别测试脚本中5G信令函数库并根据接口参数和当前系统状态进行组包,结合以mutate为关键字的错误注入策略,生成符合5G信令规范的测试报文,并根据测试要求实现特定字段的错误注入,满足符合GTP、PFCP、SCTP、HTTP2等5G核心网主要传输协议的健壮性测试要求。
本发明生成信令报文的方式非常快捷灵活,既能降低测试人员的技术门槛,对照规范定义字段值可以快速开发出测试脚本,而对于有经验的测试人员,可以根据测试目的的不同选择不同的变异策略,以及根据函数库提供的功能二次封装报文,做自定义扩展。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1是本实施例中5G核心网网元之间的通信协议;
图2是本实施例中GTPv1协议配置的示意图;
图3是本实施例中GTP_FLAG(unsigned8 i)实现流程示意图;
图4是本实施例中Get_TEID()函数流程示意图;
图5是本实施例中GTPv2协议示意图
图6是本实施例中PFCP协议栈示意图;
图7是本实施例中SCTP建立与终止流程示意图。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
一种5G信令构造方法,使用该方法在测试脚本的基础上扩展针对5G信令的封包方式、校验算法、鉴权方法等开发5G信令测试脚本,实现5G信令交互,而与之配套的专用5G安全检测平台能够识别该测试脚本并自动生成测试报文发送给被测5G网络设备,完成5G协议功能的健壮性测试。
如图1所示,5G核心网网元之间的通信协议。
首先是GTP协议的信令构造。
GTP协议应用在SGSN和GGSN之间,为各个移动台(MS)建立GTP通道,GTP通道是GPRS服务节点(GSN)之间的安全通道,两个主机可通过该通道交换数据。使用GTP,网络的终端能够在网络中移动位置,各个端点集之间可以建立多个隧道,从而根据业务不同可以提供不同的Qos,可以隐藏IP,安全性更高。
该部分先介绍GTPv1协议的介绍,如图2所示。
GTP-U Header中含有一个由GTP-U Protocol Entity上分配TEID(TunnelEndpoint Identifier,隧道端点标识符)指示了T-PDU属于哪个隧道,本质上是一个动态分配的随机数。
GTP-U Message为GTP用户面消息或信令消息。用户面消息用于在GTP-U体之间承载用户数据分组。在网络节点之间的信令消息用于路径管理(path management)和隧道管理(tunnel management)。
GTP-U peer:实现任何基于GTP用户面协议的至少一侧的节点。RNC,SGSN,GGSN,eNodeB,SGW,ePDG,gNB,N3IWF,UPF,PGW或TWAN或MME。
GTP-U Tunnel:每个节点以TEID,IP地址和UDP端口号标识一个GTP-U隧道。必须在GTP-U实体之间开启转发数据包。
GTP-U Tunnel Endpoint:GTP-U隧道端点标识所接收的GTP-U分组所针对的用户平面上下文(例如,EPS承载,PDU会话或RAB)。给定的GTP-U隧道端点可以从多个源GTP-Upeer接收GTP-U分组。(例如一个UPF上的GTP-U端点可从多个UPF接收GTP-U分组)。
以GTPv1协议创建PDP上下文请求消息(create pdp context request命令)为例说明GTPv1协议测试脚本中信令构造方法,如下所示:
(1)GTP-U Header包含FLAG字段,提供函数接口GTP_FLAG(unsigned8 i)根据GTP版本获得标识和消息类型,参数i为GTP协议版本号。
GTP_FLAG(unsigned8 i)实现流程为图3所示。
(2)后续数据长度字段,使用测试工具系统函数recount()函数自动计算GTP-UMessage长度,类型为unsigned16。
(3)TEID字段使用接口GET_TEID(unsigned8 i)由测试引擎从系统中自动获取TEID值,或者将测试设备的值保存在测试引擎特定buffer中,参数i为当前脚本中的消息类型,如果尚未建立隧道,TEID字段为全0。
GET_TEID(unsigned8 i)实现流程如图4所示。
GTP-U Message包含了建立隧道的隧道信息,测试脚本开发中涉及以下字段:
(1)包含Sequence Number字段,Sequence Number向接收GTP数据包的GGSN指示数据包的顺序;
(2)获取当前终端的IMSI信息,使用Get_IMSI_info()函数获得当前模拟终端SIM卡的IMSI,Get_IMSI_info()函数实现说明如下:
a.创建测试任务时,通过配置界面定义当前用户的IMSI内容
b.任务初始化阶段,测试引擎自动将IMSI内容赋值给内存变量
c.测试脚本中使用Get_IMSI_info()获取当前用户定义的IMSI值
(3)TEID表示一条隧道PDP,分为数据面TEID(U)和控制面TEID(C),由SGSN和GGSN自己分配,测试脚本中GTPv1_TEID_data_CP()函数测试引擎从配置参数中获取或者从导入的数据流中获取。
GTPv1_TEID_data_CP()函数实现说明如下:
a.创建测试任务时,通过配置界面填入当前测试网络中通过真实流量获取到的用户面和控制面的TEID值;
b.任务初始化阶段,测试引擎自动将用户面和控制面TEID内容赋值给内存变量;
c.测试脚本中使用GTPv1_TEID_data_CP()函数获取当前测试网络中UPF与SMF网元通信的隧道信息,用户面和控制面TEI D
(4)NSAPI(Network Service Access Point Identifier)用于标识同一用户创建的不同上下文,其中0~4系统保留,一个用户(UE)最多可以建立11条隧道。
(5)end_user_address用户地址:提供用户访问的外部数据网的特定信息,IPv4网络的取值默认为“F1 21”
(6)APN(Access Point Name)为接入点名称,在GGSN中用于标识一个指定的外部网络和一种服务的ISP,在SGSN中可根据APN通过DNS域名解析得到与此APN对应的GGSN地址。
(7)protocol_configuration_options包含了一些GGSN和MS传输数据必要的扩展网络协议选项,如:ppp鉴权协议等。测试脚本扩展函数接口Set_protocol_config_opt(),测试引擎可根据实际网络测试环境由测试用户配置生成,也可使用默认配置自动生成数据。
(8)gsn_address设置了SGSN信令面地址和用户流量地址。测试引擎可通过set_gsn_address()函数获取配置自动生成符合报文格式的数据流。
接下来介绍GTPv2的构造。
GTPv2协议是5G核心网最重要的信令协议之一,用于EPS承载的创建、删除等维护过程,完成核心网网元会话管理的重要功能。参考3GPP TS 29.060GTP的头部是可变的,GTP-C(control)和GTP-U(user)共同使用一个头部。
GTPv2协议Create Session Request命令为例说明GTPv2协议测试脚本中信令构造方法,测试脚本涉及如下字段:
1、GTP-U Header
(1)GTP-U Header包含FLAG字段,提供函数接口GTP_FLAG(unsigned8 i)根据GTP版本获得标识和消息类型,参数i为GTP协议版本号,GTP_FLAG()函数流程参考GTPv1。
(2)GTP-U Header,包含后续数据长度字段,使用测试工具系统函数recount()函数自动计算GTP-U Message长度,类型为unsigned16。
(3)TEID字段使用接口GET_TEID(unsigned8 i)由测试引擎从系统中自动获取TEID值,或者将测试设备的值保存在测试引擎特定buffer中,参数i为当前脚本中的消息类型,如果尚未建立隧道,TEID字段为全0。流程参考GTPv1,在此不再赘述。
GTP-U Message包含了建立隧道的隧道信息,测试脚本开发中涉及以下字段:
(1)包含Sequence Number字段,Sequence Number向接收GTP数据包的GGSN指示数据包的顺序。
(2)获取当前终端的IMSI信息,使用Get_IMSI_info()函数获得当前模拟终端SIM卡用户IMSI。
(3)获取当前终端的MSISDN信息,使用Get_MSISDN_info()获得当前模拟终端MSISDN内容。
(4)获取当前终端的MEI信息,使用Get_MEI_info()获得当前模拟终端MEI内容。
(5)获取当前服务网络信息,填充Serving Network字段。
(6)获取当前使用的无线技术类型填充RAT TYPE字段。
(7)获取当前的F-TEID信息,使用fill_f-teid_info()函数,测试引擎根据当前网络参数以及TEID信息组合F-TEID字段内容。
PFCP协议的构造。
PFCP协议栈如图5所示,主要存在5G CP Function和UP Function之间的N4接口,用于控制面与用户面的交互,PFCP报文基于IP+UDP。在UP功能上建立PFCP会话之前,应在CP功能和UP功能之间建立PFCP关联。即使CP和/或UP功能暴露了多个IP地址,在给定的一对CP和UP功能之间也只能建立一个PFCP关联。
以建立关联请求(PFCP Association Setup Request)为例,其中“Recovery TimeStamp”字段为系统时间戳,封装get_timestamp(unsigned19 tag)获取CP已经启动的时间戳,参数为IE type,测试脚本开发流程如下:
Flags标识字段,包括:版本号、消息优先级、是否包含SEID
当前消息类型,值为:PFCP Association Setup Request
后续数据长度字段,使用测试工具系统函数recount()函数自动计算PFCP消息长度,类型为unsigned16。
保留字节,设置为默认值。
获取当前节点信息,使用Get_Node_ID()函数使用当前节点地址信息组合Node ID结构。
Recovery Time Stamp字段,使用get_timestamp(unsigned16 i)函数,参数为字段IE TYPE,测试引擎通过此函数组合字段结构。
控制面功能特性,设置为默认值。
SCTP协议信令的构造:
在EPC体系结构中,eNodeB和MME之间的S1接口的传输层是使用的是流控制协议SCTP协议。SCTP是一种可靠的面向连接的传输层协议,完成对等层偶联的管理和应用数据的承载。跟TCP协议很相似,SCTP能够实现拥塞和流量控制、差错控制、数据的丢弃和复制并且支持选择重传机制,进行可靠的信令数据传送的协议。SCTP数据报文结构由统一的SCTP公共消息头和后继的一个或者多个SCTP数据单元(SCTP Chunk)组成。
源端口(Source Port):用于描述源端点的端口号。
目标端口(Destination Port):用于描述目标端点的端口号。
验证字(Verification Tag):用于标识数据的发送者。
校验和(Checksum):用于校验消息内容是否在传送中有损坏。校验和的取值为Checksum字段取值为0时的数据报文执行CRC32c计算的结果。
以COOKIE ECHO为例说明SCTP协议测试脚本信令构造公共消息头使用的扩展函数以及脚本开发流程:
(1)当前源端口和目的端口,可默认填入固定值,也可通过调用系统函数get_src_port()和get_dst_port()函数获得。
(2)校验字VerificationTag,如果当前命令Chunk type为INIT,则校验字为全0,其他的命令需要通过Get_VerificationTag()获取当前校验字。
(3)校验和check_sum字段,通过函数calc_crc32()对数据报文执行CRC32c计算的结果,计算时check_sum字段取值为0。
(4)cookie_echo_chunk子串结构通过Get_cookie_echo()将INIT ACK命令缓存在内存变量中的STATE COOKIE值作为cookie_echo填充到消息报文中。
如图6所示,SCTP建立与终止流程。SCTP通讯协定支持多重数据流,当端点建立连线时,先使用INIT命令约定后续将使用的数据流数量,不同类型的数据分别以不同的数据流传输,建立SCTP数据结构,保存对端的端口、本地端口、对端验证字、本地验证字、发送数据流数量、接收数据流的数量等等。在每个数据流中的data chunk都会有各自绑定的数据流序号(SSN,stream sequence number)。
SCTP协议测试脚本,在传输数据开始的INIT命令中使用save_tsn(unsigned32tsn),指定一个初始TSN的值,在后续的SACK命令中通过get_current_tsn()函数获取当前tsn的值,从而达到模拟一个完整的SCTP传输流程。
最后是HTTP2协议信令的构造
HTTP2协议在HTTP1基础上引入了数据流的概念,数据流是一个虚拟逻辑概念,每个数据流都有一个唯一的标识符和可选的优先级信息,用于承载双向消息。在协议报文头帧中有数据流ID(Stream Identifier)字段,用于指示该帧所属的数据流序号。
HTTP2相比于HTTP1.1使用了二进制进行数据传输,提高了HTTP的传输效率,同时也方便了使用位运算对HTTP数据进行解析。HTTP2把报文整体划分为两个帧,分别是头帧和数据帧。
HTTP2的帧头主要由以下几部分:
Length:帧数据的长度
Type:帧类型
Flag:标志位,用于携带简单的控制信息
R:保留位
Stream Identifier:数据流标识符,用来标识该帧属于哪个数据流,接收方可以根据数据流标识符从乱序的帧中找到找到具有相同数据流ID的帧,然后进行数据重组
Frame Payload:帧数据
HTTP2帧类型大体分为两种:数据帧和控制帧
HTTP2协议测试脚本,使用特定函数接口生成帧数据,接口函数名称为:Generate_http2_frame(unsigned8 frametype,unsigned32streamID,struct frame_data_ptr),通过指定帧类型、数据流ID和帧内容生成http2协议报文数据。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (10)
1.一种5G信令报文生成方法,其特征是,包括以下步骤:
配置信令构造的函数库,用于进行信令封包、CRC校验、获取时间戳、获取用户识别ID和获取通信管道参数,使得测试引擎能够自动识别测试脚本中对应信令函数库与接口,并根据接口参数和当前系统状态进行组包;
生成符合5G信令规范的和设定协议标准的测试报文,并根据测试要求实现特定字段的错误注入。
2.如权利要求1所述的一种5G信令报文生成方法,其特征是,所述函数库包括用于构造GTP协议PFCP协议、SCTP协议和HTTP2协议信令的函数,所述GTP协议包括GTPv1和GTPv2。
3.如权利要求2所述的一种5G信令报文生成方法,其特征是,构造GTP v1协议创建PDP上下文请求消息的具体步骤包括:
定义GTP-U头部标签,包括以利用不同的函数接口实现根据GTP版本获得标识和消息类型、自动计算GTP-U Message长度、根据消息类型获取隧道端点标识值;
定义隧道消息的相关字段,包括配置序列号字段以指示数据包的顺序、获得当前国际移动用户识别码、TEID值、网络层服务接入点标识、用户地址、接入点名称、扩展网络协议选项和信令面地址和用户流量地址。
4.如权利要求2所述的一种5G信令报文生成方法,其特征是,构造GTPv2协议CreateSession Request命令的信令具体步骤包括:
定义GTP-U头部标签,包括以利用不同的函数接口实现根据GTP版本获得标识和消息类型、自动计算GTP-U Message长度和获取TEID值;
定义隧道消息的相关字段,包括配置序列号字段以指示数据包的顺序、获得当前国际移动用户识别码、MSISDN内容、MEI信息、当前服务网络信息、当前使用的无线技术类型以及当前的F-TEID信息。
5.如权利要求1所述的一种5G信令报文生成方法,其特征是,构造PFCP协议建立关联请求信令的具体过程包括:
配置Flags标识字段
根据协议类型和请求类型配置当前消息类型;
设置PFCP消息长度字段;
设置保留字节;
获取当前节点信息并配置字段;
配置Recovery Time Stamp字段;
控制面功能特性。
6.如权利要求1所述的一种5G信令报文生成方法,其特征是,构造SCTP协议信令的具体过程包括:
配置源端口、目标端口,利用函数获取或配置为固定值;
配置当前校验字;
配置当前校验和;
计算得到cookie_echo并填充到消息报文中。
7.如权利要求1所述的一种5G信令报文生成方法,其特征是,构造HTTP2协议信令的具体过程包括:
配置函数接口以生成帧数据,通过指定帧类型、数据流ID和帧内容生成HTTP2协议报文数据。
8.一种5G信令报文生成系统,其特征是,包括:
函数库配置模块,用于配置信令构造的函数库,用于进行信令封包、CRC校验、获取时间戳、获取用户识别ID和获取通信管道参数,使得测试引擎能够自动识别测试脚本中对应信令函数库与接口,并根据接口参数和当前系统状态进行组包;
测试报文生成模块,用于生成符合5G信令规范的测试报文,并根据测试要求实现特定字段的错误注入。
9.一种计算机可读存储介质,其特征是,其中存储有多条指令,所述指令适于由终端设备的处理器加载并执行权利要求1-7中任一项所述方法中的步骤。
10.一种终端设备,其特征是,包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,所述指令适于由处理器加载并执行权利要求1-7中任一项所述方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211319320.4A CN115665678A (zh) | 2022-10-26 | 2022-10-26 | 一种5g信令报文生成方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211319320.4A CN115665678A (zh) | 2022-10-26 | 2022-10-26 | 一种5g信令报文生成方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115665678A true CN115665678A (zh) | 2023-01-31 |
Family
ID=84990950
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211319320.4A Pending CN115665678A (zh) | 2022-10-26 | 2022-10-26 | 一种5g信令报文生成方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115665678A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN119521278A (zh) * | 2025-01-17 | 2025-02-25 | 北京网测科技有限公司 | 核心网信令面的测试方法、设备及存储介质 |
-
2022
- 2022-10-26 CN CN202211319320.4A patent/CN115665678A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN119521278A (zh) * | 2025-01-17 | 2025-02-25 | 北京网测科技有限公司 | 核心网信令面的测试方法、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100886551B1 (ko) | 이동통신시스템에서 인터넷 프로토콜 버전에 따른 트래픽플로우 탬플릿 패킷 필터링 장치 및 방법 | |
CN103200190B (zh) | 一种面向QualNet网络半实物仿真的实物接入方法 | |
WO2014085207A1 (en) | Software-defined network overlay | |
US20130287021A1 (en) | METHODS, SYSTEMS, AND COMPUTER READABLE MEDIA FOR EVOLVED GENERAL PACKET RADIO SERVICE (GPRS) TUNNELING PROTOCOL (eGTP) INDIRECT TUNNELING IN A VOICE OVER LTE (VoLTE) SIMULATION | |
CN101431447B (zh) | 一种测试虚拟专用网络服务器容量和性能的方法和装置 | |
CN114553752B (zh) | 基于仿真软件的网络性能测试方法、装置和计算机设备 | |
CN107819649A (zh) | 一种基于海量终端的卫星通信网络的私有协议测试方法 | |
CN102984025B (zh) | 网关设备虚拟隧道性能的测试方法、装置及系统 | |
CN115665678A (zh) | 一种5g信令报文生成方法及系统 | |
Khan et al. | Multipath transport control protocol for 5G mobile augmented reality networks | |
Rivera et al. | Providing heterogeneous signaling and user traffic for 5G core network functional testing | |
CN114040408B (zh) | 一种基于4g移动网络模拟环境的靶场系统 | |
CN118660308A (zh) | 一种基站性能测试方法、基站性能测试系统及存储介质 | |
CN115460638A (zh) | 网络业务时延监测方法、装置、设备及存储介质 | |
CN103458438A (zh) | 业务无线侧行为分析的处理方法与装置 | |
CN109587204B (zh) | 一种访问公网的方法、装置和电子设备 | |
Jain et al. | Performance comparison between different tunneling techniques using different routing protocols | |
CN100396019C (zh) | 移动终端数据源模拟方法 | |
CN114845305A (zh) | 一种基于标记的大流量5g切片隔离测试方法 | |
US20080311901A1 (en) | Method and Apparatus for Evaluating the Performance of a Radiomobile Transmission System | |
US8774202B2 (en) | Methods, systems, and computer readable media for generating general packet radio service tunneling protocol (GTP) encapsulated real-time transport protocol (RTP) packets in a long term evolution (LTE) node simulator | |
CN114071467A (zh) | 一种基于4g移动网络模拟环境的靶场系统 | |
CN119094393B (zh) | 用于信关站下数据网关的汇聚转发性能测试系统及方法 | |
CN114641014A (zh) | 一种用户面实体、配置方法、系统及设备 | |
CN104660472B (zh) | 二层隧道协议l2tp网络仿真系统的配号方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |