计算机网络基础 课件 第3章 数据链路层_第1页
计算机网络基础 课件 第3章 数据链路层_第2页
计算机网络基础 课件 第3章 数据链路层_第3页
计算机网络基础 课件 第3章 数据链路层_第4页
计算机网络基础 课件 第3章 数据链路层_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

打造人工智能共享实训基地,我校专业集群协调发展

信系第3章数据链路层第3章数据链路层数据链路层属于计算机网络的低层。数据链路层使用的信道主要有点对点信道和广播信道两种。(1)点对点信道(Point-to-PointLink):这种信道使用一对一的点对点通信方式。(2)广播信道(BroadcastLink):这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道上可以连接多个计算机,因此必须使用共享信道协议来协调这些计算机的数据发送。【内容巡航】第3章数据链路层H1的数据链路层

R1的数据链路层

R2的数据链路层

H2的数据链路层3.1.1数据链路和帧将运行数据链路层协议的任何设备称为节点(Node),包括主机、交换机、路由器、和WiFi接入点。1.链路和数据链路链路(Link)就是从一个节点到相邻节点的一段物理线路(有线或无线),而中间没有任何其他的交换节点。把实现这些通信协议的硬件和软件加到链路上,就构成了数据链路。3.1.1数据链路和帧物理链路1.链路和数据链路链路(Link)数据链路物理链路通信协议3.1.1数据链路和帧2.帧3.1.1数据链路和帧

(1)节点A的数据链路层把网络层交下来的IP数据报添加到首部和尾部封装成帧。2.帧

(2)节点A把封装好的帧发送给节点B的数据链路层。

(3)若节点B的数据链路层收到的帧无差错,则从收到的帧中提取出IP数据报上交给上面的网络层,否则丢弃这个帧。3.1.2封装成帧

封装成帧(Framing)就是在一段数据(网络层交下来的IP数据报)的前后分别添加首部和尾部,这样就构成了一个帧。3.1.2封装成帧

网络层的IP数据报传送到数据链路层就成为帧的数据部分,在帧的数据部分的前面和后面分别添加上首部和尾部,构成了一个完整的帧。这样的帧就是数据链路层的数据传送单元。首部和尾部的作用之一就是进行帧定界(即确定帧的界限),不同的数据链路层协议的帧的首部和尾部包含的信息有明确的规定,帧的首部和尾部有帧开始符和帧结束符,称为“帧定界符”。如上图.3.1.2封装成帧一个帧的长度等于帧的数据部分长度加上帧首部和帧尾部的长度。数据链路层必须使用物理层提供的服务来传输一个一个的帧。物理层将数据链路层交来的数据以比特流的形式在物理链路上传输。在发送帧时,是从帧首部开始发送的。各种数据链路层协议都对帧首部和帧尾部的格式有明确的规定。每一种数据链路层协议都规定了帧的数据部分长度的上限,即最大传输单元(MTU)。3.1.2封装成帧控制字符SOH(StartOfHeader)放在一帧的最前面,表示帧的首部开始。另一个控制字符EOT(EndofTransmission)表示帧的结束。3.1.3透明传输当传送的帧是用文本文件(字符都是从键盘上输入的)组成的帧时,其数据部分显然不会出现像SOH和EOT这样的帧定界控制字符。这样不管从键盘上输入什么字符都可以放在这样的帧中传输过去,因此这样的传输就是透明传输。“在数据链路层透明传送数据”表示无论什么样的比特组合的数据,都能够按照原样没有差错地通过这个数据链路层。数据链路层对这些数据来说是透明的。3.1.3透明传输当数据部分是非ASCII码的文本文件时(如二进制代码的计算机程序或图像等),如果数据中的某个字节的二进制代码恰好和SOH或EOT这种控制字符一样,如图3.5所示,数据链路层就会错误地“找到帧的边界”,把部分帧收下(误认为是个完整的帧),而把剩下的那部分数据丢弃(这部分找不到帧定界控制字符SOH)。3.1.3透明传输

