趣谈网络协议
刘超
网易研究院云计算技术部首席架构师
立即订阅
37977 人已学习
课程目录
已完结 51 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 想成为技术牛人?先搞定网络协议!
免费
第一模块 通信协议综述 (4讲)
第1讲 | 为什么要学习网络协议?
第2讲 | 网络分层的真实含义是什么?
第3讲 | ifconfig:最熟悉又陌生的命令行
第4讲 | DHCP与PXE:IP是怎么来的,又是怎么没的?
第二模块 底层网络知识详解:从二层到三层 (5讲)
第5讲 | 从物理层到MAC层:如何在宿舍里自己组网玩联机游戏?
第6讲 | 交换机与VLAN:办公室太复杂,我要回学校
第7讲 | ICMP与ping:投石问路的侦察兵
第8讲 | 世界这么大,我想出网关:欧洲十国游与玄奘西行
第9讲 | 路由协议:西出网关无故人,敢问路在何方
第二模块 底层网络知识详解:最重要的传输层 (4讲)
第10讲 | UDP协议:因性善而简单,难免碰到“城会玩”
第11讲 | TCP协议(上):因性恶而复杂,先恶后善反轻松
第12讲 | TCP协议(下):西行必定多妖孽,恒心智慧消磨难
第13讲 | 套接字Socket:Talk is cheap, show me the code
第二模块 底层网络知识详解:最常用的应用层 (4讲)
第14讲 | HTTP协议:看个新闻原来这么麻烦
第15讲 | HTTPS协议:点外卖的过程原来这么复杂
第16讲 | 流媒体协议:如何在直播里看到美女帅哥?
第17讲 | P2P协议:我下小电影,99%急死你
第二模块 底层网络知识详解:陌生的数据中心 (6讲)
第18讲 | DNS协议:网络世界的地址簿
第19讲 | HTTPDNS:网络世界的地址簿也会指错路
第20讲 | CDN:你去小卖部取过快递么?
第21讲 | 数据中心:我是开发商,自己拿地盖别墅
第22讲 | VPN:朝中有人好做官
第23讲 | 移动网络:去巴塞罗那,手机也上不了脸书
第三模块 热门技术中的应用:云计算中的网络 (5讲)
第24讲 | 云中网络:自己拿地成本高,购买公寓更灵活
第25讲 | 软件定义网络:共享基础设施的小区物业管理办法
第26讲 | 云中的网络安全:虽然不是土豪,也需要基本安全和保障
第27讲 | 云中的网络QoS:邻居疯狂下电影,我该怎么办?
第28讲 | 云中网络的隔离GRE、VXLAN:虽然住一个小区,也要保护隐私
第三模块 热门技术中的应用:容器技术中的网络 (3讲)
第29讲 | 容器网络:来去自由的日子,不买公寓去合租
第30讲 | 容器网络之Flannel:每人一亩三分地
第31讲 | 容器网络之Calico:为高效说出善意的谎言
第三模块 热门技术中的应用:微服务相关协议 (5讲)
第32讲 | RPC协议综述:远在天边,近在眼前
第33讲 | 基于XML的SOAP协议:不要说NBA,请说美国职业篮球联赛
第34讲 | 基于JSON的RESTful接口协议:我不关心过程,请给我结果
第35讲 | 二进制类RPC协议:还是叫NBA吧,总说全称多费劲
第36讲 | 跨语言类RPC协议:交流之前,双方先来个专业术语表
第四模块 网络协议知识串讲 (4讲)
第37讲 | 知识串讲:用双十一的故事串起碎片的网络协议(上)
第38讲 | 知识串讲:用双十一的故事串起碎片的网络协议(中)
第39讲 | 知识串讲:用双十一的故事串起碎片的网络协议(下)
第40讲 | 搭建一个网络实验环境:授人以鱼不如授人以渔
答疑与加餐 (9讲)
协议专栏特别福利 | 答疑解惑第一期
协议专栏特别福利 | 答疑解惑第二期
协议专栏特别福利 | 答疑解惑第三期
协议专栏特别福利 | 答疑解惑第四期
协议专栏特别福利 | 答疑解惑第五期
加餐1 | 测一测:这些网络协议你都掌握了吗?
加餐2 | 创作故事:我是如何创作“趣谈网络协议”专栏的?
加餐3 | “趣谈网络协议”专栏食用指南
第2季回归 | 这次我们来“趣谈Linux操作系统”
结束语 (1讲)
结束语 | 放弃完美主义,执行力就是限时限量认真完成
趣谈网络协议
登录|注册

第31讲 | 容器网络之Calico:为高效说出善意的谎言

刘超 2018-07-27

上一节我们讲了 Flannel 如何解决容器跨主机互通的问题,这个解决方式其实和虚拟机的网络互通模式是差不多的,都是通过隧道。但是 Flannel 有一个非常好的模式,就是给不同的物理机设置不同网段,这一点和虚拟机的 Overlay 的模式完全不一样。

