软件工程的计算机网络ch3.1数据链路层

上传人:今*** 文档编号:112150321 上传时间:2019-11-05 格式:PPT 页数:43 大小:730KB
返回 下载 相关 举报
软件工程的计算机网络ch3.1数据链路层_第1页
第1页 / 共43页
软件工程的计算机网络ch3.1数据链路层_第2页
第2页 / 共43页
软件工程的计算机网络ch3.1数据链路层_第3页
第3页 / 共43页
软件工程的计算机网络ch3.1数据链路层_第4页
第4页 / 共43页
软件工程的计算机网络ch3.1数据链路层_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《软件工程的计算机网络ch3.1数据链路层》由会员分享,可在线阅读,更多相关《软件工程的计算机网络ch3.1数据链路层(43页珍藏版)》请在金锄头文库上搜索。

1、数据链路层-1 Outline 3.1 数据链路层的基本概念 3.2 三个基本问题 帧定界 透明传输 差错检测 局域网广域网 主机 H1 主机 H2 路由器 R1 路由器 R2 路由器 R3 电话网 局域网 主机 H1 向 H2 发送数据 n用户主机H1通过电话线上网,中间经过三个路 由器接入到远程主机H2。 n所经过的网络可以是多种的,如电话网、局域 网和广域网。 数据链路层的模型 链路层 应用层 运输层 网络层 物理层 链路层 应用层 运输层 网络层 物理层 链路层 网络层 物理层 链路层 网络层 物理层 链路层 网络层 物理层 R1R2R3 H1H2 从层次上来看数据的流动 n主机H1和

2、H2都有完整的五层协议栈,但路由器的协议栈只 有下面三层。 n数据进入路由器后先从物理层上到网络层,在路由表中找到 下一跳的地址后,再下到物理层转发出去。 n因此,数据从H1到H2需要在路径中各节点的协议栈向上和 向下流动多次。 数据链路层的模型 数据链路层的模型 链路层 应用层 运输层 网络层 物理层 链路层 应用层 运输层 网络层 物理层 链路层 网络层 物理层 链路层 网络层 物理层 链路层 网络层 物理层 R1R2R3 H1H2 仅从数据链路层观察帧的流动 n可以想象数据就是在数据链路层从左向右沿水平方 向传送。 n通过这样的链路:H1的链路层,R1的链路层,R2 的链路层,R3的链路

3、层,H2的链路层。 n数据链路层的任务:把网络层交下来的数据 发送到链路上,以及把接收到的帧中的数据 取出来并交给网络层。 网络层 101000110 数据链路 结点A 比特流 IP数据报 数据 链路层 物理层 帧 装入 101000110 IP数据报 帧 结点B 取出 链路层 应用层 运输层 网络层 物理层 链路层 应用层 运输层 网络层 物理层 链路层 网络层 物理层 链路层 网络层 物理层 链路层 网络层 物理层 R1R2R3 H1H2 当两个主机进行通信时,应用进程要把数据从应用 层逐层往下传,经过运输层再到网络层,组成IP数 据报,再往下传到数据链路层组成帧,然后在经物 理层形成比特

4、流进入通信网络。 两个主机进行通信的过程 链路层 应用层 运输层 网络层 物理层 链路层 应用层 运输层 网络层 物理层 链路层 网络层 物理层 链路层 网络层 物理层 链路层 网络层 物理层 R1R2R3 H1H2 数据传输的路径可能有许多路由器。每一个路由器 的物理层在收到比特流后,先由数据链路层将比特 流恢复成帧,再从帧中提取出IP数据报。路由器在 转发IP数据报时,又再把它封装成另一个新的帧, 然后交给物理层发送给下一个路由器。 两个主机进行通信的过程 链路层 应用层 运输层 网络层 物理层 链路层 应用层 运输层 网络层 物理层 链路层 网络层 物理层 链路层 网络层 物理层 链路层

5、 网络层 物理层 R1R2R3 H1H2 经过许多路由器的转发,数据最后到达了目 的主机的物理层。以后目的主机的数据链路 层提取出IP数据报,再逐层向上传,最后由 应用层交给远程的应用进程。 两个主机进行通信的过程 n现在为了把主要精力放在数据链路层的协议 上,采用一个简化的模型:在该模型中,不 管在哪一段链路上通信,都看成是结点和结 点的通信,而每个结点只有三层。 网络层 101000110 数据链路 结点A 比特流 IP数据报 数据 链路层 物理层 帧 装入 101000110 IP数据报 帧 结点B 取出 数据链路层的主要功能: n结点A的数据链路层把网络层交下来的IP数据报封 装成帧。

