上下游连接关联方法、装置、网络转发设备、系统及介质制造方法及图纸

技术编号:32632339 阅读:15 留言:0更新日期:2022-03-12 18:06
本申请涉及一种上下游连接关联方法、装置、网络转发设备、系统及介质,其方法应用于网络转发设备,包括:底层进程接收客户端发送的下游连接请求,建立下游连接会话;应用层进程接收底层进程发送的下游连接请求,解析得到下游连接请求中的下游五元组信息,应用层进程生成包含下游五元组信息和上游五元组信息的上游连接请求;底层进程接收应用层进程发送的上游连接请求,解析得到下游五元组信息和上游五元组信息,基于下游五元组信息和上游五元组信息进行上下游连接的关联;底层进程卸载上游连接请求中的下游五元组信息,并将卸载后的上游连接请求发送到服务器。本申请具有降低代码复杂度以及减少系统资源开销的效果。杂度以及减少系统资源开销的效果。杂度以及减少系统资源开销的效果。

【技术实现步骤摘要】
上下游连接关联方法、装置、网络转发设备、系统及介质


[0001]本申请涉及网络数据转发的
,尤其是涉及一种上下游连接关联方法、装置、网络转发设备、系统及介质。

技术介绍

[0002]对于某些网络转发设备而言,如代理设备,在实现网络转发功能时可能具有上下游两条连接,其中,上游连接是指代理设备与客户端的连接,下游连接是指代理设备与服务器的连接。对于应用层进程而言,可以知道上下游连接的对应关系,但对于应用层以下的进程,却只能确定这是两条独立连接,而不能确认下游连接与上游连接是否构成同一转发关系。出于对业务需求的考虑,应用层以下的进程需要确认上下游的连接关系。
[0003]相关技术中,应用层以下的进程主要通过进程间的通信实现上下游的连接与关联,其中进程间的通信方式有共享内存、消息队列、本地socket套接字等。当应用层以下的进程通过进程间的通信方式建立上下游连接与关联时,需要建立一套进程间通信代码或通过调用系统函数接口来实现。
[0004]专利技术人认为,若通过建立一套通信代码实现上下游的连接和关联,则会增加代码复杂度,并会增加进程间的耦合度;若通过频繁调用系统函数接口实现上下游的连接和关联,则会加大系统开销,占用较多的系统性能。

技术实现思路

