购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.4 网络体系结构

1.4.1 层的概念及作用

1-4 层的概念及作用

在计算机网络中,各个节点之间需要不断地交换数据与控制信息。要做到有条不紊地交换数据,每个节点都要遵守一些事先约定好的规则。这些规则明确地规定了所交换数据的格式和时序。这些为网络数据交换而制定的规则、约定与标准被称为网络协议。

协议是一种通信规约。从广义上说,人们之间的交往就是一种信息交换的过程,人们每做一件事都必须遵循一种事先约好的规定。那么为了保证计算机网络中大量计算机之间正常的数据交换,就必须制定一系列的通信协议。

为了减少协议设计的复杂性,大多数网络都按层(Layer)或级(Level)的方式来组织,每一层都建立在它的下层之上。不同的网络,其层的数量,各层的名字、内容和功能都不尽相同。然而,在所有的网络中,每一层的目的都是向上一层提供一定的服务,而把如何实现这一服务的细节对上一层加以屏蔽。

如何理解分层的作用和必要性,举例来说,通过邮局寄信时,用户将信送到邮局,邮局将信交给运输部门,最终由运输部门负责运输,如图1-8所示。这个过程中存在着同层之间的约定和上下层之间的约定。例如,用户之间的约定体现在写信时必须采用双方都懂的语言文字和文体,开头是对方称谓,最后是落款等,这样对方收到信后,才可以看懂信中的内容;寄信人和邮局之间也要有约定,即规定信封写法并贴邮票;邮局和运输部门也有约定,如到站地点、时间、包裹形式等。

图1-8 邮政系统分层模型

由此例可以看出, 系统分层后,每一层都有自己的功能,同层之间有约定,上下层之间有接口 。下层是对上一层服务的,相同层之间(在下层的帮助下)就好像直接进行对话。分层的最大好处在于把复杂的事情分解成一个个小问题,使复杂问题简单化。

1.4.2 OSI七层模型

国际标准化组织于1977年成立了专门机构,研究不同网络体系结构互联问题。提出了开放系统互连参考模型,“开放”在这里表示能使任何两个遵守OSI模型和有关标准的系统实现互联。分层的原则如下。

1-5 OSI七层模型

1)每一层应当实现一个定义明确的功能。

2)每一层都为它上面一层提供一些服务,并将该层无法完成的细节交由下一层处理。

3)每层功能的选择应该有助于网络协议的标准化。

4)各层边界的选择应尽量减少跨过接口的通信量。

5)层数应足够多,以避免不同的功能混杂在同一层中,但也不能太多,否则结构就会过于庞大。

OSI模型共划分为7层,从下到上依次为 :物理层、数据链路层、网络层、传输层、会话层、表示层和应用层 。如图1-9所示,图中虚线连接表示同层之间的协议,实线表示数据流。在发送端,数据由应用层逐层传递到物理层;在接收端,数据由物理层逐层传递到应用层。

下面简要介绍各层的功能。

1.物理层(Physical Layer)

物理层为在物理媒体上建立、维持和终止数据比特流的物理连接提供机械、电气、功能和过程的手段。物理层是OSI模型的最底层,也是唯一的实通信层,其他各层的通信都是虚通信。物理层 负责在网络上传输数据比特流,即按位进行传输,而不去理会数据的含义或格式

图1-9 OSI七层模型

2.数据链路层(Data Link Layer)

数据链路层通过校验、确认和反馈重发等手段将原始的物理连接改造成可靠的数据链路。数据链路层 负责相邻节点间的数据传输 ,要解决 将比特组合成帧 (Frame)和 差错控制 等问题。帧是数据链路层的数据单元,即在数据链路层按帧进行传输。

3.网络层(Network Layer)

网络层是通信子网的最高层次,主要用来 解决路由选择、拥塞控制和网络互联等问题 。网络层控制着通信子网,所谓通信子网就是实现路由和数据传输所必需的传输介质和交换组件的集合。网络层传输的数据单元称为分组或包(Packet)。典型的网络层协议是互联网协议(Internet Protocol, IP)。

4.传输层(Transport Layer)

传输层 提供可靠有效的端到端的网络连接 。传输层能根据上层用户提出的传输连接请求,为其建立具有数据分流或线路复用功能的一条或多条网络连接。传输层使会话层不受通信子网更替和技术变化的影响,为双方主机间通信提供了透明的数据通道。因此,传输层是第一个端对端(也就是主机到主机)的层次,从该层起向上各层都称为“高层”,高层协议都是端对端的协议。典型的传输层协议有传输控制协议(Transmission Control Protocol, TCP)和用户数据报协议(User Datagram Protocol, UDP)。

5.会话层(Session Layer)

