内容摘录自极客时间课程《趣谈网络协议》,如有侵权,请及时联系删除。

目录

  • 云中网络的隔离
    • GRE(Generic Routing Encapsulation)
      • GRE的不足
    • VXLAN(Virtual extensible local area network)
    • 使用OpenvSwitch进行模拟...
  • 参考

云中网络的隔离

Underlay网络:底层的物理网络设备组成的网络。
Overlay网络:用于虚拟机和云中的这些技术组成的网络,这是一种基于物理网络的虚拟化网络实现。

GRE(Generic Routing Encapsulation)

GRE是一种IP-over-IP的隧道技术。它将IP包封装在 GRE 包里,外面加上IP头,在隧道的一端封装数据包,并在通路上进行传输,到另外一端的时候解封装。你可以认为 Tunnel 是一个虚拟的、点对点的连接。
在GRE头中,前32位是必填的,后面是可选的。在前 4 位标识位里面,有标识后面到底有没有可选项?这里面有个很重要的 key 字段,是一个 32 位的字段,里面存放的往往就是用于区分用户的 Tunnel ID。
(二进制数据结构图)
NVGRE是专门用于网络虚拟化的GRE包头格式,网络ID号为24位,数量也够用了。
GRE还需要有一个地方来封装和解封装GRE的包,这个地方往往是路由器或者有路由功能的Linux机器。

使用 GRE 隧道,传输的过程就像下面这张图。这里面有两个网段、两个路由器,中间要通过 GRE 隧道进行通信。当隧道建立之后,会多出两个 Tunnel 端口,用于封包、解封包。

GRE的不足

  1. 需要建立点对点隧道,随设备数量增加而成指数增长;
  2. 不支持组播,只能进行广播;
  3. 设备兼容性差,有很多防火墙和三层网络设备无法解析 GRE;

VXLAN(Virtual extensible local area network)

和三层外面再套三层的 GRE 不同,VXLAN 是从二层外面套了一个 VXLAN 的头,这里面包含的 VXLAN ID 为 24 位。在 VXLAN 头外面还封装了 UDP、IP,以及外层的 MAC 头。

VXLAN 作为扩展性协议,也需要一个地方对 VXLAN 的包进行封装和解封装,实现这个功能的点称为 VTEP(VXLAN Tunnel Endpoint)。

VTEP 相当于虚拟机网络的管家。每台物理机上都可以有一个 VTEP。每个虚拟机启动的时候,都需要向这个 VTEP 管家注册,每个 VTEP 都知道自己上面注册了多少个虚拟机。当虚拟机要跨 VTEP 进行通信的时候,需要通过 VTEP 代理进行,由 VTEP 进行包的封装和解封装。
和 GRE 端到端的隧道不同,VXLAN 不是点对点的,而是支持通过组播来定位目标机器,而非是一端发出,另一端接收。

通过VTEP进行跨VXLAN的包转发示意图:

使用OpenvSwitch进行模拟…

参考

趣谈网络协议-云中网络的隔离GRE、VXLAN

《趣谈网络协议》学习笔记 DAY06相关推荐

  1. [趣谈网络协议学习] 03 DHCP与PXE:IP是怎么来的, 又是怎么没的?

    如何配置 IP 地址? 在linux中可以使用ifconfig, 也可以使用ip addr. 设置好了以后, 用这两个命令, 将网卡 up 一·下, 就可以开始工作了. 使用 net-tools: s ...

  2. [趣谈网络协议学习] 08 世界这么大,我想出网关:欧洲十国游与玄奘西行

    MAC头与IP头 MAC头 目标 MAC 地址 源 MAC 地址 协议类型:说明里面是 IP 协议 IP头 详情可参见 IP数据报格式详解 版本号:占用4位二进制数,表示该IP数据报使用的IP协议版本 ...

  3. 《趣谈网络协议》学习笔记 DAY03

    内容摘录自极客时间课程<趣谈网络协议>,如有侵权,请及时联系删除. 目录 软件定义网络SDN OpenFlow和OpenvSwitch实现SDN OpenFlow协议 OpenvSwitc ...

  4. 《趣谈网络协议》学习笔记 DAY08

    内容摘录自极客时间课程<趣谈网络协议>,如有侵权,请及时联系删除. 目录 RPC协议综述 远程调用需要解决的5个问题 协议约定问题 RPC调用标准 传输问题 ONC RPC的类库 服务发现 ...

  5. 《趣谈网络协议》学习笔记DAY15

    内容摘录自极客时间课程<趣谈网络协议>,如有侵权,请及时联系删除. 目录 零星知识点 如何打通公有云和私有云 QUIC的特性 http中的keepalive 参考 零星知识点 如何打通公有 ...

  6. 《趣谈网络协议》学习笔记 DAY04

    内容摘录自极客时间课程<趣谈网络协议>,如有侵权,请及时联系删除. 云中的网络安全 共有云上的虚机,为了达到安全的目的,建议只开放需要的端口,并将其他端口关闭,然后配置安全措施对开放的端口 ...

  7. 《趣谈网络协议》学习笔记DAY10

    内容摘录自极客时间课程<趣谈网络协议>,如有侵权,请及时联系删除. 目录 基于JSON的RESTful接口协议 服务端无状态化 服务发现 小结 参考 基于JSON的RESTful接口协议 ...

  8. 《趣谈网络协议》学习笔记 DAY02

    内容摘录自极客时间课程<趣谈网络协议>,如有侵权,请及时联系删除. 目录 云计算中的网络 虚拟网卡 虚拟网卡连接到云中 共享与互通 隔离 参考 云计算中的网络 虚拟网卡 Linux上通过T ...

  9. 《趣谈网络协议》学习笔记 DAY05

    内容摘录自极客时间课程<趣谈网络协议>,如有侵权,请及时联系删除. 目录 云中的网络QoS 控制QoS的方式 无类别排队规则(Classless Queuing Disciplines) ...

最新文章

  1. Scrum敏捷研发管理平台-Leangoo看板
  2. 中国人情世故的63个定律 。
  3. 1127 ZigZagging on a Tree (30 分)【难度: 一般 / 知识点: 根据中序遍历 后序遍历建树】
  4. FFMPEG结构体分析:AVCodecContext(转)
  5. 解决ArcGIS 9.3卸载时出现invalid install.log file的方法
  6. 动态区间第k小:树状数组套权值线段树
  7. E820-DTU与昆仑通态组态软件联机
  8. Pytorch的BatchNorm层使用中容易出现的问题
  9. Windows10 家庭版安装Docker
  10. 用户层关闭杀毒软件安全保护
  11. 关于徒手脱壳的几种方法
  12. 如何使用cmd进入打印机选项_用命令添加打印机
  13. 【JWT】JWT+HA256加密 Token验证
  14. Django 结构及处理流程分析
  15. 记:应聘招银网络科技 测试开发工程师
  16. 计算机操作系统出现死锁的原因
  17. 嵌入式linux设置屏幕亮度
  18. 基于docker的wekan部署
  19. python画几种树
  20. 药店管理系统|数据库设计

热门文章

  1. gitee:实现其他仓库代码持续同步更新到自己仓库
  2. Java 全角半角转换工具类
  3. centos7-ip代理转发功能的配置
  4. #1408 : The Lastest Time
  5. Python爬虫实战:爬取全站小说排行榜
  6. Python+Vue计算机毕业设计超市积分管理系统o2qyn(源码+程序+LW+部署)
  7. 判断两个浮点数是否相等
  8. 机器人是如何自动避障与自主回充的?
  9. 中国***江湖之八大门派
  10. Linux系统图形界面和命令行界面之间的切换