一种udp通道探测方法及装置的制造方法

文档序号:10626674阅读:352来源:国知局
一种udp通道探测方法及装置的制造方法
【专利摘要】本申请提供一种UDP通道探测方法及装置,该方法包括:从端口号列表中选择一个目的端口号;执行如下UDP通道探测操作:根据所述目的端口号向服务器发送通道探测报文;判断在预设的报文响应时长内是否接收到所述服务器根据所述通道探测报文回应的通道响应报文;当在预设的报文响应时长内未接收到所述服务器根据所述通道探测报文回应的通道响应报文时,确认所述端口号列表中是否存在未选择过的目的端口号;当所述端口号列表中存在未选择过的目的端口号时,从所述未选择过的目的端口号中选择一个目的端口号,返回所述执行UDP通道探测操作。本申请可提高发现可用UDP通道的概率,保证相关业务的顺利传输。
【专利说明】
一种UDP通道探测方法及装置
技术领域
[0001] 本申请涉及网络通信技术领域,尤其涉及一种UDP通道探测方法及装置。
【背景技术】
[0002] SSL (Secure Sockets Layer,安全套接层)VPN (Virtual Private Network,虚拟 专用网)是解决远程用户访问公司敏感数据最简单最安全的解决技术。在使用UDPOJser Datagram Protocol,用户数据包协议)传输SSL VPN业务报文时,由于网络环境的复杂性, 可能会阻断UDP报文的传输,从而无法建立SSL VPN通道,无法进行SSL VPN业务报文转发。

【发明内容】

