标题 简介 类型 公开时间
关联规则 关联知识 关联工具 关联文档 关联抓包
参考1(官网)
参考2
参考3
详情
[SAFE-ID: JIWO-2025-1459]   作者: ecawen 发表于: [2018-04-18]

本文共 [756] 位读者顶过

 P2P技术目前运用的相当广泛了,主要实现P2P的方案主要有2种:
  一,使用STUN协议(RFC 3489).
  STUN协议即常说的UDP打洞,基本思想通过公网上安装的一个STUN server(一般有2个IP地址)充当联系人,client首先与公网上的STUN server联系,判断自己处于内网还是公网,若处于内网,则继续与STUN server联系,判断NAT是哪种类型,若是Core nat则支持STUN,若是Symmetic nat则不支持以STUN形式的P2P.
  STUN最成功的案例要属skype,但STUN方案也有不足之处,主要有2点:
  1)需要额外的STUN服务器.
  2)symmetic nat无法穿透.
[出自:jiwo.org]
  二,使用UPNP端口映射技术。
  UPNP直接把一个内网端口映射到一个网关设备的外网IP的一个端口上,任何发送到外网IP的这个端口的数据,都会被自动转发到内网映射的端口上,只要做了端口映射,就无须关心NAT地址转换所带来的麻烦,对于应用程序从端口映射过的内网地址发出的数据,NAT会把从这个内网地址发出的数据IP头改为相应的公网IP和端口(简称IPPORT1),对方响应的数据被发送到IPPORT1,NAT设备又会把数据传给绑定IPPORT1的内网地址. 相比于STUN,UPNP有着以下几点优势:
  1)无需额外的服务器.
  2)开发相比STUN简单.
  使用UPNP需要网关支持UPNP(现在的网关设备还没见过不支持UPNP的).
  windows系列的操作系统已经内置了UPNP的支持,并且为了方便应用程序的调用,提供了一组UPNP的com组件形式.
  emule开源项目是一个P2P共享的文件传输软件,其UPNP模块有两种形式,一是使用操作系统提供的UPNP接口,二是使用miniupnpc(一个upnp开源项目)提供的接口,用于没有提供UPNP功能的操作系统,miniupnpc项目主页上有支持的NAT设备清单,emule优先选择操作系统提供的UPNP接口,若失败,则尝试miniupnpc提供的接口.

评论

暂无
发表评论
 返回顶部 
热度(756)
 关注微信