链路层

作者: shoxvc2001 | 来源:发表于2021-02-27 17:41 被阅读0次

    以太网

    以太网这个术语通常指一套标准,由DEC、 Intel公司和Xerox公司在1980年首次发布,并在1982年加以修订

    共享以太网

    第一个常见格式的以太网,目前被称为“10Mb/s以太网”或“共享以太网”,它被IEEE采纳(轻微修改)为802.3标准


    image.png
    CSMA/CD & MAC 介质访问控制协议

    采用 CSMA/CD , 一个站首先检测目前网络上正在发送的信号, 如果其他站碰巧同时发送,发生重叠的电信号被检测为一次碰撞。在这种情况下,每个站等待一个随机时间,然后再次尝试发送。这个时间量的选择依据一个统一的概率分布,随后每个碰撞被检测到的时间长度加倍。最终,每个站会得到机会发送,或者在尝试一定次数(传统以太网为16)后超时。采用CSMA/CD,在任何给定的时间内,网络中只能有一个帧传输。

    星型拓扑结构 & 以太网交换机

    20 世纪 90 年代初,共享的电缆已在很大程度上被双绞线代替。随着100Mb/s (也称为“快速以太网”)的发展,基于竟争的 MAC 协议已变得不流行。相反,局域网中每个站之间的线路通常不共享,而是提供了一个专用的星形拓扑结构。


    image.png

    无线以太网 & WIFI

    当前连接 Intemet 的最流行技术之一是无线网络,常见的无线局域网( WLAN ) IEEE 标准称为无线保真或 Wi-Fi ,有时也称为“无线以太网”或 802.11 虽然这个标准与 802 有线以太网标准不同,但帧格式和通用接口大部分来自 802.3 ,并且都是 IEEE 802 局域网标准的一部分。因此, TCP/IP 用于以太网的大部分功能,也可用于 Wi-Fi

    以太网帧格式

    image.png
    • 前导字段
      接收器电路用它确定一个帧的到达时间,并确定编码位(称为时钟恢复)之间的时间量。前导是一个公认的模式(典型值为 OxAA )
    • SFD
      在发现帧起始分隔符( SFD )时,接收器使用它“恢复时钟”
    • DST & SRC
      48位(6字节)的目的地址( DST )和源地址( SRC )字段。以太网帧的目的地址也允许寻址到多个站点(称为“广播”或“组播”)。广播功能用于 ARP 协议,组播功能用于 ICMPv6 协议,以实现网络层地址和链路层地址之间的转换
    • 类型/长度字段
      在多数情况下,它用于确定头部后面的数据类型。TCP/IP 网络使用的常见值包括 IPv4 (OxO800)、 IPv6 (Ox86DD) 和 ARP (OxO806)。

    **最初的IEEE (802.3,)规范将长度/类型字段作为长度字段而不是类型字段使
    用。困此,这个字段被重载(可用于多个目的)。关键是看字段值。.目前,如果字段
    值大于或等于1536,则该字段表示类型,它是由标准分配的超过1536的值。如果字

    段值等于或小于1500,则该字段表示长度。ETHERTYPES]给出了类型的完整列表。**

    • 标签 & 其他标签
      [802.3-2008] 提供了多种标签包含由其他IEEE标准定义的备种协议字段。其中,最常见的是那些由 802.1p 和 802.1q 使用的标签,它提供虚拟局域网和一些服务质量( Qos )指示符。
    • 有效载荷
      放高层PDU (例如 IP 数据报)的地方。传统上,以太网的有效载荷一直是 1500 字节,它代表以太网的 MTU。 目前,大多数系统为以太网使用 1500 字节的 MTU ,虽然在必要时它也可设置为一个较小的值。
    • 填充
      有效载荷有时被填充数个 0,以确保帧总体长度符合最小长度要求。
    • FCS 循环冗余校验
      在以太网帧格式中,有效载荷区域之后的最后字段提供了对帧完整性的检查。循环冗余校验( CRC )字段位于尾部,有32位,有时称之为 IEEE/ANSI 标准的 CRC32 [802.3-
      2008]。要使用一个位 CRC 检测数据传输错误,被检查的消息首先需要追加″位 0 形成一个扩展消息。然后,扩展消息(使用模 2 除)除以一个( n+1 )位的值,这个作为除数的值称为生成多项式。放置在消息的 CRC 字段中的值是这次除法计算中余数的二进制反码(商被丢弃)。生成多项式已被标准化为一系列不同的″值。
    帧大小限制

    以太网帧有最小和最大尺寸。最小的帧是 64 字节,要求数据区(有效载荷)长度(无标签)最小为 48 字节。当有效载荷较小时,填充字节(值为 0 )被添加到有效载荷尾部,以确保达到最小长度。

    1. 最小长度对最初的10Mb/s以太网的CSMA/CD很重要。
      我们来看一下,假设A检测到网络是空闲的,开始发数据,尽力传输,当数据包还没有到达B时,B 也监测到网络是空闲的,开始发数据包,这时就会发生碰撞,B 首先发现发生碰撞,开始发送碰撞信号,所谓碰撞信号,就是连续的 01010101 或者 10101010,十六进制就是 55 或 AA。这个碰撞信号会返回到 A。

    2. 如果碰撞信号到达A时,A还没有发完这个数据包,A就知道这个数据包发生了错误,就会重传这个数据包。但如果碰撞信号会返回到A时,数据包已经发完,则A不会重传这个数据包

    3. 要保证以太网的重传,必须保证A收到碰撞信号的时候,数据包没有传完,要实现这一要求,A和B之间的距离很关键,也就是说信号在A和B之间传输的来回时间必须控制在一定范围之内。

    4. IEEE定义了这个标准,一个碰撞域内,最远的两台机器之间的round-trip time 要小于512bit time.(来回时间小于512位时,所谓位时就是传输一个比特需要的时间)。这也是我们常说的一个碰撞域的直径。

    5. 512个位时,也就是64字节的传输时间,如果以太网数据包大于或等于64个字节,就能保证碰撞信号到达A的时候,数据包还没有传完。这就是为什么以太网要最小64个字节,同样,在正常的情况下,碰撞信号应该出现在64个字节之内,这是正常的以太网碰撞,如果碰撞信号出现在64个字节之后,叫 late collision。这是不正常的。

    6. 总结:最小数据帧的设计原因和以太网电缆长度有关,为的是让两个相距最远的站点能够感知到双方的数据发生了碰撞;最远两端数据的往返时间就是争用期,以太网的争用期是51.2微妙,正好发送64byte数据。

    链路层流量控制

    以全双工模式运行扩展的以太网和跨越不同速率的网段时,可能需要由交换机将帧缓
    存(保存)一段时间。如果一个站聚合的流量速率超过该站的链路速率,那么帧就开始存储在中间交换机中。如果这种情况持续一段时间,这些帧可能被丢弃。缓解这种情况的一种方法是在发送方采取流量控制(使它慢下来)。一些以太网交换机通过在交换机和网卡之间发送特殊信号帧来实现流量控制。流量控制信号被发送到发送方,通知它必须放慢传输速率,但将这些细节留给具体实现来完成。

    pause帧
    • 以太网使用 PAUSE 帧实现流量控制,它由 802.3x[802.3-2008] 来定。如果一个站接收到这种帧,表示建议它减缓发送速度。
    • PAUSE 帧总是被发送到 MAC 地址01:80:C2:00:00:01,并且只能在全双工链路上使用。
    • PAUSE 帧实际上是唯一一种使用 MAC控制帧的帧类型。
    • 以太网层次的流量控制可能有重大负面影响,因此通常并不使用它。当多个站通过一台过载的交换机发送时, 该交换机通常向所有主机发送PAUSE帧。

    网桥

    IEEE 802.1d 标准规定了网桥的操作,交换机本质上是高性能的网桥。网桥或交换机用于连接多个物理的链路层网络(例如一对物理的以太网段)或成组的站。最基本的设置涉及连接两个交换机来形成一个扩展的局域网。

    image.png

    过滤数据库

    每个网络单元有自已的 MAC 地址。每个交换机基于每个端日的列表被存储在一张表(过滤数据库)中。当第一次打开一个交换机时,它的数据库是空的,因此它不知道除自已之外的任何站的位置。当它每次接收到一个目的地不是自已的帧时,它为除该帧到达的端日之外的所有端口做一个备份,并向所有端口发送这个帧的备份。学习能力可以显著降低开销,它是交换机和网桥的一个基本功能。

    生成树协议 & STP、RSTP

    网桥可能单独或与其他网桥共同运行。当两个以上的网桥使用(或交换机端日交叉连接)时,由于存在级联的可能性,因此可能形成很多组的循环帧。

    STP 定义

    当这些帧到达时,转发数据库开始出现震荡,这是由于网桥反复尝试查找通过哪些端日可到达站。如果这种情况发生, 采用这种配置的网桥将无法使用。幸运的是,有一种协议可避免这种情况,这种协议称为生成树协议 (STP) 。

    STP 原理

    STP 通过在每个网桥禁用某些端日来工作,这样可避免拓扑环路(即两个网桥之间不允许出现重复路径),但如果拓扑结构未分区,则仍可到达所有站。在数学上,一个生成树是一张图中所有节点和一些线的集合,从任何节点到其他节点(跨越图)有一条路径或路由,但是没有环路(这些线的集合构成一棵树)。一张图可能存在多个生成树。 STP 用于找出这张图的其中一个生成树,该图将网桥作为节点并将链路作为线(或称“边” )。


    image.png

    生成树的形成和维护由多个网桥完成,在每个网桥上运行一个分布式算法。

    BPDU网桥协议数据单元
    image.png
    • 协议 prot 字段给出协议 ID 号,它被设置为 00
    • 版本 Vers 字段被设置为 0 或 2 ,取决于使用 STP 还是 RSTP。
    • 类型( rtype )字段的分配与版本类似。
    • 标志( Flags )字段包含拓扑变化( TC)和拓扑变化确认(TCA)位,它们由最初的802.1d标准定义。
    • 根 ID 字段给出发送方使用的根网桥标识符,即从网桥ID字段中获得的MAC地址。
    • 根路径成本是在根ID字段中指定的计算出的到达某个网桥的成本。
    • pID 字段是端日标识符和由发送帧给出的端日号,它被附加在一个可配置的1字节的优先级字段(默认为Ox80)之后。
    • 消息有效期(MsgA)字段指出消息有效期。
    • 最大有效期(MaxA)字段指出超时(默认为20秒)的最大期限。
    • 欢迎时间(HelloTime)字段指出配置帧的传输周期。
    • 转发延迟字段指出处于学习和侦听状态的时间。所有的有效期和时间字段可在1/256秒内获得。
    快速生成树RSTP

    IEEE802.1w标准改进了传统 STP ,它定义RSTP。在RSTP中,对 STP 的主要改进是监视每个端口的状态,并在故障时立即发送一个拓扑变化通知。另外, RSTP 使用BPDU 的标志字段中的全部 6 位来支持网桥之间的协议,以避免由计时器来启动协议操作。它将正常的sTP端状态由 S 个减少到 3 个(丢弃、学习和转发,由图3-14的括号中的状态名表示)。 RSTP 的丢弃状态代替了传统 STP 的禁止、阻塞和侦听状态。RSTP 创建了一个称为备用端口的新角色,作用是在根端口停止运行时立即代替它。

    MRP多注册协议

    无线局域网 IEEE802.11

    无线保真( Wi-Fi )是访问 Intemet 的最流行投术之一,其众所周知的 IEEE 标准名称为802.11,它是一种常用的无线以太网标准。

    802.11 帧

    image.png

    介质访问控制

    与有线网络相比,在无线网络中检测“冲突”具有更大挑战性。802.11 标准采用三种方法控制共享的无线介质,它们分别称为

    • 点协调功能(PCF)
    • 分布式协调功能(DCF)
    • 混合协调功能(HCF)
    DCF & CDMS/CA 协议

    DCF 是一种 CSMA/CA 类型,是基于竟争的介质访问方法。它可用于基础设施和 Adhoc 网络。通过 CSMA/CA ,一个站可查看介质是否空闲, 如果空闲,它将有机会传输。如果不空闲,它在一段随机的时间内避免发送,直到它再次查看介质是否空闲为止。这个行为与有线局域网中使用的 CSMA/CD 检测方法相似。 802.11 信道仲裁是对 CSMA/CA 的改进,提供优先访问某些站或帧的功能。

    历史版本

    • 802.11a
    • 802.11b
    • 802.11d
    • 802.11g
    • 802.11h
    • 802.11i
    • 802.11j
    • 802.11e
    • 802.11n


      image.png

    点到点协议

    PPP 表示点到点协议。这是一种在串行链路上传输 IP 数据报的流行方法,从低速的拨号调制解调器到高速的光链路。它被一些 DSL服务供应商广泛部署,也可分配 Intemet系统的参数。
    PPP 实际上是一个协议集合, 而不是一个单一的协议。它支持建立链接的基本方法称为

    • 链路控制协议(Link Control Protocol, LCP),
    • 一系列 NCP 协议
      LCP建立了基本链路之后,用于为各种协议(包括IPv4、 IPv6和非IP协议)建立网络层链路。一些相关标准涉及对 PPP 的压缩和加密控制,以及在链接建立后的一些认证方法。

    LCP 链路控制协议

    PPP 的 LCP 用于在点到点链路上建立和维护低层的双方通信路径。因此, PPP 操作只需关注一条链路的两端,它不需要像以太网和 Wi-Fi 的 MAC 层协议那样处理共享资源访问的问题。

    LCP 选项

    多链路PPP

    压缩控制协议CCP

    PPP认证

    网络控制协议NCP

    环回

    很多情况下,客户机可能希望使用 Intemet 协议与同一计算机上的服务器通信。为了实现这个目标,大多数实现支持一种工作在网络层的环回(或称“回送”)能力 一 通常使用一个虚拟的环回网络接日来实现。以 127 开始的 IPv4 地址就是为这个目的而保留, IPv6地址‥:1 用于同样目的。
    传统上,类 UNIX 系统(包括 Linux )为环回接日分配的 IPv4 地址为 127.0.0.1 (IPv6地址为::1 ),为它分配的名称为 localhost。发送到环回接日的IP数据报不会出现在任何网络中。
    在Linux中,环回接口被称为Io。

    MTU

    定义

    在很多链路层网络中,携带高层协议 PDU 的帧大小是有限制的。以太网有效载荷的字节数通常被限制为1500, PPP 通常采用相同大小以保持与以太网兼容。链路层的这种特征被称为最大传输单元( MTU )。
    大多数的分组网络都有固定的上限。大多数的流类型网络(串行链路)提供可设置的上限,它可被帧协议(例如 PPP )所使用。如果 IP 需要发送一个数据报,并且这个数据报比链路层 MTU 大,则 IP 通过分片将数据报分解成较小的部分,使每个分片都小于MTU。

    路径 MTU

    当同一网络中的两台主机之间通信时,本地链路的 MTU 在会话期间对数据报大小有直接影响。当两台主机之间跨越多个网络通信时,每条链路可能有不同大小的 MTU 。在包含所有链路的整个网络路径上,最小的 MTU 称为路径MTU。任何两台主机之间的路径 MTU 不会永远不变,这取决于当时使用的路径。如果网络中的路由器或链路故障, MTU 可能改变。另外,路径通常不对称(主机 A 到 B 路径可能不是 B 到 A 的反向路径),路径 MTU 不需要在两个方向上相同。

    相关文章

      网友评论

          本文标题:链路层

          本文链接:https://www.haomeiwen.com/subject/qmkrfltx.html