众所周知,在Linux系统中有两中不同交换方式,也就是NBMA和BMA。我们不要看着两种交换方式只是差了一个字母,但是确实完全不同,甚至互相对立机制。很多用户都不是很了解,,小编就给大家介绍Linux系统NBMA和BMA交换方式详解。
Linux系统
1.NBMA交换
虽然大家都连接在一个链路上,但这并不意味着数据帧可以随意到达任何地方。NBMA网络中,控制权在交换机,端主机只能通过交换机到达目标端主机,也就是说,只有在交换机上配置了“这个从这个端口来数据帧通过了某种检验,可以且只可以从那个端口发出去”这个策略时,数据帧才能通过。对于NBMA网络,交换机实现会更加复杂,因为它内置了很多协议层逻辑,而不是一个被动学习。如果我们举几个NBMA实例,可能会更好一些。
对于NBMA,最典型就是帧中继和ATM了,广泛使用技术是ATM,我们知道ATM十分复杂,比以太网复杂多了,我觉得它比IP都要复杂。对于ATM而言,其中一个重要概念就是虚电路和虚通道,虚电路必须在通信前建立,ATM交换机工作就是交换虚路径使数据帧在配置好虚通道中传输,一个特定数据帧只能沿着一条虚通道前进,不会到达别虚通道。ATM虚通道配置就是在交换机上进行,也就是说是交换机控制了数据帧如何进行转发,端主机只能被动接受这种安排。
NBMA优势在于其可控性,不像BMA那样。对于WAN,一般很少使用BMA,大多数都是使用NBMA,因为WAN转发策略相当复杂,在BGP指导下,链路层一般都是特定目标转发,绝不能出现任意广播,这关系到各个AS强制性政策,如果一旦出现任意广播,将会使WAN不再安全,这里安全可能和政治,国家安全高度相关。
2.BMA交换
其实BMA网络根本就不是交换网络,也不需要交换,BMA网络逻辑拓扑永远都是总线型拓扑,在BMA网络引入交换概念完全是为了优化网络。以以太网为例,最初以太网就是总线型,后来为了便于拓展引入了HUB,也有了网桥用于连接异构以太网,后来以太网交换机在高性能且廉价双绞线广泛应用这个事实推动下风靡开来,基于总线同轴线逐渐退出。以太网交换机最大优势在于其学习功能,这种学习是一种被动学习,虽说在BMA网络上没有秘密,然而由于学习型交换机存在,秘密就局限于互相认可通信双方了。纵观整个历史,我们可以发现,以太网交换机是一个后来者,虽然它真颠覆了以太网架构,以至于后来千兆,万兆以太网仅仅为了兼容才和传统802.3保持一致,它还是无法颠覆以太网本质,这个本质是什么呢?这就是ARP协议,ARP请求是一个广播,这个广播确认了以太网还是那个最初广播型网络。任何通信都不得不使用arp协议进行地址解析(不考虑静态配置arp映射情况),这个地址解析以及后续单播通信给了交换机一个学习机会,知道了某个MAC地址之于本交换机,哪个端口可以到达,这样交换机就可以过滤掉不必要广播了。这种学习是被动助推性,即使没有这种学习机制,数据包还是可以到达目标,因为BMA网络实现在端主机,而不是交换机,对于以太网,默认数据帧会到达同链路任意主机,主机会过滤掉目标MAC不是本机数据帧,这才是BMA本质-即实现在主机,交换机仅仅助力,交换机在对于判断无能为力(比如MAC/端口映射条目老化)时,就会回归BMA本质,也就是使用广播将数据帧在每个端口广播。
IPv6取消了arp广播,某种程度上正在彻底摧毁了以太网广播性质根基。然而即使如此,一个数据帧还是可以将目标MAC改成广播地址,在标准没有改变之前,在交换机对于组播还处于蒙昧阶段时,交换机看到这种数据帧还是会在所有端口转发。
以上就是Linux系统NBMA和BMA交换方式详解,获取实用知识分享请持续关注测试笔记。