[0003] 有鉴于此,本申请提供一种UDP通道探测方法及装置。
[0004] 具体地,本申请是通过如下技术方案实现的:
[0005] 本申请提供一种UDP通道探测方法,应用于客户端设备上,该方法包括:
[0006] 从端口号列表中选择一个目的端口号;
[0007] 执行如下UDP通道探测操作:
[0008] 根据所述目的端口号向服务器发送通道探测报文;
[0009] 判断在预设的报文响应时长内是否接收到所述服务器根据所述通道探测报文回 应的通道响应报文;
[0010] 当在预设的报文响应时长内未接收到所述服务器根据所述通道探测报文回应的 通道响应报文时,确认所述端口号列表中是否存在未选择过的目的端口号;
[0011] 当所述端口号列表中存在未选择过的目的端口号时,从所述未选择过的目的端口 号中选择一个目的端口号,返回所述执行UDP通道探测操作。
[0012] 本申请还提供一种UDP通道探测方法,应用于服务器上,该方法包括:
[0013] 接收客户端设备发送的通道探测报文,所述通道探测报文中携带会话标识;
[0014] 根据所述会话标识确定通道状态;
[0015] 向所述客户端设备发送通道响应报文,所述通道响应报文中携带所述通道状态, 以使所述客户端设备根据所述通道状态进行业务处理。
[0016] 本申请还提供一种UDP通道探测装置,应用于客户端设备上,该装置包括:
[0017] 选择单元,用于从端口号列表中选择一个目的端口号;
[0018] 发送单元,用于根据所述目的端口号向服务器发送通道探测报文;
[0019] 判断单元,用于判断在预设的报文响应时长内是否接收到所述服务器根据所述通 道探测报文回应的通道响应报文;
[0020] 确认单元,用于当在预设的报文响应时长内未接收到所述服务器根据所述通道探 测报文回应的通道响应报文时,确认所述端口号列表中是否存在未选择过的目的端口号;
[0021] 所述选择单元,还用于当所述端口号列表中存在未选择过的目的端口号时,从所 述未选择过的目的端口号中选择一个目的端口号,返回所述发送单元。
[0022] 本申请还提供一种UDP通道探测装置,应用于服务器上,该装置包括:
[0023] 接收单元,用于接收客户端设备发送的通道探测报文,所述通道探测报文中携带 会话标识;
[0024] 确定单元,用于根据所述会话标识确定通道状态;
[0025] 发送单元,用于向所述客户端设备发送通道响应报文,所述通道响应报文中携带 所述通道状态,以使所述客户端设备根据所述通道状态进行业务处理。
[0026] 由以上描述可以看出,本申请通过在客户端设备中预设多个目的端口号,并依次 对不同目的端口号对应的UDP通道进行通道探测,以提高发现可用UDP通道的概率,保证相 关业务的顺利传输。
【附图说明】
[0027] 图1是本申请一示例性实施例示出的一种UDP通道探测方法流程图;
[0028] 图2是本申请另一示例性实施例示出的一种UDP通道探测方法流程图;
[0029] 图3是本申请一示例性实施例示出的UDP通道探测装置所在设备的基础硬件结构 示意图;
[0030] 图4是本申请一示例性实施例示出的一种UDP通道探测装置的结构示意图;
[0031] 图5是本申请另一示例性实施例示出的一种UDP通道探测装置的结构示意图。
【具体实施方式】
[0032] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及 附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例 中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附 权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0033] 在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。 在本申请和所附权利要求书中所使用的单数形式的"一种"、"所述"和"该"也旨在包括多 数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语"和/或"是指 并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0034] 应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这 些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离 本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第 一信息。取决于语境,如在此所使用的词语"如果"可以被解释成为"在……时"或"当…… 时"或"响应于确定"。
[0035] UDP协议是一种无连接的传输层协议。目前,有大量的业务报文需要基于UDP协议 进行传输,但是,在一些组网环境中,会出现UDP报文被阻断的情况,此时,将无法进行正常 的业务报文传输。
[0036] 针对上述问题,本申请实施例提出一种UDP通道探测方法,该方法通过在客户端 设备中预设多个目的端口号,并依次对不同目的端口号对应的UDP通道进行通道探测,以 提高发现可用UDP通道的概率,保证业务报文的顺利传输。
[0037] 参见图1,为本申请UDP通道探测方法的一个实施例流程图,该实施例从客户端设 备侧对UDP通道探测过程进行描述。
[0038] 步骤101,从端口号列表中选择一个目的端口号。
[0039] 本申请实施例中,服务器预先为某一特定业务配置多个端口号,以保证该特定业 务的业务报文顺利传输。客户端设备将服务器配置的端口号保存在本地的端口号列表中。 当客户端设备拟向服务器请求访问该特定业务时,客户端设备从端口号列表中选择一个端 口号作为目的端口号,以执行后续UDP通道探测。通常,在客户端设备中会预设一个默认目 的端口号,如果该默认目的端口号对应的UDP通道可用,将通过该UDP通道进行业务报文传 输。
[0040] 步骤102,使用所述目的端口号向服务器发送通道探测报文。
[0041] 客户端设备在通过步骤101选定目的端口号后,为本次访问生成一个新的源端口 号,使用该源端口号和选定的目的端口号向服务器发送通道探测报文。
[0042] 步骤103,判断在预设的报文响应时长内是否接收到所述服务器根据所述通道探 测报文回应的通道响应报文。
[0043] 客户端设备向服务器发送通道探测报文后,可以通过启动定时器,判断在预设的 报文响应时长内是否可以接收到服务器回应的通道响应报文。
[0044] 步骤104,当在预设的报文响应时长内未接收到所述服务器根据所述通道探测报 文回应的通道响应报文时,确认所述端口号列表中是否存在未选择过的目的端口号。
[0045] 客户端设备根据步骤103的判断结果,分以下两种情况进行处理:
[0046] 当客户端设备在预设的报文响应时长内接收到服务器根据通道探测报文回应的 通道响应报文时,说明该UDP通道可用,确认此次UDP通道探测成功。客户端设备在探测到 可用的UDP通道后,从接收的通道响应报文中获取通道状态,该通道状态是服务器根据客 户端设备发送的通道探测报文中携带的会话标识进行相关处理后确定的当前UDP通道的 状态。当该通道状态为通道正常时,客户端设备可以通过该UDP通道进行业务报文传输;当 该通道状态为通道异常时,断开当前的UDP通道,客户端设备需重新发送访问请求,重新进 行UDP通道探测。
[0047] 当客户端设备在预设的报文响应时长内未接收到服务器根据通道探测报文回应 的通道响应报文时,说明报文在传输过程中出现问题,例如,通道探测报文被拦截,该拦截 可能是中间网络设备针对特定端口号的报文采取的控制策略,因此,通过该UDP通道无法 进行业务报文传输。此时,客户端设备重新查询端口号列表,确认该端口号列表中是否还存 在其它未选择过的目的端口号。
[0048] 步骤105,当所述端口号列表中存在未选择过的目的端口号时,从所述未选择过的 目的端口号中选择一个目的端口号,返回步骤102。
[0049] 客户端设备根据步骤104的确认结果,分以下两种情况进行处理:
[0050] 当端口号列表中存在未选择过的目的端口号时,客户端设备从端口号列表中选择 新的目的端口号,重新启动新的UDP通道探测。
[0051] 当端口号列表中不存在未选择过的目的端口号时,说明所有的UDP通道均已被探 测过,且均未接收到服务器回应的通道响应报文,因此,确认UDP通道探测失败,客户端设 备与服务器之间无可用的UDP通道,客户端设备无法访问服务器。
[0052] 参见图2,为本申请UDP通道探测方法的另一个实施例流程图,该实施例从服务器 侧对UDP通道探测过程进行描述。
[0053] 步骤201,接收客户端设备发送的通道探测报文,所述通道探测报文中携带会话标 识。
[0054] 步骤202,根据所述会话标识确定通道状态。
[0055] 客户端设备与服务器在通过UDP通道传输业务报文之前,通过已建立的 TCP (Transmission Control Protocol,传输控制协议)通道协商此次访问的会话标识,该 会话标识用于唯一标识此次访问,可以通过字符串的形式表示。同时,服务器为该会话标 识设置了有效时长,当在预设的有效时长内未接收到客户端设备发送的通道探测报文时, 删除该会话标识,所以,本申请实施例中,当服务器接收到客户端设备发送的通道探测报文 时,从该通道探测报文中获取会话标识,并判断本地是否存在该会话标识,根据判断结果进 行如下处理:
[0056] 当本地存在该会话标识时,说明服务器在预设的有效时长内接收到了客户端设备 发送的通道探测报文,此次协商有效,因此,确定该UDP通道的通道状态为通道正常。
[0057] 当本地不存在该会话标识时,说明服务器在预设的有效时长内未接收到客户端设 备发送的通道探测报文,UDP通道存在传输延时,导致此次协商无效,需要重新协商,重新进 行UDP通道探测,因此,确定该UDP通道的通道状态为通道异常。
[0058] 步骤203,向所述客户端设备发送通道响应报文,所述通道响应报文中携带所述通 道状态,以使所述客户端设备根据所述通道状态进行业务处理。
[0059] 服务器将步骤202中获得的通道状态携带在通道响应报文中发送给客户端设备, 以使客户端设备根据通道状态进行相应的业务处理,具体参见步骤104的描述,在此不再 赘述。
[0060] 现以SSL VPN业务为例,详细介绍UDP通道探测过程。
[0061 ] SSL VPN技术通常用于企业专用网络的部署中,通过该技术可以保证远程访问的 安全性。将SSLVPN服务器布置于企业内网中,当远程客户端设备访问SSLVPN服务器时,需 要建立SSL VPN通道,而SSL VPN通道的建立是基于UDP协议进行SSL VPN报文传输,因此, 需要找到客户端设备和服务器之间可用的UDP通道。
[0062] 假设,SSLVPN服务器为SSLVPN业务预设了 2个端口号,分别为4000、5000,客户端 设备可以通过上述端口号访问SSLVPN服务器。客户端设备预先在本地保存了包含上述端 口号的端口号列表,参见表1。
[0063]
[0064] 表 1
[0065] 假设,表1中的第1个目的端口号为默认端口号。客户端设备本地生成源端口号 1000,从端口号列表中获取目的端口号4000,根据源端口号1000和目的端口号4000向SSL VPN服务器发送通道探测报文,并设置报文响应时长为5秒。当客户端设备在5秒钟内未接 收到SSL VPN服务器返回的通道响应报文时,说明当前探测的UDP通道不可用。
[0066] 客户端设备重新生成新的源端口号2000,从端口号列表中选择第2个目的端口号 5000,根据源端口号2000和目的端口号5000向SSL VPN服务器发送通道探测报文,并设置 报文响应时长为5秒。当客户端设备在5秒钟内接收到SSL VPN服务器返回的通道响应报 文时,说明当前探测的UDP通道可用,进而通过该UDP通道传输SSL VPN业务报文。
[0067] 可见,本申请通过在客户端设备中预设多个目的端口号,并依次对不同目的端口 号对应的UDP通道进行通道探测,以提高发现可用UDP通道的概率,保证相关业务的顺利传 输。
[0068] 与前述UDP通道探测方法的实施例相对应,本申请还提供了 UDP通道探测装置的 实施例。
[0069] 本申请UDP通道探测装置的实施例可以应用在客户端设备或服务器上。装置实施 例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为 一个逻辑意义上的装置,是通过其所在设备的处理器运行存储器中对应的计算机程序指令 形成的。从硬件层面而言,如图3所示,为本申请UDP通道探测装置所在设备的一种硬件结 构图,除了图3所示的处理器、网络接口、以及存储器之外,实施例中装置所在的设备通常 根据该设备的实际功能,还可以包括其他硬件,对此不再赘述。
[0070] 请参考图4,为本申请一个实施例中的UDP通道探测装置的结构示意图。该UDP通 道探测装置包括选择单元401、发送单元402、判断单元403以及确认单元404,其中:
[0071] 选择单元401,用于从端口号列表中选择一个目的端口号;
[0072] 发送单元402,用于根据所述目的端口号向服务器发送通道探测报文;
[0073] 判断单元403,用于判断在预设的报文响应时长内是否接收到所述服务器根据所 述通道探测报文回应的通道响应报文;
[0074] 确认单元404,用于当在预设的报文响应时长内未接收到所述服务器根据所述通 道探测报文回应的通道响应报文时,确认所述端口号列表中是否存在未选择过的目的端口 号;
[0075] 所述选择单元401,还用于当所述端口号列表中存在未选择过的目的端口号时,从 所述未选择过的目的端口号中选择一个目的端口号,返回所述发送单元402。
[0076] 进一步地,所述UDP通道探测装置还包括:
[0077] 确定单元,用于当所述端口号列表中不存在未选择过的目的端口号时,确认UDP 通道探测失败。
[0078] 进一步地,所述UDP通道探测装置还包括:
[0079] 确定单元,用于当在预设的报文响应时长内接收到所述服务器根据所述通道探测 报文回应的通道响应报文时,确认UDP通道探测成功。
[0080] 进一步地,所述UDP通道探测装置还包括:
[0081] 处理单元,用于在所述确定单元确认UDP通道探测成功之后,从所述通道响应报 文中获取所述服务器根据会话标识确定的通道状态,所述会话标识携带在所述客户端设备 发送的通道探测报文中;当所述通道状态为通道正常时,通过探测成功的UDP通道传输业 务报文;当所述通道状态为通道异常时,断开所述探测成功的UDP通道。
[0082] 进一步地,
[0083] 所述发送单元402,具体用于获取新的源端口号;根据所述新的源端口号和选定 的目的端口号向所述服务器发送通道探测报文。
[0084] 请参考图5,为本申请一个实施例中的UDP通道探测装置的结构示意图。该UDP通 道探测装置包括接收单元501、确定单元502以及发送单元503,其中:
[0085] 接收单元501,用于接收客户端设备发送的通道探测报文,所述通道探测报文中携 带会话标识;
[0086] 确定单元502,用于根据所述会话标识确定通道状态;
[0087] 发送单元503,用于向所述客户端设备发送通道响应报文,所述通道响应报文中携 带所述通道状态,以使所述客户端设备根据所述通道状态进行业务处理。
[0088] 进一步地,
[0089] 所述确定单元502,具体用于判断本地是否存在所述会话标识;当本地存在所述 会话标识时,确定所述通道状态为通道正常;当本地不存在所述会话标识时,确定所述通道 状态为通道异常。
[0090] 上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的 实现过程,在此不再赘述。
[0091] 对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实 施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件 说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以 不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的 需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付 出创造性劳动的情况下,即可以理解并实施。
[0092] 以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精 神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
【主权项】
1. 一种UDP通道探测方法,应用于客户端设备上,其特征在于,该方法包括: 从端口号列表中选择一个目的端口号; 执行如下UDP通道探测操作: 根据所述目的端口号向服务器发送通道探测报文; 判断在预设的报文响应时长内是否接收到所述服务器根据所述通道探测报文回应的 通道响应报文; 当在预设的报文响应时长内未接收到所述服务器根据所述通道探测报文回应的通道 响应报文时,确认所述端口号列表中是否存在未选择过的目的端口号; 当所述端口号列表中存在未选择过的目的端口号时,从所述未选择过的目的端口号中 选择一个目的端口号,返回所述执行UDP通道探测操作。2. 如权利要求1所述的方法,其特征在于,所述方法还包括: 当所述端口号列表中不存在未选择过的目的端口号时,确认UDP通道探测失败。3. 如权利要求1所述的方法,其特征在于,所述方法还包括: 当在预设的报文响应时长内接收到所述服务器根据所述通道探测报文回应的通道响 应报文时,确认UDP通道探测成功。4. 如权利要求3所述的方法,其特征在于,所述确认UDP通道探测成功之后,还包括: 从所述通道响应报文中获取所述服务器根据会话标识确定的通道状态,所述会话标识 携带在所述客户端设备发送的通道探测报文中; 当所述通道状态为通道正常时,通过探测成功的UDP通道传输业务报文; 当所述通道状态为通道异常时,断开所述探测成功的UDP通道。5. 如权利要求1至4任一所述的方法,其特征在于,所述根据所述目的端口号向服务器 发送通道探测报文,包括: 获取新的源端口号; 根据所述新的源端口号和选定的目的端口号向所述服务器发送通道探测报文。6. -种UDP通道探测方法,应用于服务器上,其特征在于,该方法包括: 接收客户端设备发送的通道探测报文,所述通道探测报文中携带会话标识; 根据所述会话标识确定通道状态; 向所述客户端设备发送通道响应报文,所述通道响应报文中携带所述通道状态,以使 所述客户端设备根据所述通道状态进行业务处理。7. 如权利要求6所述的方法,其特征在于,所述根据所述会话标识确定通道状态,包 括: 判断本地是否存在所述会话标识; 当本地存在所述会话标识时,确定所述通道状态为通道正常; 当本地不存在所述会话标识时,确定所述通道状态为通道异常。8. -种UDP通道探测装置,应用于客户端设备上,其特征在于,该装置包括: 选择单元,用于从端口号列表中选择一个目的端口号; 发送单元,用于根据所述目的端口号向服务器发送通道探测报文; 判断单元,用于判断在预设的报文响应时长内是否接收到所述服务器根据所述通道探 测报文回应的通道响应报文; 确认单元,用于当在预设的报文响应时长内未接收到所述服务器根据所述通道探测报 文回应的通道响应报文时,确认所述端口号列表中是否存在未选择过的目的端口号; 所述选择单元,还用于当所述端口号列表中存在未选择过的目的端口号时,从所述未 选择过的目的端口号中选择一个目的端口号,返回所述发送单元。9. 如权利要求8所述的装置,其特征在于,所述装置还包括: 确定单元,用于当所述端口号列表中不存在未选择过的目的端口号时,确认UDP通道 探测失败。10. 如权利要求8所述的装置,其特征在于,所述装置还包括: 确定单元,用于当在预设的报文响应时长内接收到所述服务器根据所述通道探测报文 回应的通道响应报文时,确认UDP通道探测成功。11. 如权利要求10所述的装置,其特征在于,所述装置还包括: 处理单元,用于在所述确定单元确认UDP通道探测成功之后,从所述通道响应报文中 获取所述服务器根据会话标识确定的通道状态,所述会话标识携带在所述客户端设备发送 的通道探测报文中;当所述通道状态为通道正常时,通过探测成功的UDP通道传输业务报 文;当所述通道状态为通道异常时,断开所述探测成功的UDP通道。12. 如权利要求8至11任一所述的装置,其特征在于: 所述发送单元,具体用于获取新的源端口号;根据所述新的源端口号和选定的目的端 口号向所述服务器发送通道探测报文。13. -种UDP通道探测装置,应用于服务器上,其特征在于,该装置包括: 接收单元,用于接收客户端设备发送的通道探测报文,所述通道探测报文中携带会话 标识; 确定单元,用于根据所述会话标识确定通道状态; 发送单元,用于向所述客户端设备发送通道响应报文,所述通道响应报文中携带所述 通道状态,以使所述客户端设备根据所述通道状态进行业务处理。14. 如权利要求13所述的装置,其特征在于: 所述确定单元,具体用于判断本地是否存在所述会话标识;当本地存在所述会话标识 时,确定所述通道状态为通道正常;当本地不存在所述会话标识时,确定所述通道状态为通 道异常。
【文档编号】H04L29/06GK105991370SQ201510140380
【公开日】2016年10月5日
【申请日】2015年3月27日
【发明人】康智勇
【申请人】杭州迪普科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1