




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章点到点信道的数据链路层本章主要内容停止等待协议连续ARQ协议因特网的点对点协议PPP第三章点到点信道的数据链路层本章主要内容停止等待协议3.1数据链路层的基本概念
局域网广域网主机
H1主机
H2路由器
R1路由器
R2路由器
R3电话网局域网主机
H1
向
H2
发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2从层次上来看数据的流动3.1.1数据链路层的简单模型3.1数据链路层的基本概念
局域网广域网主机H1主机(a)数据链路层结点A结点B帧(b)发送帧接收链路IP数据报1010……0110帧取出数据链路层网络层链路结点A结点B物理层IP数据报1010……0110帧装入数据链路层传送的是帧(a)数据结点A结点B帧(b)发送帧接收链路IP数据报3.1.2链路和数据链路
链路(link)即物理链路,是从一个结点到相邻结点的一段物理线路,中间没有任何其他的交换结点。一条链路只是一条路径的一个组成部分。数据链路(datalink)即逻辑链路,除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。现在最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件。一般的适配器都包括了数据链路层和物理层这两层的功能。
3.1.2链路和数据链路链路(link)即物理链路,是3.2三个基本问题
(1)帧定界(2)透明传输(3)差错控制
3.2三个基本问题(1)帧定界3.2.1帧定界帧定界(framing)就是确定帧的界限。
帧结束帧首部IP数据报帧的数据部分帧尾部
MTU数据链路层的帧长从这里开始发送帧开始3.2.1帧定界帧定界(framing)就是确定帧的界限用控制字符进行帧定界的方法举例
SOH装在帧中的数据部分帧帧开始符帧结束符发送在前EOT用控制字符进行帧定界的方法举例SOH装在帧中的数据部分帧帧3.2.2透明传输SOHEOT出现了“EOT”被接收端当作无效帧而丢弃被接收端误认为是一个帧数据部分EOT完整的帧发送在前3.2.2透明传输SOHEOT出现了“EOT”被接收端当SOHSOHESCSOHEOTESCESCzESCyESCzESCx原始数据EOTEOT经过字节填充后发送的数据字节填充字节填充字节填充字节填充发送在前帧开始符帧结束符用字节填充法解决透明传输的问题
SOHSOHESCSOHEOTESCESCzESCyESCz3.2.3差错检测检错奇偶校验循环冗余校验(CRC)3.2.3差错检测检错奇偶校验循环冗余校验(CRC)
奇/偶校验的规则是在原数据位后附加一个校验位,将其值置为“0”或“1”,使附加该位后的整个数据码中“1”的个数成为奇数或偶数。使用奇数个“1”进行校验的方案被称为奇校验;对应于偶数个“1”的校验方案被称为偶校验。奇/偶校验奇/偶校验的规则是在原数据位后附加一个校验位,将其值循环冗余检验在数据链路层传送的帧中,广泛使用了循环冗余检验CRC的检错技术。在发送端,先把数据划分为组。假定每组k位。假设待传送的一组数据M=101001(现在k=6)。我们在M的后面再添加供差错检测用的r位冗余码一起发送。
循环冗余检验在数据链路层传送的帧中,广泛使用了循环冗余检验①设f(x)为k阶信息码多项式,G(x)为r阶生成码多项式;②用模2除法进行xrf(x)/G(x),得到余式R(x),R(x)为r阶冗余码多项式;③用模2减法进行xrf(x)-R(x),得到待传送的CRC码多项式。CRC码的计算过程:①设f(x)为k阶信息码多项式,G(x)为r阶生成码多项式例如,已知要传送的信息为1010001101,G(X)=X5+X4+X2+1,计算冗余码的过程和结果如下:∴传送序列T(x)=101000110101110例如,已知要传送的信息为1010001101,G(X)=X5接收端对收到的每一帧进行CRC检验
接收方收到后,用G(x)除多项式,若余数R
0,则传输有错,就丢弃。若得出的余数R=0,则判定这个帧没有差错,就接受(accept)。但这种检测方法并不能确定究竟是哪一个或哪几个比特出现了差错。只要经过严格的挑选,并使用位数足够多的除数P,那么出现检测不到的差错的概率就很小很小。
接收端对收到的每一帧进行CRC检验接收方收到后,用G(思考:
习题3-17思考:注意
仅用循环冗余检验CRC差错检测技术只能做到无差错接受(accept)。“无差错接受”是指:“凡是接受的帧(即不包括丢弃的帧),我们都能以非常接近于1的概率认为这些帧在传输过程中没有产生差错”。也就是说:“凡是接收端数据链路层接受的帧都没有传输差错”(有差错的帧就丢弃而不接受)。要做到“可靠传输”(即发送什么就收到什么)就必须再加上确认和重传机制。注意仅用循环冗余检验CRC差错检测技术只能做到无差错接3.3停止等待协议两台计算机通过一条数据链路进行通信的简化模型假定1:链路是理想的传输信道,所传送的任何数据既不会出差错也不会丢失。假定2:不管发送方以多快的速率发送数据,接收方总是来得及收下,并及时上交主机。3.3停止等待协议两台计算机通过一条数据链路进行通信的具有最简单流量控制的数据链路层协议B具有最简单流量控制的数据链路层协议B算法发送结点:(1)从主机取一个数据帧;(2)将数据帧送到数据链路层的发送缓存;(3)将发送缓存中的数据发送出去;(4)等待;(5)若收到由接收结点发过来的信息,则从主机取一个新的数据帧,然后转到(2)算法发送结点:算法接收结点:(1)等待;(2)若收到由发送结点发过来的数据帧,则将其放入数据链路层的接收缓存;(3)将接收缓存中的数据帧上交主机;(4)向发送结点发一信息,表示数据帧已上交主机;(5)转到(1)算法接收结点:3.3.1停止等待协议的工作原理数据帧出错确认帧出错ACKn表示“第n–1号帧已经收到,现在期望接收第n号帧”。正常情况ACK1ACK03.3.1停止等待协议的工作原理数据帧出错确认帧出错A
发送结点:(1)从主机取一个数据帧,送交发送缓存。(2)V(S)←0。(发送状态变量的初始化)(3)N(S)←V(S)。(发送序号N(S))(4)将发送缓存中的数据帧发送出去。(5)设置超时计时器。(6)等待。{等待以下(7)和(8)中最先出现的一个}(7)收到确认帧ACKn,若n=1–V(s),则:从主机取一个新的数据帧,放入发送缓存;V(S)←[1
V(S)],转到(3)。否则,丢弃这个确认帧,转到(6)。(8)若超时计时器时间到,则转到(4)。3.3.2停止等待协议的算法ACK1ACK0发送结点:3.3.2停止等待协议的算法ACK1AC接收结点:(1)V(R)←0。(接收状态变量的初始化,值为预接收数据帧序号)(2)等待。(3)收到一个数据帧;若N(S)=V(R),则执行(4);否则丢弃此数据帧,然后转到(6)。(4)将收到的数据帧中的数据部分送交上层软件(也就是数据链路层模型中的主机)。(5)V(R)←[1
V(R)]。(6)n←V(R);发送确认帧ACKn,转到(2)。ACK1ACK0接收结点:ACK1ACK0思考:
习题3-4思考:(1)在发送端,在发送数据之前,都必须将发送状态变量V(S)的值写到数据帧的发送序号N(S)上。(2)发送端在发送完数据帧时,必须在其发送缓中暂时保留这个数据帧的副本。(3)在接收端只接受序号正确的数据帧,并发送确认。停止等待协议的要点(1)在发送端,在发送数据之前,都必须将发送状态变停止等待协在发送完一个数据帧后,不是停下来等待确认帧,而是可以连续再发送若干个数据帧。如果收到接收端发来的确认帧,那么还可以继续发送数据帧。要点:3.4发送窗口大于1的ARQ协议在发送完一个数据帧后,不是停下来等待确认帧,而是可以连续再01234523456DATAACK1ACK2ACK2ACK2ACK2ACK3ACK4tftout重传送主机丢弃送主机出错时间AB3.4.1连续ARQ协议的工作原理01234发送端和接收端分别设定发送窗口和接收窗口。发送窗口用来对发送端进行流量控制。发送窗口的大小WT代表在还没有收到对方确认信息的情况下发送端最多可以发送多少个数据帧。3.4.2滑动窗口的概念发送端和接收端分别设定发送窗口和接收窗口。3.4.2发送窗口的规则发送窗口内的帧是允许发送的帧,而不考虑有没有收到确认.(2)每发送完一个帧,允许发送的帧数就减1.(3)如果所允许发送的帧都发送完了,但还没有收到任何确认,那就不能再发送任何帧了.(4)每收到一个帧的确认,发送窗口就向前(向右)滑动一个帧的位置.发送窗口的规则发送窗口内的帧是允许发送的帧,而不考虑发送窗口01234567012WT不允许发送这些帧允许发送5个帧(a)01234567012不允许发送这些帧还允许发送4个帧WT已发送(b)01234567012不允许发送这些帧WT已发送(c)01234567012不允许发送这些帧还允许发送3个帧WT已发送已发送并已收到确认(d)发送窗口01234567012WT不允许发送这些帧允许发送在接收端只有当收到的数据帧的发送序号落入接收窗口内才允许将该数据帧收下。若接收到的数据帧落在接收窗口之外,则一律将其丢弃。在连续ARQ协议中,接收窗口的大小WR
=1。只有当收到的帧的序号与接收窗口一致时才能接收该帧。否则,就丢弃它。每收到一个序号正确的帧,接收窗口就向前(即向右方)滑动一个帧的位置。同时发送对该帧的确认。
接收窗口的规则在接收端只有当收到的数据帧的发送序号落入接收窗口内才允许将该不允许接收这些帧01234567012WR准备接收0号帧(a)不允许接收这些帧01234567012WR准备接收1号帧已收到(b)不允许接收这些帧01234567012WR准备接收4号帧已收到(c)发ACK1不允许接收这些帧01234567012WR准备接收0号帧发送方接收方帧1234567869ACKACKNAK10出错只重传帧6选择重传ARQ协议的工作原理3.4.4选择重传ARQ协议发送方接收方帧1234567869ACKACKNAK10出错思考:习题3-11思考:无确认的无连接服务有确认的无连接服务有确认的面向连接服务3.4.5数据链路层所提供的基本服务无确认的无连接服务3.4.5数据链路层所提供的基本服务3.5点对点协议PPP
3.5.1点对点协议的特点现在全世界使用得最多的数据链路层协议是点对点协议PPP(Point-to-PointProtocol)。用户使用拨号电话线接入因特网时,一般都是使用PPP协议。
3.5点对点协议PPP
3.5.1点对点协议的特用户到ISP的链路使用PPP协议
用户至因特网已向因特网管理机构申请到一批IP地址ISP接入网PPP协议用户到ISP的链路使用PPP协议用至因特网已向因特PPP协议应满足的需求
简单封装成帧透明性多种网络层协议多种类型链路差错检测检测活跃度(即检测连接状态)最大传送单元(MTU)网络层地址协商数据压缩协商
PPP协议应满足的需求简单PPP协议不需要的功能纠错流量控制序号多点线路半双工或单工链路
PPP协议不需要的功能纠错PPP协议的组成
1992年制订了PPP协议。经过1993年和1994年的修订,现在的PPP协议已成为因特网的正式标准[RFC1661]。PPP协议有三个组成部分
一个将IP数据报封装到串行链路的方法。链路控制协议LCP(LinkControlProtocol)。网络控制协议NCP(NetworkControlProtocol)。
PPP协议的组成1992年制订了PPP协议。经过3.5.2PPP协议的帧格式标志字段F=0x7E(符号“0x”表示后面的字符是用十六进制表示。十六进制的7E的二进制表示是01111110)。地址字段A只置为0xFF。地址字段实际上并不起作用。控制字段C通常置为0x03。先发送IP数据报1211字节12不超过1500字节PPP帧7EFF03FACFCSF7E协议信息部分首部尾部3.5.2PPP协议的帧格式标志字段F=0x7PPP有一个2个字节的协议字段。当协议字段为0x0021时,PPP帧的信息字段就是IP数据报。若为0xC021,则信息字段是PPP链路控制数据。若为0x8021,则表示这是网络控制数据。
先发送IP数据报1211字节12不超过1500字节PPP帧7EFF03FACFCSF7E协议信息部分首部尾部PPP有一个2个字节的协议字段。先发送IP数据报12透明传输问题
当PPP用在异步传输时,就使用一种特殊的字符填充法。当PPP用在同步传输时,协议规定采用硬件来完成比特填充。透明传输问题当PPP用在异步传输时,就使用一种特殊的字字符填充
将信息字段中出现的每一个0x7E字节转变成为2字节序列(0x7D,0x5E)。若信息字段中出现一个0x7D的字节,则将其转变成为2字节序列(0x7D,0x5D)。若信息字段中出现ASCII码的控制字符(即数值小于0x20的字符),则在该字符前面要加入一个0x7D字节,同时将该字符的编码加以改变。
字符填充将信息字段中出现的每一个0x7E字节转变成为2零比特填充
在发送端,只要发现有5个连续1,则立即填入一个0。接收端对帧中的比特流进行扫描。每当发现5个连续1时,就把这5个连续1后的一个0删除。
零比特填充01001111101000101001001111110001010010011111010001010信息字段中出现了和标志字段F完全一样的8比特组合发送端在5个连1之后填入0比特再发送出去在接收端把5个连1之后的0比特删除会被误认为是标志字段F发送端填入0比特接收端删除填入的0比特010011111010001思考:习题3-18、3-19思考:NCP配置鉴别成功建立失败失败通信结束载波停止检测到载波双方协商一些选项鉴别网络打开终止静止3.5.3PPP协议的工作状态
使用PPP协议的状态图NCP配置鉴别成功建立失败失败通信载波检测到双方协商鉴别网3.6HDLC协议HDLC是一个在同步网上传输数据、面向位的数据链路层协议,它是由国际标准化组织(ISO)制
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论