一种创建TCP连接的方法及装置制造方法及图纸

技术编号:19515865 阅读:35 留言:0更新日期:2018-11-21 10:43
本发明专利技术公开了一种创建TCP连接的方法及装置,所述方法应用于CDN节点中,所述方法包括:在根据接收到的请求消息确定出需要与服务端建立TCP连接后,根据所述请求消息确定所述服务端的目的地址和目的端口;确定源地址,其中,所述源地址为当前连接数最少的IP地址;确定源端口,其中,所述源端口处于空闲状态;基于所述源地址、所述源端口、所述目的地址以及所述目的端口创建TCP连接,并将所述源地址的连接数加一。本发明专利技术实施例能够实时记录每个IP地址的连接数,在建立TCP连接时,可以选取当前连接数最少的IP地址作为源地址进行连接,所以能够均衡每个IP地址的连接数,降低连接失败的次数。

【技术实现步骤摘要】
一种创建TCP连接的方法及装置
本专利技术涉及网络通信
,特别涉及一种创建TCP连接的方法及装置。
技术介绍
CDN的全称是ContentDeliveryNetwork,即内容分发网络。其基本思路是通过在网络各处放置CDN节点服务器(以下简称CDN节点),以通过CDN节点构成的在现有的互联网基础之上的一层智能虚拟网络,从而避开互联网上可能的速度瓶颈和不稳定的网络环节,使内容传输的更快、更稳定。在传统的CDN系统中,如图1所示,客户端通过智能DNS解析到距离其最近的CDN节点,客户端向CDN节点发送请求消息,CDN节点先在缓存中查找是否有该请求消息的响应,如果有,则将该响应反馈给客户端;如果在缓存中没有该响应,则与服务端建立TCP(TransmissionControlProtocol,传输控制协议)连接,成功连接后,将请求消息转发给服务端,并将服务端的响应发送回客户端。CDN节点与服务端建立TCP连接时,需要先确定CDN节点中连接所需的源地址和源端口,以及服务端的目的地址和目的端口,再基于源地址、源端口、目的地址和目的端口建立TCP连接。如图1所示,每个CDN节点可以配置有多个可以作为源地址的IP(InternetProtocol,互联网协议)地址,对于同一服务,每个IP地址可以通过不同的端口最多建立65535个连接,同一服务对应的目的地址和目的端口的组合相同,也就是说,每个IP与同一目的地址和目的端口的组合之间的连接数最多是65535个。通常CDN节点利用bind(捆绑)接口绑定其中一个IP地址作为源地址,用于与服务端进行TCP连接。在利用bind接口选取源地址时,会出现IP地址之间的连接数差异较大的问题,并且可能会出现这一情况:对于同一服务,已经存在65535个连接的IP地址,仍然被选作新连接的源地址,这样会导致新连接失败。
技术实现思路
为了解决现有技术的问题,本专利技术实施例提供了一种创建TCP连接的方法及装置。所述技术方案如下:第一方面,提供了一种创建TCP连接的方法,所述方法应用于CDN节点中,所述方法包括:在根据接收到的请求消息确定出需要与服务端建立TCP连接后,根据所述请求消息确定所述服务端的目的地址和目的端口;确定源地址,其中,所述源地址为当前连接数最少的IP地址;确定源端口,其中,所述源端口处于空闲状态;基于所述源地址、所述源端口、所述目的地址以及所述目的端口创建TCP连接,并将所述源地址的连接数加一。可选的,所述根据所述请求消息确定所述服务端的目的地址和目的端口之前,包括:确定本机的各个IP地址,并初始化每个所述IP地址的连接数。可选的,所述确定本机的各个IP地址,包括:通过proc文件系统确定本机的各个IP地址。可选的,所述确定源地址,包括:通过proc文件系统确定各个IP地址的连接数;利用setsockopt接口选取当前连接数最少的IP地址作为源地址。可选的,所述确定源端口,包括:从端口集合中确定源端口,所述端口集合中的端口为所述源地址、所述目的地址以及所述目的端口的组合对应的端口。可选的,所述确定源端口,还包括:利用connect接口,从所述端口集合中确定源端口。可选的,所述方法还包括:在断开所述TCP连接后,将所述源地址的连接数减一。第二方面,提供了一种创建TCP连接的装置,所述装置包括:第一确定单元,用于在根据接收到的请求消息确定出需要与服务端建立TCP连接后,根据所述请求消息确定所述服务端的目的地址和目的端口;第二确定单元,用于确定源地址,其中,所述源地址为当前连接数最少的IP地址;第三确定单元,用于确定源端口,其中,所述源端口处于空闲状态;创建单元,用于基于所述源地址、所述源端口、所述目的地址以及所述目的端口创建TCP连接,并将所述源地址的连接数加一。可选的,所述第二确定单元,还用于在根据所述请求消息确定所述服务端的目的地址和目的端口之前,确定本机的各个IP地址,并初始化每个所述IP地址的连接数。可选的,所述第二确定单元,具体用于通过proc文件系统确定本机的各个IP地址。可选的,所述第二确定单元,具体用于:通过proc文件系统确定各个IP地址的连接数;利用setsockopt接口选取当前连接数最少的IP地址作为源地址。可选的,所述第三确定单元,具体用于从端口集合中确定源端口,所述端口集合中的端口为所述源地址、所述目的地址以及所述目的端口的组合对应的端口。可选的,所述第三确定单元,具体用于利用connect接口,从所述端口集合中确定源端口。可选的,所述第二确定单元,还用于在断开所述TCP连接后,将所述源地址的连接数减一。第三方面,提供了一种CDN节点,所述CDN节点包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现第一方面的方法。本专利技术实施例提供的创建TCP连接的方法,能够实时记录每个IP地址的连接数,在建立TCP连接时,可以选取当前连接数最少的IP地址作为源地址进行连接,所以能够均衡每个IP地址的连接数,降低连接失败的次数。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的一种网络框架示意图;图2是本专利技术实施例提供的另一种网络框架示意图;图3是本专利技术实施例提供的一种创建TCP连接的方法流程图;图4是本专利技术实施例提供的一种创建TCP连接的装置的结构框图;图5是为本专利技术实施例提供的一种CDN节点的结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。本专利技术实施例提供了一种创建TCP连接的方法,该方法可以应用于图1所示的网络框架中。该网络框架包括CDN节点以及服务端。当CDN节点接收到客户端发送的请求消息,并且在缓存中没有查找到该请求消息的响应时,开始创建与服务端的TCP连接。本专利技术实施例中的服务端可以包括CDN节点以及源站点。本专利技术实施例提供的方法还可以应用于图2所示的网络框架中。如图2所示,当CDN节点1接收到客户端发送的请求消息,并且在缓存中没有查找到该请求消息的响应时,向CDN节点2转发该请求信息,则在该种情况下,CDN节点1与CDN节点2进行TCP连接,CDN节点2即可以作为服务端。再例如,当CDN节点2接收到CDN节点1发送的请求消息,并且在缓存中没有查找到该请求消息的响应时,可以向源站点转发该请求信息,则在该种情况下,CDN节点2与源站点进行TCP连接,源站点即可以作为服务端。在具体实施中,客户端发送的请求消息可以经过多个CDN节点的转发,而获取请求消息的响应。CDN节点在每次转发请求消息之前,均需与下一个接收端建立TCP连接,请求消息的接收端即可以作为发送端的服务端。参见图3,为本专利技术实施例提供的一种创建TCP连接的方法的流程图,该方法具体应用于CDN节点中,也即由CDN节点来执行,该方法具体可以包括以下步骤。步骤301,确定本机的各个IP地址,并初始化每个所本文档来自技高网
...

