K:NAT原理与NAT穿越

p2p 网络基础 网络高并发 ➊本文是《P2P理论详解》系列文章中的第2篇,总目录如下: 《P2P技术详解(一):NAT详解——详细原理、P2P简介》 《P2P技术详解(二):P2P中的NAT穿越(打洞)方案详解》 《P2P技术详解(三):P2P技术之STUN、TURN、ICE详解》(本文) ➋P2P相关的其它资源: ... 阅读详情

@装载自:http://blog.youkuaiyun.com/whoamiyang/article/details/51992208

首先需要明确的一点是,NAT不允许外网主机主动访问内网主机

先做一个约定:
内网A中有:A1(192.168.30.112),A2(192.168.30.114)两个用户
网关X1(一个NAT设备)有公网IP222.225.80.51;
内网B中有:B1(192.168.40.112),B2(192.168.40.114)两个用户
网关Y1(一个NAT设备)有公网IP222.225.50,34;.

NAT的简介和原理

简介

NAT即Network Address Translation,它可以让那些使用私有地址的内部网络连接到Internet或其它IP网络上.NAT路由在将内部网络的数据包发送到公用网络时,在IP包的报头把私有地址转换成合法的IP地址.

原理:

当内部网络中的一台主机想传输数据到外部网络时,它先将数据包传输到NAT路由器上,路由器检查数据包的报头,获取该数据包的源IP信息,并从它的NAT映射表中找出与该IP匹配的转换条目,用所选的内部全局地址(全局唯一IP地址)来替换内部局部地址,并转发数据包.
当外部网络对内部主机进行应答时,数据包被送到NAT路由器上,路由器接收到目的地址为内部全局地址(外网IP)的数据包,它将用内部全局地址通过NAT映射表查找内部局部地址,然后将数据包的目的地址替换成内部局部地址(内网私有IP),并将数据包转发到内部主机.

NAT有什么优点和缺点?

优点
  • 对于家庭或小型商业机构,使用NAT可以更便宜,更有效的接入Internet。
  • 使用NAT可以缓解目前全球IP地址不足的问题.
  • NAT能够隐藏内部网络,保证内部网络的安全性.
缺点
  • NAT会增加延迟,因为要转换的每个数据包包头的IP地址,增加了延迟.
  • 导致无法进行端到端IP跟踪.
  • NAT会使某些使用内嵌地址的应用不能正常工作.
NAT的三种类型
静态NAT (一对一)

静态转换:(static Nat):是指将内部网络的私有IP地址转换为公有IP地址,IP地址对是一对一的,是一成不变的,某个私有IP地址只转换为某个公有IP地址,借助静态转换,可以实现外部网络对内部网络中某些特定设备(如服务器)的访问.
假设在A网中A1客户机请求百度具体过程如下:(前提是已经进行过静态NAT配置.)
首先进行DNS解析得到百度的IP为180.97.33.107:4000.接下来的过程如下:
请求过程:

在客户机
192.168.30.112:4000 --> 180.97.33.107:4000
在网关:
222.225.50.81:4000  --> 180.97.33.107:4000
网关上的静态映射表:
192.168.30.112:4000  -->222.225.80.51:4000
根据公网IP,改请求包的源IP. 

回应过程
百度的应用服务器收到请求后,处理请求,回复请求如下:

在百度的应用服务器上:
180.97.33.107:4000   --->222.25.50.81:4000
在网关:
180.97.33.107:4000   --->192.168.30.112:4000 
根据网关上的静态映射表,改变目的IP;
总结

在A网中,网关中只有一个合法的公网IP,在A网中的内网中,就只能有一台pc能通过这个网关访问外网,它们之间是一一对应关系,一个内网IP对应网关的一个公网IP,再进行配置时就已经指定.如果想让内网中的其它pc也能访问外网,那么网关就必须有多个公网IP,并对每台系想访问外网的pc进行静态配置.

动态NAT (多对多)

动态转换是指将内部网络的私有IP地址转换为公用IP地址时,IP地址对并不是一一对应的,而是随机的。所有被管理员授权访问外网的私有IP地 址可随机转换为任何指定的公有IP地址。也就是说,只要指定哪些内部地址可以进行转换,以及用哪些合法地址作为外部地址时,就可以进行动态转换。每个地址 的租用时间都有限制。这样,当ISP提供的合法IP地址略少于网络内部的计算机数量时,可以采用动态转换的方式。
继续假设A网中的A1访问百度.
前提是进行过动态NAT配置. 这里假设网关A上有3个合法的公网IP(222.225.80.51,222.225.80.52,222.225.80.53)
请求过程

