- 数据链路层的点对点信道和广播信道的特点。PPP 协议和 CSMA/CD 协议的特点。
- 数据链路层的三个基本问题:封装成帧、透明传输、差错检测。
- 以太网 MAC 层的硬件地址。
- 适配器、转发器、集线器、网桥、以太网交换机的作用和使用场合。
路由器转发分组时只涉及到下面三层。
数据链路既包含物理线路也包含必要的通信协议,将实现协议的软件和硬件加到链路上就构成了数据链路。
常用网络适配器(既包括硬件也包括软件)来实现这些协议,一般适配器包括了数据链路层和物理层两层的功能。
帧是点对点信道的数据链路层的协议数据单元。网络层的协议数据单元是IP数据报,又称分组。
数据链路层将网络层交下来的数据构成帧发送到链路上,以及把接收到的帧里的数据取出并上交给网络层。
点对点信道的数据链路层在通信时的主要步骤:
数据链路层的三个基本问题:封装成帧、透明传输、差错检验
封装成帧
给 IP 数据报加上首部和尾部就构成了数据链路层的帧,IP 数据报成为帧的数据部分。
链路层协议规定了帧中数据部分的长度上限——最大传送单元(MTU)。
首部和尾部包括帧定界符(即确定帧的界限)和其他控制信息。
帧定界符包括开始符(SOH)和结束符(EOT),分别是一串8为二进制数字。
帧定界符的作用:确定帧的界限。当出现差错时可以根据帧定界符识别是否是一个完整的帧。
透明传输
透明传输是因为控制字符产生的。
透明传输即表示无论传送什么样的数据,都能按照原样无差错地通过数据链路层。
字节填充:因为存在帧定界符,如果传输的数据中出现了和SOH、EOT等控制字符一样的文本,就在文本前面插入一个转义字符(ESC),接受端收到数据后在发送给网络层之前删除这个插入的转义字符。如果转义字符也出现在数据中,就在它前面再插入一个转义字符。
差错检测
循环冗余检验的原理:
在要传输的数据后加上n位的冗余码(成为帧检验序列FCS),如何得出冗余码:
让数据乘以2^n(相当于在后面加了n个0),然后除以一个事先约定的 n+1 位的除数P,得出 n 位的余数 R 就作为冗余码加到数据后面。接收端将收到的每一个帧除以同样的除数 P,若余数为 0 就表明没有差错,否则就是有差错,丢弃这个帧。
循环冗余检验使用硬件完成,速度很快。
循环冗余检验只能识别比特差错,无法识别帧丢失、帧重复、帧失序,因此不是可靠传输。
对于通信质量较差的无线传输链路,数据链路层协议使用帧编号、确认和重传机制。即接收方收到正确的帧就向发送方发送确认,如果发送方没有收到确认就表明出现差错,就进行重传直到收到对方的确认。
对于通信质量较好的有线传输链路,只进行CRC检验,不使用确认和重传机制。即不需要数据链路层向上提供可靠传输,而是由上层协议来改正差错。
本章的 PPP 协议和 CSMA/CD 协议都不是可靠传输的协议。
点对点协议 PPP 是目前点对点链路中应用最广泛的数据链路层协议。
PPP 协议是用户和 ISP 通信时使用的数据链路层协议。
PPP 协议应满足的需求
TCP/IP 协议族中,可靠传输由 TCP 协议负责。PPP 不负责纠错等。PPP 只支持点对点的链路通信,且只支持全双工链路。
PPP 协议的组成
PPP 协议有三个组成部分:
各字段的含义
PPP 的首部和尾部分别为4个字段和2个字段。
首部的第一个字段和尾部的第二个字段都是标志字段 F,规定为 0x7E,它标志着一个帧的开始或结束。两个连续的帧之间只需要一个 F,如果连续出现两个标志字段,表示这是一个空帧,应该丢弃。
首部的第二个和第三个字段 目前都没有实际含义。第四个字段是 2 字节的协议字段,它表明了信息部分的数据类型(可能是IP数据报也可能是其他类型的数据)。尾部的第一个字段是帧检验序列 FCS。
字节填充
PPP 使用异步传输时使用了字节填充,转义符为 0x7D。
零比特填充
PPP 协议用在 SONET/SDH 链路上时使用同步传输,此时采用零比特填充方法来实现透明传输。
零比特填充的方法:当信息字段中出现 5 个连续的 1,立即填入一个 0,这样信息字段中就不会出现 6 个连续的 1(PPP 的帧定界符中有 6 个连续的 1)。
PPP 链路从建立到释放的全过程:
用户拨号接入 ISP 后,就建立了从用户到 ISP 的物理连接。
这时用户向 ISP 发送一系列的链路控制协议 LCP 分组,以便建立 LCP 连接。
然后网络控制协议 NCP 给新接入的用户电脑分配一个临时的 IP 地址。
等用户通信完毕后,NCP 释放网络层连接,收回分配的 IP 地址,然后 LCP 释放数据链路层连接,最后释放物理层连接。
PPP 链路的状态变化:链路静止——链路建立——鉴别——网络层协议——链路打开——链路终止——链路静止。
可以看到,PPP 协议不是纯粹的数据链路层协议,还包含了物理层和网络层的内容。
广播信道可以进行一对多的通信,局域网用的就是广播信道。
局域网可以按照拓扑结构进行分类。
局域网的最主要特点:
网络为一个单位所拥有,且地理范围和站点数目都有限。
局域网的优点:
以太网是局域网的一种,绝大多数局域网都是以太网。双绞线是局域网中的主流传输媒体。
实现共享信道有两种方法:
a. 随机接入:特点是用户可以随机地发送消息。
如果有两个用户同时发送,在共享媒体上就会产生碰撞,是发送失败。这时就需要解决碰撞的网络协议,即 CSMA/CD 协议。
b. 受控接入:特点是用户不能随机发送信息而必须服从一定的控制。
以太网应用的主要是随机接入。
由于历史原因以太网层被拆分为两个子层:逻辑链路控制 LLC 和媒体接入控制 MAC。现在 LLC 基本已经消失了,主要是 MAC 协议。
适配器的作用
计算机与外界局域网的连接是通过适配器进行的,适配器以前又称网卡。
适配器和局域网之间的通信通过电缆或双绞线以串行传输方式进行的,而适配器与计算机之间的通信是通过 I/O 总线并行传输的,因此适配器的一个重要功能就是进行数据串行传输和并行传输的转换。
适配器实现的功能包含了数据链路层和物理层两个层次的功能。
适配器收到正确的帧后,使用中断来通知计算机,并把数据交付给协议栈中的网络层。当计算机要发送 IP 数据报时,就由协议栈把分组交给适配器,适配器将其组装成帧后发送到局域网(封装成帧、透明传输、差错检错等功能都是由适配器完成的)。
计算机的硬件地址存储在适配器中,而软件地址——IP地址存储在计算机中。
局域网上的计算机常被称为工作站、站点等。
为了通信的简便,以太网采取了以下两种措施:
CSMA/CD 协议的要点
在使用 CSMA/CD 协议时,不能同时发送和接收,因此使用 CSMA/CD 协议的以太网只能进行半双工通信(双向交替通信)。
发生碰撞是因为传播时延,A 发送了数据但是还没传到 B 处,B 就不知道有人发送了数据。
当 A 和 B 同时发送数据产生碰撞后,他们发送数据都失败,都要推迟一段时间重新发送。
因为不知道是否会发生碰撞,所以以太网存在发送的不确定性。
A 发送数据后最多 2θ 时间就知道是否碰撞,这 2θ 时间称为争用期。如果经过争用期还没碰撞,表明发送成功。
如果发生碰撞,以太网使用截断二指数退避算法来确定碰撞后重传的时机。
以太网规定了争用期的时长,这就约束了以太网的地理范围不能太大,不然传播时延会超过争用期限制。
以太网规定最短帧长为 64 字节(一个争用期可以发送的字节数),如果争用期发生碰撞就会停止发送,因此信道上长度小于 64 字节的帧就是无效帧。
碰撞后除了立即停止发送数据外还要继续发送一个人为干扰信号,通知所有用户现在发生了碰撞。
以太网还规定了帧间最小间隔 96 比特时间,这是为了使刚收到数据帧的栈清理缓存,准备接收下一帧。
CSMA/CD 协议的要点归纳
以太网发送完一帧后要把已发送的帧保留一下。如果争用期检测到碰撞,推迟一段时间后还要重传。
现在的以太网采用星形拓扑,在星形中心使用可靠性非常高的集线器。每个站用两对双绞线,分别用于发送和接收。
集线器的特点:
因为发生碰撞会浪费信道资源,所以以太网的信道利用率达不到100%。
减少端到端的传播时延、可以提高信道利用率,因此以太网的连线的长度不能太长,同时以太网的帧长不能太短。
MAC 层的硬件地址
局域网中,硬件地址又叫 MAC 地址。
IEEE 为局域网规定了一种 6 字节的全球地址,是局域网上的每一台计算机中固化在适配器中的地址。因此如果更换了新的适配器,硬件地址也就变了。
适配器上的标识符 EUI-48 就是计算机的硬件地址。
路由器通过适配器连接到局域网时,适配器上的硬件地址标志路由器的一个接口。
如果路由器同时连到多个网络上,就需要多个适配器有多个硬件地址。
局域网中适配器收到的帧有三种:
适配器至少能够识别前两种帧。
以太网适配器有一种特殊的工作方式:混杂方式。混杂方式的适配器只要”听到“有帧再传输就悄悄接收下来。
混杂方式可以用来监视和分析以太网上的流量,黑客也常用混杂方式非法获取信息。
MAC 层的帧格式:
有时会对以太网的范围进行扩展。
这种扩展的以太网在网络层看来仍然是一个网络。
由于 CSMA/CD 协议的限制,以太网的主机之间距离不能太远。
可以使用光纤来扩展主机和集线器之间的距离,因为光纤的时延小带宽宽,所以可以很轻松地将主机和集线器的距离扩展到几千米。
可以将多个以太网通过主干集线器连接起来形成一个更大的以太网。
多个以太网通过连接进行扩展后的优点是可以实现不同以太网间的通信,且扩大了地理范围。
缺点是碰撞域会增大,发送数据产生碰撞的概率增加。
扩展以太网更多的是在数据链路层扩展。
以太网通过以太网交换机(又称第二层交换机)来在数据链路层进行扩展。
以太网交换机的特点:
以太网交换机的最大优点:
交换机的最大优点:并行性。
多对主机同时通信并不会平分总带宽,因为每对主机独占其传输媒体的带宽,所以每对主机的带宽还是原带宽。
传统的10Mbit/s 的共享式以太网,如果有 10 个用户,则每个用户的平均带宽为 1Mbit/s,而用以太网交换机来连接这些主机,10 个用户的带宽都是 10Mbit/s,相当于总带宽 100Mbit/s。
以太网交换机的自学习功能
实现自学习的两个关键点:
因对接口连接的主机可能会改变,主机的网络适配器也可能改变,所以交换表中的每个项目都有有效时间,时间过了就会删除。
从总线以太网到星形以太网
总线以太网使用 CSMA/CD 协议,以半双工方式工作。
而以太网交换机不使用共享总线,没有碰撞问题,因此不使用 CSMA/CD 协议,而是以全双工方式工作。
使用以太网交换机可以方便地实现虚拟局域网 VLAN。
虚拟局域网 VLAN:它是由一些局域网网段构成的与物理位置无关的逻辑组,这些网段具有某些共同的需求。每一个 VLAN 的帧都有一个明确的标识符,指明发送这个帧的计算机属于哪一个 VLAN。
虚拟局域网是局域网给用户提供的一种服务,不是一种新型局域网。
下图中每一个 VLAN 的计算机可以处于不同的局域网中。
现在的以太网的速率已经从传统的 10Mbits/s 发展到了 1Gbit/s 的吉比特以太网。
100BASE-T 是在双绞线上传送 100Mbit/s 基带信号的星形拓扑以太网,仍使用 CSMA/CD 协议,又称快速以太网。
100BASE-T 可以使用以太网交换机,当使用以太网交换机时工作在全双工状态,且不使用 CSMA/CD 协议。
快速以太网使用的 MAC 帧格式仍然是 IEEE802.3 标准规定的帧格式。
吉比特以太网有以下几个特点:
吉比特以太网在半双工时,采用了“载波延伸”方法,延长争用期与发送的 MAC 帧最小长度到 512 字节。这在发送短帧时需要进行大量填充造成了额外开销。
还增加了“分组突发”的功能,当很多短帧要发送时,第一个短帧采用载波延伸的方法进行填充,后面的则一个接一个地发送而不需填充。
10GE 的帧格式与 10Mbit/s, 100Mbit/s 和 1Gbit/s 的帧格式完全相同,最小帧长和最大帧长也相同。
10GE 只工作在全双工方式,不使用 CSMA/CD 协议,这使它的传输距离极大地提高。
以太网技术发展很快,10GE 后面又制定了 40GE 和 100GE 的标准,他们都只工作在全双工方式。传输距离可达几十千米。
现在以太网的工作范围已经扩大到城域网和广域网,它的优点是:
以太网的发展证明了以太网的优点:
现在也使用以太网进行宽带接入互联网。
以太网接入可以提供双向的宽带通信,且可以根据需要灵活地升级(如从 10M 到 10G)。
但是以太网的帧格式中没有用户名字段和让用户键入密码来鉴别用户身份的过程。
于是诞生了 PPPoE(在以太网上运行PPP),它把 PPP 协议中的 PPP 帧封装到以太网中来传输。
现在的光纤宽带接入 FTTx 都是用 PPPoE。