3.1 使用点对点信道的数据链路层
数据链路层使用的信道主要有以下两种类型:
(1)点对点信道:使用一对一的点对点通信方式。
(2)广播信道:一对多的广播通信方式,因此必须使用专用的共享信道协议来协调这些主机的数据发送。
3.1.1 数据链路和帧
(1)链路:一条无源的点到点的物理线路段,中间没有任何其他的交换结点。一条链路只是一条通路的一个组成部分。
(2)数据链路: 除了物理线路外,还要把实现通信协议的硬件和软件加到链路上,就构成了数据链路。(链路+协议)
3.1.2 三个基本问题
(1)封装成帧:在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。
首部和尾部的一个重要作用就是进行帧定界。
控制字符 SOH (Start Of Header) 放在一帧的最前面,表示帧的首部开始。另一个控制字符 EOT (End Of Transmission) 表示帧的结束。
(2)透明传输:无论发送什么样的比特组合的数据,这些数据都能够按照原样没有差错地通过这个数据链路层。
如果数据中的某个字节的二进制代码恰好和 SOH 或 EOT 一样,数据链路层就会错误地“找到帧的边界”。
解决方法:字节填充或字符填充
I.发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”(其十六进制编码是1B)。
II.接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。
III.如果转义字符也出现在数据当中,那么应在转义字符前面插入一个转义字符 ESC。当接收端收到连续的两个转义字符时,就删除其中前面的一个。
(3)差错检测:在传输过程中可能会产生比特差错:1 可能会变成 0, 而 0 也可能变成 1。
①循环冗余检验的原理:在发送端,先把数据划分为组。假定每组 k 个比特。 在每组 M 后面再添加供差错检测用的 n 位冗余码,然后一起发送出去。
②冗余码的计算:用二进制的模 2 运算进行 2n 乘 M 的运算,这相当于在 M 后面添加 n 个 0。得到的 (k + n) 位的数除以事先选定好的长度为 (n + 1) 位的除数 P,得出商是 Q 而余数是 R,余数 R 比除数 P 少 1 位,即 R 是 n 位。
举例:现在 k = 6, M = 101001。设 n = 3, 除数 P = 1101,被除数是 2nM = 101001000。
计算结果为商 Q = 110101,余数 R = 001。把余数 R 作为冗余码添加在数据 M 的后面发送出去。发送的数据是:2nM + R,即:101001001,共 (k + n) 位。
计算的时候注意各位对齐,还有记得是模2运算!!!
③接收端对收到的每一帧进行 CRC 检验
但这种检测方法并不能确定究竟是哪一个或哪几个比特出现了差错。只要经过严格的挑选,并使用位数足够多的除数 P,那么出现检测不到的差错的概率就很小很小。
④帧检验序列 FCS:在数据后面添加上的冗余码
循环冗余检验 CRC 和帧检验序列 FCS 并不等同。CRC 是一种常用的检错方法,而 FCS 是添加在数据后面的冗余码。FCS 可以用 CRC 这种方法得出,但 CRC 并非用来获得 FCS 的唯一方法。
注意:仅用循环冗余检验 CRC 差错检测技术只能做到无差错接受,而不能实现无差错传输,本章介绍的数据链路层协议都不是可靠传输的协议。
3.2 点对点协议PPP
3.2.1 PPP协议的特点
(1)PPP 协议应满足的需求
①简单 —— 这是首要的要求。
②封装成帧 —— 必须规定特殊的字符作为帧定界符。
③透明性 —— 必须保证数据传输的透明性。
④多种网络层协议 —— 能够在同一条物理链路上同时支持多种网络层协议。
⑤多种类型链路 —— 能够在多种类型的链路上运行。
⑥差错检测 —— 能够对接收端收到的帧进行检测,并立即丢弃有差错的帧。
⑦检测连接状态 —— 能够及时自动检测出链路是否处于正常工作状态。
⑧最大传送单元 —— 必须对每一种类型的点对点链路设置最大传送单元 MTU 的标准默认值,促进各种实现之间的互操作性。
⑨网络层地址协商 —— 必须提供一种机制使通信的两个网络层实体能够通过协商知道或能够配置彼此的网络层地址。
⑩数据压缩协商 —— 必须提供一种方法来协商使用数据压缩算法。
(2)PPP 协议的组成
①一个将 IP 数据报封装到串行链路的方法。
②链路控制协议 LCP 。
③网络控制协议 NCP。
3.2.2 PPP协议的帧格式
(1)各字段的意义
PPP 帧的首部和尾部分别为 4 个字段和 2 个字段。标志字段 F = 0x7E。地址字段 A 只置为 0xFF。地址字段实际上并不起作用。控制字段 C 通常置为 0x03。
PPP 是面向字节的,所有的 PPP 帧的长度都是整数字节。
(2)字节填充
①将信息字段中出现的每一个 0x7E 字节转变成为 2 字节序列 (0x7D, 0x5E)。
②若信息字段中出现一个 0x7D 的字节, 则将其转变成为 2 字节序列 (0x7D, 0x5D)。
③若信息字段中出现 ASCII 码的控制字符(即数值小于 0x20 的字符),则在该字符前面要加入一个 0x7D 字节,同时将该字符的编码加以改变。
(3)零比特填充
在发送端,只要发现有 5 个连续 1,则立即填入一个 0。接收端对帧中的比特流进行扫描。每当发现 5 个连续1时,就把这 5 个连续 1 后的一个 0 删除。
3.2.3 PPP协议的工作状态
3.3 使用广播信道的数据链路层
3.3.1 局域网的数据链路层
(1)局域网最主要的特点
①网络为一个单位所拥有;
②地理范围和站点数目均有限。
(2)局域网具有如下主要优点
①具有广播功能,从一个站点可很方便地访问全网。局域网上的主机可共享连接在局域网上的各种硬件和软件资源。
②便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变。
③提高了系统的可靠性、可用性和生存性。
(3)局域网拓扑结构
(4)媒体共享技术
①静态划分信道:频分复用、时分复用、波分复用和码分复用 。
②动态媒体接入控制(多点接入):随机接入和受控接入。
(5)以太网的两个标准 :DIX Ethernet V2 和 IEEE 802.3 。
(6)数据链路层的两个子层:逻辑链路控制 LLC (Logical Link Control)子层和媒体接入控制 MAC (Medium Access Control)子层。
(7)适配器的作用
①网络接口板又称为通信适配器或网络接口卡 NIC (Network Interface Card),或“网卡”。
②适配器的重要功能:进行串行/并行转换、对数据进行缓存、在计算机的操作系统安装设备驱动程序和实现以太网协议。
3.3.2 CSMA/CD协议
(1)以太网采取两种重要的措施
①采用较为灵活的无连接的工作方式
②以太网发送的数据都使用曼彻斯特编码
(2)多点接入:许多计算机以多点接入的方式连接在一根总线上。
(3)载波监听:每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。
(4)碰撞检测:计算机边发送数据边检测信道上的信号电压大小。检测到碰撞后,立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送。
(5)争用期(碰撞窗口)
最先发送数据帧的站,在发送数据帧后至多经过时间 2τ(两倍的端到端往返时延)就可知道发送的数据帧是否遭受了碰撞。
以下内容是真的没有看懂,之后多看点别的再来修改。
(6)二进制指数类型退避算法
当重传达 16 次仍不能成功时即丢弃该帧,并向高层报告。
(7)10 Mbit/s 以太网争用期的长度
10 Mbit/s 以太网取 51.2 μs 为争用期的长度。
(8)最短有效帧长
以太网规定了最短有效帧长为 64 字节,凡长度小于 64 字节的帧都是由于冲突而异常中止的无效帧。
(9)覆盖范围
在 10 Mbit/s 以太网 51.2 μs 的争用期内,信号能传输5 km。
(10)帧间最小间隔
帧间最小间隔为 9.6 μs,相当于 96 bit 的发送时间。
(11)CSMA/CD协议的重要特性
①使用 CSMA/CD 协议的以太网不能进行全双工通信而只能进行双向交替通信(半双工通信)。
②每个站在发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。
③这种发送的不确定性使整个以太网的平均通信量远小于以太网的最高数据率。
3.3.3 使用集线器的星形拓扑
(1)星形以太网 10BASE-T
(2)集线器的一些特点
①集线器是使用电子器件来模拟实际电缆线的工作,因此整个系统仍然像一个传统的以太网那样运行。
②使用集线器的以太网在逻辑上仍是一个总线网,各工作站使用的还是 CSMA/CD 协议,并共享逻辑上的总线。
③集线器很像一个多接口的转发器,工作在物理层。
④集线器采用了专门的芯片,进行自适应串音回波抵消,减少了近端串音。
3.3.4 以太网的信道利用率
(1)设帧长为 L (bit),数据发送速率为 C (bit/s),则帧的发送时间为 T0 = L/C (s)。
一个站在发送帧时出现了碰撞。经过一个争用期 2τ 后,可能又出现了碰撞。这样经过若干个争用期后,一个站发送成功了。假定发送帧需要的时间是 T0。
(2)参数 a 与利用率
在以太网中定义了参数 a ,它是以太网单程端到端时延 与帧的发送时间 T0 之比:
①a → 0,表示一发生碰撞就立即可以检测出来, 并立即停止发送,因而信道利用率很高。
②a 越大,表明争用期所占的比例增大,每发生一次碰撞就浪费许多信道资源,使得信道利用率明显降低。
(3)对以太网参数 a 的要求
为提高利用率,以太网的参数 a 的值应当尽可能小些。
①当数据率一定时,以太网的连线的长度受到限制,否则 τ 的数值会太大。
②以太网的帧长不能太短,否则 T0 的值会太小,使 a 值太大。
(4)信道利用率的最大值 Smax
发送一帧占用线路的时间是 T0 + τ ,而帧本身的发送时间是 T0。于是,我们可计算出理想情况下的极限信道利用率 Smax 为:
①只有当参数 a 远小于 1 才能得到尽可能高的极限信道利用率。
②据统计,当以太网的利用率达到 30% 时就已经处于重载的情况。很多的网络容量被网上的碰撞消耗掉了。
3.3.5 以太网的MAC层
(1)MAC层的硬件地址
在局域网中,硬件地址又称为物理地址,或 MAC 地址。
①单站地址,组地址,广播地址
IEEE 规定地址字段的第一字节的最低位为 I/G 位。I/G 表示 Individual / Group。
当 I/G 位 = 0 时,地址字段表示一个单站地址。当 I/G 位 = 1 时,表示组地址。当 I/G 位分别为 0 和 1 时,一个地址块可分别生成 223 个单个站地址和 223 个组地址。所有 48 位都为 1 时,为广播地址。只能作为目的地址使用。
②全球管理与本地管理
IEEE 把地址字段第一字节的最低第 2 位规定为 G/L 位,表示 Global / Local。
当 G/L 位 = 0 时,是全球管理(保证在全球没有相同的地址),厂商向 IEEE 购买的 OUI 都属于全球管理。当 G/L 位 = 1 时, 是本地管理,这时用户可任意分配网络上的地址。
③适配器检查 MAC 地址
适配器从网络上每收到一个 MAC 帧就首先用硬件检查 MAC 帧中的 MAC 地址。
如果是发往本站的帧则收下,然后再进行其他的处理。否则就将此帧丢弃,不再进行其他的处理。(“发往本站的帧”包括以下三种帧: 单播帧(一对一)、广播帧(一对全体)和多播帧(一对多))
④所有的适配器都至少能够识别前两种帧,即能够识别单播地址和广播地址。有的适配器可用编程方法识别多播地址。只有目的地址才能使用广播地址和多播地址。以混杂方式 工作的以太网适配器只要“听到”有帧在以太网上传输就都接收下来。
(2)MAC帧的格式:DIX Ethernet V2 标准和IEEE 的 802.3 标准
最常用的 MAC 帧是以太网 V2 的格式。
①类型字段用来标志上一层使用的是什么协议,以便把收到的 MAC 帧的数据上交给上一层的这个协议。
②数据字段的正式名称是 MAC 客户数据字段。最小长度 64 字节 - 18 字节的首部和尾部 = 数据字段的最小长度(46字节)
③当传输媒体的误码率为 1x10-8 时,MAC 子层可使未检测到的差错小于 1x10-14 。
④当数据字段的长度小于 46 字节时,应在数据字段的后面加入整数字节的填充字段,以保证以太网的 MAC 帧长不小于 64 字节。
⑤在帧的前面插入(硬件生成)的 8 字节中,第一个字段共 7 个字节,是前同步码,用来迅速实现 MAC 帧的比特同步。第二个字段 1 个字节是帧开始定界符,表示后面的信息就是 MAC 帧。
(3)无效的MAC帧
①数据字段的长度与长度字段的值不一致;
②帧的长度不是整数个字节;
③用收到的帧检验序列 FCS 查出有差错;
④数据字段的长度不在 46 ~ 1500 字节之间;
⑤有效的 MAC 帧长度为 64 ~ 1518 字节之间。
(4)IEEE 802.3 MAC 帧格式
与以太网 V2 MAC 帧格式相似,区别在于:
①IEEE 802.3 规定的 MAC 帧的第三个字段是“长度 / 类型”。
当这个字段值大于 0x0600 时(相当于十进制的 1536),就表示“类型”。这样的帧和以太网 V2 MAC 帧完全一样。当这个字段值小于 0x0600 时才表示“长度”。
②当“长度/类型”字段值小于 0x0600 时,数据字段必须装入上面的逻辑链路控制 LLC 子层的 LLC 帧。
(5)帧间最小间隔
帧间最小间隔为 9.6 μs,相当于 96 bit 的发送时间。
3.4 扩展的以太网
3.4.1 在物理层扩展以太网
使用集线器扩展:将多个以太网段连成更大的、多级星形结构的以太网。
(1)优点:
①使原来属于不同碰撞域的以太网上的计算机能够进行跨碰撞域的通信。
②扩大了以太网覆盖的地理范围。
(2)缺点:
①碰撞域增大了,但总的吞吐量并未提高。
②如果不同的碰撞域使用不同的数据率,那么就不能用集线器将它们互连起来。
3.4.2 在数据链路层扩展以太网
(1)网桥:网桥工作在数据链路层。它根据 MAC 帧的目的地址对收到的帧进行转发和过滤。
当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的 MAC 地址,然后再确定将该帧转发到哪一个接口,或把它丢弃。
(2)交换机:多接口的网桥
①特点:每个接口都直接与一个单台主机或另一个以太网交换机相连,并且一般都工作在全双工方式。以太网交换机具有并行性。能同时连通多对接口,使多对主机能同时通信。
②交换方式:存储转发方式和直通方式
③自学习功能
④生成树协议:不改变网络的实际拓扑,但在逻辑上则切断某些链路,使得从一台主机到所有其他主机的路径是无环路的树状结构,从而消除了兜圈子现象。
(3)从总线以太网到星形以太网
总线以太网:所有计算机都处于同一个碰撞域(或冲突域)中和同一个广播域中。
星形以太网:每个接口都处于一个独立的碰撞域(或冲突域)中,但所有计算机都处于同一个广播域中。
3.4.3 虚拟局域网
虚拟局域网 VLAN 是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。虚拟局域网其实只是局域网给用户提供的一种服务,而并不是一种新型局域网。
①优点:改善了性能,简化了管理,降低了成本,改善了安全性。
②虚拟局域网使用的以太网帧格式
3.5 高速以太网
速率达到或超过 100 Mbit/s 的以太网称为高速以太网。
3.5.1 100BASE-T以太网
(1)特点
①可在全双工方式下工作而无冲突发生。在全双工方式下工作时,不使用 CSMA/CD 协议。
②MAC 帧格式仍然是 802.3 标准规定的。
③保持最短帧长不变,但将一个网段的最大电缆长度减小到 100 米。
④帧间时间间隔从原来的 9.6 μs 改为现在的 0.96 μs 。
(2)100 Mbit/s 以太网的三种不同的物理层标准
3.5.2 吉比特以太网
(1)特点
①允许在 1 Gbit/s 下以全双工和半双工两种方式工作。
②使用 IEEE 802.3 协议规定的帧格式。
③在半双工方式下使用 CSMA/CD 协议,全双工方式不使用 CSMA/CD 协议。
④与 10BASE-T 和 100BASE-T 技术向后兼容。
(2)吉比特以太网的物理层
(3)载波延伸
使最短帧长仍为 64 字节(这样可以保持兼容性),同时将争用时间增大为 512 字节。凡发送的 MAC 帧长不足 512 字节时,就用一些特殊字符填充在帧的后面,使MAC 帧的发送长度增大到 512 字节。接收端在收到以太网的 MAC 帧后,要将所填充的特殊字符删除后才向高层交付。
(4)分组突发
当很多短帧要发送时,第一个短帧要采用载波延伸方法进行填充,随后的一些短帧则可一个接一个地发送,只需留有必要的帧间最小间隔即可。这样就形成可一串分组的突发,直到达到 1500 字节或稍多一些为止。
当吉比特以太网工作在全双工方式时(即通信双方可同时进行发送和接收数据),不使用载波延伸和分组突发。
3.5.3 10吉比特以太网(10GE)和更快的以太网
(1)特点
①与 10 Mbit/s、100 Mbit/s 和 1 Gbit/s 以太网的帧格式完全相同。
②保留了 802.3 标准规定的以太网最小和最大帧长,便于升级。
③不再使用铜线而只使用光纤作为传输媒体。
④只工作在全双工方式,因此没有争用问题,也不使用 CSMA/CD 协议。
(2)端到端的以太网传输
以太网的工作范围已经从局域网(校园网、企业网)扩大到城域网和广域网,从而实现了端到端的以太网传输。
好处:
①技术成熟;
②互操作性很好;
③在广域网中使用以太网时价格便宜;
④采用统一的以太网帧格式,简化了操作和管理。
3.5.4 使用以太网进行宽带接入
(1)特点
①可以提供双向的宽带通信。
②可以根据用户对带宽的需求灵活地进行带宽升级。
③可以实现端到端的以太网传输,中间不需要再进行帧格式的转换。这就提高了数据的传输效率且降低了传输的成本。
④但是不支持用户身份鉴别。
(2)PPPoE
PPPoE (PPP over Ethernet) 的意思是“在以太网上运行 PPP”,它把 PPP 协议与以太网协议结合起来 —— 将 PPP 帧再封装到以太网中来传输。
小结
本章主要是讲数据链路层。相比之前的物理层,数据链路层就开始要兼顾上下的兼容,通过各种协议进行通信。内容是真的越来越多了,计算机网络学习的困难之处可能就是因为知识点有点多吧。