在客户机
192.168.30.112:4000 --> 180.97.33.107:4000
在网关:
222.225.80.51:4000  --> 180.97.33.107:4000 //这个公网IP是从配置时指定的公网IP中随机选择的.也有可能会是222.225.80.52或222.225.80.53;
网关上的静态映射表:
192.168.30.112:4000  -->222.225.80.51:4000
根据公网IP,改请求包的源IP. 


回应过程

在百度的应用服务器上:
180.97.33.107:4000   --->222.25.50.81:4000
在网关:
180.97.33.107:4000   --->192.168.30.112:4000 
根据网关上的静态映射表,改变目的IP;
端口多路复用(多对一,目前使用最多的)
 通过使用端口多路复用,可以达到一个公网地址对应多个私有地址的一对多转换。在这种工作方式下,内部网络的所有主机均可共享一个合法外部IP地 址实现对Internet的访问,来自不同内部主机的流量用不同的随机端口进行标示,从而可以最大限度地节约IP地址资源。同时,又可隐藏网络内部的所有 主机,有效避免来自internet的攻击。因此,目前网络中应用最多的就是端口多路复用方式。

A网中的A1,A2同时访问百度
请求过程

在客户机
192.168.30.112:4000  ---> 180.97.33.107:4000
192.168.30.114:4000  ---> 180.97.33.107:4000
在网关
222.225.80.51:2223   ---> 180.97.33.107:4000
222.225.80.51:2345   --->180.97.33.107:4000
网关的映射:
192.168.30.112:4000  ---> 222.225.80.51:2223
192.168.30.114:4000  ---> 222.225.80.51:2345 

回复过程和上面的相同,先由百度应用服务器发给网关,查询映射表,发给对应的pc;

不同NAT 网关后的内部主机如何互访?(P2P如何穿越NAT)?

场景

A网中的A1(192.168.30.112)想访问B网中的B1(192.168.40.112);
假设1:假设A网中A1首先访问B网的网关(222.225.50.34),那么A1又怎么能知道B1的网关是222.225.50.34.好,暂且假设A1知道B1的网关为222.225.50.34,现在请求到了B1的网关,那么它又怎么知道发给A网中的哪个主机pc呢.

向外部固定的服务器注册外部地址和端口号.
  • 首先,A1和B1都要向服务器发起注册,连接中携带用户名,这样服务器收到连接后就能将注册信息中携带的IP地址,端口号和用户名关联,做成一张表:
    eg:A1,B1访问180.34.56.12进行注册.
A1 192.168.30.112:4000  -- > 180.34.56.12:5687  
B1 192.168.40.112:4000  -- > 180.34.56.12:5678

A1的网关映射表: 192.168.30.112:4000   --> 222.225.80.51:2345 
B1的网关映射表:192.168.40.112:4000   --> 222.225.50.34:3245 

在180.34.56.12保存一张表

用户名网关IP端口
A1222.225.80.512345
B1222.225.50.343245
现在假设A1访问B1,先去180.34.56.12检索B1的网关的IP和端口,检索到向其发送连接. 
  • 当数据包到达B1的网关时,根据外网IP和端口查询网关的映射表得到内部IP和端口。
  • 把数据包发给内网对应的pc.

P2P技术详解(一):NAT详解——详细原理、P2P简介(转) 这是一篇介绍NAT技术要点的精华文章,来自华3通信官方资料库,文中对NAT技术原理的介绍很全面也很权威,对网络应用的应用层开发人员而言有很高的参考价值。   《P2P技术详解》系列文章 ➊ 本文是《P2P理论详解》系列文章中的第2篇,总目录如下:   《P2P技术详解(一):NAT详解——详细原理、P2P简介》(本文) 《P2P技术详解(二)... 阅读详情

相关推荐

ubuntu18.04安装xenomai3.1(百分百成功版)

ubuntu18.04安装xenomai3.1(百分百成功版),保姆级教学!!!

h542812556sdu的博客 2065

主机名、网关、主机映射配置

 步骤 实现此案例需要按照如下步骤进行。 步骤一:为本机配置以下固定参数 主机名:svr5.tedu.cn;默认网关:192.168.8.1。 命令操作如下所示: [root@localhost 桌面]# vim /etc/sysconfig/network [root@localhost 桌面]# cat /etc/sysconfig/network NETWORKING=yes HOSTNA...