设法使数据中可能出现的控制字符“SOH”和“EOT”在接收端不被解释为控制字符。具体的方法是:发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”(其十六进制编码是1B,二进制是00011011)。而在接收端的数据链路层在把数据送往网络层之前删除这个插入的转义字符。

这种方法称为字节填充(bytestuffing)或字符填充(characterstuffing)。3.1.3透明传输3.1.4差错检测比特在传输过程中可能会产生差错:1可能会变成0,而0也可能变成1。这就叫做比特差错。比特差错是传输差错的一种。在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率BER(BitErrorRate)。例如,误码率为10-10时,表示平均每传送1010个比特就会出现一个比特的差错。3.1.4差错检测3.1.4差错检测在发送端,先把数据划分为组(也就是要传送的分组),假定每组k个比特。现假定待传送的数据M=101001(k=6)。CRC运算就是在数据M的后面添加供差错检测用的n位冗余码,然后构成一个帧发送出去,一共发送(k+n)位。要使用帧的数据部分和数据链路层首部合起来的数据(M=101001)来计算n位帧检验序列(FCS),并放到帧的尾部。帧检验序列是经过简单的除法运算得出的。方法是:首先在要校验的二进制数据(M=101001)的后面添加n位的0,在除以收发双方事先商定好的n+1位的除数P,得出的商是Q,而余数是R(n位,比除数少1位)。这个n位的余数R就是我们所需要的帧检验序列FCS。注:CRC是一种检错方法,FCS是添加在数据后面用来检错的冗余码。3.1.4差错检测接收方把接收到的数据以帧为单位进行CRC检验,把收到的每一帧都送到除法器进行运算(除以和发送方生成FCS时所使用的同样除数),然后检查得到的n位余数。如果在传输过程中未出现差错,那么经过CRC检验后得出的余数肯定是零。于是这样的帧就被接受下来。但当出现差错时,则余数将不为零,这样的帧就被丢弃。凡是接收端数据链路层通过差错检测接受的帧,我们都能以非常接近于1的概率认为这些帧在传输过程中没有产生差错,即可以近似地表述为:凡是接收端数据链路层接受的帧均无差错。1.停止等待协议A发送的分组M1在传输过程中被路由器丢弃,或B接收M1时检测出了差错,就丢弃M1,其他什么也不做(不通知A收到有差错的分组)。A发送的分组M1在传输过程中被路由器丢弃,或B接收M1时检测出了差错,就丢弃M1,其他什么也不做(不通知A收到有差错的分组)。1.停止等待协议

“停止等待”就是每发送完一个分组就停止发送,等待对方的确认,在收到确认后再发送下一个分组。A发送分组M1,发完就暂停发送,等待B的确认。B收到了M1就向A发送确认。A在收到了对M1的确认后,就再发送下一个分组M2。同样,在收到B对M2的确认后,再发送M3。1.停止等待协议B所发送的对M1的确认丢失了。A在设定的超时重传时间内没有收到确认,并无法知道是自己发送的分组出错、丢失,或者是B发送的确认丢失了。因此A在超时计时器到期后就要重传M1,现在应注意B的动作,假定B又收到了重传的分组M1。这时应采取两个行动。

第一,丢弃这个重复的分组M1,不向上层交付;

第二,向A发送确认,不能认为已经发送过确认就不再发送,因为A之所以重传M1就表示A没有收到对M,的确认。1.停止等待协议1.停止等待协议

假定A发送分组需要的时间是TD。显然,TD等于分组长度除以数据率。再假定分组正确到达B后,B处理分组的时间可以忽略不计,同时立即发回确认。假定B发送确认分组需要时间TA。如果A处理确认分组的时间也可以忽略不计,那么A在经过时间(TD+RTT+TA)后就可以再发送下一个分组,这里的RTT是往返时间。因为仅仅是在时间TD内才用来传送有用的数据(包括分组的首部),因此信道的利用率U可用下式计算:U=TD/TD+RTT+TA。1.停止等待协议1.停止等待协议2.连续ARQ协议