在虚拟机的场景下,整个网段在所有的物理机之间都是可以“飘来飘去”的。网段不同,就给了我们做路由策略的可能。

Calico 网络模型的设计思路

我们看图中的两台物理机。它们的物理网卡是同一个二层网络里面的。由于两台物理机的容器网段不同,我们完全可以将两台物理机配置成为路由器,并按照容器的网段配置路由表。

例如,在物理机 A 中,我们可以这样配置:要想访问网段 172.17.9.0/24,下一跳是 192.168.100.101,也即到物理机 B 上去。

这样在容器 A 中访问容器 B,当包到达物理机 A 的时候,就能够匹配到这条路由规则,并将包发给下一跳的路由器,也即发给物理机 B。在物理机 B 上也有路由规则,要访问 172.17.9.0/24,从 docker0 的网卡进去即可。

当容器 B 返回结果的时候,在物理机 B 上,可以做类似的配置:要想访问网段 172.17.8.0/24,下一跳是 192.168.100.100,也即到物理机 A 上去。

© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《趣谈网络协议》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(25)

  • sunlight001
    工作中接触不到,现在完全看不明白的举个手!
    2018-07-27
    105
  • 固态U盘
    感觉老师的这个课程标价有点低
    2018-07-27
    26
  • 张稀虹
    提个建议 老师能不能在下一期文章出来的时候在前一期文章中更新问题的答案,感觉比较深的话题讨论区的讨论就比较少了
    2018-07-28
    5
  • _CountingStars
    1.因为公有云中的虚拟机之间 不直接通过交换机互通 中间有路由 使用VPC有可能可以实现
    2.微服务数据交换现在有两种主流方式 http 和 rpc
    2018-07-27
    4
  • $(CF_HB)
    不是很明白,回去公司打开个wireshark分析一下网络。分析一下路由协议。
    2018-10-31
    3
  • 张驰
    现在提问还来得及吗?问下ipip模式中,隧道是点到点的?那么如果服务部署到两个或多个局域网,每个局域网有n台机器,那么为了保证互相跨网互通,是否需求全部点对点打隧道?是否资源损毁太大了?怎么优化?

    作者回复: 使用路由,汇聚到物理路由器,物理路由器之间打通

    2018-10-14
    3
  • kissingers
    我们能想到的第一种方式是,让中间所有的路由器都来适配 Calico。本来它们互相告知路由,只互相告知物理机的,现在还要告知容器的网段。

    这种情况为什么不行? BGP也能交换容器网段和路由信息吧

    作者回复: 对啊,中间的都适配calico,但是公司网管肯定不干

    2019-04-17
    1
    2
  • silenceper
    不支持bgp协议,是不是就用不了calico?
    2018-09-13
    2
  • 电脑玩家蛋炒饭
    一年过去了,终于这部分看得半懂了

    作者回复: 赞

    2019-07-28
    1
  • maomaostyle
    请问老师,在IPIP模式下,原本的性能优势是否又回退到了overlay类似呢?

    作者回复: 是的

    2019-01-24
    1
  • blackpiglet
    1. 公有云上跨网段的现象很常见,而且如果涉及到跨数据中心,中间会经过很多路由设备,只能通过隧道方式打通连接。
    2. 微服务间的信息交互主要是 RPC 和 RESTful。
    2018-08-01
    1
  • balancer
    老师,网络数据包到达网卡的时候,内核怎么定位这个数据包属于哪个进程的那个socketfd?
    2018-07-29
    1
  • Geek_042531
    公有云使用ipip这样的overlay 技术:1.实现大二层网络,构建突破vlan 4K的限制,2.容器跨3层迁移
    2019-09-22
  • 竹林清风
    没接触过,看来只有等后面用到才能看懂

    作者回复: 很容易自己搭建一个的

    2019-08-29
  • yandongxiao
    超哥给的信息量真的是太大了,越品越精彩。

    作者回复: 谢谢

    2019-08-04
  • 天天
    强大
    2019-06-27
  • 功夫
    容器 网络越来越抽象类

    作者回复: 对的,但是原理还是那么多

    2019-06-01
  • Tendrun
    老师您好,不太明白为什么当物理机A、B跨网断中间有多个路由器时不可用。如果路由器都支持BGP的话,且A、B之间可通。那么把A、B配置成bgp对端,应该就可以分发容器的路由,然后跨节点的容器就可以通信了吧

    作者回复: A-router-B,这样的话,B肯定会告诉A,如果想访问某个容器,router是下一跳,但问题是包到了router,router是物理的呀,他又不知道容器的那个段,他往哪里转发呀。除非router也配置了bgp

    2019-04-20
  • 超超
    回答问题一:ipip模式由于是走隧道协议,安全性比较好!
    回答问题二:RPC
    2019-04-10
  • 江南皮革厂研发中心保安队长
    服务之间的通信我们自己http RESTful 风格的比较多

    作者回复: 现在用restful的多了

    2019-03-18
收起评论
25
返回
顶部