4.8 虚拟专用网络VPN和网络地址转换NAT

思维导图:

**4.8 虚拟专用网 VPN 和网络地址转换 NAT**

**4.8.1 虚拟专用网 VPN**

****定义**:

  • VPN(Virtual Private Network,虚拟专用网)是一种通信方式,让远程用户通过公共网络(例如互联网)安全地访问内部网络资源,同时保持内部网络的私密性和安全性。**

****背景**:

  • 由于 IP 地址的紧缺,机构所能申请的 IP 地址数远小于其所拥有的主机数。
  • 考虑到互联网的安全性问题,不是所有的主机都需要连接到外部的互联网。
  • 使用专用地址或本地地址可以节约全球 IP 地址资源。**

****专用地址**:

  • RFC 1918 和 RFC 6890 设定了专用地址范围,这些地址只用于内部通信,不能在互联网上使用。
  1. 10.0.0.0/8 (10.0.0.0 到 10.255.255.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)**

****构建 VPN 的方法**:

  1. 租用电信公司的专用通信线路 --- 昂贵。
  2. 使用公共互联网作为通信载体 --- 更经济、需要加密。**

****IP隧道技术**:

  • 当机构的内部主机需要通过互联网通信时,可以使用 IP 隧道技术。
  • 数据报在发送前被加密和封装,然后通过互联网发送到目的地,之后被解密和解封装。**

图4-59解释了如何使用IP隧道技术实现VPN。在图中,数据报首先在路由器 R₁ 中被封装和加密,然后通过互联网发送到路由器 R₂,在那里被解封装和解密,最后传送到目的主机。

**总结**:
VPN 通过 IP 隧道技术允许数据安全地通过公共网络(例如互联网)传输,同时维持内部网络的私密性和完整性。这为组织提供了一种经济且高效的远程通信方法。

我的理解:

VPN(虚拟专用网)的概念可以通过以下几个核心点来理解:

**1. **虚拟的"专用网络"**:

  • "虚拟"意味着它并非一个实体的、物理存在的网络,而是通过技术手段在已有的网络基础上模拟出来的一种网络连接。
  • "专用"则表明这种网络连接是为特定的用户或组织所设立,不同于公共网络。**

**2. **安全隧道**:

  • VPN工作时,会在公开的互联网上创建一个加密的"隧道"。数据会被加密后传输在这个隧道中,即使被第三方截获,也很难解密。
  • 这种加密传输确保了数据的隐私和完整性。**

**3. **专用地址与全球地址**:

  • 组织内部的计算机可以使用专用IP地址进行通信,而不需要使用全球唯一的IP地址。
  • 当需要与外部互联网通信时,VPN技术会将这些专用地址的数据流重定向并进行转换,使其能在公共互联网上正确传输。**

**4. **通信载体**:

  • 虽然VPN可以提供专用的通信通道,但它通常依赖于公共的互联网作为其通信载体。
  • 这意味着组织不需要为了远程通信而租用昂贵的专用线路。**

**5. **多种应用场景**:

  • 组织可以使用VPN技术连接其在不同地点的办公室,形成一个统一的内部网络。
  • 个人也可以使用VPN访问受限制的资源或提高上网隐私。**

**6. **端到端的通信**:

  • 通过VPN,两个远程的终端可以像在同一个局域网内一样进行通信,无论它们实际上是否在物理上相邻。**

简而言之,VPN是一种在公共网络上模拟出的安全、专用的网络连接方式。通过加密技术,VPN确保了数据的安全传输,并允许远程用户和设备像在同一个网络内一样进行通信。

更加形象的理解:

让我们用一种常见的情境来进行类比:**寄信**。

1. **普通互联网连接**:想象你正在一个公园的长凳上写一封明信片,然后将其放入公共的邮筒。任何经过的人都可以随便看一眼你的明信片,读到你写的内容。这就像常规的互联网连接,没有额外的安全层,任何人都可以"窥视"你的数据。

2. **使用VPN的互联网连接**:现在想象你把你的明信片放进一个结实的信封,并上锁。只有持有钥匙的接收人才能打开它。你再将这个上锁的信封放入公共的邮筒。尽管它仍然经过公共的邮寄系统,但没有钥匙的人是无法看到里面的内容的。这就是VPN在做的事情------它为你的数据加上了一层"加密的信封",确保只有你和你的收件人可以"读取"它。

再进一步,如果你在一个小镇上,你的朋友在另一个小镇,而两个小镇之间的所有道路都是公共的。你们每次通信都要走这些公共的道路。现在,想象有一个隐形的、只属于你和你朋友的秘密隧道连接着两个小镇。这个隧道只有你们两人可以使用,而且完全隐形,其他人甚至不知道它的存在。这个隧道就像VPN,它在公共的互联网上创建了一个私有的、加密的通道,只有你和你想通信的服务器知道并可以使用。