连续ARQ协议在流水线传输的基础上利用发送窗口来限制发送方连续发送分组的个数。为此,发送方要维持一个发送窗口,发送窗口是允许发送方已发送但还没有收到确认的分组序号的范围。窗口大小就是发送方已发送但还没有收到确认的最大分组数。实际上,发送窗口为1,就是前面讨论的停止等待协议。2.连续ARQ协议2.连续ARQ协议连续ARQ协议规定,发送方每收到一个确认,就把发送窗口向前滑动一个分组的位置。图3.12(b)表示发送方收到了对第1个分组的确认,于是把发送窗口向前移动一个分组的位置。如果原来已经发送了前4分组,那么现在就可以发送窗口内的第5分组了。在协议的工作过程中发送窗口不断向前滑动,因此这类协议又称为滑动窗口协议。2.连续ARQ协议3.选择重传协议为进一步提高性能,可设法只选择出现差错的分组进行重传,但这时接收窗口大小不再为1,以便先收下失序到达但仍然处在接收窗口中的那些分组,等到所缺分组收齐后再一并送交上层。这就是选择重传(SelectiveRepeat,SR)协议3.选择重传协议3.选择重传协议

为进一步提高连续性能,可设法只选择出现差错的分组进行重传,但这时接收窗口大小不再为1,以便先收下失序到达但仍然处在接收窗口中的那些分组,等到所缺分组收齐后再一并送交上层。这就是选择重传(SelectiveRepeat,SR)协议3.选择重传协议为进一步提高性能,可设法只选择出现差错的分组进行重传,但这时接收窗口大小不再为1,以便先收下失序到达但仍然处在接收窗口中的那些分组,等到所缺分组收齐后再一并送交上层。这就是选择重传(SelectiveRepeat,SR)协议3.选择重传协议注意:为了使发送方仅重传出现差错的分组,接收方不能再采用累计确认,而需要对每个正确接收到的分组进行逐一确认(选择确认)。3.2点对点协议点对点协议(Point-to-PointProtocol,PPP)是基于物理链路上传输网络层的报文而设计的,它的校验、认证和链接协商机制有效解决了串行线路网际协议(SerialLineInternetProtocol,SLIP)的无容错机制、无授权和协议运行单一的问题。PPP的可靠性和安全性较高,且支持各类网络层协议,可以允许在不同类型的接口和链路上。3.2.1

PPP协议的特点1.PPP协议应满足的需求简单封装成帧透明传输差错检验支持多种网络层协议(IPv4、v6、IPX)支持多种类型链路(串、并,同、异,低、高,点、光等)自动检测链路连接状态可设置最大传输单元值网络地址协商数据压缩协商3.2.1

PPP协议的特点2.PPP协议的组成(1)高级数据链路控制协议(2)链路控制协议。(3)网络控制协议。3.2.2同步传输和异步传输1.同步传输

同步传输(synchronousTransmission)以数据帧为单位传输数据,可采用字符形式或位组合形式的帧同步信号,在短距离的高速传输中,该时钟信号可由专门的时钟线路传输,由发送端或接收端提供专用于同步的时钟信号。计算机网络采用同步传输方式时,常将时钟同步信号(前同步码)植入数据信号帧中,以实现接收端和发送端的时钟同步。

