【网络层】虚拟专用网VPN和网络地址转换NAT

目录

1、虚拟专用网VPN

2、网络地址转换NAT


1、虚拟专用网VPN

        本地地址和全球地址:

        我们都知道,全球的 IP 地址是稀缺的,一个机构能够申请到的 IP 地址数往往远小于本机构所拥有的主机数。此外,互联网并不很安全,一个机构也并不需要把所有的主机都接入到外部的互联网。所以,计算机仅在机构内部使用时就可以由本机构自行分配其 IP 地址

        这些仅在本机构有效的 IP 地址就称为本地地址,而向互联网的管理机构申请的 IP 地址全球就称为 全球地址//全球 IP 地址具有唯一性

        不过,本地 IP 地址不是任意选择的,因为如果任意选择 IP 地址作为本地地址,当需要和互联网连接时,本地地址就有可能和互联网中的某个 IP 地址重合,从而产生地址的二义性问题。

        所以,为了解决地址的二义性问题,RFC 1918 指明了一些专用地址(private address)。这些地址只能用于一个机构的内部通信,而不能用于和互联网上的主机通信。也就是说,专用地址只能用作本地地址而不能用作全球地址。在互联网中的所有路由器,对目的地址是专用地址的数据报一律不进行转发

        2013 年 RFC 6890 给了以下三个 IPv4 专用地址块:

        (1)10.0.0.0/8,即从10.0.0.010.255.25.255

        (2)172.16.0.0/12,即从 172.16.0.0 172.31.255.255

        (3)192.168.0.0/16,即从 192.168.0.0 192.168.255.255

        上面的三个地址块分别相当于原来的 1 个 A 类网络、16 个连续的 B 类网络和 256 个连续的 C 类网络。

        专用网和虚拟专用网VPN:

        采用专用 IP 地址的互连网络称为专用网。全世界有很多的专用网络具有相同的 IP 地址,但这并不会产生什么问题,因为这些专用地址仅在本机构内部使用。

        有时,一个机构的许多部门分布的范围很广,而部门之间经常要互相交换信息,因此,会利用公用的互联网作为本机构各专用网之间的通信载体,这样的专用网又称为虚拟专用网 VPN(Virtual Private Network)

        所谓虚拟,就是实际上并不是,因为并没有真正使用通信专线,VPN 只是在效果上和真正的专用网一样,它借助公用的互联网作专用网之间的通信载体。

        使用 IP 隧道技术实现虚拟专用网络举例:

        假如某个机构在两个相隔较远的场所建立了专用网 A 和 B,其网络地址分别为专用地址 10.1.0.0 10.2.0.0。那么怎样才能将这两个场所通过公用的互联网构成一个 VPN 呢?

        答案是,使用 IP 隧道技术。

        如上图所示,数据报从 R1 传送到 R2 可能要经过互联网中的很多个网络和路由器。但从逻辑上看,在 R1 到 R2 之间好像是一条直通的点对点链路,也就是所谓的隧道

        两个不同的专用网之间要进行相互通信,那么,每一个专用网至少要有一个路由器具有合法的全球 IP 地址,如图中的 R1 和 R2,路由器 R1 和 R2 在专用网内部网络的接口地址则是专用网的本地地址。//通往互联网的路由器的IP地址也就是网关地址

        在每一个专用网内部的通信都不会经过互联网,但如果专用网 A 的主机要和另一个专用网 B 的主机 Y 通信,那么就必须经过路由器 R1 和 R2。

        如图所示,主机 X 向主机 Y 发送的 IP 数据报的源地址是 10.1.0.1,而目的地址是 10.2.0.3。这个数据报先从 X 发送到与互联网连接的路由器 R1。路由器 R1 收到内部数据报后,发现其目的网络必须通过互联网才能到达,就把整个的内部数据报进行加密,然后重新加上数据报的首部,封装成为在互联网上发送的外部数据报,其源地址是路由器 R1 的全球地址 125.1.2.3,而目的地址是路由器 R2 的全球地址 194.4.5.6。路由器 R2 收到数据报后将其数据部分取出进行解密,恢复出原来的内部数据报(目的地址是 10.2.0.3),交付主机 Y。//VPN数据发送流程

        可见,虽然 X 向 Y 发送的数据报通过了公用的互联网,但在效果上就好像是在本部门的专用网上传送一样。

        VPN 的简单分类:

        由同一个机构的专用网络组成的 VPN 称为内联网 VPN,如果 VPN 还连接了其他机构的专用网络,这样的 VPN 就称为外联网 VPN,不管是内联网还是外联网,它们都采用了互联网技术,即都是基于 TCP/IP 协议的。

        此外,还有一种类型的 VPN,就是远程接入VPN(remote access VPN),这种 VPN 我们工作中常用。当我们连接互联网后,通过个人电脑中的 VPN 软件就可以在个人电脑和公司的主机之间建立 VPN 隧道,然后在个人电脑上就可以访问到公司的内部网络,它的工作原理也是使用了隧道技术。

