1.7 计算机网络体系结构
1 计算机网络体系结构的形成
74年,美国IBM宣布了系统网络体系结构SNA(System Network Architecture)。
77年,ISO成立了专门机构研究是不同体系结构的计算机网络都能互联的问题。不久,他们就此问题提出了一个标准框架,即著名的开放系统互连基本参考模型OSI/RM,简称为OSI
83年,形成了开放系统互联基本参考模型的正式文件,即著名的ISO 7498国际标准,也就是所谓的七层协议的体系结构
而在20世纪90年代初,虽然整套的OSI国际标准都已经制定出来了,但由于因特网已抢先在全世界覆盖了相当大的范围,找不到能够生产出符合OSI标准的商用产品,所以OSI标准只获得了一些理论研究成果,并未成功的市场化。
所以,在这之后,事实上的国际标准其实是得到最广泛应用的TCP/IP协议。
2 协议与划分层次
在计算机网络中要想有条不紊的交换数据,就必须遵守一些事先约定好的规则,这些规则明确规定了所交换的数据的格式以及有关的同步问题。网络协议主要有以下三个要素组成:
1.语法:数据与控制信息的结构或格式
2.语义:即需要发出何种控制信息,完成何种动作以及做出何种响应
3.同步:即事件实现顺序的详细说明
我们来举个例子简单说明一下划分层次的概念,我们假定有两个主机要通过一个通信网络传送文件,其中要做的工作我们可以分为三类:
第一类:发送端要确信接收端的文件管理程序已经做好了接收和存储文件的准备。若两台主机所用的文件格式不一致,则至少其中一个主机要完成文件格式的转换。我们可以把它当做是一个文件传送模块。
第二类:建立一个通信服务模块,用来保证文件和文件传送命令可靠地在两个系统之间交换。
第三类:构建一个网络接入模块,它负责做与网络接口细节相关的工作。
总结来说,就是保证文件层面的一致性,可交换性;保证服务协议方面的可靠性,可行性;保证接收文件时能够顺利,准确的接收到交换的文件。
上述例子可以看出分层带来的好处:
1.各层之间是独立的
2.灵活性好
3.结构上可分割
4.易于实现和维护
5.能促进标准化工作
通常各层所要完成的功能主要有以下一些(可包括一种或多种):
1.差错控制
2.流量控制
3.分段和重装
4.复用和分用
5.连接建立和释放
我们把计算机网络的各层及其协议的集合,称为网络的体系结构。
即计算机网络的体系结构就是这个计算机网络及其构件所应完成的功能的精确定义。
体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。
3 具有五层协议的体系结构
OSI是七层协议体系结构,但它既复杂又不实用,而TCP/IP是一个四层的体系结构,包含应用层、运输层、网际层和网络接口层。因此,我们在学习计算机网络原理时,综合OSI和TCP/IP的优点,采用五层协议的体系结构:
1.应用层:体系结构中的最高层,这一层定义的是应用进程间通信和交互的规则。对于不同的网络应用,需要有不同应用层协议。我们将应用层交互的数据单元称为报文。
2.运输层:负责向两个主机中进程之间的通信提供通用的数据传输服务。运输层主要使用以下两种协议:
1)传输控制协议TCP:提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文段
2)用户数据报协议UDP:提供无连接的、尽最大努力的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是用户数据报
3.网络层:负责为分组交换网上的不同主机提供通信服务。网络层使用IP协议,因此分组也叫做IP数据报,简称数据报。网络层的另一个任务就是选择合适的路由。
4.数据链路层:两台主机间的数据传输总是在一段一段的链路上传送的,这就需要使用专门的链路层的协议。数据链路层将网络层交下来的IP数据报组装成帧,在两个相邻结点间的链路上传送帧。每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制等)
5.物理层:该层所传数据的单位是比特,它要考虑用多大的电压代表1或0,以及接收方如何识别出发送方所发送的比特。
两个主机之间发送数据:
发送端:
第5层:加上应用层的首部
第4层:加上运输层的首部
第3层:加上网络层的首部
第2层:加上链路层的首部和尾部
第1层:发送比特流
来到路由器:
从第1层一次上升到第3层,每一层都根据控制信息进行必要的操作,然后将控制信息剥去,将剩下的数据单元上交给更高的一层。当到了第3层,就根据首部中的目的地址查找路由器中的路由表,找出转发分组的接口,然后再依次传送到第1层,在第2层会加上新的首部和尾部。在第1层将数据发送出去给接收端。
接收端:
跟上面的方式类似,依次上升到第5层,交给对应的应用进程。
4 实体、协议、服务、和服务访问点
研究开放系统中的信息交换时,我们使用实体这一抽象的名词表示任何可发送或接收信息的硬件或软件进程。在许多情况下,实体就是一个特定的软件模块。
协议是控制两个对等实体(或多个实体)进行通信的规则的集合。
在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层提供的服务
在同一系统中相邻两层的实体进行进行交互(既交换信息)的地方,通常称为服务访问点SAP。
计算机网络协议还有一个很重要的特点,就是协议必须把所有不利的条件事先都估计到,而不能假定一切都是正常和非常理想的,必须非常仔细的检查这个协议是否能应付各种异常情况。
5 TCP/IP的体系结构
TCP/IP的体系结构只有四层,我们可以这样来表示TCP/IP协议族:
它的特点是上下两头大而中间小:应用层和网络接口层都有多种协议,而中间的IP层很小,上层的各种协议都向下汇聚到一个IP协议中。表明:TCP/IP协议可以为各种应用提供服务,同时TCP/IP协议也允许IP协议在各式各样的网络构成的互联网上运行。