[0005]为了降低代码复杂度和减少系统资源开销,本申请提供一种上下游连接关联方法、装置、网络转发设备、系统及介质。
[0006]第一方面,本申请提供一种上下游连接关联方法,采用如下的技术方案:一种上下游连接关联方法,应用于网络转发设备,包括:底层进程接收客户端发送的下游连接请求,建立下游连接会话;应用层进程接收所述底层进程发送的所述下游连接请求,解析得到所述下游连接请求中的下游五元组信息,所述应用层进程生成包含所述下游五元组信息和上游五元组信息的上游连接请求;所述底层进程接收所述应用层进程发送的所述上游连接请求,解析得到所述下游五元组信息和所述上游五元组信息,基于所述下游五元组信息和所述上游五元组信息进行上下游连接的关联;所述底层进程卸载所述上游连接请求中的所述下游五元组信息,并将卸载后的上游连接请求发送到服务器。
[0007]通过采用上述技术方案,获取下游连接请求的下游五元组信息,并将下游五元组信息设置到上游连接请求中,使发往服务器的上游连接请求携带下游五元组信息,通过上游五元组信息和下游五元组信息建立上下游关联,相比于建立一套进程间通信代码和调用系统函数接口这两种方式,不仅所需代码量较小,也不会增大系统的开销。
[0008]可选的,所述应用层进程生成包含所述下游五元组信息和上游五元组信息的上游连接请求,包括:所述应用层进程创建所述服务器对应的socket套接字,调用setsockopt函数接口将所述下游五元组信息设置到上游连接请求中ip包头的option字段,并将所述上游连接请求发送至所述底层进程;所述底层进程卸载所述上游连接请求中的所述下游五元组信息,包括:基于所述应用层进程创建所述服务器对应的socket套接字,将所述下游五元组信息从上游连接请求中ip包头的option字段卸载。
[0009]通过采用上述技术方案,网络层在对上游连接请求中的数据包进行封装时,若数据包为ipv4数据包,则可以通过调用setsockopt函数接口将下游五元组信息设置到上游连接请求的option字段,使发往服务器的上游连接请求携带下游五元组信息,从而使底层进程获取下游连接与上游连接构成的同一转发关系。
[0010]可选的,所述应用层进程生成包含所述下游五元组信息和上游五元组信息的上游连接请求,包括:所述应用层进程创建所述服务器对应的socket套接字,调用setsockopt函数接口将所述下游五元组信息设置到上游连接请求中ip包头的扩展头字段,并将所述上游连接请求发送至所述底层进程;所述底层进程卸载所述上游连接请求中的所述下游五元组信息,包括:所述底层进程直接将所述下游五元组信息从所述上游连接请求中ip包头的扩展头字段中卸载。
[0011]通过采用上述技术方案,网络层在对上游连接请求中的数据包进行封装时,若数据包为ipv6数据包,则可以通过调用setsockopt函数接口将下游五元组信息设置到上游连接请求的扩展头字段,使发往服务器的上游连接请求携带下游五元组信息,从而使底层进程获取下游连接与上游连接构成的同一转发关系。
[0012]可选的,在所述底层进程接收客户端发送的下游连接请求,建立下游连接会话之后,还包括:所述底层进程基于所述下游五元组信息将所述下游连接会话存储于下游连接会话表中;所述基于所述下游五元组信息和所述上游五元组信息进行上下游连接的关联,包括:所述底层进程获取所述下游连接会话表中与所述下游五元组信息对应的下游连接会话;所述底层进程查询上游连接会话表中是否存在与所述上游五元组信息对应的上游连接会话;若是,则将查询到的上游连接会话与所述下游五元组信息对应的下游连接会话进行关联;若否,则将基于所述上游五元组信息建立上游连接会话存储于所述上游连接会话表中,将建立的上游连接会话与所述下游五元组信息对应的下游连接会话进行关联。
[0013]通过采用上述技术方案,通过查询下游连接会话表中的下游连接会话和上游连接
会话表中的上游连接会话,进行上游连接会话和下游连接会话的关联,从而使底层进程获取上游连接与下游连接的同一转发关系,进而实现客户端与服务器之间的通信。
[0014]可选的,所述底层进程将所述上游五元组信息对应的上游连接会话与所述下游五元组信息对应的下游连接会话进行关联,包括:所述底层进程获取所述下游连接会话表中的下游会话数据结构对应的下游数据结构体指针,将所述下游数据结构体指针赋值到上游连接会话地址;所述底层进程获取所述上游连接会话表中的上游会话数据结构对应的上游数据结构体指针,将所述下游数据结构体指针赋值到下游连接会话地址。
[0015]通过采用上述技术方案,采用数据结构体指针方式实现上下游连接会话的关联,使上游连接会话和下游连接会话共同使用客户端ip地址和服务器ip地址,从而构成上游连接会话和下游连接会话的同一转发关系。
[0016]可选的,在所述底层进程接收客户端发送的下游连接请求之前,还包括:所述应用层进程创建所述客户端对应的socket套接字以监听所述客户端对应的端口,并通过所述端口接收所述客户端发送的下游连接请求。
[0017]第二方面,本申请提供一种上下游连接关联装置,采用如下的技术方案:一种上下游连接关联装置,应用于网络转发设备,所述装置包括:接收建立模块,用于底层进程接收客户端发送的下游连接请求,建立下游连接会话;解析生成模块,用于应用层进程接收所述底层进程发送的所述下游连接请求,解析得到所述下游连接请求中的下游五元组信息,所述应用层进程生成包含所述下游五元组信息和上游五元组信息的上游连接请求;解析关联模块,用于所述底层进程接收所述应用层进程发送的所述上游连接请求,解析得到所述下游五元组信息和所述上游五元组信息,基于所述下游五元组信息和所述上游五元组信息进行上下游连接本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种上下游连接关联方法,其特征在于,应用于网络转发设备,包括:底层进程接收客户端发送的下游连接请求,建立下游连接会话;应用层进程接收所述底层进程发送的所述下游连接请求,解析得到所述下游连接请求中的下游五元组信息,所述应用层进程生成包含所述下游五元组信息和上游五元组信息的上游连接请求;所述底层进程接收所述应用层进程发送的所述上游连接请求,解析得到所述下游五元组信息和所述上游五元组信息,基于所述下游五元组信息和所述上游五元组信息进行上下游连接的关联;所述底层进程卸载所述上游连接请求中的所述下游五元组信息,并将卸载后的上游连接请求发送到服务器。2.根据权利要求1所述的方法,其特征在于,所述应用层进程生成包含所述下游五元组信息和上游五元组信息的上游连接请求,包括:所述应用层进程创建所述服务器对应的socket套接字,调用setsockopt函数接口将所述下游五元组信息设置到上游连接请求中ip包头的option字段,并将所述上游连接请求发送至所述底层进程;所述底层进程卸载所述上游连接请求中的所述下游五元组信息,包括:基于所述应用层进程创建所述服务器对应的socket套接字,将所述下游五元组信息从上游连接请求中ip包头的option字段卸载。3.根据权利要求1所述的方法,其特征在于,所述应用层进程生成包含所述下游五元组信息和上游五元组信息的上游连接请求,包括:所述应用层进程创建所述服务器对应的socket套接字,调用setsockopt函数接口将所述下游五元组信息设置到上游连接请求中ip包头的扩展头字段,并将所述上游连接请求发送至所述底层进程;所述底层进程卸载所述上游连接请求中的所述下游五元组信息,包括:所述底层进程直接将下游五元组信息从上游连接请求中ip包头的扩展头字段中卸载。4.根据权利要求2或3所述的方法,其特征在于,在所述底层进程接收客户端发送的下游连接请求,建立下游连接会话之后,还包括:所述底层进程基于所述下游五元组信息将所述下游连接会话存储于下游连接会话表中;所述基于所述下游五元组信息和所述上游五元组信息进行上下游连接的关联,包括:所述底层进程获取所述下游连接会话表中与所述下游五元组信息对应的下游连接会话;所述底层进程查询上游连接会话表中是否存...

【专利技术属性】
技术研发人员:刘传伟
申请(专利权)人:北京天融信科技有限公司北京天融信软件有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1