最后更新:2021-10-22 05:47:53 手机定位技术交流文章
我们在前一节中讨论了Flannel如何解决集装箱交叉接收问题,这基本上与虚拟网络模式相似,而且都是通过隧道。 尽管如此,Flannel还是有一个非常好的模式,即设置物理机器的各个部分,这与虚拟重叠模式完全不同。
在虚拟情景中,整个网络在所有实际装置之间“滚动 ” 。 网络的不同部分允许我们设计一个路径计划。
关于Calico网络模型设计的想法
我们看一下图像中的两台物理机器。 它们的物理网卡在同一个两层网络中。 因为两台物理机器的集装箱部分不同,所以完全可以想象把这两台物理机器设为路由器和基于包装网络部分的线路布。
例如,在物理机A中, 我们可以设置如下: 网络接入, 172。 仅此而已。 仅此而已。 我不确定你在说什么, 但我不确定你在说什么, 不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,这是它。 1688.101, 不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不
允许进入集装箱A内的集装箱B, 当包件到达物理机器A时, 它符合这条路线规则, 并将包件转移到下一个跳跃器, 即B. Physic B有一条路线规则。 只能进入172。 仅此而已。 我不知道你在说什么, 但我不确定你在说什么。 0/ 24, 输入 docker0 网卡。
当容器B提供结果时, 物理机器B的配置可能相似: 访问172节, 这就是全部。 仅此而已。 仅此而已。 # 我们不会做#02/4, 因此下一个跳跃是192. 168。 不, 不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,这是它。
当包件到达物理机器B时, 它符合这条路线规则, 并转发给下一个跳跃者, 即物理机器A. 物理A有一条路线规则。 只有172路。 仅此而已 。 # 我们无法做到这一点 # 02/ 4, 所以输入 docker0 网卡 。
这是卡利科网络的基本概念,它不是要操作重叠网络,不是要增加另一个网络性能损失,而是通过改变其路线传输网络的所有三个层次,但实际实施与上述方法略有不同。
首先,如果选择三层方式,您不必对每台机器使用一个 docker0, 浪费IP地址, 而是可以将其移动到物理机器末端的网卡上。 同样, 在容器内, 路线规则可以定义如下: 容器外的Veth对网卡被算作默认网关, 下一个跳跃是外部的物理机器 。
结果,整个自上而下的结构变成了这个图像所显示的方式。
关于卡利科网络传输的具体细节
让我们仔细看看这些细节。
集装箱A1的IP地址是172,仅此而已。#我们将无法完成#2/32,不是24,而是32, 将集装箱A1视为单点局域网。
集装箱A1的默认路线在卡利科装置中更熟练。
default via 169.254.1.1 dev eth0
169.254.1.1 dev eth0 scope link
这个IP地址是169.254.
如前所述,当机器试图访问网关时,它首先从通过ARP的网关获得MAC地址,然后将目标MAC地址转换为MAC地址,而网关上的IP地址没有在任何网页袋中显示,这意味着没有人关心地址是什么,只要我们能够找到适当的MAC地址并答复ARP。
ARP在本地维持一个缓存, 可以通过 ip neigh 命令看到 。
169.254.1.1 dev eth0 lladdr ee:ee:ee:ee:ee:ee STALE
Calico把MAC地址加在上面, 但这并不重要, 因为它能对ARP作出反应, 而包裹的目标就是这个MAC地址。
当我们检查关于物理A的所有网络卡片的MAC地址时,我们发现Veth1是MAC地址。因此,最初的网络包从容器A1、这个Veth1、这个网卡进入物理A,这个路由器。
在物理A中,只有三条路线规则: 通往机器和172号公路上的集装箱的路径。 仅此而已。 我不知道你在说什么, 但我不确定你在说什么。 0. 0. 24, 去物理B。
172.17.8.2 dev veth1 scope link
172.17.8.3 dev veth2 scope link
172.17.9.0/24 via 192.168.100.101 dev eth0 proto bird onlink
同样,关于物理B,有三条路线规则, 这是通往机器和172的集装箱的路线。就是这样。#我们无法完成它。#04,去物理机A。
172.17.9.2 dev veth1 scope link
172.17.9.3 dev veth2 scope link
172.17.8.0/24 via 192.168.100.100 dev eth0 proto bird onlink
如果你认为这些标准太难, 我会把刚制作的图表 变成一张更方便查阅的地图。
在这种方法中,物理学被用作路由器,通过路由器的路线规则将包件发送到目的地,在此过程中没有隧道封装它们,但只是路由,其性能要高得多。 然而,这一模式有许多问题。
卡利科结构
菲利克斯线路配置组件
如果只有两台电脑, 每台电脑只有两台, 而且它们没有改变。 如果我手动安装它, 也没关系。 但是, 如果连续生产和删除容器, 并且经常添加和删除节点, 问题就会变得非常困难 。
如图所示,有三台物理机器,每台需要一条路线,有两条外部路线。如果有六台物理机器,每台物理机器有五条通往外部的路线。如果增加一个新的节点,就需要通知每台物理机器将增加一条路线。
这在物理计算机之间也是一样, 物理系统中生产的每个容器都需要额外的路线指向容器。 它是如此复杂, 以至于您无法手动安装它; 您需要在每个物理机器上设置一个代理人, 当您建造和搬走一个容器时, 它会自动发生。 这个代理人在卡利科被称为费利克斯 。
BGP 线路无线电部分发言人
当费利克斯设定路线时,下一个挑战是如何获得路线信息以及如何到达我的节点和进入将要广播的集装箱。
你还记得什么吗?这是一条路线合同!这是一条路线协议, 向大家播送关于我能去的地方的信息, 以及我如何到达整个互联网, 这样客户就可以一个接一个到达目的地的地址。有几种路线协议, 而卡利科使用BGP协议。
卡利科的每个节点都有一个 BIRD 程序作为 BGP 客户端, 或 BGP 音响, 播放“ 如何联系我的节点, 如何在节点上访问我的容器 ” 。 所有 BGP 节点上的发言者都互相连接, 建立完全的互连性, 以便任何节点在路线改变时都能收到它 。
安全策略组件
Calico还开发了灵活的网络设置方法 " 网络政策 ",允许配置两个有或无存取娱乐的集装箱,开发了灵活的网络设置方法 " 网络政策 ",允许配置两个有或无存取娱乐的集装箱。
Calico也是利用等量实现的,该图代表一个可纳入内部核处理网络包件的等量处理点,Calico还就这些等量制定规则。
当网络软件包进入物理机器时,请输入含有卡路里-fip- dnat(浮动 IP)现场的预断规则,该规则主要使用外联网 dnat 的 IP 地址作为容器中的 IP 地址。
视路线而定,它可能是本地的,也可能是转发的。
当地INPUT规则,其中之一是“卡利-fw-cali netcard 1”和“卡利-fw-cali netcard 2”的详细规则,即“卡利-fw-cali netcard 2”是工作量,即“卡利-wl-cali netcard 2”,是工作量,即“卡利-w-cali netcard 2”,是工作量,即与集装箱1和2中对应的网络袋。
如果它被转发了, 我们将查看Forwald 规则, 那里有一条卡利- 福沃德规则。 有两种情况: 一种是寄到外面的集装箱, 另一种是寄到集装箱的外部。
Cali-tw-cali netcard 1 和 “cali-tw-cali netcard 2” 等详细规则。 Tw 与工作量相对应,即一个网络软件包,与发送到包装1和发送到容器2的网络软件包相匹配。
下一个规则是 OUPUT 规则, 其中载有 Cali- UUTPUT 规则。 以下规则是 POSTROOUT 规则, 其中载有 cali- fip- snat 规则, 即在传送时将集装箱网络 IP 转换为浮动 IP 地址。 在虚拟机场景观中, 路由器的网络名称空间有一个带有 SNAT 规则的外网卡 。
至今为止,卡利科的所有部件 都已经相当程度地建成了。看看我得到了什么。
这都与规模和复杂性有关。
这里仍然存在一个问题,这就是整个BGP连接的复杂性。
因为示例中只有六个节点, BGP 连接非常困难, 如果有更多的节点数据, 整个网络功能模型肯定不会起作用, 它将是一个蜘蛛网。 因此另一个组件, BGP Rote Researchor, 也是与 BIRD 一起建造的。 有了它, BGP 发言人不必互相连接, 但是它都连接了起来, 并且它负责在互联网上播放信息。
但这里的钓鱼量很大,甚至引起很多注意。这是BGP路由器反射器凝结的吗?
因此,一个BGP路由器反射器无法管理所有路线分布,需要使用几个BGP路由器反射器,每个反射器都是BGP路由器反射器的一部分。
它的组成部分是什么?当我们谈论数据中心时,我们说服务器在架子上,每个架子的顶部有一个托盘开关。如果机器连接到一个 BGP 路由器反射器,这种架子能否像一个单元一样由BGP 路由器反射器控制?如果你想跨过架子,你如何沟通?这需要使用 BGP 路由器直接转换线路。这与它们和架子之间的交换有什么关系?
在这种情况下,机库是否可能类似于数据中心,可以配置为AS,而BGP路由器反射器类似于数据中心边界路由器?服务器与BGP路由器反射器、iBGP、BGP路由器反射器和电子BGP之间的一个数据中心边界路由器?
在这个数字中,有几台计算机在架子上,每台机器上都有多个集装箱,每台机器都有一条通路。每台机器都启动一台BGP音响器,并将这些线路报告给BGP路反射器,后者通过iBGP协议图进入Rack上的开关并将这些线路与开关的三层线路功能连接,通过iBGP协议图进入开关的三层线路功能连接,几台机器在架子上,每台机器上安装多个集装箱,每台机器都有通路。每台机器都启动一台BGP音响音器,并将这些线路报告给BGP路反射器,后者通过iBGP协议进入Rack上的开关,并将这些线路与开关的三层线路功能连接到iBGP协议上。
在入口开关之间也建立了BGP连接,以便相互通报路线,从而使一个拉克内部的路线可以通知另一个拉克。 有许多核心或对流开关连接了入口开关,如果核心和汇合作为两层互连性运作,进入和进入之间的交换路线就足够了。
跨网段访问问题
卡利科模型的另一个问题是跨网络部分,跨网络部分是指物理学机器的跨网络部分。
以上逻辑的前提是物理机器可以用作路由器。例如,物理AA可能告知物理机器B, “你拥有172。”就是这样。这就是它。#我们不会做#04/24,所以我的下一步是192.168. 不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,
这是因为物理 A 和物理 B 属于同一个网络段, 与同一个开关相连。 但如果物理 A 和物理 B 不属于同一个网络段呢?
比如说,物理A的网络地址有192.168.100/24 不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,
告诉物理机器A,你可以进入172。就是这样。就是这样。这样。##04/24,所以我的下一步是192.168。 不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,这是它。 168,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不。
物理机器B的包装可以进入物理机器A的包装。 第一步是物理机器B, IP地址是192.168。 不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不, 不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不
主要问题是,你如何指示系统中的物理机器B来找我?如果有几种路由器,物理机器A不知道从物理机器B的下一个飞跃是谁,而这只是中间路由器的一个简单例子。谁知道物理机器B是什么?
第一个选项是让所有中间路由器都与卡利科匹配。 他们本来会互相通知对方路线, 只有物理机器, 现在只有容器的网络部分。 这并不总是可以实现的 。
第二个方法是物理A和物理B之间的隧道。 物理A和物理B之间有两端,一端封闭,一端封闭,将集装箱的IPIP作为客运协议,物理主主机的IP作为承运人协议。所以不管外层的IP是什么,它正在通过典型的物理网络,多少跳跃到目标物理机器,从两端的隧道看,物理A的下一跳是物理B,这样一来,物理A的下一跳就是物理B。
这是卡利科的 IPIP 模式。 在 IPIP 模式下, 我们可以看到以下关于物理 A 的路线表 :
172.17.8.2 dev veth1 scope link
172.17.8.3 dev veth2 scope link
172.17.9.0/24 via 192.168.200.101 dev tun0 proto bird onlink
与最初模式的区别在于 下个跳步不包括同一块物理机器。 168 不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,
如果我们在容器A1, 答案是172。 答案是 172。 就是这样。 # # 我们无法完成它。 # 2, 转到弹道容器, B1. 172。 仅此而已。 仅此而已。 我不确定你在说什么, 但我不确定你在说什么。 2, 我们先去物理A. 关于物理A,
内层的IP地址是172 仅此而已 仅此而已
内部目标IP是172,仅此而已。仅此而已。这就是。我不确定你在谈论什么, 但我不确定你在谈论什么,2;
不,不,不,不,不,不,不,不,不,不,不,不,不,不。
外部目标IP地址是192.168. 不不不,不,不,不,不,不,不, 不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不
将包件从 eth0 送出,并在物理网络上使用外层 IP 到物理B。 关于物理机器B, tun0 解除包件包件包件内层源和目的 IP, 并送往适当的容器。
小结
好了,这是部分,今天就到此为止吧
Calico建议使用物理计算机作为路由器,因为它没有虚拟成本,而且性能相当好。
Calico 的主要组件包括路由、iptables 的配置组件 Felix、BGP 线路无线电部分发言人,以及大规模场景下的 BGP Route Reflector。
为了解决跨网络问题,还有一个IPIP模式,以隧道的形式,将两个非邻接的计算机转换为隧道尽头的相邻计算机。
最后,我要向你们提出两个问题:
当您在公共云上部署卡利科时, 您经常选择 IPIP 模式。 您知道为什么吗?
微观服务用于微观服务部署,微观服务之间的通信,除了网络互联之外,还需要有效传递物品、价格、数量、付款等信息,以及将采用何种协议?
你可以自由地留个口信 和我谈谈
本文由 在线网速测试 整理编辑,转载请注明出处。