V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
thomaswang
V2EX  ›  问与答

Calico 原理

  •  
  •   thomaswang · 2019-03-14 23:42:46 +08:00 · 1704 次点击
    这是一个创建于 2118 天前的主题,其中的信息可能已经有所发展或是发生改变。

    "Calico 把每个操作系统的协议栈认为是一个路由器,然后把所有的容器认为是连在这个路由器上的网络终端,在路由器之间跑标准的路由协议—— BGP 的协议,然后让它们自己去学习这个网络拓扑该如何转发。所以 Calico 方案其实是一个纯三层的方案,也就是说让每台机器的协议栈的三层去确保两个容器,跨主机容器之间的三层连通性。"

    感觉这个就是 NAT 啊

    5 条回复    2019-03-15 18:25:19 +08:00
    thomaswang
        1
    thomaswang  
    OP
       2019-03-14 23:43:19 +08:00
    “由于 Calico 是一种纯三层的实现,因此可以避免与二层方案相关的数据包封装的操作,中间没有任何的 NAT,没有任何的 overlay,所以它的转发效率可能是所有方案中最高的,因为它的包直接走原生 TCP/IP 的协议栈,它的隔离也因为这个栈而变得好做。因为 TCP/IP 的协议栈提供了一整套的防火墙的规则,所以它可以通过 IPTABLES 的规则达到比较复杂的隔离逻辑。”
    hanbaobao2005
        2
    hanbaobao2005  
       2019-03-15 05:30:38 +08:00
    TCP/IP 的协议栈提供了一整套的防火墙的规则 -- 麻烦 TCP/IP 协议栈里的防火墙规则 是哪个规则啊? 谢谢
    julyclyde
        3
    julyclyde  
       2019-03-15 09:06:54 +08:00
    你怎么就能根据那么一句话推断出“感觉就是 NAT ”呢?
    里面有任何一句提到 translation 了?
    thomaswang
        4
    thomaswang  
    OP
       2019-03-15 13:14:29 +08:00
    @julyclyde 宿主机是路由器, 容器连着宿主机, 这不像是 NAT 吗
    julyclyde
        5
    julyclyde  
       2019-03-15 18:25:19 +08:00
    @thomaswang 跟 NAT 毫无关系
    你可以设置 NAT,但 NAT 在这里不是个必须出现的东西
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1032 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 22:22 · PVG 06:22 · LAX 14:22 · JFK 17:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.