Presentation is loading. Please wait.

Presentation is loading. Please wait.

计算机通信网 Lecture 3: 数据链路层.

Similar presentations


Presentation on theme: "计算机通信网 Lecture 3: 数据链路层."— Presentation transcript:

1 计算机通信网 Lecture 3: 数据链路层

2 第 3 章 数据链路层 3.1 数据链路层的设计问题 提供给网络层的服务 成帧 差错控制 流量控制 3.2 差错检测和纠正 纠错码 检错码

3 第 3 章 数据链路层(续) 3.3 基本数据链路层协议 一个乌邦托式的单工协议 无错信道上的单工停-等协议 有错信道上的单工停-等协议 3.4 滑动窗口协议 位滑动窗口协议 回退N协议(连续ARQ协议) 选择重传协议

4 第 3 章 数据链路层(续) 3.5 数据链路协议实例 HDLC 点对点协议PPP

5 第 3 章 数据链路层 3.1 数据链路层的设计问题 提供给网络层的服务 成帧 差错控制 流量控制 3.2 差错检测和纠正 3.3 基本数据链路层协议 3.4 滑动窗口协议 3.5 数据链路协议实例

6 数据链路层的简单模型 主机 H1 向 H2 发送数据 从层次上来看数据的流动 路由器 R1 路由器 R3 主机 H1 路由器 R2
电话网 局域网 广域网 局域网 链路层 应用层 运输层 网络层 物理层 R1 R2 R3 H1 H2 从层次上来看数据的流动

7 数据链路层的简单模型(续) 主机 H1 向 H2 发送数据 仅从数据链路层观察帧的流动 路由器 R1 路由器 R3 主机 H1 路由器 R2
电话网 局域网 广域网 局域网 仅从数据链路层观察帧的流动 H1 H2 应用层 应用层 R1 R2 R3 运输层 运输层 网络层 网络层 网络层 网络层 网络层 链路层 链路层 链路层 链路层 链路层 物理层 物理层 物理层 物理层 物理层

8 基本概念 链路(link)是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。
一条链路只是一条通路的一个组成部分。 数据链路(data link) 除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。 现在最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件。 一般的适配器都包括了数据链路层和物理层这两层的功能。 数据链路层的作用 通过一些数据链路层协议(即链路控制规程),在不太可靠的物理链路上实现可靠的数据传输。

9 数据链路层传送的是帧 结点 A 结点 B 网络层 IP 数据报 IP 数据报 装入 取出 数据 链路层 帧 帧 物理层 链路 (a)
1010… …0110 1010… …0110 链路 (a) 结点 A 结点 B 发送 接收 数据 链路层 链路 (b)

10 数据链路层像个数字管道 常常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位是帧。
早期的数据通信协议曾叫作通信规程(procedure)。因此在数据链路层,规程和协议是同义语。 结点

11 数据链路层的设计 功能 向上一层提供定义完备的服务接口 帧的形成 处理传输中的错误 调控数据传输流量,进行速率的适配

12

13

14 第 3 章 数据链路层 3.1 数据链路层的设计问题 提供给网络层的服务 成帧 差错控制 流量控制 3.2 差错检测和纠正 3.3 基本数据链路层协议 3.4 滑动窗口协议 3.5 数据链路协议实例

15 3.1.1为网络层提供的服务 无确认的无连接的服务 有确认的无连接的服务 有确认的面向连接的服务

16 无确认的无连接服务 帧与帧彼此独立 没有逻辑连接和释放环节 对丢失的帧既不检测也不恢复 适用于低误码率信道和实时信息传输 LAN
语音和视频传输

17 有确认的无连接服务 帧与帧彼此独立 没有逻辑连接和释放环节,但是 每一帧都要得到确认 适用于不可靠的信道 无线网络系统

18 有确认的面向连接服务 最为复杂的服务形式 需要建立连接 每帧都要编号 确保接受到的帧不仅无措而且顺序正确 三个不同阶段 建立连接 传输
释放连接

19 第 3 章 数据链路层 3.1 数据链路层的设计问题 提供给网络层的服务 成帧 差错控制 流量控制 3.2 差错检测和纠正 3.3 基本数据链路层协议 3.4 滑动窗口协议 3.5 数据链路协议实例

20 3.1.2.成帧 帧 —— 第2层数据传输单位 帧定界的几种基本方法 字节计数 字节填充的标识字节 位(bit)填充的标识位(bits)
帧 —— 第2层数据传输单位 帧定界的几种基本方法 字节计数 字节填充的标识字节 位(bit)填充的标识位(bits) 物理层编码违规

21

22 字节填充的标识字节

23 位(bit)填充的标识位(bits)

