CN110493083A - 一种基于syn半连接数据包的闸机离线检测方法 - Google Patents

一种基于syn半连接数据包的闸机离线检测方法 Download PDF

Info

Publication number
CN110493083A
CN110493083A CN201910795859.9A CN201910795859A CN110493083A CN 110493083 A CN110493083 A CN 110493083A CN 201910795859 A CN201910795859 A CN 201910795859A CN 110493083 A CN110493083 A CN 110493083A
Authority
CN
China
Prior art keywords
gate
data packet
lru
syn
pcap
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.)
Granted
Application number
CN201910795859.9A
Other languages
English (en)
Other versions
CN110493083B (zh
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.)
Suzhou Baweitong Intelligent Technology Co Ltd
Original Assignee
Suzhou Baweitong Intelligent Technology Co Ltd
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 Suzhou Baweitong Intelligent Technology Co Ltd filed Critical Suzhou Baweitong Intelligent Technology Co Ltd
Priority to CN201910795859.9A priority Critical patent/CN110493083B/zh
Publication of CN110493083A publication Critical patent/CN110493083A/zh
Application granted granted Critical
Publication of CN110493083B publication Critical patent/CN110493083B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/106Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Abstract

本发明公开了一种基于SYN半连接数据包的闸机离线检测方法,包括以下几个步骤:S01.初始化Pcap库,设置Pcap过滤规则;S02.初始化Raw Socket,创建Raw Socket原始套接字直接在OSI网络层发送SYN握手数据;S03.初始化LRU队列,记录闸机的原始IP地址、最后响应的时间戳和IP地址;S04.发送与接收SYN半连接数据包,服务端向闸机发送SYN半连接数据包,闸机通过Pcap接收数据并将其解析为OSI模型数据结构传送给OSI模型应用层;S05.LRU队列更新与查找,在LRU优先队列中定位闸机信息所在的内存位置,根据响应时间判断闸机是否离线。本发明能够使闸机检测存活方式配置灵活、上报间隔短、宽带消耗小、占用接受心跳服务器资源少、机房安全无限制。

Description

