1 / 41

数据链路层的模型

数据链路层的模型. 传输层协议. 主机 A. 主机 A. 数据链路层协议. 数据链路层协议. 结点 1. 结点 1. 结点 1. 数据虚通路. 数据虚通路. 数据实通路. 数据实通路. 数据链路 / 逻辑链路 = (物理)链路 + 通信规程. 数据链路层提供的数字信道. 物理层提供的无源点到点物理线路段. 数据链路层协议. 数据链路层向网络层提供的服务.  基本服务: 将源结点的网络层数据可靠地传输到相邻的 目的结点的网络层 三种服务:

garren
Download Presentation

数据链路层的模型

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 数据链路层的模型 传输层协议 主机A 主机A 数据链路层协议 数据链路层协议 结点1 结点1 结点1 数据虚通路 数据虚通路 数据实通路 数据实通路 数据链路/逻辑链路 = (物理)链路 + 通信规程 数据链路层提供的数字信道 物理层提供的无源点到点物理线路段 数据链路层协议

  2. 数据链路层向网络层提供的服务  基本服务: 将源结点的网络层数据可靠地传输到相邻的 目的结点的网络层 三种服务: 1. 无确认的无连接服务:目的结点不作确认,差错由上层负责 2. 有确认的无连接服务:目的结点对收到的帧要作确认,发送 结点可以知道已发出的帧是否安全到达目的结点;误帧重传 3. 面向连接服务:可靠地传送数据的服务,即提供在网络实体间 建立、维持和释放数据链路的功能 服务原语: 连接建立阶段: DL-CONNECT.request, DL-CONNECT.indication, DL-CONNECT.response, DL-CONNECT.confirm 维持阶段:DL-DATA.request, DL-DATA.indication 释放阶段: DL-DISCONNECT.request, DL-DISCONNECT.indication,,

  3. 网络层实体的通信过程示例 系统A 系统B 网络层实体 数据链路层实体 数据链路层实体 网络层实体 连接请求帧 DL-C.req DL-C.ind 连接建立阶段 响应帧 DL-C.res DL-C.con 数据帧 DL-D.req DL-D.ind 数据传送阶段 确认帧 DL-D.ind DL-DC.req 释放连接请求帧 DL-DC.ind 连接释放阶段 响应帧 DL-DC.ind

  4. 数据链路层的功能  数据链路管理  成帧:同步、定界及透明传输  流量控制  差错控制  寻址

  5. 控制信息的形成方法(成帧)  字符计数法:帧头中使用一个字符来表示帧内的字符数 缺点:计数字段一旦出错,将无法再同步  带填充字符的首尾界符法:以特定的字符序列为控制字段 缺点:依赖于字符集,不通用,也无法扩展  带填充位的首尾标志法 :采用统一的帧格式,以特定的 位序列进行帧同步和定界  物理层编码违例法:IEEE802协议 只适用于在物理媒体的编码策略中采用了冗余技术的网络,优点:无需填充

  6. SYN SYN DLE STX A DLE DLE B DLE DLE C DLE ETX 带填充字符的首尾界符法(面向字符): Bisync 同步字符 帧首 数据 帧尾 传输帧 填充字符 带填充位的首尾标志法(面向位) :HDLC 帧首 数据 帧尾 01111110 01111110 01111101101111100 填充位

  7. 差错控制  目的:确保帧可靠地交付接收方  基本方法:接收方向发送方应答,告知是否正确收到帧  差错检测和纠正 检错码、纠错码 汉明距离:两个码字中不同位的个数 纠正单比特差错所需的最少校验位数公式: (m+r+1)< 2 rn位码元,其中m位数据,r位校验 汉明纠错法:纠正单比特错 CRC码:可检测出所有奇数位错及长度<r的并发错误

  8. CRC(循环冗余码/多项式编码)  编码思想:将位串看成系数为0或1的多项式  检错思想:收发双方约定一个生成多项式G(x)(其最高阶和最低阶系数必须为1),发送方在帧的末尾加上校验和,使带校验和的帧的多项式能被G(x)整除;接收方收到后,用G(x)除多项式,若有余数,则传输有错。  校验和计算算法  若G(x)为r阶,原帧为m位,其多项式为M(x),则在原帧后面添加r个0,帧成为n+r位,相应多项式xr M(x)  按模2除法用对应于G(x)的位串去除对应于xr M(x) 的位串  按模2减法从对应于xr M(x) 的位串中减去余数,结果就是要传送的带校验和的帧的多项式T(x) T(x) = xr M(x) + [ xr M(x) MOD2 G(x) ]

  9. 发送方式(流控制技术)  理想化的数据传输无需数据链路层协议 假定1:链路是理想的传输信道,数据既不会出错也不会丢失 假定2:不管发送方的速率多快,接收方总能接收到并上交  等待发送(停止等待协议) 发送方发出一帧后,要停下来等待接收方的应答,收到确认后才能发送下一帧 连续发送(连续ARQ协议/流水线协议) 发送方可以连续发送若干帧,如果在此过程中收到接收方的肯定应答,可以继续发送;若收到对其中某一帧的否认帧,则从该帧开始的后续帧全部重发

  10. 结点A 结点B 从 主 机 取 数 据 结点A 结点B 结点A 结点B DATA1 从 主 机 取 数 据 DATA2 从 主 机 取 数 据 上 交 主 机 DATA1 DATA1 ACK DATA2 上 交 主 机 上 交 主 机 ACK DATA3 DATA2 DATAn DATA4 DATAn+1 ACK NAKn+1  具有简单流量控制的数据链路层协议  理想信道 DATAn+2 DATAn+3  流水线协议

  11. 差错控制技术 • 差错控制技术 • 差错控制 • 肯定应答(确认) • 超时后重传 • 否认 • 标准 • 停止 ARQ • Go-back-N ARQ • 选择重传 ARQ } 自动请求重传 Automatic Repeat Request (ARQ)

  12. 实用的停止等待协议(有噪声信道的单工协议)实用的停止等待协议(有噪声信道的单工协议)  前提:实际信道不满足理想化数据传输的假定  流量控制方法:等待发送  差错控制:发送方数据帧中加入校验码(CRC),由接收方检查;若出错,返回NAK;发送方收到NAK后重发。  帧丢失处理:超时定时器;以序号标识数据帧  优点:简单  缺点: 信道利用率低

  13. 停止等待协议 接收方 发送方 发出一帧 data i ACK 发出对刚收到的 数据帧的应答 等待,直到收到ACK 才发送下一帧 data i+1

  14. 停等ARQ 超时 超时 发送方 frame i+2 frame i framei+3 frame i+2 framei+3 frame I+1 ACKi+1 ACK i+2 ACK i+3 ACKi ACK i+3 接收方 帧丢失 重发, 丢失重复帧 重发 ACK丢失

  15. 停等协议的算法流程 Get !st Data from Network Layer V(r) = 0 S R V(s) = 0 Wait Data Frame N(s)= V(s) Received Frame, and Test if Error occurs Save Date Frame to Buffer Error Send Buffered Data Frame to Physical Layer Correct Send NAK Start Timer N(s) = V(r) ? Wait Event Discard Frame Pass Data to Netwok Layer Received ACK Received NAK Time Out Get Next Data V(r)= 1-V(r) Send ACK V(s) = 1-V(s) Send ACK

  16. 连续ARQ协议  工作原理:发送方发完一帧后,不必停下来等待对方的应答,可以连续发送若干帧;如果在发送过程中收到接收方的肯定应答,可以继续发送;若收到对其中某一帧的否认帧,则从该帧开始的后续帧全部重发  流量控制方法:连续发送  差错控制:同停等协议  优点:连续发送提高了信道利用率  缺点: 回走重传(Go-back-N),导致某些已正确接收的帧的重传,因此降低了发送效率  误码率较低时,连续ARQ优于停等协议;反之则不一定

  17. Go-back-N ARQ 6, 7, 8帧 重传 sender frame 8 frame 5 frame 1 frame 8 frame 4 frame 6 frame 3 frame 7 frame 6 frame2 frame 7 ACK 4 NACK6 ACK 9 ACK 6 receiver 出错 7 , 8帧 被丢弃

  18. 滑动窗口概念  前提:在连续ARQ协议中,必须对可以连续发出的最多帧数(以发出但未确认的帧)作限制  原则:循环重复使用有限的帧序号  流量控制: 发送窗口:其大小WT表示在收到对方确认的信息之前,可以连续发出的最多数据帧数(只有序号在窗口内的帧才可以发送) 接收窗口:其大小WR可以连续接收的最多数据帧数(只有序号在窗口内的帧才可以接收,否则丢弃)  接收窗口驱动发送窗口的转动  发送窗口的最值:WT + WR < 2n (n为序号的位数) WT < 2n - 1

  19. 滑动窗口示例 WT = 5 WR = 1 T T H 0 7 0 7 初始状态 6 1 6 1 初始状态 5 2 5 2 4 4 3 3 H T T 0 7 0 7 6 1 接收到帧0, 发出ACK0 6 1 发出帧0, 1 H 5 2 5 2 4 4 3 3 H T 7 0 发出帧2, 接收到ACK0 7 0 6 1 6 1 接收到帧1 发出ACK1 T 5 5 2 H 2 4 3 4 3 H

  20. 滑动窗口示例 WT = 5 WR = 1 T 7 0 7 0 1 6 6 1 T 接收到帧3, 还没有收到帧2 T 5 5 发出帧3, 4 H 2 2 4 3 4 3 H T 7 0 7 0 6 1 6 1 T 帧1的定时器超时, 重发帧1 5 5 H 2 2 4 3 接收到重传 的帧1 4 3 H H 7 0 7 0 6 1 6 1 T 5 5 接收到帧2 2 接收到ACK1 2 4 3 4 3 T H

  21. 滑动窗口协议 发送方 缓冲区 将发出的数据帧 已成功发出 的数据帧 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 帧序号 窗口前沿 窗口后沿 接收方 缓冲区 将收到的数据帧 已正确接收 的数据帧 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 帧序号 窗口后沿 窗口前沿

  22. 滑动窗口示例 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0,1,2 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 ACK3 0 1 2 3 4 5 67 0 1 2 3 4 5 6 7 0 1 2 3 4 5 67 0 1 2 3 4 5 6 7 3,4,5,6 0 1 23 4 5 6 7 0 1 2 3 4 5 6 7 0 1 23 4 5 67 0 1 2 3 4 5 6 7 ACK4 0 1 23 4 5 6 7 0 12 3 4 5 6 7 0 1 23 4 5 6 7 0 12 3 4 5 6 7

  23. 选择重传ARQ协议  原则:只重传出错或定时器超时的数据帧  方法:WR > 1,暂存接受窗口中序号在出错帧之后的数据帧  优点:避免重传已正确传送的帧,提高了信道利用率  缺点: 在接收端需要占用一定容量的缓存  接收窗口的最值: WR < WT WR < 2n -1

  24. 选择重传 ARQ 只重传帧6 sender frame 5 frame 1 frame 8 frame 4 frame 6 frame 3 frame 9 frame 6 frame 2 frame 10 frame 7 ACK 4 NACK 6 ACK 9 ACK 6 receiver 出错

  25. 面向字符协议的不足:  采用停等协议,半双工通信,通信线路利用率低;  所有通信设备必须使用同样的字符代码  只对数据部分进行差错控制,可靠性差  依赖于字符集,不易扩展  面向位协议 IBM SNA的 SDLC(同步数据链路控制 ) ANSI 的ADDCP(先进的数据通信控制规程) ISO 的HDLC (高级数据链路控制) CCITT的LAP(链路接入规程) X.25采用LAPB(链路接入规程 ---- 平衡型 )

  26. HDLC的两种配置、三种方式 主站:发送命令帧、数据信息帧和应答帧,并负责控制链路 从站(次站):接收命令帧,向主站发送响应帧,并配合主站进行链路控制 复合站(组合站):同时具有主站和从站功能。  两种基本配置:非平衡配置 点 --- 点工作 多点工作 平衡配置 点 --- 点工作  三种方式:正常响应方式NRM 数据传输由主站发起, 从站只能响应主站的轮询 异步响应方式ARM 从站可以主动发送响应帧 异步平衡方式ABM 任一复合站都可以发起数据传输

  27. 命令(B) 命令(B/C/D) 响应(B) 响应(C) 响应(D) 响应(B) 主站A 主站A 从站B 非平衡配置:点---点 从站B 从站C 从站D 命令(B) 非平衡配置:点---多点 响应(B) 命令(A) 复合站A 复合站B 响应(A) 平衡配置

  28. HDLC的帧结构 8 8 > 0 16 8 位 8 F A C Info FCS F 校验区间 透明传输区间 帧同步:标志F“0111,1110”标记帧的首尾边界  透明传输:零比特填充  地址字段A:非平衡方式,填入从站地址 平衡方式,填入响应站地址  帧检验序列FCS:采用CRC-CCITT16, G(x) = x16 +x12 +x5 + 1  控制字段C:标记帧类型,并附加控制信息

  29. HDLC帧类型 1 2 3 4 5 6 7 8 FrametoSend N(S) FrameExpected N(R) P/F 0 信息帧 监督帧 1 0 分类 S P/F N(R) 无编号帧 1 1 分类 M P/F M  序号N(S)和N(R)以3位表示,模8循环,N(R)表示准备接收的最低帧序号,确认序号在其前面的帧都已正确接收(捎带应答)  状态变量V(S)和V(R)记录N(S)和N(R)的值  扩展方式,序号N(S)和N(R)以7位表示,模128循环,用于卫星链路,此时控制字段占16位

  30. 监督帧的类型 S = 00 RR(Receive Ready), 准备接收下一帧, 确认N(R)-1及以前的各帧 01 RNR(Receive Not Ready), 暂停接收下一帧, 确认N(R)-1及以前的各帧 10 REJ(Reject), 否认自N(R)开始的帧 确认N(R)-1及以前的各帧 11 SREJ (Selective Reject), 只否认N(R)帧 确认N(R)-1及以前的各帧 连续 ARQ 选择重传 ARQ

  31. P/F位的意义(询问/终止) = 0 无意义 = 1 非平衡配置 正常响应方式 主站 S/I 帧 P=1 (命令) 从站 NRM S/I 帧 (响应) I中F=1,表示最后一个数据帧 S中F=1,表示此时没有数据要发送 异步响应方式 P=1 (询问) ARM 响应方 命令方 F=1 (回答本站状态) 平衡配置 异步平衡方式 ABM

  32. 非平衡配置的正常响应方式(主从方式) F A C B,RR0,P F B 10 RR P=1 000 FCS F B,I10 F B 0 001 0 000 I FCS F B,RR0,P B,RR4 C,RR0,P 主站A 从站B B,I00 B,I10 B,I20 B,I30,F C,RR0,F  P=1的询问具有强制性,对方必须立即应答

  33. 平衡配置的异步平衡方式(对等方式):全双工通信平衡配置的异步平衡方式(对等方式):全双工通信 F A C B,RR2,F F B 10 RR F=1 010 FCS F P=1 A,I10,P F A 0 001 000 I FCS F B,I00,P B,I20 B,I52 B,I72 B,I12 B,I10 B,I31 B,I42 B,I62 B,I02 复合站A A,RR3,F A,RR2,F B,RR2,F 复合站B A,I00 A,I10,P A,I22 丢失 A,I34 A,I45 A,I26,P A,I30  P=1的询问具有强制性,对方必须立即应答

  34. 无编号帧,定义了15种,起控制作用 建立数据链路: 正常响应方式,置正常响应方式SNRM 异步平衡方式,置异步平衡方式SABM  拆除数据链路:断连命令DISC  对命令的确认:无编号确认UA  帧拒绝FRMR:表示通过重发仍不能纠正的错误,如收到非法命令,帧中的控制字段无效,数据字段过长,N(R)无效,监督帧或无编号帧长度错误等等  携带信息(I字段)的无编号帧:无编号信息UI,用于数据链路层管理的数据

  35. 数据链路连接建立和拆除示例 主站A 从站B,C 复合站A 复合站B B,SNRM,P A与B建立连接 B,SABM,P A与B建立连接 B,UA,F C,SNRM,P A与C建立连接 B,UA,F C,UA,F 数据传送阶段 数据传送阶段 A,DISC,P B与A释放连接 B,DISC,P A与B释放连接 A,UA,F B,UA,F 异步平衡方式 C,DISC,P A与C释放连接 正常响应方式 C,UA,F

  36. SLIP:串行线路IP,RFC1055  成帧:原始IP包加上尾部标志C0h,字符填充 DBh,DCh  优化:RFC1144,TCP、IP首部压缩,删去相同的首部,以增量来表示不同部分  问题: 无差错检测和校验,由高层负责  只支持IP  不能动态分配IP地址  不提供身份验证,不适于拨号方式  不是Internet标准,存在多个不兼容版本

  37. PPP:点—点协议,RFC1661,1662,1663 对SLIP的改进,Internet的正式标准,支持差错检测、多种协议、允许连接时协商IP地址、允许身份验证... 1 1 1/2 0 --最大长度 2/4 1 字节 1 检查和 F A C 协议 净荷 F F:首尾标志7Eh,透明传输采用字符填充 A:地址字段,永远为FFh,表示所有站点都可以接收 C:控制字段,默认为03h,表示无编号帧 协议:指明净荷字段的包类型,支持LCP、NCP、IP、IPX、AppleTalk... LCP(链路控制协议),用于建立/拆除数据链路连接、测试连接质 量、协商参数... NCP(网络控制协议),用于协商网络层选项,如动态分配IP地址物理层:支持MODEM拨号、HDLC位串行线、SONET...

  38. PPP通信阶段状态转换图 通过身份验证 ESTABLISH AUTHENTICATE 连接双方达成一致 检测到载波 协商失败 验证失败 NETWORK DEAD 失去载波 NCP配置 TERMINATE OPEN 数据传输结束

  39. ATM 的差错检测:信头差错控制HEC  差错检测只对信元首部的4字节进行  HEC计算方法:信头的4B除以x8 + x2 + x + 1,所得余数加上 “01010101”  改进(纠错):一连串信元异或,结果信元附加到信元串之后传输 检测到多位错误(丢弃信元) 未检测到错误 检测到错误(丢弃信元) 未检测到错误 纠错方式 检错方式 检测到一位错误(纠正) HEC算法的双工作方式

  40. ATM 的信元定界:HEC 逐比特检查HEC 搜索 HEC正确 HEC不正确 预同步 逐信元检查HEC 连续次HEC不正确 连续次HEC正确 同步 信元定界状态图

  41. 数据链路层的主要内容  数据链路层的模型、功能及提供的服务  成帧、差错控制及流量控制的主要方法  实用的数据链路层协议 停等协议 连续ARQ协议 选择重传ARQ协议 HDLC SLIP和PPP ATM的TC子层

More Related