24 物理层编码违规 仅适用于物理层编码存在冗余信息的网 络 曼彻斯特编码 4B/5B 8B/10B

25

26

27

28 块编码(4B/5B,8B/10B) 又称数据替换编码,将m比特数据编码(替换)为n比特数据,n>m。
在2n的集合中选取合适的2m个码值作为数据编码。多余的码集合2n- 2m可用于同步、控制等用处。 在块编码以后,还得采用前面的各种编码方法,把数据变成信号的编码。

29 4B/5B编码码表

30 第 3 章 数据链路层 3.1 数据链路层的设计问题 提供给网络层的服务 成帧 差错控制 流量控制 3.2 差错检测和纠正 3.3 基本数据链路层协议 3.4 滑动窗口协议 3.5 数据链路协议实例

31 3.1.3差错控制 问题: 解决方法: 如何保证所有的帧最终被提交给目标机器的网络层,并保持正确的顺序 接收方对所接收到的帧进行确认
发送方使用定时器 发送方对帧分配序号

32 3.1.3流量控制 问题: 解决方法: 如何确保慢速的接收方不被快速的发送方淹没
基于反馈的流控制(feedback-based flow control) 基于速率的流控制(rate-based flow control)

33 第 3 章 数据链路层 3.1 数据链路层的设计问题 3.2 差错检测和纠正 纠错码 检错码 3.3 基本数据链路层协议 3.4 滑动窗口协议 3.5 数据链路协议实例

34 3.2. 差错检测与纠正 在传输过程中可能会产生比特差错:1 可能会变成 0 而 0 也可能变成 1。
3.2. 差错检测与纠正 在传输过程中可能会产生比特差错:1 可能会变成 0 而 0 也可能变成 1。 在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率 BER (Bit Error Rate)。 误码率与信噪比有很大的关系。 为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。

35

36

37

38

39

40 检错码 纠错码 奇偶 校验和 循环冗余校验(CRC) 海明码(汉明码) 二进制卷积码 RS码(Reed-Solomon Code)
LDPC码(Low-Density Parity Code)

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57 第 3 章 数据链路层 3.1 数据链路层的设计问题 3.2 差错检测和纠正 3.3 基本数据链路层协议 一个乌邦托式的单工协议 无错信道上的单工停-等协议 有错信道上的单工停-等协议 3.4 滑动窗口协议 3.5 数据链路协议实例

58 3.3基本数据链路协议 关键性假设

59

60

61

62 第 3 章 数据链路层 3.1 数据链路层的设计问题 3.2 差错检测和纠正 3.3 基本数据链路层协议 一个乌邦托式的单工协议 无错信道上的单工停-等协议 有错信道上的单工停-等协议 3.4 滑动窗口协议 3.5 数据链路协议实例

63

64

65 第 3 章 数据链路层 3.1 数据链路层的设计问题 3.2 差错检测和纠正 3.3 基本数据链路层协议 一个乌邦托式的单工协议 无错信道上的单工停-等协议 有错信道上的单工停-等协议 3.4 滑动窗口协议 3.5 数据链路协议实例

66

67

68 第 3 章 数据链路层 3.1 数据链路层的设计问题 3.2 差错检测和纠正 3.3 基本数据链路层协议 一个乌邦托式的单工协议 无错信道上的单工停-等协议 有错信道上的单工停-等协议 3.4 滑动窗口协议 3.5 数据链路协议实例

69

70

71

72

73

74 第 3 章 数据链路层 3.1 数据链路层的设计问题 3.2 差错检测和纠正 3.3 基本数据链路层协议 3.4 滑动窗口协议 位滑动窗口协议 回退N协议(连续ARQ协议) 选择重传协议 3.5 数据链路协议实例

75 3.4 滑动窗口协议 捎带(确认)(Piggybacking) 滑动窗口协议(Sliding Window Protocol)
1位滑动窗口协议 回退N协议(连续ARQ协议) 选择重传协议

76 滑动窗口的概念 发送端和接收端分别设定发送窗口和接收窗口 。 发送窗口用来对发送端进行流量控制。 发送窗口的大小 WT 代表在还没有收到对方确认信息的情况下发送端最多可以发送多少个数据帧。

77 接收端设置接收窗口 在接收端只有当收到的数据帧的发送序号落入接收窗口内才允许将该数据帧收下。
若接收到的数据帧落在接收窗口之外,则一律将其丢弃。 在连续 ARQ 协议中,接收窗口的大小 WR = 1。 只有当收到的帧的序号与接收窗口一致时才能接收该帧。否则,就丢弃它。 每收到一个序号正确的帧,接收窗口就向前(即向右方)滑动一个帧的位置。同时发送对该帧的确认。