发送端发送的帧在帧开始定界符前植入了前同步码,用于同步接收端时钟,前同步码后面是一个完整的帧,3.2.2同步传输和异步传输发送端发送的帧在帧开始定界符前植入了前同步码,用于同步接收端时钟,前同步码后面是一个完整的帧3.2.2同步传输和异步传输2.异步传输异步传输(asynchronousTransmission)以字符为单位传输数据,发送端和接收端具有相互独立的时钟(频率相差不能太多),并且两者中的任意一方都不需要向对方提供时钟同步信号。异步传输的发送端和接收端在数据可以传输之前不需要协调,发送端可以在任何时刻发送数据,而接收端必须随时都处于准备接收数据的状态。计算机主机与输入、输出设备之间一般采用异步传输方式,如键盘可以在任何时刻发送一个字符,这取决于用户何时输入。3.2.2同步传输和异步传输2.异步传输如果发送端以异步传输的方式发送帧到接收端,则需要将发送的帧拆分成以字符为单位进行传输,每个字符前有一个起始位,后面有一个停止位。字符之间的时间间隔不固定。接收端收到这些陆续到来的字符,照样可以组装成一个完整的帧,3.2.2同步传输和异步传输3.2.2同步传输和异步传输异步传输和同步传输的区别如下:(1)异步传输是面向字符的传输,而同步传输是面向比特的传输。(2)异步传输的单位是字节,而同步传输的单位是帧。(3)异步传输通过字符起止的开始码和停止码抓住再同步的机会,而同步传输则是从前同步码中抽取同步信息。3.2.3

PPP帧格式3.2.3

PPP帧格式(4)协议字段:2字节,不同的值用来标识PPP帧内的信息是什么数据。0x0021:PPP帧的信息字段是IP数据报;0x8021:表示这是网络层控制数据NCP;0xc021:信息字段是PPP链路控制数据;0xc023:信息字段是安全性认证PAP;0xc025:信息字段是LQR;0xc028:信息字段是安全性认证CHAP。3.2.4

PPP帧格式填充方式在异步传输的链路上,数据传输以字节为单位,PPP帧的转义符定义为Ox7D(即01111101),并使用字节填充,(RFC1662)规定了如下所述的填充方法,如图3.19所示1.异步传输使用字节填充3.2.4

PPP帧格式填充方式在同步传输的链路上,数据传输以帧为单位,PPP采用零比特填充方法来实现透明传输。

在发送端,先扫描整个信息字段(通常是用硬件实现,但也可用软件实现,只是会慢些)。只要发现有5个连续1,则立即填入一个0。经过这个零比特填充的数据,就可以保证在信息字段中不会出现6个连续1。接收端在收到一个帧时,先找到帧定界符以确定一个帧的边界,再用硬件对其中的比特流进行扫描,每当发现5个连续1时,就把这5个连续1后的一个0删除,以还原数据比特流。这样就保证了透明传输:所传送的数据比特流可以包含任意组合的比特模式,而不会引起对帧边界的判断错误。2.同步传输使用零比特填充3.2.5PPP协议的工作状态3.2.5PPP协议的工作状态

(1)Dead阶段。开始是Dead阶段,这个阶段表示物理层没有连接,也就是链路Down。

(2)LinkEstablishment阶段(链路建立阶段)。物理层可用时,PPP首先进行LCP协商,协商的内容包括工作方式是SP还是MP,验证方式,最大传输单元(MRU)等。LCP协商通过后,状态变为Opened,表示链路已经建立。3.2.5PPP协议的工作状态

(3)Authenticate阶段(鉴别阶段)。这个阶段是可选。默认情况下,PPP链路不进行验证,如果要求验证,在链路建立阶段必须制定验证协议。

(4)Network-LayerProtocol阶段(网络层协议阶段)。PPP完成了前面几个阶段,通过NCP协商来选择和配置同一个网络层协议,并进行网络层参数协商。3.2.5PPP协议的工作状态

(5)Terminate阶段(网络终止阶段)。PPP能在任何时候终止链路。当载波丢失、认证失败或管理员人为关闭链路等情况均会导致链路终止。3.2.6PPP的身份认证1.密码认证协议PAP。密码认证协议PAP(PasswordAuthenticationProtocol为两次握手验证,它通过用户名及口令来进行身份

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论