会话层允许不同主机上各种进程之间进行会话,并 提供会话管理的功能 ,其数据流方向控制模式有3种,即单工、半双工和全双工。会话层是发送端进程到接收端进程的层次。

6.表示层(Presentation Layer)

表示层为上层用户提供共同需要的数据语法表示变换, 完成数据转换、压缩与解压缩、加密与解密等功能

7.应用层(Application Layer)

应用层是OSI模型的最高层,直接为最终用户服务, 能提供包括事务处理、文件传输、电子邮件、远程登录和资源定位等服务在内的各种网络用户服务

1.4.3 分层数据传输机制

正如寄信时要在信纸外面套上信封并填写地址、邮编等信息后收件人才能收到信一样,数据在发送时必须按照一定的格式在数据前面加上头部,仅仅数据本身是无法在复杂的网络中通行的。数据头部一般包括发送方和接收方信息、数据包长度、数据校验码等信息,并且由于应用层的数据量往往较大(如一个文件或一个视频),如果将其整体作为一个数据包传递的话,一旦网络出现拥挤或堵塞的情况,接收方将无法正确接收,因此往往要将发送的数据分割为若干数据块,再加上头部生成若干个数据包发送,这样生成的数据包大小便于在网络中传输,即使出现个别数据包丢失或接收不正确的情况也不需要将所有的数据重传。

发送方封装数据包的过程如图1-10所示,首先将要发送的数据按指定格式分割成若干数据块,然后分别添加头部生成若干数据包并发送。这个过程被称为封装或打包。

图1-10 封装(打包)

接收方解封装的过程正好相反,即去掉接收到的数据包的头部信息,并将数据块拼接在一起,如图1-11所示。

图1-11 解封装(解包)

在OSI模型中,由于整个网络被分成7层,数据在发送方从上一层到下一层的每一次传递都需要按照该层的功能及协议的格式要求进行封装,因此一共需要添加6个头部信息(即经过6次封装)才到物理层。在物理层将所有数据作为比特流按位发送到接收方,接收方经6次解封装才能到达最上层,如图1-12所示。

通过上述分析,可以总结OSI分层数据传输的过程如下。

1)数据在发送方从最上层(应用层)到最下层(物理层)需要经多次封装,最终由物理层传输比特流。接收方从接收到数据后从最下层(物理层)到最上层(应用层)需要经多次解封装。

2)数据包的封装过程是:先将接收到的上层数据分割成一定长度的数据块,再分别添加本层的头部。添加本层头部信息数据的目的是为了完成该层的功能。

3)物理层最终传输的数据中,除了应用层要传输的数据外还有各层的头部信息数据,因此网络实际流量要大于应用层需要传输的数据量。例如,传输一个1MB的文件可能引起3MB的网络流量。

图1-12 OSI模型的分层数据传输

思考:

在网络中间节点的网络设备上,数据是从下(底层)往上(高层)传输还是从上(高层)往下(底层)传输?

1.4.4 TCP/IP

OSI模型是一种理论化的标准,标准的实现被称为协议。目前使用最广泛的协议是TCP/IP,TCP/IP实际上是一个协议系列,或称为协议簇,而TCP和IP是其中的两个最基本、最重要的子协议,因此,通常用TCP/IP来代表整个协议系列。对应OSI模型的层次结构,并且 为了实现的简单性,TCP/IP将OSI模型部分层次的功能合并,合并后共有4层:网络接口层、网络层、传输层和应用层 ,如图1-13所示。

1-6 TCP/IP

图1-13 TCP/IP协议簇及其与OSI模型的层次对应关系

TCP/IP各层的简要说明如下。

1.网络接口层(Network Interface Layer)

网络接口层 对应OSI模型的物理层和数据链路层 ,主要实现物理寻址与比特流传输。目前使用较多的协议是Ethernet(以太网)协议。

1-7 TCP/IP工作流程动画

2.网络层(Internet Layer)

网络层 对应OSI模型的网络层 ,主要实现路由选择、拥塞控制等。目前使用较多的协议是IP。

3.传输层(Transport Layer)

传输层 对应OSI模型的传输层 ,主要实现端到端的连接。目前使用较多的协议是TCP和UDP。

4.应用层(Application Layer)

应用层 对应OSI模型的上3层(应用层、表示层、会话层) ,主要实现各种网络服务。根据不同的应用功能有不同的应用层协议,目前使用较多的协议包括HTTP、FTP、Telnet协议、DHCP等。

TCP/IP协议簇中的主要协议如表1-1所示。

表1-1 TCP/IP协议簇中的主要协议 eP69px2DhQxUiI4iE3WG9OMixggJ9V4a9honuD1F6pa71kWo30kv0cvb2mdvGuNl

点击中间区域
呼出菜单
上一章
目录
下一章
×