78 WR (a) 1 2 3 4 5 6 7 1 2 不允许接收这些帧 准备接收 0 号帧 不允许接收这些帧 1 2 3 4 5 6 7 WR 准备接收 1 号帧 已收到 (b) 不允许接收这些帧 1 2 3 4 5 6 7 WR 准备接收 4 号帧 已收到 (c)

79 滑动窗口的重要特性 只有在接收窗口向前滑动时(与此同时也发送了确认),发送窗口才有可能向前滑动。
收发两端的窗口按照以上规律不断地向前滑动,因此这种协议又称为滑动窗口协议。 当发送窗口和接收窗口的大小都等于 1时,就是停止等待协议。

80 3.4.1 一位滑动窗口协议 (a) 初始时 (b) 第一个帧发出之后 (c) 第一个帧接收之后 (d) 第一个确认收到之后

81 一位滑动窗口协议的两种情形(双方同时发送分组)
(a) 正常情况 (b) 不正常情况 一位滑动窗口协议的两种情形(双方同时发送分组)

82 第 3 章 数据链路层 3.1 数据链路层的设计问题 3.2 差错检测和纠正 3.3 基本数据链路层协议 3.4 滑动窗口协议 位滑动窗口协议 回退N协议(连续ARQ协议) 选择重传协议 3.5 数据链路协议实例

83 3.4.2 退后N帧协议(连续ARQ协议) 抛弃一种技巧性的假设 一个帧到达接收方的传输时间,加上确认帧来回的传输时间是可以忽略不计。
解决策略 允许发送过程在阻塞之前发送多达w个帧,而不是1帧。由于可以适当的选择w,发送过程就可以在等待往返传输的时间内连续传输帧,而不至于填满窗口。

84 退后N帧的工作原理 在发送完一个数据帧后,不是停下来等待确认帧,而是可以连续再发送若干个数据帧。
如果这时收到了接收端发来的确认帧,那么还可以接着发送数据帧。 由于减少了等待时间,整个通信的吞吐量就提高了。 要求接收方的数据链路层必须按次序把分组交给网络层。 当帧n的确认到达时,帧n-1,n-2等也都被自动确认。

85 发送窗口 WT (a) 1 2 3 4 5 6 7 1 2 允许发送 5 个帧 不允许发送这些帧 1 2 3 4 5 6 7 不允许发送这些帧 还允许发送 4 个帧 WT 已发送 (b) 1 2 3 4 5 6 7 不允许发送这些帧 WT 已发送 (c) 1 2 3 4 5 6 7 不允许发送这些帧 还允许发送 3 个帧 WT 已发送 并已收到确认 (d)

86 接收窗口>1滑动窗口示意图

87 退后N帧协议的思路 接收方将出错的帧及其后续帧一起丢弃,对出错的帧不发送确认帧;发送方在出错帧的确认帧超时后,从出错的帧开始重传所有已发送但未被确认的帧。

88 退后N帧协议窗口大小的约束条件

89 退后N帧协议窗口大小的约束条件 问题:第二次发送的8帧是成功了还是全部丢失了? 考虑最大发送窗口大小为8的情况: 发送过程发送帧0~7帧;
帧7的捎带确认最终返回到发送过程; 发送过程发送另外8帧0~7,序号再次为0~7; 现在帧7的另一个捎带确认到达。 问题:第二次发送的8帧是成功了还是全部丢失了? 发送和接收窗口尺寸小于2k,K(序列号的位数)

90 第 3 章 数据链路层 3.1 数据链路层的设计问题 3.2 差错检测和纠正 3.3 基本数据链路层协议 3.4 滑动窗口协议 位滑动窗口协议 回退N协议(连续ARQ协议) 选择重传协议 3.5 数据链路协议实例

91 3.4.3 选择重传协议 如果线路很糟糕,使用退后n帧的协议会浪费大量的带宽重传帧。 解决的策略:
允许接收过程接收并缓存坏帧或丢失帧后面的帧。 接收方只把出错的帧丢弃,其后续帧保存在缓存中,向发送方发送对出错帧的非确认帧(NAK)。 如果落在窗口内并从未接收过,就接受此帧,并存储起来。 直到比它序列号小的所有帧都按次序已经交给了网络层后,此帧才提交给网络层。

92 选择重传协议的思路

93 选择重传协议窗口大小的约束条件 (a) (b) (c) (d) 发送窗口和接收窗口尺寸大小相同—两个窗口的尺寸≤2k的一半,即2k-1

94 第 3 章 数据链路层 3.1 数据链路层的设计问题 3.2 差错检测和纠正 3.3 基本数据链路层协议 3.4 滑动窗口协议 3.5 数据链路协议实例 HDLC 点对点协议PPP 1. SONET上的数据包 2. ADSL数据包

