P2P网络“自由”穿越NAT的“秘密”原理

  NAT是为了节省IP地址而设计的,但它隐藏了内网机器的地址,“意外”起到了安全的作用,由于客户端是主动登录P2P网络才可穿越,所以P2P的方式也没有违背企业的内部管理原则……

穿越NAT的意义

NAT是为了节省IP地址而设计的,但它隐藏了内网机器的地址,“意外”起到了安全的作用。对外不可见,不透明的内部网络也与互联网的“公平”应用,“相互共享”的思想所不容,尤其是P2P网络中“相互服务”的宗旨,所以穿越NAT,让众多内部网络的机器也参与到P2P网络中的大集体中来,一直是P2P开发者的所希望的。穿越NAT需要借助外部的支持,说白了就是“内外勾结”,骗过NAT。很多P2P网络成功地实现了这一目标,但还是有一些“遗憾”---并非所有的情况下都可以。由于客户端是主动登录P2P网络才可穿越,所以P2P的方式也没有违背企业的内部管理原则,毕竟“自由世界”的加入都是自觉自愿的。

NAT原理

NAT(Network Address Translation)网络地址转换/网络地址翻译。

工作原理:NAT主要的通过对数据包头的地址替换来完成内网计算机访问外网服务的。当内部机器要访问外部网络时,NAT设备把内部的IP1与端口号1(网络层地址与传输层地址),转换成NAT的外部IP2与新的端口号2,再送给外部网络,数据返回时,再把目的为IP2:端口2的数据包替换为IP1:端口1,送给内网机器。若通讯协议的内容中有IP地址的传递,如FTP协议,NAT在翻译时还要注意数据包内涉及协议地址交互的地方也要替换,否则协议就会出现地址混乱。在NAT设备中维护了这个要替换地址的映射表,并根据内部计算机的通讯需求维护该表。外部网络来数据包能否进入NAT,主要是看是否已经有可映射的表项,若没有就会丢弃。

时间: 2024-10-08 10:51:05

P2P网络“自由”穿越NAT的“秘密”原理的相关文章

P2P网络穿越 NAT穿越

http://blog.csdn.net/mazidao2008/article/details/4933730 —————————————————————————————————————————————————————————————— 穿越NAT的意义: NAT是为了节省IP地址而设计的,但它隐藏了内网机器的地址,“意外”起到了安全的作用.对外不可见,不透明的内部网络也与互联网的“公平”应用,“相互共享”的思想所不容,尤其是P2P网络中“相互服务”的宗旨,所以穿越NAT,让众多内部网络的机器

多媒体通信之网络防火墙穿越知多少?

为什么今天要回顾下有关网络防火墙穿越的问题?因为在日常的项目工作及运维中碰到了有关网络穿越的问题,比如华为办公电话系统外网移动终端接入开视频会议及拨打电话,华为高清视频会议系统外网终端接入开视频会议,这些场景的实现都离不开一个东西-公网与私网穿越!本篇简要回顾和总结一下网络防火墙穿越的背景,原理和解决方案,思维导图如下. 防火墙知识回顾,什么是防火墙? 防火墙指的是一个由软件和硬件设备组合而成.在内部网和外部网之间.专用网与公共网之间的界面上构造的保护屏障,它是一种计算机硬件和软件的结合,使In

UDP穿越NAT原理(p2p)

转载自:http://blog.csdn.net/ldd909/article/details/5979967 论坛上经常有对P2P原理的讨论,但是讨论归讨论,很少有实质的东西产生(源代码).在这里我就用自己实现的一个源代码来说明UDP穿越NAT的原理. 首先先介绍一些基本概念: NAT(Network Address Translators),网络地址转换:网络地址转换是在IP地址日益缺乏的情况下产生的,它的主要目的就是为了能够地址重用.NAT分为两大类,基本的NAT和NAPT(Network

P2P之UDP穿透NAT的原理与实现

论坛上经常有对P2P原理的讨论,但是讨论归讨论,很少有实质的东西产生(源代码).呵呵,在这里我就用自己实现的一个源代码来说明UDP穿越NAT的原理. 首先先介绍一些基本概念: NAT(Network Address Translators),网络地址转换:网络地址转换是在IP地址日益缺乏的情况下产生的,它的主要目的就是为了能够地址重用.NAT分为两大类,基本的NAT和NAPT(Network Address/Port Translator). 最开始NAT是运行在路由器上的一个功能模块. 最先提

【转】P2P之UDP穿透NAT的原理与实现(附源代码)

作者:shootingstars (有容乃大,无欲则刚)  日期:2004-5-25 出处:P2P中国(PPcn.net) P2P 之 UDP穿透NAT的原理与实现(附源代码)原创:shootingstars参考:http://midcom-p2p.sourceforge.net/draft-ford-midcom-p2p-01.txt 论坛上经常有对P2P原理的讨论,但是讨论归讨论,很少有实质的东西产生(源代码).呵呵,在这里我就用自己实现的一个源代码来说明UDP穿越NAT的原理. 首先先介绍

P2P之UDP穿透NAT的原理与实现之我见

P2P之UDP穿透NAT的原理与实现之我见: 下面先强调3个概念, 非常重要,红字为重点 1.主机1想向主机2发送数据:从主机1开始——到NAT1——到外网——到NAT2,到了NAT2这里,主机1向主机2发送的数据就会丢弃了,为什么呢?NAT2在此时相当于一个防火墙,为了安全,对于主机1发送过来的数据会做丢弃处理. 这时候主机1想要和主机2通讯有两种方法: 1. 在路由上做端口映射,把通讯需要的端口映射到主机2(这个对于在内网玩过远控的人都知道吧) 2. 在NAT2处进行“打洞”,意思把通讯需要

第10讲 | 深入区块链技术(二):P2P网络

在上一篇文章中,我大致讲解了一下区块链技术的几个核心要素.P2P网络协议.分布式一致性算法(共识机制).加密签名算法.账户与存储模型.今天我们就来看看区块链技术的第一个核心要素:P2P网络. 如果我们简单来看P2P技术,它的应用领域已经非常广泛了,从流媒体到点对点通讯.从文件共享到协同处理,多种领域都有它的身影出现. 同样的,P2P的网络协议也有很多,比较常见的有BitTorrent.ED2K.Gnutella.Tor等,也就是我们常说的BT工具和电驴. 比特币.以太坊等众多数字货币都实现了属于

[转]SIP穿越NAT&FireWall解决方案

原文链接(也是转载)http://blog.csdn.net/yetyongjin/article/details/6881491.我修改了部分错字. SIP从私网到公网会遇到什么样的问题呢? 1. 包的地址转换.2. SIP消息里面的SIP地址转换.3. SIP消息里面的SDP中的RTP地址转换. 网络现存结构复杂,SIP服务提供商并不一定是NETWORK提供商,很难要求客户只能使用某种方式的NAT&FireWall.如何找出一种可以满足各种网络的SIP应用解决方案呢? NAT和Firewal

《Nodejs开发加密货币》之八:一个精巧的p2p网络实现

发布本文时,比特币价格 ¥2909.92 / $448.29 .为什么一个凭空设计出来的加密货币如此受追捧?为什么微软.IBM等巨头纷纷进入?为什么尝试了解比特币的技术人员,都会被深深吸引?它到底有什么诱人之处?<Nodejs开发加密货币>,让我们一起探索其背后的密码. <Nodejs开发加密货币>,目的是提供加密货币(亿书币)的详尽开发文档,涉及到使用Nodejs开发产品的方方面面,从前端到后台.从服务器到客户端.从PC到移动.从IO密集型到计算密集型.从中心化到去中心化.加密解