扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
影响P2P通讯一个很关键的因素是NAT,由于IPV4的地址有限,所以很多在私网后的计算器是通过防火墙的NAT转换完的映射地址访问网络上的资源的.不同的防火墙NAT后的计算机节点很可能是一样的私网IP地址,这样两个处在防火墙NAT后的计算机节点无法找到对方的地址并传送数据的,这些私网后的计算机只能和有公网IP地址的计算机通讯,只有获得了公网地址的计算机才有可能处于不同NAT后的计算机节点做转发数据工作,这也是多数P2P软件穿越防火墙的根本原理.
P2P数据都大多数是UDP包,通过这种NAT转换后可以到达目的节点的过程叫NAT穿越.防火墙限制私网和公网通讯,典型的作用如丢弃未验证的数据包.但防火墙不对包的具体内容改变,无论TCP/UDP他们的IP地址和端口信息都不会变.他通过边界的数据包头来允许私网的机器通过有限的公网IP访问外网,下面介绍几种NAT类型,他们关系到P2P软件的设计实现,
Basic NAT
基本NAT转换不会把私网点IP地址映射到公网IP地址,不改变TCP/UDP数据包的端口
NetWork Address/Port Translator( NAPT )
NAPT 检查并改变IP地址和TCP/UDP数据包的端口地址
Cone NAT
在建立每次的新会话建立时(私网到公网),原来的已经打开的端口会被使用,只要有通讯这个端口不会关闭.
Symmetric NAT(对称NAT)
对称NAT会在每次的新会话时(私网到公网),重新分配一个端口给会话.
Full Cone NAT(全向NAT)
一旦会话建立,全向NAT的通讯可以对任意的公网地址做通讯.
Restricted Cone NAT
端口受限的NAT不光对已经通讯的外部IP地址做捆绑而且对相关的通讯端口做捆绑,所以即使是已经建立通讯的IP地址,它的其他端口发来的数据包也会被拒绝,这在限制级别上和对称NAT一样.要想正常的完成最终的通讯,特别是在NAT后的计算机,根据前面的介绍,我们需要找到合适的技术来对实现穿越防火墙的机制,完成处理不同的NAT后的计算机间P2P通讯,在端口控制严格的后两种NAT后的计算机节点通讯,一定要处于公网的计算机做转发工作.
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。