95 3.5.1高级数据链路控制规程HDLC HDLC概述
1974年,IBM 公司推出了面向比特的规程SDLC (Synchronous Data Link Control)。 后来 ISO 把 SDLC 修改后称为 HDLC (High-level Data Link Control),译为高级数据链路控制,作为国际标准ISO 3309。 HDLC包括流量控制和数据帧交换的维护功能 HDLC是一个面向位(把帧当作bit流,而不区分字节)的协议,支持半双工和全双工通信。

96 高级数据链路控制规程HDLC 面向字符型数据链路层协议的缺点; 报文格式不一样; 传输透明性不好; 等待发送方式,传输效率低;
面向比特型协议的设计目标; 以比特作为传输控制信息的基本单元; 数据帧与控制帧格式相同; 传输透明性好; 连续发送,传输效率高;

97 高级数据链路控制规程HDLC 特点 协议不依赖于任何一种字符编码集; 数据报文可透明传输,用于实现透明传输的“0“比特插入法”易于硬件实现;
全双工通信,不必等待确认便可连续发送数据,有较高的数据链路传输效率; 所有帧均采用CRC校验,对信息帧进行顺序编号,传输可靠性高; 传输控制功能与处理功能分离,具有较大灵活性;

98 三种响应模式 常规响应模式(NBM)—主站控制通信 异步平衡模式(ABM)—连接组合站结构中 异步响应模式(ARM)—主站和从站间的通信
从站只能当主站命令或允许时才能发送 用于:点对点连接—主站和单个从站通信; 多点连接—主站和多个次级站通信。 异步平衡模式(ABM)—连接组合站结构中 每一个站都能发送数据、控制信息或命令 异步响应模式(ARM)—主站和从站间的通信 从站更独立,能传送数据或控制信息给其他站,不能送发命令。

99 HDLC 的帧结构 标志字段 F (Flag) 为 01111110。在接收端只要找到标志字段就可确定一个帧的位置。 比特 8 8 8 可变
16 8 标志 F 地址 A 控制 C 信息 Info 帧检验序列 FCS 标志 F FCS 检验区间 透明传输区间 标志字段 F (Flag) 为 。在接收端只要找到标志字段就可确定一个帧的位置。

100 HDLC 的帧结构 比特 8 8 8 可变 16 8 标志 F 地址 A 控制 C 信息 Info 帧检验序列 FCS 标志 F FCS 检验区间 透明传输区间 地址字段(A)的内容取决于所采用的操作方式。操作方式有主站、从站、组合站之分。在非平衡结构中,不管是主站发送到从站的帧,还是从站发送到主站的帧,地址字段给出的都是从站地址;在平衡结构中,该字段填入的是应答站的地址。

101 HDLC 的帧结构 控制字段(C)用于构成各种命令和响应,以便对链路进行监视和控制。 信息字段(I)可以是任意的二进制比特串。
8 8 8 可变 16 8 标志 F 地址 A 控制 C 信息 Info 帧检验序列 FCS 标志 F FCS 检验区间 透明传输区间 控制字段(C)用于构成各种命令和响应,以便对链路进行监视和控制。 信息字段(I)可以是任意的二进制比特串。 帧校验序列字段(FCS)可以使用16位CRC,对两个标志字段之间的整个帧的内容进行校验。

102 HDLC 的帧结构

103 帧类型 信息帧用于传送数据,简称I帧,以控制字段的第1位是0来标志,要传送的数据放在信息字段中。
N(S)表示当前发送的信息帧的序号,HDLC采用滑动窗口协议,发送方最多可以连续发送7个帧。N(R)表示该站所期望接收到的帧的序号,用于捎带确认,而不必单独发送应答帧,在全双工传输中能够提高信道利用率。

104 帧类型 P=1表示的“询问”带有强制性质,即对方(在复合站通信的情况下对方不一定是次站)必须立即回答。
F = 1表明这是回答对方命令的一个响应。 在两个复合站全双工通信时,任何一方都可随时使P=1。这时对方就要立即回答 RR帧,并置 F=l 。这样做可以更早地收到对方的确认。如果不使用P/ F比特,则收方不一定马上发出确认帧。收方可以在发送自己的信息帧时,在某一个信息帧中捎带把确认信息发出(利用 N(R))。 P / F 是在当 P / F 为 1 时才写上P或F

