1 / 47

第 4 章 数据链路层

第 4 章 数据链路层. 2005 年 8 月 计算机系网络教研室 田华. 了解 1 数据链路层概述 帧的定界方法 2 HDLC HDLC 的中英文名称 链路非平衡、平衡工作控制模式 主站、从站、复合站的概念 HDLC 帧的组成部分 , 各组成部分的功能和使用 3 PPP PPP 的中英文名称 PPP 的功能和使用 PPP 的帧格式和工作过程 4 网桥的概念. 理解 1 数据链路层概述 数据链路层功能 数据链路的概念 帧的概念 2 差错控制实现 停止等待协议 连续 ARQ 协议工作原理 3 流量控制 窗口技术工作原理 HDLC

radwan
Télécharger la présentation

第 4 章 数据链路层

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. 第4章 数据链路层 2005年8月 计算机系网络教研室 田华

  2. 了解 1数据链路层概述 帧的定界方法 2 HDLC HDLC的中英文名称 链路非平衡、平衡工作控制模式 主站、从站、复合站的概念 HDLC帧的组成部分,各组成部分的功能和使用 3 PPP PPP的中英文名称 PPP的功能和使用 PPP的帧格式和工作过程 4 网桥的概念 理解 1 数据链路层概述 数据链路层功能 数据链路的概念 帧的概念 2 差错控制实现 停止等待协议 连续ARQ协议工作原理 3 流量控制 窗口技术工作原理 HDLC HDLC通信过程 学习目标

  3. 数据链路层概述 • 物理层 • 链路 • 任何相邻节点间 点到点的物理线路 • 节点间没有其他任何节点存在(因此数据肯定是顺序发送和接收的) • 数据链路 • 物理线路+通信控制规程(差错/流量等) 差错控制 等处理电路 链路 差错控制 等处理电路 数据链路

  4. 帧与报文 • 报文 • 用户传输的数据。 • 帧 • 发送端和接收端之间通过链路传送的一个完整的信息组的信息单位。 帧 帧 起始标志 接收站标识 控制段 数据 帧校验序列

  5. 数据链路层的目的 • 在网络实体间提供功能和手段: • 建立 • 维持 • 释放 • 传输数据链路服务数据单元 • 在物理连接上建立数据链路连接 数据链路连接

  6. 数据链路连接 无应答、无连接服务 有应答、无连接服务 正向应答 双向应答 负向应答 面向连接服务 有链路建立、数据帧传送、拆除链路的阶段 也就是双方在通信前后要进行协商,都准备好的情况下才进行通信。 和网络层交换数据 接收本地网络层递交的数据 将接收的数据提交给网络层 提供数据链路端点标识符,即地址 在将报文分帧的情况下保证帧的顺序 差错检测、纠正、报告 流量控制 发送/接收端数据速率相同 服务质量参数商定 链路层为网络层提供的服务

  7. 链路管理 发送/接收是否准备好 定界与同步 帧何处起始、何处中止 字符计数 首尾分界字符 首尾分界标志序列 物理编码违例 流量控制 发送和接收之间协调。 *不是保证物理层的通信线路速率相同,而是发送/接收端链路层处理能力协调。 差错控制 差错控制编码 透明传输 能正确区分控制信息和数据 寻址 多点连接时如何确定发送/接收端 链路层的功能

  8. 数据链路控制规程种类 • 面向字符 • 数据和控制信息都被编码成字符(例如ASCII),使用特定的字符表示控制信息来和数据区分。 • 面向比特

  9. 面向字符的链路控制规程

  10. 4.2停等协议

  11. time_out=1 (data_r= NAK) (data_r=ACK) 发送方 vs=0 发送序号初始化 4.2停等协议算法 取得上层数据data data=get_host() data_s= vs+data+CRC 数据帧编码 发送数据帧 Send(data_s) 启动超时计数器 Call time_out() 接收数据帧 data_r=receive() 判断数据帧 否为空 并且 超时计数是否还未溢出 yes (data_r=null) and (time_out()=0) no yes 判断是否 收到确认信息 no vs=vs+1 yes 判断对方是否 要求重发 no yes 判断是否已经超时

  12. 接收方 vr=0 4.2停等协议算法 data_r=receive() yes (data_r=null) no yes CRC(data_r) send(NAK) data_r=null no yes ns!=vr data_r=null no (data_r!=null) yes send_host(data_r),vr=vr+1 send(ACK)

  13. 4.2停等协议特点 • 优点:简单 • 在数据帧当中只需设置一个序号,表示当前帧的序号 • 在发送/接收端只需要1个计数器 • 发送缓冲区中只需要保存1帧数据 • 缺点:等待时间长 • 只有收到确认信息后才能发送下一帧

  14. 4.3连续ARQ协议

  15. 发送方 time_out=1 发送序号初始化, 发送缓冲区大小初始化,发送窗口初始化 发送缓冲区初始化, 应答序号初始化。 vs_n=0, vs_buff=8,vs_c=5 buff_s()=0, vs_ack=0 4.3连续ARQ算法 判断是否发送缓冲区已满, 而还未收到应答帧 yes (vs_n>vs_c) and (vs_ack<(vs_n-1)) Call time_out() 从上层获取数据, 写入发送缓冲区当前位置 no buff_s(vs_n)=get_host() data_r=receive() … vs_ack=data_r(ACKm) 组装发送帧编码 data_s=vs+buff_s(vs_n)+CRC 发送帧,并将 发送序号加1 no send(data_s) vs_n=(vs_n+1) mod 8 接收帧,取得接收方希望接收的帧编号 yes vs_n = vs_ack data_r=receive() … vs_ack=data_r(ACKm)

  16. vr=0 4.3连续ARQ算法 data_r=receive() yes (data_r=null) no yes CRC(data_r) send(NAK) data_r=null no yes ns!=vr data_r=null no (data_r!=null) yes send_host(data_r) vr=(vr+1) mod 8 send(ACK,vr+1)

  17. 连续ARQ的特点 • 优点: • 不需要等待每一帧的确认信息 • 缺点: • 需要在发送方保存多帧信息,所需缓存大。 • 重传的方式 • 回退N步重传 • 出错帧后所有帧也需要重传。 • 网络开销大。 • 选择重传 • 只重传出错帧。 • 需要接收端保存多帧,等待出错帧重传后组装。

  18. 4.4流量控制 • 窗口机制 • 连续ARQ • ARQ • Wt =1 • Wr =1 • 回退n步ARQ • 1< Wt <=2n-1 • Wr =1 • 选择重传ARQ • 1< Wt <=2n-1 • 1< Wr <= 2n-1 • Wt > Wr

  19. 数据链路控制规程举例 • 局域网内常用的链路层规程 • IEEE802 • 广域网上的数据链路层协议 • HDLC • PPP(拨号连接网络) • PPPOE(ADSL)

  20. 电话拨号上网 … … … … 电话网 通信标准 PPP 电话网 通信标准 PPP RS-232C RS-232C RS-232C RS-232C modem modem 局域网连入广域网 … … 路由器 DCE 网络层 网络层 网络层 IEEE802/… IEEE802/… HDLC/PPP/… 以太网物理层 以太网物理层 RS-232C/V.35/… … … 路由器 DCE 网络层 网络层 网络层 IEEE802/… IEEE802/… HDLC/PPP/… 以太网物理层 以太网物理层 RS-232C/V.35等

  21. 数据链路规程 链路种类 • 非平衡型 • 主站发送命令控制整个链路通信,从站只能接受命令,对其响应。 • 异步平衡相应方式 • 各站都可以发起命令 • 平衡型 • 链路两端的节点都可以发出命令 • 正常响应方式 • 主站发起命令,从站响应 • 异步响应方式 • 从站也可以发起传送数据的命令

  22. 4.5 HDLC • 标志:帧定界标志 • 地址:次站/应答站地址 • 帧校验:CRC校验

  23. HDLC控制字段

  24. 监控帧 S • 用于信息帧的差错控制、流量控制 32位 8位 8位 8位 16位 8位 FLAG Address Control FCS FLAG 01111110 00000011 N(R) P/F SS 01 … 01111110 8 7 6 5 4 32 1 00000001 探询响应位 控制编码 监控帧标志

  25. 监控帧 S-----SS • 由SS两位编码定义了三个监控帧 SS 帧名称 00 RR 接收准备好 01 RNR 接收未准备好 10 REJ 拒绝帧

  26. RR----接收准备好 • 初始好 • 不忙 • 以前正确 • 对方是否也好?

  27. RNR----接收未准备好 • 用于流量控制 • 忙

  28. REJ----拒绝帧 • 用于差错控制 • 编号不正确时,要求重发 • 用于忙状态解除

  29. 无编号帧 U • 用于链路的建立、拆除及多种控制功能 32位 8位 8位 8位 16位 8位 FLAG Address Control FCS FLAG 01111110 00000011 MMM P/F MM 01 … 01111110 8 7 6 5 4 32 1 00000001 帧编码

  30. MM----帧编码 • 8 7 6 5 4 3 • MMM P/F MM 帧名称 • 0 0 1 P=1 1 1 SABM 置异步平衡方式 • 0 1 1 P=1 1 1 SABME 置扩充异步平 衡方式(模128) • 0 1 1 F=1 0 0 UA 无编号确认 • 0 0 0 F=1 1 1 DM 已断开方式 • 0 1 0 P=1 0 0 DISC 断开连接 • 1 0 0 F=1 0 1 FRMR 帧拒绝

  31. SABM/SABME 置异步平衡方式(扩充) • SABM使对方建立异步平衡的通信方式,根据接受并确认的此命令,把发送V(S)和接收V(R)状态变量置成0。 • SABME使对方建立扩充异步平衡的通信方式,根据接受并确认的此命令,把发送V(S)和接收V(R)状态变量置成0。

  32. UA无编号确认应答 • 用来确认置方式、初始化、复位、断开命令的接收和执行。

  33. DM断开方式应答 • 对置方式命令SABM/SABME是一种请求。如果重复使用置方式命令,那么DM应答表示此时置方式命令无作用。

  34. DISC断开命令 • 用在逻辑上结束以前所建立的操作方式。

  35. FRMR帧拒收应答 • 用来标明所收到的命令帧或应答帧存在错误,而且在一定程度上重发同一帧也不能得到恢复。 • 例如: • 所接受到的控制字段非法或不能实现 • 所接受帧(附有信息字段)的信息超过了已确定的最大长度。 • 所接受的N(R)不是指已被发送和确认的I帧,就是指并未被发送的I帧和不适等待发送的一个顺序好的I帧。

  36. LAPB链路操作规程 • 链路的建立 • 数据传送阶段 • 链路拆除阶段

  37. F B SABM,P FCS F F B 0100 … FCS F F B UA,F FCS F F A 0000 … FCS F F B 0010 … FCS F F A 0110 … FCS F F B 1020 … FCS F F A RR2,F FCS F LAPB链路操作规程 A方 B方 S=0 R=0 P=1 S=0 R=0 S=1 R=0 S=1 R=0 P=1 S=2 R=1 S=2 R=2 F B RR2,F FCS F S=2 R=3 S=3 R=2 F B RR3 FCS F

  38. F B DISC,P FCS F F B 2030 … FCS F F B UA,F FCS F F F A A 4030 3120 … … FCS FCS F F F A RNR4,F FCS F LAPB链路操作规程 A方 B方 S=3 R=2 S=2 R=3 P=1 S=4 R=4 S=3 R=4

  39. 4.6 Internet链路层协议-PPP • PPP(Point-to-Point Protocol点到点协议)是为在同等单元之间传输数据包这样的简单链路设计的链路层协议。 • 提供全双工操作,并按照顺序传递数据包。 • 设计PPP的目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共通的解决方案。

  40. PPP • PPP由3部分协议构成。包括: • 链路控制协议LCP(Link Control Protocol) • LCP负责创建,维护或终止一次物理连接。 • 网络控制协议NCP(Network Control Protocol) • NCP是一族协议,负责解决物理连接上运行什么网络协议,以及解决上层网络协议发生的问题。 • 认证协议 • 口令验证协议PAP(Password Authentication Protocol) • 发送用户名和口令(明文传输) • 挑战握手验证协议CHAP(Challenge-Handshake Authentication Protocol)。 • 发送用户名和口令摘要,通过比对口令摘用进行用户认证

  41. PPP帧格式 • 标志字段:7E(01111110) • 地址字段:FF(11111111) • 控制字段:03(00000011) • 协议字段 • 两个字节 • 协议字段值: • 0021,PPP帧的信息是IP数据报。 • C021,信息字段是PPP链路控制数据。 • 8021,表示是网络控制数据。 • 帧校验序列FCS与HDLC的相同。 • PPP不是面向比特的,因此帧的长度应为整数个字节。 固定不变

  42. 实际截获的PPP帧

  43. 实际截获的PPP帧

  44. PPP工作过程

  45. PPP链路 建立、鉴别身份、网络配置帧

  46. PPPOE … … ADSL MODEM 网络层 PPPOE IEEE802 IEEE802 PPPOE->PPP 以太网物理层 以太网物理层 物理层

More Related