4.8 VPN和NAT
其他
2021-11-22 05:08:09
阅读次数: 0
专用地址
- RFC 1918指明了一些专用地址(private address)。这些地址只能用于一个机构的内部通信,而不能用于和互联网上的主机通信。换言之,专用地址只能用做本地地址而不能用作全球地址。
在互联网中的所有路由器,对目的地址是专用地址的数据报一律不进行转发
。2013年4月,RFC 6890全面地给出了所有特殊用途的IPv4地址,但三个专用地址块的指派并无变化,即
- 10.0.0.0到10.255.255.255 (或记为10.0.0.0/8,它又称为24位块)
- 172.16.0.0到172.31.255.255 (或记为172.16.0.0/12,它又称为20位块)
- 192.168.0.0到192.168.255.255 (或记为192.168.0.0/16,它又称为16位块)
- 上面的三个地址块分别相当于一个A类网络、16个连续的B类网络和256个连续的C类网络
- 采用这样的专用IP地址的互连网络称为专用互联网或
本地互联网
,或更简单些,就叫做专用网。显然,全世界可能有很多的专用互连网络具有相同的专用IP地址,但这并不会引起麻烦,因为这些专用地址仅在本机构内部使用。专用IP地址也叫做可重用地址
(reusable address)
- 虚拟专用网,“虚拟”表示“好像是”,但实际上并不是,因为现在并没有真正使用通信专线,而VPN只是在效果上和真正的专用网一样
VPN的分类
- 由场所A和B的内部网络所构成的 虚拟专用网VPN又称为
内联网
(intranet或intranet VPN,即内联网VPN),表示场所A和B都属于同一个机构
- 有时一个机构的VPN需要有某些外部机构(通常就是合作伙伴)参加进来。这样的VPN就称为
外联网
(extranet或extranet VPN,即外联网VPN)。
- 请注意,内联网和外联网都采用了互联网技术,即都是基于TCP/IP协议的。
- 还有一种类型的VPN,就是
远程接入VPN
(remote access VPN)
网络地址转换NAT
- 讨论另一种情况,就是在专用网内部的一些主机本来已经分配到了本地IP地址,但现在又想和互联网上的主机通信(并不需要加密),那么应当采取什么措施呢?
- 网络地址转换NAT(
Network Address Translation
)方法是在1994年提出的。这种方法需要在专用网连接到互联网的路由器上安装NAT软件
。装有NAT软件的路由器叫做NAT路由器
,它至少有一个有效的外部全球IP地址
。这样,所有使用本地地址的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和互联网连接。
NAT原理示例
- NAT路由器收到从专用网内部的主机A发往互联网上主机B的IP数据报:源IP地址是192.168.0.3,而目的IP地址是213.18.2.4。NAT路由器把IP数据报的源IP地址192.168.0.3,转换为新的源IP地址(即NAT路由器的全球IP地址)172.38.1.5,然后转发出去。因此,主机B收到这个IP数据报时,以为A的IP地址是172.38.1.5。当B给A发送应答时,IP数据报的目的IP地址是NAT路由器的IP地址172.38.1.5。B并不知道A的专用地址192.168.0.3
- 当NAT路由器收到互联网上的主机B发来的IP数据报时,还要进行一次IP地址的转换。通过
NAT地址转换表
,就可把IP数据报上的旧的目的IP地址172.38.1.5,转换为新的目的IP地址192.168.0.3
- 当NAT路由器具有n个全球IP地址时,专用网内最多可以同时有n台主机接入到互联网。这样就可以使专用网内较多数量的主机,轮流使用NAT路由器有限数量的全球IP地址
- 显然,通过NAT路由器的通信必须由
专用网内的主机
发起。设想互联网上的主机要发起通信,当IP数据报到达NAT路由器时,NAT路由器就不知道应当把目的IP地址转换成专用网内的哪一个本地IP地址。这就表明,这种专用网内部的主机不能充当服务器用
,因为互联网上的客户无法请求专用网内的服务器提供服务。
NAPT
- 为了更加有效地利用NAT路由器上的全球IP地址,现在常用的NAT转换表把运输层的端口号也利用上。这样,就可以使多个拥有本地地址的主机,共用一个NAT路由器上的全球IP地址,因而可以同时和互联网上的不同主机进行通信[COME06]
- 使用端口号的NAT也叫做网络地址与端口号转换NAPT(Network Address and Port Translation)
- NAPT把专用网内不同的源IP地址都转换为同样的全球IP地址。但对源主机所采用的TCP端口号(不管相同或不同),则转换为不同的新的端口号。因此,当NAPT路由器收到从互联网发来的应答时,就可以从IP数据报的数据部分找出运输层的端口号,然后
根据不同的目的端口号
,从NAPT转换表中找到正确的目的主机
NAPT地址转换表举例
方向 |
字段 |
旧的IP地址和端口号 |
新的IP地址和端口号 |
出 |
源IP地址:TCP源端口 |
192.168.0.3:30000 |
172.38.1.5:40001 |
出 |
源IP地址:TCP源端口 |
192.168.0.4:30000 |
172.38.1.5:40002 |
入 |
目的IP地址:TCP目的端口 |
172.38.1.5:40001 |
192.168.0.3:30000 |
入 |
目的IP地址:TCP目的端口 |
172.38.1.5:40002 |
192.168.0.4:30000 |
- 从层次的角度看,NAPT的机制有些特殊。普通路由器在转发IP数据报时,对于源IP地址或目的IP地址都是不改变的。但NAT路由器在转发IP数据报时,一定要更换其IP地址(转换源IP地址或目的IP地址)。其次,普通路由器在转发分组时,是工作在网络层。但NAPT路由器还要查看和转换运输层的端口号,而这本来应当属于运输层的范畴。也正因为这样,NAPT曾遭受了一些人的批评,认为NAPT的操作没有严格按照层次的关系。但不管怎样,NAT(包括NAPT)已成为互联网的一个重要构件
转载自blog.csdn.net/rakish_wind/article/details/120231109