第 3 章 网络体系结构与网络协议
-
Upload
camden-britt -
Category
Documents
-
view
165 -
download
0
description
Transcript of 第 3 章 网络体系结构与网络协议
3
上海师范大学商学院
本章学习要求:
理解:协议、层次、接口与网络体系结构的概念及分层思想掌握:网络体系结构的层次化研究方法理解和掌握: OSI 参考模型及各层的基本功能理解和掌握: TCP/IP 参考模型及各层的基本功能了解: OSI 参考模型与 TCP/IP 参考模型的比较
6
上海师范大学商学院
社会上存在的邮政系统
邮局 A 服务业务
邮局转送业务
通信者活动
发信者
运输部门的邮件运输业务
信件打包送运输部门
路由选择发送邮包
阅读信件
投递信件分拣信件
分发信件邮包拆包
转送邮局接收邮包
收信者
通信者活动
邮局 B 服务业务
邮局转送业务
书写信件贴邮票送邮箱
收集信件盖邮戳
分拣信件
用户间约定
用户 / 邮局约定
邮局 / 运输部门约定
运输部门间约定
信
邮包
邮车
邮包
邮局间约定
信
图 3.1 邮政系统的分层模型
用户子系统
邮局子系统
运输子系统
7
上海师范大学商学院
1. 网络协议的概念在计算机网络中为数据交换而建立的规则、标准或约定的集合称为网络协议 (Network Protocol) ;网络协议的三要素 语法:即用户数据与控制信息的结构与格式;包括数据
格式、编码及信号电平等。 语义:指需要发出何种控制信息,完成何种动作以及做
出何种响应 时序:指事件的执行顺序,涉及速度匹配和排序 , 即对
事件实现顺序的详细说明。如速度匹配、排序等“ 语义”规定通信双方准备“讲什么”,“语法”规定通信双方“如何讲”,“时序”规定通信双方的“应答关系”
8
上海师范大学商学院
2 、协议、层次、接口与体系结构的概念
协议( protocol) :一种通信规约层次( layer )接口( interface ) 体系结构( architecture )
9
上海师范大学商学院
(1) 层次( layer )
层次是人们处理复杂问题的基本方法,将要实现的功能分配在不同层次中,对每个层次要完成的服务及服务要求都有明确规定;不同的系统分成相同的层次,不同系统的最低层之间存在着“物理”通信,不同系统的对等层次之间存在着“虚拟”通信;对不同系统的对等层之间的通信有明确的通信规定;高层使用低层提供的服务时,并不需要知道低层服务的具体实现方法。
10
上海师范大学商学院
(2) 接口( interface )
接口是同一结点内相邻层之间交换信息的连接点 ;
同一结点的相邻层之间存在明确规定的接口,低层向高层通过接口提供服务 ;
只要接口条件不变、低层功能不变,低层功能的实现方法与技术变化不会影响整个系统。
11
上海师范大学商学院
网络体系结构( network architecture )
将计算机互联的功能划分成有明确定义的层次,并规定
同层实体通讯的协议和邻层间的接口服务。这种层和协
议的集合称之为网络体系结构;
计算机网络体系结构是网络中分层模型以及各层功能的
精确定义。
实现 (implementation) 是遵循这种体系结构的前提下用何
种硬件或软件完成这些功能的问题。体系结构是抽象的,实现是指能运行的硬件和软件。
12
上海师范大学商学院
计算机网络的体系结构及其划分所遵循的原则
网络体系结构为什么要采用分层次的结构?网络体系结构采用分层次的结构,是因为“分层”
可以把庞大而复杂的问题转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。
主机 B 主机 A
网
14
上海师范大学商学院
层次模型
第 N层
第 N+1 层
服务原语
接口 (SAP)
N 层实体
N+1 层实体
接口 (SAP)
N+1 层协议
N 层协议 N 层实体
N+1 层实体
服务原语
服务用户
服务提供者
15
上海师范大学商学院
实体 在每一层中,任何可以发送或接收信息的硬件或软件进程称为实体。
服务 在网络分层模型中,每一层为相邻的上一层所提供的功能称为服务。 第 N层向第 N +1 层提供服务,第 N +1 层使用第 N层所提供的服
务; 第 N +1 层的实体为第 N层的服务用户,第 N层的实体则为服务提
供者。接口 在同一系统中,相邻两层的实体交换信息的地方称为接口或服务访
问点 SAP(Service Access Point) 。第 N层向第 N +1 层提供服务是通过第 N层与第 N +1 层之间的接口来实现的。
在网络中 对等层之间的约定称为协议,它是网络中用于规定信息的格式以及
如何发送和接收信息的一套规则,是平行对等关系。 相邻层之间的约定称为接口,它是网络中上下层之间传递数据的约
定,是垂直调用关系。
16
上海师范大学商学院
协议与服务有何区别?有何关系?为进行网络中的数据交换而建立的规则、标准或约定称为网络协议,或简称为协议。网络协议是计算机网络的不可缺少的组成部分。 协议是控制两个对等实体(或多个实体)进行通信的规则的集合。协议的语法方面的规则定义了所交换的信息的格式,而协议的语义方面的规则定义了发送者或接收者所要完成的操作。 在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的服务。 协议和服务在概念上是很不一样的。 首先,协议的实现保证了能够向上一层提供服务。使用本层服务的实体只能看见服务而无法看见下面的协议。下面的协议对上面的实体是透明的。 其次,协议是“水平的”,即协议是控制对等实体间通信的规则。但服务是“垂直的”,即服务是由下层向上层通过层接口提供的。另外,并非在一层内完成的全部功能都称为服务,只有那些能够被高一层实体“看得见”的功能才能称之为“服务”。本层的服务用户只能看见服务而无法看见下面的协议。
17
上海师范大学商学院
划分层次的概念举例
主机 1 向主机 2 通过网络发送文件。可以将要做的工作进行如下的划分。第一类工作与传送文件直接有关。
确信对方已做好接收和存储文件的准备。 双方协调好一致的文件格式。
两个主机将文件传送模块作为最高的一层 。剩下的工作由下面的模块负责。
18
上海师范大学商学院
两个主机交换文件
文件传送模块
主机 1 主机 2
文件传送模块
只看这两个文件传送模块好像文件及文件传送命令
是按照水平方向的虚线传送的
把文件交给下层模块进行发送
把收到的文件交给上层模块
19
上海师范大学商学院
再设计一个通信服务模块
文件传送模块
主机 1 主机 2
文件传送模块只看这两个通信服务模块好像可直接把文件可靠地传送到对方
把文件交给下层模块进行发送
把收到的文件交给上层模块
通信服务模块 通信服务模块
20
上海师范大学商学院
再设计一个网络接入模块
文件传送模块
主机 1 主机 2
文件传送模块
通信服务模块 通信服务模块
网络接入模块 网络接入模块通信网络
网络接口
网络接口
网络接入模块负责做与网络接口细节有关的工作例如,规定传输的帧格式,帧的最大长度等。
21
上海师范大学商学院
计算机网络的体系结构划分所遵循的原则是什么 (1) 每层的功能应是明确的,并且是相互独立的。当某一层的具体实现方法更新时,只要保持上、下层的接口不变,便不会对邻层产生影响。
(2) 层间接口必须清晰,跨越接口的信息量应尽可能少。
(3) 层数应适中。若层数太少,则造成每一层的协议太复杂;若层数太多,则体系结构过于复杂,使描述和实现各层功能变得困难。
(4) 不同的系统分成相同的层次,对等层次具有相同的功能;
22
上海师范大学商学院
3 、计算机网络层次结构的优点
(1) 各层之间相互独立 (2) 灵活性好 (3) 各层采用最合适的技术实现而不影响其他层(4) 易于实现与维护(5) 分层有利于促进标准化工作
23
上海师范大学商学院
网络体系结构的国际标准网络体系结构标准化建设经历了两个阶段 第一阶段是各计算机制造厂商网络体系结构标准化; 第二阶段是国际网络体系结构标准化。各公司推出的网络体系结构 1974年, IBM公司,系统网络体系结构 (System Network Arc
hitecture , SNA) 。 1975年,美国数字网络设备 DEC公司发布数字网络体系结构
(Digital Network Architecture , DNA) 标准。 1976年, Univac公司提出了分布式通信体系结构 (Distributed
Communication Architecture , DCA) 标准。 Burroughs公司的 BNA 标准等。
24
上海师范大学商学院
网络体系结构的国际标准
1984年,国际标准化组织 (ISO)颁布了“开放系统互联参考模型”,即 OSI/RM (Open System Interconnect Reference Model) ,定义了网络互联的 7 层框架。法律上的 (de jure)国际标准 OSI 并没有得到市场的认可。
因特网上使用的 TCP/IP 协议及其体系结构成为业界公认的事实标准。是非国际标准 TCP/IP 现在获得了最广泛的应用。TCP/IP 常被称为事实上的 (de facto) 国际标准。
26
上海师范大学商学院
3.2.1 OSI 参考模型的基本概念
在制定计算机网络标准方面,起着很大作用的两大国际组织:国际电报与电话咨询委员会( CCITT )与国际标准化组织( ISO )CCITT 与 ISO 的工作领域: CCITT 主要考虑通信标准的制定, ISO 主要考虑信息处理与网络体系结构。
27
上海师范大学商学院
OSI 标准中开放的概念
OSI 中的“开放”是指只要遵循 OSI 标准,一个系统就可以与位于世界任何地方、同样遵循同一标准的其它任何系统进行通信;OSI 标准采用三级抽象: 体系结构( architecture) 服务定义( service definition) 协议说明( protocol specification)
29
上海师范大学商学院
服务定义
详细说明各层提供的服务;某层的服务是该层及其以下各层的一种能力;低层的服务通过接口向上一层提供 ;
各层提供的服务与这些服务是如何实现无关;定义各层之间的接口与各层使用的原语,但不涉及接口的具体实现。
30
上海师范大学商学院
3.2.2 OSI 参考模型的结构
ISO 在制定 OSI 参考模型是对层次划分的主要原则是 :网络中的所有结点都具有相同的层次;不同结点的同等层具有相同功能;同一结点内相邻层之间通过接口通信;每层可使用下层提供的服务,并向其上层提供服务;不同结点的同等层通过协议实现对等层之间的通信。
31
上海师范大学商学院
应 用 层
表 示 层
会 话 层
传 输 层
网 络 层
数据链路层
物 理 层
传输介质 传输介质 传输介质
主机
CCP
网 络 层
数据链路层
物 理 层
CCP CCP
网 络 层
数据链路层
物 理 层
CCP
应 用 层
表 示 层
会 话 层
传 输 层
网 络 层
数据链路层
物 理 层
主机
3.2.3 OSI 参考模型的结构
物理传输媒体
传输层协议网络层协议链路层协议
物理层协议
表示层协议
会话层协议
应用层协议
PPDU
APDU
SPDU
报文分组
帧
比特流
APDU
PPDU
SPDU
报文
分组帧
比特流
32
上海师范大学商学院
OSI 模型的特点 OSI 模型本身不是网络体系结构的全部内容,其最重要的贡献是将
服务、接口、协议 3 个概念区分清楚; 它不是基于某个特定的协议集而设计的,因而它更具有通用性; OSI 模型在协议实现方面存在某些不足,原因是 OSI 模型太复杂; 它对今后计算机网络技术朝标准化、规范化方向发展有指导意义。
33
上海师范大学商学院
3.2.3 OSI 参考模型各层的功能
物理层( Physical Layer )数据链路层( Data Link Layer )网络层( Network Layer )传输层( Transport Layer )会话层( Session Layer )表示层( Presentation Layer )应用层( Application Layer )
34
上海师范大学商学院
1. 物理层的主要功能
位于最底层,直接与物理信道相连。其功能是对上层屏蔽传输媒介的区别,利用传输介质为通信的网络结点之间建立、管理和释放物理连接; 规定通信双方相互连接的机械、电气、功能和规程特性。在数据终端设备 (DTE) 和数据通信设备 (DCE) 之间完成物理连接
实现比特流的透明传输,为数据链路层提供数据传输服务;物理层的数据传输单元是比特 (bit) 。
35
上海师范大学商学院
1. 物理层
物理连接的建立、维护和释放:当一个数据链路实体请求与另一个数据链路实体之间建立物理连接时,物理层应该能为它们建立相应的物理连接。在通信时,要维持这个连接。通信结束,要立即释放连接。二进制位流的传输:在物理连接上一般都采用串行传输,即一个一个比特按照时间顺序传输。串行传输可采用同步传输方式,也可采用异步传输方式。物理层的管理:完成物理层的某些管理事务,如发送和接收比特流、异常情况处理、故障情况报告等 。
36
上海师范大学商学院
1. 物理层——特性
机械特性 规定接口所用的接线器的形状、尺寸、引线数目和排列方式,传输介质的参数和特性等。
电气特性 主要考虑信号波形的参数、电压和阻抗的大小、编码方式等。
功能特性 对接口连线的功能给出确切的定义,如数据线、控制线、定时线和
地线等。规程特性 规定了使用接口线实现数据传输的操作过程。
常用的标准有美国电子工业协会 EIA 的 RS-232-C 、 RS-366-A 、 RS-449 ,国际电报电话咨询委员会 CCITT 建议的 X2.1 , (美国 )电气和电子工程师学会 IEEE 802 系列标准。
37
上海师范大学商学院
1. 物理层——特性
传输介质 有线传输介质有双绞线、同轴电缆和光纤;无线传输介质有无线电波、红外线和激光。
连接器和插座 RJ-45插座和 RJ-45连接器; BNC插座和 BNC连接器; 转换器:有 RJ-45 到 DB-9 的转换器、 DB-25 到 DB-9 的转换器等。
物理层设备 对信号进行放大和整形的设备,主要有中继器 (Repeater) 和集
线器 (Hub) 。
38
上海师范大学商学院
2. 数据链路层的主要功能在物理层提供的服务基础上,数据链路层在通信的实体间建立数据链路连接;并向网络层提供无差错的透明传输数据链路层主要负责数据链路的建立、维持和拆除,然后将网络层送下来的信息 (包 ) 组成帧传送,传输以“帧”为单位的数据包;采用差错控制与流量控制方法,使有差错的物理线路变成无差错的数据链路。
39
上海师范大学商学院
数据链路的概念
链路 (Link) 是从一个结点到相邻结点的一段物理线路,中间没有任何其他交
换结点。在进行数据通信时,两个计算机之间的通信路径往往要经过许多段这样的链路,可见链路只是一条路径的组成部分。链路又称为物理链路。
数据链路 (Data Link) 是指当需要在一条链路上传送数据时,除了必须具有一条物理线
路之外,还必须有一些必要的通信协议来控制这此数据的传输。若把实现这些规程和协议的硬件和软件加到物理线路上,这样就构成了数据链路,即逻辑链路。
现在最常用的方法是使用适配器(或拨号适配器或以太网中网卡)来实现这些协议的硬件和软件。一般的适配器都包括了数据链路层和物理层这两层的功能。
当采用复用技术时,一条链路上可有多条数据链路
40
上海师范大学商学院
“电路接通”与“数据链路接通”的区别: 电路接通:表示链路两端的交换机已开机,物理连接已能传送比特流。但此时数据传输并不可靠。
在物理连接基础上,再建立数据链路连接,才是数据链路接通。此后,由于数据链路连接具有检测、确认和重传等功能,才使不太可靠的物理链路变成可靠的数据链路,进行可靠的数据传输。当数据链路断开是,物理电路连接不一定跟着断开。
使数据可靠传输,数据链路层须具有以下功能:链路管理: 帧的装配与分解 帧的同步流量控制与顺序控制差错控制 使接收端能区分数据和控制信息透明传输寻址
41
上海师范大学商学院
数据链路层的简单模型
局域网 广域网主机 H1 主机 H2
路由器 R1 路由器 R2
路由器 R3
电话网 局域网
主机 H1 向 H2 发送数据
链路层
高层运输层网络层
物理层链路层
高层运输层网络层
物理层链路层网络层
物理层链路层网络层
物理层链路层网络层
物理层
R1 R2 R3
H1 H2从层次上来看数据的流动
42
上海师范大学商学院
数据链路层的简单模型 ( 续)
局域网 广域网主机 H1 主机 H2
路由器 R1 路由器 R2
路由器 R3
电话网 局域网
主机 H1 向 H2 发送数据
链路层
高层运输层网络层
物理层链路层
高层运输层网络层
物理层链路层网络层
物理层链路层网络层
物理层链路层网络层
物理层
R1 R2 R3
H1 H2仅从数据链路层观察帧的流动
43
上海师范大学商学院
数据据链路层数据据链路层 ----从层次结构看数据据的流动从层次结构看数据据的流动
IP 数据报IP 数据报
1010… …0110
帧取出数据
链路层
网络层
链路
结点 A 结点 B
物理层
数据链路层
结点 A 结点 B
帧
发送
帧
接收
链路
IP 数据报IP 数据报
1010… …0110
帧装入
44
上海师范大学商学院
数据据链路层 -- 数据链路层像个数字管道
常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位是帧。
早期的数据通信协议曾叫作通信规程 (procedure) 。因此在数据链路层,规程和协议是同义语。
结点 A 结点 B帧 帧
46
上海师范大学商学院
( 1 ) 封装成帧每一种链路层协议都规定了帧的数据部分的长度上限——最大传送单元 MTU (Maximum Transfer Unit) 。 在数据链路层,结点在发送数据时,将网络层传下来的分组添加首
部和尾部等控制信息封装成帧发送到链路上; 结点在接收过程中,链路层把物理层传上来的帧剥去帧的首部和尾
部后的数据 ( 分组 )取出来上交网络层。
帧结束
帧首部帧首部
IP 数据报IP 数据报
帧的数据部分帧的数据部分 帧尾部帧尾部
MTU
数据链路层的帧长从这里开始发送
帧开始
47
上海师范大学商学院
数据据链路层 -- 帧的封装与定界
帧的格式从网络层接收的分组( IP 数据报)加上帧的首部和
帧的尾部组装成帧。
网络层
数据网络层
分组
帧
IP 数据报
帧的数据部分帧的首部 帧的尾部
帧开始 地址 长度 / 类型 / 控
制
FCS 帧结束
48
上海师范大学商学院
数据据链路层 -- 帧的封装与定界帧开始 用以指示一个帧的开始,如标志 01111110 。地址 用于设备或机器的物理寻址。帧的长度 /类型 / 控制 该字段在不同的数据链路层协议中有不同的规定,帧的长度通常以字节为单位,帧的类型主要包括数据帧和控制帧。
数据 承载网络层的数据分组 (Packet) 。帧校验序列 FCS(Frame Check Sequence) 提供与差错检测有关的信息。帧结束 用以指示一个帧的结束,如标志 01111110 。
50
上海师范大学商学院
数据据链路层 -- 帧的封装与定界
带字符填充的首尾界符法 用一些特定的字符来定界一帧的起始与终止。同步原理 在一帧的开头用 ASCII字符 DLE STX 在帧尾用 DLE ETX 作为
帧的首尾定界符;DLE(Data Link Escape) : ASCII值为 16 ,转义标志 ;STX(Start of Text) : ASCII值为 2 ,文本开始标志 ;ETX(End of Text) : ASCII值为 3 ,文本终止标志。
若数据信息位中有与特定字符相同的字符将会被误判为帧的首尾定界符,为了使接收方对帧实现正确判断,就在其前面再插入一个 DLE ,这样数据部分的 DLE 就会成对出现;
在接收方遇到两个连续的 DLE 时,则认为是数据部分,删除一个 DLE 。
51
上海师范大学商学院
数据据链路层 -- 帧的封装与定界
字符填充的首尾界原理
C DLE D
数据
要发送的字符
C DLESTXDLE D DLE ETXDLE
插入的 DLE 字符帧头 帧尾数据
封装成帧
C DLESTXDLE D DLE ETX
帧尾帧头 数据
接收后的帧
52
上海师范大学商学院
数据据链路层 -- 帧的封装与定界
带位填充的首尾标志法 用一组特定的位模式 (01111110) 来标志一帧的起始与终止。 数据字段中可能会出现与特定的位模式 (01111110) 一样的 8 比特组合,这样接收方就会误以为是帧的边界;
为了不会引起对帧边界的误判,保证透明传输,带位填充的首尾标志法也采用填充技术,但它一次只填充一个比特 0 。
当发送方在数据部分遇到 5 个连续的 1 时,就自动在其后插入一个0 ,即所谓“逢 5 个 1插 0” 。
接收方遇到 5 个连续的 1 之后是一个“ 0” 时,就删除该 0 ,即所谓的“逢 5 个 1删 0” ,这样就恢复了原始数据,实现了数据传输的透明性。
53
上海师范大学商学院
数据据链路层 -- 帧的封装与定界
带位填充的首尾标志法示例
01111110 …1101111101011001111101111101011… 01111110
帧首 帧尾填充后的数据 填充位
01111110 …1101111110110011111111111011… 01111110
帧尾原始数据帧首 与帧首尾相同的比特组合
54
上海师范大学商学院
帧的开始和结束使用专门指明的“帧首部”和“帧尾部”标记。当所传数据中的比特组合恰巧出现了与某一个控制信息完全一样的组合时,必须有可靠的措施,使接收方不会将这种比特组合的数据误认为是某种控制信息。 在帧首部和帧尾部之间的数据部分就不允许出现和帧首部或
帧尾部一样的比特组合,否则就会出现帧定界的判断错误。数据链路层协议就必须设法解决这个问题。透明传输——数据链路层协议允许所传送的数据可具有任意形式的比特组合。
( 2 ) 透明传输
55
上海师范大学商学院
( 3 )差错控制
接收方通过对差错编码的检查,可以判断一帧在传输过程中是否出现差错。差错编码技术有两类 一类是前向纠错,接收方收到有差错的数据帧时,能够自动
将差错改正过来,但开销大,不适合于计算机通信;另一类是差错检测,接收方可以检测出收到的帧有差错,立
即将它丢弃,或重传,或由高层进行处理。
56
上海师范大学商学院
( 3 )差错检测
反馈差错控制法向数据发送方提供有关接收方接收情况的反馈信息 ;如果发送方收到了关于某个帧的肯定确认,则它知道此帧已正确到达;
如果收到的是否定确认,则意味着发生了差错,相应的帧必须被重传。
重传通常又分为反馈检测法和自动请求重发法。
57
上海师范大学商学院
( 3 )数据据链路层 --差错控制
反馈检测法又称回送校验法,是指通信双方进行数据传输时,
接收方将接收到的数据重新发回给发送方,由发送方检查是否与原数据完全相符。
若不相符,则发送方发送一个控制字符通知接收方删除出错的数据,并重新发送该数据;
若相符,则发送下一个数据。
58
上海师范大学商学院
( 3 )数据据链路层 --差错控制
数据链路层差错控制最常用的方法是 自动请求重发 。发送方将要发送的数据帧附加一定的冗余检验码后
一并发送,接收方则根据检错码对数据进行差错检测,如 CRC校验。
若发现错误,就返回请求重发的应答,发送方收到请求重发的应答后,便重新传送该数据帧。
自动请求重发又有两种实现协议,即停止 - 等待 (Stop-and-Wait) 协议和连续 ARQ 协议。
59
上海师范大学商学院
( 3 )数据据链路层 --差错控制
停止 - 等待协议 发送方在发出一帧之后必须停下来等待接收方对所发送的帧进行
确认。 若确认对方已经正确收到,则发送方继续发送下一个帧;否则,发送方就重发该帧。
发送方 A
网络层
链路层
物理层
网络层
链路层
物理层
接收方 B
数据帧
确认帧
61
上海师范大学商学院
( 3 )数据据链路层 --差错控制
连续 ARQ 协议 在发送方发送完一个数据帧后,不是停下来等待确认帧,而是可以连续再发送多个帧 ;
帧的个数取决于发送方的发送能力和接收方的接收能力 ; 对于连续 ARQ 方式,必须对不同的帧进行编号 ;连续 ARQ 分别采用两种不同的处理方式:
后退 N 帧 (Go-Back-N)ARQ 方式 选择性重传 (Selective Repeat)ARQ 方式。
选择重传 ARQ 协议可避免重传那些本来已经正确到达接收端的数据帧,但是必须付出的代价:在接收端需要设置具有相当容量的缓存空间
62
上海师范大学商学院
数据据链路层其他功能链路管理 为相邻结点之间的可靠数据传输提供必要的数据链路的建立、维护
和释放机制。帧的同步 指接收方能够从收到的比特流中准确地分出一帧的开始和结束物理寻址 提供有效的物理编址与寻址功能,在多点连接的情况下,既要保证
每一帧都能正确送到目的站,又要使接收方知道是哪个站发送的。流量控制 流量控制实际上是对发送方的数据流量进行控制,使其发送速率不至于超过接收方的接收速率。
63
上海师范大学商学院
数据据链路层 --流量控制
流量控制 实际上是对发送方的数据流量进行控制,使其发送速率不至于超
过接收方的接收速率。流量控制并不是数据链路层特有的功能,许多高层协议中也提供流量控制功能,只是控制对象不同而已。
对数据链路层来说,控制的是相邻两结点间的数据链路层上的流量;
“停止 -- 等待协议”和“滑动窗口协议”是两个著名的流量控制协议。
而对传输层来说,控制的是从源结点到目的结点之间端到端的流量。
64
上海师范大学商学院
数据据链路层 --流量控制滑动窗口 (Slide Window) 协议 在滑动窗口机制中, ARQ 实际上又分为 连续 ARQ 或回退 N
和选择重传两种工作方式。 在使用连续 ARQ 协议时,如果发送端一直没有收到对方的确认,那么实际上发送端并不能无限制的发送数据帧,其原因如下。
(1) 当未被确认的数据帧的数目太多时,只要有一帧出错或丢失,就会有很多的数据帧需要重传,这必然浪费很多时间,增大了开销。
(2) 为了对所发送的大量数据帧进行编号,每个数据帧的发送序号也要占用较多的比特,这样又增加了一些不必要的开销。
在连续 ARQ 协议中必须将已发送出去、但未被确认的数据帧的数目加以限制,这就是滑动窗口协议所要讨论的内容。
它在发送端和接收端分别设定发送窗口 (Sending Window) 和接收窗口 (Receiving Window) 。
65
上海师范大学商学院
发送窗口与接收窗口加入适当的控制机制,循环使用已收到确认的那些帧的序号,在发送端和接收端分别设定“发送窗口”和“接收窗口”。 发送窗口用来对发送端进行流量控制,而发送窗口的大小 Ws代表在还没有收到对方确认的条件下发送端最多可以发送多少个数据帧。
接收窗口是为了控制哪些数据帧可以接收而哪些帧不可以接收。在接收端,只有当收到的数据帧的发送序号落入接收窗口内才允许将该数据帧收下。
只有在接收窗口旋转(滑动)时,发送窗口才有可能旋转(滑动)。但发送端如果没有收到已发送的那些帧的任何确认,同样也不会旋转(滑动)。接收窗口保持不动时,发送窗口无论如何也不会旋转(滑动),正因为收发两端的窗口按照以上规律不断旋转(滑动),因此这种协议被称为滑动窗口协议。
67
上海师范大学商学院
数据据链路层 -- 流量控制发送方 接收方
1 2 3 4 5 6 7 1 20
WR
准备接收 0 号帧
不允许接收这些帧
1 2 3 4 5 6 7 0 10
发送窗口 Ws
允许发送 6 个帧 不允许发送这些帧
( a)
1 2 3 4 5 6 7 1 20
WR
准备接收 0 号帧不允许接收这些帧
1 2 3 4 5 6 7 1 20
发送窗口 Ws
还允许发送 5 个帧
已发送0 号帧
不允许发送这些帧
( b)
68
上海师范大学商学院
数据据链路层 -- 流量控制
不允许接收这些帧
WR
准备接收 1 号帧
1 2 3 4 5 6 7 1 20
已收到0 号帧
1 2 3 4 5 6 7 1 20
已发送0 、 1 号帧
发送窗口 Ws
还允许发送 4 个帧
不允许发送这些帧
( c)
WR
准备接收 2 号帧
1 2 3 4 5 6 7 1 20
已收到0 、 1 号
帧
不允许接收这些帧
1 2 3 4 5 6 7 1 20
发送窗口 Ws
收到 0 号帧的确认
确认
已发送 不允许发送这些帧
还允许发送 4 个帧
( d)
滑动窗口协议的工作实例
69
上海师范大学商学院
例题 1 :若帧序号位数为 3位,发送窗口尺寸为 2 ,采用 Go-back-N 方法,画出由初态出发相继发生下列事件时的发送方及接收方滑动窗口状态变化过程图示: ( 1)发送 0 号帧( 2)发送 1 号帧( 3)接收 0 号帧( 4)接收确认 0
号帧( 5)发送 2 号帧 6)接收 1 号帧
70
上海师范大学商学院
例题 2 :
在下图所示各发送窗口图示下面标出窗口变化说明(参照第一窗口说明)。
②____发送 2 号帧 _③____接收 1 号帧确认 ______④___发送 3号帧 ______⑤___接收 2 号帧确认 _______⑥___接收 3号帧确认 _______
例 3 :相邻两个结点 A 、 B 通过后退 N帧 ARQ 协议通信,帧顺序号为 3位,窗口大小为 4 。假定 A正在发送, B正在接收,对下面三种情况说明窗口的位置:1 ) A 开始发送之前;2 ) A 发送了 0 , 1 , 2 三帧,而 B 应答了 0 , 1 两个帧;3 ) A 发送了 3 , 4 , 5 三个帧,而 B 应答了第 4 帧。
解:已知帧的顺序号为 3bit ,则对后退 N 帧 ARQ 协议,发送方可循环使用这 8 个序号 (0~7) 。而发送窗口 WT=4 ,说明在未收到接收方确认信息情况下,发送端最多允许发放 4 个数据帧。由于是后退 ARQ 协议,接收端的 Wr 恒等于 1 。
1)开始发送之前,发方可以发送序号为 0,1,2,3 的 4 个数据帧,而接收方刚开始只能接收 0 号帧。
2)当 A 发送 0,1,2三帧后,又收到 B发回的对 0,1 两帧的确认,则发送窗口可顺时针转两个号,接收窗也顺时转两个号,做好接收 2 号帧的准备。
3)当 A 发送了 3,4,5三帧,而 B 应答了第 4 帧时,说明 4 号及以前的所有数据帧均已正确无误地传到了 B 结点。因此发送方窗口可顺时旋转三个号,即 6,7,0 ,而接收窗口也做好了接收 5 号帧的准备。
72
上海师范大学商学院
3. 网络层的主要功能网络层是通信子网的最高层。基本功能:实现端到端的网络连接,屏蔽不同子网技术的差异,向上层提供一致的服务主要功能: 路由选择和转发。通过路由选择算法为分组通过通信子网选
择最适当的路径; 通过网络连接在主机之间提供分组交换功能 分组的分段与成块,差错控制、顺序化、流量控制网络层的数据服务单元是 分组。
73
上海师范大学商学院
典型的服务类型将数据包分组:固定长度、可变长度,由网络决定网络层把分组向下传送给数据链路层,帧方式在链路上传送不可靠的无连接服务典型实例: Internet 的 IP 实现方式:数据报( datagram)可靠的面向连接服务典型实例: ATM 实现方式:虚电路( VC)通常:服务:是对高一层而言的,属于外观表现, 功能:则是本层内部的活动。
74
上海师范大学商学院
4.传输层的主要功能向用户提供可靠端到端( end-to-end )数据传输服务;是计算机网络中的资源子网和通信子网的接口和桥梁,完成资源子网中两节点间的直接逻辑通信 提供端到端进程间的可靠数据传输机制
包括面向连接服务的建立机制 , 即能为高层数据的传输建立、维护与拆除传输连接 , 以实现透明的、可靠的端到端的传输 , 进行端到端的错误恢复与流量控制 \ 以及能对网络层出现的丢包、乱序或重复问题做出反应。
提供分段机制当上层的协议数据包的长度超过网络层所能承载的最大数据传输单元
时,传输层要提供必要的分段功能,并在接收方的对等层提供合并分段的功能。
提供多路复用机制处理数据包错误、数据包次序,以及其他的关键传输问题;传输层信息传送的基本单位是报文
75
上海师范大学商学院
传输层
在 OSI 模型中,传输层处于第 4 层,向高层屏蔽下层数据通信的细节,它是最重要、最关键的一层,起到承上启下的作用,是唯一负责总体数据传输和控制的一层,是整个分层体系的核心。常将 OSI 模型中的下 3 层统称为面向通信子网的层,而将传输层及以上的各层统称为面向资源子网或主机的层。另一种划分则是将传输层及以下的各层统称为面向数据通信的层,而将传输层以上的 3 层统称为面向应用的层。
77
上海师范大学商学院
5. 会话层的主要功能
它利用传输层提供的端到端数据传输服务,具体实施服务请求者与服务提供者之间的通信,负责维护两个结点之间的传输链接,以便确保点 - 点传输不中断;属于进程间通信范畴。会话层的功能包括会话连接到传输连接的映射、数据传送、会话连接的恢复和释放、会话管理、令牌管理和活动管理。管理两个结点之间的数据交换。
78
上海师范大学商学院
6. 表示层的主要功能用于处理在两个通信系统中交换信息的表示方式; 通过抽象的方法来定义一种数据类型或数据结构, 通过使用这种抽象的数据结构在各端系统之间实现数据类型
和编码的转换。数据格式变换;数据加密与解密;数据压缩与恢复。表示层信息传送的基本单位是报文。
79
上海师范大学商学院
7. 应用层的主要功能它是 OSI/RM 的最高层,是直接面向用户的一层,是作为用户使用 OSI 功能的唯一窗口。应用层确定进程之间的通信性质以满足用户的需要,负责用户信息的语义表示,并在两个通信者之间进行语义匹配。应用层信息传送的基本单位是用户数据报文。应用层要识别并保证通信对方的可用性,使协同工作的应用程序之间同步 ;建立传输错误纠正与保证数据完整性的控制机制。
80
上海师范大学商学院
OSI/RM 各层之间比较
模型层 主要功能 解决的问题
7 应用层 与用户应用进程的接口 做什么?
6 表示层 数据格式的转换 对方看起来像什么?
5 会话层 会话的管理与数据传输的同步 轮到谁讲话和从何处讲?
4 传输层 从端到端经网络透明地传送报文 对方在何处?
3 网络层 分组交换和路由选择 走哪条路可到达该处?
2 数据链路层
在链路上无差错地传送帧 每一步该怎么走?
1 物理层 将比特流送到网络媒体上传送 对上一层的每一步应该怎样利用物理媒体?
81
上海师范大学商学院
3.2.4 OSI环境中的数据传输过程OSI环境包括主机中从应用层到物理层的 7 层与通信子网(即虚线框部分)。物理传输介质不包括在 OSI环境中。
应 用 层
表 示 层
会 话 层
传 输 层
网 络 层
数据链路层
物 理 层
传输介质 传输介质 传输介质
主机A
网 络 层
数据链路层
物 理 层
CCP
网 络 层
数据链路层
物 理 层
CCP
应 用 层
表 示 层
会 话 层
传 输 层
网 络 层
数据链路层
物 理 层
主机B
进程A 进程B
OSI环境
A B
82
上海师范大学商学院
物理传输媒体
主机 A
传输层
网络层
链路层
物理层
表示层
会话层
应用层
AP1
主机 B
传输层
网络层
链路层
物理层
表示层
会话层
应用层
AP2
H7数据部分
H6数据部分
H5 数据部分
H4数据部分(报文)
H3数据部分(分组)
10100110011… 比特流… 11010110101
H2数据部分(帧) T2
应用程序数据
APDU
PPDU
SPDU
报文
分组
帧
比特流
OSI环境中的数据流( 1)当应用进程 A 的数据传送到应用层时,应用层为数据加上本层控制报头,构成应用层的数据服务单元,再传输到表示层
( 2)表示层为数据加上本层的控制报头,构成表示层的数据服务单元,再传送到会话层。以此类推传送到传输层。( 3)传输层为数据加上本层的控制报头,构成传输层的数据服务单元(称为报文 Message)。
( 4)报文传送到网络层时,由于网络层数据单元长度有限制,传输层的报文将被分成多个较短的数据字段,加上网络层的控制报头,构成网络层的数据服务单元(称为分组 Packet)。
( 5)网络层的分组传送到数据链路层时,加上数据链路层的控制信息,构成数据链路层的数据单元(称为帧 Frame)。
( 6)数据链路层的帧传到物理层后,以比特流的方式通过传输介质传输出去。当比特流到达目的结点时,再从物理层依层上传,每层对各自层的控制报头进行处理(剥离)。将用户数据上交高层,最终将进程 A 数据送给主机 B 的进程 B 。
84
上海师范大学商学院
3.3.1 TCP/IP 参考模型的发展
在 TCP/IP 协议研究时,并没有提出参考模型;1974年, Kahn 定义最早的 TCP/IP 参考模型;20世纪 80年代, Leiner 、 Clark 等人对 TCP/IP 参考模型进一步研究;TCP/IP 协议一共出现 6 个版本,后 3 个版本是版本 4 、版本 5 与版本 6 ;我们目前使用的是版本 4 ,通常称为 IPv4 ;IPv6 被称为下一代的 IP 协议。
85
上海师范大学商学院
TCP/IP 协议的特点TCP/IP 可以越层使用更低层提供的服务,有更高的协议效率。在设计时考虑到要与具体的物理传输无关,没有对最低两层做出规定,但实际上这两层在进行设计与维护时还是很重要的。网络接口层并不是一个层次,而是一个接口,有时还包括 OSI 中的最低两层。TCP/IP 一开始就考虑到多种异构网互联,并将 IP 协议作为 TCP/IP 的重要组成部分。TCP/IP 应用层的功能包含了会话层和表示层的功能。
86
上海师范大学商学院
3.3.2 TCP/IP 参考模型各层的功能一、 TCP/IP 参考模型的层次
应用层( application layer)传输层( transport layer)互连层( internet layer)(网际层)主机 - 网络层( host-to-network layer)网络接口层
应用层
传输层
网际层
网络接口层网络接口层 1 网络接口层 1 网络接口层 1…
IP
TCP UDP
HTTP SMTP DNS RTP… …
87
上海师范大学商学院
应 用 层
表 示 层
会 话 层
传 输 层
网 络 层
数据链路层
物 理 层
应 用 层
OSI参考模型 TCP/ IP参考模型
传 输 层
互 联 层
主机-网络层
TCP/IP 参考模型与 OSI 参考模型的对应关系
88
上海师范大学商学院
1 、主机 - 网络层TCP/IP 参考模型的最低层,负责通过网络发送和接收IP 数据报; 接收从 IP 层发来的 IP 数据报并通过低层物理网发送出去; 或者从低层物理网上接收物理帧,抽出 IP 数据报,交给 IP 层允许主机连入网络时使用多种现成的协议,例如 Ethernet 、令牌网、 X.25 、帧中继、 ATM 协议等 ;
当一种物理网被用作传送 IP包的通道时,就可以认为是这层的内容 ;
充分体现 TCP/IP 协议的兼容性与适应性,它为 TCP/IP 的成功奠定基础。
89
上海师范大学商学院
2 、互连层(网际层)
负责为分组交换网上的不同主机提供通信服务;相当OSI 参考模型网络层无连接网络服务; 在发送数据时,处理传输层发送的请求,把传输层产生的报
文段或用户数据报封装成分组或包 (IP 数据报 ) 发送到相应的网络输出线;
在接收数据时,在收到其他主机发送的数据报之后,检查目的地址,如需要转发,则选择发送路径进行转发,如目的地址为本结点的 IP 地址,则除去报头,将分组送交传输层处理;
处理互联的路由选择、流控与拥塞等问题。
90
上海师范大学商学院
互连层主要协议A. IP 协议
IP 协议的主要作用是:尽力而为的将 IP 分组从发送端主机通过互联网环境送达接收端主机。
IP 协议的作用体现在以下几个方面① IP 协议规定了全网通用的地址格式,并在统一机构管理下
进行地址分配,保证一个 IP 地址对应一台主机。② IP 协议采用数据报交换方式③ IP 协议为传输层提供尽力而为的数据传输服务,不保证 IP
分组一定送达,也不负责处理传输中的错误,发现错误的分组就丢弃,分组的重新组装和纠错问题都交给传输层去解决。
IP 协议是一种无连接的、提供“尽力而为”服务的网络层协议。
91
上海师范大学商学院
A2B1 B2A1
LAN1 LAN2
网络接口层
数据链路层IP 层
物理层
主机 A 主机 B
R1TCP 层
数据链路层IP 层
物理层
TCP 层
数据链路层IP 层
物理层
应用层 应用层
网络接口层
根据 IP 地址寻址需要与 IP 地址对应的物理地址
B 、 ARP 协议ARP 协议的作用将 IP 地址转换为物理地址。这里的 IP 地址指的是为到达最终的目的主机,路由器或网关所指定的下一站的 IP 地址,物理地址也是下一站 IP 所对应的物理地址。
ARP 的解析,只能在一个局域网内完成。
92
上海师范大学商学院
B 、 ARP 协议
ARP 协议的原理 主机需要与任何其他计算机或路由器进行通信时,首先要查询本地 ARP 高速缓存,如果 ARP 高速缓存中存在这个 IP 地址及其对应的物理地址,解析便告完成 .
如果 ARP 高速缓存中没有该 IP 地址,那么 ARP便在 LAN 上发出一个广播,“你们谁的 IP 地址是 ***?请把你的物理地址告诉我”, LAN 上的每一台主机或路由器均要查看 ARP请求中包含的 IP 地址,如果该 IP 地址与某一台主机或路由器的 IP 地址一致,那么该主机或路由器便生成一个 ARP 应答信息,信息中包含了与 IP 地址对应的物理地址。
然后源主机 ARP 将 IP 地址与物理地址的组合添加到它的高速缓存中,以便以后查询。
93
上海师范大学商学院
C. RARP 协议 RARP 是反向地址转换协议。当物理地址已知,但 IP 地址不知道
时,则使用 RARP解析。
D. Internet 控制信息协议 Internet 控制信息协议的作用是向源主机报告差错。送往远程计算
机的数据要经过一个或多个路由器,这些路由器在将信息发送到它的最终目的地的过程中会遇到一系列问题,如分组是否到达目的主机?在传输过程中出现了哪些差错?路由器使用 ICMP 信息将这些问题通知源主机。
E.多播协议( IGMP ) IGMP 协议是一个支持多播的协议,它运行在路由器上,用于帮助多播路
由器识别加入到一个多播组的成员主机,并将组成员信息转发给其他多播路由器。
94
上海师范大学商学院
3 、传输层在互连网中源主机与目的主机的对等实体间建立用于会话的端 -端连接;负责为两个主机中进程之间的通信提供服务;在两主机进程实体之间提供可靠的端到端的数据传输;
1 )传输层主要有 3 三个基本功能端到端的连接 复用与分用
复用就是多个应用进程可同时使用下面传输层的服务; 分用是指传输层把收到的信息分别交付给上面应用层中相
应的进程。 面向连接的服务和无连接的服务
97
上海师范大学商学院
(3) 面向连接的服务和无连接的服务 面向连接的服务通信可靠。 一是数据不丢失,二是数据的发送和接收顺序是一致的。传
输层提供的面向连接的服务通过确认重发机制来保证数据不丢失;发送和接收顺序一致是通过其缓冲区来实现的,传输层为每个数据设置了一个序号,收到一个数据后并不直接交给上层,而是先查看其序号,如果序号小的数据还没有到来,则需要将该数据放到缓冲区,等待前面的数据都到达并排序后才交给上层。
无连接的服务主要提供一个应用进程的标识,是一种不可靠的服务,不提供确认重传机制,所以协议开销比较小,通信效率高。
98
上海师范大学商学院
2 )传输层的两个协议 Internet 为传输层设计了如下两个协议。传输控制协议( Transmission Control Protocol , TCP)。
TCP 提供面向连接的服务。 用户数据报协议( User Datagram Protocol , UDP)。
UDP 是一种无连接的、不可靠的传输层协议。
99
上海师范大学商学院
( 1 ) TCP 协议
TCP 协议的主要特点 提供面向连接的服务 (Connection Oritention)
TCP 协议是面向连接的协议,发送数据之前通信双方要建立连接,通信结束要拆除连接;
高可靠性( High Reliability) TCP 协议通过确认和超时重传机制保证数据传输可靠,若收
到正确的帧,就给发送方发送“确认信息”,若发送方在规定的时间内没有收到“确认”信息就重发数据;
全双工通信 (Full Duplex Communication) 支持流传输 (Stream Interface) 可靠的连接建立与释放 (Reliable Connection Startup and Shutdow
n) 提供流量控制与拥塞控制
101
上海师范大学商学院
TCP报文段格式(续)端口号的长度为 32位,包括一个 16位的源端口号和一个 16位的目的端口号 序号的长度为 32位 ,序号域即是指本报文段的第一个字节的序号。 确认号的长度为 32位。表示接收端希望接收到的下一个报文段数据第 1 个字节的序号。头部长度为 4位。因为选项域是可变长度的,所以头部是变长度的。这个字段的值是在 5至 15 之间,报头的长度在 20~60B 之间。 保留字段长度为 6位。目前这个域的值全部为 0 ,即这个域从设计到现在仍然未被使用。窗口域的长度为 16位。 TCP 的流控制是通过一个可变大小的滑动窗口来完成的。窗口大小域指明了从被确认的字节算起可以发送多少个字节。窗口所对应的最大数据长度为 65535B 。
102
上海师范大学商学院
TCP报文段格式(续)控制域 定义了 6 种不同的控制位或标志位,使用时可在同一时间设置一位或多位。
控制域用于 TCP流量控制、连接建立和终止,以及数据传送方式等。(1) 紧急( URG) 当 URG=1 时,表明此报文段应尽快传送,而不是按原来
的排队序列来传送。 (2) 确认( ACK) 只有当 ACK=1 时确认号域才有意义。当 ACK=0 时,则该数据段不包含确认信息,所以确认号域应该被忽略。
(3) 急迫( PSH) 当 PSH=1 时,接收方在收到数据后应立即请求将数据递交给应用程序,而不是等到整个缓冲区都填满了再向上交付。
(4) 复位( RST) 当 RST=1 时,表明出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立。复位比特还可以用来拒绝一个非法的报文段或拒绝打开一个连接。
(5) 同步( SYN) 在建立连接时使用。当 SYN=1 而 ACK=0 时,表明这是一个连接请求报文段。对方若同意建立连接,则应在发回的报文段中使 SYN=1 和 ACK=1 。因此,同步比特 SYN置 1 ,就表示这是一个连接请求或连接接受报文,而 ACK 比特的值用来区分是哪一种报文。
(6) 终止( FIN) 用来释放一个连接。当 FIN=1 时,表明欲发送的字节串已经发完,并要求释放连接。
103
上海师范大学商学院
TCP报文段格式(续)紧急指针域的长度为 16位。只有当控制域中的紧急位URG=1 时,紧急指针才有效。紧急指针指出在本报文段中紧急数据的最后一个字节的序号。紧急指针使接收方可以知道紧急数据有多长。选项域长度可变,最大可以到 40B 。选项包括单字节选项和多字节选项。单字节选项有两个:选项结束和无操作。多字节选项有 3 个:最大报文段长度、窗口扩大因子以及时间戳。TCP校验和与 UDP校验和计算过程是一样的,也需要在 TCP头部加上 12B 的伪报头,所不同的是 UDP 协议中是否采用校验和是可选的,而对于 TCP来说是必须采用的。伪报头中表示 TCP 协议的值是 6 。
104
上海师范大学商学院
( 1 ) TCP 协议TCP 协议的工作过程 连接的建立与释放 建立连接
TCP 在发送方和接收方之间经过三次数据交换来建立连接 数据传输
TCP 的数据传输过程是一系列的发送——确认过程
106
上海师范大学商学院
TCP 的差错控制机制TCP 是一个可靠的传输层协议 发送端的应用进程将数据流交付给 TCP ,它将依靠 TCP 将整个
数据流按顺序、无差错、不丢和重复地交付给接收端应用进程。 TCP 协议的差错检测通过 3 种简单工具完成:校验和检错、确认和超时机制。校验和用来确认是否出现错误。发送端发送报文后开始计时,接
收端收到报文后检查错误,若发现错误就将报文丢弃 确认用来判断报文段是否顺利到达目的地。若正确就向发送端发回确认信息
传输过程出现错误或报文段未能顺利到达时, TCP 通过重传来解决
107
上海师范大学商学院
几种情况下 TCP 的差错控制机制 乱序的报文段 对于乱序的报文段的处理方法很简单,就是只有在收到某个序号前
所有报文段时才会对这个序号的报文段进行确认。出错或丢失的报文段 丢失报文段和报文段出错,发送端 TCP不会收到接收端 TCP 的确认
信息。发送端 TCP会等待一段时间,直到接收确认超时,重传未得到确认的报文段。
重复的报文段 接收端 TCP 收到报文段后,首先查看其序号,如果已有相同序号被
确认,则丢弃重复的报文段。确认丢失 如果在传输过程中某个序号的报文段确认丢失,若发送端 TCP 收到了大于该序号的报文段确认,则也可以证明接收端进程已经成功收到该序号的报文段。发送端可以忽略之前的确认丢失。
108
上海师范大学商学院
TCP 的流量与拥塞控制TCP 的流量控制 为了提高数据传输的效率, TCP 协议允许发送方连续发送多
个报文,而不需要接收方逐个报文的加以确认,接收方只要确认 X 号报文正确收到,就意味着 X 号以前的报文都正确收到。 TCP 采用滑动窗口(一个窗口代表一个数据段)的方法对发送端允许发送数据的最大数量和接收端允许接收数据的最大数量进行调整。
发送窗口在连接建立时由双方商定。
110
上海师范大学商学院
TCP 的拥塞控制
发送端的主机在发送数据时,既要考虑到接收端的接收能力,又要使网络不要发生拥塞。所以发送端的发送窗口应该按以下方式确定:发送窗口 =Min(通知窗口,拥塞窗口)
通知窗口是接收端根据其接收能力确定的窗口值,是来自接收端的流量控制。
拥塞窗口是发送端根据网络拥塞情况确定的窗口值,它由发送端流量控制算法来决定。
111
上海师范大学商学院
( 2 ) UDP 协议UDP 的特点及应用 UDP 协议向应用层提供面向无连接无确认的不可靠的传输层协议服务。
它仅仅在 IP 数据报服务的基础上增加了端口功能和差错检测的功能。它以最小的开销来实现网络环境中的进程通信。
在发送数据时,不需要和接收方建立连接 在数据传输过程中不需要接收方给予确认 UDP也不负责重发丢失或错误的报文 对收到的乱序报文也没有重组能力 但是 UDP 协议由于免去了建立与拆除连接的过程和繁琐的发送——确认过程,传输效率高。
UDP适合于可靠性较高的局域网,也适合于发送很短的,或者对可靠性要求不高的报文。 应用层 TFTP 、 RFC 、 NTP 、 BOOTP 、 DNS都使用 UDP 协议。 有些实时的应用,因为对延迟的要求比较高,而对可靠性要求不高,广泛使用 UDP 协议作为它们的传输层协议,如 IP 电话、视频会议等。
路由选择协议 RIP 、网络管理协议 SNMP 、网络文件服务 NFS 、网络电话 VOIP 等的传输层也采用 UDP 协议。
113
上海师范大学商学院
端口和套接字UDP 和 TCP 都使用了应用层接口处的端口( Port )与上层的应用进程通信。端口号是应用进程的标识。 端口号是一个 16位的地址,分为 3类:熟知端口号、注册端口号和临时端口号。熟知端口号的范围是 0~1023 ,它被统一分配和控制。注册端口号的范围是 1024~49151 ,用户根据需要可以在 IAN
A注册,以防止重复。临时端口号的范围是 49152~65535 ,随机分配给用户进程来
使用。一个 IP地址和一个端口号的组合称为套接字( Socket )
114
上海师范大学商学院
4 、应用层不仅提供应用进程所需要的信息交换和远地操作,而且还要作为相互作用的应用进程的用户代理来完成一些为进行语义上有意义的信息交换所必需的功能。 网络终端协议( Telnet) 文件传输协议( FTP , File Transfer Protocol)简单邮件传输协议( SMTP , Simple Mail Transfer Protocol )域名系统( DNS , Domain Name System)简单网络管理协议( SNMP , Simple Network Management Prot
ocol)超文本传输协议( HTTP , Hyper Text Transfer Protocol )
115
上海师范大学商学院
应用层
传输层
互联层
主机-网络层 Ethernet Token Ring 其他协议
ARP RARP
I P
TCP UDP
Telnet FTP SMTP DNS 其他协议
二、 TCP/IP 协议栈地址解析协议 ARP/ARPA 并不属于单独一层,介于物理地址与 IP地址之间,起到屏蔽物理地址细节的作用IP 可以建立在 ARP/ARPA 上,也可直接建立在网络硬件接口协议上IP 协议横跨整个层次, TCP 与 UDP 协议都要通过 IP协议来传输数据。
117
上海师范大学商学院
3.4.1 对 OSI 参考模型的评价层次数量与内容选择不是很好,会话层很少用到,表示层几乎是空的,数据链路层与网络层有很多子层;OSI 参考模型将“服务”与“协议”的定义结合,使参考模型变得复杂、实现困难;寻址、流量控制与差错控制在每层重复出现,降低系统效率;数据安全、加密与网络管理在模型设计初期被忽略;参考模型的设计更多被通信的思想支配,不适合于计算机与软件的工作方式;严格按照层次模型编程的软件效率很低。
118
上海师范大学商学院
3.4.2 对 TCP/IP 参考模型评价
在服务、接口与协议的区别上不很清楚,一个好的软件工程应将功能与实现方法区分开,参考模型不适于其它非 TCP/IP 协议族;TCP/IP 参考模型的主机 - 网络层不是实际的一层;物理层与数据链路层的划分是必要和合理的, 但是 TCP/IP 参考模型却没做到这点。
119
上海师范大学商学院
TCP/IP 与 OSI/IP 的相似之处TCP/IP 和 OSI/RM均采用层次结构,而且都是按功能分层的,并存在可比的传输层和网络层。层的功能大体相似,在这两个模型中,传输层及以上的各层都为通信进程提供点到点与网络无关的传输服务。在两个模型中,在传输层以上都是以应用为主导的。两者都是一种基于协议数据单元的包交换网络,而且分别作为事实上的标准和概念上的标准,具有同等的重要性。
120
上海师范大学商学院
TCP/IP 和 OSI 的不同点:(1) 分层数目不同
TCP/IP 分 4 层:网络接口层、网际层、传输层和应用层。 OSI 分 7 层:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
(2)出发点不同。OSI/RM 是作为国际标准而制定的,考虑面广,协议的数量和复杂性都远高于 TCP/IP ,而 TCP/IP是为军用网 ARPANET 设计的确,一开始就考虑了特殊要求,很有特色、来自于实践,有成熟的产品和强大的市场,成了事实上的标准。
121
上海师范大学商学院
TCP/IP 和 OSI 的不同点:(3) 层之间的调用关系不同
OSI/RM 是严格按层次关系处理,不能越层,而 TCP/IP虽然只有 4 层,但层间高层可越层接收更低层提供的服务。
(4) 对异构网互联网的考虑情况不同 TCP/IP 一开始就考虑了多种异构网的互联问题,将网际协议 IP单设一
层,而 OSI 最初只考虑用一个标准的公用数据网互联不同的系统,后来才在网络层上划出一个子层来完成 IP 任务。
OSI/RM 是严格按层次关系处理,不能越层,而 TCP/IP虽然只有 4 层,但层间高层可越层接收更低层提供的服务。
122
上海师范大学商学院
TCP/IP 和 OSI 的不同点:(5) 对无连接服务的考虑情况不同。
TCP/IP开始就使面向连接和面向无连接的服务并重,而 OSI开始时只强调面向连接一种服务,后来才开始制定另一种无连接服务的有关标准。 。
(6) 对可靠性的强调也不相同。对于 OSI 的面向连接服务,数据链路层、网络层、传
输层都要检测和处理错误,而 TCP/IP 则不然,认为可靠性是端到端的问题,应由传输层解决,由主机完成。
(7) 对网络管理的考虑情况不同。TCP/IP 较早就有较好的网络管理功能,而 OSI 到后来才开始考虑这问题。
123
上海师范大学商学院
3.4.3 一种建议的参考模型——具有 5 层协议的体系结构
1. 具有 5 层协议的体系结构提出的背景 OSI参考模型体系结构是七层协议,理论较完整,但问题是定义复
杂、实现困难,有些同样的功能 ( 如流量控制与差错控制等 ) 在多层重复出现,效率低下。
TCP/IP 体系结构是四层协议,它的缺陷是并没有一个清晰的体系结构。
TCP/IP 每层的功能、定义与其实现方法没能区分开来,使 TCP/IP体系结构不适合于其他非 TCP/IP 协议族等。
两者真正有具体内容的只是上面三层。在学习计算机网络的原理时往往采取折中的办法,即综合 OSI 和 TCP/IP 的优点,采用一种只有五层协议的体系结构。
124
上海师范大学商学院
五层协议的体系结构
2. 五层体系结构
传输层
应用层
网络层
链路层
物理层
表示层
会话层
OSI 体系结构
应 用 层
传 输 层
网 络 层
数据链路层
物 理 层主机—网络层
125
上海师范大学商学院
五层的主要功能物理层 在物理层上所传数据单位是比特( bit)。物理层的任务就是透明地传送比特流。物理层还要确定连接电缆的插头应当有多少根引脚及各条引脚应如何连接。当然,哪几个比特代表什么意思,则不是物理层所要管理的。请注意,传递信息所利用的一些物理媒体,如双绞线、同轴电缆、光缆、无线信道等,并不在物理层协议之内而是在物理层协议的下面。因此也有人把物理媒体当做第 0 层。
数据链路层常称为链路层。在两个相邻结点之间(主机和路由器之间或两
个路由器之间)传送数据是直接传送的(即不需要经过转发的点对点通信)。这时就需要使用专门的链路层协议。数据链路层将网络层交下来的 IP 数据报组装成帧,在两个相邻结点间的链路上“透明”地传送帧中的数据。每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制等)。
126
上海师范大学商学院
五层主要功能网络层负责为分组交换网上的不同主机提供通信服务。在
发送数据时,网络层把传输层产生的报文段或用户数据报封装成分组或包进行传送。在 TCP/IP 体系中,由于网络层使用 IP 协议,因此分组也叫 IP 数据报,或简称为数据报。
网络层的另一任务就是要选择合适的路由,使源主机传输层所传下来的分组能够通过网络中的路由器找到目的主机。
对于由广播信道构成的分组交换网,路由选择的问题很简单,因此这种网络的网络层非常简单,甚至可以没有。
127
上海师范大学商学院
五层主要功能传输层 任务是负责向两个主机中进程间的通信提供服务。由于一个主机可同
时运行多个进程,因此传输层有复用和分用的功能。复用就是多个应用层进程可同时使用下面的传输层的服务,分用则是传输层把收到的信息分别交付上面应用层中的相应的进程。
传输层主要使用两种协议:一个是传输控制协议 TCP ,是面向连接的,数据传输的单位是报文段,能够提供可靠的交付;另一个是用户数据报协议 UDP ,是无连接的,数据传输的单位是用户数据报,不保证提供可靠的交付,只能“尽最大努力交付”。
应用层 是体系结构中的最高层,应用层直接为用户的应用进程提供服务。这里的进程就是指正在运行的程序。在因特网中的应用层协议较多,如支持万维网应用的 HTTP 协议、支持电子邮件的 SMTP 协议、支持文件传输的 FTP 协议等等。
129
上海师范大学商学院
计算机 1 发送数据:(1)A先将其数据交给应用层,应用层加上必要的控制信息 H5 就变
成了下一层的数据单元。(2) 传输层收到这个数据单元后,加上本层的控制信息 H4 ,再交给
网络层,成为网络层的数据单元。依次类推。(3) 数据链路层,控制信息分成了两部分,分别加在了数据单元的首
部 (H2) 和尾部 (W2) ,然后再传输到接收端的物理层。(4) 在物理层,信息成为由“ 0” 或“ 1”组成的数据比特流,比特流再转换为电信号在物理媒介上传输至计算机 2 。
计算机 2 接收数据:计算机 2 在向上传递时过程正好相反,经过从下到上逐层去掉相应层的控制信息,将该层剩下的数据单元上交给更高一层,最后把应用进程 A 发送的数据交给目的站的应用进程 B 。
计算机 1 的应用进程 A 向计算机 2 的应用进程 B 发送数据的信息流动过程:
130
上海师范大学商学院
3.5 小结网络协议是为网络中的数据交换而制定的规则、约定与标准;计算机网络体系结构是网络层次结构模型与各层协议的集合;网络体系结构的基本概念,实体、服务、接口的概念。在计算机网络课程中,有很多的网络协议要进行讲解分析,弄清楚网络协议的三要素,即语义、语法和时序的含义。 OSI 参考模型定义开放系统的层次结构、层次之间的关系,以及各层可能包括的服务,对推动网络协议标准化的研究起重要作用; TCP/IP 协议与参考模型抓住有利时机,伴随 Internet 发展而成为目前公认的工业标准。 对两个标准 OSI/RM 和 TCP/IP 分别就其结构模型和各层功能进行比较详细的描述。