一种判断网络节点之间能否建立网络连接的方法和系统转让专利
申请号 : CN202110658340.3
文献号 : CN113114541B
文献日 : 2021-09-14
发明人 : 卢国鸣
申请人 : 上海兴容信息技术有限公司
摘要 :
权利要求 :
1.一种判断网络节点之间能否建立网络连接的方法,所述方法包括:获取多个网络节点的节点数据以及所述多个网络节点之间的可能连接关系;其中,所述节点数据包括设备信息、IP地址信息和网络端口信息,所述可能连接关系包括待预测连接、已知连接和随机赋予连接;
利用判断模型对所述多个网络节点的节点数据以及所述多个网络节点之间的可能连接关系进行处理;所述处理包括:根据所述节点数据确定端口分配规律和IP地址是否受限,以及根据所述可能连接关系预测分配给所述多个网络节点的端口,基于所述端口确定预测连接类型并输出;其中,所述判断模型为图神经网络模型,以所述多个网络节点为图的顶点,以所述多个网络节点之间的可能连接关系作为所述图的边;其中,所述顶点的特征包括节点数据;
所述边的特征包括连接类型、连接的两个网络节点的网络端口和连接的两个网络节点的IP地址;
基于所述判断模型输出的预测连接类型,确定是否能在所述多个网络节点之间建立网络连接;
其中,所述判断模型通过以下方式训练得到:获取多个携带有标签的训练样本;其中,所述训练样本包括样本网络节点的样本节点数据和所述样本网络节点之间的样本可能连接关系,所述标签用于表征是否能在所述样本网络节点之间建立连接关系;
使用多个训练样本对初始判断模型进行训练,得到训练好的判断模型。
2.根据权利要求1所述的方法,所述节点数据通过设置和/或监测获取。
3.一种判断网络节点之间能否建立网络连接的系统,所述系统包括:获取模块,用于获取多个网络节点的节点数据以及所述多个网络节点之间的可能连接关系;其中,所述节点数据包括设备信息、IP地址信息和网络端口信息,所述可能连接关系包括待预测连接、已知连接和随机赋予连接;
处理模块,用于利用判断模型对多个网络节点的节点数据以及所述多个网络节点之间的可能连接关系进行处理;所述处理包括:根据所述节点数据确定端口分配规律和IP地址是否受限,以及根据所述可能连接关系预测分配给所述多个网络节点的端口,基于所述端口确定预测连接类型并输出;其中,所述判断模型为图神经网络模型,以所述多个网络节点为图的顶点,以所述多个网络节点之间的可能连接关系作为所述图的边;其中,所述顶点的特征包括节点数据;所述边的特征包括连接类型、连接的两个网络节点的网络端口和连接的两个网络节点的IP地址;
确定模块,用于基于所述判断模型输出的预测连接类型,确定是否能在所述多个网络节点之间建立网络连接;
训练模块,用于通过以下方式训练得到所述判断模型:获取多个携带有标签的训练样本;其中,所述训练样本包括样本网络节点的样本节点数据和所述样本网络节点之间的样本可能连接关系,所述标签用于表征是否能在所述样本网络节点之间建立连接关系;
使用多个训练样本对初始判断模型进行训练,得到训练好的判断模型。
4.根据权利要求3所述的系统,所述节点数据通过设置和/或监测获取。
5.一种判断网络节点之间能否建立网络连接的装置,包括处理器,所述处理器用于执行权利要求1 2中任一项所述的判断网络节点之间能否建立网络连接的方法。
~
6.一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机执行如权利要求1 2中任一项所述的判断网络节点之间能否建~
立网络连接的方法。
说明书 :
一种判断网络节点之间能否建立网络连接的方法和系统
技术领域
背景技术
中,由于各个设备所处的网络环境不同,在建立点对点网络连接时存在一些不便。
发明内容
节点的节点数据以及所述多个网络节点之间的可能连接关系。可以利用判断模型对多个网
络节点的节点数据以及所述多个网络节点之间的可能连接关系进行处理。其中,所述判断
模型为图神经网络模型,以所述多个网络节点为图的顶点,以所述多个网络节点之间的可
能连接关系作为所述图的边。其中,所述顶点的特征包括节点数据,所述节点数据包括设备
信息、IP地址信息和网络端口信息;所述边的特征包括连接类型、连接两个网络节点的网络
端口和连接两个网络节点的IP地址。可以基于所述判断模型输出的预测连接类型,确定是
否能在所述多个网络节点之间建立网络连接。其中,所述判断模型通过以下方式训练得到:
获取多个携带有标签的训练样本;使用所述多个训练样本对初始判断模型进行训练,得到
训练好的判断模型。其中,所述训练样本包括样本网络节点的样本节点数据和所述样本网
络节点之间的样本可能连接关系,所述标签用于表征是否能在所述样本网络节点之间建立
连接关系;所述标签通过发送数据包的方式确定。
点数据以及所述多个网络节点之间的可能连接关系;处理模块,用于利用判断模型对多个
网络节点的节点数据以及所述多个网络节点之间的可能连接关系进行处理;确定模块,用
于基于所述判断模型输出的预测连接类型,确定是否能在所述多个网络节点之间建立网络
连接;以及训练模块,用于通过以下方式训练得到所述判断模型:获取多个携带有标签的训
练样本;使用所述多个训练样本对初始判断模型进行训练,得到训练好的判断模型。其中,
所述判断模型为图神经网络模型,以所述多个网络节点为图的顶点,以所述多个网络节点
之间的可能连接关系作为所述图的边。所述顶点的特征包括节点数据,所述节点数据包括
设备信息、IP地址信息和网络端口信息;所述边的特征包括连接类型、连接两个网络节点的
网络端口和连接两个网络节点的IP地址。所述训练样本包括样本网络节点的样本节点数据
和所述样本网络节点之间的样本可能连接关系,所述标签用于表征是否能在所述样本网络
节点之间建立连接关系;所述标签通过发送数据包的方式确定。
网络连接的方法。
附图说明
中:
具体实施方式
施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附
图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标
号代表相同结构或操作。
则可通过其他表达来替换所述词语。
示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者
设备也可能包含其它的步骤或元素。
处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数
步操作。
网IP。NAT可以同时让多个计算机同时联网,并隐藏其内网IP,增加了内网的网络安全性;
NAT还可以对来自外部的数据查看其NAT映射记录,对没有相应记录的数据包进行拒绝,提
高网络安全性。
换,并不涉及端口的转换。端口多路复用技术不仅会对IP地址进行转换,还会对传输层的端
口进行转换,其表现为所有的IP主机对外只有一个公网IP,通过端口来区分不同的IP主机。
(外部发向内部)对应一个端口,只要源IP端口不变,无论发往的目的IP是否相同,在NAT上
都映射为同一个端口。
发送数据,即能建立网络连接。
接,因为IP受到了限制,但是端口可以随意选择。
地址为A且端口为P1)之后,外部主机才能以公网IP中的信息(即,IP地址为A,端口为P1)作
为目标地址和目标端口,向内部主机发送报文。外部主机使用IP地址为A,端口为P2,或者IP
地址为B,端口为P1都将通信失败,无法建立网络连接。
话,NAT将为之分配一个新的外部(公网)IP。并且,只有曾经收到过内部主机请求的外部主
机才能向内部主机发送数据包。内部主机用同一IP与同一端口与外部多IP主机通信。例如,
客户端想和服务器A建立网络连接,通过NAT将客户端的IP映射为IPA来进行的,而客户端和
服务器B建立连接,是通过NAT将客户端的IP映射为IPB来进行的。即同一个客户端和不同的
目标IP主机通信,经过NAT映射后的公网IP是不同的。此时,如果服务器B想要和客户端通
信,也只能通过IPB来进行,而不能通过IPA来实现。
网络节点之间发送特殊的数据包,能发送成功即能建立相应的网络连接,但这种方式效率
较低,花费时间较长,难以高效批量的判断在多个网络节点之间是否能建立网络连接。因
此,本说明书实施例提出一种判断网络节点之间能否建立网络连接的方法和系统,以更好
的判断是否能在网络节点之间建立网络连接。以下通过对附图的描述详细阐述本说明书所
披露的技术方案。
客户端之间建立网络连接的场景、提供互联网服务的线上服务平台等。提互联网服务的线
上服务平台可以是提供诸如网络诊断、网络稳定分析、网络数据传输、网络数据存储等服务
的线上平台。
及多个网络节点之间的可能连接关系进行处理并输出处理结果;第一计算系统130可以基
于判断模型的输出,确定是否能在多个网络节点之间建立网络连接。
据,例如,在第一节点170‑1和第二节点170‑2之间发送音视频数据、信息、数据包等。在一些
实施例中,公共网络110可以是有线网络或无线网络等或其任意组合。仅作为示例,公共网
络110可以包括电缆网络、有线网络、光纤网络、电信网络、内部网络、互联网、局域网络
(LAN)、广域网络(WAN)、无线局域网络(WLAN)、城域网(MAN)、公共交换电话网络(PSTN)、蓝
牙网络、紫蜂网络、近场通讯(NFC)网络、全球移动通讯系统(GSM)网络、码分多址(CDMA)网
络、时分多址(TDMA)网络、通用分组无线服务(GPRS)网络、增强数据速率GSM演进(EDGE)网
络、宽带码分多址接入(WCDMA)网络、高速下行分组接入(HSDPA)网络、长期演进(LTE)网络、
用户数据报协议(UDP)网络、传输控制协议/互联网协议(TCP/IP)网络、短讯息服务(SMS)网
络、无线应用协议(WAP)网络、超宽带(UWB)网络、红外线等或其任意组合。场景100的一个或
以上组件可以连接到公共网络110以交换数据和/或信息。
务器和/或其他网络设备的至少一种或其组合。在一些实施例中,工作站可以包括基于RISC
架构的UNIX系统工作站、基于Windows和Intel的PC工作站。在一些实施例中,网络设备可以
包括计算机、集线器、交换机、网桥、路由器、网关、网络接口卡(NIC)、无线接入点(WAP)、打
印机和调制解调器、光纤收发器、光缆等。在一些实施例中,个人计算机可以包括台式机、笔
记本电脑、平板电脑等。
和/或其他网络设备的至少一种或其组合。
也可以是由多台计算机以各种结构连接组成的计算平台。
unit,CPU)、图形处理器(Graphics Processing Unit,GPU)、微处理器、特殊应用集成电路
(application specific integrated circuit,ASIC)或其他类型的集成电路。
读存储器(ROM)等或其任意组合。
或多种。终端可以包括各类具有信息接收和/或发送功能的设备,如计算机、手机、文字扫描
设备、显示设备、打印机等。
各种常见的方式进入第二计算系统160。
IP地址信息和网络端口信息。在一些实施例中,节点数据120可以通过各种常见的方式进入
第一计算系统130。
是相同的。第一计算系统130可以基于模型132,生成判断结果140,判断结果140可以是模型
132对节点数据120的判断结果。在一些实施例中,模型132为判断模型,判断结果140可以是
判断两个网络节点是否能建立网络连接的结果。例如,对能否在第一节点170‑1和第二节点
170‑2之间建立网络连接的判断结果。
也可以是可以动态调整的。一些参数可以通过训练的方法获得,一些参数可以在执行的过
程中获得。关于本说明书中涉及模型的具体说明,可参见本说明书的相关部分。
根据本说明书中的描述,做出多种修改或变化。例如,判断网络节点之间能否建立网络连接
的系统还可以包括存储设备。又例如,判断网络节点之间能否建立网络连接的系统可以在
其他设备上实现类似或不同的功能。然而,这些变化和修改不会背离本申请的范围。
行。如图2所示,流程200包括以下步骤。
户端、服务器、打印机和其他网络连接的设备等。在一些实施例中,网络节点可以拥有自己
唯一的网络地址。
问层地址(MAC,Media Access Control)等。IP地址信息可以包括网络节点的私有IP地址或
经过NAT转换后对公IP地址。网络端口信息可以包括端口类型(比如,TCP端口、UDP端口、周
知端口、注册端口、动态端口等)、端口号等。TCP和UDP两个协议是独立的,因此其各自的端
口号也相互独立,比如TCP有235端口,UDP也可以有235端口。周知端口是众所周知的端口
号,端口号的范围可以是从0到1023;注册端口的端口号可以是从1024到49151,可以分配给
用户进程或应用程序、动态端口的端口号范围可以是是从49152到65535,并且不固定分配
某种服务,而是动态分配。
息获取得到设备信息、IP地址信息和网络端口信息。在一些实施例中,处理设备可以通过设
置和/或监测的方式获取得到节点数据,例如,部分数据通过设置获取,部分数据通过监测
获取。设置可以包括手动输入或对参数进行调整(例如,参数重置、更新等),监测则可以是
指通过设置监控器收集节点的各类数据。
如,局域网、互联网、专线网络连接等。待预测连接是指预测的两个网络节点之间是否有直
接通过某些网络进行连接。例如,两个网络节点之间可能有直接通过局域网连接,也可能没
有网络连接,也有可能通过路由器等间接连接,比如,A、B两个节点,C、D两个路由器,A节点
连接至C路由器,C路由器连接至D路由器,D路由器再连接至B节点,A、B节点通过路由器实现
的间接连接。已知连接可以是指已知两个节点之间的网络连接,例如,已知两个节点是通过
局域网、互联网,专有网络进行的连接。随机赋予就是在两个网络节点之间赋予一种或多种
网络连接,例如,赋予两个网络节点之间局域网连接,或局域网+互联网连接等,而在这两个
网络节点之间,可能是没有网络连接的,也可能是有网络连接的,随机赋予的网络连接可以
与节点间实际的网络连接相同或不同,本实施例对此不作限定。
络节点之间的可能连接关系进行处理。例如,可以对输入的数据进行向量转换,将输入的数
据通过one‑hot、word2vec、embedding等方式将节点数据和可能连接关系转换成便于模型
处理的特征向量,以进一步地根据特征向量对在两个网络节点之间是否能建立网络连接做
出预测。
一个网格,例如,社交网络、知识图谱、复杂的文件系统、网络节点的分布与连接等,这些都
是非结构化的数据。这类非结构化的数据非常复杂,非结构化的数据一般以图(包括顶点和
连接顶点的边)的形式存在,在处理时有着一系列的难点,例如,图的大小是任意的,图的拓
扑结构复杂,没有像图像一样的空间局部性;图没有固定的节点顺序,或者说没有一个参考
节点;图经常是动态图,而且包含多模态的特征。图神经网络模型在网络数据分析、推荐系
统、物理建模、图数据处理上有着优秀的处理能力,对于非结构化数据,图神经网络模型也
有着优秀的处理能力,因此,在本说明书实施例中,判断模型可以是图神经网络模型,使用
图神经网络模型对节点数据和节点间的可能连接关系进行处理,可以更加准确的对两个网
络节点之间是否能建立网络连接做出预测。
包括可连接、不可连接以及未知连接;连接的两个网络节点的网络端口包括端口号、端口类
型(例如,周知端口、动态端口、注册端口等);连接的两个网络节点的IP地址包括IP地址号、
IP地址是否受限制等。
络节点之间是否能够建立网络连接与网络节点的IP地址是否受限、是否有可用端口、端口
类型等有关。
所述多个网络节点的节点数据以及多个网络节点之间的可能连接关系进行处理,得到节点
数据和可能连接关系的嵌入表示。例如,可以使用嵌入层对判断模型对多个网络节点的节
点数据以及多个网络节点之间的可能连接关系进行处理得到特征向量做进一步地处理,例
如,对特征向量做embedding,得到特征向量的向量表示。
一些实施例中,判断模型可以根据节点数据的IP地址信息和端口信息,以及各个节点之间
的连接关系来找出各个网络节点对于端口分配的规律以及IP地址是否受到限制,例如,A节
点端口号的范围从0到1023,B节点端口号的范围从0到1023,判断模型可以根据输入的节点
数据找出端口分配规律和IP地址是否受到限制,以及根据两个节点之间的连接关系来对预
测两边节点将要分配的端口(例如,还有哪些端口号对应的端口是可以使用的),并根据预
测的端口来预测边的类型(也就是在两个网络节点之间建立网络连接是为可连接、不可连
接还是未知连接),即可达到预测是否能建立网络连接的目的,提高建立网络连接的效率。
定是否能建立网络连接。
0‑1023的端口号,判断模型预测端口号为55、88、150的端口可以用于建立网络连接,网络节
点B有0‑1023的端口,判断模型预测端口号为66、52、69的端口可以与网络节点A建立网络连
接。则可以选择这几个端口号对应的端口来建立网络连接。选择方式可以是自动选择,也可
以是手动选择,本实施例对此不作限定。
构化的数据,从而得到更加准确的预测结果。在图神经网络模型中,以节点数据为例,在模
型的第0层,即输入层,可以为每个节点根据其节点数据构建初始向量(例如,embedding);
在模型的第1层,可以对每个节点的embedding可以接收其邻居节点的embedding,例如,节
点B的embedding可以接收来自其邻居节点A、C的embedding传播;节点C的embedding可以接
收来自其邻居节点A、B、C、D的embedding传播;在模型的第2层,邻居节点A又可以接收来自
其的邻居节点B、C、D的embedding传播。可以理解的是,在获取embedding的过程中,还可以
获取到连接节点的边的特征。通过传播embedding,各个节点不仅可以获取到相邻节点和边
的特征,还可以获取到多层邻居节点和边的特征,进而根据获取得到的特征,对两个网络节
点之间是否能建立连接做出准确的预测。
的机器学习模型会造成模型参数量过多、对训练数据量要求大、容易出现过拟合等问题。在
本说明书的一些实施例中,采用了自定义模型的方式,通过图神经网络多个网络节点的节
点数据进行综合,并对特征数据利用嵌入层进行处理得到嵌入表示,进而通过特征进行判
断。相对于应用各类标准的机器学习模型的方式,本说明书中提供的方案能够更好地适应
所使用信息的特点和所要解决的问题,避免了模型参数过多从而运行效率低、训练数据需
求过大或者过拟合的问题。
效果。
正和改变。然而,这些修正和改变仍在本说明书的范围之内。
点之间建立网络连接。
节点的邻居节点的特征来生成节点的特征向量。即,卷积层可以提取输入的节点数据和可
能连接关系的特征。
之间建立网络连接做出预测。
型。在一些实施例中,输出层还可以输出预测的预测端口信息。
型做出预测,以及减少数据量,提高模型的处理速度。
间已知的可能连接关系。
接;若不能发送成功则生成标签0,表示不能在该两个网络节点之间建立网络连接;若数据
包发送不顺畅,有时能成功,有时不能成功,则可以生成标签2,表示能不能在该两个网络节
点之间建立网络连接未知。
数,或模型预测的精度达到预设目标时,完成对模型的训练。
数据可以包括设备信息、IP地址信息和网络端口信息。可能连接关系是指网络节点之间可
能存在的网络连接。可能连接关系包括待预测连接、已知连接和随机赋予连接。
括所述节点数据,所述边的特征包括连接类型、连接两个网络节点的网络端口和连接两个
网络节点的IP地址。
连接关系。所述标签通过发送数据包的方式确定。可以使用所述多个训练样本对初始判断
模型进行训练,得到训练好的判断模型
利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处
理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算
机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD‑ROM的载
体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载
体上提供了这样的代码。本说明书的系统及其模块不仅可以有诸如超大规模集成电路或门
阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等
的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实
现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系
统与其他模块连接。在一些实施例中,图5中披露的获取模块510、处理模块520可以是一个
系统中的不同模块,也可以是一个模块实现上述的两个或两个以上模块的功能。例如,各个
模块可以共用一个存储模块,各个模块也可以分别具有各自的存储模块。诸如此类的变形,
均在本说明书的保护范围之内。
模型的方式,通过图神经网络多个网络节点的节点数据进行综合,可以更好地适应所使用
信息的特点和所要解决的问题,可以获得更加准确的预测结果;(3)在一些实施例中,采用
自定义的模型结构,能够更好地适应所使用信息的特点和所要解决的问题,避免了模型参
数过多从而运行效率低、训练数据需求过大或者过拟合的问题。
果。
会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所
以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一
个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个
实施例中的某些特征、结构或特点可以进行适当的组合。
过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说
明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本
说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过
硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设
备上安装所描述的系统。
图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要
求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例
中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点
可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的
方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体
实施例中,此类数值的设定在可行范围内尽可能精确。
不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当
前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、
定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、
定义和/或术语的使用为准。
配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介
绍和描述的实施例。