第三章 数据链路层(下)
载波监听多址接入/碰撞避免 CSMA/CA
(Carrier Sense Multiple Access/Collision Avoidance)
无线局域网中,碰撞发生在接收的时候而不是发送时,谁都无法检测到碰撞,所以不再采取碰撞检测,而是碰撞避免。
搞懂下图这几个帧间间隔各有什么作用?
- 问:源站为什么在检测到信道空闲后还要再等待一段时间DIFS?
答:考虑到可能有 更高优先级 的帧也要发送,若有,就人家先发。- 问:目的站为何正确接收数据帧后还要等待一段时间SIFS才发送ACK帧?
答:一来接收完以后需要时间从 接收方式 切换为 发送方式,二来SIFS是最短的
帧间间隔,用于分隔一次对话中的各个帧。
那…DCF是啥?
刚刚上面的例子用的就是 分布式协调功能DCF。好,现在接着上面的例子
- 问:目的站和源站收发完数据,信道由忙变为空闲 且 经过DIFS时间后,其他站想
发送为何还要退避一段随机时间呢?
答:刚结束DIFS,肯定一堆人盯着信道,如果都等DIFS结束就发送,那不是全都
碰撞在一起了?所以为避免多个站点同时发送,就设置了随机的退避时间。
算法原理
案例辅助理解:
预约:提前用一个很短的,不容易发生碰撞的帧(RTS),通知好接收方,一会的一段时间内只和我通信,不要理会别人。
就像这样:
说明:
载波监听:
理解题干中说的“对正确收到的数据帧进行确认”
6、MAC地址 IP地址 ARP协议
尽管IP地址和ARR协议属于网际层,MAC地址属于数据链路层,但三者之间存在联系,所以放在一起学习。
MAC地址用于标识一条广播信道上的各主机,一般固化存储在网卡的EEPROM中。因此,也被称为硬件地址,或物理地址。(不要以为物理地址就是物理层。)
MAC地址发送顺序:
拓展:可以在IEEE的官方网站查看已分配的组织唯一标识符OUI。
如果已知MAC地址,也可以查询他的厂商信息。
单播MAC地址举例:单对单传播
广播MAC地址:单对多传播,目标任意
多播MAC地址:单对多,目标有限制
D的多播组列表中找不到该多播地址,所以丢弃该帧。
拓展:
随机MAC地址:当前已有如下设备采用了随机MAC地址
本篇主要学习IP地址与MAC地址的联系,IP地址的作用,在网络层进行深入讲解。
从网络体系结构看IP地址与MAC地址:
数据包转发过程中IP地址与MAC地址的变化情况:
引入:一段链路中,两个主机想要互相通信,但是他们只知道对方的IP,不知道MAC地址,导致链路层无法封装MAC帧,此时地址解析协议ARP就能解决这个问题。
ARP协议原理:B要给C发送数据包。
B收到ARP响应报文后,链路层MAC地址匹配成功,交由上层处理,上层ARP进程解析ARP报文,将其中C的IP地址和MAC地址记录到自己的ARP高速缓存表中。
动态类型的记录中,IP地址和MAC地址的对应不是固定不变的,如:网卡坏了,换了一张新的网卡,此时IP地址没变,而MAC地址变了。所以,生命周期设为两分钟,两分钟之后自动删除。
7、交换机(SWITCH)与集线器(HUB)的区别
在集线器之前使用的是无源同轴电缆将主机与各总线连接。后来采用集线器+双绞线的方式连接成总线网。
集线器可以在物理层面扩展以太网:
使用集线器的以太网逻辑上共享总线,用CSMA/CD协议协调各主机征用总线,所以是一种半双工通信。
单主机发送广播帧无区别。
单主机发送单播帧:集线器转发给其余所有主机,交换机只发给目的主机。
多主机发送单播帧:
- 集线器:发生碰撞
- 交换机:逐一缓存,转发给目的主机
扩展总线:
8、交换机自学习和转发帧的流程
案例:
要点:
本题重点要理解PDU的概念
9、以太网交换机的生成树协议STP(Spanning Tree Protocol)
当两个交换机之间的链路发生故障,无法通信该怎么办?如何提高以太网的可靠性?
我知道我知道,添加一条冗余链路就可以提高以太网的可靠性了,就像这样:
但是,冗余链路会形成网络环路!网络环路有很多负面效应!就比如:一个广播帧,会被无限制套娃式传播。
所以引入生成树协议 STP。
重新计算后:
10、虚拟局域网VLAN
这仅仅是一个主机发了一个广播帧,全网就都要接收,太耗CPU了,哪能受的住这样折腾?而偏偏很多协议都会经常使用到广播。要想办法解决这个问题:分割广播域。
VLAN1的广播数据包不会传到VLAN2,VLAN2的广播数据包也不会传到VLAN1。
要实现虚拟局域网VLAN,需要交换机实现两个功能:
利用Access端口处理帧的特性,就能实现划分VLAN2 与 VLAN3 两个广播域:
发送:
接收:
当两个相连Trunk的PVID相等时,Trunk的特性使得帧经过Trunk后不改变其VID的值。
Trunk端口能转发和接收各种VID的帧。
Hybrid相比于Trunk只增加了去标签列表这一个特性。
隔离两个主机,要保证任何一方的PVID值都不出现在对方的去标签列表中,以便使对方收到带标签的帧,然后对方就识别不出来了。