一种基于SYN半连接数据包的闸机离线检测方法
【技术领域】
本发明涉及网络协议技术领域,特别是一种基于SYN半连接数据包的闸机离线检测方法的技术领域。
【背景技术】
在地铁严进宽出、宽进严出等模式下,需要使地铁全线网闸机达到非常高的在线率,才能保证乘客的流通,不至于拥堵。地铁离线闸机需要在第一时间被检测到,发现问题并修复。目前各地地铁均使用闸机主动上报TCP断链接心跳包、ICMP方式来判断闸机存活。上述两种检测存活方式存在配置不灵活、上报间隔长、宽带消耗大、占用接受心跳服务器资源多、机房安全限制的问题。
【发明内容】
本发明的目的就是解决现有技术中的问题,提出一种基于SYN半连接数据包的闸机离线检测方法,能够使闸机检测存活方式配置灵活、上报间隔短、宽带消耗小、占用接受心跳服务器资源少、机房安全无限制。
本发明应用于检测地铁闸机是否离线,检测服务端向闸机发送SYN半连接数据包,检测步骤包括:
S01.初始化Pcap库:对Pcap进行过滤规则设置,仅会将与检测离线相关的数据包传递给应用层;
S02.初始化Raw Socket:创建Raw Socket原始套接字直接在OSI网络层发送SYN握手数据;
S03.初始化LRU队列:LRU优先队列中记录闸机的原始IP地址、最后响应的时间戳和IP地址;
S04.发送与接收SYN半连接数据包:检测服务端向闸机发送SYN半连接数据包,在闸机端口返回的数据由Pcap接收;Pcap解析网卡原始数据格式化成对应的OSI模型数据结构,获取闸机IP,响应超时的数据包被Pcap送到应用层;
S05.LRU队列更新与查找:在LRU优先队列中定位闸机信息所在的内存位置;其中,响应超时的闸机会被更新至LRU队列尾部,按从后到前顺序依次读取LRU队列中闸机的最后响应时间戳,若时间戳大于设定的离线时间范围值则判断该闸机离线。
作为优选,所述LRU优先队列包含HashTable和LinkList,所述LRU优先队列内HashTable的Key值为闸机的原始IP地址,所述LRU优先队列的LinkList头部为及时响应的闸机,LinkList尾部为没有响应或响应时间较晚的闸机,所述LRU优先队列内的Value结构存储闸机最后响应的时间戳、IP地址;
作为优选,所述闸机返回的数据包括[SYN,ACK]、[RST],其中闸机在线时返回[SYN,ACK],闸机离线时返回[RST]。
本发明的有益效果:通过服务端构建Raw Socket直接在OSI模型的网络层或数据链路层构建TCP原始SYN半连接数据包,并通过一定的过滤可最小化发包来优化单次闸机探活所需要的宽带与数据包数量,进一步提高全线网闸机探活的频率定期向闸机发送SYN半连接数据包,Pcap与LRU优先队列可降低服务端的处理压力,使得闸机检测存活方式配置灵活、上报间隔短、宽带消耗小、占用接受心跳服务器资源少、机房安全无限制。
本发明的特征及优点将通过实施例结合附图进行详细说明。
【附图说明】
图1是本发明一种基于SYN半连接数据包的闸机离线检测方法的流程图;
图2是本发明一种基于SYN半连接数据包的闸机离线检测方法的数据包流向示意图;
图3是本发明一种基于SYN半连接数据包的闸机离线检测方法的更新LRU队列示意图;
图4是本发明一种基于SYN半连接数据包的闸机离线检测方法的LinkList状态示意图;
图5是本发明一种基于SYN半连接数据包的闸机离线检测方法的抓包在线结果图;
图6是本发明一种基于SYN半连接数据包的闸机离线检测方法的抓包离线结果图。
【具体实施方式】
参阅图1、图2、图3、图4、图5和图6,本发明一种基于SYN半连接数据包的闸机离线检测方法,具体实施方式如下:
创建LRU优先队列,所述LRU优先队列包含HashTable和LinkList,所述LRU优先队列内HashTable的Key值为闸机的IP地址,用于快速定位队列中存储闸机在线信息的位置,LRU优先队列内的Value结构用于存储闸机最后响应的时间戳、闸机的IP地址;
数据的发送、接收、解析,在检测服务端创建Raw Socket原始套接字直接在OSI网络层发送SYN握手数据,SYN数据通过物理网卡、路由器、交换机送达闸机端口,闸机端口处会返回数据,该数据通过路由器、交换机、物理网卡,由Pcap将端口反馈的数据进行获取,在使用前会对Pcap进行过滤规则设置,仅会将检测离线相关的数据包传递给应用层,不相关数据包忽略,进而提高性能,如闸机系统死机或网络异常则无回应,Pcap过滤出对应的网卡原始数据包传递给应用层后,应用层使用Pcap应用层解析网卡原始数据包格式化成对应的OSI模型数据结构。
LRU队列更新、查找离线闸机,用OSI模型网络层获取到SRC IP(闸机IP)去LRU优先队列HashTable中定位闸机信息所在的内存位置;指定端口开放则返回[SYN,ACK],端口未开放则返回[RST],将返回[RST]的闸机信息更新至LRU队列尾部,将系统死机或网络异常无回应的闸机,更新至LRU优先队列的尾部,这样LRU优先队列的LinkList头部为最新响应的闸机,LinkList尾部为没有响应或响应时间较晚的闸机,并更新Value中最后响应时间戳;给定判断离线时间的大小,在LRU队列LinkList尾部向头部方向依次读取每一个Value值中最后响应时间戳,由响应时间同判断离线时间比较,大于则判断该闸机离线。
本发明,在使用服务端主动发送探测包解决了配置不灵活的问题,服务端使用RawSocket直接在网络层或数据链路层构建TCP原始SYN半连接数据包解决了由于安全设备过滤ICMP数据包的问题,通过最小化发包来优化单次闸机探活所需要的宽带与数据包数量,由于宽带和数据包数量的的节省可以进一步提高全线网闸机探活的频率。
传统闸机主动上传心跳包与基于SYN半连接数据包单次检测对比
带宽消耗 数据包数量
闸机主动上报 1298字节(100%) 9个(100%)
SYN半连接检测(最坏) 168字节(12.9%) 3个(33%)
SYN半连接检测(最好) 114字节(8%) 2个(22%)
在最坏情况下仍然也可以将闸机离线的检测频率至少可以提升至基于闸机主动上报频率的3倍,同时网络设备保持同样的负载。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (3)

1.一种基于SYN半连接数据包的闸机离线检测方法,其特征在于,包括以下几个步骤:
S01.初始化Pcap库:对Pcap进行过滤规则设置,仅会将与检测离线相关的数据包传递给应用层;
S02.初始化Raw Socket:创建Raw Socket原始套接字直接在OSI网络层发送SYN握手数据;
S03.初始化LRU队列:LRU优先队列中记录闸机的原始IP地址、最后响应的时间戳和IP地址;
S04.发送与接收SYN半连接数据包:服务端向闸机发送SYN半连接数据包,在闸机端口返回的数据由Pcap接收;Pcap解析网卡原始数据格式化成对应的OSI模型数据结构,获取闸机IP,响应超时的数据包被Pcap送到OSI应用层;
S05.LRU队列更新与查找:在LRU优先队列中定位闸机信息所在的内存位置,其中响应超时的闸机会被更新至LRU队列尾部,按从后到前顺序依次读取LRU队列中闸机的最后响应时间戳,若时间戳大于设定的离线时间范围值则判断该闸机离线。
2.如权利要求1所述的一种基于SYN半连接数据包的闸机离线检测方法,所述LRU优先队列包含HashTable和LinkList,所述LRU优先队列内HashTable的Key值为闸机的原始IP地址,用于快速定位LRU优先队列中存储闸机信息的内存位置;在所述LRU队列更新后,所述LRU优先队列的LinkList头部为及时响应的闸机,LinkList尾部为没有响应或响应时间较晚的闸机,所述LRU优先队列内的Value结构存储闸机最后响应的时间戳、IP地址。
3.如权利要求1所述的一种基于SYN半连接数据包的闸机离线检测方法,所述闸机返回的数据包括[SYN,ACK]、[RST],其中闸机在线时返回[SYN,ACK],闸机离线时返回[RST]。
CN201910795859.9A 2019-08-27 2019-08-27 一种基于syn半连接数据包的闸机离线检测方法 Active CN110493083B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910795859.9A CN110493083B (zh) 2019-08-27 2019-08-27 一种基于syn半连接数据包的闸机离线检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910795859.9A CN110493083B (zh) 2019-08-27 2019-08-27 一种基于syn半连接数据包的闸机离线检测方法