6、 n结点A把封装好的帧发送给结点B的数据链路层。 n若结点B的数据链路层收到的帧无差错,则从收到 的帧中提取出数据报上交给网络层,否则丢弃这 个帧。 网络层 101000110 数据链路 结点A 比特流 IP数据报 数据 链路层 物理层 帧 装入 101000110 IP数据报 帧 结点B 取出 链路与数据链路的区别: n链路(link) 是一条无源的点到点的物理线路段 ,中间没有任何其他的交换结点。 n一条链路只是一条路径的一个组成部分。 n数据链路(data link) 除了物理线路外,还必 须有通信协议来控制这些数据的传输。若把实 现这些协议的硬件和软件加到链路上,就构成 了数据链路。

7、n现在最常用的方法是使用适配器(即网卡)来实现 这些协议的硬件和软件。 n一般的适配器都包括了数据链路层和物理层这两层 的功能。 数据链路层像个数字管道 n常常在两个对等的数据链路层之间画出 一个数字管道,而在这条数字管道上传 输的数据单位是帧。 n早期的数据通信协议曾叫作通信规程 (procedure)。因此在数据链路层,规程 和协议是同义语。 结点结点 帧帧 数据链路层的七个主要功能 n链路管理:当网络中的两个结点要进行 通信时,数据的发送方必须确认接收方 是否已经处在准备接收的状态。 n通信的双方必须要交换一些必要的信息,即 必须先建立一条数据链路。 n在传输数据时要维持数据链路,而在通

8、信完 毕时要释放数据链路。 n数据链路的建立、维持和释放就叫做链路管 理。 n帧定界:在数据链路层,数据的传送单位 是帧。数据一帧一帧地传送,就可以在出 现差错时,将有差错的帧在重传一次,而 避免了将全部数据都进行重传。 n帧定界是指接收方应当能从收到的比特流中准 确地区分出一帧的开始和结束在什么地方。 n帧定界也可以称为帧同步。 n流量控制:发送方发送数据的速率必须使 接收方来得及接收。当接收方来不及接收 时,就必须及时控制发送方发送数据的速 率。这种功能称作流量控制。 n差错控制:在计算机通信中,一般都要求 有极低的比特差错率。为此,广泛地采用 了编码技术。 n编码技术有两大类。一类是前向

9、纠错,即 接收方收到有差错的数据帧时,能够自动 将差错改正过来。这种方法的开销较大, 不适合计算机通信。另一类是差错检测, 即接收方可以检测出收到的帧有差错(但 并不知道是哪几个比特错了)。 n当检测出有差错的帧时就立即将它丢弃, 但接下去有两种选择: n方法一不进行任何处理(由高层进行处理 ), n方法二则是由数据链路层负责重传丢弃的 帧。 n将数据和控制信息区分开:在许多情况下 ,数据和控制信息处于同一帧中。因此一 定要有相应的措施使接收方能够将它们区 分开。 n寻址:必须保证每一帧都能送到正确的目 的站。接收方也应知道发送方的地址。 n透明传输:不管所传数据是什么样的比特 组合,都应当能

10、够在链路上传送。当所传 数据中的比特组合恰巧出现了与某一个控 制信息完全一样时,必须有可靠的措施, 使接收方不会将这种比特组合的数据误认 为是某种控制信息。 三个基本问题 (1) 帧定界:确定帧开始和结束的位置。 (2) 透明传输:数据链路层协议不能禁止传 输某种特殊的比特组合。 (3) 差错控制 :当接收端检测出有差错的帧 时,根据协议的不同,可采用不同的处理 方法。 1. 帧定界 n帧定界就是确定帧的界限。在发送帧时,发送 端的数据链路层在帧的前后都各加入事先商定 好的标记,使得接收端能识别帧的开始和结束 ,以及帧中数据部分的准确位置。 帧结束 帧首部 IP 数据报 帧的数据部分帧尾部 M

11、TU 数据链路层的帧长 开始 发送 帧开始 1.帧定界 n网络层的IP数据报传送到数据链路层就成为帧 的数据部分。 n在帧的数据部分的前面和后面分别添加上首部 和尾部,构成了一个完整的帧。 帧结束 帧首部 IP 数据报 帧的数据部分帧尾部 MTU 数据链路层的帧长 开始 发送 帧开始 1.帧定界 n帧长就等于数据部分的长度加上帧首部和尾部 的长度。 n首部和尾部主要作用是进行帧定界,但还可包 括一些其他控制信息。 帧结束 帧首部 IP 数据报 帧的数据部分帧尾部 MTU 数据链路层的帧长 开始 发送 帧开始 1.帧定界 n在发送数据帧时,是从帧首部开始发送。数据 链路层的协议需明确规定帧首部和

