数据链路层 ######################################## 介质访问控制 **************************************** IEEE 802.11 标准定义的局域网的参考模型对应于 OSI 参考模型的数据链路层和物理层,并将数据链路层划分为媒体接入控制(MAC)子层和逻辑链路控制子层(LLC)。 - MAC 子层控制:组帧和拆卸帧、比特传输差错检测、透明传输 - LLC 子层提供:无确认无连接、面向连接、带确认无连接、高速传送 4 中不同的连接服务类型 介质访问控制是由 MAC 子层提供的功能,主要任务是为使用介质的每个节点隔离来着同一信道上其他节点所传送的信号,以协调活动节点的传输。常见的介质访问控制方法为:信道划分介质访问控制、随机访问介质访问控制、轮询访问介质访问控制协议。 .. note:: 以太网只有物理层和数据链路层,没有网络层 以太网采用广播的方式发送信息。同一时间只允许一台主机发送信息,主机间的通讯方式为半双工 信道划分介质访问控制 ======================================== 信道划分通过分时、分频、分码等对信道进行划分,由此产生了频分多路复用、时分多路复用、波分多路复用、码分多路复用 随机访问介质访问控制 ======================================== 随机访问控制常用的协议是 CSMA, CSMA/CD, CSMA/CA 。其中 CSMA/CD 被用于以太网, CSMA/CA 被用于无线局域网。 :abbr:`CSMA (Carrier Sense Multiple Access)` (载波侦听多路访问)协议动作如下: - 1-坚持 CSMA: 节点发送数据前先侦听信道。如果信道空闲,那么 ``立即发送数据`` 。若繁忙,那么等待 ``同时继续侦听`` 直至信道空闲。如果发生冲突,那么随机等待一段时间后再重新开始侦听信道。 - 非坚持 CSMA: 一个节点要发送数据时首先侦听信道;如果信道空闲,那么立即发送数据。如果信道忙,那么放弃侦听,等待一个随机的时间后再重复上述过程。 - p-坚持 CSMA: p-坚持 CSMA 时分信道。一个节点要发送数据时,首先侦听信道,如果信道忙就持续侦听,直至信道空闲;如果信道空闲那么以概率 p 发送数据,以概率 1-p 推迟到下一个时隙。该过程一直持续到数据发送成功或者检测到信道忙为止。 :abbr:`CSMA/CD (Carrier Sense Multiple Access with Collision Detection)` 载波侦听多路访问/碰撞检测协议适用于总线型网络或者半双工网络环境。CSMA/CD 是以太网的指定协议。其逻辑拓扑结构为总线型网络。 CSMA/CD 协议可简单概括为:先听后发,边听边发,冲突停发,随机重发。 一个节点要发送数据帧时,首先侦听信道 - 如果信道空闲,那么立即发送数据帧,如果信道忙,那么将持续侦听,直至信道空闲。 - 在节点传输数据帧的同时也监听信道,如果在数据帧还没有传输完成的时候检测到数据发生碰撞,那么就 ``立即`` 停止传输数据帧,然后发送一个 48 bit 的阻塞信号。 - 在传输阻塞信号后采取截断二进制指数退避算法等待一段时间后重复上述过程。 二进制指数退避算法 #. 确定基本退避时间,一般为 2 :math:`\tau` #. 定义参数 k = min{ 重传次数, 10 } #. 在集合 :math:`0\sim 2^k-1` 中随机去一个数 r,退避时间即为 r。 #. 当重传达 16 次仍不能成功时,抛弃此帧并向高层报告出错。 :abbr:`CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance)` 载波侦听多路访问/碰撞避免协议适用于无线局域网环境。 当一个节点要发送数据时,首先侦听信道,如果信道忙,那么侦听信道,直至信道空闲。如果信道空闲,那么需要等待一个时间间隔,然后进入争用窗口,并计算随机退避时间,以便再次试图接入信号。当且仅当检测到信道空闲,并且这个数据帧是发送的第一个数据帧时才不使用退避算法。 在此协议中,在发送数据帧的时候即使检测到数据帧发生了碰撞,也要将整个数据帧全部发出。 轮询访问介质访问控制:令牌传递协议 ================================================================ 此协议构造的网络为令牌环网,其逻辑拓扑结构为环状结构。 在以太环网中,每个节点都会在一定时间内持有令牌并获得发送数据的权利,但是并不能无限制的持有令牌 例题 ======================================== #. [2018 统考真题] 主机甲采用停等协议向主机乙发送数据,数据传输率为 3kb/s,单向传播时延为 200ms,忽略确认帧的传输延迟,当信道利用率为 40% 时,数据帧的长度是多少? 设数据帧的长度为 :math:`L` , 那么 - 数据帧被推出链路使用的时间为: :math:`\frac{L}{3kbps}` - 数据帧的传输延迟 + 数据帧的传播延迟 + 确认帧的传播延迟 = :math:`\frac{L}{3kbps} + 0.4` 即: :math:`\frac{\frac{L}{3kbps}}{\frac{L}{3kbps} + 0.4} = 0.4` 解得: :math:`L = 0.8 kb` 局域网 **************************************** 以太网逻辑上采用总线用标扑结构,以太网中的所有计算机其享同一条总线,信息以广播方式发送。以太网简化了通信流程,并使用了 CSMA/CD 方式对总线进行访问控制。 以太网采取两种措施简化通信: 1. 采用无连接的工作方式 2. 不对发送的数据帧编号,也不要求接收方发送确认。 即以太网尽最大努力交付数据提供的是不可靠服务,差错纠正服务由高层提供。 以太网的传输介质如下表: 速率达到或超过 100 Mb/s 的以太网称为高速以太网: - 100BASE-T 以太网 物理介质为双绞线,拓扑结构为星形,既支持全双工方式,又支持半双工方式。在全双工工作方式下,不使用 CSMA/CD 协议。将一个网段的最大电缆长度减小到 100 米,帧间时间间隔从原来的9.6 µs 改为现在的 0.96 µs 。 - 吉比特以太网 又称千兆以太网.允许在 1Gb/s 下用全双工和半双工两种方式工作。仅在半双工工方式下使用 CSMA/CD 协议。 吉比特以太网的物理层有两个标准:IEEE 802.3Zz 和 IEEE 802.3ab ,前者采用光纤通信,后者采用是 4 对 UTP5 类线 - 10 吉比特以太网 物理介质为光纤。只在全双工工作方式下工作,不使用 CSMA/CD 协议。 以太网的每块网卡都有一个物理地址 即 MAC 地址,MAC 地址长 6 个字节,由于总线上使用的是广播通信,因此网卡从网络上每接收到一个数据帧,首先要用 ``硬件检查`` MAC 帧中的 MAC 地址,如果是发往本站的那么收下,否则丢弃。 以太网MAC帧格式有两种标准,V2 标准和 IEEE 802.3 标准。以太网的 V2 标准是事实上的标准。其格式如下: - 前导码:用来进行网卡之间的时钟同步,前8个字节可以再分为两个字段:第一个字段共7个字节是前同步码,用来实现的 MAC 帧的比特同步,第二个字段是帧开始定界符表示后面的信息就是 MAC 帧。 .. important:: MAC 并不需要帧结束符。因为以太网在传送帧的时候,各帧之间必须有一定的间隙。但是以太网帧依然需要加尾部,在数据链路层上帧既要加首部也需要加尾部。 以太网帧的最小长度为 64 字节,数据不够,那么就进行填充。以太网帧的最大长度为 1500 个字节,即 MTU = 1500B - 校验码:4 个字节,算法采用 CRC-32,校验除了前导码之外的所有部分。 IEEE 802.11 ======================================== IEEE 802.11 是无线局域网的指定标准,采用协议为 CSMA/CA 协议 .. important:: 在无线局域网中,即使发生帧碰撞,也需要将整个数据帧全部传输完毕。而在有线局域网中,若帧发生碰撞,则立即停止传输 广域网 ************************************** 广域网和局域网的区别与联系 .. csv-table:: :header: , 广域网, 局域网 覆盖范围, 通常跨越城市, 通常在一个城市之内 连接方式, 点到点连接, 多点接入 技术手段, 交换技术, 广播技术 OSI层次, 下三层, 下两层 着重点, 资源共享, 数据数据 组成构件, 节点交换机, 路由器 局域网和广域网的区别 #. 节点交换机在单个网络中发转发分组,而路由器在多个网络构成的互联网中转发分组。 #. 局域网使用的协议主要在数据链路层,而广域网使用的协议主要在网络层 #. 局域网是广播式网络,共享广播频道。不存在路由选择问题 #. 广域网覆盖范围广,节点多,为了保证可靠性和可拓展性,通常采用网状结构 PPP 协议 **************************************** :abbr:`PPP (Point-to-Point Protocol)` 协议是使用 ``串行线路`` 通信的 ``面向字节`` 的协议。 PPP协议由三个组成部分: - 链路控制协议(LCP):用于建立配置测试和管理数据链路 - 网络控制协议(NCP): PPT协议允许同时采用多种网络层协议,每种不同的网络层协议要用一个相应的 NCP 来配置,以为网络层协议建立和配置逻辑链接 - 一个将IP数据包封装到串行链路的方法: IP数据报在 PPP 帧中就是其系一部分,这个信息部分的长度是最大传送单元(MTU)的限制 PPP 是面向字符的,因此所有 PPP 帧的长度都是 8bit 的整数倍 PPP 支持两种认证,一种是 PAP,一种是 CHAP。其差别如下: - PAP 使用明文传输密码,CHAP 使用哈希值而不使用密码 - PAP 使用两次握手,CHAP 使用三次握手 - PAP 由被叫方提出连接请求, CHAP 由主叫方发送请求 PPP 可用于拨号连接,支持动态分配 IP 地址 .. note:: #. PPP 提供差错检验,但不提供纠错功能,只保证无差错接收,它是 ``不可靠`` 的传输协议 #. PPP 只支持点对点的电路通信,不支持多点通信 #. PPP 只支持全双工电路 #. PPP 的两端可以运行不同的网络层协议 #. PPP 是面向字节的,当信息字段出现和标志段相同的比特组合时。有两种处理办法:若用在异步线路(默认),则采用 ``字节填充法`` ,若用在同步线路,则使用硬件来完成 ``比特填充`` HDLC 协议 ======================================== :abbr:`HDLC (High-level Data Link Control)` 高级数据链路层控制协议是 ISO 制定的 ``面向比特`` 的 ``全双工通信`` 的链路层协议。其使用 ``0 比特插入法`` 来保证数据包的透明传输,对数据帧进行 CRC 校验 和编号,防止数据帧漏发或重发。 HDLC 有两种基本配置,非平衡配置和平衡配置: - 非平衡控制:由一个主站控制整个链路的工作 - 平衡配置:链路两端的两个站都是复合站,哪个复合站都可以平等地发起数据传输,而不需要等待对方复合站的允许 #. 站 HDLC有三种战类型,主站、从站和复合站: - 主站负责控制链路的操作,主站发出的帧称为 ``命令帧`` - 从站受控于主站,按主站的命令进行操作,发出的帧称为 ``响应帧`` - 复合站有主站的功能,又有从站的功能,既可以发出命令帧,也可以发出响应帧 #. 数据操作方式 - 正常响应方式:主站发出命令,从站响应命令。从站只有在接收到主站的许可之后,才允许进行数据发送 - 异步平衡方式:每个复合站都可以向另一站进行数据传输 - 异步响应模式:在此方式下,从站即使没有主站的允许,也可以进行数据传输 #. HDLC 帧 HDLC 帧可划分为三类: - 信息帧(I):第1位为 0,用来传输数据信息或使用捎带技术对数据进行确认 - 监督帧(S):前两位为 10,用于流量控制和差错控制,执行对信息帧的确认,请求重发和请求暂停发送等功能 - 无编号帧(U):前两位为 11,用于提供对链路的建立、拆除等控制功能 数据链路层设备 **************************************** 网桥 ======================================== 网桥工作在链路层的 MAC 子层,可以隔离碰撞域。网桥处理数据的对象是帧。 #. 具备寻址和路径选择能力,以确定帧的传输方向 #. 通过介质访问控制协议向目的网络转发帧 #. 网桥的工作方式为储存转发方式,因此可以进行链路层上协议转换,连接的两个网段可以使用不同的链路层协议 #. 网桥对接收到的帧不做任何修改 网桥的优点如下: #. 能过滤通信量 #. 扩大的物理范围 #. 可使用不同的物理层 #. 可互联不同类型的局域网 网桥的缺点如下: #. 增加了时延 #. MAC 子层没有流量控制功能 #. 不同MAC子层的网段调节在一起时,需要进行帧格式的转换 #. 网桥无法隔离广播域,因此只适用于通信量不大的局域网,否则可能会产生广播风暴 局域网交换机 ======================================== 局域网交换机又称以太网交换机。以太网交换机本上是一个多端口的网桥,工作在数据链路层,可以分割冲突域、为主机提供更高的带宽 利用以太网交换机还可以实现虚拟局域网( :abbr:`VLAN (Virtual LAN)` ),VLAN 不仅可以隔离冲突域,还可以隔离广播域 以太网交换机的特点如下: - 以太网交换机的每个端口都直接与单台主机相连,并且工作方式一般为全双工方式 - 以太网交换机能同时连通许多对端口,可以使每对相互通信的主机都像独占通信媒体那样无碰撞地传输数据 - 以太网交换机是一种即插即用设备,转发表是通过自学习算法自动建立的 - 以太网交换机使用了专用的交换结构,芯片交换速率较高 - 以太网交换机独占传输媒体的带宽 .. important:: 对于普通的 10Mbps 的共享以太网,若有N个用户,则每个用户占有的平均带宽只有总带宽的 :math:`\frac{1}{N}` 。在使用以太网交换机的时候,虽然每个端口到主机的带宽依然为 10Mpbs ,但是其端口的总容量为 :math:`10\times N Mbps` 以太网交换机采取两种交换方式及直通式和储存转发式: - 直通式交换机只检查帧的目的地址 - 储存转发式交换机先将帧进行缓存,并检查数据是否正确,然后再进行转发,否则丢弃。优点是可靠性高,支持不同速率端口间的转换,缺点是延迟比较大 .. important:: - 物理层的设备既不能隔离冲突域,也不能隔离广播域 - 数据链的设备可以隔离冲突域,但不能隔离广播域 - 网络层设备既可以隔离冲突域又可以隔离隔离广播域