计算机网络体系结构
一、标准化组织
标准化组织包括ISO、IEEE、IETF和ITU等。
1.ISO
国际标准化组织(ISO,International Organization for Standardization)是由不同国家的标准机构组成的世界范围的联合会,包含140多个成员国,其主要任务是制定国际标准,协调世界范围内的标准化工作,与其他国际性组织合作研究有关标准化问题。
“开放系统互联/参考模型”(OSI/RM,Open System Interconnection/Reference Model)就是其标准,此标准用以解决信息的处理、发送和管理等问题。
2.IEEE
美国电气和电子工程师协会(IEEE,Institute of Electrical and Electronics Engineers)是一个国际性的电子技术与信息科学工程师的协会,是世界上最大的专业技术组织之一。
3.IETF
互联网工程任务组(IETF,Internet Engineering Task Force)是一个由网络设计者、厂商和研究者组成的开放国际组织,主要任务是负责制定互联网的相关技术规范,为互联网架构的演进和互联网的正常运转提供支持。
4.ITU
国际电信联盟(ITU,International Telecommunication Union)是联合国的一个专门机构,它负责主管信息通信技术事务,包括确立国际无线电和电信的管理制度和标准,它也是联合国机构中历史最长的一个国际组织,简称“国际电联”。此外,国际电联不仅是世界范围内联系各国政府和私营部门的纽带,还是信息社会世界高峰会议的主办机构。
二、开放系统互联/参考模型
开放系统互联/参考模型即OSI/RM模型为网络设备的互联提供了参考标准。该模型共有七层,并有特定的数据传输过程。
1.OSI/RM模型
国际标准化组织ISO制定了开放系统互联/参考模型OSI/RM(Open System Interconnection/Reference Model),为网络之间的设备互联提供了一个参考标准。
为了实现OSI/RM模型,通信双方需遵循一些规则,这些规则在计算机网络中被称为“协议”。具体来说,计算机网络协议由语法、语义和同步3个要素组成。
为了简化复杂的计算机之间的通信流程,计算机网络采用分层结构,将通信功能细化,以便于工程化实现。在计算机网络分层体系结构中,层与层之间是通过相应的接口进行通信的,接口包括软接口和硬接口两种类型,其中硬接口又可以从机械、电气、功能和规程4个方面进行描述。
2.OSI/RM模型的七层
OSI/RM参考模型共有7层,分为两部分,上面4层为应用程序对数据进行处理,而下面3层主要完成数据的通信功能,如图1-4所示。其中,最高层为应用层,它为用户提供通信的接口;最低层为物理层,与传输介质相连用于传输比特流。分层的设计使得OSI/RM参考模型的每层都具有独立和特定的功能,在低层为高层提供服务的同时,高层也需要利用低层所提供的这些服务,为应用程序提供网络环境服务。
图1-4 OSI/RM参考模型
3.OSI/RM模型的功能
物理层:物理层与通信媒介直接相连,在电子与机械层面上传输比特流,并提供了发送和接收数据的载体。
数据链路层:数据链路层的主要功能是把上层的数据包封装成数据帧并转给物理层,确立两个端点之间的逻辑连接,数据帧中的每一帧均包含数据信息和必要的控制信息,比如地址信息、同步信息、差错控制等,保证了数据的可靠性传输。
网络层:网络层的主要功能是把网络地址转化成物理地址并把信息发送到目的地。在把信息发送到目的地时,需要选择合适的路由,对在此过程中产生的网络拥塞、交换等问题进行管理,网络层的协议包括IP、ICMP和IGMP等。
传输层:传输层为端到端的数据提供透明传输,利用流控制、错误检测和分段等机制为上一层提供可靠的服务,如果数据在传输过程中出现错误,则传输层负责重传。传输层主要包括两种类型的服务:一种是面向连接的服务,可提供可靠的交付;另一种是无连接的服务,该服务无法保证提供可靠的交付。
会话层:会话层的主要功能是创建、保持和释放通信链路,可以创建全双工、半双工和单一的连接,并能保持跟踪客户端与服务器之间的会话。
表示层:表示层主要是对信息格式和编码进行转化,从应用层发送来的数据被转化成可以被计算机识别的格式。
应用层:应用层为用户与应用程序提供了一个接口,以满足用户不同的需求,比如FTP、E-mail和浏览器等应用程序就工作在这一层。
4.数据传送过程
在OSI/RM模型中,数据的传送过程如图1-5所示。若主机A与主机B之间直接相连,进行通信,主机A的应用程序产生数据传到应用层,应用层根据该层的协议加上应用层报头(AH,application header),封装成数据包转交给表示层。
表示层接收到信息,加上相应的报头组成报文,传送给会话层。会话层也做同样的工作并交给传输层,传输层收到数据包,加上本层的报头信息后,再转交到网络层。由于网络层是面向用户与通信网的,而通信网对报文的长度是有一定限制的。因此,网络层接收到数据包后,首先进行报文分析。如果没有超过最大允许长度,则直接添加报头;如果超过最大允许长度,则先进行数据包的拆分,再逐个传送。
当数据包到达数据链路层时,数据包不仅被加上帧头信息还要加上帧尾信息,构成数据帧,比如校验和同步信息。最后,将数据帧交给物理层转换为比特数据进行发送。
在接收方,按照与发送端相反的方向从物理层到应用层一步步地进行拆包,恢复了原始发送的数据后,主机B的应用程序才能正确识别主机A所发送的数据,这样才是完成了主机A到主机B的信息发送全过程。同理,主机B给主机A进行反馈信息也是相同的过程。
图1-5 数据传输的过程
虽然应用程序的数据每次都要经过如此复杂的过程发送到目的地,但是这个过程对用户是完全透明的。任何两个同层次之间的数据进行通信的过程如图1-5中的水平直线所示,这也就是所谓的对等通信,其中各层的协议就是对等层之间的各项规定。
三、TCP/IP模型
TCP/IP模型是因特网的体系架构模型。TCP/IP模型与OSI/RM模型比较,两者有各自的特点。
TCP/IP是因特网的体系结构模型,它是由若干通信协议组成的协议簇,包括应用层、传输层、网际层和网络接口层。
1.TCP/IP模型各层的功能
(1)网络接口层:网络接口层主要负责主机的逻辑连接和物理连接,是TCP/IP模型的最底层,主要包括数据链路和介质访问方式等。
(2)网际层:网际层是整个TCP/IP模型的核心,主要功能是路由寻址,即根据数据包头部的源IP地址和目的IP地址,将数据包发送到正确的目的地。该层中主要的协议有IP、ICMP、IGMP、ARP和RARP等,它们共同构成了IP协议簇。
(3)传输层:传输层主要为应用层提供数据报和虚电路服务,为应用进程之间提供端到端的逻辑通信。传输层的主要协议包括TCP(Transmission Control Protocol)协议和UDP(User Datagram Protocol)协议,TCP协议提供可靠的、面向连接的端到端的数据传输,而UDP协议提供不可靠的、无连接的数据传输。
(4)应用层:应用层规定应用进程在通信中所遵守的协议,为应用程序提供接口服务,应用层主要包括FTP、SMTP、DNS和HTTP等应用协议。
2.TCP/IP模型的分层设计具有以下两方面的优势
(1)降低了通信的复杂性,提高了可用性和通用性,每层都实现了其特定的功能。
(2)简化了数据的发送、传输和接收过程,在发送端通过“自上而下”的形式一层层地打包发送,在接收端通过“自下而上”的形式进行解包接收信息。
3.OSI/RM模型和TCP/IP模型的比较
TCP/IP模型是一个事实上的工业标准,现已发展为覆盖全球的因特网协议体系结构。OSI/RM模型和TCP/IP模型均采用分层的设计模式,但是两者略有差异,如图1-6所示为OSI/RM与TCP/IP体系结构的对比图,其中TCP/IP体系结构分为4层,与OSI/RM体系结构的7层相对应。
图1-6 OSI/RM与TCP/IP体系结构对比
OSI/RM模型和TCP/IP模型的共同点是两者都解决了异构网络的通信问题,实现了不同终端设备和不同交换设备之间的通信,两种模型均采用分层的设计思想,将复杂的功能分解细化。其中,两者各层的划分与功能大致相同,解决了信息的封装、差错控制、流量控制、传输同步和复用等通信问题。