NAT网络地址转换学习

转自:https://blog.csdn.net/g_super_mouse/article/details/109865408

https://zhuanlan.zhihu.com/p/26992935

1.简介

NAT(Network Address Translation,网络地址转换),在内网中已经分配了IP地址(即仅在本专用网内使用的专用地址),想上网那么就需要用到NAT技术。

需要NAT路由器,至少有一个有效的外部全球IP地址。所有使用本地地址的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网连接。

缓解了IPv4地址不足的问题,并且有效防止外部攻击,隐藏内部的计算机(因为外界只能看到公网ip地址)。

名词解释:

NAT技术:正常数据转发时,IP头部的源和目的地址以及端口号是不会被更改的;而使用了NAT技术后,它将更改头部内容以达实现隐藏内外部主机真实地址、多台主机共享少量IP访问内外部网络、解决IP地址空间重叠、服务器负载均衡等功能。(会更改IP数据包头部内容)

2.实现方式

2.1 静态转换

 

 内网与外网1v1的转换,并不节省外网地址,一般不用。

2.2 动态转换

 

当内外网之间传输数据时,从外网IP池中选择ip与内网ip建立映射,当通信结束时,将ip放回到公网ip池中。

2.3 端口映射

 

内网所有主机可共享同一外网ip地址,通过不同的端口映射,那么如何将大量的内部地址,映射成少量的外部地址?

对于TCP/UDP传输层,它这个地方的port是用来和上层软件联系的,端口号23,对应了Telnet;端口号80,对应了Http等等。(所以我就有疑问了,这是怎么搞的?那怎么映射呢?传输层目的port不能更改,不太懂。)

3.局限性

  1. 在一个具有NAT功能的路由器下的主机并没有建立真正的端对端连接,并且不能参与一些因特网协议。
  2. NAT违反了IP地址结构模型的设计原则。IP地址结构模型的基础是每个IP地址均标识了一个网络的连接。但NAT可能就很多主机使用相同的IP地址。
  3. NAT使得IP协议从面向无连接变成面向连接。NAT必须维护专用IP地址与公用IP地址以及端口号的映射关系。(无连接是指无需维护状态信息,如果路由器出现错误,那么就有问题?)
  4. NAT违反了基本的网络分层结构模型的设计原则。因为在传统的网络分层结构模型中,第N层是不能修改第N+1层的报头内容的。(自顶向下,下面的不能更改上层的协议内容)

 

posted @ 2021-03-02 08:47  lypbendlf  阅读(292)  评论(0编辑  收藏  举报