105 帧类型 监督帧用于差错控制和流量控制,简称S帧,以控制字段的第1、2比特为“10”作标志。监督帧无信息字段,共48比特长。它只作为应答使用,所以只有N(R)字段。 类型 S 名称 功能 0 0 RR接收就绪 肯定确认帧,准备接收序号为N(R)的帧。具有流量控制作用;用于没有捎带确认的场合。 1 0 1 REJ拒绝 否定确认帧,表示检测到传输错误,要求重传从序号N(R)开始的所有帧。用于后退N帧协议。 2 1 0 RNR接收未就绪 小于序号N(R)的帧已全部正确收到,但还未准备好接收下一帧,要求发送方停止发送。具有流量控制作用。 3 1 1 SREJ选择拒绝 只重发序号为N(R)的帧,用于选择重传协议中。

106 帧类型 无编号帧因其控制字段中不包含序号N(S)和N(R)而得名,简称U帧,以控制字段中第1、2比特为“11”来标志。
无编号帧用于提供链路的建立、拆除及其它多种控制功能。 当提供不可靠无连接服务时,也可用来传输无编号信息帧。

107 第 3 章 数据链路层 3.1 数据链路层的设计问题 3.2 差错检测和纠正 3.3 基本数据链路层协议 3.4 滑动窗口协议 3.5 数据链路协议实例 HDLC 点对点协议PPP 1. SONET上的数据包 2. ADSL数据包

108 点对点协议 PPP 现在全世界使用得最多的数据链路层协议是点对点协议 PPP (Point-to-Point Protocol)。 两种典型应用场景 用户使用拨号电话线用ADSL接入因特网时,一般都是使用 PPP 协议。 广域网中的SONET光纤链路,用于连接一个ISP网络中位于不同位置的路由器。

109 用户到 ISP 的链路使用 PPP 协议 已向因特网管理机构 申请到一批 IP 地址 接入网 至因特网 ISP PPP 协议

110 PPP 协议应满足的需求 简单——这是首要的要求
IETF在设计因特网体系结构时把其中最复杂的部分放在TCP协议中,而网际协议IP则相对比较简单,它提供的是不可靠的数据报服务。 在这种情况下,数据链路层没有必要提供比IP协议更多的功能。因此,对数据链路层的帧,不需要纠错,不需要序号,也不需要流量控制。 当然,在误码率较高的无线链路上可能会需要更为复杂的链路层协议。因此IETF把“简单”作为首要的需求。 简单的设计还可使协议在实现时不容易出错,因而使得不同厂商对协议的不同实现的 互操作性提高了。我们知道,协议标准化的一个主要目的就是提高协议的互操作性。 总之,这种数据链路层的协议非常简单:接收方每收到一个帧,就进行CRC检验。如 CRC检验正确,就收下这个帧;反之,就丢弃这个帧,其他什么也不做。

111 PPP 协议应满足的需求 封装成帧 透明性 多种网络层协议
PPP协议必须能够在在同一条物理链路上同时支持多种网络层 协议(如IP和IPX等)的运行。当点对点链路所连接的是局域网或路由器时,PPP协议必 须同时支持在链路所连接的局域网或路由器上运行的各种网络层协议。

112 PPP 协议应满足的需求 多种类型链路 除了要支持多种网络层的协议外,PPP还必须能够在多种类型的链路上运行。例如,串行的或并行的,同步的或异步的,低速的或高速的,电的或光的,交换的或非交换的点对点链路。 特别要提到的是在1999年公布的在以太网上运行的PPP,即PPP over Ethernet, 简称为PPPoE。 这是PPP协议能够适应多种类型链路的一个典型例子。PPPoE 是为宽带上网的主机使用的链路层协议。这个协议把PPP帧再封装在以太网帧中。宽带上网时由于数据传输速率较高,因此可以让多个 连接在以太网上的用户共享一条到ISP的宽带链路。现在,即使是只有一个用户利用ADSL 进行宽带上网(并不和其他人共享到ISP的宽带链路),也是使用PPPoE协议。

113 PPP 协议应满足的需求 差错检测 检测连接状态 PPP协议必须能够对接收端收到的帧进行检测,并立即丢弃有差错的帧。
若在数据链路层不进行差错检测,那么已出现差错的无用帧就还要在网络中继续向前转发,因而会白白浪费许多的网络资源。 检测连接状态 PPP协议必须具有一种机制能够及时(不超过几分钟)自动检测 出链路是否处于正常工作状态。当出现故障的链路隔了一段时间后又重新恢复正常工作时就特别需要有这种及时检测功能。

114 PPP 协议应满足的需求 最大传送单元 PPP协议必须对每一种类型的点对点链路设置最大传送单元MTU的标准默认值。
这样做是为了促进各种实现之间的互操作性。 如果高层协议发送的分组过长并超过MTU的数值,PPP就要丢弃这样的帧,并返回差错。 需要强调的是,MTU 是数据链路层的帧可以载荷的数据部分的最大长度,而不是帧的总长度。

