首页 > 其他 > 详细

网络去中心化技术p2p架构之NAT原理

时间:2020-07-08 10:27:29      阅读:79      评论:0      收藏:0      [点我收藏+]

NAT原理

NAT:网络地址转换,公网地址映射为私网地址。网络通信拓扑图如下图所示,

技术分享图片

图中私网内部网络是192.168.1.0的网络,路由器公网IP112.93.114.23,服务器公网IP120.94.24.180。服务器发送数据与路由器公网 IP 时,能够将数据映射到私网中的机器;私网内的机器发送数据给服务器,路由器也能够映射为公网 IP 地址的过程,成为网络地址映

射。

NAT原理:

   如何标识一个私有网络机器的网络进程?IP+port端口号

   当一个私有网机器上的操作系统中的网络进程访问公网服务器的IP120.94.24.180时,NAT路由器会为每一个网络进程分配一个网络IP和端口,使得私网机器与公网服务器进行通信。以上图为例:如果将路由器生成的映射表可模拟NAT路由器分配表示如下。在这里是举例,与实际上的路由表不同

{192.168.1.2:23234, 112.93.114.23:23423}

{192.168.1.3:24512, 112.93.114.23:43418}

{192.168.1.4:12543, 112.93.114.23:33446}

{192.168.1.5:44523, 112.93.114.23:43478}

如果是同一台私网机器上的多个网络进程与公网服务器进行通信时,NAT路由器会为每一个网络进程分配相应的端口号和公网服务器通信,比如同时开起来QQ和头条NAT映射表可模拟NAT路由器分配表示为:

QQ{192.168.1.2:23234, 112.93.114.23:23423}

头条:{192.168.1.2:24563, 112.93.114.23:43418}

 

当公网的服务器与私网网络进程通信时,也是通过NAT路由器的路由表进入私网到达网络进程。由此可见,NAT理论的诞生在一定的程度上缓解了IPv4地址耗尽的问题。

 

NAT的实现:实现方案可分为1.静态转换;2.动态转换;3.端口地址映射;具体实现如下

1:静态转换(路由器会为每个私网IP静态配置一个公网IP,这意味着私网IP地址有多少,与之对应就需要静态配置多少公网IP地址,这种实现并不能节省公网IP地址),则上图的NAT静态映射表为:

 

{192.168.1.2, 112.93.114.23}

 

{192.168.1.3, 112.93.114.24}

 

{192.168.1.4, 112.93.114.25}

 

{192.168.1.5, 112.93.114.26}

 

2:动态转换

 

   动态转换时会将可分配的公网IP地址生成一个公网IP地址池,当私网机器网络进程访问公网服务器时NAT路由器会随机从公网IP地址池分配一个公网IP地址给这个网络进程使用,当数据传输结束后收回,这个公网IP才能被分配给其他网络进程使用。

 

假设这个公网IP地址池有三个公网IP课被分配,公网IP池:

 

{ 112.93.114.23}

 

{112.93.114.24}

 

{ 112.93.114.25}

 

NAT静态映射表可模拟NAT路由器分配表示为:

 

{192.168.1.2, 112.93.114.23}

 

{192.168.1.3, 112.93.114.24}

 

{192.168.1.4, 112.93.114.25}

 

{192.168.1.5, 112.93.114.24}

 

3:端口地址映射

 

       NAT路由器会对私网机器与公网机器通信的源端口号进行端口转换。这样的实现有两个优点:1,节省公网IP地质资源;2,隐藏私网机器,避免其他公网机器攻击。

 

NAT静态映射表可模拟NAT路由器分配表示为:

 

{192.168.1.2:23234, 112.93.114.23:23423}

 

{192.168.1.3:24512, 112.93.114.23:43418}

 

{192.168.1.4:12543, 112.93.114.23:33446}

 

{192.168.1.5:44523, 112.93.114.23:43478}

 

NAT种类

 

   从NAT的实现分了静态转换、动态转换、端口地址映射这三类,这是从技术实现的角度上看。从NAT功能的角度上可分为4类:完全锥形NAT、对称NATIP限制锥形NAT、端口限制锥形NAT

 

通信模型拓扑图为:

技术分享图片

1.完全锥形NAT: 同一私网机器不同网络进程访问不同的服务器都会产生不同的映射关系。

 

   当私网中的机器与公网中的机器网络通信时,NAT路由器将后续的网络进程{私网IP:port端口号1}{私网IP:port端口号2}报文转换成{公网IP:port端口号1}{公网IP:port端口号2};只要公网中的机器发报文到对应的{公网IP:port端口号}都会转发给这台私网机器,这样的网络通信模型被称为完全锥形NAT.

2.对称NAT: 同一私网机器网络进程同一个端口访问不同的服务器都会产生不同的映射关系。

 

   当私网中的一台机器与公网中的多台机器网络通信时,这台私网机器与每一个公网机器通信的网络进程,NAT路由器会转换成112.93.114.23:43478112.93.114.23:33446112.93.114.23:43418;这时每个网络通信的网络进程都是一个连接。强调即使网络进程同一个端口访问不同的服务器都会产生新的映射关系,这样的网络通信模型称为对称NAT。举例一个网络通信连接的网络通信拓扑图如下:

 

技术分享图片

3.限制锥形NAT,IP限制锥形NAT

 

    192.168.1.23这台机器与120.94.23.180这台server1网络通信,经过NAT路由器地址转换,192.168.1.23:23452会产生一个映射112.92.114.33:20588。当这台私网机器没有给120.23.43.114 这台server2发送报文,server2发送发送数据到112.92.114.33:20588时,数据会被NAT路由器丢弃,这样的NAT模型称为限制锥形NAT。只有当这台私网机器给120.23.43.114 这台server2发送报文后,才可以收到server2发送的网络数据。

4.端口限制NAT:

 

     IP 限制锥型 NAT 的基础上,又添加了一层端口限制。只有私网机器网络进程发送数据给公网机器(120.94.23.180)的其他端口,NAT 路由器生成一条 NAT 记录,才允许该端口的数据报文到达网络进程

 

    场景:server 120.94.23.1808080120.94.23.1808090都对外提供服务.

 

网络去中心化技术p2p架构之NAT原理

原文:https://www.cnblogs.com/will287248100/p/13264631.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!