04741 计算机网络原理第五章
第一节 数据链路层服务
从数据链路层来看,无论是主机还是路由器等网络设备,都可以统称为结点,因为它们通常都是一条数据链路的端点。沿着通信链路连接的相邻结点的通信信道称为链路,数据链
路层传输的数据单元称为帧。数据链路层通常提供的以下几点服务。
1)组帧。
2)链路接入。
3)可靠交付。
4)差错控制。
第二节 差错控制
简述差错控制的概念及差错控制的基本方式
差错控制就是通过差错编码技术,实现对信息传输差错的检测(2分),并基于某种机制进行差错纠正和处理(1分)。
差错控制的基本方式主要包括:检错重发、前向纠错、反馈检验、检错丢弃(2分)。
信号在信道传输过程中,会受到各种噪声的干扰,从而导致传输差错。噪声可以大致分为随机噪声和冲击噪声两大类。随机噪声包括热噪声、传输介质引起的噪声等,具有典型的随机特征;冲击噪声是指突然发生的噪声,如雷击、电机启停等,具有很强的突发性,并且容易造成一段时间的传输差错。随机噪声引起的传输差错称位【随机差错】或【独立差错】,具有独立性、稀疏型和非相关性等特点,对于二进制信息传输,通常呈现为随机的比特差错;冲击噪声引起的差错称为突发差错,通常是连续或成片的信息差错,差错之间具有相关性,差错通常集中发生在某段信息。突发错误发生的第一位错误与最后一位错误之间的长度称位突发长度。
一、差错控制的基本方式
典型的差错控制方式包括检错重发、前向纠错、反馈校验和检错丢弃 4 种基本方式。
1. 检错重发
检错重发是一种典型的差错控制方式,在计算机网络中应用广泛。在检错重发方式中,发送端对待发送数据进行差错编码,编码后的数据通过信道传输,接收端利用差错编码检测
数据是否出错,对于出错的数据,接收端请求发送端重发数据加以纠正,直到接收端接收
到正确数据为止。
2. 前向纠错
前向纠错(Forward Error Correction, FEC)是接收端进行差错纠正的一种差错控制方法。前向纠错机制需要利用纠错编码,即这类编码不仅可以检测数据传输过程中是否发生了错误,
而且还可以定位错误位置并直接加以纠正。在前向纠错机制中,发送端首先对数据进行纠
错编码,然后发送包含纠错编码信息的帧,接收端收到帧后利用纠错编码进行差错检测,
对于发生错误的帧直接进行纠错。前向纠错机制比较适用于单工链路或者对实时性要求比
较高的应用。
3. 反馈校验
反馈校验方式的接收端将收到的数据原封不动发回发送端,发送端通过比对接收端反馈的数据与发送的数据可以确认接收端是否正确无误接收了已发送的数据。如果发送端发现有
不同,则认为接收端没有正确接收到发送的数据,则立即重发数据,直到收到接收端反馈
的数据与已发数据一致为止。反馈校验方式的优点是原理简单,易于实现,无须差错编码;
缺点是需要相同传输能力的反向信道,传输效率低,实时性差。
4. 检错丢弃
不同网络应用对可靠性的要求不同,某些应用(如实时多媒体播报应用)可以采用一种简单的差错控制策略,不纠正出错的数据,而是直接丢弃错误数据,这种差错控制方式就是检错丢弃。显然,这种差错控制方式通常适用于容许一定比例的差错存在,只适用于实时性要
求较高的系统。
二、差错编码的基本原理
差错编码的基本原理就是在待传输(或待保护)数据信息的基础上,附加一定的冗余信息,该冗余信息建立起数据信息的某种关联关系,将数据信息以及附加的冗余信息一同发送到接收端,接收端可以检测冗余信息表征的数据信息的关联关系是否存在,如果存在则没有错误,否则就有错误。
三、差错编码的检错与纠错能力
不同差错编码的检错或纠错能力是不同的,差错编码的检错或纠错能力跟该差错编码的编码集的汉明距离有关。 两个等长码字之间,对应位不同的位数,称为两个码字的汉明距离,记为dc。
类似的,可以定义一个编码集的汉明距离为该编码集中任意两个码字之间汉明距离的最小值,记为ds。
1)对于检错编码,如果编码集的汉明距离 ds=r+1,则该差错编码可以检测 r 位的差错。
2)对于纠错编码,如果编码集的汉明距离 ds=2r+1,,则该差错编码可以纠正 r 位的差错。
四、典型的差错编码
典型的差错编码有哪些?
(1)奇偶校验码
(2)汉明码
(3)循环冗余码
1. 奇偶校验码
奇校验:编码后的码字中“1”的个数为奇数
偶校验:编码后的码字中“1”的个数为偶数
奇偶校验是最简单的检错码。利用1位冗余信息实现差错检测
优点:编码简单、编码效率高、开销最小的检错编码
缺点:检错率不高
2. 汉明码
汉明码(Hamming Code)是典型的线性分组码,可以实现单个比特差错纠正,在数据 通信以及数据存储系统中得到广泛应用。1950 年,理查德•卫斯里•汉明在美国贝尔实验室 的工作中,为了解决读卡机错误检测与纠正问题,设计了著名的汉明码。当信息位足够长时,
它的编码效率很高。
3. 循环冗余码
现今的计算机网络中,尤其在数据链路层协议中,广泛应用的差错编码是循环冗余检测
(Cyclic Redundancy Check , CRC)编码,简称循环冗余码,或称 CRC 码。CRC 编码是一类重要的线性分组码,也称为多项式编码(Polynomial Code),因为该编码可以将要发送的位串看作为一个系数为 0 或 1 的多项式,对位串的操作被解释为多项式算术运算。
CRC 编码的基本思想是:将二进制位串看成是系数为 0 或 1 的多项式的系数。
假设 G(x)的阶为 r (即对应的位串为 r+1 位),则 CRC 编码过程如下。
1) 在帧的低位端加上 r 个 0 位,使该帧扩展为 m+r 位(相当于左移 r 位),对应的多项式为 x^r M(x) 。
2) 用 G(x)系数对应的位串,去除(模 2 除法)x^r M(x)系数对应的位串,求得 r 位余数 R。
3) 用 x^r M(x)系数对应的位串,减(模 2 减法)去余数 R,结果就是完成 CRC 编码的帧。
CRC 编码具有优良的性能,很适合用于差错检测。一方面,CRC 编码具有很强的检错能
力。另一方面,CRC 的编码、解码实现简单,只需通过简单的移位与 异或运算即可实现。
另外,CRC 编码效率高,CRC 编码附加的冗余校验和(R)的长度, 只取决于 G(x),与数
据位数无关,当数据远大于 R 的位数时,CRC 编码的开销就很小。
第三节 多路访问控制协议
一、信道划分MAC协议
MAC 协议的根本任务是解决信道的共享问题。采用多路复用技术实现信道共享的 MAC 协议,称为信道划分 MAC 协议。
多路复用是在物理线路的传输能力远远超过单一信道所需的传输能力时,可以将多条信道复合在一条物理线路上的技术,在通信网络中,被广泛使用。
简述多路复用技术的基本思想与分类
多路复用技术是实现物理信道共享的经典技术,其基本思想是将信道资源划分后,分配给不同的结点,各结点通信时只使用其分配到的资源,从而实现了信道共享,并避免了多结点通信时的相互干扰。
多路复用主要包括频分多路复用(FDM),时分多路复用(TDM),波分多路复用(WDM)和码分多路复用(CDM)。
1. 频分多路复用
频分多路复用(FDM)简称频分复用,是频域划分制,即在频域内将信道带宽划分为多个子信道,并利用载波调制技术,将原始信号调制到对应某个子信道的载波信号上,使得同时传输的多路信号在整个物理信道带宽允许的范围内频谱不重叠,从而共用一个信道。
2. 时分多路复用
时分多路复用(TDM)简称时分复用,是一种时域划分,即将通信信道的传输信号在时域内划分为多个等长的时隙,每路信号占用不同的时隙,在时域上互不重叠,使多路信号合用
单一的通信信道,从而实现信道共享。
3. 波分多路复用
波分多路复用(WDM)简称波分复用,广泛应用于光纤通信中,其实质是一种频分多路复用,只是由于在光纤通信中,光载波频率很高,通常用光的波长来代替频率来讨论,所以称为波分多路复用。
4. 码分多路复用
码分多路复用(CDM)简称码分复用,通过利用更长的相互正交的码组分别编码各路原始信息的每个码元(比如 1 位),使得编码后的信号(已调信号)在同一信道中混合传输,
接收端利用码组的正交特性分离各路信号,从而实现信道共享。
二、随机访问MAC协议
随机访问 MAC 协议就是所有用户都可以根据自己的意愿随机地向信道上发送信息,如果一个用户在发送信息期间没有其他用户发送信息,则该用户信息发送成功,如果两个或两个以上的用户都在共享的信道上发送信息,则产生冲突或碰撞(collision),导致用户信息发送失败,每个用户随机退让一段时间后,再次尝试,直至成功。可见,随机访问实际上就是争用接入,竞争胜利者可以暂时占用共享信道来发送信息,竞争失败者随机等待一段时间,
再次竞争,直至竞争成功。随机访问协议的特点是:站点可随时发送数据,争用信道,容
易发生冲突,需要消解冲突的机制,但能够灵活适应站点数目及其通信量的变化。典型的
随机访问协议有ALOHA协议、载波监听多路访问协议以及带冲突检测的载波监听多路访问协议等。
1. ALOHA协议
ALOHA 协议是 20 世纪 70 年代在夏威夷大学由Norman Abramson及其同事提出的,也 是最早、最基本的无线数据通信协议。ALOHA 协议分为纯ALOHA和时隙ALOHA两种。
时隙ALOHA协议的吞吐量S与网络负载G的关系为
S=Ge^(-G)
当G=1时,S=Smax=0.368。可见,时隙ALOHA协议的冲突危险区是纯ALOHA协议的一半,与纯ALOHA协议相比,降低了产生冲突的概率,最大信道利用率为36.8%。(2022年10真题)
2. 载波监听多路访问协议
根据监听策略的不同,CSMA 又可以细分为 3 种不同类型的 CSMA 协议。
(1)非坚持CSMA
(2)1-坚持CSMA
(3)P-坚持CSMA
3. 带冲突检测的载波监听多路访问协议
CD表示冲突检测(Collision Detection)。CSMA/CD可以理解为“先听后说,边听边说”。
CSMA/CD 的工作状态可以分为传输周期、竞争周期和空闲周期。
信道有 3 种状态。
传输状态:一个通信站使用信道,其他站禁止使用。
竞争状态:所有通信站都有权尝试对信道的使用权。
空闲状态:没有通信站使用信道。
CSMA/CD协议是通过检测信道中信号强度来判断是否发生冲突的,因此CSMA/CD协议适用于有线信道,不适用于无线信道。另外,为了能够准确检测检测到是否存在冲突,CSMA/CD协议需要在发送数据的同时检测是否发生冲突,数据发送结束,冲突检测就结束。这一特性可以概括为“边发边听,不发不听”,即发送数据同时检测是否有冲突,数据发送结束,冲突检测结束。
两个通信站之间相距的最远距离、信号传播速度、数据帧长度以及信道信息传播速率之间要满足约束关系
Lmin/R>=2Dmax/v
式中,Lmin为数据帧最小长度;R信息传输速率;Dmax为两通信站之间的最远距离;v为信号传播速度。
若在传输速率为100Mbit/s的以太网中,A、B主机通过1000m长的链路直接相连, 信号传播速度为,则a、B之间传输的数据帧最小长度为
A. 62.5B B. 125B
C. 250B D. 500B
Lmin>=(2Dmax/v)*R=(2*1000/2*10^8)*100*10^6=1000bit/8=125B
三、受控接入MAC协议
受控接入的特点是各个用户不能随意接入信道而必须服从一定的控制,又可分为集中式控制和分散式控制。
1. 集中式控制
集中式控制接入方式中,系统中有一个主机负责调度其他通信站接入信道,从而避免冲突。主要方法是轮询技术,又分为轮叫轮询和传递轮询。
2. 分散式控制
比较典型的分散式控制方法是令牌技术。令牌(Token)是一种特殊的帧,它代表了通信站使用信道的许可,在信道空闲时一直在信道上传输,一个通信站如果想发送数据就必须首先要获得令牌,然后在一定时间内发送数据,在发送完数据后重新产生令牌并发送到信道
上,以便其他通信站使用信道。
令牌环的主要操作过程如下。
1)网络空闲时,只有一个令牌在环路上绕行。令牌中包含一位“令牌/数据帧”标志位,
标志位为“0”表示该令牌为可用的空令牌,标志位为“1”表示有站点正占用令牌在发送数据帧。
2)当一个站点要发送数据时,必须等待并获得一个令牌,将令牌的标志位置为“1”,随后便可发送数据。
3)环路中的每个站点边转发数据,边检查数据帧中的目的地址,若为本站点的地址,便
读取其中所携带的数据。
4)数据帧绕环一周返回时,发送站将其从环路上撤销,即“自生自灭'。同时根据返回的有
关信息确定所传数据有无出错。若有错则重发存于缓冲区中的待确认帧,否则释放缓冲区
中的待确认中贞。
5)发送站点完成数据发送后,重新产生一个令牌传至下一个站点,以使其他站点获得发
送数据帧的许可权。
第四节 局域网
局域网(LAN)是局部区域网络,其特点是覆盖面积较小,网络传输速率高,传输误码率低。局域网拓扑类型主要包括星形网络、总线型网络、环形网络等。
局域网 LAN 一般采用“广播”传输方式,局域网中的网络节点都简化为安装于主机或工作站中的网卡,即网络适配器。当某适配器要向某目的适配器发送一个帧时,发送适配器将目的适配器的 MAC 地址设为该帧的目的 MAC 地址,并将该帧发送到局域网上。
一、数据链路层寻址与ARP
1. MAC地址
事实上,并不是主机或路由器具有链路层地址,而是它们的适配器(即网络接口卡)具有链路层地址,或称为 MAC 地址、物理地址、局域网地址等,用来标识局域网中的结点或网络接口。因此,具有多个网络接口的主机或路由器将具有与之相关联的多个链路层地址,
就像与之相关联的多个IP地址一样,每个接口对应一个MAC地址。
MAC地址具有唯一性,即两块网络适配器必须具有不同的MAC地址。
2. 地址解析协议
地址解析协议(Address Resolution Protocol,ARP),用于根据本网内目的主机或默认网关的IP地址获取其 MAC 地址。ARP的基本思想:在每一台主机中设置专用内存区域,称为ARP高速缓存(也称为ARP表),存储该主机所在局域网中其他主机和路由器(即默认网关)的IP地址与MAC地址的映射关系,并且这个映射表要经常更新。ARP通过广播ARP
查询报文,来询问某目的IP地址对应的MAC地址,即知道本网内某主机的IP地址,可以
查询得到其 MAC 地址。
简述ARP与DNS在功能上的区别
ARP与DNS在功能上有明显的区别
(1)解析内容不同,DNS将主机域名解析为对应的IP地址;ARP将IP地址解析为对应的MAC地址。(1分)
(2)解析范围不同,DNS可以解析Internet内任何位置的主机域名;ARP只为同一子网中的主机和路由器接口接卸IP地址。(2分)
(3)实现机制不同,DNS是一个分布式数据库,解析要在层次结构的DNS服务器之间查询;ARP通过局域网内广播ARP查询,维护ARP表,获取同一子网内主机或路由器接口的IP地址与MAC地址映射关系。(2分)
二、以太网
1. 以太网帧结构
以太网采用的是 CSMA/CD 协议,利用曼彻斯特编码发送,使用截断二进制指数后退算法来确定碰撞后重传的时机。
帧结构中包含两个地址:一个是目的地址,另一个是源地址,均为 48 位物理地址即 MAC地址。
以太网向网络层提供的是无连接不可靠服务。
2. 以太网技术
(1)10Base-T
10Base-T以太网是替代同轴电缆以太网的产品,采用非屏蔽的双绞线(UTP)作为以太 网传输介质,数据传输速率为10Mbit/s,支持以太网结构化布线方式和集线器设备。
(2)快速以太网
快速以太网是在传统以太网基础上发展起来的,保留了传统以太网的帧格式和 CSMA/CD介质访问控制方式,但数据传输速率提高到100 Mbit/s。IEEE 在1995年正式公布了IEEE 802.3u,即快速以太网(100Base-T)标准。100Base-T 标准定义了3种物理层规范以支持不同的物理介质:100Base-TX,采用两对5类UTP;100Base-T4,采用四对3、4 或5类 UTP; 100Base-FX,采用光缆。
(3)千兆位以太网(Gigabit Ethernet)
千兆位以太网涉及数据传输速率、是否支持全双工传送方式以及帧格式与以太网帧格式是否兼容等问题。千兆位以太网是建立在以太网标准之上的技术。千兆位以太网和大量使用
的以太网与快速以太网完全兼容,并利用了原以太网标准所规定的全部技术规范,其中包
括CSMA/CD协议、以太网帧、全双工、流量控制以及IEEE 802.3标准中所定义的管理对
象。1000Base-T使用普遍安装的5 类UTP,最长距离是100 m,使用户可以在原来100Base-T
的基础上,平滑升级到1000Base-T。另外,1000Base-CX 采用的是 150Ω平衡屏蔽双绞线
(STP),最大传输距离25m,使用9芯D型连接器连接电缆,适用于交换机之间的连接,尤
其适用于主干交换机和主服务器之间的短距离连接。
(4) 万兆位以太网(10 Gigabit Ethernet)
目前,IEEE和各大生产厂商正在致力于研究10万兆位以太网的相关技术,已经推出了定义10万兆位以太网的标准IEEE 802.3ba,给出了相关框架和接口的定义,但具体的细节还在进一步的研究中。
以太网主要连接设备包括数据链路层(第二层)的以太网交换机和物理层(第一层)的集线器,其中集线器现在几乎不再使用。以太网的典型网络拓扑是星形网络,或者由多台以太网交换机级联构成的树形拓扑网络。
三、交换机
从工作原理角度看,交换机就是多端口的网桥,是目前应用最广泛的数据链路层设备。交换机与网桥的工作原理相同,可以依据接收到的链路层帧的目的MAC地址,选择性地转发
到相应的端口,这就是交换机的转发与过滤功能。
1. 以太网交换机转发和过滤
作为第二层设备的以太网交换机,可以实现帧的选择性转发,通过交换机互连的主机,不再属于一个冲突域,不会发生传统的冲突,交换机实现了冲突域的分割。如果以太网的主
机全部通过交换机互连(即不使用集线器),则一个冲突域最多只有一台主机,传统的冲
突便不会发生,这类以太网就是所谓的交换以太网。
2. 以太网交换机的自学习
3. 以太网交换机的优点
(1)消除冲突。交换机分割了冲突域,所以使用交换机的局域网和使用集线器的局域网
不同,不会因为产生冲突而浪费带宽。
(2)支持异质链路。在使用交换机的局域网中,不同的链路可以使用不同的速率运行并
且能够在不同的媒介上运行。
(3)网络管理。交换机除了可以提供强化的安全性,还易于进行网络管理。
四、虚拟局域网
虚拟局域网是一种基于交换机(必须支持 VLAN 功能)的逻辑分割(或限制)广播域的局域网应用形式。虚拟局域网的设置是在交换机上,通过软件方式实现的。划分虚拟局域网
的方法主要有 3 种。
1)基于交换机端口划分:局域网的网络管理员可以按照以太网交换机的端口定义VLAN成员,通常每个交换机端口属于一个VLAN(也可以有同时属于所有VLAN的特殊端口,如 Trunk 端 口)。
2)基于 MAC 地址划分:基于MAC地址划分虚拟局域网,是按每个连接到交换机的主机MAC 地址定义VLAN成员。
3)基于上层协议类型或地址划分:根据链路层帧所携带数据中的上层协议类型(如IP)
或地址(如IP地址)定义VLAN成员,这种方法的优点是有利于组成基于应用的VLAN。
第五节 点对点链路协议
一、PPP
现在全世界使用得最多的点对点链路的数据链路层协议是点对点协议(Point to Point
Protocol, PPP)。PPP处理错误检测、支持多种上层协议(即支持复用)、允许在连接时刻
协商IP地址、允许身份认证等。PPP主要提供 3 类功能。
1)成帧。确定一帧的开始和结束,顿格式支持错误检测。
2)链路控制协议(Link Control Protocol, LCP)。用于启动线路、检测线路、协商参数及
关闭线路。
3)网络控制协议(Network Control Protocol, NCP)。用于协商网络层选项,并且协商方
法与使用的网络层协议独立。
在实际情况中,PPP 的设计要困难得多,因此,有部分功能不要求其实现。
1)差错纠正。仅要求PPP能够进行比特差错检测,但不要求纠正它们。
2)流量控制。由较高层协议负责遏制分组交付给PPP的发送速率,即由较高层负责丢弃
分组或者遏制位于较高层的发送方,而不是由PPP进行控制。
3)按序交付。PPP不要求链路中发送方发送帧的顺序与接收方交付帧的顺序相同。但是
工作于PPP之上的其他网络层协议需要有序地进行端到端分组交付。
二、HDLC协议
高级数据链路控制(High-level Data Link Control,HDLC)协议则可以应用于点对点链路
和点对多点链路。HDLC 协议是面向位的协议。
HDLC 有 3 种类型的帧:信息帧(I格式)、管理帧(S格式)和无序号帧(U格式)。
HDLC 协议是面向位的协议,为确保数据的透明传输,HDLC 使用位填充。
采用位填充,可以传输任意组合的比特流,而不会对帧的边界产生错误的判断。