本地端口管理方法和设备、面向分组的数据网络、数字存储介质以及计算机程序产品的制作方法

xiaoxiao2020-9-10  5

本地端口管理方法和设备、面向分组的数据网络、数字存储介质以及计算机程序产品的制作方法
【专利摘要】提出了用于管理面向分组的数据网络中的本地端口的方法,其中分组被分配给所选本地端口,并且基于对网络上的传输的观察来控制本地端口的分配。本发明还涉及本地端口管理设备、面向分组的数据网络、数字存储介质以及计算机程序产品。
【专利说明】本地端口管理方法和设备、面向分组的数据网络、数字存储 介质以及计算机程序产品
[0001] 本发明涉及根据权利要求1的前序部分的在面向分组的数据网络中管理本地端 口的方法。本发明还涉及相关本地端口管理设备、相关面向分组的数据网络、相关数字存储 介质以及相关计算机程序产品。
[0002] 在实时通信中最小的延迟和流畅的数据传输是关键因素。延迟和通信功率在其中 开放端口被加载不想要的网络业务(traffic)的情况下不期望地增加。不想要的数据分组 可错误地或由于故意攻击而被发送。基于远程IP地址和远程端口的业务过滤并非在所有 情况下都是可能的。
[0003] 先前,在不考虑动态方面的情况下从预定义池(pool)分配本地端口。在数据接收 之后进行针对合理数据的过滤。其基于关于伙伴(partner)的某些知识,S卩,例如IP地址、 端口、SSRC (会话SouRCe或同步SouRCe)标识符等。此外,分组过滤总是与某些性能损耗 以及与想要和不想要的数据之间的不正确判定的一定风险相关。
[0004] 已知出现的另一问题是在不正确地关闭会话之后有效载荷(playload)可能空悬 (hanging)。此类空悬有效载荷也可引起不期望的分组泛洪(flooding)。在下文中,分组泛 洪可用作任何不想要的数据业务的同义词。
[0005] 因此,本发明的目的是缓解如上所述的在常规技术中发现的问题。特定目的是提 供允许即使在已发生由故意或非故意分组泛洪引起的干扰的情况下也能可靠地使用本地 端口的方法、设备和网络、数据存储介质和计算机程序产品。其他目的是降低接收到不想要 的数据的概率、使媒体传输的干扰风险最小化、避免使用受到不想要的业务的威胁的端口 以及使实时通信中的延迟最小化。
[0006] 上述目的的至少部分通过如随附独立权利要求限定的本发明的特征来解决。本发 明的其他展开和有利实施例在从属权利要求中被阐述。
[0007] 本发明是基于根据对网络上的传输的观察来控制本地端口分配这一思想。由此, 能使用于在其中向所选本地端口分配分组的面向分组的数据网络中管理本地端口的方法 在能够避免或至少减小分组泛洪的意义上是自适应的(adaptive)。
[0008] 在本发明的优选实施例中,使在被使用之后的本地端口或已被检测到被不想要的 数据分组作为目标的本地端口对于选择和分配而言是不利的。这可通过针对选择和分配而 忽视此类端口以使得它们根本不被使用(即,如果资源池足够大)或只有当不存在更好选择 时才被使用来实现。在后一情况下,可持续地或在预定时间段内或者在检测到不想要的数 据分组被寻址到不利的本地端口情况下针对选择和分配忽视所述不利的本地端口。通过上 述选项中的任一个,接收到不想要的数据的概率相应地降低。
[0009] 在优选的又一展开中,定义包括用于选择和分配的本地端口的队列,所述本地端 口被从所述队列自上而下选择和分配,其中所述不利的本地端口被放入所述队列的底端。 这意味着创建用于选择和分配端口的预定或适应性地定义的顺序。该顺序可被用于通过简 单地定义端口在队列内的位置来使所述端口处于优选或使其处于不利。因此,将不利的本 地端口放入所述队列的底端使得所述端口不太可能接收到不想要的分组。在该语境中,队 列的顶部意指首先要选择的位置。
[0010] 备选地,可通过对端口设置标记从而促使该端口针对选择和分配被搁置来实现使 端口不利。这意味着该端口实际上被从队列带出。可使用不同种类的标记,取决于是由于 会话在端口上已结束或端口被不想要的业务作为目标而使该端口不利。
[0011] 为了使曾经受不期望业务影响的端口有可能能够在一定时间量之后再次被使用, 允许所述不利的本地端口经过一定的时间漫游通过所述队列到所述队列的顶部。每次端口 到达队列的顶端时,假定不想要的分组已变得不太可能仍被寻址到该端口,使得降低了再 次地经由该端口接收不想要的分组的风险。
[0012] 可发生的是,在队列中间的本地端口由于偏好或猜测或偶然性而被不想要的分组 直接地寻址。如果检测到此类尝试,可将该本地端口移位至所述队列的所述底端,以便降低 该端口实际上被激活并接收此类不想要的分组的可能性。在此环境中,曾经被检测到被不 想要的数据分组寻址的本地端口可被区分优先次序以便针对不想要的数据分组进行监视, 使得能够实现对曾经受影响的端口的偏离(biasing)。由于被不想要的数据寻址的概率通 常在一定时间之后下降,所以经过一定时间可减轻所述区分优先次序,从而允许在攻击已 减少的情况下自动地将此类偏离撤走。
[0013] 本发明还针对被设计成并适合于执行上述方法的本地端口管理设备。因此,可创 建自适应性本地端口管理器。
[0014] 根据本发明的另一方面,提出包括此类本地端口管理设备的面向分组的数据网 络。由此,能使网络中的业务更快并使得连接更可靠。
[0015] 其他方面还涉及具有电可读控制信号的数字存储介质,其能够用可编程计算机系 统进行操作以便管理面向分组的数据网络中的本地端口,所述控制信号被设计成并适合于 促使所述计算机系统执行上述方法,并涉及包括存储在机器可读载体上的程序代码的计算 机程序产品,用于管理面向分组的数据网络中的本地端口,所述程序代码被设计成并适合 于在计算机程序产品在计算机上运行的情况下执行上述方法。
[0016] 通过研究本发明的优选实施例的以下描述和附图,本发明的上述及其他特征、目 的、优点和细节对本领域的技术人员而言将变得更加明白。其中,所述或所示的任何实施例 的任何特征、目的、优点或细节将适用于任何其他实施例并且反之亦然,除非另外明确地描 述或者由于技术或物理原因而明显不可能。可将实施例相互组合,并且还可将任何组合理 解为本发明的实施例。
[0017] 下面,将借助于目前优选实施例并且在考虑附图的情况下描述本发明。在附图中, 图1是根据本发明的网络的示意图; 图2是被RTP流寻址的本地端口队列的情况的示意图; 图3是被另一 RTP流寻址的本地端口队列的情况的示意图; 图4是被分组洪流(flood)寻址的本地端口队列的情况的示意图;以及 图5是被又一 RTP流寻址的本地端口队列的情况的示意图。
[0018] 将注意的是,附图是绝对示意性的且不需要按比例。应将任何用图形表示的例示 和描述理解成是示例性的,并且意图例示本发明的原理而不是对其进行限制。
[0019] 下面作为本发明的优选实施例对管理本地端口的方法进行描述。
[0020] 图1示意性地例示根据本发明的网络100。网络100适合于传输面向分组的数据, 并且因此在本发明的意义上是面向分组的数据网络。然而,不排除网络100或其部分也能 够传输非分组数据。
[0021] 在所示情况中,外部实例(instance) 102尝试经由作为网络100的一部分的广域 网104来将数据流106寻址到也是网络100的一部分的局域网108的实例。在这里,广域网 104在不限制一般性的情况下是因特网。局域网108通过也充当开关的路由器110连接到 广域网104。可在服务器中或者作为独立设备来实现路由器110。路由器110适合于将数 据流路由并切换至局域网108的本地实例,所述本地实例被举例为工作站112、IP电话114 以及打印机116,其可但不需要也包括传真机、扫描仪和/或复印机的功能。将注意的是,所 描绘的本地实例112、114、116代表可与LAN 108连接的相同或另一种的预备(deliberate) 数目的实例。
[0022] 每个本地实例可被由路由器110定义和管理的一个或多个本地端口寻址。将注意 的是,本地端口的管理可分布在LAN 108中,或者可在位于LAN 108中的某个地方的诸如专 用服务器、又一开关等之类的另一设备中实现,或者任何本地设备112、114、116可具有管 理其自己的本地端口的能力。在本文中,在不失一般性的情况下,应假定路由器110管理 LAN 108的本地端口列表,如下面将更详细地描述的。
[0023] 图2示意性地描述其中RTP流210被指引到LAN 108的情况。由路由器110实现 的本地端口管理器(参见图1)通过管理包括UDP端口 #29100、#29102、......、#29900的本 地端口队列290来控制数据分组流到LAN的本地端口的分配。
[0024] 如在本领域中通常已知的,RTP代表实时传输协议,其是最初在RFC 1889中定义 且自2003年以来被RFC 3550取代的应用层上的因特网协议,而UDP代表用户数据报协议, 其为传输层上的因特网协议,在RFC 768中正式定义。根据定义,在偶数端口号上发起和接 收RTP数据分组,并且经由相应的下一更高的奇数端口号来传送关联RTP控制协议(RTCP) 数据。
[0025] 由于UDP端口 #29100是队列290中的最高未使用的本地端口,所以由端口管理器 为RTP流210分配UDP端口 #29100。在这里,"高"意指在队列290中按选择顺序的高位置, 其中,较小的端口 #号描述在该意义上的较高位置。
[0026] 图3示意性地描述其中另一 RTP流310被指引到端口管理器的情况。如在图3中 所示,UDP端口 #29100不再是开放的,这意味着RTP流210 (图2)已结束,并且已分配的会 话关闭。因此,UDP端口 #29100已被端口管理器立即标记为不利的本地端口,这意味着UDP 端口 #29100将不会被用于进一步调用,以便防止对可能仍在行进中的其余分组的接收。
[0027] UDP端口 #29102现在是队列290中的最高未使用的可选择本地端口,所以为RTP 流310分配和开放UDP端口 #29102。
[0028] 图4示意性地描述其中已被检测到是不想要的数据分组的RTP流被指引到用分组 洪流410符号化的端口管理器的情况。假定UDP端口 #29104可因为例如该端口先前被开 放用于非可疑数据通信并且仍是开放的而被分组洪流410寻址。(然而,还可设想不想要的 分组洪流被直接地寻址到目前关闭的本地端口,因为例如从先前的通信或由于其他原因已 知其标识符)。
[0029] 如在图4中所示,UDP端口 #29102不再是开放的,这意味着RTP流310 (图3)已 结束,并且已分配的会话结束。因此,UDP端口 #29102已被标记为不利的本地端口,这意味 着其不会被选择为用于分配。此外,m)P端口 #29100仍被标记为不利的本地端口。
[0030] 由于UDP端口 #29104目前未被阻挡,所以任何输入数据流将正常地被分配给 UDP端口 #29104。然而,由于分组洪流410被检测为是不想要的,所以当前经由UDP端口 #29104运行的任何会话将立即被端口管理器关闭,并且UDP端口 #29104被其标记为"脏的 (dirty)"。这意味着不仅将防止UDP端口 #29104接收可能仍在行进中以用于已关闭会话 的其余分组,而且再次地用不想要的数据分组来使UDP端口 #29104泛洪的任何尝试将找不 到目标,只要保持UDP端口 #29104被标记为"脏的"。
[0031] 图5示意性地描述其中又一 RTP流510被指引到端口管理器的情况。如图5中所 示,UDP端口 #29100和#29102仍被标记为不利的,并且UDP端口 #29104仍被标记为脏的。
[0032] 由于UDP端口 #29106现在是队列290中的最高未使用的可选择本地端口,所以为 RTP流510分配和开放UDP端口 #29106。
[0033] 即使在图中未示出,在预定时间段之后,或者在到达UDP端口 #29900之后,先前标 记的本地端口可被取消标记,使得其能够被再次选择和分配用于通信。
[0034] 应注意的是,虽然可能存在对刚刚已关闭其会话的端口而言处于不利的第一阶 段,但可将"脏的"标记理解为对于已经历某些分组泛洪的端口而言处于不利的另一阶段。 可不同地对待处于不利的两个阶段。例如,当将像在本示例中的UDP端口 #29104 -样被标 记为"脏的"的本地端口保持为被标记达比仅被标记为"不利的"的本地端口更长的时段可 能是有利的。
[0035] 在作为上述实施例的变型的优选实施例中,在队列290中动态地改变对端口的编 号。即,在上述示例中,在RTP流210 (图2)已结束之后,UDP端口 #29102、#29104、......、 #29900 被编号而变成 UDP 端口 #29100、#29102、......、#29898,并且被列为 UDP 端口 #29100 的端口被重新编号为UDP端口 #29900。同样地,如果任何UDP端口 #29xxx已经停止会 话,则 UDP 端口 #29xxx+2、#29xxx+4、......、#29900 被重新编号而变成 UDP 端口 #29xxx、 #29xxx+2、......、#29898,并且以前的UDP端口 #29xxx被重新编号为UDP端口 #29900。如 果UDP端口 #29XXX具有被检测到被寻址到那里的任何不想要的数据分组,则可执行相同的 编号。可将此类重新编号理解为不利的第一阶段。此外,在后一种情况下,可将"脏的"标 记分配给此类端口作为不利的第二阶段,从而命令端口管理器让此类端口在队列290的底 端,直至出现另一"脏的"端口,该另一"脏的"端口然后被分类为UDP端口 #29900,而仅因 为非可疑通信已结束而被禁用的端口被分类到队列290中,位于任何"脏的"端口前面的位 置处。将注意的是,无论是否已被标记为"脏的",如果不想要的数据分组再次地被检测到被 寻址到那里,则都可将端口分类到队列290的末端。
[0036] 在本实施例中,端口管理器为任何新的RTP流选择和分配最高的未使用端口。通 过如所述的将队列分类,具有被检测到被寻址到那里的最近不想要的业务的端口将始终是 最后的新近被选来用于分配的端口。
[0037] "脏的"标记还可命令端口管理器或通信管理器针对不想要的数据业务监视任何 这样标记的端口,其中所述端口具有比其他端口更高的优先级。
[0038] 只有在端口被再次选择和分配时,才可清除该端口的"脏的"标记。备选地,在预 定时间段之后可清除端口的"脏的"标记。
[0039] 在本发明的自适应性端口管理中,从队列的顶端获取端口以便建立新会话,并且 当会话被关闭时将该端口分类到队列的底端。到达关闭端口的分组由IP堆栈利用诸如"目 的地端口不可到达"之类的消息进行响应。通过某个钩子(hook)机制,还可将其告知监视 器。如果超过了预定限制(例如,在三个分组之后),相应端口再次地被移位至队列的末端, 并且程序再次开始。一旦再没有其他分组到达关闭端口,该端口就可经过一定的时间移位 到队列的顶端,并且再次地可用于会话。受干扰端口被重复地移位至队列的末端,并且最有 可能被拒绝使用。
[0040] 端口管理器不需要在关闭会话之后监视端口,因为其被IP堆栈主动地告知。业务 本身被端口管理器独立地检测。然而,可由网络入侵检测系统(例如,SNORT)来辅助端口管 理器。
[0041] 在本发明的意义上,可将对不想要的数据分组的监视和/或检测理解为对网络上 的传输的观察。路由器/开关110在本发明的意义上是本地端口管理设备,而在网络100 中的任何地方单独提供的任何其他设备、诸如LAN 108中的另一交换设备等在本发明的意 义上还可以是本地端口管理设备,并且网络100、广域网104和局域网108在本发明的意义 上是面向分组的数据网络。可由存储于在路由器110或为管理在网络110或其任何子网内 的本地端口而提供的任何其他设备中安装的存储器装置上的程序步骤来结合上述方法的 功能。还可在类似于磁带或盘、记忆棒、半导体存储器等的存储介质上在线或离线地提供此 类程序步骤。
[0042] 已通过上述实施例及其变型来示范和例示了本发明。然而,将注意的是,在不脱离 通过随附权利要求的最宽泛阐释所限定的本发明的范围的情况下可由本领域技术人员进 一步改变和开发那些实施例和变型。
[0043] 例如,虽然一旦被定义之后可保持端口编号,但可管理一组指针或占位符队列以 定义端口的选择顺序。
[0044] 尽管被示为和描述为星形布局,但LAN 108也可以是总线或环形布局,或者是混 合式形式。
[0045] 将注意的是,本发明不仅适用于从外部调用,而且还适用于来自LAN 108内部的 诸如由已渗透入LAN 108的特洛伊之类的分组泛洪攻击。
[0046] <附图标记和符号列表> 以下列表是本描述的组成部分。
[0047] 100 网络 102 外部实例 104 广域网 106 数据流 108 局域网 110 路由器/开关 112 工作站 114 IP电话 116 打印机 210 RTP 流 290 本地端口队列 310 RTP 流 410 分组洪流 510 RTP 流 UDP端口 #29100 本地端口 UDP端口 #29102 本地端口 UDP端口 #29104 本地端口 UDP端口 #29106 本地端口 UDP端口 #29108 本地端口 UDP端口 #29110 本地端口 UDP端口 #29900 本地端口
【权利要求】
1. 一种用于管理面向分组的数据网络中的本地端口的方法, 其中分组被分配给所选本地端口, 其特征在于, 基于对所述网络上的传输的观察来控制本地端口的分配。
2. 根据权利要求1所述的方法, 其特征在于, 使在被使用之后的本地端口或已被检测到被不想要的数据分组作为目标的本地端口 对于选择和分配而言是不利的。
3. 根据权利要求2所述的方法, 其特征在于, 针对选择和分配持续地忽视所述不利的本地端口。
4. 根据权利要求2所述的方法, 其特征在于, 在预定时间段内针对选择和分配忽视所述不利的本地端口。
5. 根据权利要求2所述的方法, 其特征在于, 只要不想要的数据分组被检测到被寻址到所述不利的本地端口,就针对选择和分配忽 视所述不利的本地端口。
6. 根据权利要求2至5中的任一项所述的方法, 其特征在于, 定义包括用于选择和分配的本地端口的队列,从所述队列自上而下地选择和分配所述 本地端口,其中将所述不利的本地端口放入所述队列的底端。
7. 根据权利要求6所述的方法, 其特征在于, 允许所述不利的本地端口经过一定的时间漫游通过所述队列到达所述队列的顶部。
8. 根据权利要求6或7所述的方法, 其特征在于, 在任何不想要的数据分组被检测到被寻址到本地端口的情况下,所述队列中的所述本 地端口被移位至所述队列的所述底端。
9. 根据权利要求6至8中的任一项所述的方法, 其特征在于, 曾经被检测到被不想要的数据分组寻址的本地端口被区分优先次序以便针对不想要 的数据分组进行监视。
10. 根据权利要求9所述的方法, 其特征在于, 经过一定的时间减轻所述区分优先次序。
11. 根据前述权利要求中的任一项所述的方法, 其特征在于, 所述不利的本地端口被给予标记,其中优选地第一类型的标记被给予已经结束非可疑 会话的本地端口,而第二类型的标记被给予已经被任何不想要的数据分组作为目标的本地 端口。
12. -种在面向分组的数据网络中的本地端口管理设备, 其特征在于, 所述本地端口管理设备被设计成并且适合于执行前述权利要求中的任一项的方法。
13. -种面向分组的数据网络, 其特征在于, 所述网络包括权利要求12的本地端口管理设备。
14. 具有电可读控制信号的数字存储介质,所述电可读控制信号能够利用可编程计算 机系统进行操作,以便管理面向分组的数据网络中的本地端口, 其特征在于, 所述控制信号被设计成并且适合于促使所述计算机系统执行任何权利要求1至11的 方法。
15. -种包括存储在机器可读载体上的程序代码的计算机程序产品,用于管理面向分 组的数据网络中的本地端口,其特征在于, 所述程序代码被设计成并且适合于在计算机程序产品在计算机上运行的情况下执行 任何权利要求1至11的方法。
【文档编号】H04L29/06GK104106248SQ201280069305
【公开日】2014年10月15日 申请日期:2012年11月21日 优先权日:2012年11月21日
【发明者】T.马莱切克, P.诺沃特尼, M.普尔塞克 申请人:统一有限责任两合公司

最新回复(0)