计算机网络基础(七)---网络层-网络地址转换NAT技术

文章内容概览

在这里插入图片描述

因为IP地址不够用了,所以才使用到了网络地址转换NAT技术

  • IPv4最多有40+亿个IP地址(如果合理使用,一般是不会不够用的)
  • 早期IP地址的不合理规划导致IP号浪费

在之前的文章中介绍到,网络的边缘部分有家庭网络,有终端设备、路由器、网关、地区ISP

在实际情况下,其实很多的家庭只有「一个」外网的IP地址。那么,很多的内网设备是如何进行通信的?

因为我们知道网络层在进行通信的时候,需要有一个唯一的IP地址,这个时候,一个家庭如果只有一个IP地址,是如何使那么多的终端设备都连接到互联网的?这个问题是需要解决的

在这里插入图片描述
除了家庭以外,对于公司来说,很多时候,IP地址也是不够用的,不足以支持公司里边那么多的终端设备(手机、笔记本、路由器等等他们都需要有一个唯一的IP地址)。那么公司的这么多的设备是如何连接到互联网的?

在这里插入图片描述

内网地址和外网地址

IP地址其实可以分为两类:「内网地址」和「外网地址」

「内网地址」

  • 内部机构使用(如家庭里的笔记本、手机、iPad等都是使用内网地址)
  • 避免与外网地址重复

「外网地址」

  • 全球范围使用的(全球唯一的)
  • 全球公网唯一
内网地址
  • 内网地址还可以分为三类(A、B、C三类)
  • 10.0.0.0 ~ 10.255.255.255(支持千万数量级设备)
  • 172.16.0.0 ~ 172.31.255.255(支持百万数量级设备)
  • 192.168.0.0 ~ 192.168.255.255(支持万数量级设备)

因为内网地址主要是给内部机构所使用的,所以A公司和B公司的内网地址是可以有一样的。同样的,对于不同的家庭,他们的内网地址也是可以有一样的,并不会引起冲突

对于公司,它可以在外部使用全球唯一的外网IP,但是在内部使用内网地址(家庭也是一样)。这样就可以解决,「不同设备连接互联网的问题」

在这里插入图片描述
虽然通过这种方法,每一个设备,都分配了一个IP地址,但是使用内网地址又会引发另一个问题:「内网多个设备使用一个外网IP请求外网的服务,外部怎么知道具体是哪个设备在请求的?」

这个就需要使用本文主要介绍的「网络地址转换NAT技术」

网络地址转换NAT技术

  • 网络地址转化NAT(Network Address Translation)
  • NAT技术用于多个主机通过一个公有IP访问互联网的私有网络
  • NAT减缓了IP地址的消耗,但是增加了网络通信的复杂度
NAT技术具体是如何解决这个问题的

假设有一个计算机和一个手机,通过路由器连接到外部网络,假设外部的IP地址是173.21.59.10。两个内部终端设备的IP地址分别为:192.168.2.10和192.168.2.11

在这里插入图片描述
在这里插入图片描述

在介绍通过NAT技术解决上边提到的问题之前,需要先了解一个概念:「端口」(port)

端口是每一个进程在进行网络请求的时候的一个概念,通过端口就可以指定是某一个设备具体的哪一个进程在使用网络。有了端口的概念,就可以了解NAT技术了

假设192.168.2.11:6666这个进程在使用网络,它发出的网络报文地址将会是:192.168.2.11:6666,但是这个地址在来到路由器之后,就会被替换成新的地址和端口号,新IP地址是173.21.59.10,假设新的端口为16666。通过路由器,刚才所发送的数据,会以新的地址和端口号发送到网络中。在目的计算机中,它识别的是新的IP地址和端口号,并不识别旧的IP地址和端口号,因为在路由器中进行了IP地址和端口的替换。所以外部其实是和173.21.59.10来进行通信的

当目的计算机处理完数据之后,会将结果发送给173.21.59.10:16666,路由器接收到数据之后,又会进行一次地址和端口的转换,那么内部的设备也就获取到了请求的数据

因此NAT技术其实就是将内网IP地址的网络请求,在「本地路由器」内部进行了一次IP地址和端口的转换,当接收到返回结果之后,再将IP地址和端口转换回来,发送给请求的设备。这个做映射的表,称为「NAT表」

在这里插入图片描述

这个技术其实是非常常用的,比如我们在本机安装虚拟机,使用虚拟机通信的时候,使用的就是NAT技术来进行通信的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

!一直往南方开.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值