协议识别方法及装置的制造方法_2

文档序号:9846674阅读:来源:国知局
在接收到客户端发送的监听请求报文后,向客户端发送的监听应答报文来确定。
[0038]由于在客户端与服务器建立数据连接时,客户端通过向服务器发送监听请求报文,请求服务器返回其用于接收客户端发送的数据连接请求报文的端口。服务器在接收到监听请求报文后,向客户端发送监听应答报文,该监听应答报文包括服务器的IP地址以及服务器用于接收客户端发送的数据连接请求报文的端口。因此,根据服务器向客户端发送的监听应答报文,可以确定协商节点中服务器的IP地址和端口。
[0039]步骤202、获取数据连接请求报文,该数据连接请求报文包括客户端或服务器的IP地址和端口。该数据连接请求报文可以仅包括客户端的IP地址和端口,可以仅包括服务器的IP地址和端口,还可以既包括客户端的IP地址和端口,又包括服务器的IP地址和端□。
[0040]步骤203、将数据连接请求报文与协商节点进行匹配,以识别出该数据连接请求报文的数据连接协议,从而识别出客户端与服务器之间的数据连接协议。
[0041]在本实施例中,将数据连接请求报文与协商节点进行匹配,可以包括以下三种情况:
[0042]在协商节点中仅包括客户端的IP地址和端口时,将数据连接请求报文中客户端的IP地址与协商节点中客户端的IP地址进行匹配,将数据连接请求报文中客户端的端口与协商节点中客户端的端口进行匹配,在两者均匹配成功时,将协商节点中的数据连接协议作为数据连接请求报文的数据连接协议。
[0043]在协商节点中仅包括服务器的IP地址和端口时,将数据连接请求报文中服务器的IP地址与协商节点中服务器的IP地址进行匹配,将数据连接请求报文中服务器的端口与协商节点中服务器的端口进行匹配,在两者均匹配成功时,将协商节点中的数据连接协议作为数据连接请求报文的数据连接协议。
[0044]在协商节点中既包括客户端的IP地址和端口,又包括服务器的IP地址和端口时,可以选择以客户端和服务器中一个设备的IP地址和端口为基础,将数据连接请求报文与协商节点进行匹配,也可以选择以客户端和服务器两个设备的IP地址和端口为基础,将数据连接请求报文与协商节点进行匹配。
[0045]由上述实施例可见,由于数据连接请求报文中包括客户端或服务器的IP地址和端口,因此本实施例在客户端通过数据连接请求报文与服务器建立数据连接之前,先创建包括数据连接协议,以及客户端或服务器的IP地址和端口的协商节点;再将数据连接请求报文中的IP地址和端口与协商节点中的IP地址和端口进行匹配,若匹配成功,则将协商节点中的数据连接协议作为数据连接请求报文的数据连接协议,从而识别出客户端与服务器之间的数据连接协议。
[0046]参见图3,为本发明协议识别方法的另一个实施例流程图,以客户端基于RTSP/RTP通信协议与服务器建立通信连接为例,对协议识别方法进行详细描述,该方法包括以下步骤:
[0047]步骤301、获取客户端向服务器的544端口发送的控制连接请求报文。
[0048]步骤302、根据控制连接请求报文,确定协商节点中的数据连接协议为RTP数据连接协议。
[0049]在本实施例中,由于服务器的544端口为服务器用于接收RTSP/RTP通信协议的控制连接请求报文的固定端口,因此根据控制连接请求报文中的544端口可以确定客户端与服务器之间的控制连接协议为RTSP/RTP通信协议中的RTSP控制连接协议。另外,由于RTSP/RTP通信协议中RTSP控制连接协议与RTP数据连接协议呈相对应的关系,因此在识别出RTSP控制连接协议的基础上,可以确定对应的数据连接协议为RTP数据连接协议,从而确定协商节点中的数据连接协议为RTP数据连接协议。
[0050]步骤303、根据控制连接请求报文中的Transport标志,确定协商节点中客户端的IP地址和端口,以及服务器的IP地址和端口。
[0051]在本实施例中,控制连接请求报文中包括传输标志Transport标志,该传输标志包括客户端的IP地址、客户端用于发送数据连接请求报文的端口、服务器的IP地址、以及服务器用于接收数据连接请求报文的端口。
[0052]传输标志中客户端和服务器的端口可以通过程序“ Transport: RTP/AVP/UDP ;unicast ;server_port = ? ;client_port = ?,,来石角定,其中,Transport 表不传输标志,unicast表示单通道,server_port表示服务器的端口,client_port表示客户端的端口。
[0053]步骤304、获取客户端向服务器发送的数据连接请求报文,该数据连接请求报文可以包括客户端的IP地址和端口,以及服务器的IP地址和端口。
[0054]步骤305、将数据连接请求报文与协商节点进行匹配,以识别出数据连接请求报文的数据连接协议,从而确定客户端与服务器之间的数据连接协议。
[0055]在本实施例中,在将数据连接请求报文与协商节点进行匹配时,可以将数据连接请求报文中服务器的IP地址与协商节点中服务器的IP地址进行匹配,且将数据连接请求报文中服务器的端口与协商节点中服务器的端口进行匹配,若两者均匹配成功,则将RTP数据连接协议作为数据连接请求报文的数据连接协议;也可以将数据连接请求报文中客户端的IP地址与协商节点中客户端的IP地址进行匹配,且将数据连接请求报文中客户端的端口与协商节点中客户端的端口进行匹配,若两者均匹配成功,则将RTP数据连接协议作为数据连接请求报文中的数据连接协议。
[0056]参见图4,为本发明协议识别方法的另一个实施例流程图,以客户端基于FTP通信协议与服务器建立通信连接为例,对协议识别方法进行详细描述,该方法包括以下步骤:
[0057]步骤401、接收客户端向服务器的21端口发送的控制连接请求报文。
[0058]步骤402、根据控制连接请求报文,确定协商节点中的数据连接协议为TCP数据连接协议。
[0059]在本实施例中,由于服务器的21端口为服务器用于接收FTP通信协议的控制连接请求报文的固定端口,因此根据控制连接请求报文中的21端口,可以确定客户端与服务器之间的控制连接协议为FTP通信协议中的TCP控制连接协议。另外,由于FTP通信协议中TCP控制连接协议与TCP数据连接协议呈相对应的关系,因此在识别出TCP控制连接协议的基础上,可以确定对应的数据连接协议为TCP数据连接协议,从而确定协商节点中的数据连接协议为TCP数据连接协议。
[0060]步骤403、获取服务器在接收到客户端发送的PASV命令后,向客户端发送的监听应答报文,该监听应答报文包括服务器的IP地址,以及服务器用于接收客户端发送的数据连接请求报文的端口。
[0061]步骤404、根据监听应答报文,确定协商节点中服务器的IP地址和端口。
[0062]步骤405、创建协商节点,该协商节点包括TCP数据连接协议、服务器的IP地址和端口。
[0063]步骤406、获取客户端向服务器发送的数据连接请求报文,该数据连接请求报文可以包括服务器的IP地址和端口。
[0064]步骤407、将数据连接请求报文与协商节点进行匹配:若数据连接请求报文中服务器的IP地址与协商节点中服务器的IP地址相匹配,且数据连接请求报文中服务器的端口与协商节点中服务器的端口相匹配,则可以将TCP数据连接协议作为数据连接请求报文中的数据连接协议,从而确定客户端与服务器之间的数据连接协议为TCP数据连接协议。
[0065]与前述协议识别方法实施例相对应,本发明还提供了协议识别装置的实施例。
[0066]本发明协议识别装置的实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本发明协议识别装置所在设备的一种硬件结构图,除了图5所示的处理器、网络接口、内存以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等;从硬件结构上来讲该设备还可能是分布式的设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
[0067]参见图6,为本发明协议识别装置的一个实施例框图,所述装置包括:获取单元610、创建单元620和匹配单元630。
[0068]其中,获取单元610,用于获取数据连接请求报文,该数据连接请求报文包括客户
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1