115 PPP 协议应满足的需求 网络层地址协商 数据压缩协商
PPP协议必须提供一种机制使通信的两个网络层(例如,两个 IP层)的实体能够通过协商知道或能够配置彼此的网络层地址。协商的算法应尽可能简 单,并且能够在所有的情况下得出协商结果。这对拨号连接的链路特别重要,因为仅仅在链路层建立了连接而不知道对方网络层地址时,则还不能够保证网络层能够传送分组。 数据压缩协商 PPP协议必须提供一种方法来协商使用数据压缩算法。但PPP 协议并不要求将数据压缩算法进行标准化。

116 PPP 协议不需要的功能 序号 PPP不是可靠传输协议,因此不需要使用帧的序号(许多过去曾经很流行的停止等待协议或连续ARQ协议都使用序号)。在噪声较大的环境下,如无线网络,则可 以使用有序号的工作方式,这样就可以提供可靠传输服务。

117 PPP 协议不需要的功能 多点线路 半双工或单工链路

118 PPP 协议的组成 1992 年制订了 PPP 协议。经过 1993 年和 1994 年的修订,现在的 PPP 协议已成为因特网的正式标准[RFC 1661]。

119 PPP 协议的组成 PPP 协议有三个组成部分 一种成帧方法。它可以毫无歧义地区分出一帧的结束和下一帧的开始。
—个链路控制协议。它可用于启动线路、测试线路、协商参数,以及当线路不再需要时温和地关闭线路。该协议称为链路控制协议(LCP, Link Control Protocol)。 一种协商网络层选项的方式。协商方式独立于网络层协议。所选择的方法是针对每一种种支持的网络层都有一个不同的网络控制协议(NCP,Network Control Protocol)。

120 PPP 协议的帧格式 IP 数据报 先发送 首部 尾部 F A C F 协议 信 息 部 分 FCS 7E FF 03 7E 字节 1 1
信 息 部 分 FCS 7E FF 03 7E 字节 1 1 1 2 不超过 1500 字节 2 1 PPP 帧 PPP 是面向字节的,所有的 PPP 帧的长度都是整数字节。

121 PPP 协议的帧格式 IP 数据报 先发送 首部 尾部 F A C F 协议 信 息 部 分 FCS 7E FF 03 7E 字节 1 1
信 息 部 分 FCS 7E FF 03 7E 字节 1 1 1 2 不超过 1500 字节 2 1 PPP 帧 标志字段 F = 0x7E (符号“0x”表示后面的字符是用十六进制表示。十六进制的 7E 的二进制表示是 )。 地址字段 A 只置为 0xFF。地址字段实际上并不起作用。 控制字段 C 通常置为 0x03。

122 PPP 协议的帧格式 PPP 有一个 2 个字节的协议字段。 当协议字段为 0x0021 时,PPP 帧的信息字段就是IP 数据报。
先发送 首部 尾部 F A C F 协议 信 息 部 分 FCS 7E FF 03 7E 字节 1 1 1 2 不超过 1500 字节 2 1 PPP 帧 PPP 有一个 2 个字节的协议字段。 当协议字段为 0x0021 时,PPP 帧的信息字段就是IP 数据报。 若为 0xC021, 则信息字段是 PPP 链路控制数据。 若为 0x8021,则表示这是网络控制数据。

123 透明传输问题 当 PPP 用在同步传输链路时,协议规定采用硬件来完成比特填充(和 HDLC 的做法一样)。
IP 数据报 先发送 首部 尾部 F A C F 协议 信 息 部 分 FCS 7E FF 03 7E 字节 1 1 1 2 不超过 1500 字节 2 1 PPP 帧 当 PPP 用在同步传输链路时,协议规定采用硬件来完成比特填充(和 HDLC 的做法一样)。 当 PPP 用在异步传输时,就使用一种特殊的字符填充法。

124 字符填充 将信息字段中出现的每一个 0x7E 字节转变成为 2 字节序列(0x7D, 0x5E)。
若信息字段中出现一个 0x7D 的字节, 则将其转变成为 2 字节序列(0x7D, 0x5D)。 若信息字段中出现 ASCII 码的控制字符(即数值小于 0x20 的字符),则在该字符前面要加入一个 0x7D 字节,同时将该字符的编码加以改变。

125 Packet over SONET(POS)
POS接口在数据链路层可以使用PPP协议,在网络层使用IP协议。针对不同的设备,接口传输速率会有所不同。POS将长度可变的数据包直接映射进SONET同步载荷中,使用SONET物理层传输标准,提供了一种高速、可靠、点到点的数据连接。

126 Packet over SONET(POS)
SONET上的数据包。(a) 协议栈.(b) 与帧的关系。