LIGANG0704的博客 780

STM32CubMX_MQ135检测空气质量

一、MQ135简介 MQ135是测量空气污染情况常用的一个传感器,具有代表性,价格低,寿命长,敏感度也OK,主要用于测量空气中二氧化碳,氮氧化物,氨气,酒精,苯类等。这几样气体可以说都属于家用空气污染测定中的重要成份,因此用这个传感器刚刚好。 MQ135气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在污染气体时,传感器的电导率随空气中污染气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。 注: pm2.5的话要用另外类型

W_Oilpicture的博客 3万+

微服务网关支持默认路由映射总结

1、指定路径path = 微服务serviceId ps:user-services-setting微服务就会被映射到/user/** 路径,也就是/user/开头的请求就会访问到 user-services-settingr微服务 2、测试工具:Postman 【通过path访问-如图所示】 【通过serviceId访问-如图所示】 3、默认路由映射:工程启动即可,无需在网关...

多大爷的博客 763

IC版图设计之OASIS文件格式详解

OASIS(Open Artwork System Interchange Standard)是继GDSII之后新一代的集成电路版图数据交换标准,由SEMI在2004年正式发布(SEMI标准号:SEMI P39)。高压缩率:相比GDSII可减少3-10倍文件体积扩展性强:支持纳米级工艺的复杂图形描述跨平台兼容:独立于EDA工具和操作系统安全增强:内置校验和与加密支持。

ZZcppc的博客 2448

Windows11下QGIS 3.34.4安装Geo-SAM插件全流程(附RTX3060 CUDA12.0配置技巧)

本文详细介绍了在Windows 11系统中为QGIS 3.34.4安装和配置Geo-SAM插件的完整流程,特别针对RTX 3060显卡用户提供了CUDA 12.0与PyTorch环境的精准搭建方案。通过预编码与交互式分割两大核心步骤,该插件能显著提升遥感图像半自动标注的效率,降低硬件门槛,是地理信息处理领域融合AI技术的实用指南。

weixin_29089057的博客 296

NAT技术和代理服务器

NATNAT是地址转换协议,将内网地址转换为公网地址。 简单的说,NAT就是在局域网内部网络中使用内部地址,而当内部节点要与外部网络进行通讯时,就在网关处,将内部地址替换成公用地址,从而在外部公网(internet)上正常使用,NAT可以使多台计算机共享Internet连接,这一功能很好地解决了公共IP地址紧缺的问题。【优点】 1:节省合法的注册地址, 2:在地址重叠时提供解决方案, 3:提

Maple的博客 446

【软件介绍】RVC本地部署使用方法

【摘要】RVC是一款功能强大的开源语音转换工具,具有实时处理、多音效选择、高质量音频处理等特点。文章详细介绍了RVC的安装与使用方法:1)配置Python环境;2)根据电脑系统选择对应安装包解压;3)启动程序进入浏览器操作界面。重点讲解了声音克隆的关键步骤:建议使用短音频素材,选择合适训练方法(推荐pm或rmvpe),设置100次训练轮数,生成的模型文件存入weights文件夹。最后通过上传音频即可实现声音克隆。操作过程需注意保持程序运行状态,并提供了相关资源下载地址。

心动的那一刻,记忆便盛开了花 2982

014. P2P技术详解(二):P2P中的NAT穿越(打洞)方案详解

http://www.52im.net/thread-542-1-1.html《P2P技术详解》系列文章➊ 本文是《P2P理论详解》系列文章中的第2篇,总目录如下:《P2P技术详解(一):NAT详解——详细原理、P2P简介》《P2P技术详解(二):P2P中的NAT穿越(打洞)方案详解》(本文)《P2P技术详解(三):P2P技术之STUN、TURN、ICE详解》➋ P2P相关的其它资源:《通俗易懂:...

EminentBoy的博客 1089

Dify 第 4 篇 Dify 示例:数据库执行Agent

本文介绍了如何在Dify平台创建一个能够执行SQL查询的数据库Agent。通过安装并配置"通义千问"和"数据库"两个插件,实现自然语言到SQL语句的转换和执行。关键步骤包括:1)安装插件并配置API Key;2)设置默认数据库连接(建议使用只读账号);3)准备测试数据表结构。该Agent支持通过工具调用查询表结构、转换自然语言为SQL、执行查询并返回结果,同时提供了CSV查询和HTTP API接口功能。文中还提供了MySQL测试数据表的创建脚本和示例数据。

甘蓝的专栏 1160

SWC_RTE01-AutoSAR架构【AutoSAR架构设计概述】

1 基于AutoSAR架构的概述 1.1架构层面:功能可以细分子功能,各个子功能需要交互。 -大功能可以通过Autosar组件Composition去表示; -各个子功能一般具有不可分割性,可以通过Autosar原子组件Component去表示; -各个子功能的交互可以通过接口去通信和交互; -各个子功能的行为可以通过内部行为去表示;具体表现为Runnable的设计;架构设计的时候不考虑具体的逻辑实现;只会关注Ruannble的触发事件或周期;数据访问的一致性问题;具体逻辑设计可通过模版c文件实现或通过基于

8452

P2P技术详解(一):NAT详解——详细原理、P2P简介

转载自:http://www.52im.net/thread-50-1-1.html这是一篇介绍NAT技术要点的精华文章,来自华3通信官方资料库,文中对NAT技术原理的介绍很全面也很权威,对网络应用的应用层开发人员而言有很高的参考价值。《P2P技术详解》系列文章➊ 本文是《P2P理论详解》系列文章中的第2篇,总目录如下:《P2P技术详解(一):NAT详解——详细原理、P2P简介》(本文)《P2P技...

xiaojun11的专栏 6859

C# NX二次开发-查找连续倒圆角面

可以通过ufun函数 UF_MODL_ask_face_type 和 UF_MODL_ask_face_props 可判断处理选择相应的一组圆角面。在QQ群里有人问怎么通过一个选择一个倒圆角面来自动选中一组倒圆角面。这个是初步思路,如果有更好的思路可回复讨论一下。

fhqiwmc的博客 620

Cisco IOS Unicast NAT 工作原理 [一]

NAT技术的出现源于对私有网络安全性的要求以及IPv4地址不够用的现状。Cisco IOS所支持的常用NAT技术有以下几种。今天发现公司同事对Cisco NAT的实现理解的不好,导致配置出问题。这里就简单讲解一下Cisco NAT的实现原理。 1. static NAT,内部ip地址和外部ip地址的一一对应。 2. dynamic NAT,内部ip地址和外...

weixin_34273479的博客 197

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

015. P2P技术详解(一):NAT详解——详细原理、P2P简介

http://www.52im.net/thread-50-1-1.html这是一篇介绍NAT技术要点的精华文章,来自华3通信官方资料库,文中对NAT技术原理的介绍很全面也很权威,对网络应用的应用层开发人员而言有很高的参考价值。《P2P技术详解》系列文章➊ 本文是《P2P理论详解》系列文章中的第2篇,总目录如下:《P2P技术详解(一):NAT详解——详细原理、P2P简介》(本文)《P2P技术详解(...

EminentBoy的博客 924

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

广域互联网关键技术详解(GRE/LSTP/IPsec/NAT/SAC/SPR)

GRE技术本质上是一种隧道技术。隧道技术类似于一座桥,可以在底层网络(比如:Internet)之上构建转发通道,用户可以自行构建隧道网络,不需要底层网络的管理者(比如:ISP)介入。隧道技术的方案很多,常见的隧道技术有:MPLS,GRE,L2TP,VXLAN等,隧道基本原理如下:L2TP(Layer 2 Tunneling Protocol)协议结合了L2F协议和PPTP协议的优点,是IETF有关二层隧道协议的工业标准。

Lxyand1的博客 3252

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

CIDR与NAT:IPv4时代的空间折叠与身份重写

CIDR(无类别域间路由)和NAT(网络地址转换)是支撑现代互联网运行的两大基础机制。CIDR通过可变长子网掩码实现IP地址的灵活划分与BGP路由聚合,从根本上缓解了IPv4地址枯竭引发的路由表爆炸问题;NAT则在传输层实施源/目的地址与端口的动态映射,既复用有限公网IP,又天然提供边界隐匿与流量编排能力。二者协同构成‘空间折叠’(纵向压缩路由规模)与‘身份重写’(横向抽象通信实体)的技术范式,广泛应用于云VPC规划、混合云互联、Kubernetes服务发现及家庭网络隔离等场景。理解CIDR掩码计算逻辑与N

chuji3953的博客 431

WebRTC技术解析:实时通信原理与应用实践

WebRTC(Web Real-Time Communication)作为现代实时通信的核心技术,通过浏览器原生支持实现零插件的音视频交互。其核心技术包括信令控制(SDP协议)、网络穿透(STUN/TURN)和媒体传输优化(RTP/RTCP),能实现毫秒级延迟的P2P通信。在直播电商、云游戏等高并发场景中,WebRTC通过动态码率调整和抗丢包机制保障流畅体验。随着WebTransport和AV1编码等新技术的引入,WebRTC在8K VR等前沿领域展现出更大潜力。

weixin_34408624的博客 352

CISCO UNICAST NAT工作原理

NAT技术的出现源于对私有网络安全性的要求以及IPv4地址不够用的现状。Cisco IOS所支持的常用NAT技术有以下几种。今天发现公司同事对Cisco NAT的实现理解的不好,导致配置出问题。这里就简单讲解一下Cisco NAT的实现原理。 1. static NAT,内部ip地址和外部ip地址的一一对应。 2. dynamic NAT,内部ip地址...

weixin_34179968的博客 350

从C/S到P2P:构建健壮分布式应用的核心原理与工程实践

在分布式系统与网络编程领域,点对点(P2P)网络架构是一种重要的去中心化通信模型。其核心原理在于摒弃了传统的客户端-服务器(C/S)中心化模式,让网络中的每个节点兼具服务消费者与提供者的双重角色,通过直接交换信息协同工作。这种架构的技术价值在于能显著提升系统的可扩展性与鲁棒性——新节点的加入能为网络贡献资源,理论上实现“越多人用越流畅”,同时避免了单点故障风险。其典型应用场景包括高并发内容分发、去中心化存储、实时通信以及区块链网络等。本文聚焦于实现P2P网络的两大关键技术:NAT穿透与分布式节点发现。NAT

weixin_32247165的博客 250

通信相关文档

➊ 本文是《P2P理论详解》系列文章中的第2篇,总目录如下: 《P2P技术详解(一):NAT详解——详细原理、P2P简介》 《P2P技术详解(二):P2P中的NAT穿越(打洞)方案详解(基本原理篇)》(本文) 《P2P技术详解(三):P2P中的NAT穿越(打洞)方案详解(进阶分析篇)》 《P...

luoyaxing0812的专栏 175

Phi-3 Forest Laboratory部署教程:防火墙/NAT穿透远程访问配置

本文介绍了在星图GPU平台上自动化部署🌿 Phi-3 Forest Laboratory | 森林晨曦实验室镜像的远程访问配置方法。该平台简化了部署流程,用户可快速搭建一个基于微软Phi-3 Mini模型的AI对话应用,实现智能问答、长文本对话等核心功能,并通过配置防火墙或内网穿透,轻松实现安全稳定的远程访问。

weixin_33670640的博客 41

pc端编码表必须为gbk才能正常启动软件_怎样才能优雅的使用BT下载?

首发公号:相逢一醉yyb前言相信不少朋友都遇到过BT下载问题,那么今天我们便来聊聊如何优雅的使用BT下载?今天的分享类目为:1、BitTorrent协议简述2、原理分析3、优化操作4、个人下载BT的方法BitTorrent协议简述2003年,软件工程师Bram Cohen发明了BitTorrent协议,BitTorrent协议,中文全称比特流、简称BT,这是一种网络文件传输协议,与传统的客户端/服...

weixin_39815435的博客 1036

P2P协议简介

最近因为有些需要业务大文件分发,传统文件分发策略都是中心化,要么是推送,要么是拉取,中心节点很容易成为瓶颈,而P2P的点对点,能很好的解决这个问题。

flyingbike的博客 511

P2P技术详解(三):P2P技术之STUN、TURN、ICE详解

➊本文是《P2P理论详解》系列文章中的第2篇,总目录如下: 《P2P技术详解(一):NAT详解——详细原理、P2P简介》 《P2P技术详解(二):P2P中的NAT穿越(打洞)方案详解》 《P2P技术详解(三):P2P技术之STUN、TURN、ICE详解》(本文) ➋P2P相关的其它资源: 《通俗易懂:快速理解P2P技术中的NAT穿透原理》 《最新收集NAT穿越(p2p打洞)免...

蜜汁程序员的博客 622
上一篇: K:DHCP工作过程
下一篇: k:UDP打洞原理
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值