请选择 进入手机版 | 继续访问电脑版

雨林木风

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 11|回复: 0

linux中网络设备的那些事bridgeTAPVethVlanbr

[复制链接]

1万

主题

1万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
32176
发表于 2021-2-18 10:28:08 | 显示全部楼层 |阅读模式
  Linux 紧要运用以下三种筑立模子:Bridge、TAP、VETH、VLAN。Bridge 筑立是基于内核告竣的二层数据相易筑立,其影响相似于实际宇宙中的二级相易机。TAP 筑立是一种职业正在二层合同的点对点汇集筑立,每一个 TAP 筑立都有一个对应的 Linux 字符筑立,用户步伐能够通过对字符筑立的读写操作,结束与 Linux 内核汇集合同栈的数据相易职业,正在虚拟化处境中常常被模仿器运用。VETH 筑立是一种成对显现的点对点汇集筑立,从一段输入的数据会从另一端转移偏向输出,常常用于转移数据偏向,或维系其它汇集筑立。VLAN 筑立是以母子合联显现的一组筑立,是 Linux 里对 802.1.Q VLAN 时间的个别告竣,紧要结束对 802.1.Q VLAN Tag 的管制。
  从这张架构图中,咱们能够显明的看到有两个物理主机,估量节点和汇集节点,这是由于采用了汇集节点会合式的安放式样。至于为什么采用这种安放式样,那是由于自从E版之后,OpenStack起源把network功用从Nova平分离出来,使之成为独立的Neutron组件。而坑爹的是,分手后的版本,反而不增援汇集漫衍式安放的特点了,于是目前的Grizzly和Havana版本都是只可运用汇集会合式安放计划的,或者说,集群中只可存正在一个安放汇集功用的节点。
  从图中看,这段汇集蕴涵了A、B、C这三段的流程。A即是虚拟机test0的虚拟网卡,这块没什么好讲的。和它相连的B倒是值得好好讲一下。B是一个TAP筑立,常常是以tap下手的一段名称,它挂载正在Linux Bridge qbr上面。那什么又是TAP筑立呢?Linux 中的虚拟汇集中给出了如许的阐明:
  TAP是一个虚拟汇集内核驱动,该驱动告竣Ethernet筑立,并正在Ethernet框架级别操作。TAP驱动供给了Ethernet “tap”,拜访Ethernet框架可能通过它举行通讯。
  总而言之,TAP筑立原本即是一个Linux内核虚拟化出来的一个汇集接口。OK,咱们理解了TAP筑立了,即使仍旧不睬解能够查看TAP的全体界说。接下来即是qbr,这之前就说了,是一个Linux Bridge,很是古怪,咱们正在这个架构中,运用的OpenvSwitch告竣虚拟相易筑立的,为什么会显现Linux Bridge呢?OpenStack Networking Administration Guide给出了如许的阐明:
  原本即是说,OpenvSwitch不增援现正在的OpenStack的告竣式样,由于OpenStack是把iptables端正丢正在TAP筑立中,以此告竣了安好组功用。没主张,于是用了一个折衷的式样,正在中央加一层,用Linux Bridge来告竣吧,如许,就无缘无故了众了一个qbr网桥。正在qbr上面还存正在另一个筑立C,这也是一个TAP筑立。C常常以qvb下手,C和br-int上的D维系正在沿途,酿成一个维系通道,使得qbr和br-int之间顺流通讯。
  适才说到D(这也是一个TAP筑立)正在br-int上面,现正在轮到br-int退场了,br-int是由OpenvSwitch虚拟化出来的网桥,但毕竟上它曾经充任了一个虚拟相易机的功用了。br-int的紧要职责即是把它所正在的估量节点上的VM都维系到它这个虚拟相易机上面,然后行使下面要先容的br-tun的穿透功用,告竣了区别估量节点上的VM维系正在统一个逻辑上的虚拟相易机上面的功用。这个相似有点拗口,原本即是正在处分员看来,一共的VM都是维系正在一个虚拟相易机上面的,但毕竟上这些VM又都是漫衍正在区别的物理主机上面。OK,回到D上面,D常常以qvo下手。正在上面又有另一个端口E,它老是以patch-tun的花样显现,从字面就能够看出它是用来维系br-tun的。
  br-tun正在上面曾经提及了,这同样是OpenvSwitch虚拟化出来的网桥,不过它不是用来充任虚拟相易机的,它的存正在只是用来充任一个通道层,通过它上面的筑立G与其他物理机上的br-tun通讯,组成一个联合的通讯层。如许的话,汇集节点和估量节点、估量节点和估量节点如许就会点对点的酿成一个以GRE为根柢的通讯汇集,彼此之间通过这个汇集举行大宗的数据相易。如许,汇集节点和估量节点之间的通讯就此打通了。而图中的G、H恰是描摹这一通讯。
  正如前面所说,汇集节点上也是存正在一个br-tun,它的影响同估量节点上的br-tun墨守成规,都是为了正在全体体系中修建一个联合的通讯层而存正在的。于是,这一个别的汇集同估量节点上的汇集的功用是类似的,以是,也就没有需要众说了。
  汇集节点上的br-int也是起了相易机的影响,它通过I、J与br-tun维系正在沿途。最终的要的是,正在这个虚拟相易机上,又有其他两个紧张的tap筑立M、O,它们差异同N、P相连,而N、P行动tap筑立则是差异归属两个namespacerouter和dhcp,没错,正如这两个namespace的名称所示,它们担任的即是router和dhcp的功用。这个router是由l3-agent遵照汇集处分的须要而创筑的,然后,该router就与特定一个子网绑定到沿途,处分这个子网的道由功用。router告竣道由功用,则是依托正在该namespace中的iptables告竣的。dhcp则也是l3-agent遵照须要针对特定的子网创筑的,正在这个namespace中,l3-agent会启动一个dnsmasq的过程,由它来实践掌握该子网的dhcp功用。因为这个两个namespace都是针对特定的子网创筑的,因此正在现有的OpenStack体系中,它们通常是成对显现的。
  汇集节点:外部网桥(br-ex)的汇集当数据从router中道由出来后,就会通过L、K传送到br-ex这个虚拟网桥上,而br-ex实践上是混同形式加载正在物理网卡上,及时吸取着汇集上的数据包。至此,咱们的估量节点上的VM就能够与外部的汇集举行自正在的通讯了。当然,条件是咱们要给这个VM曾经分派了float-ip。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

|appname
快速回复 返回顶部 返回列表