CN116320088B - 一种实现aaa转发的方法及装置 - Google Patents
一种实现aaa转发的方法及装置 Download PDFInfo
- Publication number
- CN116320088B CN116320088B CN202310228284.9A CN202310228284A CN116320088B CN 116320088 B CN116320088 B CN 116320088B CN 202310228284 A CN202310228284 A CN 202310228284A CN 116320088 B CN116320088 B CN 116320088B
- Authority
- CN
- China
- Prior art keywords
- user
- aaa
- information
- fixed network
- hash
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000004458 analytical method Methods 0.000 claims abstract description 29
- 230000004044 response Effects 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 19
- 230000001360 synchronised effect Effects 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 abstract description 3
- 230000005540 biological transmission Effects 0.000 abstract description 2
- 238000004590 computer program Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/028—Capturing of monitoring data by filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0892—Network architectures or network communication protocols for network security for authentication of entities by using authentication-authorization-accounting [AAA] servers or protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种实现AAA转发的方法及装置,涉及固网通信领域,该方法包括AAA收发程序基于DPDK口接收AAA服务器发送的radius报文,并解析radius报文得到用户信息并保存;将解析得到的用户信息作为增量AAA信息,通过ZMQ发布端口发送给订阅了AAA消息的固网DPI;AAA收发程序实时监听ZMQ请求应答端口,以当接收固网DPI的同步请求后将全部用户信息作为全量AAA信息发送给固网DPI。本发明能够有效提升信息发送的效率。
Description
技术领域
本发明涉及固网通信领域,具体涉及一种实现AAA转发的方法及装置。
背景技术
随着固网通信领域的日渐完善,radius(Remote Authentication Dial In UserService,远程用户拨号认证服务)公有属性和私有属性更加标准化,固网DPI(Deep PacketInspection,深度报文检测)协议的各种解析也更加规范化。AAA(Authentication、Authorization、Accounting,认证、授权、计费)用户信息与固网DPI协议消息间通过用户IP进行关联,从而可以在各种固网DPI协议话单中增加用户信息,使得DPI话单更加直观和明确。
对于某个地区的AAA服务器而言,可能只有一台或两台,而对于某个地区的固网DPI而言,则可能有上千台。只有所有的固网DPI的AAA用户信息是准确的,才能保证每台固网DPI回填的用户信息是准确的,因此,如何将AAA用户信息发送给所有的固网DPI,以及如何保证所有固网DPI的AAA用户信息,与AAA收发程序的AAA用户信息一致,是当前亟需解决的问题。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种实现AAA转发的方法及装置,能够有效提升信息发送的效率。
为达到以上目的,本发明提供的一种实现AAA转发的方法,具体包括以下步骤:
AAA收发程序基于DPDK口接收AAA服务器发送的radius报文,并解析radius报文得到用户信息并保存;
将解析得到的用户信息作为增量AAA信息,通过ZMQ发布端口发送给订阅了AAA消息的固网DPI;
AAA收发程序实时监听ZMQ请求应答端口,以当接收固网DPI的同步请求后将全部用户信息作为全量AAA信息发送给固网DPI。
在上述技术方案的基础上,所述用户信息包括用户名、用户IP、用户状态和用户NAT。
在上述技术方案的基础上,所述解析radius报文得到用户信息并保存,具体步骤包括:
基于解析radius报文得到用户信息中的用户名,查找用户名哈希表,判断对应的用户节点是否存在:
若用户节点存在,则对用户信息中的用户状态进行判断:
-当用户状态为下线状态时,则删除用户名哈希表中当前用户的用户名哈希、用户IP哈希和用户节点;
-当用户状态为上线状态时,则使用解析得到的用户信息更新用户节点上的用户信息;
若用户节点不存在,则当解析得到的用户信息中用户状态为上线状态时,从用户内存池中申请用户节点,将解析得到的用户信息拷贝到用户节点中,将解析得到的用户信息中用户名哈希和用户IP哈希作为新增用户名哈希和用户IP哈希,将新增用户名哈希和用户IP哈希指向用户节点。
在上述技术方案的基础上,所述当用户状态为上线状态时,则使用解析得到的用户信息更新用户节点上的用户信息,具体步骤为:
判断用户信息中的用户IP和用户节点中的用户IP是否相等:
若相等,则使用解析得到的用户信息更新用户节点上的用户信息;
若不相等,则删除用户节点上的用户IP哈希,将解析得到的用户信息中用户IP哈希作为新增用户IP哈希,并将新增用户IP哈希指向用户节点,使用解析得到的用户信息更新用户节点上的用户信息。
在上述技术方案的基础上,
所述固网DPI启动后,连接AAA收发程序的ZMQ发布端口以订阅增量AAA信息,并将接收的增量AAA信息保存至增量队列中,当接收全量AAA信息并对全量AAA信息保存完成后,进行增量队列中增量AAA信息的保存处理;
所述固网DPI连接AAA收发程序的ZMQ发布端口后,连接AAA收发程序的ZMQ请求应答端口,并周期性检测是否需要和AAA收发程序同步,并当需要同步时发送同步请求至AAA收发程序。
在上述技术方案的基础上,当固网DPI接收到AAA收发程序发送的全量AAA信息之后:
清空用户名哈希表、用户IP哈希表和用户节点;
从用户内存池中申请用户节点,解析全量AAA信息将解析得到的用户信息保存至用户节点中;
根据用户信息中的用户名和用户IP分别进行哈希计算,将解析得到的用户信息中用户名哈希和用户IP哈希作为新增用户名哈希和用户IP哈希,将新增用户名哈希和用户IP哈希指向用户节点。
在上述技术方案的基础上,所述当接收全量AAA信息并对全量AAA信息保存完成后,进行增量队列中增量AAA信息的保存处理,其中,对于增量队列中增量AAA信息的保存处理,具体步骤为:
依次从增量队列中取出用户信息,根据用户信息中的用户名查找用户名哈希表,根据用户信息中的用户IP查找用户IP哈希表,实现用户信息的更新或新增。
在上述技术方案的基础上,
所述AAA收发程序包括ZMQ请求应答端口和ZMQ发布端口;
所述ZMQ发布端口用于发送增量AAA信息至固网DPI;
所述ZMQ请求应答端口用于接收固网DPI发送的同步请求和心跳消息;
所述AAA收发程序实时监听ZMQ请求应答端口,当接收到固网DPI发送的同步请求后,将当前时刻的全量AAA信息发送给固网DPI,当接收到固网DPI发送的心跳消息后,返回心跳响应给固网DPI。
在上述技术方案的基础上,
当固网DPI开机后、在预设周期内未收到AAA收发程序发送的心跳响应或者固网DPI和AAA收发程序间的socket连接断裂,则固网DPI向AAA收发程序发送同步请求。
本发明提供的一种实现AAA转发的装置,包括:
接收模块,其用于驱使AAA收发程序基于DPDK口接收AAA服务器发送的radius报文,并解析radius报文得到用户信息并保存;
增量发送模块,其用于将解析得到的用户信息作为增量AAA信息,通过ZMQ发布端口发送给订阅了AAA消息的固网DPI;
全量发送模块,其用于驱使AAA收发程序实时监听ZMQ请求应答端口,以当接收固网DPI的同步请求后将全部用户信息作为全量AAA信息发送给固网DPI。
与现有技术相比,本发明的优点在于:能够解决在一个AAA收发程序对上千台固网DPI的场景下,通过ZMQ的发布订阅方法,快速下发用户信息给固网DPI,回填AAA用户面信息,与以前的多线程发送AAA信息、AAA收发程序管理固网DPI的全量和增量队列相比,本发明采用ZMQ发布模式代替多线程,用固网DPI管理增量队列代替以前AAA收发程序管理管理增量队列,由于固网DPI数量多,用多线程可能要受限于线程数,本发明中固网DPI只需要管理和维护本机一个增量AAA发送队列,有效提升信息发送的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种实现AAA转发的方法的流程图;
图2为本发明实施例中一种实现AAA转发的方法的时序图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。
参见图1所示,本发明实施例提供一种实现AAA转发的方法,以解决在固网DPI较多的情况下,快速将一台AAA服务器的信息准确转发给千台固网DPI,固网DPI收到用户信息后,将用户信息回填到XDR(外部数据表示法)话单中。本发明的实现AAA转发的方法,具体包括以下步骤:
S1:AAA收发程序基于DPDK(Data Plane Development Kit,数据平面开发套件)口接收AAA服务器发送的radius报文,并解析radius报文得到用户信息并保存;用户信息包括用户名、用户IP、用户状态和用户NAT(Network Address Translation,网络地址转换)。
即AAA收发程序通过DPDK口接收AAA服务器分光过来的radius报文,然后根据radius属性编码,采用tlv编码结构,从radius报文中解析出用户名、用户IP、用户状态、用户NAT等字段信息。
本发明中,解析radius报文得到用户信息并保存,具体步骤包括:
基于解析radius报文得到用户信息中的用户名,查找用户名哈希表,判断对应的用户节点是否存在:
若用户节点存在,则对用户信息中的用户状态进行判断:
-当用户状态为下线状态时,则删除用户名哈希表中当前用户的用户名哈希、用户IP哈希和用户节点;
-当用户状态为上线状态时,则使用解析得到的用户信息更新用户节点上的用户信息;
若用户节点不存在,则当解析得到的用户信息中用户状态为上线状态时,从用户内存池中申请用户节点,将解析得到的用户信息拷贝到用户节点中,将解析得到的用户信息中用户名哈希和用户IP哈希作为新增用户名哈希和用户IP哈希,将新增用户名哈希和用户IP哈希指向用户节点。
本发明中,当用户状态为上线状态时,则使用解析得到的用户信息更新用户节点上的用户信息,具体步骤为:
判断用户信息中的用户IP和用户节点中的用户IP是否相等:
若相等,则使用解析得到的用户信息更新用户节点上的用户信息;
若不相等,则删除用户节点上的用户IP哈希,将解析得到的用户信息中用户IP哈希作为新增用户IP哈希,并将新增用户IP哈希指向用户节点,使用解析得到的用户信息更新用户节点上的用户信息。
S2:将解析得到的用户信息作为增量AAA信息,通过ZMQ(一个高性能异步消息传递库,旨在用于分布式或并发应用程序)发布端口发送给订阅了AAA消息的固网DPI;
S3:AAA收发程序实时监听ZMQ请求应答端口,以当接收固网DPI的同步请求后将全部用户信息作为全量AAA信息发送给固网DPI。当AAA收发程序收到固网DPI的同步请求后,轮询用户名哈希表,依次从哈希表中取出用户节点,将用户信息发送给固网DPI。
需要说明的是,固网DPI启动后,连接AAA收发程序的ZMQ发布端口以订阅增量AAA信息,并将接收的增量AAA信息保存至增量队列中,当接收全量AAA信息并对全量AAA信息保存完成后,进行增量队列中增量AAA信息的保存处理。
固网DPI连接AAA收发程序的ZMQ发布端口后,连接AAA收发程序的ZMQ请求应答端口,并周期性检测是否需要和AAA收发程序同步,并当需要同步时发送同步请求至AAA收发程序。
本发明中,当固网DPI接收到AAA收发程序发送的全量AAA信息之后:
S301:清空用户名哈希表、用户IP哈希表和用户节点;
S302:从用户内存池中申请用户节点,解析全量AAA信息将解析得到的用户信息保存至用户节点中;
S303:根据用户信息中的用户名和用户IP分别进行哈希计算,将解析得到的用户信息中用户名哈希和用户IP哈希作为新增用户名哈希和用户IP哈希,将新增用户名哈希和用户IP哈希指向用户节点。
本发明中,当接收全量AAA信息并对全量AAA信息保存完成后,进行增量队列中增量AAA信息的保存处理,其中,对于增量队列中增量AAA信息的保存处理,具体步骤为:
依次从增量队列中取出用户信息,根据用户信息中的用户名查找用户名哈希表,根据用户信息中的用户IP查找用户IP哈希表,实现用户信息的更新或新增。
需要说明的是,AAA收发程序包括ZMQ请求应答端口和ZMQ发布端口;ZMQ发布端口用于发送增量AAA信息至固网DPI;ZMQ请求应答端口用于接收固网DPI发送的同步请求和心跳消息;AAA收发程序实时监听ZMQ请求应答端口,当接收到固网DPI发送的同步请求后,将当前时刻的全量AAA信息发送给固网DPI,当接收到固网DPI发送的心跳消息后,返回心跳响应给固网DPI。
当固网DPI开机后、在预设周期内未收到AAA收发程序发送的心跳响应或者固网DPI和AAA收发程序间的socket连接断裂,则固网DPI向AAA收发程序发送同步请求。
例如,固网DPI周期性向发送心跳消息给AAA收发程序,同时接收AAA收发程序返回的心跳响应,当在三个周期内未收到心跳响应,则固网DPI认为和AAA收发程序的连接是断开的,需要和AAA收发程序重新同步用户信息。
对于本发明的实现AAA转发的方法,主要包括AAA解析、AAA存储、ZMQ全量请求处理、ZMQ增量消息发布、全量AAA处理、增量AAA处理。
对于AAA解析,为从radius报文中提取用户名、用户IP、用户上下线状态、用户NAT等字段信息。
对于AAA存储,为将从radius报文中解析出的用户信息,根据用户名和用户IP分别做哈希,将用户信息存储在哈希表中。
对于ZMQ全量请求处理,为接收固网DPI的全量同步请求,将全量AAA信息发送给固网DPI。
对于ZMQ增量消息发布,为将实时收到的AAA消息,增量发布给订阅的固网DPI。
对于全量AAA处理,为固网DPI向AAA收发程序发送全量同步请求,接收全量AAA信息。
对于增量AAA处理,为固网DPI在处理完全量AAA信息后,将增量AAA信息保存到用户节点中。
在AAA解析中,AAA收发程序通过DPDK口接收AAA服务器分光过来的radius报文,根据radius属性编码,从radius报文中解析出用户名、用户IP、用户状态、用户NAT等字段信息,将解出来的用户信息通过ZMQ发布端口,发布给所有连接的固网DPI,同时,AAA收发程序将解出来的用户信息,根据用户名哈希和用户ip哈希,更新用户节点信息。
AAA收发程序实时监听ZMQ请求应答端口,接收固网DPI发来的同步请求和心跳消息,收到固网DPI发来的同步请求,则将此时刻的全量AAA信息下发给固网DPI,收到固网DPI发来的心跳消息,则发送心跳响应给固网DPI。
对于固网DPI对增量AAA信息和全量AAA信息的处理方式,具体为:
固网DPI在发送同步请求前,会将同步flag置1,这时接收到的增量AAA信息不会保存到用户表中,会将增量AAA信息保存到增量队列中;
假如固网DPI在t1时刻,将增量AAA信息保存到增量队列,在t2时刻发送同步请求给AAA收发程序,AAA收发程序在收到同步请求后,在t3时刻将全量AAA信息下发给固网DPI,固网DPI在t3时刻收到全量AAA信息,先将用户表和哈希表清空,将收到的全量AAA信息保存到用户表中;
在t4时刻,固网DPI已经将全量AAA信息全部保存到用户表了,此时会将同步flag置0,这时可以将增量队列中保存的t1到t4时刻的增量AAA信息,同步到用户表中。
从t1到t3时刻的增量AAA信息,其实是已经存在t3时刻的全量AAA信息当中,所以t1到t3时刻的增量AAA信息是不会影响用户表中的用户信息的。将t3到t4时刻的增量AAA信息,更新到用户表,相当于固网DPI用t3时刻的全量AAA信息加上t3到t4时刻的增量AAA信息,和AAA收发程序在t4时刻的全量AAA信息是一样的。固网DPI在更新完增量队列的增量AAA信息后,收到的增量AAA信息将直接更新用户表。在t4时刻后,固网DPI和AAA收发程序的用户信息是同步的。
参见图2所示,本发明的时序如下:
A:在t1时刻,固网DPI需要和AAA收发程序同步用户信息,固网DPI将接收到的增量AAA信息保存到增量队列,将同步flag置1。
B:在t2时刻,固网DPI发送同步请求给AAA收发程序,AAA收发程序在此时刻收到同步请求。
C:在t3时刻,AAA收发程序将全量AAA信息下发给固网DPI。固网DPI在t3时刻收到全量请求,先将用户表和哈希表清空,将收到的全量AAA信息保存到用户表中。
D:在t4时刻,固网DPI已经将全量AAA信息全部保存到用户表了,这时会将同步flag置0,将增量队列中保存的t1到t4时刻的增量AAA信息,同步到用户表中。
本发明实施例的实现AAA转发的方法,能够解决在一个AAA收发程序对上千台固网DPI的场景下,通过ZMQ的发布订阅方法,快速下发用户信息给固网DPI,回填AAA用户面信息,与以前的多线程发送AAA信息、AAA收发程序管理固网DPI的全量和增量队列相比,本发明采用ZMQ发布模式代替多线程,用固网DPI管理增量队列代替以前AAA收发程序管理管理增量队列,由于固网DPI数量多,用多线程可能要受限于线程数,本发明中固网DPI只需要管理和维护本机一个增量AAA发送队列,有效提升信息发送的效率。
在一种可能的实施方式中,本发明实施例还提供一种可读存储介质,可读存储介质位于PLC(Programmable Logic Controller,可编程逻辑控制器)控制器中,可读存储介质上存储有计算机程序,该程序被处理器执行时实现以下所述实现AAA转发的方法的步骤:
AAA收发程序基于DPDK口接收AAA服务器发送的radius报文,并解析radius报文得到用户信息并保存;
将解析得到的用户信息作为增量AAA信息,通过ZMQ发布端口发送给订阅了AAA消息的固网DPI;
AAA收发程序实时监听ZMQ请求应答端口,以当接收固网DPI的同步请求后将全部用户信息作为全量AAA信息发送给固网DPI。
存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本发明实施例提供的一种实现AAA转发的装置,包括接收模块、增量发送模块和全量发送模块。
接收模块用于驱使AAA收发程序基于DPDK口接收AAA服务器发送的radius报文,并解析radius报文得到用户信息并保存;增量发送模块用于将解析得到的用户信息作为增量AAA信息,通过ZMQ发布端口发送给订阅了AAA消息的固网DPI;全量发送模块用于驱使AAA收发程序实时监听ZMQ请求应答端口,以当接收固网DPI的同步请求后将全部用户信息作为全量AAA信息发送给固网DPI。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
本发明是参照根据本发明实施例的方法、设备(***)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
Claims (10)
1.一种实现AAA转发的方法,其特征在于,具体包括以下步骤:
AAA收发程序基于DPDK口接收AAA服务器发送的radius报文,并解析radius报文得到用户信息并保存;
将解析得到的用户信息作为增量AAA信息,通过ZMQ发布端口发送给订阅了AAA消息的固网DPI;
AAA收发程序实时监听ZMQ请求应答端口,以当接收固网DPI的同步请求后将全部用户信息作为全量AAA信息发送给固网DPI;
其中,连接AAA收发程序的ZMQ发布端口以订阅增量AAA信息,并将接收的增量AAA信息保存至增量队列中,当接收全量AAA信息并对全量AAA信息保存完成后,进行增量队列中增量AAA信息的保存处理。
2.如权利要求1所述的一种实现AAA转发的方法,其特征在于:所述用户信息包括用户名、用户IP、用户状态和用户NAT。
3.如权利要求2所述的一种实现AAA转发的方法,其特征在于,所述解析radius报文得到用户信息并保存,具体步骤包括:
基于解析radius报文得到用户信息中的用户名,查找用户名哈希表,判断对应的用户节点是否存在:
若用户节点存在,则对用户信息中的用户状态进行判断:
-当用户状态为下线状态时,则删除用户名哈希表中当前用户的用户名哈希、用户IP哈希和用户节点;
-当用户状态为上线状态时,则使用解析得到的用户信息更新用户节点上的用户信息;
若用户节点不存在,则当解析得到的用户信息中用户状态为上线状态时,从用户内存池中申请用户节点,将解析得到的用户信息拷贝到用户节点中,将解析得到的用户信息中用户名哈希和用户IP哈希作为新增用户名哈希和用户IP哈希,将新增用户名哈希和用户IP哈希指向用户节点。
4.如权利要求3所述的一种实现AAA转发的方法,其特征在于,所述当用户状态为上线状态时,则使用解析得到的用户信息更新用户节点上的用户信息,具体步骤为:
判断用户信息中的用户IP和用户节点中的用户IP是否相等:
若相等,则使用解析得到的用户信息更新用户节点上的用户信息;
若不相等,则删除用户节点上的用户IP哈希,将解析得到的用户信息中用户IP哈希作为新增用户IP哈希,并将新增用户IP哈希指向用户节点,使用解析得到的用户信息更新用户节点上的用户信息。
5.如权利要求4所述的一种实现AAA转发的方法,其特征在于:
所述固网DPI启动后,连接AAA收发程序的ZMQ发布端口以订阅增量AAA信息,并将接收的增量AAA信息保存至增量队列中,当接收全量AAA信息并对全量AAA信息保存完成后,进行增量队列中增量AAA信息的保存处理;
所述固网DPI连接AAA收发程序的ZMQ发布端口后,连接AAA收发程序的ZMQ请求应答端口,并周期性检测是否需要和AAA收发程序同步,并当需要同步时发送同步请求至AAA收发程序。
6.如权利要求5所述的一种实现AAA转发的方法,其特征在于,当固网DPI接收到AAA收发程序发送的全量AAA信息之后:
清空用户名哈希表、用户IP哈希表和用户节点;
从用户内存池中申请用户节点,解析全量AAA信息将解析得到的用户信息保存至用户节点中;
根据用户信息中的用户名和用户IP分别进行哈希计算,将解析得到的用户信息中用户名哈希和用户IP哈希作为新增用户名哈希和用户IP哈希,将新增用户名哈希和用户IP哈希指向用户节点。
7.如权利要求5所述的一种实现AAA转发的方法,其特征在于,所述当接收全量AAA信息并对全量AAA信息保存完成后,进行增量队列中增量AAA信息的保存处理,其中,对于增量队列中增量AAA信息的保存处理,具体步骤为:
依次从增量队列中取出用户信息,根据用户信息中的用户名查找用户名哈希表,根据用户信息中的用户IP查找用户IP哈希表,实现用户信息的更新或新增。
8.如权利要求1所述的一种实现AAA转发的方法,其特征在于:
所述AAA收发程序包括ZMQ请求应答端口和ZMQ发布端口;
所述ZMQ发布端口用于发送增量AAA信息至固网DPI;
所述ZMQ请求应答端口用于接收固网DPI发送的同步请求和心跳消息;
所述AAA收发程序实时监听ZMQ请求应答端口,当接收到固网DPI发送的同步请求后,将当前时刻的全量AAA信息发送给固网DPI,当接收到固网DPI发送的心跳消息后,返回心跳响应给固网DPI。
9.如权利要求8所述的一种实现AAA转发的方法,其特征在于:
当固网DPI开机后、在预设周期内未收到AAA收发程序发送的心跳响应或者固网DPI和AAA收发程序间的socket连接断裂,则固网DPI向AAA收发程序发送同步请求。
10.一种实现AAA转发的装置,其特征在于,包括:
接收模块,其用于驱使AAA收发程序基于DPDK口接收AAA服务器发送的radius报文,并解析radius报文得到用户信息并保存;
增量发送模块,其用于将解析得到的用户信息作为增量AAA信息,通过ZMQ发布端口发送给订阅了AAA消息的固网DPI;
全量发送模块,其用于驱使AAA收发程序实时监听ZMQ请求应答端口,以当接收固网DPI的同步请求后将全部用户信息作为全量AAA信息发送给固网DPI;
其中,连接AAA收发程序的ZMQ发布端口以订阅增量AAA信息,并将接收的增量AAA信息保存至增量队列中,当接收全量AAA信息并对全量AAA信息保存完成后,进行增量队列中增量AAA信息的保存处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310228284.9A CN116320088B (zh) | 2023-03-03 | 2023-03-03 | 一种实现aaa转发的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310228284.9A CN116320088B (zh) | 2023-03-03 | 2023-03-03 | 一种实现aaa转发的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116320088A CN116320088A (zh) | 2023-06-23 |
CN116320088B true CN116320088B (zh) | 2023-09-15 |
Family
ID=86823593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310228284.9A Active CN116320088B (zh) | 2023-03-03 | 2023-03-03 | 一种实现aaa转发的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116320088B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8290471B1 (en) * | 2009-05-06 | 2012-10-16 | Sprint Spectrum L.P. | Method and system for mobile data usage accounting |
CN103856496A (zh) * | 2012-11-29 | 2014-06-11 | 华为技术有限公司 | 信息发布方法、设备及*** |
CN104145455A (zh) * | 2012-08-23 | 2014-11-12 | 华为技术有限公司 | 一种报文控制方法和装置 |
CN104244217A (zh) * | 2013-06-20 | 2014-12-24 | 中国电信股份有限公司 | 实现用户数据实时同步的方法和*** |
WO2016033986A1 (zh) * | 2014-09-01 | 2016-03-10 | 中兴通讯股份有限公司 | 深度包检测的实现方法及装置 |
CN107608980A (zh) * | 2016-07-11 | 2018-01-19 | 中国电信股份有限公司 | 基于dpi大数据分析的信息推送方法和*** |
CN111371655A (zh) * | 2020-04-07 | 2020-07-03 | 中移雄安信息通信科技有限公司 | 深度报文检测方法、dpi设备、中转设备、***及存储介质 |
CN115701145A (zh) * | 2021-07-31 | 2023-02-07 | 华为技术有限公司 | 流量管理方法、装置、设备及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8953592B2 (en) * | 2012-09-28 | 2015-02-10 | Juniper Networks, Inc. | Network address translation for application of subscriber-aware services |
-
2023
- 2023-03-03 CN CN202310228284.9A patent/CN116320088B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8290471B1 (en) * | 2009-05-06 | 2012-10-16 | Sprint Spectrum L.P. | Method and system for mobile data usage accounting |
CN104145455A (zh) * | 2012-08-23 | 2014-11-12 | 华为技术有限公司 | 一种报文控制方法和装置 |
CN103856496A (zh) * | 2012-11-29 | 2014-06-11 | 华为技术有限公司 | 信息发布方法、设备及*** |
CN104244217A (zh) * | 2013-06-20 | 2014-12-24 | 中国电信股份有限公司 | 实现用户数据实时同步的方法和*** |
WO2016033986A1 (zh) * | 2014-09-01 | 2016-03-10 | 中兴通讯股份有限公司 | 深度包检测的实现方法及装置 |
CN105406977A (zh) * | 2014-09-01 | 2016-03-16 | 中兴通讯股份有限公司 | 深度包检测的实现方法及装置 |
CN107608980A (zh) * | 2016-07-11 | 2018-01-19 | 中国电信股份有限公司 | 基于dpi大数据分析的信息推送方法和*** |
CN111371655A (zh) * | 2020-04-07 | 2020-07-03 | 中移雄安信息通信科技有限公司 | 深度报文检测方法、dpi设备、中转设备、***及存储介质 |
CN115701145A (zh) * | 2021-07-31 | 2023-02-07 | 华为技术有限公司 | 流量管理方法、装置、设备及计算机可读存储介质 |
Non-Patent Citations (4)
Title |
---|
Huawei/Bill.C1-140328 "Firewall traversal for IMS services based on ICE".3GPP tsg_ct\WG1_mm-cc-sm_ex-CN1.2014,(TSGC1_86_Guangzhou),全文. * |
K. Abouda.EMC & ESD Solutions for a LIN Transceiver : Interaction study between EMC and ESD strategies.《2019 12th International Workshop on the Electromagnetic Compatibility of Integrated Circuits (EMC Compo)》.2019,全文. * |
基于IP业务支撑***大数据的分析和应用;黄瑜曼;;广西通信技术(03);全文 * |
基于流式计算的DPI数据处理方案及实践;范家杰;田熙清;郑博;;移动通信(01);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116320088A (zh) | 2023-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8024423B2 (en) | Maintaining connections between mobile devices and servers | |
CN102761864B (zh) | 一种数据传输的方法、***及设备 | |
CN112860451A (zh) | 一种基于SaaS的多租户数据处理方法和装置 | |
RU2567381C2 (ru) | Система и способ для передачи изображений в режиме реального времени | |
CN101986648A (zh) | 一种tcp选项的协商方法、装置及网络设备 | |
CN111259022B (zh) | 一种信息同步方法、同步***、计算机设备和介质 | |
CN112187491A (zh) | 服务器的管理方法、装置和设备 | |
CN115379010B (zh) | 一种容器网络构建方法、装置、设备及存储介质 | |
CN114500633B (zh) | 数据转发方法、相关装置、程序产品及数据传输*** | |
CN105577480A (zh) | 一种网络连接性能的监测方法及装置 | |
CN111385068B (zh) | 数据传输方法、装置、电子设备及通信*** | |
CN102523236B (zh) | 一种动态连接建立方法和设备 | |
CN116320088B (zh) | 一种实现aaa转发的方法及装置 | |
CN111935316B (zh) | 一种前端设备目录获取方法及装置 | |
CN104468767A (zh) | 一种云存储数据冲突检测方法及*** | |
CN102420764B (zh) | 一种链路建立方法及设备 | |
CN113608778A (zh) | 应用管理方法及装置、存储介质、电子设备 | |
CN109413118A (zh) | 一种实现会话同步的方法、装置及存储介质、程序产品 | |
CN113505180A (zh) | 一种多云平台中镜像的同步方法、装置、设备及可读介质 | |
CN112291207B (zh) | 一种前端设备目录获取方法及装置 | |
CN112291209B (zh) | 一种前端设备目录获取方法及装置 | |
CN112291210B (zh) | 一种前端设备目录获取方法及装置 | |
CN113132480B (zh) | 一种数据传输方法、装置和*** | |
CN115277645B (zh) | 快递业务的广域网ip地址更新方法、装置、设备及介质 | |
CN115665042B (zh) | 数据处理方法、装置、用户平面功能实体及存储介质 |
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 |