数通知识梳理(二)
回顾数通知识:
二、以太网帧(学完后知道交换机的工作原理)
1.以太网协议
是局域网中常用的通信协议,早期应用在集线器上,它的网络架构类似于总线型拓扑,所有节点都共用同一介质的带宽,随着增加的节点越多,每个节点分到的带宽越少。所以会出现所有节点都争用同一介质的使用权,从而产生冲突域。并且当一个节点发送出去的报文(无论是单播、组播、广播),链路上的所有终端都会收到,从而造成性能浪费且不安全。

随着时代的发展,交换机出现了,可以基于MAC地址识别各个终端,并记录报文的源MAC地址和接收端口之间的映射关系,并进行转发。它的接口收发数据之间都是独立的,各接口属于不同的冲突域,因此有效地解决了集线器带来的冲突域问题,使得通过它互连的主机(或网络)之间不必再担心流量大小对于数据发送冲突的影响。
2.广播域
也就是同一二层网络中广播帧能够泛洪到的范围,在该范围内的所有终端都必须要接收,即使目标MAC不是自己。对于网络规模小的公司来说还算是一个不错的功能,但是对于网络规模大的公司来说就不太行。
例如:每台设备刚开机时,需要向DHCP服务器申请IP地址但是不知道谁是服务器,所以每台终端都会发送一个广播包,用来寻找服务器,由于公司有几万人,如果每台终端都发送广播报文,寻找服务器,那每台终端都会重复收到寻找服务器的报文,就会造成资源的浪费、卡顿,所以要创建VLAN隔离广播域。
3.MAC地址(标识网卡,具有全球唯一性)

采用“十六进制”+“-”表示,前面一半是厂商的标识OUI,后一半是设备的标识,一共有三种类型:
①单播:转为二进制的第八位为0
②组播:转为二级制的第八位为1
③广播:转为二进制全为1或F
4.以太网帧(对应的是数据链路层的协议)
A.报文格式
①Ethernet_Ⅱ(现网常用) ②IEEE802.3
区别:第二个增加了一个数据长度,一个LLC,一个组织代码。所以 Ethernet II 在承载流量时更简单、更高效,也更常用。
Ethernet_Ⅱ:会在上层数据前面增加6字节的目标Mac地址,和6字节的源Mac地址。还有2字节的类型值来标识网络层的数据是什么协议(IP、IPV6、ARP)。最后还有4字节的FCS,也叫奇偶校验算法,保证在传输数据时不受外界电磁波的干扰篡改数据,所以在发送数据之前会做一次奇偶校验(将以太网帧按照4个字节分成若干组,每组进行1和0的校验和的计算,完成以后将计算结果放在FCS当中)在接收时又重新做一次校验,如果两次检验结果是正确的那表明在传输过程中可能没有被篡改数据,如果是错误的那会直接丢掉。
B.报文类型
①.单播以太网帧(数据只发给一台pc)
在封装以太网帧的时候,目标Mac地址就写目标主机的Mac地址,这就实现了单播通讯。
②.组播以太网帧(数据发给部分的pc)
提前约定好一个组播Mac地址,然后告诉要实现组播的主机接收这个组播Mac地址,然后发送方也要以这个组播Mac地址为目标Mac地址,这样就实现了组播。
③.广播以太网帧(数据发给全部的pc)
在封装以太网帧的时候目标Mac地址就写成全为F或1的形式,表示链路中所有的主机都要接收。
5.MAC地址表和ARP表
Mac地址表,用来记录报文的源MAC和接收端口之间的映射关系,也就是记录了可以从哪个接口到达哪台设备,一共有静态和动态、黑洞学习三种方式。
静态:优点是安全不会被篡改,缺点是麻烦,需要一条一条的配置,不适用于灵活的场景。
动态:优点是省事,能自动学习到从哪个接口可以到达哪台设备,缺点是不安全,容易被攻击,例如:MAC地址欺骗攻击(修改MAC地址和端口的映射关系,让数据帧从错误端口转发,从而不能通信)、泛洪攻击(消耗MAC地址表资源,让其无法学到合法终端的MAC地址,出现大量未知单播帧,泛洪转发,消耗转发资源)。
针对欺骗攻击可以采用固化思想,比如静态、配置不同MAC地址学习的优先级、端口安全,但前提是知道哪个接口下连的终端是合法的,
泛洪类攻击则是采用限数的思想,通过限制接口或VLAN最大能学习到的MAC地址数量或是端口安全来解决。
黑洞:在知道哪个MAC是攻击源后,就可以将其设置为黑洞MAC,这样交换机在收到对应的源或目的MAC时就会直接丢弃。
ARP表,记录了IP地址对应的MAC地址,解决了在封装以太网帧时不知道对端目标MAC地址的问题,例如:当PC1与PC2进行通信,但是不知道PC2的Mac地址是多少时,就可以通过广播的形式发出ARP请求,从而让所有的终端都收到,PC2根据报文的目标ip进行判断是否是发给自己的,是的话PC2就会先把PC1的MAC地址和IP的映射关系记录到自己的ARP表中,再带上自己的Mac地址和IP回复给PC1。PC1收到回复以后就会将回复的结果存到自己的ARP表当中,这样ARP地址表就建好了。
6.交换机
A.类型:
①高端的性能好的:框式交换机(用于核心层):因为采用了分布式架构所以它的性能强悍,把交换机内部所需的功能交给不同的硬件独立控制。
例如:

②低端的性能差的:
盒式交换机(一般用于接入层、汇聚层):会将所有的功能模块都集中在一块比较小的电路板上,同时它的接口也比较少。
B.工作原理
当交换机收到数据帧后,会将源MAC和接收端口之间的关系记录下来,表示从哪个端口可以到达哪台设备,当维护完MAC地址表后,会根据转发规则进行数据帧转发。
注意:MAC地址表的老化时间是300秒,如果在这段时间内没有报文的交互就会删掉该MAC地址,如果有就刷新老化时间。
转发规则:
对于BUM帧(广播帧、未知单播帧、组播帧)直接进行泛洪;
对于能查询到MAC地址表的数据帧,按表转发;
对于能查询到MAC地址表的数据帧,但出入接口都是同一个则会直接丢弃。
简单来说就是,当交换机收到数据帧后,先判断是不是单播帧(看目标MAC的第八位是否为0),是单播帧的话就查表进行转发,没有匹配就泛洪,但如果出入接口都相同就直接丢弃,如果不是单播帧就直接泛洪。
C.接口编号规则

①.接口编号的第一个字母代表传输速度
G-千兆口;X(T,10G )-万兆口;H(100)十万兆口
②.接口编号的第一个数字代表槽位号
图中的最右边,也就是8
③.接口编号的第二个数字代表子卡号
左边为0,右边为1
④.接口编号的第三个数字代表该槽位的对应接口号
标于接口上方从0开始编号
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)