×
大家都在搜

微信扫码登录

使用验证码登录

QQ登录

只需一步,快速开始

+发表新主题
分享
开启左侧

聊聊层交换技术—LPM+HD技术白皮书V1.0-!

[复制链接]

聊聊层交换技术—LPM+HD技术白皮书V1.0-!

四通八八 发表于 2025-1-11 10:18:38 浏览:  3 回复:  0 [显示全部楼层] 回帖奖励 |倒序浏览 |阅读模式
1层交换技术

11层交换技术的概念

交换技术是随着交换设备的出现而出现的一种数据转发技术,主要分为二层交换技术、层交换技术和四层交换技术。

二层交换技术是比较传统的交换技术,为了现二层交换,交换机需要维护一张MAC地址、交换机端口的硬件转发表,当交换机接收到数据时,根据数据包中的目的MAC地址查询硬件转发表,匹配到相同目的MAC地址表项时根据对应的交换机端口进行线速的数据转发,由于MAC地址属于OSI络参考模型中的第二层数据链路层的地址,所以称为二层交换技术。

而为了现层交换技术,交换机将维护一张至少包括目的IP地址,下一跳MAC地址在内的硬件转发表,当交换机接收到数据时,根据数据包中的目的IP地址查询硬件转发表,根据匹配结果进行相应的数据转发,并且采用硬件芯片或高速缓存支持,可以达到线速。由于IP地址属于OSI络参考模型中的第层络层的地址,所以称为层交换技术。

除了层交换技术,在层数据转发技术中还有路由技术的概念,该技术在中低端路由器和早期交换机中采用,进行数据的转发时通过检测数据包中的目的IP地址来判断应该如何进行数据包的转发,但不采用硬件芯片或高速缓存支持,而只是通过CPU进行软件计算转发,所以在大流量数据条件下法线速。由于数据处理能力的限制,该技术在高端路由器已经不被采用,高端路由器和层交换机一样大量地使用了层交换技术。

如果在层交换技术的转发过程中增加对四层TCPUDP端口的检测和硬件转发表匹配,则成为四层交换技术,由于四层交换技术在局域中应用极少,所以该技术并不成为交换机处理性能的衡量标准。

12层交换技术带来的影响

在早期络中,交换机只具备二层交换功能,所有的跨段通信或跨广域通信都通过采用路由技术的路由器设备(后来局域内部短暂出现过采用路由技术的层交换机),由于CPU现路由技术的处理能力限制,当初的局域基本不部署跨段的络应用,绝大部分的局域甚至不进行任何段的划分,不仅络的安全性降低,络的可管理性降低,而且由于广播的全泛滥极大地降低了局域的性能,法组建大规模的络。同样,路由技术的性能限制也影响了早期络跨广域的应用发展。在层交换技术出现以后,所有的这一切都发生了改变,局域可以随意部署大量的跨段应用,络的安全性和可管理性得到了极大的提升,可以通过层交换技术构建大规模的各种络,而广域的应用也随着采用层交换技术的高端路由器和高端路由交换机的出现而不断丰富。

2层交换技术的代表

络设备在进行数据跨段转发前需要查询路由转发表,然后才能做出数据转发的决定,路由转发表由非主机路由表(包括直连路由、静态路由、动态学习到的路由)和主机路由表(二层用户直接连接到层设备时的路由或由系统管理员设定的某指定主机路由)两大部分组成,路由转发表的概念有助于更好地了解后文提到的层交换技术。

技术1:一次路由、多次交换

在一次路由、多次交换的技术中,有一个非常重要的概念数据流。

流是具有相同数据特征的数据包的集合,相同数据特征可以指相同的源目的MAC地址、相同的源目的IP地址,以及相同的四层协议和四层端口号。但在层交换技术里,流的概念是指具有相同的源目的IP地址的数据包的集合。

例如表1(流精确匹配硬件表):

所有源IP地址为19216811,目的IP地址为19216821的数据包都属于同一个数据流,但源IP地址为19216811,目的IP地址为19216822的数据包属于不同的数据流。


一次路由,多次交换的工作机制:

数据流的首个数据包采用CPU软件现层路由,然后交换机把数据流层转发需要的相关信息表项(源IP地址、目的IP地址、下一跳MAC地址、数据转发出口MAC地址)下载到ASIC芯片,该数据流后续数据包的层转发就可以直接通过ASIC芯片采用流精确匹配来硬件现。当另一个不同的数据流需要进行层交换的时候需要重复同一个过程:一次路由、多次交换。

表一:流精确匹配硬件表




