1.6计算机网络体系结构
1.6.1计算机网络体系结构的形成
两台计算机之间互相进行文件传输,则需要有一条传输数据的通路,并且该通路需要完成以下的工作:
① 发起通信的计算机激活通路(保证发送与接收的计算机数据正确);
② 告诉网络如何识别接收数据的计算机;
③ 发起通信的计算机需要查明对方的计算机是否开机已经网络连接情况;
④ 发起通信的计算机需要知道对方计算机的文件管理程序是否做好了接收、存储文件的准备;
⑤ 若计算机的文件格式不兼容,则其中一台计算机需要进行格式转换;
⑥ 对于传输中出现的差错、错误情况,需要有可靠的应对措施,保证对方可以接收到正确的文件;
所以需要通信的计算机之间需要有高度协调工作,解决这样的问题,可以使用分层的方法,将庞大的问题转化为若干较小的局部问题。
随后许多公司推出了自己公司的具有不同名称的体系结构,但是由于网络体系结构的不同,不同公司的设备之间很难进行通信。
国际标准化组织ISO提出了一个试图使各种计算机在世界范围内连成网的标准结构,即开放系统互连基本参考模型OSI/RM,简称OSI,但仅为抽象概念,在1983年形成了正式的文件,即著名的ISO 7498国际标准,也就是七层协议的体系结构。但是OSI缺乏实际经验、实现过于负责、制定周期太长、层次划分不太合理,所以未能普及;所以国际上使用的是TCP/IP。
1.6.2协议与划分的层次
网络协议主要以三个要素组成:
① 语法,即数据与控制信息的结构或格式;
② 语义,即需要发出何种控制信息,完成何种动作以及做出何种响应;
③ 同步,即事件实现顺序的详细说明;
分层带来的好处:
① 各层之间相对独立,每层只用实现自己的功能;
② 灵活性好,当任一层发生变化时,仅对该层进行修改即可,其他层不受影响;
③ 结构上可分割开;
④ 易于实现和维护;
⑤ 能促进标准化工作;
通常各层需要完成的功能主要有:
① 差错控制 保证通信的可靠性;
② 流量控制 发送速录必须使接收端来得及接收;
③ 分段和重装 将发送的数据段划分为更小的单位,并在接收时还原;
④ 复用和分用 发送端几个高层会话复用一条低层的连接,在接收端再进行分用;
⑤ 连接建立和释放 数据交换前先建立一条逻辑连接,数据传送结束后释放连接;
计算机网络的各层及其协议的集合就是网络的体系结构。
计算机的体系结构就是这个计算机网络及其构件所应完成的功能的精确定义。
1.6.3具有五层协议的体系结构
TCP/IP具有四层。但其网络接口层没有实质性的具体内容;OSI具有七层,理论完整,概念清晰,但过于复杂,不实用,所以学习体系结构时,一般折中,综合两个体系的优点,学习五层协议的体系结构,其结构如图所示。
(1)应用层
应用层是体系结构中的最高层。应用层的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程间通信和交互的规则。(如:域名系统DNS、支持万维网应用的HTTP协议…)
(2)运输层
运输层的任务就是负责向两条腿主机中进程之间的通信提供通用的数据传输服务。应用进程利用该服务传送应用层报文。由于一台主机可同时运行多个进程,因此运输层有复用和分用的功能。
运输层主要使用以下两种协议:
传输控制协议TCP——提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文段。
用户数据报协议UDP——提供无连接的、尽最大努力的数据传输服务(不保证数据传输的可靠性),其数据单位是用户数据报。
(3)网络层
网络层负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送。
(4)数据链路层
数据链路层常简称为链路层。两台主机之间的数据传输,总是在一段一段的链路上传送的,在两个相邻结点之间传输数据时,数据链路层将网络层交下来的IP数据报组装成帧,在两个相邻结点间的链路上传送帧。每一帧包括数据和必要的控制信息。
(5)物理层
物理层上所传数据的单位是比特。物理层需要考虑用多大的电压代表“1”或“0”,以及接收方如何识别所发送的比特。物理层还需要确定连接电缆的插头应当有多少根引脚以及各引脚应如何连接。
传输信息利用的一些物理媒体如双绞线、光缆等,不算在物理层,而是在物理层之下。
现在我们提及的TCP/IP并一定是单指TCP和IP这两个协议,而往往表示互联网所使用的整个TCP/IP协议族。
1.6.4实体、协议、服务和服务访问点
实体:一个特定的软件模块。
协议:控制两个对等实体(或多个实体)进行通信的规则的集合。
在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要下面一层所提供的服务。
协议的实现保证了能够向上一层提供服务,下面的协议对上面的实体是透明的。
协议是水平的,即协议是控制对等实体之间的通信的规则。服务是垂直的,即服务是由下层向上层通过层间接口提供的。
在同一系统中相邻两层的实体进行交互的地方,通常称为服务访问点。
计算机网络协议必须把所有不利的条件事先有预估到,不能假定一切都是正常的和非常理想的,因此看一台计算机网络协议是否正确,不能只看在正常情况下是否正确,还必须非常仔细的检查这个协议能否应付各种异常情况。
1.6.5 TCP/IP的体系结构
TCP/IP四层协议的表示方法和举例:
TCP/IP四层协议的另外表示方法: