五月天视频苹果版下载软件 -五月天app官网无限观看
0731-84728105
15116127200
二层交流机原型设计与完成 (六)
宣布时间 :2021-05-31
     上一篇文章已经相识 到怎样 学习MAC和凭证 MAC查表取得 输入 效果 。输入 效果 有两种能够 ,一种是确定的输入 端口号,指示分组从确定的端口号输入 ;另一种是查不到婚配 表项,需求 广播 (泛洪)输入 。交流机除了正常端口号输入 和广播 输入 外,尚有 一种方式就是多播输入 。要求一致 个分组从指定的多个端口划分输入 。
     分组输入 是单播照旧多播是凭证 其MAC地址的标志 来区分的。
     1)单播
     单播的分组怎样 识别 ,有什么特征区分呢?从MAC地址的设计上做了严酷 的区分。MAC地址一共6个字节,其第1个字节的最低位bit值若是 为0,则表现 其是一个单播MAC地址。单播地址是分配给每个 独自 网卡运用 的物理标志 地址,以是 一个单播地址是一定 对应到一台独自 的主机。独自 的主机一定 是毗邻 在交流机的一个特定的端口下面 ,故单播地址分组转发,也就是一个独自 确定的端口号,其端口记号 用一个数字表现 即可。
      2)多播
     与单播相对 ,其标志 界说也就是MAC地址的第1个字节的最低位bit是1,则表现 一个多播地址。特此外,若是 MAC地址的一切 bit位都是1,则表现 一个广播 地址。多播与单播的分别 除了MAC地址的标志 分别 外,另外最大的区别就是,一个多播地址代表的是一组主机,可以是征求 1台或是多台主机。那多播地址的分组转发,怎样 确定给哪些主机发送,从哪些端口转发呢?在MAC转揭晓 中是用多行纪录来表现 ,照旧在端口那一列用多个端口号数字来表现 呢?下面 先容 一种新的端口表现 要领。
     广播 是一个多播的特例,是一个要求一切 节点都必需 参与 的特殊组。多播在有些时间 也叫组播,这着实 是网络层的叫法,与其照应 的网络层撒播 方式尚有 任播。网络层的组播有专门的组播协议完成 要领,网络层的组播IP地址与MAC层的MAC地址有着逐一 对应的关系,详细 协媾和 转换可网上搜索学习,转换算法在前面 文章代码中会有提到。
     多播既然是表现 一组主机的荟萃,那这个荟萃怎样 学习而来,转发的时间 又凭证 什么样的端口信息举行 输入 呢?
     1)多播学习
     首先,经过 组播协议学习,五月天app官网无限观看知道 ,主机宣布入组旧事 ,着实 其实不 是为了通知 交流机,而是通知 网关。对交流机而言,若是 想支持更好的组播转发是需求 监听Internet组管理 (IGMP)协议的,也就是要处置赏罚 二层以上的内容。若是 只想简朴 粗犷 简直 证组播成效 ,则可以把一切 的组播旧事 看成广播 来处置赏罚 即可。只是这种粗犷 的方式会给网络流量、管理 和用户体验来说带来诸多蔽端。
     通常支持组播管理 的交流机可以用两种分别 的方式来完成 ,第一种是带一个轻量级的处置赏罚 器,可以支持对二层以上更多协议举行 处置赏罚 ,则交流机可以完成 更多严重 的成效 。另外一种是凭证 场景要求,让硬件支持特定的管理 协议。硬件对组播的支持不需求 无邪 性,好比只支持IGMPV3协议,则可以直接凭证 该协议内容仅需体恤 的几个字段直接提取数据即可 完成协议处置赏罚 ,不像软件那样做逐层的剖析 和判别 。IGMP详细 需求 用到的字段有Record Type,用来指示是入组照旧退组。Multicast Address用来表现 IP组播的地址,凭证 该地址可以照射 其对应的多播MAC地址。
     多播经过 上述简朴 的字段提取后可以学习多播MAC的参与 或参与 ,其最终效果 是对应到一个多播MAC和其组端口号的照射 关系上,若是 某个端口上吸收 到了IGMP的入组信息,则将该协议中入组的组播IP转换后的多播MAC与其输入 端口生涯 到MAC转揭晓 中,说明 ,一旦有目的MAC地址为多播MAC的数据收到,则需求 转发到该端口上。相反,若是 收到IGMP的退组信息,则要将该多播MAC与其端口号信息删除。
     2)多播转发
     多播MAC与端口信息可以经过 下面 的要领学习到或删除了,那若是 在一个交流机上,一个多播MAC有多个端口都有主机参与 ,则该多播MAC有多个端口号与其组成转揭晓 ,那五月天app官网无限观看应当 怎样 来构建组播MAC的转揭晓 呢?
     先试想一下,若是 将其像单播MAC照射 表项一样,在MAC转揭晓 中添加多行纪录,一个多播MAC有几多个端口入了组,就添加几多条纪录,能否 可行。谜底 虽然是可以,但进一步剖析 查表历程,若是 一个MAC有多条表项可以婚配 ,则每一次查表都要把全表遍历,否则一定 无法取得 一个多播MAC一切 的端口号信息。这对查表功用 来说一定 浸染 严重 ,其浸染 巨细跟表项巨细成正比 。那五月天app官网无限观看思量 树立 独自 的多播表能否 可以呢?多播地址多了后该表条数也会变大,查表功用 也会存在效果 。
     既然从表项行的角度无法处置 效果 ,那五月天app官网无限观看可以从列的角度来思量 ,原来一个MAC地址对应一个端口,用一个列表现 ,那多个端口可以用多个列表现 即可。用软件的思绪 能够 还会思量 到用链表来表现 端口组信息,这些虽然可以,但从资源和功用 上思量 都还不及 ,特殊 是卸载到硬件完成 。
     下面 ,五月天app官网无限观看讲一种硬件的经常 运用 头脑 ,用bitmap方式表现 端口号。Bitmap望文生义 就是用每个 bit位表现 一个对应的端口,从低位最先 ,数字1(bit表现 :01)表现 0号端口;数字2(bit表现 :10)表现 1号端口;数字3(bit表现 :11)表现 0和1两个端口。交流机端口一样往常 不凌驾64个,那用64位数据类型即可一切 表现 一切 端口信息。
     1)多播学习
     多播学习五月天app官网无限观看在软件将接纳协议逐层剖析 的方式获取五月天app官网无限观看体恤 的数据。为了软件代码完成 简朴 ,多播学习的表项独自 存储在一个多播MAC转揭晓 中,某个端口的主机参与 了一个组,五月天app官网无限观看则在多播MAC转揭晓 中添加该组的多播地址与对应端口的bitmap表现 值。当有其他端口参与 了相反 的组,则在原有端口字段上更新其对应端口的bit位的值即可。
     2)端口Bitmap表现
     凭证 端口号的bitmap表现 ,上述多播MAC地址学习后只需求 一条表项表现 即可,在查表历程中,再也无须 遍历全表搜索 。那五月天app官网无限观看能否 可以将多播表和单播表放一块呢?软件是可以的,硬件是不会的。对硬件来说,其资源无比珍贵,每1bit都是钱。单播的端口号只能是一个确定值,对最大64个端口来说,其最多只用6bit即可表现 ,其他bit都是多余,故在硬件交流逻辑中,单播表与多播表是脱离 的,其端口号的表现 巨细也凭证 其硬件端口数目 来确定bit位的宽度。单播不接纳bitmap方式表现 ,除了存储资源铺张 尚有 一个主要 缘故原由 就是逻辑与盘算资源的铺张 。接纳bitmap必需 逐bit是竞赛 能否 为1,是1则该端口输入 ,输入 最坏情形 是遍历一切 bit位。单播原来就是一个确定端口输入 ,运用 bitmap的方式只是形成 处置赏罚 逻辑的严重 化与盘算时间 的空耗,故单播输入 端口运用 通例方式表现 。
     下一篇文章详细 讲一下多播表界说、完成 与相关代码修正 。
      接待您和先生 们参与 FAST开源项目群相反 与讨论 ,一同 体验纷歧样的系统 设计历程。请先加微信号15116127200后约请 入群。

关注FAST开源社区
FAST逐一 开源、开放、高速、高效、可编程、可界说!软硬件协同并行处置赏罚 。