1、数据链路层数据链路层:基于物理层提供的比特流传输服务基于物理层提供的比特流传输服务 构成透明的、相对无差错的数据链路构成透明的、相对无差错的数据链路 实现可靠、有效的数据传送。实现可靠、有效的数据传送。数据链路层协议:数据链路层协议:在物理网络与计算机的协议组之间提供接在物理网络与计算机的协议组之间提供接口口 数据电路数据电路数据链路数据链路数据电路数据电路:在传输信道两端加上信号变换设备(如:在传输信道两端加上信号变换设备(如ModemModem)之后所形成的二进制比特流通路。即数据电路由传输信道加之后所形成的二进制比特流通路。即数据电路由传输信道加DCEDCE组成。组成。数据链路数据链路:
2、在数据电路建立的基础上,在链路协议控制下,:在数据电路建立的基础上,在链路协议控制下,使通信双方正确传输数据的终端设备与传输线路的组合体。使通信双方正确传输数据的终端设备与传输线路的组合体。电话网ModemModemn数据链路与数据电路的数据链路与数据电路的区别区别 数据电路:数据电路:物理链路或链路物理链路或链路(physical)数据链路:数据链路:逻辑链路逻辑链路(logical)n数据链路:数据链路:在数据电路上增加传输控在数据电路上增加传输控制功能实现的。制功能实现的。n数据通信:数据通信:只有建立了数据链路,才只有建立了数据链路,才能真正地实现。能真正地实现。n数据链路的数据链路的
3、拓扑结构拓扑结构 点到点链路点到点链路 多点链路多点链路n数据链路的数据链路的传送方式:传送方式:单工通信单工通信 半双工通信半双工通信(Half Duplex)全双工通信全双工通信(Full Duplex)n链路所连接的节点称为链路所连接的节点称为“站站”。n主站主站:发送命令或信息,通信过程起控制作用发送命令或信息,通信过程起控制作用n从站从站:接收数据接收数据/命令并响应,通信过程受控命令并响应,通信过程受控n复合站复合站:同时具有主站和从站功能同时具有主站和从站功能点到点链路点到点链路星型点到点链路星型点到点链路在点到点链路中,两端的站可能是主站、从站或在点到点链路中,两端的站可能是主
4、站、从站或复合站。链路可以是不平衡的,或平衡结构。复合站。链路可以是不平衡的,或平衡结构。主从式点到多点链路主从式点到多点链路对等式点到多点链路对等式点到多点链路在主从式点到多点链路中,常常是不平衡的;在在主从式点到多点链路中,常常是不平衡的;在对等式点到多点链路中,常使用平衡型链路。对等式点到多点链路中,常使用平衡型链路。n数据链路层的功能:数据链路层的功能:链路管理链路管理 帧同步(帧定界)帧同步(帧定界)流量控制流量控制 数据和控制信息的识别数据和控制信息的识别 差错控制差错控制 透明传输透明传输 寻址寻址n数据链路层的传输和处理的数据单位。数据链路层的传输和处理的数据单位。即:协议数据
5、服务单元即:协议数据服务单元PDU,帧帧(frame)物理层实现比特流传送,不能保证没有错误,物理层实现比特流传送,不能保证没有错误,需要数据链路层进行差错检测和纠正。需要数据链路层进行差错检测和纠正。为便于实现流量控制和差错控制,数据链路层为便于实现流量控制和差错控制,数据链路层将将“比特流比特流”分解成离散的分解成离散的“帧帧”,独立地计,独立地计算校验和,发送和接收。算校验和,发送和接收。数据链路层帧的结构,包括需要传输的数据、数据链路层帧的结构,包括需要传输的数据、相应的控制信息、校验信息、帧之间的分隔标相应的控制信息、校验信息、帧之间的分隔标志等。志等。n帧的形成方法:帧的形成方法:
6、字符计数法字符计数法 含字节填充的分界符法含字节填充的分界符法 含位填充的分界标志法含位填充的分界标志法 物理层编码违例法物理层编码违例法数据链路层数据链路层主主机机 A缓存缓存主主机机 B数据链路数据链路AP2AP1缓存缓存发送方发送方接收方接收方帧帧高层高层帧帧n假定假定1 1:链路是理想的传输信道,所传送的任何数据既不链路是理想的传输信道,所传送的任何数据既不会出差错也不会丢失。会出差错也不会丢失。n假定假定2 2:不管发送方以多快的速率发送数据,接收方总是不管发送方以多快的速率发送数据,接收方总是来得及收下,并及时上交主机。来得及收下,并及时上交主机。处理单元处理单元没有缓冲空间了!没
7、有缓冲空间了!后面分组丢弃后面分组丢弃n数据传输的实际问题数据传输的实际问题:n解决实际问题的思路解决实际问题的思路:在数据通信中,要求发送方的发送数据在数据通信中,要求发送方的发送数据速率必须速率必须不能超过不能超过接收方的接收和处理接收方的接收和处理数据的速率。数据的速率。当接收方来不及接收和处理数据时,就当接收方来不及接收和处理数据时,就必须采取相应的措施(必须采取相应的措施(流量控制)流量控制),来,来控制发送方发送数据的速率。控制发送方发送数据的速率。计算机网络中,计算机网络中,一般由接收方主动控制一般由接收方主动控制发方的数据流,来实现流量控制。发方的数据流,来实现流量控制。n最简
8、单流量控制的数据链路层协议最简单流量控制的数据链路层协议发送结点发送结点 接收结点接收结点ABDATADATADATADATA送主机送主机 B送主机送主机 B送主机送主机 B送主机送主机 BABDATA送主机送主机 BDATA送主机送主机 B时时间间不需要流量控制不需要流量控制需要流量控制需要流量控制开关式流量控制开关式流量控制:XON/XOFF,硬件硬件协议式流量控制协议式流量控制:ARQ自动重发请求自动重发请求时时间间ABDATA0送送主主机机ACKDATA1送送主主机机ACK(a)正常情况正常情况ABDATA0DATA0送送主主机机ACK(c)数据帧丢失数据帧丢失重重传传tout丢丢失失
9、!ABDATA0送送主主机机ACKDATA0丢丢弃弃ACK(d)确认帧丢失确认帧丢失重重传传tout丢丢失失!ABDATA0NAKDATA0送送主主机机ACK(b)数据帧出错数据帧出错重重传传出错出错n 结点结点A发送完一个数据帧时,就启动一个超时计时发送完一个数据帧时,就启动一个超时计时器(定时器)。器(定时器)。n 若超时计时器到达所设置的重传时间若超时计时器到达所设置的重传时间 tout,仍未收,仍未收到结点到结点 B 的确认帧,则结点的确认帧,则结点 A 就重传前面所发送就重传前面所发送的数据帧。的数据帧。n 一般,重传时间略大于一般,重传时间略大于“从发完数据帧到收到确认从发完数据帧
10、到收到确认帧所需的平均时间帧所需的平均时间”。n 重传若干次后仍不能成功,则报告差错。重传若干次后仍不能成功,则报告差错。n由于发送端口或传输信道的速率限制,发送一帧需要一定由于发送端口或传输信道的速率限制,发送一帧需要一定的时间:的时间:“发送时延发送时延”。n接收一帧的时间和发送一帧的时间相同。发送应答帧,也接收一帧的时间和发送一帧的时间相同。发送应答帧,也有有“发送时延发送时延”。n由于电磁波自身的传输速率,帧在信道中传送,具有由于电磁波自身的传输速率,帧在信道中传送,具有“传传播时延播时延”。n接收方收到帧后,差错检验、转交处理;发送方收到应答接收方收到帧后,差错检验、转交处理;发送方
11、收到应答后,准备发送下一帧,都需要后,准备发送下一帧,都需要“处理时延处理时延”。ABt0t1t6t7t2t3t4t5Data frameACK frametLt1 t0 发送时延发送时延t3 t2 接收时延接收时延t2 t0 传播时延传播时延t3 t1 传播时延传播时延t4-t3 处理时延处理时延t5 t4 应答时延应答时延t7 t6 接答时延接答时延tP=t2 t0=t3 t1=L/v 传播时延传播时延tF=t1 t0=t3-t2=F/C 发送时延发送时延tA =t5 t4=A/C 应答帧发送时延应答帧发送时延tproc=t4-t3 处理时延处理时延 L 节点节点A 与与 B 之间的距离之
12、间的距离 v 信号传播速率信号传播速率 (3 108 m/s)F 数据帧长度数据帧长度=H+D(帧头数据)(帧头数据)A 应答帧长度应答帧长度 C 数据发送速率数据发送速率 bits/sU=tD/(tF+tA+2tP+2tproc)U=D/(FA2C(tP+tproc)tD=D/C 数据时延,数据时延,tF=F/C 帧时延帧时延tA=A/C 应答时延,应答时延,tP=L/v 传播时延传播时延t proc=处理时延处理时延n若不考虑处理时延、传播时延、应答帧的开销,若不考虑处理时延、传播时延、应答帧的开销,则则 U 仅与帧结构相关;仅与帧结构相关;帧开销帧开销U=tD/(tF+tA+2tP+2t
13、proc)U=tD/(tD+2tP)成功发送一帧的间隔为成功发送一帧的间隔为 tT=tD+2tP成功成功 tav=tT(1 平均平均次数)次数)U=t D/tav例例1 信道速率为信道速率为8kb/s,采用停止等待协议,采用停止等待协议,传播时延传播时延tp为为20ms,确认帧长度和处理时,确认帧长度和处理时间均可忽略,问帧长为多少才能使信道利间均可忽略,问帧长为多少才能使信道利用率达到至少用率达到至少50%?解:设帧长为解:设帧长为D bit,则,则 tDD bit/8Kbps 信道利用率信道利用率 tD/(tD 2 tp)50%50%因为因为 tp=20ms,所以,所以 tD 40ms 故
14、帧长故帧长 D (40*10-3)*(8*103)=320 bit例例2 在卫星通信系统中,两个地面站之间进行卫星转发通信,即信号在卫星通信系统中,两个地面站之间进行卫星转发通信,即信号 从一个地面站经过卫星传到另一个地面站,若设其传播时延为从一个地面站经过卫星传到另一个地面站,若设其传播时延为 tp=250ms,发送一个数据帧的时间为,发送一个数据帧的时间为tD=20ms(相当于帧长相当于帧长1000 比特时,速率为比特时,速率为50Kb/s),试分析此系统的信道利用率。,试分析此系统的信道利用率。解:信号从一个地面站经卫星传到另一个地面站,其传播时延解:信号从一个地面站经卫星传到另一个地面
15、站,其传播时延 tp=250ms。发送一个数据帧的时间发送一个数据帧的时间tD=20ms,则从发送站开始发送到数据帧被,则从发送站开始发送到数据帧被目的站接收,一共需要时间目的站接收,一共需要时间 tD+tp=20+250=270 ms不考虑处理时延、应答帧时延,则应答帧也需要经过不考虑处理时延、应答帧时延,则应答帧也需要经过tp=250ms才才能被发送站接收到。能被发送站接收到。从发送一帧开始,到发送站收到应答所需要的时间为:从发送一帧开始,到发送站收到应答所需要的时间为:tT=20+2*250520 ms 则此系统的信道利用率为:则此系统的信道利用率为:U=20520 41 12 23 3
16、4 45 56 67 70 0 后沿后沿 L(W)前沿前沿H(W)窗口尺寸窗口尺寸 W6,H(W)=L(W)+(W1)mod 2n01234567012发送窗口发送窗口WT不允许发送这些帧不允许发送这些帧允许发送允许发送 5 个帧个帧(a)01234567012不允许发送这些帧不允许发送这些帧还允许发送还允许发送 4 个帧个帧WT已发送已发送(b)01234567012不允许发送这些帧不允许发送这些帧WT已发送已发送(c)01234567012不允许发送这些帧不允许发送这些帧还允许发送还允许发送 3 个帧个帧WT已发送已发送 已发送已发送并已收到确认并已收到确认(d)不允许接收这些帧不允许接收
17、这些帧01234567012WR准备接收准备接收 0 号帧号帧(a)不允许接收这些帧不允许接收这些帧01234567012WR准备接收准备接收 1 号帧号帧已收到已收到(b)不允许接收这些帧不允许接收这些帧01234567012WR准备接收准备接收 4 号帧号帧已收到已收到(c)接收窗口控制接收窗口控制接收窗口接收窗口n在连续在连续ARQ协议中,如果某个数据帧发生差错,后续的数据帧即使协议中,如果某个数据帧发生差错,后续的数据帧即使被正确地接收到,也要被丢弃,造成网络资源浪费;被正确地接收到,也要被丢弃,造成网络资源浪费;n为进一步提高信道的利用率,可设法只重传出错的数据帧或计时器为进一步提高
18、信道的利用率,可设法只重传出错的数据帧或计时器超时的数据帧。超时的数据帧。n 面向字符的数据链路控制规程面向字符的数据链路控制规程(symbol-oriented)基本(基本(BSC,二进制同步通信,二进制同步通信)Binary Synchronous Channel 高级(高级(DDCMP,数字数据通信消息协议),数字数据通信消息协议)Digital Data Communication Message Protocol PPP:点对点协议点对点协议 (Point-to-Point Protocol)n 面向比特的数据链路控制规程面向比特的数据链路控制规程(bit-oriented)IBM:
19、SDLC 同步数据链路控制同步数据链路控制 ISO:HDLC 高级数据链路控制高级数据链路控制早期的数据通信协议曾叫作通信规程早期的数据通信协议曾叫作通信规程(procedure)(procedure)。因此在数据链路层,规程和协议是同义语。因此在数据链路层,规程和协议是同义语。n地址字段地址字段 A(8 bit)不平衡配置:从站地址 平衡配置:应答站地址n控制字段控制字段 C(8 bit)说明帧的类型、功能说明帧的类型、功能 信息帧 I:数据传送,包含信息字段 监督帧 S:监视和控制数据传送 无编号帧U:数据链路的控制和管理n信息字段信息字段 I:高层信息,长度可变高层信息,长度可变FFA
20、CIFCSFFA C FCS短帧短帧长帧长帧IHDLC帧结构帧结构n F 帧标志帧标志 01111110n FCS 帧校验序列帧校验序列(16 bit)标志字段标志字段 F=0111110帧帧 Frame,同步比特流同步比特流控制字段控制字段FFA CIFCSF 帧标志帧标志 01111110A 地址字段地址字段C 控制字段控制字段I 信息字段信息字段FCS 帧校验序列帧校验序列N(S)0N(R)N(R)0 1TYPETYPETYPE11ISUP/FP/FP/FFFA C FCS短帧短帧长帧长帧信息帧信息帧监控帧监控帧无编号帧无编号帧TYPE:命令编码命令编码P/F0N(R)N(S)控制字段控
21、制字段N(R)N(R)N(R)P/FP/FP/FRR0 0RNR0 1REJ1 00 10 10 1N(R)P/F1 10 1SREJ监视帧用于数据传送阶段,实现流量控制和差错监视帧用于数据传送阶段,实现流量控制和差错控制,保证数据传输的正常进行。控制,保证数据传输的正常进行。控制字段控制字段接收端准备好接收端准备好接收端未好接收端未好帧拒绝帧拒绝选择拒绝选择拒绝 RR Receiver Ready接收端准备好接收端准备好 RNR Receiver Not Ready 接收端未准备好接收端未准备好 REJ Reject帧拒绝(连续帧拒绝(连续ARQ)SREJ Select Reject选择拒绝
22、(选择选择拒绝(选择ARQ)监视帧的作用监视帧的作用nRR帧帧 是一种标准应答,表示接收端已作好接收准备,发送是一种标准应答,表示接收端已作好接收准备,发送方可发送信息帧方可发送信息帧。nRNR 帧用来通知对方停止发送任何帧,直到发送帧用来通知对方停止发送任何帧,直到发送RR帧为止,帧为止,同时确认前面发送的帧。同时确认前面发送的帧。nREJ 帧是用于拒绝收到出错的帧帧是用于拒绝收到出错的帧。nSREJ用于要求选择重发出错的帧用于要求选择重发出错的帧。P0011111F0001111F1000111F0110011P0100011SABMDMFRMRUADISCHASH:MD5:D3E6914
23、6F58DA71670E43E6F2A0CCC63SHA1:749E1B3FBC465D5C9AA5BC8BA7369E4B775A9533CRC32:CEE1B56CPPP 协议的帧格式协议的帧格式PPP 协议的帧格式协议的帧格式异步传输字符填充法异步传输字符填充法n信息字段中每个信息字段中每个 0 x7E 0 x7E 字节,转变为字节,转变为 2 2 字节序列字节序列(0 x7D,0 x5E)(0 x7D,0 x5E)。n信息字段中每个信息字段中每个 0 x7D 0 x7D 字节字节,转变成为转变成为 2 2 字节序列字节序列(0 x7D,0 x5D)(0 x7D,0 x5D)。n信息字段
24、中出现信息字段中出现 ASCII ASCII 码控制字符(即数值小于码控制字符(即数值小于 0 x20 0 x20 的字符),的字符),则在该字符前加一个则在该字符前加一个 0 x7D 0 x7D 字节,同时将该字符的编码加以改变。字节,同时将该字符的编码加以改变。PPP协议的异步传输字符填充法:举例协议的异步传输字符填充法:举例PPP 帧的传输帧的传输PPP 协议的工作状态协议的工作状态建立失败失败NCP 配置鉴别成功通信结束载波停止检测到 载波双方协商一些选项鉴别网络打开终止静止PPP 协议的状态图协议的状态图即如何分配使用公共信道的带宽资源。即如何分配使用公共信道的带宽资源。B向 D发送
25、数据 C D A E匹配电阻(用来吸收总线上传播的信号)匹配电阻不接受不接受不接受接受B只有 D 接受B 发送的数据n“访问访问”:在两个实体之间建立联系、并交换数据信息。在两个实体之间建立联系、并交换数据信息。n“访问方式访问方式”:在网络中,泛指分配介质使用权限的机理、在网络中,泛指分配介质使用权限的机理、策略和算法。策略和算法。n“多路访问多路访问”:ABCDABCDn非坚持非坚持CSMA 站点发现信道忙则不再侦听,等待一个随机站点发现信道忙则不再侦听,等待一个随机长的时间后,再开始侦听长的时间后,再开始侦听/发送过程。发送过程。n1坚持坚持CSMA 发现信道忙则持续等待,直至信道空闲;
26、发现信道忙则持续等待,直至信道空闲;发现信道空闲后发送数据(概率为发现信道空闲后发送数据(概率为1)。)。nP坚持坚持CSMA 发现信道忙则持续等待,直至信道空闲;发现信道忙则持续等待,直至信道空闲;发现信道空闲后,以概率发现信道空闲后,以概率 P 发送数据,或以发送数据,或以(1P)概率推迟发送。)概率推迟发送。尽管已发送前载波监听,但由于通信的随机性和尽管已发送前载波监听,但由于通信的随机性和传播时延的影响,在一个站点开始发送后的一段传播时延的影响,在一个站点开始发送后的一段时间内,仍然可能发生冲突,称为时间内,仍然可能发生冲突,称为“争用期争用期”。n退避间隔取退避间隔取0L个时间片,个
27、时间片,1个时间片等于任意两个站之间个时间片等于任意两个站之间最大传播时延的两倍,即最大传播时延的两倍,即2(网络最大传播时延(网络最大传播时延););n对每个帧,当第一次发生冲突时,设置参数为对每个帧,当第一次发生冲突时,设置参数为 L2;n当帧重复发生一次冲突,则参数当帧重复发生一次冲突,则参数L加倍;加倍;n设置一个最大重传次数,超过这个限值,则停止,不再重传,设置一个最大重传次数,超过这个限值,则停止,不再重传,并报告出错。并报告出错。n这种算法按后进先出的次序控制,即未发生冲突,或很少发这种算法按后进先出的次序控制,即未发生冲突,或很少发生冲突的帧,具有优先发送的概率。生冲突的帧,具
28、有优先发送的概率。若两个最远距离站点间的传输时间为若两个最远距离站点间的传输时间为,则网络,则网络的最大冲突检测时间为的最大冲突检测时间为 2。(。()A在在t=0时刻向时刻向F发送帧。发送帧。F在在t=-时刻向时刻向A发送帧,在发送帧,在t=时时检测到冲突,立即发送噪声帧。检测到冲突,立即发送噪声帧。A在在t=2时刻收到时刻收到F向向全网发送的噪声帧。全网发送的噪声帧。最大冲突检测时间最大冲突检测时间”2=d/C=2000m/(2*108m/s)=10s争争 用用 期期=2=20s最短帧长最短帧长=R*2=1Gbps*20s=20,000 bitToken令牌令牌SDSDEDEDACACSD
29、SDFCFCACACDADAINFOINFOSASAFCSFCSFSFSEDED令牌格式令牌格式帧格式帧格式帧序列始帧序列始帧序列尾帧序列尾FCSFCS校验对象校验对象 1 1 11 1 1ABCDTokenA站收到站收到Token空闲空闲?YA CWAITINGDA=C?传播延迟传播延迟(s s/km)/km)介质长度介质长度 数据速率数据速率 +中继器延迟中继器延迟解:解:传播延迟传播延迟 =L/v=5 s其中,传播速率其中,传播速率 v =2 10 5 km/s环上保留的位数环上保留的位数=5 1 4+50=70 bit Token令牌令牌ABCDEA 的作用范围C 的作用范围ABCDA
30、B,CB:当 A 和 C 检测不到彼此无线信号,A 和 C 都以为 B 是空闲的,因而都向 B 发送数据,结果发生碰撞。这种未能检测出媒体上已存在的信号的问题叫做隐蔽站问题(hidden station problem)B 的作用范围C 的作用范围ADCB?BA,CD:B 向 A 发送数据,而 C 又想和 D 通信。C 检测到媒体上有信号,于是不敢向 D 发送数据。其实 B 向 A 发送数据并不影响 C 向 D 发送数据这就是暴露站问题(exposed station problem)MAC 层无争用服务争用服务分布协调功能 DCF(Distributed Coordination Funct
31、ion)(CSMA/CA)点协调功能 PCF(Point Coordination Function)物理层2.4 GHzFHSS1 Mb/s2 Mb/s2.4 GHzDSSS1 Mb/s2 Mb/sIR1 Mb/s2 Mb/s5 GHzOFDM6,9,12,18,24,36,48,54 Mb/s2.4 GHzDSSS5.5 Mb/s11 Mb/s802.11b802.11aIEEE 802.11MAC 层通过协调功能来确定移动站在什么时间能发送数据或接收数据。n在信道从忙态转为空闲时,各站要进入争用窗口,执行在信道从忙态转为空闲时,各站要进入争用窗口,执行退避算法。退避算法。A 的作用范围B 的作用范围ACBDERTSRTS源站 A 在发送数据帧之前先发送一个短的控制帧,叫做请求发送 RTS(Request To Send),它包括源地址、目的地址和这次通信(包括相应的确认帧)所需的持续时间。A 的作用范围B 的作用范围CTSACBDECTS若媒体空闲,则目的站 B 就发送一个响应控制帧,叫做允许发送 CTS(Clear To Send),它包括这次通信所需的持续时间(从 RTS 帧中将此持续时间复制到 CTS 帧中)。A 收到 CTS 帧后就可发送其数据帧。本章小结本章小结