计算机网络的体系结构是一种分层次的体系结构。
就作者的愚见。想掌握好计算机网络的网络体系结构,则必须紧紧把握住分层封装这两个概念。

一、分层和封装

(1)分层:分层具有模块化的优点。
开放互联参考模型OSI将网络划分为7层:应用层、表示层、会话层、运输层、网络层、数据链路层、物理层。
5层因特网协议栈为:应用层、运输层、网络层、数据链路层、物理层。
TCP/IP参考模型则划分为:应用层、传输层、网际层、网络接口层。
注:分层的潜在缺点是,一层可能冗余较低层的功能,如许多协议栈在基于每段链路和基于端到端两种情况下,都提供了差错恢复。其二是,某层的功能可能需要仅在其他层出现的信息,如时间戳值,这违反了层间分离的目标。
(2)封装:在发送主机端,一个应用层报文被传送给运输层,运输层收取到报文,并附上附加信息(运输层首部信息,比如它允许接收端运输层向应用程序交付报文信息,差错检测信息让接收方能够判断报文是否在传输途中被改变)。应用层报文和运输层首部信息,便一同构成了运输层分组:报文段。这便是封装的过程。
注:分组=首部字段+有效载荷字段。有效载荷字段通常是来自上一层的分组。

二、TCP/IP和OSI

这里仅仅对各层次的功能做简单的介绍。
(1)物理层:通过物理传输介质来透明的传送二进制比特流(对于物理层而言,只关心如何传送二进制比特流,不管所传数据是什么样的比特组合。都应当能够在链路上传送。它提供物理通路和接口,传输单位是比特。在这层中的传输协议仍然是链路相关的,并进一步与该链路的实际传输媒体相关。功能:1.定义接口特性2.定义传输模式(单工、半双工、双工)3.定义传输速率4.比特同步5.比特编码
(2)数据链路层:链路层分组为帧(frame)。因特网的网络层通过源和目的地之间的一系列路由器来路由数据报,为了将分组从路径上的一个节点移动到另一个节点,网络层必须依靠链路层的服务。数据链路层的主要任务是把网络层传下来的数据报组装成帧。以帧为单位,有对应的帧格式来帮助识别一个帧,提供相应的协议来保证数据传输的可靠性,数据链路层设备例如:交换机、网桥。功能:1.成帧(定义帧的开始和结束)2.差错控制(帧错+位错)3.流量控制4.访问(接入)控制 控制对信道的访问。协议:SDLC、HDLC、PPP、STP
:因为数据报从源到目的地通常需要经过几条链路,一个数据报可能被沿途不同链路的链路层协议处理。
:某些链路层协议基于链路提供可靠传递。这种可靠的传递服务不同于TCP的可靠传递服务。TCP提供一个端系统到另一个端系统的可靠服务。
(3)网络层:网络层信息分组为数据报(datagram)。主要任务是把数据报从一台主机移动到另一台主机,为分组交换网上的不同主机提供通信服务。功能:1.实现路由的选择、2.流量控制3.差错控制、4.拥塞控制(若所有结点都来不及接收分组,而要丢弃大量分组的话,网络就处于拥塞状态。因此要采取一定措施,缓解这种拥塞。设备:路由器、三层交换机。主要协议:IP、IPX、ICMP、IGMP、ARP、RARP、OSPF
(4)传输层:能实现端到端的传输, 即进程与进程之间的通信,通过端口号来确定(TCP\UDP)差错控制和恢复,端口地址映射到网络地址。传输的单位为报文段或用户数据报。 功能:1.可靠传输 、不可靠传输2.差错控制3.流量控制(控制发送方的速度)4.复用(多个应用进程可同时使用下面传输层的服务)分用(运输层把收到的信息分别交付给上面应用层中相应的进程)协议:TCP\UDP。
TCP提供面向连接的服务(1.应用层报文向目的地的确保传递2.流量控制,发送和接收方速率匹配3.将长报文划分为短报文4.拥塞控制机制,拥塞时抑制传输速率)
UDP则提供无连接服务。没有可靠性,没有流量和拥塞控制。
(5)会话层:管理两个会话之间的连接。向表示层实体、用户进程提供建立连接并在连接上有序的传输数据。这是会话,也是建立同步。功能:1.建立、管理、终止会话2.使用校验点可使会话在通信失效时从校验点/同步点继续恢复通信,实现数据同步。主要协议:ADSP、ASP。
(6)表示层:将应用层数据转化为网络层能理解的格式,数据格式转换数据加密数据压缩和恢复。用于处理在两个通信系统中交换信息的表示方式(语法和语义)。JPEG\ASCII
(7)应用层:是网络应用程序以及他们的应用层协议存留的地方。应用层协议分布在多个端系统上,一个端系统中的应用程序使用协议与另一个端系统中的应用程序交换信息分组。应用层信息分组称为报文(message)。
用户与网络的界面。所有能和用户交互产生网络流量的程序都属于应用层的范畴。把应用进程封装成对应的应用层数据,使得可以在网络上进行传输。典型应用层服务:文件传输(FTP)、电子邮件(SMTP)、万维网 提供web文档的解析和传送(HTTP),域名解析系统(DNS)等
注:因特网真正使用的协议栈实际并没有OSI参考模型中的表示层和会话层。那么是否说明这两个层次提供的服务不重要呢?事实上,因特网将他留给了应用程序开发者来处理。如果服务重要,他就应当在程序中构建该功能。

分层结构中的一些名词

(1)实体:表示任何发送信息的硬件或软件进程。第n层中的活动元素称为n层实体。同一层的实体叫对等实体。

(2)协议:是控制两个对等实体(或多个实体)进行通信的规则的集合

1.语法:规定传输数据的格式

2.语义:规定所要完成的功能

3.同步:规定各种操作的顺序

注:协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的服务。

(3)服务访问点(SAP:Service Access Point):服务访问点是一个抽象的概念,实际上就是一个逻辑接口,有点像邮政信箱(可以把邮件放入信箱和从信箱中取走邮件),但这种层间接口和两个设备之间的硬件接口并不一样。

互联网在架构上分几层 互联网有几层体系结构_应用层


通过服务访问点来为上层进行服务

数据链路层的服务访问点(LLC)

网络层的服务访问点(IP)

传输层的服务访问点(端口号)

(4)服务:下层为相邻上层提供的功能调用【垂直】

互联网在架构上分几层 互联网有几层体系结构_互联网在架构上分几层_02


SDU服务数据单元:为完成用户所要求的功能而应传送的数据。

PCI协议控制信息:控制协议操作的信息。

PDU协议数据单元:对等层次之间传送的数据单位

互联网在架构上分几层 互联网有几层体系结构_计算机网络_03