当前位置: 首页 > news >正文

容器网络(三)- calico网络IPIP模式

一、前置知识

calico的IPIP模式使用到了tun设备,先来了解下什么是tun设备,它的作用是什么,以及使用到tun设备的IPIP隧道是如何工作的。

1.1 tun设备

tun是网络层的虚拟网络设备,可以收发第三层数据报文包,如IP封包,因此常用于一些点对点IP隧道,例如OpenVPN,IPSec等。

1.2 IPIP隧道

IPIP隧道其实就是在原始报文的基础上再封装成一个 IPv4 报文,报文使用的是IP协议的格式做的封装。

网络拓扑和报文如上图所示。

二、工作原理

要了解容器环境下calico IPIP网络的工作方式,我们先查看容器及宿主机上的网卡设备及路由信息。

容器内部

容器1:

容器2:

宿主机上

node1:

node2:

所以数据包从容器1-容器2的路径为:

node1: eth0(容器1)——node1上的veth pair对——tunl0(封装外层包)—— ens33

node2:ens33——calib4b2876787c——eth0(容器2)

还有一个需要注意的点是容器内部的默认网关配置是169.254.1.1,并且需要打开proxy_arp为什么这么配置,可以参考如下连接:

Calico网络中的ProxyARP | C0reFast记事本

三、BGP模式和IPIP模式比较

让我们改下配置,停用tun设备。

查看宿主机路由表:

node1:

node2:

BGP模式和IPIP模式的区别就是少经过了一个tun设备,换句话说就是少封装了一层外部ip。

四、思考

calico ipipMode有一个配置选项叫crosssubnet,作用是同网段的使用bpg,跨网段的使用IPIP模式。为什么会有这个模式?查阅网上资料,大部分都会说calico下bgp模式不能跨网段,那让我们思考下:

  • 为什么普通的bgp模式不能跨网段
  • 为什么ipip模式可以跨网段

回答这两个问题前,我们先回顾下这两种模式的报文结构。

再回头去看下node1和node2在这两种模式下的路由表,如果在BGP模式下node跨网段访问,会经过默认网关,所以是否能访问到对端完全依赖于后面的路由设置了。

所以一般说的的BGP模式不能跨网段也不完全正确。

五、参考

  1. 一文明白calico的IPIP网络模式-腾讯云开发者社区-腾讯云
  2. 揭秘 IPIP 隧道
  3. 16 张图硬核讲解 Kubernetes 网络

相关文章:

  • 深浅拷贝区别,怎么区别使用
  • 最新扣子(Coze)案例教程:全自动DeepSeek 写影评+批量生成 + 发布飞书,提效10 倍!手把手教学,完全免费教程
  • Open WebUI项目源码学习记录(从0开始基于纯CPU环境部署一个网页Chat服务)
  • 解决 ssh connect to host github.com port 22 Connection timed out
  • 重看Spring聚焦BeanDefinition分析和构造
  • LED灯闪烁实验:Simulink应用层开发
  • EtherCAT(四) 从站XML文件描述
  • vite配置scss全局变量
  • 22.4.3.2 TCP/UDP连接信息
  • 深度学习在文本情感分析中的应用
  • java数据结构_优先级队列(堆)_6.2
  • 4. grafana(7.5.17)功能菜单简介
  • 15-最后一个单词的长度
  • 体验用ai做了个python小游戏
  • ECOLOGY流程表单字段由单行文本改成多行文本
  • DeepSeek + Claude 提升效果
  • 当C#邂逅Deepseek, 或.net界面集成deepseek
  • Weblogic 反序列化漏洞深度剖析与复现
  • MouseWithoutBorder鼠标指针闪烁、变大+AltTab有程序执行的问题解决方案
  • 【算法】787. 归并排序
  • 西尔艾力·外力任吐鲁番市副市长、代理市长,朱继坤任副市长
  • “共栖与绵延”系列对话|张国捷、刘帅:以蚁为序的生命网络
  • 【社论】鸿蒙破壁,向最难处攻坚
  • 深一度|上座率连创纪录撬动文旅,中超可否复制大连模式
  • 波兰总统选举投票开始,将是对亲欧路线的一次严峻考验
  • 罗马教皇利奥十四世正式任职