从表1的内容可以看到,虽然例子中数据层转发的下一跳地址和数据转发出口都相同(也就是数据转发目的属于同一段),但由于属于不同的数据流,分别占用了一个硬件表项。因此,在一次路由、多次交换的层交换工作模式下,存在两个明显的缺点:首先,每种数据流的首数据包采用CPU软件现路由,在大型络、应用繁多或病和攻击泛滥的数据流复杂环境下,数据的层转发将大量耗费CPU资源,不仅影响了效率,而且CPU利用率过高后有可能导致设备死机;其次,由于采用了流精确匹配的硬件转发方式,在大型络、应用繁多等数据流复杂的环境下对交换机硬件转发表的存储空间是一个极大的挑战,尤其在病和攻击络环境下,由于每个数据包都有可能是一个单独的数据流,能在很短时间内就使硬件存储空间溢出,从而导致其它的数据流只能使用纯CPU软件现层路由,交换机将迅速因为资源耗竭而瘫痪直接死机。

一次路由、多次交换的缺点可以简单概括为:

1一次路由:采用CPU软件现,CPU利用率高

2多次交换:流精确匹配,硬件存储空间承受巨大压力

技术2:比较长前缀匹配硬件层交换(LPM:LongestPrefixMatching)

在比较长前缀匹配硬件层交换技术中,层硬件转发表里存储着和软件路由表一样的转发表项(主机路由表和段路由表,不是流形式存在的转发表),而且可以支持段相互包容的络规划,在硬件转发过程中利用比较长匹配技术进行准确的表项查询。

LPM现机制:

1层交换机刚启动完毕

表二:比较长匹配硬件转发表刚启动完毕




在交换机刚启动完毕时,交换机就把设备的软件路由表下载到ASIC芯片,但由于MAC地址是未知的,法同时下载MAC地址,此时的硬件转发表是效的。

2下载和工作机制

在需要进行层交换的数据包到达交换机以后,交换机首先会查询比较长匹配硬件转发表,但由于MAC地址未知,所以法进行硬件数据转发。所以交换机将利用CPU对数据进行软件路由转发,交换机在数据的转发过程中获取下一跳和数据转发出口的MAC地址,然后会自动下载到层硬件转发表,此时包含了下一跳和数据转发出口MAC地址的硬件转发表项才真正生效。在这之后,发往相同目的IP段的数据包到达交换机都可以直接通过比较长匹配硬件转发表进行硬件转发,而其它段的数据转发需要重复上述的同一过程。


由于只有下载了MAC地址以后硬件表项才真正生效,业界通常把下载MAC地址的动作为真正意义上的下载层转发表。

表:比较长匹配硬件转发表正常运行




当数据是发往层交换机的直连段(该段的主机直接二层连接到层交换机),层交换机除了把发往这些主机的数据发往对应的层关,交换机还负责把数据直接发往这些主机,交换机需要知道主机IP地址对应的主机MAC地址,为了提高转发效率,交换机将生成主机转发表,直接进行数据的转发,但表项匹配部分内容只有目的IP地址字段,不是数据流的存储形式,因此依然节约了非常大量的存储空间。假设表例子中的1921682024是直连路由,生成的比较长匹配硬件转发表将为表四的形式。
表四:比较长匹配硬件转发表正常运行(包含直连段)




比较长匹配(LPM)层交换技术可以解决传统方式多次交换中采用流精确匹配而带来存储空间压力过大的问题。比较长匹配(LPM)技术支持静态路由、动态学习到的路由都直接以段形式存储于硬件转发表,一个目的段使用一个转发表项,而直连段仅生成表项内容为目的IP地址的主机转发表,对于其它不明目的段IP地址的数据包直接通过硬件缺省路由转发。因此,LPM技术的点是极大地节约存储空间,病和攻击数据可以通过硬件段路由或缺省路由进行转发,不增加额外的硬件表项,避免了存储溢出问题,保障设备的正常运行。

技术3:比较长前缀匹配硬件层交换的化(LPM+HDR)

在LPM技术中依然保留了CPU参与一次路由的需要,虽然每个段只有一次CPU参与的需要,但是在层设备拥有直连段,主机转发表数量比较多的情况下,CPU的首次参与依然会对层转发的处理效率产生一些影响,HDR技术可以进一步化LPM技术的处理效率,主机直接路由(HDR:HostdirectRoute)用于解决CPU参与一次路由的不足。主机直接路由(HDR)支持层设备在比较长匹配硬件转发中的下一跳节点和数据转发出口运行ARP协议时把对应的MAC地址直接下载到硬件转发表。因此,没有了首次CPU参与路由的效率影响,络中的所有主机(Host)都可以通过比较长匹配硬件转发表进行直接的层转发。

LPM+HDR层交换技术不需要CPU参与、节约了缓存空间,不仅极大地提高了路由效率,而且避免了病和攻击对络设备本身的影响,提高设备的稳定性。




实际上OceanBase的相关产品也一度受到用户的好评,这也是产品最好的自我肯定了。OceanBase 完全自主研发,已连续 10 余年稳定支撑双 11 ,创新推出“三地五中心”城市级容灾新标准,是全球唯一在 TPC-C 和 TPC-H 测试上都刷新了世界纪录的原生分布式数据库。https://www.oceanbase.com/