Publications (2)

Publication Number Publication Date
CN110493083A true CN110493083A (zh) 2019-11-22
CN110493083B CN110493083B (zh) 2023-01-10

Family

ID=68554525

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910795859.9A Active CN110493083B (zh) 2019-08-27 2019-08-27 一种基于syn半连接数据包的闸机离线检测方法

Country Status (1)

Country Link
CN (1) CN110493083B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114338491A (zh) * 2021-12-31 2022-04-12 北京华云安信息技术有限公司 基于Raw Socket的端口探测方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101924754A (zh) * 2010-07-15 2010-12-22 国家计算机网络与信息安全管理中心 一种恶意代码控制端主动发现方法及装置
WO2018232967A1 (zh) * 2017-06-19 2018-12-27 深圳市盛路物联通讯技术有限公司 一种基于接入节点的物联网终端设备检测方法及系统
CN109271790A (zh) * 2018-09-30 2019-01-25 国网湖南省电力有限公司 一种基于流量分析的恶意站点访问拦截方法及检测系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101924754A (zh) * 2010-07-15 2010-12-22 国家计算机网络与信息安全管理中心 一种恶意代码控制端主动发现方法及装置
WO2018232967A1 (zh) * 2017-06-19 2018-12-27 深圳市盛路物联通讯技术有限公司 一种基于接入节点的物联网终端设备检测方法及系统
CN109271790A (zh) * 2018-09-30 2019-01-25 国网湖南省电力有限公司 一种基于流量分析的恶意站点访问拦截方法及检测系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
胡志坤等: "基于改进心跳包机制的整流远程监控系统", 《计算机应用》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114338491A (zh) * 2021-12-31 2022-04-12 北京华云安信息技术有限公司 基于Raw Socket的端口探测方法及装置

Also Published As

Publication number Publication date
CN110493083B (zh) 2023-01-10

Similar Documents

Publication Publication Date Title
CN108063765B (zh) 适于解决网络安全的sdn系统
JP4759389B2 (ja) パケット通信装置
KR101911579B1 (ko) Openflow에 대한 제어기 구동 oam
EP1418705B1 (en) Network monitoring system using packet sequence numbers
CN104660582B (zh) DDoS识别、防护和路径优化的软件定义的网络架构
CN101217429B (zh) 基于tcp时间戳选项确定tcp报文之间的引发关系的方法
CN104539595B (zh) 一种集威胁处理和路由优化于一体的sdn架构及工作方法
CN109644146B (zh) 通过tcp遥测的差异分析来定位网络故障
US20040098641A1 (en) Expert system for protocols analysis
EP3890279A1 (en) Network information transmission system
CN107666486A (zh) 一种基于报文协议特征的网络数据流恢复方法及系统
US8842687B1 (en) By-pass port facilitating network device failure detection in wide area network topologies
CN110493083A (zh) 一种基于syn半连接数据包的闸机离线检测方法
CN110691007A (zh) 一种精确测量quic连接丢包率的方法
CN103891207B (zh) 用于网络质量估计、连接性检测以及负载管理的系统和方法
CN104618491B (zh) 一种代理服务器及数据转发方法
CN110838949A (zh) 一种网络流量日志记录方法及装置
CN105991353A (zh) 故障定位的方法和装置
US10237353B2 (en) Method and system for discovering the topology of the communications between applications of a computer network
US9575866B1 (en) Diagnostic module for monitoring electronic data transmission
CN103227781A (zh) 基于用户数据报协议的网络诊断及性能评估系统和方法
CN104768176A (zh) 无线网络中sFlow采样的方法、装置
CN112449006B (zh) 一种用于地震台站数据采集器与地震台网中心数据服务器的数据传输方法及计算机与介质
CA2928595C (en) Ordering traffic captured on a data connection
JP2001067291A (ja) ネットワーク監視方式

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
GR01 Patent grant
GR01 Patent grant