文章目录
1.7.1 计算机网络体系结构的形成
计算机网络是一个非常复杂的系统。
两台计算机要互相传送文件需要解决很多问题:
- 必须有一条传送数据的通路
- 发起方必须激活通路
- 要告诉网络如何识别接收方
- 发起方要清楚对方是否已经开机,且网络连接正常
- 发起方要清楚对方是否准备好接收和存储文件
- 若文件格式不兼容,要完成格式的转换
- 要处理各种差错和意外事故,保证收到正确的文件
1. 提出了不同的体系结构
-
最初的ARPANET设计时提出了分层的设计方法
分层:将庞大而复杂的问题,转化为若干较小的局部问题
-
1974年,IBM按照分层的方法制定并提出了系统网络体系结构SNA
-
此后,其他一些公司也相继推出了具有不同名称的体系结构,但由于网络体系结构的不同,不同公司的设备很难互通连通。
2. 国际标准:开放系统互连参考模型OSI/RM
-
ISO(国际标准化组织)提出的OSI/RM是使各种计算机在世界范围内互连成网的标准框架。
-
OSI/RM是个抽象的概念。
OSI试图达到一种理想境界:全球计算机网络都遵循这个统一标准,因而全球的计算机将将能够很方便地进行互连和交换数据。
扫描二维码关注公众号,回复: 13157812 查看本文章 -
1983年,形成了著名的ISO 7498国际标准,即七层协议的体系结构。
但是ISO/OSI失败了。
失败原因:
- 基于TCP/IP的互联网已抢先在全球相当大的范围成功地运行了。
- OSI的专家们在完成OSI标准时没有商业驱动力。
- OSI的协议实现起来过分复杂,且运行效率很低。
- OSI标准的制定周期太长,使得按OSI标准生产的设备无法及时进入市场。
- OSI的层次划分也不太合理,有些功能在多个层次中重复出现。
3. 存在两种国际标准
法律上的国际标准:OSI,但并没有得到市场的认可。
事实上的国际标准:TCP/IP,获得了最广泛的应用
1.7.2 协议与划分层次
-
网络协议,简称为协议,是为进行网络中的数据交换而建立的规则、标准或约定。
-
三个要素组成:
- 语法:数据与控制信息的结构或格式
- 语义:需要发出何种控制信息,完成何种动作以及做出何种响应
- 同步:时间实现顺序的详细说明
-
网络协议是计算机网络的不可缺少的组成部分
-
协议的两种形式:
- 文字描述:便于人来阅读和理解
- 程序代码:让计算机能够理解
- 不论什么形式,都必须能够对网络上信息交换过程做出精确的解释。
层次式协议结构:
ARPANET的研制经验表明:对于非常复杂的计算机网络协议,其结构应该是层次式的。
划分层次的概念举例:两台主机通过网络传送文件
过程:
-
将文件传送模块作为最高一层
-
再设计一个通信服务模块层
-
再设计一个网络接入模块层
网络接入模块负责做与网络接口细节有关的工作,并向上层提供接入和通信服务。
分层的优点与缺点:
优点:各层之间是独立的、灵活性好、结构上可分割开、易于实现和维护、能促进标准化工作。
缺点:有些功能会重复出现,因而产生了额外开销。每一层的
补充:
每一层的功能应非常明确。层数太少,就会使每一层的协议太复杂。层数太多,又会在描述和综合各层功能的系统工程任务时遇到较多的困难。‘
各层完成的主要功能(可以只包括一种,也可以包括多种):
- 差错控制:使相应层次对等方的通信更加可靠
- 流量控制:发送端的发送速率必须使接收端来得及接收,不要太快
- 分段和重装:发送端将要发送的数据块划分为更小的单位,在接收端将其还原
- 复用和分用:发送端几个高层会话复用一条底层的连接,在接收端再进行分用
- 连接建立和释放:交换数据前先建立一条逻辑连接,数据传送结束后释放连接
计算机网络的体系结构:
-
网络的体系结构是计算机网络的各层及其协议的集合,就是这个计算机网络及其构件所应完成的功能的精确定义(不涉及实现)
-
实现是遵循这种体系结构的前提下,用何种硬件或软件完成这些功能的问题
体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。
1.7.3 具有五层协议的体系结构
各层的主要功能:
层数 | 层 | 主要功能 |
---|---|---|
5 | 应用层 | 任务:通过应用进程间的交互来完成特定网络应用; 协议:定义的是应用进程间通信和交互规则;应用层交互的数据单元称为报文; 应用举例:域名系统DNS、支持万维网应用的HTTP协议、支持电子邮件的SMTP协议等 |
4 | 运输层 | 任务:负责向两台主机中进程之间的通信提供通用的数据传输服务,具有复用和分用的功能; 协议:1. 传输控制协议TCP:提供面向连接的、可靠的数据传输服务,数据传输的单位是报文段; 2. 用户数据报协议UDP:提供无连接的尽最大努力的数据传输服务(不保证数据传输的可靠性),数据传输单位是用户数据报 |
3 | 网络层 | 任务:为分组交换网上的不同主机提供通信服务; 两个具体任务:1. 路由选择:通过一定的算法,在互联网中的每一个路由器上,生成一个用来转发分组的转发表; 2. 每一个路由器在接收到一个分组时,要依据转发表中指明的路径把分组转发到下一个路由器; 协议:互联网使用的网络层协议是无连接的网际协议IP和许多种路由选择协议,因此互联网的网络层也叫做网际层或IP层。IP协议分组也叫做IP数据报,或简称为数据报 |
2 | 数据链路层 | 常简称为链路层; 任务:实现两个相邻节点之间的可靠通信; 协议:在两个相邻节点间的链路上传送帧,如发现有差错,就简单地丢弃出错帧,如果需要改正出现的差错,就要采用可靠传输协议来纠正出现的差错。这种方式会使数据链路层协议复杂 |
1 | 物理层 | 任务:实现比特(0或1)的传输,确定连接线缆的插头应当有多少根引脚,以及各引脚应如何连接; 注意:传递信息所利用的一些物理媒体,如双绞线、同轴电缆、光缆、无线信道等,并不在物理层协议之内,而是在物理层协议的下面 |
数据在各层之间的传递过程:
解释:
假定主机1的应用进程AP1向主机2的应用进程AP2传送数据。AP1先将其数据交给本主机的第5层(应用层)。第5层加上必要的控制信息H5就变成了下一层的数据单元。第4层(运输层)收到这个数据单元后,加上本层的控制信息H4,再交给第3层(网络层),成为第3层的数据单元。以此类推,不过到了第2层(数据链路层)后,控制信息被分成两部分,分别加到本层数据单元的首部(H2)和尾部(T2);而第1层(物理层)由于是比特流的传送,所以不再加上控制信息。请注意,传送比特流时应从首部开始传送。
当这一串比特流离开主机1,经网络的物理传输媒体传送到路由器时,就从路由器的第1层依次上升到第3层。每一层都根据控制信息进行必要的操作,然后将控制信息剥去,将该层剩下的数据单元上交给更高一层。当分组上升到了第3层网络层时,就根据首部中的目的地址查找路由器中的转发表,找出转发分组的接口,然后往下传送到第2层,加上新的首部和尾部后,再到最下面一层,然后在物理传输媒体上把每一个比特发送出去。
当这一串比特流离开路由器到达目的主机2时,就从主机2的第1层按照上面讲的方式,依次上升到第5层。最后把应用进程AP1发送的数据交给目的站的应用进程AP2。
虽然应用进程数据要经过上图所示的复杂过程才能送到终点的应用进程,但这些复杂过程对用户是透明的,以致应用进程AP1觉得好像是直接把数据交给了应用进程AP2.同理任何两个同样的层次(例如在两个系统的第4层)之间,好像如同图中所示水平虚线那样,把数据(即数据单元加上控制信息)通过水平虚线直接传递给对方。这就是所谓“对等层”之间的通信。我们以前经常提到的各层协议,实际上就是在各个对等层之间传递数据时的各项规定。
对等层与协议数据单元:
- OSI参考模型把对等层次之间传送的数据单位称为该层
1.7.4 实体、协议、服务和服务访问点
实体:
表示任何可发送或接收信息的硬件或软件进程。
协议:
控制两个对等实体进行通信的规则的集合。
服务:
在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下层所提供的服务。
注意:
协议和服务在概念上是不一样的。
服务原语:上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令在OSI中称为服务原语。
服务访问点SAP:
- 在同一系统中相邻两层的实体进行交互(即交换信息)的地方,通常称为服务访问点SAP。
- SAP是一个抽象的概念,它实际上是一个逻辑接口。
- OSI把层与层之间交换的数据的单位称为服务数据单元SDU
- SDU可以与PDU(协议数据单元)不一样。
- 例如:可以是多个SDU合称为一个PDU,也可以是一个SDU划分为几个PDU
相邻两层之间的关系:
计算机协议的一个重要特点:
协议必须把所有不利的条件事先都估计到,而不能假定一切都是正常的和非常理想的。
看一个计算机网络协议是否正确,不能只看在正常情况下是否正确,还必须非常仔细地检查协议能否应付任何一种出现概率极小的异常情况。
1.7.5 TCP/IP的体系结构
现在的互联网使用的TCP/IP体系结构已经发生了演变,即某些应用程序可以直接使用IP层,或甚至直接使用最下面的链路层。
沙漏计时器形状的TCP/IP协议族:
同时运行多个服务器进程同时为多个客户进程提供服务:
上图中,主机C的应用层中间同时有两个服务器进程在通信。服务器1在和主机A中的客户1通信,而服务器2在和主机B中的客户2通信。有的服务器进程可以同时向几百个或更多的客户进程提供服务。
参考资料:《计算机网络(第8版)》—— 谢希仁