2、网络地址转换NAT

        使用网络地址转换 NAT (Network Address Translation)需要在专用网连接到互联网的路由器上安装 NAT 软件。装有 NAT 软件的路由器叫作 NAT 路由器,它至少有一个有效的外部全球 IP 地址。这样,所有使用本地地址的主机在和外界通信时,都要在 NAT 路由器上其本地地址转换成全球IP 地址,才能和互联网连接。//使用NAT软件可以将本地地址转换为全球地址,从而和互联网通信

        NAT 路由器的工作原理:

        如下图,专用网 192.168.0.0 内所有主机的 IP 地址都是本地 IP 地址 192.168.x.xNAT 路由器的全球 IP 地址是 172.38.1.5,注意,NAT 路由器至少要有一个全球 IP 地址,当然,也可以有多个全球 IP 地址。

        NAT 路由器收到从专用网主机 A 发往互联网上主机 B 的 IP 数据报:源地址 S = 192.168.0.3(本地地址),而目的地址 D = 213.18.2.4(全球地址)

        NAT 路由器通过内部的 NAT 转换表,把专用网的 IP地址 192.168.03,转换为全球 IP 地址 172.38.1.5 后,改写到数据报的首部中作为新的源地址,然后把新的数据报转发出去。//地址转换

        主机 B 收到 IP 数据报后,发回应答,B 发送的 IP 数据报的源地址就是自己的地址:S = 213.18.2.4,目的地址就是刚才收到的数据报的源地址,因此现在 D = 172.38.1.5。请注意,B 并不知道 A 的专用地址 192.168.0.3//注意,此时的B是全球地址

        当 NAT 路由器收到 B 发来的 IP 数据报时,还要进行一次 IP 地址的转换。通过 NAT 转换表,把收到的 IP 数据报使用的目的地址 D= 172.38.1.5 转换为专用网内部的目的地址 D=192.168.0.3(即主机 A 真正的本地 IP 地址),然后发送到 A。//地址转换

        那如果一个专用网内有多台主机想要和外部进行通信呢?怎样分配全球地址?

        根据 NAT 路由器的工作原理,我们知道,当 NAT 路由器具有 n 个全球 IP 地址时,专用网内最多可以同时有 n 台主机接入到互联网。如果专用网内有较多数量的主机,那么就轮流使用 NAT 路由器有限数量的全球IP 地址。//如果只有一个全球地址,那么同一时间仅允许一个主机通信

        显然,通过 NAT 路由器的通信必须由专用网内的主机发起。设想如果有专用网上外面的主机要发起通信,当 IP 数据报到达 NAT 路由器时,NAT 路由器就不知道应当把目的 IP 地址转换成专用网内的哪一个本地 IP 地址。这就表明,专用网内部的主机不能直接充当服务器用

        网络地址与端口号转换 NAPT(Network Address and Port Translation):

        NAPT 是为了更加有效地利用 NAT 路由器上的全球 IP 地址,它在 NAT 转换表中增加了端口号。这样,就可以使多个拥有本地地址的主机,共用 NAT 路由器上的一个全球IP 地址,因而可以同时和互联网上的不同主机进行通信。

        使用端口号的 NAT 叫作网络地址与端口号转换 NAPT,NAPT 的地址转换机制如下表所示:

        如上表所示,在专用网内主机 192.168.0.3 向互联网发送 IP 数据报,其 TCP 端口号选择为 30000。NAPT 把源 IP 地址和 TCP 端口号都进行转换。另一台主机 192.168.0.4 也选择了同样的 TCP 端口号 30000(端口号仅在本主机中才有意义)。

        现在 NAPT 把专用网内不同的源 IP 地址都转换为同样的全球 IP 地址,但对源主机所采用的 TCP 端口号则转换为不同的新的端口号。因此,当 NAPT 路由器收到从互联网发来的应答时,就可以从 IP 数据报的数据部分找出运输层的端口号,然后根据不同的目的端口号,从 NAPT 转换表中找到正确的目的主机。//NAPT工作原理,通过端口号划分主机

        至此,全文结束。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

swadian2008

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

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

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

打赏作者

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

抵扣说明:

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

余额充值