127 零比特填充 PPP 协议用在 SONET/SDH 链路时,是使用同步传输(一连串的比特连续传送)。这时 PPP 协议采用零比特填充方法来实现透明传输。 在发送端,只要发现有 5 个连续 1,则立即填入一个 0。接收端对帧中的比特流进行扫描。每当发现 5 个连续1时,就把这 5 个连续 1 后的一个 0 删除

128 零比特填充 信息字段中出现了和 0 1 0 0 1 1 1 1 1 1 0 0 0 1 0 1 0 标志字段 F 完全一样 的 8 比特组合
发送端在 5 个连 1 之后 填入 0 比特再发送出去 发送端填入 0 比特 在接收端把 5 个连 1 之后的 0 比特删除 接收端删除填入的 0 比特

129 透明传输问题 IP 数据报 先发送 首部 尾部 F A C F 协议 信 息 部 分 FCS 7E FF 03 7E 字节 1 1 1 2 不超过 1500 字节 2 1 PPP 帧 FCS(或Checksum )字段,它通常占2个字节,但可以协商使用4 个字节的校验和。事实上,4字节的校验和与32位的CRC相同,其成多项式与之前给出的CRC多项式相同。2字节的校验和也是一个工业标准CRC。

130 不提供使用序号和确认的可靠传输 PPP 协议之所以不使用序号和确认机制是出于以下的考虑:
在因特网环境下,PPP的信息字段放入的数据是 IP 数据报。数据链路层的可靠传输并不能够保证网络层的传输也是可靠的。 帧检验序列 FCS 字段可保证无差错接受。

131 PPP 协议的工作状态 当用户拨号接入ISP时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。
PC机向路由器发送一系列的LCP分组(封装成多个PPP帧)。 这些分组及其响应选择一些PPP参数,和进行网络层配置,NCP给新接入的PC机分配一个临时的 IP地址,使PC机成为因特网上的一个主机。 通信完毕时,NCP释放网络层连接,收回原来分配出去的IP地址。接着,LCP释放数据链路层连接。最后释放的是物理层的连接。

132 链路静止 设备之间无链路 LCP 配置 协商失败 物理层连接建立 LCP 链路 终止 链路建立 物理链路 LCP 配置协商 鉴别失败 链路终止 鉴别 LCP 链路 鉴别成功或无需鉴别 链路故障或 关闭请求 网络层协议 已鉴别的 LCP 链路 NCP 配置协商 已鉴别的 LCP 链路 和 NCP 链路 链路打开

133 第 3 章 数据链路层 3.1 数据链路层的设计问题 3.2 差错检测和纠正 3.3 基本数据链路层协议 3.4 滑动窗口协议 3.5 数据链路协议实例 HDLC 点对点协议PPP 1. SONET上的数据包 2. ADSL数据包

134 ADSL ADSL(Asymmetric Digital Subscriber Line)就是利用现有的标准电话线上的空闲频率区域来传输数据的,当它利用此区域传送与接收数据时,原来的电话服务频段并没有被占用,仍可进行正常的声音传输,其最主要功能特点就是上下速度不同,最大传输范围为18000英尺。

135 ADSL工作原理 用户终端上网非常简单,仅需安装一个ADSL的调制解调器,这个ADSL的调制解调器内置有一个POTS分离芯片,它将现有的电话线分成两个波段,一个为数据所用,另一个为声音所用。 在传送声音时,会用到前面的4KHz的频段。在调制解调器中另有一个频道分隔芯片,可将传送的数据波段再细分为两个部分。较大的部分用于下传因特网上的数据,较小的部分用于上传用户数据,而在电话局的机房中的另一部ADSL调制解调器同样内置POTS芯片。可将数据中的声音信号分离,有关声音方面的信号会转到电话公司的网上,而有关的数据信息可接入到ATM网络上进入Internet中。

136 5.7 异步传输模式(ATM) 在1990年,国际电报电话咨询委员会(CCITT)正式建议将ATM作为实现B-ISDN(宽带综合服务数字网)的一项技术基础。这样,以ATM为机制的信息传输和交换模式也就成为电信和计算机网络操作的基础和2l世纪通信的主体之一。

137 ATM概述 ATM,即异步传输模式(Asynchronous Transfer Mode)。它是未来的宽带综合服务数字网(B-ISDN)的底层传输技术。使用B-ISDN,可以在一个网络上以统一的方式提供多种服务。而现在的网络都是为了特殊的应用目的而设计的,为了提供不同的服务,人们不得不建造不同的网络,分别用于传输电话、电视和数据。同时运行三种不同的网络,维护起来复杂,在经济上也不合算。B-ISDN就是为了统一电信网络而设计的网络传输技术。

