趣谈网络协议---VPN:朝中有人好做官

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/u012319493/article/details/82891030

在这里插入图片描述
数据中心之间如何连接,或办公室如何连接数据中心,才能既便宜又安全?

VPN,Virtual Private Network,虚拟专用网,通过隧道技术在公众网络上仿真一条点对点的专线,通过一种协议传输另外一种协议。涉及三种协议:乘客协议、隧道协议和承载协议。

IPSec VPN 是目前 VPN 技术中使用率非常高的一种技术。
在这里插入图片描述
IPsec VPN 协议簇特性:

  • 私密性。密钥传输用到因特网密钥交换(IKE,Internet Key Exchange)协议,传输数据时采用对称加密。
  • 完整性。对数据进行 hash 计算,产生类似于指纹的数据摘要。
  • 真实性。确认对端身份,一种时预共享密钥;另一种是数字签名,私钥签名,数字证书里的公钥解密。
    在这里插入图片描述

IPsec 协议簇里有:

1、两种协议,区别在于封装网络包的格式不同:

  • AH(Authentication Header,认证头),只能进行数据摘要,不能实现数据加密。
  • ESP(Encapsulting Security Payload,封装安全载荷),能进行数据加密和数据摘要。

2、两类算法,分别是加密算法和摘要算法。

3、两大组件:

  • IKE(Internet Key Exchange)组件,用于 VPN 的双方进行对称密钥的交换。
  • SA(Security Association)组件,用于双方对连接进行维护。

IPsec VPN 的建立过程

1、建立 IKE 自己的 SA。通过 DH(Diffe-Hellman)算法算出一个对称密钥 K。

DH 算法:客户端和服务端约定两个公开的 质数 p 和 q,客户端随机产生一个数 a 作为私钥,服务端随机产生要给数 b 作为私钥,客户端根据 p、q、a 算出公钥 A,服务端根据 p、q、b 算出公钥 B,然后双方交换公钥 A 和 B。双方各自独立算出相同的结果 K,作为对称密钥。对称密钥没有在网上传过,只传输了生成的材料,更安全。

2、利用 IKE SA 建立 IPsec SA。双方生成一个随机的对称密钥 M,由 K 加密传给对方,然后使用 M 进行通信。为防止破解,M 每过一段时间重新生成一次。

IPsec SA 里的内容:

  • SPI(Security Parameter Index),用于标识不同的连接。
  • 双方商量好的加密算法、哈希算法和封装模式。
  • 生存周期,超过,则重新生成 IPsec SA。
    在这里插入图片描述

IPsec 传输数据
在这里插入图片描述
ESP 对 IP 包进行封装,所以 IP 头里,上一层的协议为 ESP。ESP 头部有双方协商好的 SPI,及本次传输的序列号。

后面跟加密的内容。可通过对称密钥解密,解密后在正文的最后,指明里面的协议。如果是 IP,需先解析 IP 头,然后解析 TCP 头,为从隧道出来后的解封装过程。

客户端发送的明文的 IP 包,都会被加上 ESP 头和 公网 IP 头,在公网上传输。到了对端后,去掉 ESP 头,进行解密。

在这里插入图片描述
但这种点对点基于 IP 的 VPN,速度较慢,由 IP 协议特性决定的。即便同一条连接,也可能选择不同路径,代价是不断查路由表,效率较低。
在这里插入图片描述
多协议标签交换(MPLS,Multi-Protocol Label Switching)在 IP 头外多了 MPLS 头,里面可以打标签。省去了繁琐的路由查找,改为简单快速的标签交换,同时,一旦虚拟路径上的某个路由器坏了,还可选择其他路径。

MPLS 格式如下图所示。
在这里插入图片描述
二层头里,类型字段为 0x0800 表示 IP,0x8847 表示 MPLS Label。

MPLS 头:

  • 标签,20位
  • Cos,3位,实验位
  • S,1位,栈底标志位,表示当前标签是否位于栈底
  • TTL,8位,存活字段

能转发标签的路由器为标签交换路由器(LSR,Label Switching Router),同时拥有路由表 FIB 和标签转发表 LFIB。
在这里插入图片描述

在 MPLS 区域,使用标签转发,非 MPLS 区域,使用普通路由转发。在边缘节点上,需具备将普通路由的转发变成对标签的转发的能力。

通过标签转换而建立的路径称为 LSP,标签交换路径。在一条 LSP 上,沿着数据包传送的方向,相邻的 LSR 分别叫上游 LSR(upstream LSR)和下游 LSR(downstream LSR)。

如何生成标签?

通过 LDP(Label Distribution Protocol),一个动态的生成标签的协议。

标签分发往往从下游开始。

在这里插入图片描述
如果一个边缘节点发现自己的路由表中出现了新的目标地址,该边缘节点存在上游 LSR,且尚有可供分配的标签,则该节点为新的路径分配标签,并向上游发出标签映射消息。

收到标签映射消息的 LSR 记录相应的标签映射信息,在其标签转发表中增加相应的条目。此 LSR 为它的上游 LSR 分配标签,并继续向上游 LSR 发送标签映射消息。

入口 LSR 收到标签映射消息时,在标签转发表中增加相应的条目。这时,就完成了 LSP 的建立。

在这里插入图片描述

MPLS VPN 中,网络中的路由器分为以下几类:

  • PE(Provider Edge):运营商网络与客户端网络连接的边缘网络设备。
  • CE(Customer Edge):客户网络与 PE 相连接的边缘设备。
  • P(Provider):运营商网络中除 PE 之外的其他运营商网络。

P Router 在运营商的掌控下,使用标签没有问题,一旦客户要接入这个网络,就会复杂。

1、首先是客户所使用的私网的地址会重复,传统的 BGP 无法正确处理地址空间重叠的 VPN 路由,所以,PE 路由器之间使用特殊的 MP-BGP 来发布 VPN 路由。在相互沟通的消息中,在IPv4 地址前加一个客户表识,用于客户地址的区分,称 VPN-IPv4 地址族。

2、因为网段重复,如何区分哪些路由属于哪些客户 VPN 内的?在 PE 上,可以通过 VRF(VPN Routing & Forwarding Instance)给每个客户建立一个路由表,与普通路由区分。

VPN 包围转发采用两层标签方式:

  • 第一层(外层)标签在骨干网内进行交换,PE <—> PE。
  • 第二层(内层)PE—>CE,在 PE 上,通过查找 VRF 表项,指示报文应该被送到哪个 CE。
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/u012319493/article/details/82891030