允许数据传输穿越防火墙的方法和设备.pdf

上传人:Y948****062 文档编号:1120385 上传时间:2018-04-01 格式:PDF 页数:20 大小:1.06MB
返回 下载 相关 举报
摘要
申请专利号:

CN02805239.0

申请日:

2002.02.19

公开号:

CN1493140A

公开日:

2004.04.28

当前法律状态:

授权

有效性:

有权

法律详情:

专利权的转移IPC(主分类):H04L 29/06登记生效日:20160907变更事项:专利权人变更前权利人:艾波网络公司变更后权利人:任意联络私人有限公司变更事项:地址变更前权利人:加拿大不列颠哥伦比亚省变更后权利人:新加坡新加坡|||授权|||实质审查的生效|||公开

IPC分类号:

H04L29/06; H04L29/12

主分类号:

H04L29/06; H04L29/12

申请人:

艾波网络公司;

发明人:

克里斯托弗·皮什; MD·沙哈达图拉·汗; 大卫·埃弗里特·马伍德; 麦克·钟

地址:

加拿大不列颠哥伦比亚省

优先权:

2001.02.20 US 60/269,357

专利代理机构:

中国国际贸易促进委员会专利商标事务所

代理人:

李玲

PDF下载: PDF下载
内容摘要

当前,经由互联网而在两个受到防火墙保护的计算机之间进行数据传输是很难以解决的,因为防火墙阻拦了输入分组。由此提供了一种方法,用于允许受到第一NAPT或NAT防火墙保护的第一客户计算机C1以及受到第二NAPT或NAT防火墙保护的第二客户计算机之间基于分组的数据传输穿越第一和第二防火墙。该方法还适用于使用NAT或NAPT的其他设备,例如路由器。

权利要求书

