数据链路的建立和拆除
? 建立数据链路就是在两个或多个网络实体间建
立一条逻辑通道。
? 过程:发方网络层向其数据链路层发出链接请
求,要求数据链路层为它建立一条链接。通过
收方数据链路层向其网络层发出链接指示原语,
通知网络层,有一链接请求出现。收方网络层
以链接响应原语应答链接指示原语。通过发方
数据链路层向其发方网络层发出链接确认原语,
使发方获悉请求是否被成功执行,若不成功,
是何原因。
帧传输
? 物理层以比特为单位进行数据,并不关
心其意义和结构。
? 数据链路层将比特组合成数据链路协议
数据单元,通常称为帧( frame)。 即数
据链路层以帧为单位进行数据传输。
? 帧是具有一定长度和格式的信息块,一
般由一些字段和标志组成。
将位流分成帧的四种常用方法
? 字符计数法;
? 带填充字符的首尾界符法;
? 带填充位的首尾标志法;
? 物理层编码违例法 。
差错与流量控制( 重传机制)
? 为保证发送方发出的所有帧都正确有序
地交付给目标机网络层,需要启动确认
重传机制,由收受方向发送方提供有关
接收情况的反馈信息。如果发送方收到
肯定确认,则知道此帧已正确到达;若
收到否定确认,则意味着需重传此帧。
差错与流量控制( 定时器)
? 为防止丟失帧所引起的错误,需设置定
时器。当发方等待足够的时间还未收到
接收方发回的确认帧,则可能是所传帧
或者是确认帧丟失,解决的方法是重传
此帧。
? 多次传送同一帧的危险是收方可能收到
重复帧,因而必须采取措施保证每帧最
终交付给目标网络层一次。
差错与流量控制( 流量控制)
? 流量控制:数据链路层发送源控制链路
上的数据流量,保证发送与接收速度匹
配,防止出现发送速度超过接收能力的
现象,以免丟失数据。
? 流量控制方法的基本原理都是相同的,
同样需要启用反馈机制,使发方直接或
是间接地获得收方指示的发送时机。在
未得到允许前,禁止发出帧。
数据链路管理
? 提供各种服务质量参数,包括检测到不
可纠正错误的平均时间、漏检差错率、
传输延迟和吞吐量。
差错控制技术
两种基本策略:
? 在每一个要发送的数据块上附加足够的冗余位,
使接收方能够推导出已发出的数据应该是什么。
? 加入冗余位,使接收方知道有差错存在,但并
不知道错在哪里,由接收方请求重传出错数据
以消除差错
? 这两种方法的共同点都是通过附加冗余信息来
发现或纠正错误。第一种方法有发现并纠正错
误的能力,应采用纠错编码。后一种方法则采
用检错编码。
流量控制技术
原理:
如果发送方是在了解接收方情况的基础上有制
约地发送信息帧,或者说发送方是在直接或间
接获得接收方允许的情况下发送信息,那么就
可以避免由于接收方无力处理新到的数据而造
成的数据丟失和错乱,达到流量控制的目的。
而接收方可用缓冲区的大小,能帮助发送方决
定何时发送数据,可连续发送多少信息帧,这
同样能达到流量控制的目的。
应答式停等流量控制方法
? 发送方送一信息帧后, 若接收方发回的是确认
帧, 则发送方继续发送下一帧数据;
? 若接收方发回否定应答帧, 则发送方重发已发
过的信息, 直至收到确认应答为止 。
? 为防止出现由于发送方发出的信息帧或接收方
发回的确认丟失而引起的死锁现象, 发送方在
发出信息帧的同时应启动定时装置, 若超过某
一预先约定的时间, 仍没有收到接收方发回的
确认应答, 则发送方重发该信息帧, 直到收到
应答, 才停止重发该信息帧 。
应答式停等流量控制方法
重复帧的处理:
如果,信息帧传送是正确的,但由于丟
失应答帧而引起超时中断,则接收方会
收到内容相同的二帧,称后一帧为重复
帧。此时,接收方应根据发送帧编号丟
弃重复帧。
预约缓冲区法
? 由发送方在发送信息前,向接收方预约
所到信息可用的缓冲区,并根据预约缓
冲的容量发送数据。若缓冲区用完,则
暂停发送,等待接收方再次分配缓冲区
后继续发送。
滑动窗口控制法
主要思想:
任何时刻,发送方都保持一个连续的帧
序号表,对应于已发送但还未收到确认
的帧,称之为发送窗口。同时,接收方
也保持一个帧序号表,对应于允许接收
的帧,称之为接收窗口。表的上限值和
下限值分别称为窗口的上沿和下沿,而
上、下沿的间距则称为窗口尺寸 W。
滑动窗口控制法
? 发送窗口尺寸的选择除要考虑发送需要
及信道效率外,还受到接收方缓冲区容
量的限制。
? 接收方窗口尺寸的选择主要受接收能力
的限制。
滑动窗口控制法
? 对发送方而言,只有序号落在发送窗口内的帧
才允许发送;
? 对接收方而言,只有序号落在接收窗口内的帧,
才允许接收。
? 当一新的分组从网络层到达数据链路层时,由
数据链路层组成帧,并赋予最大发送帧序号,
准备发送。发送方每发出一帧,其窗口上沿值
加 1;每收到一个确认,窗口下沿值加 1。以此
保持发送窗口内始终是一组已经发送,但还未
及确认的帧的序号表。
滑动窗口控制法
? 因为在发送窗口内的帧最终有可能在传输中丟
失或损坏,所以发送方必须在缓冲区中保存所
有这些帧以备重传。
? 即当发送窗口尺寸 W=n时,发送方需要能存放
n个帧的缓冲区容量保存这些未确认帧。
? 若发送方已连续发送 n帧而仍未收到应答,则
必须强行关闭发送,直至有应答返回,并空出
最少能存一帧的缓冲区容量时为止 。
滑动窗口控制法
? 接收窗口,其窗口始终按窗口尺寸大小
张开,窗口内对应允许接收的帧的序号,
任何落在窗口外的帧都不加说明地被废
弃。
? 当收到序号等于窗口下沿的帧时,将其
交给网络层,且产生一个确认。窗口上、
下沿同时向前滑动一个序号。
网络层的功能
? 网络层关心的是通信子网的运行控制,
主要解决如何把网络协议数据单元(通
常我们称为分组)从源传送到目标。
? 需要在通信子网中进行路由选择。
网络层服务
网络层服务要达到下列三个目标:
( 1) 服务必须与通信子网技术无关 。
( 2) 传输层必须与子网的编号类型及拓扑
结构相隔离 。
( 3) 提供给传输层的网络地址必须使用一
致的编号模式 。
路由算法
? 路由算法:源主机到目标主机选择路径 。
? 路由算法可分成两大类:静态路由算法
和动态路由算法,或称为非自适应算法
和自适应算法。静态算法是建立链接时
预先算出的,无法反映网络中的动态变
化因素。而动态算法试图根据网络当前
流量及拓扑结构等的变化做出路径选择 。
拥塞控制
? 当子网中出现太多的包时,性能就会下
降,这样的情况称为拥塞。
? 当子网中的包数在它的传送容量之内,
他们将被投递(除非有很少的传输错误
包),并且投递的包数与发送的包数成
正比。
? 当信息最增长过快超过路由器处理能力
时,他们开始丟失包。在过高的信息量
下,网络将完全崩溃。
造成拥塞的多种因素
? 没有足够的内存:假设突然从多条线路上输入数据流
而又要在同一条输出线上发出,就需要建立输出队列。
如果没有足够的内存来存储它们,包就将丟失。靠增
长内存的办法,只能有限度地改善这一情况。
? 较慢的处理器:如果路由器的 CPU处理速度太慢以致
无法尽快完成要求它们做的日常工作(排队缓冲区,
更新路由表等),那么,即使有多余的线路容量,也
可能使队列饱和。
? 低带宽线路:更换处理器但不更新线路使瓶颈的位置
移到线路上 ;
拥塞控制的基本方法
? 解决拥塞的方法分为两大类:开环和闭环 。
? 开环解决方法试图通过良好的设计, 使人们确
信问题不会发生 。 一旦系统开始运行时, 就不
能再进行纠正 。 开环控制方法制定一个进程表,
据此决定什么时候接收新信息, 什么时候放弃
包及放弃哪个包 。 所有这些都没有考虑网络中
的当前状态 。
拥塞控制的基本方法
? 闭环控制方法是建立在反馈概念的基础
上, 它允许问题出现并设法解决 。 其实
现步骤如下:
① 监视系统, 探测什么时候什么地方发生
拥塞 。
② 把这些信息送到能采取措施的地方 。
③ 调整系统操作以解决这个问题 。
传输层
? 传输层是第一个端对端,也就是主机到
主机的层次。
? 有了运输层后,高层用户就可利用运输
层的服务直接进行端到端的数据传输,
从而不必知道通信子网的存在。
运输层功能
? 运输层在高层用户请示建立一条运输虚通信连接时就
通过网络层在通信子网中建立一条独立的网络连接。
若需要较高的吞吐量,运输层也可以建立多条网络连
接来支持一条运输连接,这就是分流( splitting)。 或
者,为了节省费用,运输层也可以将多个运输通信合
用一条网络连接,称为复用( multiplexing)。
? 运输层还要处理端到端的差错控制和流量控制的问题。
? 概括地说,运输层为上层用户提供端对端的透明优化
的数据传输服务。
传输层的两种类型服务
? 面向连接的传输层服务很像面向连接的
网络层服务,它们都有三个阶段:建立
连接,数据传输,释放连接;同样也有
寻址和流控问题。
? 面向无连接的服务在传输层和网络层也
是相似的。
会话层
? 会话层允许不同主机上各种进程之间进
行会话。运输层是主机到主机的层次,
而会话层是进程到进程之间的层次。
? 会话层组织和同步进程间的对话。它所
管理的对话允许是双向同时进行,或任
何时刻只能一个方向进行。在后一种场
合下,会话层还提供同步服务。
会话层为何提供同步服务
? 若两台机器进程间进行需数小时的大型
文件传输,而通信子网故障率又较高,
对运输层来说,每次传输中途失败后,
都不得不重新传输这个文件。会话层提
供了在数据流中插入同步的机制,在每
次网络出现故障后可以仅重传最近一个
同步点以后的数据,而不必从头开始。
表示层
? 表示层为上层用户提供共同需要的数据或信息语法表
示变换。 大多数用户间并非仅交换随机的比特数据,
而是要交换诸如人名、日期、货币数量和商业凭证之
类的信息。它们是通过字符串、整型数、浮点数以及
由简单类型合成的各种数据结构来表示的。不同的机
器采用不同的编码方法来表示这些数据类型和数据结
构(如 ASCII或 EBCDIC,反码或补码等)。为了让采
用不同编码方法的计算机通信交换后能相互理解数据
的值,可以采用抽象的标准方法来定义数据结构,并
采用标准的编码表示形式。管理这些抽象的数据结构,
并把计算机内部的表示形式转换成网络通信中采用的
标准表示形式都是由表示层来完成的。
表示层
? 数据压缩和加密也是表示层可提供的表
示变换功能。 数据压缩可用来减少传输
的比特数,从而节省经费。数据加密可
防止敌意的窃听和篡改。
应用层
? 不同的应用层为特定类型的网络应用提
供访问网络服务的手段和窗口,代表直
接支持用户应用的服务,如文件传送、
数据库访问、电子邮件等。
层间服务
? 在计算机网络体系层次结构中,相邻层
间称为接口,在接口处由低层向高层提
供服务。即在 n+1 层和 n层接口处,由 n
层向 n+1层提供服务。
? n层是服务的提供者,而 n+1 层则是服务
的使用者。
? 服务是通过一组服务原语来执行的。
服务原语
( 1)请求( request),由服务用户发往服务提供者,请
求它完成某项工作,如发送数据。
( 2)指示( indication),由服务提供者发往服务用户,
指示发生了某些事件。比如说,接收到一个远地送来
的数据。这些事件往往是由服务提供者远地对等实体
应远地服务用户请求采取某些动作而发生的。
( 3)响应( response),由服务用户发往服务提供者,
作为对前面发生的指示的响应。
( 4)证实( confirm),由服务提供者发往服务用户,作
为对前面发生的请求的证实。
使用服务原语建立连接
( 1)连接请求:呼叫方服务用户请求建立一个连接。
( 2)连接指示:连接请求通过服务提供者的虚通信传到
被叫方后,服务提供者向被叫方服务用户指示有建立
连接的请求。
( 3)连接响应:若被叫方服务用户准备建立连接,则通
过此原语告诉本方服务提供者。
( 4)连接证实:呼叫方服务提供者通过虚通信得知被叫
方同意建立连接后,由此原语告知呼叫方服务用户。
通过以上四步就建立了一条呼叫方与被呼叫方间的连接,
可在其中传输数据。
使用服务原语传送数据
5)数据请求:呼叫方服务用户通过此原语请求
本方服务提供者将数据送给被叫方。
( 6)数据指示:被叫方服务提供者收到对方送
来的数据后通知服务用户。( 5)和( 6)步可
反复进行。
( 7)断连请求:任何一方用户可通过此原语请
求释放连接,由服务提供者传至对等方。
( 8)断连指示:对等方服务提供者通过此原语
告诉本方服务用户释放连接。
有证实和非证实的服务
? 连接服务是证实的服务,要使用请求、指示、
响应和证实四类原语。证实的服务需在对等方
间来一次,花费较多的时间,但增加了可靠性。
建立连接的服务通常都是证实的服务,被叫方
既可同意建立连接,也可以拒绝建立连接。
? 数据传送服务和断连服务都是非证实的。只使
用请求和指示两类原语。数据传送以及断开连
接服务根据需要可采用证实的服务或非证实的
服务方式。
Internet协议模型
? Internet协议参考模型就是 TCP/IP模型。
? TCP是传输控制协议,IP是网际协议。
TCP/IP模型由四个层次组成
? 应用层:向用户提供一组常用的应用程序, 如电子邮
件, 文件传输等 。
? 传输层 ( TCP层 ),提供可靠的端到端数据传输, 确
保源主机传送分组到达并正确到达目标主机 。
? 网际层 ( IP层 ),负责相邻计算之间 ( 即点到点 ) 通
信, 包括处理来自传输层的发送分组请求, 检查并转
发数据报, 并处理与此相关的路径选择, 流量控制及
拥塞控制等问题 。
? 网络接口层:负责通过网络发送 IP数据报;或者接收
来自网络物理层的帧, 转为 IP数据报, 交给 IP层 。