p2p在nat和防火墙上的穿透

p2p在nat和防火墙上的穿透

ID:11410574

大小:280.00 KB

页数:21页

时间:2018-07-11

p2p在nat和防火墙上的穿透_第1页
p2p在nat和防火墙上的穿透_第2页
p2p在nat和防火墙上的穿透_第3页
p2p在nat和防火墙上的穿透_第4页
p2p在nat和防火墙上的穿透_第5页
资源描述:

《p2p在nat和防火墙上的穿透》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、本文主要讨论关于P2P通信的一些常见问题和解决方案。主要内容包含:P2P通信与网络设备的关系、不同的网络设备特征对P2P产生的影响、网络地址转换(NAT)的类型、NAT类型的检测方法、协议防火墙的突破方法、隧道技术、对于不同的NAT类型采取的穿透方法。目前P2P通信在穿透上至少存在着两个问题:防火墙穿透和NAT穿透,两者对于网络访问的限制是处于不同角度而实现的,其中防火墙是基于网络数据传输安全上的考虑,其行为主要表现为对网络协议和访问端口的限制,实际上每种限制都包含了两个方向:进和出。而NAT则是基于网络地址转换的实现对内网主机进行的保护,目前来说NAT的存在至少存在以下两方面的意

2、义:解决IPV4地址匮乏的问题和保护网内主机的目的,所以即使将来IPV6解决了IP地址数量上的问题,但出于对内网主机的保护,NAT仍然有其存在的必要。综上所述,要实现一个完善的P2P程序必须至少突破以上两个方面的限制,当然,实际情况会存在一些无法突破的情况,比如双方都是对称型NAT或对称型与端口限制型NAT的通信,对于此类问题在实际开发时可使用服务器转发或代理服务来处理。文中所提到的P2P通信意为:使用服务器来转发并处理控制信令,客户端结点间直接通信。特别指出下文中某些地方会使用FW替代“防火墙”,NAT替代“网络地址(端口)转换”。分类现在、而今、眼目下~~~~NAT共分为两大类

3、:ConeNAT和SymmetricNAT。ConeNAT指的是只要源IP端口不变,无论发往的目的IP是否相同,在NAT上都映射为同一个端口,形象的看来就像锥子一样,而SymmetricNAT对于发往不同目的IP的会话在NAT上将映射为不同的端口,也就是不同的会话。其中ConeNAT又可细分为3类,分别是FullCone型、RestrictedCone型和RestrictedPortCone。限制的严格程度和对局域网内主机的保护由松到紧依次为:FullCone、RestrictedCone、RestrictedPortCone、SymmetricNAT。这里“限制”指的是NAT对由

4、外到内的数据包进行审查、过滤,看看数据包的源地址和他发送到的“洞”是否有关系,如果没有那么就将其丢弃(说到这里我忽然想起来可不可以使用原始套接字来伪造一个和这个“洞”有关系的UDP包呢?啊哈哈),NAT是不会对自内而外的数据包进行限制的,那是防火墙的事情。“由松到紧”指后者不仅继承了前者在限制上的特性,而且自己还添油加醋的干了些坏事,以至于对“由外到内”的数据包比前者有着更严格的限制。例如RestrictedCone限制了外部进入内部的IP,使得只有被打洞IP发出的数据包才允许进入NAT,而RestrictedPortCone不但限制了IP,还限制了端口,使得只有被打洞的IP:PO

5、RT才能往这个洞里发送数据,其他任何来自不同于被打洞地址(IP:PORT)的数据包都不能使用这个洞将数据发送到NAT之后。NAT对会话的映射这里列出NAT对于内网地址映射到外网地址的一些普遍规律,可将其分为4种情况,以下的Session即为通信双方的链接,具体表现为在NAT上映射的外网IP:PORT。关于本节内容可详见:ALookInsideNetworkAddressTranslators A.      源IP不同,忽略其他因素,将映射为不同的SessionB.       源IP相同,源端口不同,将映射为不同的SessionC.       源IP相同,源端口相同,目的IP相

6、同,目的端口不同,将映射为相同的SessionD.      源IP相同,源端口相同,目的IP不同,忽略目的端口,对于不同的NAT可分为不同的情况a)        ConeNAT:将映射为相同的Sessionb)       SymmetricNAT:将映射为不同的Session 以下对四种NAT类型分别予以说明:全锥形NATIP、端口都不受限。只要客户端由内到外打通一个洞之后(NatIP:NatPort->A:P1),其他IP的主机(B)或端口(A:P2)都可以使用这个洞发送数据到客户端。映射关系为:Client->NatIP:NatPort->Any,即任何外部主机都可通过N

7、atIP:NatPort发送数据到Clietn上。 受限锥形NATIP受限,端口不受限。当客户端由内到外打通一个洞之后(NatIP:NatPort->A:P1),A机器可以使用他的其他端口(P2)主动连接客户端,但B机器则不被允许。映射关系为:Client->NatIP:NatPort->A,即只有来自A的数据包才能通过NatIP:NatPort发送到Client上。 端口受限锥型IP、端口都受限。返回的数据只接受曾经打洞成功的对象(A:P1),由A:P2、B:P1发

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。