通过这种方式,VPN为你提供了一种安全、私密的方式在互联网上进行通信,就像使用一个秘密隧道或上锁的信封一样。

---

**VPN (虚拟专用网) 笔记**

1. **定义**:VPN 是一个使用公共网络(如互联网)建立私有网络连接的技术。其工作原理为:在两个通信端点之间建立一个加密的"隧道"。

2. **点对点连接**:R₁和R₂间似乎有一个直通的连接,这就是所谓的隧道。

**3. **内联网 (Intranet VPN)**:

  • 由场所A和B的内部网络构成。
  • 场所A和B属于同一个机构。
  • 是使用互联网技术的,基于TCP/IP协议。**

**4. **外联网 (Extranet VPN)**:

  • 除了机构内部的网络,还有外部机构(如合作伙伴)参与。
  • 使用互联网技术,基于TCP/IP协议。**

**5. **远程接入 VPN (Remote Access VPN)**:

  • 设计用于流动员工与公司通信。
  • 流动员工通过拨号接入互联网,VPN软件建立加密隧道。
  • 使得流动员工感觉像在使用公司的内部网络。**

---

4.8.2 网络地址转换 NAT (Network Address Translation)

**1. **问题引入**:

  • 专用网内主机有本地IP地址。
  • 想和互联网上的主机通信(不加密),怎么办?**

2. **简单解决方法**:申请全球IP地址,但IPv4地址稀缺。

**3. **主要方法**:使用NAT。

  • 提出年份:1994年。
  • 安装位置:连接专用网到互联网的路由器。
  • NAT路由器:至少有一个全球IP地址。**

**4. **NAT工作原理**:

  • 本地地址转为全球IP地址以连接互联网。
  • 例:专用网`192.168.0.0`所有主机的地址:`192.168.x.x`。
  • NAT路由器全球IP地址:`172.38.1.5`。
  • 主机A(`192.168.0.3`)与主机B(`213.18.2.4`)通信时,NAT路由器将源IP从`192.168.0.3`转为`172.38.1.5`。**

**5. **NAT地址转换**:

  • 主机B收到数据报时,看到的地址为`172.38.1.5`,而不知道真正的`192.168.0.3`地址。
  • NAT路由器使用转换表进行地址转换。**

**6. **NAT限制**:

  • 只能由专用网内主机发起通信。
  • 互联网主机无法直接请求专用网内服务器。**

**7. **NAPT (网络地址与端口号转换)**:

  • 更高效地使用NAT路由器上的全球IP地址。
  • 允许多个本地地址的主机共用一个全球IP地址。
  • 利用运输层的端口号进行转换。
  • 传统的NAT与NAPT:
  • 传统的NAT:不使用端口号。
  • NAPT:使用端口号。**

**8. **NAPT转换例子**:

  • 能够将不同的源IP和端口,转换为相同的全球IP但不同的端口。**

---

我的理解:

理解NAT的核心概念和原因:

**1. **问题背景**:

  • 在内部专用网络中,主机有自己的本地IP地址。
  • 当这些主机想与互联网上的其他主机通信时,需要一个在全球范围内识别的IP地址。**

2. **IPv4地址短缺**:由于IPv4地址数量有限,直接为每个内部主机分配一个全球IP是不实际的。

3. **NAT的引入**:为了解决这个问题,NAT技术被提出。NAT允许多个内部主机共享一个或几个全球IP地址进行外部通信。

**4. **如何工作**:

  • 当内部主机与外部世界通信时,NAT路由器会将内部主机的本地IP地址替换为全球IP地址,并保持记录以便在返回的通信中将全球IP地址重新映射回原始的本地IP地址。**

5. **NAPT**:更高级的NAT形式,不仅替换IP地址,还替换端口号。这使得来自不同的内部主机的多个连接都可以共享相同的全球IP地址,只是使用不同的端口号。

**6. **使用限制**:

  • 由于地址转换,从外部网络直接初始化与内部主机的连接是困难的,因为外部网络不知道内部的真实IP地址。**

**简单地说**:NAT就像是一个公寓大楼的门卫。每个公寓单元(内部主机)都有自己的单元号(本地IP地址),但整个大楼只有一个街道地址(全球IP地址)。当公寓里的某人想发信给外部世界时,他们将信放在大楼的信箱里,并告诉门卫他们的单元号。门卫会记住哪个单元发出了哪个信,并将所有信的地址更改为大楼的街道地址。当回信到达时,门卫会根据他记下的信息,确定信应该送到哪个单元。


**NAPT (Network Address Port Translation)**

**1. **基本操作**:

  • NAPT可以更改IP数据报中的源IP地址和传输层的端口号。
  • 如果使用UDP,其操作原理与TCP相同,也会转换UDP的端口号。**