1: 一种将数据分组从第一计算机经由广域计算机网络发送到第 二计算机的方法,从所述第一计算机发送的数据分组具有一个标明所 述第一计算机的第一源地址,从所述第二计算机发送的数据分组具有 一个标明所述第二计算机的第二源地址,其中所述第一计算机受到第 一防火墙的保护,在把数据分组从所述第一计算机发送到所述广域网 的时候,该防火墙将所述第一源地址转换成一个第一外部地址,而所 述第二计算机则受到第二防火墙的保护,在将数据分组从所述第二计 算机发送到所述广域网的时候,该防火墙会把所述第二源地址转换成 一个第二外部地址,所述第一和第二防火墙经由所述广域计算机网络 来进行通信,所述方法使用了一个经由所述广域计算机网络而与所述 第一和第二计算机进行通信的指定接收计算机,所述方法包括: a)所述第一和第二计算机将第一和第二数据分组发送到所述指 定接收计算机; b)所述的指定接收计算机将来自所述第一数据分组的所述第一 外部地址传递到所述第二计算机,并且把来自所述第二数据分组的所 述第二外部地址传递到所述第一计算机; c)所述第二计算机将一个数据分组发送到所述第一外部地址; 以及 d)所述第一计算机将一个数据分组发送到所述第二外部地址。
2: 一种允许在广域计算机网络上进行第一计算机与第二计算机 之间数据分组的双向传输的方法,从所述第一计算机发送的数据分组 具有一个标明所述第一计算机的第一源地址,从所述第二计算机发送 的数据分组具有一个标明所述第二计算机的第二源地址,其中所述第 一计算机受到第一防火墙的保护,在把数据分组从所述第一计算机发 送到所述广域网的时候,该防火墙将所述第一源地址转换成一个第一 外部地址,而所述第二计算机则受到第二防火墙的保护,在将数据分 组从所述第二计算机发送到所述广域网的时候,该防火墙会把所述第 二源地址转换成一个第二外部地址,所述第一和第二防火墙经由所述 广域计算机网络来进行通信,所述方法使用了一个经由所述广域计算 机网络而与所述第一和第二计算机进行通信的指定接收计算机,所述 方法包括: a)所述第一和第二计算机将第一和第二数据分组发送到所述指 定接收计算机; b)所述的指定接收计算机将来自所述第一数据分组的所述第一 外部地址传递到所述第二计算机,并且把来自所述第二数据分组的所 述第二外部地址传递到所述第一计算机; c)所述第二计算机将一个第一数据分组发送到所述第一外部地 址; d)所述第一计算机将一个数据分组发送到所述第二外部地址; 以及 e)所述第二计算机将一个第二数据分组发送到所述第一外部地 址。
3: 一种允许在广域计算机网络上进行多个计算机之中任意两个 计算机之间的数据分组的双向传输的方法,从每个计算机发送的数据 分都具有一个标明所述计算机的源地址,其中每个计算机都受到一个 防火墙的保护,在从所述计算机向所述广域网发送数据分组的时候, 该防火墙将所述计算机的所述源地址转换成一个外部地址,所述防火 墙经由所述广域计算机网络来进行通信,所述方法使用了一个经由所 述广域计算机网络而与所述多个计算机进行通信的指定接收计算机, 所述方法包括: a)所述多个计算机将相应的数据分组发送到所述指定的接收计 算机; b)所述指定的接收计算机把来自所述数据分组的相应的外部地 址传递到所述多个计算机; c)所述多个计算机中的第一计算机具有一个第一外部地址,用 于将第一数据分组发送到与所述多个计算机中的第二计算机相关联的 第二外部地址; d)所述第二计算机将一个数据分组发送到所述第一外部地址; 以及 e)所述第一计算机将一个第二数据分组发送到所述第二外部地 址。
4: 权利要求1或2的方法,其特征在于,从所述第一计算机发 送的数据分组还具有一个标明所述第一计算机的第一端口,从所述第 二计算机发送的数据分组具有一个标明所述第二计算机的第二端口, 在将数据分组从所述第一计算机发送到所述广域网的时候,所述第一 防火墙还将所述第一端口转换成一个第一外部端口,并且所述第二计 算机受到一个第二防火墙的保护,在将数据分组从所述第二计算机发 送到所述广域网的时候,该防火墙还将所述第二端口转换成一个第二 外部端口。
5: 权利要求1到4的方法,其特征在于,所述防火墙是NAPT 防火墙。
6: 权利要求1到3的方法,其特征在于,所述防火墙是NAT 防火墙。
7: 权利要求1到3的方法,其特征在于,所述数据分组包括 UDP数据流。
8: 权利要求1到3的方法,其特征在于,所述数据分组包括实 况播送的音频/视频数据流。
9: 权利要求1到3的方法,其特征在于,所述数据分组包括所 保存的音频/视频数据。
10: 权利要求1到3的方法,其特征在于,所述数据分组包括 所保存的计算机文件的内容。
11: 权利要求1到3的方法,其特征在于,所述数据分组包括 支持音频/视频会议通信的数据流。
12: 权利要求1到3的方法,其特征在于,多个数据分组是由 所述第一和第二计算机在步骤(a)发送的。
13: 权利要求1到3的方法,其特征在于,多个数据分组是在 步骤c)中发送的。
14: 权利要求1到3的方法,其特征在于,多个数据分组是在 步骤d)中发送的。
15: 权利要求2或3的方法,其特征在于,多个数据分组是在 步骤e)中发送的。
16: 权利要求1或2的方法,其特征在于,所述第一和第二计 算机使用不同内部端口来发送和接收所述数据分组,这些内部端口映 射到不同的外部端口,以便发送和接收所述数据分组,并且权利要求 1中步骤(c)以及权利要求2中步骤(c)和(d)的分组是从每个 防火墙的接收端口发送到其他防火墙的发送端口的。
17: 权利要求1到3的方法,其特征在于,这些步骤被周期性 重复,以便适应于某些或全部防火墙所使用的外部端口中的变化。
18: 权利要求1到4的方法,其特征在于,所述指定的接收计 算机是一个普通的服务器。
19: 权利要求1到4的方法,其特征在于,所述指定的接收计 算机是涉及数据传输的对等计算机。
20: 权利要求1到4的方法,其特征在于,所述指定的接收计 算机是不涉及数据传输的对等计算机。
21: 权利要求1到3的方法,其特征在于,所述指定的接收计 算机是一个回声服务器,并且所述回声服务器通过将每个分组返回到 作为其来源的所述第一或第二计算机而把所述地址传递到所述第一或 第二计算机,并且所述第一或第二计算机将所述地址传递到其他计算 机。
22: 权利要求1到3的方法,其特征在于,所述第一和第二计 算机经由一个服务器计算机来发送数据。
23: 一种用于将一个数据分组从第一计算机经由一个广域计算 机网络发送到第二计算机的计算机程序产品,从所述第一计算机发送 的数据分组具有一个标明所述第一计算机的第一源地址,从所述第二 计算机发送的数据分组具有一个标明所述第二计算机的第二源地址, 其中所述第一计算机受到第一防火墙的保护,在把数据分组从所述第 一计算机发送到所述广域网的时候,该防火墙将所述第一源地址转换 成一个第一外部地址,而所述第二计算机则受到第二防火墙的保护, 在将数据分组从所述第二计算机发送到所述广域网的时候,该防火墙 会把所述第二源地址转换成一个第二外部地址,所述第一和第二防火 墙经由所述广域计算机网络来进行通信,所述方法使用了一个经由所 述广域计算机网络而与所述第一和第二计算机进行通信的指定接收计 算机,所述计算机程序产品包括: a)一个计算机可用介质,在这种介质中包含了计算机可读程序 代码装置,用于使所述第一和第二计算机将第一和第二数据分组发送 到所述指定接收计算机; b)该计算机可用介质包含了计算机可读程序代码装置,用于使 所述指定接收计算机将来自所述第一数据分组的所述第一外部地址传 递到所述第二计算机,并且把来自所述第二数据分组的所述第二外部 地址传递到所述第一计算机; c)该计算机可用介质包含了计算机可读程序代码装置,用于使 所述第二计算机将一个数据分组发送到所述第一外部地址;以及 d)该计算机可用介质包含了计算机可读程序代码装置,用于使 所述第一计算机将一个数据分组发送到所述第二外部地址。
24: 一种允许在广域计算机网络上进行第一计算机与第二计算 机之间数据分组的双向传输的计算机程序产品,从所述第一计算机发 送的数据分组具有一个标明所述第一计算机的第一源地址,从所述第 二计算机发送的数据分组具有一个标明所述第二计算机的第二源地 址,其中所述第一计算机受到第一防火墙的保护,在把数据分组从所 述第一计算机发送到所述广域网的时候,该防火墙将所述第一源地址 转换成一个第一外部地址,而所述第二计算机则受到第二防火墙的保 护,在将数据分组从所述第二计算机发送到所述广域网的时候,该防 火墙会把所述第二源地址转换成一个第二外部地址,所述第一和第二 防火墙经由所述广域计算机网络来进行通信,所述方法使用了一个经 由所述广域计算机网络而与所述第一和第二计算机进行通信的指定接 收计算机,所述方法包括: a)一种计算机可用介质,其中包含了计算机可读程序代码装 置,用于使所述第一和第二计算机将第一和第二数据分组发送到所述 指定接收计算机; b)该计算机可用介质包含了计算机可读程序代码装置,用于使 所述指定接收计算机将来自所述第一分组的所述第一外部地址传递到 所述第二计算机,并且把来自所述第二分组的所述第二外部地址传递 到所述第一计算机; c)该计算机可用介质包含了计算机可读程序代码装置,用于使 所述第二计算机将一个数据分组发送到所述第一外部地址; d)该计算机可用介质包含了计算机可读程序代码装置,用于使 所述第一计算机将一个数据分组发送到所述第二外部地址;以及 e)该计算机可用介质包含了计算机可读程序代码装置,用于使 所述第一计算机将一个数据分组发送到所述第二外部地址。
25: 权利要求23或24的计算机程序产品,其特征在于,所述 实时媒体传输包括实况播送的音频/视频数据。
26: 权利要求23或24的计算机程序产品,其特征在于,所述 实时媒体传输包括所保存的基于点播的流媒体音频/视频数据。
27: 权利要求23或24的计算机程序产品,其特征在于,所述 实时媒体传输包括所保存的计算机文件的内容。
28: 权利要求23或24的计算机程序产品,其特征在于,所述 实时媒体传输包括音频/视频会议通信。
29: 权利要求23或24的计算机程序产品,其特征在于,该程 序使该计算机程序所在的计算机进行操作,以便将一个UDP数据分 组发送到一个中介,从而对指派给它的外部发送端口加以识别,并且 从这个中介接收数据,以便对指派给其他参与者的外部接收端口加以 识别。
30: 一种用于经由广域网而在两个受到防火墙保护的计算机之 间发送数据分组的系统,所述系统包括: a)适配成通过广域计算机网络来进行通信的第一和第二计算 机,其中从所述第一计算机发送的数据分组具有一个标明所述第一计 算机的第一源地址,从所述第二计算机发送的数据分组具有一个标明 所述第二计算机的第二源地址,其中所述第一计算机受到第一防火墙 的保护,在把数据分组从所述第一计算机发送到所述广域网的时候, 该防火墙将所述第一源地址转换成一个第一外部地址,而所述第二计 算机则受到第二防火墙的保护,在将数据分组从所述第二计算机发送 到所述广域网的时候,该防火墙将所述第二源地址转换成一个第二外 部地址,所述第一和第二防火墙经由所述广域计算机网络来进行通 信, b)一个经由所述广域计算机网络而与所述第一和第二计算机进 行通信的指定接收计算机; 其中所述第一和第二计算机包括装置,用于将所述第一和第二 数据分组发送到所述指定接收计算机;所述指定接收计算机包括装 置,用于把来自所述第一数据分组的所述第一外部地址发送到所述第 二计算机,并且把来自所述第二数据分组的所述第二外部地址发送到 所述第一计算机;所述第二计算机包括装置,用于将一个数据分组发 送到所述第一外部地址;并且所述第一计算机包括装置,用于将一个 数据分组发送到所述第二外部地址。

