网络地址转换NAT

1、局域网内主机如何与互联网上主机通信

  假设局域网内主机分配到本地IP地址,但想和互联网上的主机通信。那么应当采取什么措施呢?
  最简单的办法就是设法申请一些全球IP地址。但这几乎无法做到,因为IPv4地址资源很早就被列强瓜分完毕(ipv4地址满打满算只有42.9亿,去掉保留地址,组播地址,能用的只有36亿分。据说我们全国的全球IPv4不及美国一所大学的IPv4 地址数量)。目前使用得最多的方法是采用网络地址转换。
  网络地址转换NAT(Network Address Translation)方法是在1994年提出。这种方法需要在局域网连接到互联网的路由器上安装NAT软件(目前大部分路由器都有此功能)。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址。这样,所有使用本地地址的主机在和外界通信时,都在NAT路由器上将其本地地址转换成全球IP地址,才能和互联网连接。
在这里插入图片描述

如上图,局域网内主机 A 的 IP 地址为 192.168.0.3,NAT 路由器有一个全球 IP 地址 172.38.1.5。NAT路由器收到从局域网内主机 A 发往互联网上主机 B 的数据报:源 IP 地址是 192.168.0.3,目的 IP 地址是 213.18.2.4。NAT 路由器把IP数据报的源IP地址192.168.0.3,转换为新的源IP地址 172.38.1.5(即NAT路由器的全球IP地址),然后转发出去。因此 B 收到这个IP数据报时,以为 A 的IP地址是 172.38.1.5 。当 B 给 A 发送应答时,IP 数据报的 目的 IP 地址就是NAT路由器的IP 地址。

NAT地址转换表举例

方向字段旧的IP地址新的IP地址
源IP地址192.168.0.3172.38.1.5
目的IP地址172.38.1.5192.168.0.3

2、网络地址转换与端口号转换

  上述的案例只是一个内网IP对应一个公网ip的转换方法,当一个子网内有很多主机需要连入互联网,就需要加入端口号才能对新旧IP形成映射关系。
NAPT地址转换举例

方向字段旧的IP地址和端口号新的IP地址和端口号
源IP地址:源端口192.168.0.3:3000172.38.1.5:4001
源IP地址:源端口192.168.0.4:3000172.38.1.5:4002
目的IP地址:目的端口172.38.1.5:4001192.168.0.3:3000
目的IP地址:目的端口172.38.1.5:4002192.168.0.4:3000

  从表中可以看出192.168.0.3主机向互联网发送IP数据报,其传输层端口号选择为3000。NAT路由器把源IP和端口号都进行转换(TCP,UDP原理一样,此处不分是哪种端口号)。另一台主机192.168.0.4也选择了通用的传输层端口3000。与另一台主机使用的端口号相同,纯属巧合(端口仅在本主机有意义)。NAT路由器把内网中不同的源IP地址都转换为相同的全球IP地址。但对源主机所采用的端口号(不管相同或者不同),则转换为不同的新的端口号。当收到应答报文时,就可以从IP数据报的数据部分找出传输层端口号,然后根据不同的端口号从转换表中找到真正的目的主机。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值