**2. **端口选择**:

  • 主机在专用网络内选择的端口号只在该主机内有意义。
  • 例如,192.168.0.3和192.168.0.4都可以选择TCP端口号30000。这种选择是随机的,端口号在本地主机内才有意义。**

**3. **端口和IP地址的转换**:

  • NAPT将专用网络内不同的源IP地址都转换为相同的全球IP地址。
  • 即使源主机使用相同的端口号,NAPT也会将其转换为不同的新端口号。**

**4. **应答和目的主机的确定**:

  • 当NAPT路由器从互联网接收应答时,它会查看IP数据报的数据部分中的传输层端口号。
  • 根据不同的目的端口号,NAPT路由器会在其转换表中找到正确的目的主机。**

**5. **与普通路由器的区别**:

  • **普通路由器**:在转发IP数据报时不会改变其源/目的IP地址,且只在网络层工作。
  • **NAPT路由器**:在转发IP数据报时会更改其IP地址,并查看和转换传输层的端口号。因此,其工作范围超出了单纯的网络层。**

**6. **争议**:

  • 由于NAPT的工作原理跨越了不同的网络层次,它曾受到批评,认为其操作不遵循严格的层次关系。
  • 尽管如此,NAT和NAPT已经成为互联网的重要组成部分。**

**7. **参考资料**:

  • 建议标准:RFC3022
  • IETF关于NAT工作组的网站:[W-NAT]**

---

总结:

**虚拟专用网 (VPN)**

****重点**:

  1. **定义**:VPN 允许在公共网络(如互联网)上建立私有通信通道。
  2. **加密**:使用强加密技术确保数据在传输中的安全性。
  3. **隧道协议**:常用的有 PPTP、L2TP、IPsec 和 SSL/TLS。
  4. **应用场景**:允许远程工作、安全连接到企业内部网络、绕过地域限制等。**

****难点**:

  1. **配置和兼容性**:不同的 VPN 协议和解决方案可能在配置上有所不同,可能存在兼容性问题。
  2. **性能开销**:由于加密/解密的需要,可能会增加延迟或减少吞吐量。**

****易错点**:

  1. **不完全的安全性**:虽然 VPN 提供加密,但仍然可能受到中间人攻击、尾随攻击等。
  2. **协议选择**:错误地选择或配置 VPN 协议可能导致安全隐患。
  3. **隐私误解**:虽然 VPN 提供匿名性,但仍需要信任 VPN 服务提供者不记录你的活动。**

---

**网络地址转换 (NAT)**

****重点**:

  1. **定义**:NAT 允许私有 IP 地址在公共 IP 地址空间中重用,通常用于 IPv4 地址耗尽的问题。
  2. **工作原理**:转换一个 IP 地址到另一个 IP 地址,通常是从私有地址转到公有地址。
  3. **类型**:基本 NAT、NAPT(也称为 PAT)。**

****难点**:

  1. **端到端通信**:NAT 扰乱了原始的 IP 地址,可能会影响某些应用的端到端通信。
  2. **配置**:必须正确配置 NAT 设备以确保正确的转换和通信。**

****易错点**:

  1. **NAT 穿透**:某些协议和应用(如 VoIP、P2P 通信)在 NAT 背后可能会遇到问题,需要特定的解决方案如 STUN、TURN 来帮助 NAT 穿透。
  2. **地址池管理**:在高负载的情况下,公共 IP 地址和端口可能会被用完,导致新的连接失败。
  3. **误解 NAT 与安全性**:虽然 NAT 提供了某种隔离,但它本身不等同于防火墙或安全解决方案。**

---

相关推荐
Hello Dam10 分钟前
【计算机网络】物理层
计算机网络·物理层
速盾cdn12 分钟前
速盾:CDN缓存的工作原理是什么?
网络·安全·web安全
网络安全-杰克1 小时前
网络安全概论
网络·web安全·php
怀澈1221 小时前
高性能服务器模型之Reactor(单线程版本)
linux·服务器·网络·c++
耗同学一米八2 小时前
2024 年河北省职业院校技能大赛网络建设与运维赛项样题二
运维·网络·mariadb
skywalk81632 小时前
树莓派2 安装raspberry os 并修改成固定ip
linux·服务器·网络·debian·树莓派·raspberry
_Power_Y2 小时前
计算机网络:应用层知识点概述及习题
计算机网络
co0t2 小时前
计算机网络(14)ip地址超详解
服务器·tcp/ip·计算机网络
C++忠实粉丝2 小时前
计算机网络socket编程(3)_UDP网络编程实现简单聊天室
linux·网络·c++·网络协议·计算机网络·udp
黑客Ela2 小时前
网络安全中常用浏览器插件、拓展
网络·安全·web安全·网络安全·php