390 likes | 571 Views
第三章 数据链路层. 数据链路层的基本功能是在物理层传输比特流能力的基础上,通过协议在相邻两个节点之间进行可靠的数据传输。. 数据链路层的功能、模型与服务 流量控制 差错控制 面向位的控制规程 HDLC Internet 中的 PPP 协议. 网络层. 网络层. 数链层. 数链层. 物理层. 物理层. 数据. 数据. 帧. 第一节 数据链路层的功能、模型与服务. 3.1.1 数据链路层的模型. 数据链路层的基本服务: 把源主机网络层的数据以 帧 为单位透明、无差错地传输给目的主机的网络层。
E N D
第三章 数据链路层 数据链路层的基本功能是在物理层传输比特流能力的基础上,通过协议在相邻两个节点之间进行可靠的数据传输。 • 数据链路层的功能、模型与服务 • 流量控制 • 差错控制 • 面向位的控制规程HDLC • Internet中的PPP协议
网络层 网络层 数链层 数链层 物理层 物理层 数据 数据 帧 第一节 数据链路层的功能、模型与服务 3.1.1 数据链路层的模型 数据链路层的基本服务:把源主机网络层的数据以帧为单位透明、无差错地传输给目的主机的网络层。 链路(又称为物理链路):指一条没有任何中间节点的点到点的物理线路。 数据链路(又称为逻辑链路):指链路连同实现控制数据传输的规程的软、硬件,在数据链路上才能进行数据通信。 数据链路层模型 请单击紫色图示标注显示动画效果 3.1.2 数据链路层的基本功能 数据链路作用:是要将物理层提供的可能出错的物理链路改造成为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的数据通路。
第一节 数据链路层的功能、模型与服务 数据链路层的主要功能: 1、链路管理:指数据链路的建立、维持和释放。 建立连接:通信双方建立起一条数据链路,并为数据传输做一些必要的准备。 拆除连接:释放所建立的数据链路,释放占用的资源。 2、帧的封装与拆装 帧:数据链路层的传输单元,将过长的数据报文分成若干份,再配上一些数据链路层的控制信息构成的。 帧的封装:指发送方在发送数据时,将从网络层传下来的分组附上目的地址等数据链路控制信息构成帧的过程。 帧的拆装:指到达接收方,将接收到的信息中,发送方附上的数据链路控制信息去掉,并将纯信息(即分组)上交给网络层的过程。 3、帧的同步:指接收方应能够从物理层上交来的无结构的比特流中准确地区分出一帧的开始和结束。
4、流量控制与顺序控制 流量控制:为避免通信双方因处理数据速度不同造成数据丢失而采取的措施,即当接收端来不及接收数据时应能够及时控制发送端发送数据的速率。 顺序控制:指数据链路层实体将收到的信息上交给网络层之前,能调整接收到的帧的顺序的功能。 5、 差错控制 误码率:指发生错误的码元数与接收到的总码元数的比率。 数据链路层采用编码技术来实现差错控制。 两类编码技术: 前向纠错方式:接收端在收到有差错的数据帧时能自动根据冗余码将差错 改正过来。 检错重发方式:接收端可以根据冗余码检测出收到的帧中是否有差错,并 让发送端重复发送这一帧直到正确接收为止。 第一节 数据链路层的功能、模型与服务
第一节 数据链路层的功能、模型与服务 6、 使接收端能够区分数据信息和控制信息 由于数据和控制信息常在同一信道、甚至同一帧中传送,因此应采取相应的措施区分二者。 7、 透明传输 透明传输:无论所传的数据帧中数据信息和控制信息是怎样组合的,都应能够在链路上传输。 当所传送的数据信息中的某些比特组合恰巧与控制信息的某组成部分完全一样时,须采取适当的措施使接收方不会将数据信息误认为是某种控制信息。 例如:面向位的同步信息F标志和数据块中的“01111110”串。 8、 寻址 在多点连接的情况下,提供相应的手段确保发送端发送的每一帧都能正确的到达目的地,同时还要使接收端知道该帧是哪个站发来的。
第一节 数据链路层的功能、模型与服务 3.1.3 数据链路层的服务 数据链路层的基本服务:将源主机中来自网络层的数据传输给目的主机的网络层。 数据链路层服务的实现:通过网络层与数据链路层之间的接口以服务原语的形式完成服务的调用与被调用。 数据链路层向网络层提供的服务: 1、无确认的无连接服务:源主机和目的主机在通信前不建立连接,结束后也不释放;通信双方也无需对数据帧进行确认。适用于局域网。 2、 有确认的无连接服务:源主机和目的主机在通信之前不建立连接,但每发送一帧都要单独的确认,并具有超时重发的功能。 3、 有确认面向连接的服务:是最复杂的服务,源主机和目的主机在通信前须建立连接以保证数据可靠传输,传输过程分为建立连接、数据传输、断开连接三个阶段。
第一节 数据链路层的功能、模型与服务 • 数据链路层向网络层提供服务原语供网络层调用。 • 例如,用于建立连接的服务原语有: • CONNECT.Request:从主叫方网络层发给数据链路层,请求建立连接。 • CONNECT.Indication:被叫方链路层用此原语通知其上的网络层,有连接请求。 • CONNECT.Response:被叫方网络层同意连接,发出的回应原语。 • CONNECT.Confirm:主叫方数据链路层将对方同意连接的信息告知其上的网络层。 • 数据传输和拆除连接也分别有服务原语。
第二节 流量控制 数据链路层的功能之一就是流量控制。 影响接收方接收数据能力的因素主要有:设备的处理速度和缓冲区容量的大小。 与传输层流量控制的区别:控制的对象不同,在数据链路层上控制的是通信子网中相邻节点间的数据流量,而在传输层上控制的是发送方和接收方之间端到端的数据流量。 下面是两种常用的流量控制策略:停—等协议和滑动窗口协议。 3.2.1 停—等协议——最简单的流量控制策略 策略:当发送方发完一帧后,即停止发送,等待对方的应答,如果收到对方的肯定应答,则接着发送下一个帧;如果收到否定应答或超过规定的时间没有收到肯定应答,则重发该帧。 特点:在进行流量控制的同时也进行了差错控制,实现可靠的数据传输。
A B A B A B A B DATA DATA DATA DATA × 出错 丢失 tout tout tout ACK ACK 丢失 重发 重发 重发 DATA DATA DATA DATA 时间 ACK ACK ACK ACK (a) (b) (c) (d) 第二节 流量控制 分别讨论几种数据传输的情况 : 1、理想情况。传输完全可靠、不出错不丢失,不存在差错控制问题。 2、数据帧出错。通过出错重发机制来解决,若连续重传超过一定次数则停止发送,向上一级报告故障情况。 3、数据帧丢失。发送方发送的数据帧因严重干扰不能到达接收方,接收方不回答确认帧ACK,通过超时重发机制来解决。 4、数据帧无误但返回的确认帧丢失。 解决重复帧:对每个数据帧赋序号,即每发一帧,序号加1。 请点击紫色字母显示动画效果 因停—等协议每次只发送一个帧,且确认该帧被正确接收后才发下一个帧,所以只需用0和1两个编号区别相邻的两帧。
停—等协议的算法: 1、发送算法2、接收算法 V(R)←0,接收状态变量取值为0 ↓ ↓ ↓ ↓ ↓ ↓ V(S)←0,发送状态变量取值为0 等待 ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ 有错 从网络层取一个数据帧 收到一个数据帧,检查是否有错 N(S)←V(S),将发送序号值写入帧的发送序号 无错 否 是否有N(S)=V(R) 送物理层发送 是 将收到的数据帧的数据部分上交给网络层 置超时定时器,选适当超时时间 等待……等待下面的事情出现 V(R)←[1-V(R)]修改状态变量值 是 是否超时? 发送确认帧ACK 否 收到确认帧ACK, 从网络层取新的数据帧 V(S)←[V(S)-1]修改状态变量值 第二节 流量控制
第二节 流量控制 停等协议中要解决的关键问题:超时重发时间的长短的选取,应选取稍大于信号从发送端到接收端传输时间的两倍加上接收端的处理时间之和。 发送端须设发送缓冲区,以便在收到确认帧之前保留该数据帧的副本。 停等协议属于单工通信的1位滑动窗口协议,数据单向传输,反向传输确认帧。 优点:控制比较简单。 缺点:信道的利用率不高,尤其是当信号的传输时延比较长时。 3.2.2 滑动窗口的概念 滑动窗口机制:允许发送方连续发送多个帧而不需要等待接收方应答的策略。 为能连续发送多帧需要对帧进行编号,以便进行差错控制和流量控制,帧的序号用帧序号字段的二进制比特来表示。 帧的序号循环使用,以便对允许发送的帧的数目加以限制。 原因:出错时全部重发会降低效率、帧序号位数太多会增加帧的额外开销。 序号空间:如果用n表示序号,则序号空间范围是0到 2n -1。
7 7 7 7 0 0 0 0 6 6 6 6 1 1 1 1 5 5 5 5 2 2 2 2 W=4 4 4 4 4 3 3 3 3 前沿 (c) (b) (a) (d) 第二节 流量控制 1、发送窗口 发送窗口:把发送端允许连续发送的而未得到确认的一组帧的序号集合。 区别:序号空间是可使用的序号的范围;发送窗口是序号空间的一个子集。 发送窗口的尺寸:发送端可以连续发送的未得到确认的帧的最大数目。 发送窗口的后沿:发送端最早发送但还未收到应答的帧的序号。 发送窗口的前沿:发送端最晚发送但还未收到应答的帧的序号,数值上等于发送窗口后沿加上窗口尺寸再减1。 发送端收到发送窗口后沿所对应帧 的肯定应答后,就将发送窗口向前滑 动一个序号,并从发送缓冲区中将该 数据帧的副本删除。 例:如右图,其发送窗口尺寸为4。
7 7 0 0 6 6 1 1 5 5 2 2 4 4 3 3 (b) (a) 第二节 流量控制 2、接收窗口 接收窗口:一组接收方允许接收的帧序号集合。 接收窗口尺寸:接收方最多允许接收的帧数目。 接收窗口的前、后沿:分别是指接收窗口的上下界。 无论接收窗口尺寸的大小如何,接收方交给上层的数据总是按顺序的。 例:如右图所示,假设采用全部重发流水协议,接收窗口尺寸为1。 发送窗口尺寸不一定等于接收窗口尺寸。 发送端应设缓冲区暂存已发出的而未得 到应答的帧,以备重发,缓冲区满则停止 发送,直至收到新的应答。 接收端可通过控制发送ACK的速度,对发送端进行流量控制。
(a)正常接收 (b)隔帧接收 请单击紫色图示标注显示动画效果 A 发(0,1,A0) 收(0,0,B0) 发(1,0,A1) 收(1,1,B1) 发(0,1,A2) 收(0,0,B2) 发(1,0,A2) B 收(0,1,A0) 发(0,0,B0) 收(1,0,A1) 发(1,1,B1) 收(0,1,A2) 发(0,0,B2) 收(1,0,A2) A 发(0,1,A0) 收(0,1,B0) 重发(0,0,A0) 丢弃(0,0,B0) 发(1,0,A1) 收(1,0,B1) 重发(1,1,A1) 丢弃(1,1,B1) B 发(0,1,B0) 收(0,1,A0) 重发(0,0,B0) 丢弃(0,0,A0) 发(1,0,B1) 收(1,0,A1) 重发(1,1,B1) 丢弃(1,1,A1) 第二节 流量控制 3.2.3 一位滑动窗口协议 一位滑动窗口协议:发送窗口尺寸 = 1,接收窗口尺寸 = 1。 特点:支持数据的双向传输;采取捎带应答的全双工通信方式工作,不必对每一帧进行单独确认,而是通过对某一帧的应答来代替对之前所有帧的应答。 捎带应答:将应答信息搭载在数据帧上发送给对方的应答方式。 发送序号 应答序号 数据
ACK2 ACK0 ACK4 ACK6 ACK1 ACK3 ACK5 丢弃 0 1 2 3 4 5 6 7 8 2 3 4 5 6 7 8 9 10 出错帧 0 1 E2 3 4 5 6 7 8 超时时间 第二节 流量控制 3.2.4 全部重发流水线协议 全部重发流水线协议:发送窗口尺寸大于1,接收窗口尺寸等于1。 特点:当前面的某个帧丢失或出错后,接收方由于其后到达的帧都不接收,所以当发送方超时后,必须重发出错的帧及其以后的所有帧。 分三种情况: 1、发送方按序号顺序在发送窗口范围内连续发送若干帧。 2、信道不够可靠,会造成帧的丢失或损坏。 3、应答帧丢失。
0 1 2 3 4 5 6 7 8 2 9 10 11 12 13 14 超时时间 0 1 E 3 4 5 6 7 8 2 9 10 11 12 由数据链路层缓冲 出错帧 将2—8帧送网络层 ACK0 ACK3 ACK5 ACK7 ACK2 ACK10 ACK1 ACK4 ACK6 ACK9 ACK8 第二节 流量控制 3.2.5 选择重发流水线协议 选择重发流水线协议:发送窗口尺寸大于1,接收窗口尺寸大于1。 接收方可将错帧之后的帧保留在接收缓冲区中;发送方超时后,只需重发出错的帧;接收方待收到发送方重发的帧后,可将其和保留在缓冲区内的帧重新排序,一起交给网络层。 特点:与全部重发流水线协议相比,该协议改善了信道的利用率,但接收方的缓冲区要设置得比较大。
第二节 流量控制 3.2.6 最大窗口尺寸的确定 1、全部重发流水线协议的最大发送窗口尺寸为2n-1 若将最大发送窗口尺寸选为和序号空间的大小一致,则当应答丢失时接收方无法区分收到的是重发的老帧还是新帧。 例:n=3时,最大发送窗口尺寸为7。 2、选择重发流水线协议的最大接收窗口尺寸为2n-1 选择重发流水线协议的前后相邻的两个接收窗口所包含的序号不能有相同的,否则当某一帧在前一窗口被接收方妥收并发了确认以后,如果因为确认帧丢失而使发方重发了一个相同序号的帧,就回落在下一个窗口而被接收方再次接收。 例:n=3时,最大接收窗口尺寸为4。 在该协议中,发送窗口的尺寸一般取得和接收窗口一样,通常也不超过2n-1。 3.2.7 全部重发流水协议的最佳帧长 影响信道利用率因素为:帧长、因传输差错而导致的不断重传。 最佳帧长的近似公式: lotp= 其中lotp表示最佳帧长,H表示帧头的比特数,P表示误码率。
第三节 差错控制 • 差错控制的目的和任务:发现和纠正计算机通信错误以提高信息的传输质量。 • 主要涉及的问题:一是如何检测出错误;二是发现错误后,如何进行纠正。 • 3.3.1 差错的特性及差错控制方式 • 差错监测和控制技术:在计算机通信系统中产生差错以后,一定要采取措施来监测和纠正错误,将错误控制在允许的最小范围内。 • 1、差错的特性 • 传输中出现的错误种类: • 随机错:由信道固有的、持续存在的随机热噪声引起的。 • 一般是孤立的;由它导致的错误通常较少。 • 突发错:通常是由外界特定的瞬间的冲击噪声引起。 • 常出现连续比特的错误,影响面较大;是传输中产生差错的主要原因。 突发长度:从突发错发生的第一个码元到连续有错的最后一个码元间的所有码元的个数。 突发错比随机错传输的效率较高;突发错的检错和纠错要比随机错困难。
第三节 差错控制 • 2、误码率(又称比特差错率):用来衡量通信线路传输信息的质量,记为Pe。 Pe = 发生差错的码元数 / 接收的总码元数 • 在数据通信中,不同业务、不同信道的误码率是不同的: • 例如:中速的电话系统误码率一般在10-4—10-6之间;广域网的误码率一般在10-7—10-8之间;而局域网的误码率一般在10-9—10-11之间。 • 降低误码率的两种办法: • 改善物理信道:降低通信线路自身的误码率,受经济上和技术上的限制难以得到理想的结果。 • 采取差错控制:核心的技术是编码。 • 差错控制编码:将发送之前在数据块中加入冗余信息的过程。 • 两种基本策略: • 检错码:使编码只具有检错的功能,即接收方只能判断收到的数据块中是否有错,但有错时不能确切知道错误的位置,因而不能纠正错误 ; • 纠错码:使编码具有一定的纠错功能。即接收方不仅能知道收到的数据块中是否有错,而且能知道错在什么地方,然后将出错的二进制位按位取反。
第三节 差错控制 3、 差错控制方式 自动请求重发方式ARQ:采用检错码;需有双向信道来传送收方的反馈信息;在发方要有数据缓冲区来存放已发出的数据;实现简单、传输效率高,是数据通信中常用的差错控制方式。 前向纠错方式FEC:采用纠错码;不需要反向信道和数据缓冲区;由于纠错码使用更多的冗余位,故纠错设备比检错设备复杂。 3.3.2 常用的简单差错控制编码 1、 奇偶校验码——最基本、最常用、最简单的检错码 编码规则:在信源输出的信息码后面附加一个校验元,使得码组中“1”的个数是奇数或偶数;在接收端再检测“1”的个数,根据是否与发送端原则相符判断传送中是否出现错码。 若传送的信息有n-1个码元Cn-1 Cn-2……C2C1,校验位为C0,则: 奇校验方程为:Cn-1⊕Cn-2⊕……⊕C2⊕C1 ⊕C0=1; 偶校验方程为:Cn-1⊕Cn-2⊕……⊕C2⊕C1 ⊕C0=0。(其中⊕表示模2加运算) 特点:奇偶校验能查出传输中任意奇数个错,但不能发现偶数个错误。 适合:在信道干扰不严重和码长n不大的时,尤其适于检测随机偶发的错误。
小 组 码 字 信 息 元 1 1 1 0 1 1 2 0 1 1 0 1 3 1 1 0 0 0 4 1 1 0 0 0 5 1 0 0 1 0 校验元 0 0 1 0 0 第三节 差错控制 2、 二维奇偶校验码 1)、垂直奇偶校验(又称为纵向奇偶校验、字符奇偶校验) 原理:把要发送的信息码元按定长m比特分为若干段,每段纵向排列,对每列的信息元进行奇偶校验,得到的校验元附在每列后面,传输时按列的次序传输 。 编码效率:R=m/(m+1)。 特点:能查出垂直列上的 奇数位差错,不能查出偶数 位差错;由于突发错出现奇 数位错误码元与出现偶数位 错误码元的概率各半,因此 垂直奇偶校验只能查出50% 突发性错误。
小组 码 字 信息元 校验元 1 1 1 0 1 1 0 2 0 1 1 0 1 1 3 1 1 0 0 0 0 4 1 1 0 0 0 0 5 1 0 0 1 0 0 第三节 差错控制 2)、水平奇偶校验(又称为横向奇偶校验) 原理:把要发送的信息码元按定长m比特分为若干段,然后每段纵向排列,共计n行,对每行的信息元进行奇偶校验,得到的校验元附在每行后面;传输时也按列的次序传输。 编码效率:R=n/(n+1)。 优点:检错能力强,不仅能检验出水平方向上每行的奇数位错,而且还能检测出突发长度≤m位的所有突发错。 缺点:发送方和接收方都必须设置缓冲区,且产生检验码、检查检验码的逻辑也比较复杂。
小组 码 字 信 息 元 校验元 1 1 1 0 1 1 0 2 0 1 1 0 1 1 3 1 1 0 0 0 0 4 1 1 0 0 0 0 5 1 0 0 1 0 0 校验元 0 0 1 0 0 1 第三节 差错控制 3)、 水平垂直奇偶校验 原理:是水平和垂直两个方向的奇偶校验的结合,又称纵横奇偶检验和方阵奇偶校验。 编码效率:R=mn/[(m+1)(n+1)]。 特点:可检测出所有3位或3位以下的错误、水平或垂直方向上的奇数个错误、突发长度<m的突发性错误以及部分偶数位错误,即它可检测出除了互相补偿的偶数位错以外的所有差错;当差错位数为1位时能纠正差错。
1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 1 0 1 0 0 0 × 0 0 1 1 + 0 1 1 0 1 0 1 1 1 1 1 0 1 1 0 1 1 1 1 0 1 1 0 1 1 0 1 1 1 第三节 差错控制 3.3.3 循环冗余码(Cyclic Redundancy Code,CRC) ——又称为多项式码,是一种在计算机网络和数据通信中使用得最广泛的检错码。 1、循环冗余码(CRC)原理及运算规则 基本原理:给定一个k比特的帧或信息,发送装置产生一个n比特校验位,称为帧校验序列FCS,使得产生的这个由k+n比特组成的码字可被某个预定的整数相除,然后接受装置将收到的码字除以同样的数,当没有余数时,则认为没有错误。 基本运算规则:模2运算,即异或运算,加法不进位,减法不借位。
第三节 差错控制 定义:T——待传输的k+n比特信息位,一般n<k; M——k比特,T的前k比特,要传送的信息位; R——n比特,T的后n比特,要传送的检验码; P——n+1比特特征值,这是待除的数,即特征多项式。 求冗余码的方法:令M·2n除以P的余数为R。 证明:只需证明T是能被P整除的,则基本原理成立; 由定义可知,T = M·2n+R; 由于M·2n除以P的余数为R,则有 (M·2n)/P = Q+R/P (Q为商,R为余数), 且有 T/P = (M·2n)/P+R/P = Q+R/P+R/P, 因为任何二进制数加上其本身的模2运算为0,则有 T/P=Q。 因此T是能被P整除的,即R可用作FCS。 推理:简单地将k比特信息M左移n个比特(即乘以2n),即M·2n,除以P得到的余数R即为帧校验序列FCS。 执行过程:在发送端由M和R构成传输信息T;在接收端,接收装置再将收到的T除以P,如无余数,即 T=T,则说明无误码,再将后n位FCS检验位去掉。
第三节 差错控制 2、生成多项式 P(x) 形式: CRC-12: P(x)=x12+x11+x3+x2+x+1 CRC-16: P(x)=x16+x15+x2+1 CRC-CCITT: P(x)=x16+x12+x5+1 3、CRC码产生过程 ①将数据M变成多项式M(x)。例如,M为111001,则M(x)=x5+x4+x3+1; ②将M(x)左移n位,得到一个新的多项式xn·M(x); ③用模2除法,将xn·M(x)除以P(x)得到余数R(x),与②中的码xn·M(x)和起来得到T(x),即T(x)=xn·M(x)+R(x)。 ④接收方收到T(x)后与P(x)相除,若余数为0,则表示无错码,同时去掉T(x)后n比特检验位。
第三节 差错控制 4、例如:M为110,G(x)=x4+x3+x2+1, 求T(x)。 由题意得: G = 11101 M·24 = 1100000 用1100000除以11101,商Q为101,余数R为1001,则R(x)= x3+1; 而又有M(x)·x4 = x6+x5,则T(x) = M(x)·x4+ R(x) = x6+x5+x3+1,相应的码为1101001。 5、 CRC码的特点 ①可以检验出所有单比特错误; ②可以检验出所有双比特错误(条件为P(x)具有三项因式); ③可以检验出任何奇数个差错(条件为P(x)包含因式(x+1)); ④可以检验出任何长度小于FCS长度的突发错误; ⑤大多数较大的突发错误。
非平衡配置 平衡配置 主站 次站 命令 主站 次站 次站 次站 响应 复合站 A 复合站 A 第四节 面向位的控制规程HDLC • 3.4.1 HDLC适用的两种链路配置和三种工作方式 • 1、两种链路配置 • 非平衡配置:由一个主站和一个或多个次 • 站组成,可以为点到点或点到多点工作方式。 • 主站:负责链路的控制,发出的帧叫命令。 • 次站:完成主站指示的工作,发出的帧叫响应。 • 在通信中发出呼叫的站是主站,被呼叫的站是次站。 • 平衡配置:每端都是一个复合站,只能为点到点 • 的工作方式。 • 2、三种操作方式 • 正常响应方式NRM:适用于非平衡结构,只有主站能发起数据传送,次站仅当主站探询(Poll)它时,才能传输响应帧。 • 异步响应方式ARM:适用于非平衡结构,准许次站不经探询发送响应帧。 • 异步平衡方式ABM :适用于平衡结构,每个复合站都可以发起数据传输。
01111110 8 8 可变 16 01111110 标志F 地址A 控制C 信息Info 帧校验序列 标志F 校验范围 第四节 面向位的控制规程HDLC • 3.4.2 HDLC 帧格式 • HDLC以帧为单位传送数据,帧就是数据链路层的协议数据单元PDU。 • 标志字段 F:表示一帧的开始和结束;当发送连续帧时,前一帧的结束标志F,也就是下一帧的开始标志F;暂无信息发送时,可以连续发送F。 • “0”比特插入/删除法——实现数据的透明传输:发送方当信息字段中出现5个连续的1时,则在其后额外插入一个“0”;接收方在F之后每出现连续5个“1”时,就将其后的“0”删除,还原成原来的比特流。 • 地址字段 A:占8位,可通过每字节的最高位扩展(当最高位为0时下一字节仍为地址字段);在非平衡配置时对于主站发送到次站的帧,地址字段给出的是次站地址;在平衡配置时地址字段填入应答站地址。 帧的校验序列 FCS:占16位,采用CCITT建议的生成多项式x16+x12+x5+1。 控制字段 C:占8位,根据前两位比特取值可分为信息帧I、监督帧S和无编号帧U 。 信息字段Info:是从网络层交下来的分组,长度可变。
第四节 面向位的控制规程HDLC 3.4.3 HDLC三种类型帧 N(S)和N(R)都模8计数。 在信息帧中,主站使P为1表示要求次站响应,次站将最后一个响应帧的F置1表示停止发送;在监督帧的正常响应方式中,主站用P=1要求次站响应,次站在独立应答帧或数据帧的最后一帧中将F置1。
例1设HDLC某一帧的控制字段C为2CH=00101100B,试说明其意义。例1设HDLC某一帧的控制字段C为2CH=00101100B,试说明其意义。 这是信息帧,是发方的第二号帧,希望对方发第1号帧(N(S)、N(R))序号低位在前),询问对方发送信息。这一帧简记为I,2,1,P。 例2次站向主站发应答:已准备好接收,希望收第5号帧,是次站发出的最后一帧。试写出控制手段。 是次站发向主站的应答,表明这是一个管理帧,控制字段C的b1b2应为10。 次站已准备好接收,表示准备就绪可继续接收,Type字段b3b4=00。 由于是次站发的最后一帧,得知F=1,即C的b5=1。 因此,C=8DH=10001101B这一帧可用符号表示为:RR5 F。 b1 b2 b3 b4 b5 b6 b7 b8 b1 b2 b3 b4 b5 b6 b7 b8 0 0 1 0 1 1 0 0 1 0 0 0 1 1 0 1 I标志 N(S) P=1 N(R) S标志 TYPE F=1 N(R) 第四节 面向位的控制规程HDLC
b1 b2 b3 b4 b5 b6 b7 b8 1 1 1 1 0 0 0 0 U标志 Type F=1 Type 例3 某通信主站在建立数据链路连接时,要求设置异步响应方式,无询问,试写出其帧的控制字段C的编码。 这是通信前的设置方式命令,所以是一个无编码帧,标志b1b2=11。 置异步响应方式命令SARM,查表可知命令编码位M=11000,即b3b4b6b7b8=11000。 无询问,则P=0,即b5=0。综上,得控制字段编码如下: C=F0H=11110000B 例4 RNR用法。如右图所示: … 主站 次站 I,4,0,1 RNR,5 请求暂停发送 RR,5,F 允许发送 I,5,0,P … 第四节 面向位的控制规程HDLC
主站 次站 SNRM,P UA,F I,0,0 I,1,0,P I,0,2 I,1,2 I,2,2,F I,2,3,P I,3,3 I,4,3,F I,3,5 第四节 面向位的控制规程HDLC 例5 正常响应操作方式,双向发送。示意图如下:
主站 次站 SNRM,P UA,F I,0,0 1,1,0 次站检查此帧有错 I,2,0 I,3,0 REJ,1,F I,1,0 从I,1,0开始全部重发 I,2,0 I,3,0,P I,0,4 I,1,4,F DISC,P UA,F 第四节 面向位的控制规程HDLC 例6 主站发四帧,次站发两帧,主站发送帧有错,次占用REJ请求全部重发。示意图如下:
数据链路层不是TCP/IP协议的一部分,只是TCP/IP赖以存在的基础,提供了各种通信网与TCP/IP之间的接口。数据链路层不是TCP/IP协议的一部分,只是TCP/IP赖以存在的基础,提供了各种通信网与TCP/IP之间的接口。 各物理网络可以使用自己的数据链路层协议和物理层协议。 在数据链路层使用得最为广泛的就是SLIP和PPP协议。 3.5.1 串行线路网际协议SLIP(Serial Line IP) 串行线路网际协议 SLIP:是一个在串行线路上对IP分组进行封装的简单的面向字符的协议,用以使用户通过电话线和调制解调器接入Internet。 SLIP帧的封装规则: IP数据报的首尾各加上一个特殊标志字 符END,其编码为0xC0(11000000)。 若IP数据报中的某个字节恰与特殊标志 字符END的编码(0xC0)一样,则需用2字节 序列0xDB(称为SLIP转义字符)和0xDC替换 该字节。 若IP数据报中某个字节恰与SLIP转义字符一样,则需用2字节序列0xDB和0xDD将它替换。 IP数据报 C0 DB 1 1 END ESC ESC END C0 DB DC DB DD C0 字节 1 1 1 1 1 1 第五节 Internet中的PPP协议
第五节 Internet中的PPP协议 SLIP协议的缺点: 没有校验字段,不提供差错检测的功能,只能靠高层检验差错; 不能提供对方的IP地址,对无固定IP地址的拨号入网的用户来说不方便; 无协议类型字段,仅支持IP协议,而不支持其他的协议。 适用:低速串行线路中的交互性业务(附加信息开销大,数据传输效率较低)。 CSLIP协议(压缩的SLIP):在连续发送的数据报分组中会有许多相同的首部字节,若某一字段和前一分组中的相应字段相同,则不发送这个字段;若某一字段和前一个分组中的相应字段不同,则只发送改变的部分。 3.5.2 点对点的PPP协议(Point-to-Point Protocol) 作用:完成链路的操作、维护和管理功能。 运行条件:只需提供全双工电路(专用的或交换式的)以实现双向的数据传输。 1、PPP协议的构成 在串行链路上封装IP数据报的方法:既支持异步链路(无奇偶校验的8比特数据),也支持面向比特的同步链路。 链路控制协议LCP:用于建立、配置和测试数据链路连接,通信的双方可协商一些选项。 网络控制协议NCP:用于建立、配置多种不同网络层协议, 每种网络层协议需要一个NCP来进行配置,在单个PPP链路上可支持同时运行多种网络协议。
PPP的帧格式 IP数据报 A C 协议 信 息 FCS 03 FF 字节 1 1 1 2 不超过1500字节 2 1 F F 7E 7E 第五节 Internet中的PPP协议 2、 PPP的帧格式 标志字段(F1ag),编码为01111110 (0x7e),是帧的定界符,用以标识一 帧的开始和结束。 地址字段(Address),编码为11111111 (0xff),采用标准的广播地址。 控制字段(Contro1),编码为00000011(0x03),是一个无编号帧。 协议字段(Protocol), 用于标识封装在PPP帧中的信息所用的协议类型。 信息字段(Information),包含零个或多个字节,是网络层协议数据报,缺省最大长度为1500个字节。 FCS帧校验序列字段,用16比特的循环冗余校验CRC计算校验和。 PPP是面向字符的,帧长度都是整数个字节。 字符填充法:将信息字段中出现的每一个0x7E字符转变成为2字节序列0x7D和0x5E;若信息字段中出现一个0x7D字符则将其转变成为2字节序列0x7D和0x5D;若信息字段中出现ASCII码的控制字符(即小于0x20的字符),则在该字符前面要加入一个0x7D字符。
第五节 Internet中的PPP协议 • 3、PPP的协议族 • 1)链路控制协议LCP(Link Control Protocol) • 作用:用于建立、配置、维护和终止点对点的链路层连接。 • 工作过程:——通过交换LCP帧来实现 • 第一阶段:链路的建立和配置协调; • 第二阶段:链路质量检查(可选),决定链路是否满足网络层协议的要求; • 第三阶段:网络层协议配置; • 第四阶段:关闭链路,可随时关闭链路,多因用户要求或发生物理故障。 • LCP的三种帧: • 链路建立帧:用于建立和配置PPP链路并确定与该链路相关的参数; • 链路终止帧:用于终止PPP链路; • 链路维护帧:用于管理和调试PPP链路。 2)网络控制协议NCP(Network Control Protocol) PPP使用一组网络控制协议NCP配置不同的网络层,其中普遍使用的是用于配置IP层的IP控制协议IPCP(Internet Protocol Control Protocol)。 使用与LCP相同的报文结构及协商机制完成选项协商的任务。
双方协商 检测到载波 一些选项 建立 鉴别成功 鉴别 失败 静止 失败 网络 终止 打开 载波停止 通信结束 NCP配置 建立和释放PPP链路的状态转换图 第五节 Internet中的PPP协议 4、PPP的运行机制 PPP不提供使用序号和确认的可靠传输。 当用户拨号接入ISP时,路由器的调制解调器对拨号应答并建立一条物理连接; PC机向路由器发送一系列LCP分组(封装成多个PPP帧),选择将要使用的一些PPP参数; 进行网络层配置,NCP给新接入的PC机分配一个临时的IP地址。 当用户通信完毕时,NCP释放网络层连接,收回原来分配出去的IP地址; LCP释放数据链路层连接; 最后释放的是物理层连接。