计算机网络微课堂——第三章—数据链路层(下)

第三章 数据链路层(下)

  • 5.4 随机接入——无线局域网协议:CSMA/CA

载波监听多址接入/碰撞避免 CSMA/CA

(Carrier Sense Multiple Access/Collision Avoidance)

无线局域网中,碰撞发生在接收的时候而不是发送时,谁都无法检测到碰撞,所以不再采取碰撞检测,而是碰撞避免。

    • 5.4.1 CSMA/CA工作原理:

搞懂下图这几个帧间间隔各有什么作用?
在这里插入图片描述

  • 问:源站为什么在检测到信道空闲后还要再等待一段时间DIFS?
    答:考虑到可能有 更高优先级 的帧也要发送,若有,就人家先发。
  • 问:目的站为何正确接收数据帧后还要等待一段时间SIFS才发送ACK帧?
    答:一来接收完以后需要时间从 接收方式 切换为 发送方式,二来SIFS是最短的
      帧间间隔,用于分隔一次对话中的各个帧。
    在这里插入图片描述

那…DCF是啥?
在这里插入图片描述刚刚上面的例子用的就是 分布式协调功能DCF。

好,现在接着上面的例子

  • 问:目的站和源站收发完数据,信道由忙变为空闲 且 经过DIFS时间后,其他站想
      发送为何还要退避一段随机时间呢?
    答:刚结束DIFS,肯定一堆人盯着信道,如果都等DIFS结束就发送,那不是全都
      碰撞在一起了?所以为避免多个站点同时发送,就设置了随机的退避时间。
    在这里插入图片描述
    • 5.4.2 退避算法

算法原理
在这里插入图片描述
案例辅助理解:
加粗样式

    • 5.4.3 信道预约

预约:提前用一个很短的不容易发生碰撞的帧(RTS),通知好接收方,一会的一段时间内只和我通信,不要理会别人。
在这里插入图片描述
就像这样:
在这里插入图片描述

说明:

在这里插入图片描述

载波监听:

  • 这也是预约机制很巧妙地一点:RTS,CTS,数据帧 里面都含有本次预约的通信要持续的时间,所以其他站接收到了这些帧中的任何一个,就都能腾出合适的时间等他结束,自己再找时间传输。相当于减少了碰撞。

在这里插入图片描述

    • 5.4.4 习题 顺便总结一下MAC协议方面的知识

理解题干中说的“对正确收到的数据帧进行确认”
在这里插入图片描述在这里插入图片描述

  • CDMA虽是MAC协议,但收到帧后并没有确认操作。

在这里插入图片描述

6、MAC地址 IP地址 ARP协议

  • 6.1 概述

在这里插入图片描述

尽管IP地址和ARR协议属于网际层,MAC地址属于数据链路层,但三者之间存在联系,所以放在一起学习。



  • 6.2 MAC地址

MAC地址用于标识一条广播信道上的各主机,一般固化存储在网卡的EEPROM中。因此,也被称为硬件地址,或物理地址。(不要以为物理地址就是物理层。)
在这里插入图片描述

    • 6.2.1 IEEE 802局域网的MAC地址格式

在这里插入图片描述

MAC地址发送顺序:

  • 字节:第一字节 → 第六字节

  • 比特:0比特 → 7比特

拓展:可以在IEEE的官方网站查看已分配的组织唯一标识符OUI。
在这里插入图片描述
如果已知MAC地址,也可以查询他的厂商信息
在这里插入图片描述

    • 6.2.2 MAC地址类型

在这里插入图片描述

单播MAC地址举例:单对单传播

在这里插入图片描述

广播MAC地址:单对多传播,目标任意

在这里插入图片描述

多播MAC地址:单对多,目标有限制

在这里插入图片描述在这里插入图片描述

D的多播组列表中找不到该多播地址,所以丢弃该帧。

拓展:
在这里插入图片描述
在这里插入图片描述
随机MAC地址:当前已有如下设备采用了随机MAC地址
在这里插入图片描述

  • 6.2 浅析IP地址

本篇主要学习IP地址与MAC地址的联系,IP地址的作用,在网络层进行深入讲解。

    • 6.2.1 IP地址的作用

在这里插入图片描述

  • 因特网中,不同网络的编号必须各不相同。

  • 在一个IP地址中,哪部分是主机编号,哪部分是网络编号不是确定的,不都和上图的例子相同。

    • 6.2.2 IP地址与MAC地址

从网络体系结构看IP地址与MAC地址:
在这里插入图片描述

数据包转发过程中IP地址与MAC地址的变化情况:

在这里插入图片描述
在这里插入图片描述

    • 6.2.3 地址解析协议ARP

引入:一段链路中,两个主机想要互相通信,但是他们只知道对方的IP,不知道MAC地址,导致链路层无法封装MAC帧,此时地址解析协议ARP就能解决这个问题。
在这里插入图片描述

ARP协议原理:B要给C发送数据包。
在这里插入图片描述

  • 每个主机中(或路由器等)都有一张ARP高速缓存表,里面记录有之前使用过的IP地址及其对应的MAC地址。当主机要和某IP地通信时,查找ARP表有无其对应的MAC地址。如果没有则需要发送ARP请求报文,来获取对方的IP地址。

在这里插入图片描述

  • ARP请求报文封装在MAC帧中,只不过其目的地址为FF-FF-FF-FF-FF-FF,总线上的所有主机都能收到该帧,并根据帧的内容发送ARP响应。

  • 本例中A自然不用做出回应,而C需要发送ARP响应。

  • C除了发送ARP响应外,还要把B的IP地址和MAC地址记录在自己的ARP高速缓存中。

