6.2 计算机网络的体系结构
所谓网络体系,就是为了完成计算机之间的通信合作,把每个计算机互联的功能划分成定义明确的层次,规定了同层次进程通信的协议及相邻层之间的接口及服务。网络体系结构是从功能上来描述计算机网络结构。计算机网络的体系结构如图6.7所示。

图6.7 计算机网络体系结构
6.2.1 OSI参考模型
OSI(Open System Interconnect)开放式系统互联,一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互联模型。国际标准化组织ISO发布的最著名的标准是ISO/iIEC7498,又称为X.200协议。该体系结构标准定义了网络互联的七层框架,即ISO开放系统互连参考模型。在这一框架下进一步详细规定了每一层的功能,以实现开放系统环境中的互联性、互操作性和应用的可移植性。
ISO为了更好地使网络应用更为普及,就推出了OSI参考模型,其含义就是推荐所有公司使用这个规范来控制网络。所有公司都有相同的规范,这样就能互联了。提供各种网络服务功能的计算机网络系统是非常复杂的。根据分而治之的原则,ISO将整个通信功能划分为七个层次,如图6.8所示。
1)物理层(Physical Layer)
物理层是OSI参考模型的最低层,它利用传输介质为数据链路层提供物理连接。为此,该层定义了与物理链路的建立、维护和拆除有关的机械、电气、功能和规程特性,包括信号线的功能、“0”和“1”信号的电平表示、数据传输速率、物理连接器规格及其相关的属性等。物理层的作用是通过传输介质发送和接收二进制比特流。
2)数据链路层(DataLink Layer)
数据链路层是为网络层提供服务的,以解决两个相邻结点之间的通信问题。传送的协议数据单元称为数据帧。
数据帧中包含物理地址(又称MAC地址)、控制码、数据及校验码等信息。该层的主要作用是通过校验、确认和反馈重发等手段,将不可靠的物理链路转换成对网络层来说无差错的数据链路。

图6.8 OSI/RM模型
此外,数据链路层还要协调收发双方的数据传输速率,即进行流量控制,以防止接收方因来不及处理发送方来的高速数据而导致缓冲器溢出及线路阻塞。
3)网络层(Network Layer)
网络层是为传输层提供服务的,传送的协议数据单元称为数据包或分组。该层的主要作用是解决如何使数据包通过各节点传送的问题,即通过路径选择算法(路由)将数据包送到目的地。另外,为避免通信子网中出现过多的数据包而造成网络阻塞,需要对流入的数据包数量进行控制(拥塞控制)。当数据包要跨越多个通信子网才能到达目的地时,还要解决网际互联的问题。
4)传输层(Transport Layer)
传输层的作用是为上层协议提供端到端的可靠和透明的数据传输服务,包括处理差错控制和流量控制等问题。该层向高层屏蔽了下层数据通信的细节,使高层用户看到的只是在两个传输实体间的一条主机到主机的、可由用户控制和设定的、可靠的数据通路。
传输层传送的协议数据单元称为段或报文。
5)会话层(Session Layer)
会话层主要功能是管理和协调不同主机上各种进程之间的通信(对话),即负责建立、管理和终止应用程序之间的会话。会话层得名的原因是它很类似于两个实体间的会话概念。例如,一个交互的用户会话以登录到计算机开始,以注销结束。
6)表示层(Presentation Layer)
表示层处理流经节点的数据编码的表示方式问题,以保证一个系统应用层发出的信息可被另一系统的应用层读出。如果必要,该层可提供一种标准表示形式,用于将计算机内部的多种数据表示格式转换成网络通信中采用的标准表示形式。数据压缩和加密也是表示层可提供的转换功能之一。
7)应用层(Application Layer)
应用层是OSI参考模型的最高层,是用户与网络的接口。该层通过应用程序来完成网络用户的应用需求,如文件传输、收发电子邮件等。
6.2.2 TCP/IP参考模型
TCP/IP参考模型是计算机网络的祖父ARPANET和其后继的因特网使用的参考模型。ARPANET是由美国国防部DoD(U.S.Department of Defense)赞助的研究网络。它通过租用的电话线连接了数百所大学和政府部门。当无线网络和卫星出现以后,现有的协议在和它们相连的时候出现了问题,所以需要一种新的参考体系结构。这个体系结构在它的两个主要协议出现以后,被称为TCP/IP参考模型(TCP/IP reference model)。
TCP/IP是一组用于实现网络互联的通信协议。Internet网络体系结构以TCP/IP为核心。基于TCP/IP的参考模型将协议分成四个层次,从底层到高层分别是:网络访问层、网际互联层、传输层(主机到主机)和应用层。
1)网络接入层(即主机唱网络层)
网络接入层与OSI参考模型中的物理层和数据链路层相对应。它负责监视数据在主机和网络之间的交换。事实上,TCP/IP本身并未定义该层的协议,而由参与互联的各网络使用自己的物理层和数据链路层协议,然后与TCP/IP的网络接入层进行连接。
2)网际互联层
网际互联层对应于OSI参考模型的网络层,主要解决主机到主机的通信问题。它所包含的协议设计数据包在整个网络上的逻辑传输。它注重重新赋予主机一个IP地址来完成对主机的寻址,还负责数据包在多种网络中的路由。该层有四个主要协议:网际协议(IP)、地址解析协议(ARP)、互联网组管理协议(IGMP)和互联网控制报文协议(ICMP)。
IP协议是网际互联层最重要的协议,它提供的是一个不可靠、无连接的数据报传递服务。
3)传输层
传输层对应于OSI参考模型的传输层,为应用层实体提供端到端的通信功能,保证了数据包的顺序传送及数据的完整性。该层定义了两个主要的协议:传输控制协议(TCP)和用户数据报协议(UDP)。
TCP协议提供的是一种可靠的、面向连接的数据传输服务;而UDP协议提供的则是不可靠的、无连接的数据传输服务。
4)应用层
应用层对应于OSI参考模型的高层,为用户提供所需要的各种服务,例如:FTP、Telnet、DNS、SMTP等。
6.2.3 OSI参考模型和TCP/IP参考模型的比较
OSI参考模型和TCP/IP参考模型的比较有如下的共同点和不同点:
1)共同点
OSI参考模型和TCP/IP参考模型都采用了层次结构的概念,都能够提供面向连接和无连接两种通信服务机制。
2)不同点
①前者是七层模型,后者是四层结构;
②它们对可靠性要求不同(后者更高);
③OSI模型是在协议开发前设计的,具有通用性,TCP/IP是先有协议集然后建立模型,不适用于非TCP/IP网络;
④实际市场应用不同。OSI模型只是理论上的模型,并没有成熟的产品,而TCP/IP已经成为“实际上的国际标准”。