当前位置: 首页 > 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 网络
http://www.dtcms.com/a/26412.html

相关文章:

  • 深浅拷贝区别,怎么区别使用
  • 最新扣子(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. 归并排序
  • 指标管理项目建设的高频问题和解决思路
  • 房屋价格 - 高级回归技术
  • Visual Studio Code 集成 Baidu Comate
  • Spring Boot 内置工具类
  • LeetCode刷题---哈希表---347
  • UE_C++ —— Container TMap
  • scratch猜年龄互动小游戏 2024年12月scratch四级真题 中国电子学会 图形化编程 scratch四级真题和答案解析
  • 问卷数据分析|SPSS实操之相关分析
  • Windows 图形显示驱动开发-IoMmu 模型
  • Docker 安装 Apache