王朝网络
分享
 
 
 

Peer-to-Peer (P2P) communication across middleboxes 之二

王朝other·作者佚名  2006-01-31
宽屏版  字体: |||超大  

2.术语

在这一部分,我们首先总结一些中间设备(middleboxs)术语,并集中讨论对P2P应用造成障碍的两种中间设备。

防火墙

防火墙会限制内网与公网的通信,将未经授权的包丢弃。包流经防火墙时,防火墙会检测它的数据,但不修改其中的IP地址和TCP/UDP端口信息。

网络地址转换设备(Network Address Translator,NAT)

网络地址转换设备会检测通过它的包,并修改包头信息(译注:指IP地址和TCP/UDP端口信息),位于NAT之后的众多主机便能借此共享少量的(通常是一个)公网IP地址。

网络地址转换设备主要有两类:

Basic NAT

包流经Basic NAT时,Basic NAT将包中的内网IP映射为公网IP,但不修改其中的TCP/UDP端口。Basic NAT一般用在内网具有许多公网IP的时候,若有内网主机访问公网,就将它的内网IP映射为一个公网IP。

NAPT(Network Address/Port Translator)

这是最为常见的情况。NAPT不仅检测包中的数据,而且还会修改包中的IP地址与TCP/UDP端口字段,从而让众多的内网主机同时共享一个公网IP。

请参考[NAT-TRAD]和[NAT-TERM]以获得更多的NAT分类和相关术语。近来的[STUN]定义了一些其他的术语,对NAT做进一步的分类。当内网主机通过NAPT打开一个对外的TCP/UDP连接时,NAPT会给此连接指定一个公网IP和端口,然后接收外来的包,进行转换(译注:指IP地址和TCP/UDP端口信息),最后转发给内网主机。其效果就是NAPT在(内网地址,内网端口)和(外网地址,外网端口)之间建立了一个的地址绑定,这一地址绑定定义了连接有效期内NAPT应做的地址转换。这里有一个对P2P应用比较重要的问题,就是当内网主机以一个(内网地址,内网端口)同时发起多个对外的连接时,NAT如何处理。由此可以分为下面的几类:

Cone NAT

在建立了(内网地址,内网端口)和(外网地址,外网端口)之间地址绑定之后,若程序以绑定过的(内网地址,内网端口)发起对外的连接,Cone NAT会复用这一绑定,而且该绑定会一直存在,直到所有使用它的连接断开为止。

以下图为例,假设客户端A经由Cone NAT,同时发起两个对外的连接,就是图中的从内网地址(10.0.0.1:1234)到两个公网服务器,S1和S2。此时Cone NAT会将这两个连接绑定同一个外部地址,比如155.99.25.11:62000。这里是通过地址转换保证了客户端地址的同一性,即使用同一个外部地址。Basic NAT和防火墙不会修改包中的端口号,这样的中间设备可以看做是Cone NAT的退化形式。

Server S1 Server S2

18.181.0.31:1235 138.76.29.7:1235

| |

| |

+----------------------+----------------------+

|

^ Session 1 (A-S1) ^ | ^ Session 2 (A-S2) ^

| 18.181.0.31:1235 | | | 138.76.29.7:1235 |

v 155.99.25.11:62000 v | v 155.99.25.11:62000 v

|

Cone NAT

155.99.25.11

|

^ Session 1 (A-S1) ^ | ^ Session 2 (A-S2) ^

| 18.181.0.31:1235 | | | 138.76.29.7:1235 |

v 10.0.0.1:1234 v | v 10.0.0.1:1234 v

|

Client A

10.0.0.1:1234

Symmetric NAT

与上面有所不同,Symmetric NAT并不保证(内网地址,内网端口)和(外网地址,外网端口)之间地址绑定的同一性,相反地,对于一个新的连接,Symmetric NAT总会为它指定一个新的外网地址。举例来说,还是假设客户端A以相同的(内网)地址发起两个对外的连接,到S1和S2。Symmetric NAT可能为一个连接绑定外部地址155.99.25.11:62000,而为另一个绑定155.99.25.11:62001。由于来源地址(S1和S2)的不同,即使包中丢失了客户端(即内网主机)程序的标识信息,NAT还是可以区分出这两个连接,进行正确的地址转换。

Server S1 Server S2

18.181.0.31:1235 138.76.29.7:1235

| |

| |

+----------------------+----------------------+

|

^ Session 1 (A-S1) ^ | ^ Session 2 (A-S2) ^

| 18.181.0.31:1235 | | | 138.76.29.7:1235 |

v 155.99.25.11:62000 v | v 155.99.25.11:62001 v

|

Symmetric NAT

155.99.25.11

|

^ Session 1 (A-S1) ^ | ^ Session 2 (A-S2) ^

| 18.181.0.31:1235 | | | 138.76.29.7:1235 |

v 10.0.0.1:1234 v | v 10.0.0.1:1234 v

|

Client A

10.0.0.1:1234

上面讨论的有关Cone NAT和Symmetric NAT之间的异同,对TCP和UDP通信均有效。

Cone NAT按照已经建立起来的地址绑定来接收进入内网的包,依据它接收包时限制的不同,我们可以对Cone NAT做进一步的分类。这种分类只用于UDP通信,因为若没有合适的条件,NAT和防火墙会阻止进入内网的TCP连接要求,除非这些中间设备做了特殊配置。

不受限 Cone NAT(Full Cone NAT)

在建立起一个地址绑定之后,若一个外来包的目的地址是Cone NAT为内网地址绑定的那个公网地址,不受限Cone NAT就接受它,至于包的来源地址,则不在关心之列。不受限Cone NAT有时也叫混杂NAT(promiscuous NAT)。

受限Cone NAT

一个受限Cone NAT除了要查看外来包的目的地址,还要看此包的来源地址是不是内网主机所要求的那个公网IP地址(不包括端口号码),而这可以从它先前发的包中找到。防火墙的原则是拒绝接收那些不请自来的包,在这里受限Cone NAT通过限制外来包的来源地址提炼了这一原则。

端口受限Cone NAT

只有当外来包的IP地址和端口号码与内网主机所求的完全一致的时候,端口受限Cone NAT才会接收此包。端口受限Cone NAT为内网主机提供了与Symmetric NAT同等级别保护,拒绝那些不请自来的包,而后者还得另外维护端口转换的一致性。

最后,我们定义了一些新的术语,对有关P2P的中间设备进行分类。

P2P应用程序

本文中提到的P2P应用程序(译注:有时也简称为P2P应用),指那些借助一个公网注册服务器,使用各自的内网地址或公网地址(或兼而有之)建立点到点连接的程序。

P2P中间设备

允许P2P应用程序进行通信的中间设备称之为P2P中间设备。

P2P防火墙

提供了防火墙功能但不进行地址转换的中间设备称之为P2P防火墙。

P2P NAT

提供了NAT功能的P2P中间设备称之为P2P NAT,P2P NAT可能还实现了防火墙的功能。一个P2P中间设备至少要实现允许UDP通信的Cone NAT功能,通过UDP打洞技术,允许程序之间建立健壮的P2P连接。

回环转换(Loopback Translation)

当位于同一NAT之后的两台内网主机之间以各自的公网地址进行连接时,这个NAT等于是做了两次转换,先将包中来源主机的内网地址转换为公网地址,再将包中目的主机的公网地址转换为内网地址,最后将包转发给目标主机。上述的NAT转换过程称之为回环转换。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有