【技术保护点】
1.一种创建TCP连接的方法,其特征在于,所述方法应用于CDN节点中,所述方法包括:在根据接收到的请求消息确定出需要与服务端建立TCP连接后,根据所述请求消息确定所述服务端的目的地址和目的端口;确定源地址,其中,所述源地址为当前连接数最少的IP地址;确定源端口,其中,所述源端口处于空闲状态;基于所述源地址、所述源端口、所述目的地址以及所述目的端口创建TCP连接,并将所述源地址的连接数加一。

【技术特征摘要】
1.一种创建TCP连接的方法,其特征在于,所述方法应用于CDN节点中,所述方法包括:在根据接收到的请求消息确定出需要与服务端建立TCP连接后,根据所述请求消息确定所述服务端的目的地址和目的端口;确定源地址,其中,所述源地址为当前连接数最少的IP地址;确定源端口,其中,所述源端口处于空闲状态;基于所述源地址、所述源端口、所述目的地址以及所述目的端口创建TCP连接,并将所述源地址的连接数加一。2.根据权利要求1所述的方法,其特征在于,所述根据所述请求消息确定所述服务端的目的地址和目的端口之前,还包括:确定本机的各个IP地址,并初始化每个所述IP地址的连接数。3.根据权利要求2所述的方法,其特征在于,所述确定本机的各个IP地址,包括:通过proc文件系统确定本机的各个IP地址。4.根据权利要求1所述的方法,其特征在于,所述确定源地址,包括:通过proc文件系统确定各个IP地址的连接数;利用setsockopt接口选取当前连接数最少的IP地址作为源地址。5.根据权利要求1所述的方法,其特征在于,所述确定源端口,包括:从端口集合中确定源端口,所述端口集合中的端口为所述源地址、所述目的地址以及所述目的端口的组合对应的端口。6.根据权利要求5所述的方法,其特征在于,所述确定源端口,还包括:利用connect接口,从所述端口集合中确定源端口。7.根据权利要求1所述的方法,其特征在于,还包括:在断开所述TCP连接后,将所述源地址的连接数减一。8.一种创建TCP连接的装置,其特征在于,所述装置包括:第一确定单元,用于在根据接收到的请求消息确定出需要与服务端建立TCP连接后,根据所述请求消息确定所述服务端的目的地址...

【专利技术属性】
技术研发人员:李永隆吴建国孙云峰苏学敏
申请(专利权)人:网宿科技股份有限公司
类型:发明
国别省市:上海,31

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

1