在这里插入图片描述

B收到ARP响应报文后,链路层MAC地址匹配成功,交由上层处理,上层ARP进程解析ARP报文,将其中C的IP地址和MAC地址记录到自己的ARP高速缓存表中。

在这里插入图片描述

动态类型的记录中,IP地址和MAC地址的对应不是固定不变的,如:网卡坏了,换了一张新的网卡,此时IP地址没变,而MAC地址变了。所以,生命周期设为两分钟,两分钟之后自动删除。

在这里插入图片描述

7、交换机(SWITCH)与集线器(HUB)的区别

  • 7.1 集线器(HUB)

在集线器之前使用的是无源同轴电缆将主机与各总线连接。后来采用集线器+双绞线的方式连接成总线网。

在这里插入图片描述

集线器可以在物理层面扩展以太网:

在这里插入图片描述

  • 原来三个系互相独立,互不连通,无法通信,不过此时竞争总线的主机少,碰撞域小。

  • 再加一个集线器,连通三个系,虽然可以互相通信,但竞争总线的主机也变多了,碰撞域增大。

  • 7.2 交换机(SWITCH)

在这里插入图片描述

使用集线器的以太网逻辑上共享总线,用CSMA/CD协议协调各主机征用总线,所以是一种半双工通信。

  • 7.3 集线器与交换机的区别

单主机发送广播帧无区别。

单主机发送单播帧:集线器转发给其余所有主机,交换机只发给目的主机。

多主机发送单播帧:

  • 集线器:发生碰撞
  • 交换机:逐一缓存,转发给目的主机

扩展总线:

在这里插入图片描述

在这里插入图片描述

8、交换机自学习和转发帧的流程


案例:

  • 假设各主机都知道目的机的MAC地址(无需进行ARP)

  • 开始时帧交换表中没有任何信息

  • A→B;B→A;E→A;G→A

在这里插入图片描述

要点:

  • 登记:每个帧在进入接口后,若帧交换表中没有源的MAC地址,则要先记录该帧源的MAC地址及其对应的接口号。即使是从另一个交换机转发过来的也要记录转发用的接口号。

  • 盲目转发:转发的时候,帧交换表中找不到目标MAC地址,就向所有接口都发送

  • 若一个帧从某接口进入交换机,则绝不会再从该接口出交换机。



  • 例题:

本题重点要理解PDU的概念

这里是引用

9、以太网交换机的生成树协议STP(Spanning Tree Protocol)

  • 9.1 引入

当两个交换机之间的链路发生故障,无法通信该怎么办?如何提高以太网的可靠性?

在这里插入图片描述

我知道我知道,添加一条冗余链路就可以提高以太网的可靠性了,就像这样:

在这里插入图片描述

但是,冗余链路会形成网络环路!网络环路有很多负面效应!就比如:一个广播帧,会被无限制套娃式传播。

在这里插入图片描述

所以引入生成树协议 STP。

  • 9.2生成树协议STP

在这里插入图片描述

  • 本来,所有接口都正常的话,这个以太网有很多环路,根据STP协议计算出拓扑网络,人为阻塞一些接口,使得以太网没有环路的同时还能连通所有接口。

  • 若某接口发生故障,则STP协议会重新计算拓扑网络。

在这里插入图片描述

重新计算后:

在这里插入图片描述

10、虚拟局域网VLAN

  • 10.1 概述 + 引入

在这里插入图片描述

这仅仅是一个主机发了一个广播帧,全网就都要接收,太耗CPU了,哪能受的住这样折腾?而偏偏很多协议都会经常使用到广播。要想办法解决这个问题:分割广播域。

在这里插入图片描述

  • 10.2 虚拟局域网VLAN(Virtual Local Area Network)

在这里插入图片描述

VLAN1的广播数据包不会传到VLAN2,VLAN2的广播数据包也不会传到VLAN1。

要实现虚拟局域网VLAN,需要交换机实现两个功能:

  • 交换机能处理带有VLAN标记的帧,也就是IEEE 802.1Q帧
  • 交换机的各端口可以支持不同的端口类型,不同类型端口对帧的处理方式不同
    • 10.2.1 IEEE 802.1Q帧(也称Dot One Q帧)

在这里插入图片描述

  • 扩展MAC帧格式,插入4字节VLAN标记,最后12比特为VLAN标识符VID,标志该帧属于哪个VLAN

  • 主机处理不了802.1Q帧,主机收到带有VLAN标记的帧直接丢弃

    • 10.2.2 交换机的端口类型

在这里插入图片描述

  • Access端口:

在这里插入图片描述

  • Access端口只能接收未打标签的帧,发送VID与PVID相同的帧

利用Access端口处理帧的特性,就能实现划分VLAN2 与 VLAN3 两个广播域:
在这里插入图片描述



  • Trunk端口:

在这里插入图片描述

发送:

  • VID = PVID:去标签发
  • VID !=PVID:直接发

接收:

  • 没标签:打标签接收
  • 有标签:直接接收

当两个相连Trunk的PVID相等时,Trunk的特性使得帧经过Trunk后不改变其VID的值。

Trunk端口能转发和接收各种VID的帧。

在这里插入图片描述



  • 华为私有的交换机Hybrid端口类型:

Hybrid相比于Trunk只增加了去标签列表这一个特性。

在这里插入图片描述

隔离两个主机,要保证任何一方的PVID值都不出现在对方的去标签列表中,以便使对方收到带标签的帧,然后对方就识别不出来了。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值