12、尾部的格式 n协议还规定了帧的数据部分的长度上限最大 传送单元MTU。 帧结束 帧首部 IP 数据报 帧的数据部分帧尾部 MTU 数据链路层的帧长 开始 发送 帧开始 用控制字符进行帧定界 SOH 装在帧中的数据部分 帧 帧开始符 帧结束符 发送在前 EOT n当数据是由可打印的ASCII码组成的文本文件时, 帧定界可使用帧定界字符。 n控制字符SOH放在一帧的最前面,表示帧的首部 开始;另一个控制字符EOT表示帧的结束。 n注意:字符SOH和字符EOT的十六进制编码分别 是01和04,而不是由三个字符组成的。 用控制字符进行帧定界 对帧进行定界是非常必要的: n当物理层采用异步传送时(一次只

13、传送一个 字符),接收端物理层是断断续续的接收到 单个的字符,而不是一次就收到一个完整的 帧。 n利用帧定界的控制字符就可以准确界定帧开 始和结束的位置。 用控制字符进行帧定界 n当物理层采用同步传送时,发送端连续地发送数 据帧。接收端要利用帧定界的控制字符从连续的 比特流中找出帧开始和结束的位置。 n假定发送端在没有发送完一个帧时突然出故障, 但随后很快恢复正常,于是重新发送刚才未发完 的帧(从头开始发送)。由于使用了帧定界字符,在 接收端就知道前面收到的数据是不完整的帧(只有 SOH没有EOT),必须丢弃。而后面收到的数据有 明确的帧定界符(SOH和EOT),因此这是个完整 的帧,应当收下

14、。 2.透明传输 n由于帧的开始和结束的标记是使用专门指明的控 制字符,因此所传输的数据中任何一个字符一定 不允许和用作帧定界的控制字符一样,否则就会 出现帧定界的错误。 n 当传送的帧是用ASCII文本文件组成的时,其数 据部分显然不会出现像SOH和EOT这样的帧定界 字符。 n所以键盘上输入的任何字符都可放在这样的帧中 传输过去,这样的传输就是透明传输。 SOHEOT 出现了“EOT”(04)16 被接收端当作无效帧而丢弃被接收端 误认为是一个帧 数据部分 EOT 完整的帧 发送 在前 n当数据部分是非ASCII码的文本文件时(如二进制 代码的计算机程序或图像等),如果数据中的某 个字节的

15、二进制代码恰好和SOH或EOT一样,数 据链路层就会错误地“找到帧的边界”,把部分帧收 下(误认为是个完整的帧),而把剩下的那部分 丢弃(这部分找不到帧定界符SOH)。 解决透明传输问题 n发送端的数据链路层在数据中出现控制字符“SOH” 或“EOT”的前面插入一个转义字符“ESC”(其十六进 制编码是 1B)。将其转换为另一个字符,而这个字 符不会被错误的解释为控制字符。这种方法成为 字节填充(byte stuffing)。 n接收端的数据链路层在将数据上交网络层之前删 除插入的转义字符。 n如果转义字符也出现数据当中,那么应在转义字 符前面插入一个转义字符。当接收端收到连续的 两个转义字符

16、时,就删除其中前面的一个。 SOH SOHEOTSOHESC ESCEOTESCSOHESCESCESCSOH 原始数据 EOT EOT 经过字节填充后发送的数据 字节填充字节填充字节填充字节填充 发送 在前 帧开始符帧结束符 用字节填充法解决透明传输的问题 SOH 3.差错检测 n现实的通信链路不理想,比特在传输过程中 可能出现差错:1变成0或0变成1. n误码率BER 在一定时间内,传输错误的比 特占所传输的比特总数的比率。 n例:误码率为10-10时,表示平均传送1010个 比特就会出现一个比特的差错。 n误码率与信噪比成反比例关系。 n为保证数据传输的可靠性,在计算机网络传 输数据时,都必须采用各种差错检测措施。 循环冗余检验 n在数据链路层传送的帧中,广泛使用了 循环冗余检验 CRC 的检错技术。 n假设待传送的数据 M = 101001(共k bit )。我们在M的后面再添加供差错检测 用的 n bit 冗余码一起发送(即一共发送 k+n个比特)。 n bit冗余码的求解方法: n用二进制的模 2 运算进行 2n 乘 M 的运算 ,这

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号