说明书


允许数据传输穿越防火墙的方法和设备

    相关申请

    本申请要求享有2001年2月20日在先提交的美国临时专利申请60/269,357,该申请的名称是“允许实时媒体传输穿越计算机网络上的防火墙的方法和设备”(METHOD AND APPARATUS TOPERMIT REAL-TIME MEDIA DELIVERY TO TRAVERSEFIREWALLS ON A COMPUTER NETWORK)。

    【技术领域】

    本发明涉及经由计算机网络的数据传输的领域,尤其涉及那些允许使用基于分组的传输协议的数据传输穿越防火墙的方法。

    背景技术

    连接到类似互联网这种广域网的计算机通常会受到防火墙的保护。防火墙通常用于保护工作在局域网上的计算机,但是它们还可用于保护那些接入广域网的个体计算机,其中包括服务器。在本申请中,术语“客户计算机”包括任何一种接入广域网的计算机,并且还包括一个在这种计算机上运行的程序。这种计算机可以而不是必须工作在一个局域网上,并且该计算机可以执行广域网上的服务器的功能。

    防火墙通常执行许多功能。它们使内部计算机免受广域网上外部计算机的攻击,同时允许内部计算机接入广域网。通过允许多个客户计算机共享广域网上一个受限的网际协议(IP)地址,并且通过调节局部网络内部变化而不必对广域网上其它计算机的接入进行重新配置,防火墙还可使局部网络的管理更为有效。

    防火墙通常是网络网关服务器上的一个程序或是相关程序的集合,它对每个网络分组进行检查,以便确定是否将其转发到其目的地。为了在内部计算机与外部广域网之间创建一个阻挡层,防火墙通常会使用NAT(网络地址转换)或NAPT(网络地址及端口转换)。NAT是客户计算机使用的(如果客户计算机工作在一个内部网络上,则是内部网络已知地)内部IP地址到外部广域网已知的不同IP地址的转换。防火墙把内部IP地址映射到一个或多个全球的外部IP地址,并且把涉及输入分组的外部IP地址反向映射为内部IP地址。NAPT则是内部IP地址及内部端口到外部网络已知的不同外部IP地址和外部端口的转换。使用NAPT的防火墙通常对输入分组进行筛选,以确保它们来自先前识别的IP地址和端口。也就是说,只有在预先有一个请求从防火墙离开并到达某个IP地址和端口的时候,来自这个IP地址和端口的请求才会穿越防火墙。

    经由互联网的数据传输已经成为一件非常平常的事情。很多互联网数据传输被用于把音频和/或视频数据从一个实况播送或者基于点播的流媒体服务器传送到流媒体客户机,以便在客户计算机之间提供实时的交互式通信(例如“聊天”)以及将网页内容从网络服务器传送到网络客户机,此外还可用于网络程序之间许多其他类型的通信。不同的协议被用于发送不同类型的数据。举例来说,文本聊天通常是使用传输控制协议(TCP)来进行发送的,而音频/视频会议以及实况播送的音频/视频流则通常使用UDP(用户数据报协议)来进行发送的。经由直接与互联网相连的服务器(也就是不在防火墙之后)而进行的通信通常不会受到客户端防火墙的阻碍;登录到服务器上的操作通常会打开一条从服务器经由防火墙的返回路径。然而,防火墙通常会阻拦直接进行的客户机-客户机的通信或是“对等(peer-to-peer)”通信。所尝试的一种解决方案是打开防火墙的某些端口,但是这种解决方案:(i)需要修改防火墙设置,这是大多数网络管理员不愿执行的操作;以及(ii)不会对那些执行任何端口转换的防火墙起到作用。本发明提供了一种方法,该方法允许基于分组的数据传输穿越那些使用NAPT或NAT的防火墙,而不改变防火墙设置。作为一种更加通用的情况,本发明是在使用NAPT的防火墙的环境中公开的。然而,本发明中提供的方法同样适用于使用NAT的防火墙,并且适用于使用NAPT或NAT的其他类型的设备,例如路由器。

    【发明内容】

    因此,本发明提供了一种将数据分组从第一计算机经由广域计算机网络发送到第二计算机的方法,从第一计算机发送的数据分组具有一个标明第一计算机的第一源地址,从第二计算机发送的数据分组具有一个标明第二计算机的第二源地址,其中第一计算机受到第一防火墙的保护,在把数据分组从第一计算机发送到广域网时,该防火墙将第一源地址转换成一个第一外部地址,而第二计算机则受到第二防火墙的保护,在将数据分组从第二计算机发送到广域网的时候,该防火墙会将第二源地址转换成一个第二外部地址,第一和第二防火墙经由广域计算机网络来进行通信,该方法使用了一个经由广域计算机网络而与第一和第二计算机进行通信的指定的接收计算机,所述方法包括:a)第一和第二计算机将第一和第二数据分组发送到指定的接收计算机;b)指定的接收计算机将来自第一数据分组的第一外部地址传递到第二计算机,并且把来自第二数据分组的第二外部地址传递到所述第一计算机;c)第二计算机将一个数据分组发送到第一外部地址;以及d)第一计算机将一个数据分组发送到所述第二外部地址。

    通过附加地让第二计算机把一个数据分组发送到第一外部地址,该方法提供到了数据的双向传输。该方法可以适于受到防火墙保护的多台计算机在广域网上进行通信。防火墙可以是NAT或NAPT。如果IP地址和端口是在防火墙那里进行转换的,或者只有IP地址在防火墙那里进行了转换,那么本方法尤其会起到作用。指定的接收计算机可以是任何类型的计算机,其中包括而非局限于所指定的服务器、数据传输所涉及的对等计算机、或是数据传输未曾涉及的对等计算机。

    本发明还提供了一种用于执行前述方法的计算机程序产品,以及一种经由广域网而在两个受到防火墙保护的计算机之间发送数据分组的系统。

    【附图说明】

    图1是描述本发明优选实施例的示意图;以及

    图2是一个描述本发明优选实施例的流程图。

    【具体实施方式】

    图1示意性描述了局域网(14)上的一个客户计算机C1(12),它受到NAPT防火墙FW1(16)的保护,希望经由互联网10而将实况播送的视频数据流这种UDP数据流发送到局域网(22)上受到NAPT防火墙FW2(24)保护的客户计算机C2(20)。在这个示意图中,C1具有内部IP地址H1,它会使用内部端口h1来发送UDP数据流。防火墙FW1将这些地址和端口转换成外部IP地址F1和外部端口f1(18)。C2具有内部IP地址H2,它会使用内部端口h2来接收UDP数据流。防火墙FW2将会在外部地址F2以及外部端口f2(26)接收那些指定给C2的UDP分组。C1和C2都登录到一个服务器S1(28)上,其目的是建立一条路径而把UDP数据流从C1发送到C2。然而,UDP数据流并不是通过服务器发送的。该数据流是以客户机-客户机的形式来进行发送的,从而利用了可以从经由互联网的对等通信中得到的效率和可升级性。

    大多数防火墙都会阻止对等通信。只有在(i)输入UDP分组的源和目的地地址分别匹配于最近输出的UDP分组的目的地和源地址,以及(ii)输入UDP分组的源和目的地端口分别匹配于最近输出的UDP分组的目的地以及源端口的时候,NAPT防火墙FW1和FW2才会准许输入UDP分组通过。如果C1或C2尝试将一个分组发送到另一方,如果这个输入分组没有满足这些标准,那么接收者的防火墙将会对其加以阻拦。

    本发明允许C1通过以下步骤来向C2发送一个UDP数据流:

    (1)C1将一个UDP分组U1发送到服务器S1。C1启动从其内部IP地址和UDP端口(H1:h1)开始进行的传输。防火墙FW1在其外部接口将这个IP地址和端口转换成F1:f1。

    (2)当S1从F1:f1接收到分组U1时,S1可以将F1和f1识别为外部IP地址和外部端口,由此FW1将会发送始于C1的UDP数据流。

    (3)C2将一个UDP分组U2发送到服务器S1。C2启动从其内部IP地址和UDP端口(H2:h2)开始进行的传输。防火墙FW2在其外部接口将这个IP地址和端口转换成F2:f2。

    (4)当S1从F2:f2接收到分组U2时,它可以将F2和f2识别为外部IP地址和外部端口,在这个IP地址和端口上,FW2将会接收C1发送到C2的UDP数据流。

    (5)S1向C2告知F1:f1即为C1发送UDP数据流的外部IP地址和端口。

    (6)S1向C1告知,F2:f2即为指定给C2的UDP数据流应该发至的外部IP地址和端口。

    (7)C2使用其内部端口h2而将一个UDP分组U3发送到F1:f1。防火墙FW2会从F2:f2发送该分组。这个分组将会被防火墙FW1所阻拦。然而,如在步骤(8)所述,它会提示防火墙FW2传递那些由C1发送并且指定给C2的后续分组。

    (8)当C1随后从其内部端口h1发送一个包含了指定给C2的UDP分组的数据流时,防火墙FW1会把它们从F1:f1发送到F2:f2。由于步骤(7)中发送的分组,因此防火墙FW2会把F1:f1识别为来自F2:f2的分组最近发至的地址和端口。因此,它允许从F1:f1发送到F2:f2的分组穿过防火墙,并且将其转发到H2:h2,也就是C2的内部IP地址和端口。

    因此,本发明产生了一种方法,借助于这种方法,C1发起的UDP数据流传递到C2。这个方法可用于流媒体应用,其中C1将一个实况播送或基于点播的数据流发送到C2。与步骤(1)到(8)相似但被反过来执行的步骤允许C2发起的UDP数据流穿过防火墙F1到达C1。因此,C1和C2可以使用那些依赖于UDP数据流的双向传输的应用,例如视频会议。由多个客户计算机C1,……,CN执行的相似步骤允许经由NAPT防火墙来进行一对多、多对一或多对多的UDP数据流传输。

    对作用于一个使用NAPT的防火墙的方法而言,步骤(1)和(3)中所发送分组的类型通常与步骤(8)中发送数据所使用的类型相同(也就是TCP、UDP等等)。其原因在于:许多计算机应用程序或防火墙使用了不同的端口来发送和接收不同类型的数据。然而,如果不是这种情况的话,那么步骤(1)和(3)中所发送分组的类型不必与步骤(8)所用类型相同。另外,防火墙FW1在步骤(1)中发送初始分组时使用的外部IP地址和端口必须与随后在步骤(8)中开始向C2发送数据时使用的外部IP地址和端口相同(尽管如以下更加全面描述的那样,该方法可以适配成与IP地址和端口中的后续变化相适应)。由于目前大多数使用NAPT的防火墙程序在内部IP地址和端口以及发送相同类型分组的外部IP地址和端口之间创建了一一映射,因此,假如将客户计算机C1的软件编写为从相同的内部IP地址和端口发送这二者的传输,那么在实施中通常会发生这种情况。同样,防火墙FW2在步骤(3)中必须使用与步骤(8)中开始接收数据时所用外部IP地址和端口相同的外部IP地址和端口来发送分组。假如将客户计算机C2上的软件编写成了在步骤(3)发送分组所用内部IP地址和端口等同于步骤(8)中接收分组所用的内部IP地址和端口,那么在实施中通常也会发生这种情况。

    对本领域技术人员来说,很明显,该方法很容易适配成支持C1与C2之间的双向数据传输,从C1到客户计算机C2、……、CN的一对多的数据传输,从客户计算机C2、……、CN到C1的多对一数据传输,或是客户计算机C1、……、CN之间的多对多数据传输。同样,本发明是结合受到防火墙保护的C1和C2来进行描述的,这是因为这种情况提供了关于本发明的最清楚的描述。然而,本发明很容易适于只有接收客户计算机受到防火墙保护的情况。

    指定的接收计算机可以是任何类型的计算机,其中包括而非限制于:指定的服务器、数据传输所涉及的对等计算机、或是数据传输未曾涉及的对等计算机。

    对本领域技术人员来说,根据前述公开,很明显,在实施本发明的过程中有可能进行许多替换和修改,而不脱离本发明的实质或范围。举例来说,可能的修改和替换可以包括而非局限于以下内容:

    1.对于阻止分组损失或延迟的牢固性而言,C1和/或C2可以在步骤(1)和(3)中向S1发送多个分组,而不是单个分组。分组可以一直被发送,直到接收到S1已经接收了其中一个分组的确认为止。

    2.并且对于阻止分组损失或延迟的牢固性而言,C2可以在步骤(7)中发送多个分组,而不是单个分组。分组可以一直被发送,直到接收到FW1已经接收了其中一个分组的确认为止。

    3.该方法还可以在C1或C2使用分离端口来发送和接收UDP数据流的时候被使用。举例来说,如果C1使用h1来发送UDP数据流并且使用h3来接收数据流,那么防火墙FW1分别将这些端口转换成f1和f3。C2必须从其接收端口向f1发送一个UDP分组,而C1必须从f3向C2的发送端口发送一个UDP分组。这些分组将会打开某些路径,并且C1将会经由这些路径而向C2进行发送(经由f1),C2则会经由该路径而向C1进行发送(经由f3)。

    4.在双向通信的情况下,防火墙FW1和FW2使用相同外部端口来发送和接收UDP数据,数据流中的初始数据分组可用作打开路径所需要的分组(如步骤(7))。初始数据分组有可能会被阻拦,直到在另一个方向上发送了一个分组。然而,使用UDP传输的应用通常会抵抗分组丢失,并且只要初始一个或多个数据分组的丢失相对于所讨论的应用并不重要的话,那么该方法都会起到作用。

    5.如果防火墙FW1(或FW2)因为任何原因(例如长数据传输或静寂时间)而改变了发送UDP数据时使用的外部IP地址或端口,那么该方法可以适配成刷新那些标识外部IP地址和端口的数据,以便保持开放的传输路径。举例来说,如果FW1改变了用于发送那些源自C1的UDP数据的外部IP地址或端口,那么与上述步骤(1)一样,新分组将会周期性发送到中间服务器S1,以便标识FW1使用的任何新的IP地址或端口。然后可以使用新数据来重复进行剩余步骤(2)到(8)。该方法需要的所有条件是:在一段足以在步骤(1)把初始分组发送到S1的时段中由FW1使用的同一外部发送IP地址和端口来自与UDP数据流中的初始数据分组相同的IP地址和端口。

    6.在上述最佳模式中,服务器S1被用作中介来接收C1和C2发出的UDP分组,并且使用包含在这些分组中的信息来识别FW1和FW2所使用的外部端口。然而,用于向每个终端告知其他外部端口的任何其他装置也可以根据本发明来工作。举例来说,C1和C2可以使用不同的回声服务器S1和S2,它们会将任何一个UDP分组返回其来源。这就使得C1和C2能够分别识别F1:f1以及F2:f2。C1和C2可以使用其他任何装置,例如用户进行的信息脱机交换,或者直接到另一方或经由一个普通服务器进行的TCP传输,由此相互告知F1:f1以及F2:f2。

    7.本方法可以在客户计算机经由服务器计算机来进行通信的情况下使用,尽管在这种情况下,由于客户计算机通常会在登录到服务器的时候打开一条返回路径,因而通常并不需要本方法。

    8.本方法还可用于仅仅接收客户计算机位于防火墙之后、但却没有防火墙保护发送客户计算机的情况。

    9.尽管在使用UDP分组的实时音频和视频通信环境中描述了上述方法,但是对本领域技术人员来说,很明显,本发明具有与其他形式的基于分组的数据传输相关的应用。

    10.通过从接收分组中推导出映射方案,然后使用所推导的映射方案从每个客户计算机的外部接收IP地址及端口将所需分组发送到其他每个客户计算机的外部接收IP地址和端口,本方法还适于那些不在内部和外部IP地址及端口之间创建一一映射的防火墙。

    11.虽然结合NAPT防火墙而对本发明进行了描述,但是如果防火墙FW1和FW2是NAT防火墙,那么本发明也能以相同方式操作。在这种情况下,NAT FW1会将H1:h1转换成F1:h1,而NATFW2则将H2:h2转换成F2:h2。在其他方面,本发明是相同的。

    说明书附图

    图1

    28服务器S1;10互联网;16防火墙FW1;14客户计算机C1;22客户计算机C2;24防火墙FW2

    图2(从上到下)

    C1从其内部IP地址及UDP端口(H1:h1)发送一个UDP分组U1

    防火墙FW1将这个IP地址和端口转换成F1:f1

    C2从其内部IP地址及UDP端口(H2:h2)发送一个UDP分组U2

    防火墙FW2将这个IP地址和端口转换成F2:f2

    S1告知S2:F1:f1即为C1发送UDP数据流的IP地址和端口,并且S1告知C1:F2:f2即为指定给C2的UDP数据流应该发至的IP地址和端口

    C2使用其外部端口h2而将一个UDP分组U3发送到F1:f1,并且防火墙FW2从F2:f2发送该分组

    C1从其内部端口h1发送一个指定给C2的UDP分组,并且防火墙FW1将其从F1:f1发送到F2:f2

    防火墙FW2将F1:f1识别为它从F2:f2发送的分组所发至的地址和端口,并且它允许从F1:f1发送到F2:f2的分组穿越该防火墙,并且防火墙FW2将这些分组转发到H2:h2,也就是C2的内部IP地址和端口

允许数据传输穿越防火墙的方法和设备.pdf_第1页
第1页 / 共20页
允许数据传输穿越防火墙的方法和设备.pdf_第2页
第2页 / 共20页
允许数据传输穿越防火墙的方法和设备.pdf_第3页
第3页 / 共20页
点击查看更多>>
资源描述

《允许数据传输穿越防火墙的方法和设备.pdf》由会员分享,可在线阅读,更多相关《允许数据传输穿越防火墙的方法和设备.pdf(20页珍藏版)》请在专利查询网上搜索。

当前,经由互联网而在两个受到防火墙保护的计算机之间进行数据传输是很难以解决的,因为防火墙阻拦了输入分组。由此提供了一种方法,用于允许受到第一NAPT或NAT防火墙保护的第一客户计算机C1以及受到第二NAPT或NAT防火墙保护的第二客户计算机之间基于分组的数据传输穿越第一和第二防火墙。该方法还适用于使用NAT或NAPT的其他设备,例如路由器。 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1