138 ATM网络的基本思路就是把数据分割成固定长度的信元(Cell)来传输。每个信元有5个字节的信头和48字节的净荷(Payload)。信元的长度固定,信头又非常简单,这些使得ATM网络可以用硬件来实现信元的快速转发。 ATM网络提供面向连接的服务。在发送数据之前,进行通信的端站点之间必须存在连接。该连接可以是永久性的,也可以是动态建立的。

139 ADSL ADSL 协议栈.

140 ADSL 运载PPP 数据的AAL5 帧格式

141 ATM基本特点 ATM技术的基本特点可以归纳如下: (1) 面向连接; (2) 固定信元长度; (3) 统计复用;
(4) 提供多种服务类型。

142 5.7.2 ATM的虚信道和虚通道 在ATM层。连接被分为两个层次:虚信道和虚通道。
虚信道(VC:Virtual Channel)是指一条单向ATM信元传输信道,有一个惟一的标志符。该标志符称为虚信道标志符(VCI)。 虚通道(VP:Virtual Path)也是指一个单向的ATM信元传输信道。不过,一条虚信道中包含有多条虚通路,所有这些虚通路有相同的标志符。该标志符称为虚信道标志符(VPI)。

143 3.5.3数据链路层在ATM网络的应用 1)信元结构: 信元由5字节信头和48字节信息段(净荷)组成。 发送次序
在同一字节中从第8位开始发送 比特 1…5 6……………….53 发送次序 信头(5字节) 信元从第1个字节开始顺序向下发送 信息段(48字节)

144 ATM信元及其结构 ATM定义了两种新元结构,UNI和NNI UNI (User-Network Interface)
NNI (Network-Network Interface). 大多数ATM连接采用UNI格式.

145 ATM信元及其结构 GFC = Generic Flow Control (4 bits) (default: 4-zero bits)
一般流量控制字段(4个比特)及相应的GFC功能用于接入的流量控制。由于B-ISDN的UNI接入的终端数量可以很多,需要控制流向网络的流量,以避免网络的短期过载。 VPI = Virtual Path Identifier (8 bits UNI, or 12 bits NNI) VCI = Virtual Channel identifier (16 bits) 选路信息 PT = Payload Type (3 bits) 有3个比特,表示净荷类型,区分是用户数据信元还是其他信元类型 CLP = Cell Loss Priority (1-bit) 表示信元丢失优先级,只有一个比特,CLP=0,表示高优先级;CLP=1,表示低优先级,若遇到拥塞要丢弃信元时,CLP=1的信元将首先丢弃。 HEC = Header Error Control (8-bit CRC, polynomial = X8 + X2 + X + 1) 为1个字节,用于信头差错控制。

146 ATM信元传送处理原则 1.误码处理方法 在传送ATM信元的系统中,通过对信头部分的信头差错控制(HEC)进行检验,可以纠正信头中的一位错码和发现多位错码。 对于HEC已检验出信头有错而无法纠正时,则丢弃该信元。ATM信元头中出现误码大多只是一位错误,因而在ATM信元头纠错中采用了只能纠正一位错码的校验码序列。

147 对信息域不采取任何纠错和检错措施,这使得
(1) 接收方收到的ATM信元的信头都是正确的。 (2) 不是所有的ATM信元都能送到接收方,信头错误的信元被丢弃了。 (3) ATM系统不保证传送信息的正确性,接收方收到的ATM信元的信息域中可能有误码。

148 ATM信元定界方法 1)信元定界功能: 在一个比特流中,界定各个信元的功能,称作信元定界功能。 2)定界方法 捕捉 预同步 同步
按比特 逐个检测 同步 按信元 逐个检验 按信元 逐个检测 不正确HEC 连续b次 正确 HEC 连续a次 正确HEC

149 在信元定界过程中定义了三种状态:搜索态、预同步态和同步态。
捕捉 预同步 按比特 逐个检测 同步 按信元 逐个检验 按信元 逐个检测 不正确HEC 连续b次 正确 HEC 连续a次 正确HEC 在信元定界过程中定义了三种状态:搜索态、预同步态和同步态。 在搜索状态中,系统对接收信号进行逐比特的差错控制HEC检验。当发现了一个正确的HEC检验结果后,系统进入预同步状态。 在这种状态,系统认为已经发现了信元的边界,并按照此边界找到下一个信头进行HEC检验。 若能连续发现b个信元的HEC检验都正确,则系统进入同步状态。 若发现一个HEC检验的错误,则系统回到搜索态。在同步态,系统逐信元进行HEC检验,在发现连续a个不正确的结果后,系统回到搜索态。


Download ppt "计算机通信网 Lecture 3: 数据链路层."

Similar presentations


Ads by Google