计算机网络安全(第2版)
上QQ阅读APP看书,第一时间看更新

2.1 计算机网络协议概述

2.1.1 网络协议

无论是面对面还是通过网络进行的所有通信都要遵守预先确定的规则,即协议。这些协议由会话的特性决定。在日常的个人通信中,通过一种介质(如电话线)通信时采用的规则不一定与使用另一种介质(如邮寄信件)时的协议相同。

规范世界上现存的所有通信方法需要很多种不同的规则或协议。

网络中不同主机之间的成功通信需要在许多不同协议之间进行交互。执行某种通信功能所需的一组内在相关协议称为协议簇。这些协议通过加载到各台主机和网络设备中的软件和硬件执行。

网络协议簇说明了以下过程。

1)消息的格式或结构。

2)网络设备共享通往其他网络的通道信息的方法。

3)设备之间传送错误消息和系统消息的方式与时间。

4)数据传输会话的建立和终止。

协议簇中单独的协议可能是特定厂商的私有协议。这里所说的私有指的是由一家公司或厂商控制协议的定义及其运作方式。经过拥有者许可,其他组织也可使用某些私有协议。其他私有协议则只能在私有厂商制造的设备上执行。

2.1.2 协议簇和行业标准

组成协议簇的许多协议通常都要参考其他广泛采用的协议或行业标准。标准是指已经受到网络行业认可并经过电气电子工程师协会(IEEE)或Internet工程任务组(IETF)之类标准化组织批准的流程或协议。

在协议的开发和实现过程中使用标准可以确保来自不同制造商的产品协同工作,从而获得有效的通信。如果某家制造商没有严格遵守协议,其设备或软件可能就无法与其他制造商生产的产品成功通信。

例如,在数据通信中,如果会话的一端使用控制单向通信的协议,而另一端却采取描述双向通信的协议,那么几乎可以肯定它们之间将无法交换信息。

2.1.3 协议的交互

Web服务器和Web浏览器之间的交互是协议簇在网络通信中的典型应用示例。这种交互在二者之间的信息交换过程中使用了多种协议和标准。各种不同协议共同确保双方都能接收和理解交换的报文。这些协议包括如下几种。

1.应用程序协议

超文本传输协议(HTTP)是一种公共协议,控制Web服务器和Web客户端进行交互的方式。HTTP定义了客户端和服务器之间交换的请求和响应的内容与格式。客户端软件和Web服务器软件都将HTTP作为应用程序的一部分来实现。HTTP依靠其他协议来控制客户端和服务器之间传输报文的方式。

2.传输协议

传输控制协议(TCP)是用于管理Web服务器与Web客户端之间单个会话的传输协议。TCP将HTTP报文划分为要发送到目的客户端的较小片段,称为数据段。它还负责控制服务器和客户端之间交换的报文的大小和传输速率。

3.网间协议

最常用的网间协议是Internet协议(IP)。IP负责从TCP获取格式化数据段,将其封装成数据包、分配相应的地址并选择通往目的主机的最佳路径。

4.网络访问协议

网络访问协议描述数据链路管理和介质上数据的物理传输两项主要功能。数据链路管理协议接收来自IP的数据包并将其封装为适合通过介质传输的格式。物理介质的标准和协议规定了通过介质发送信号的方式以及接收方客户端解释信号的方式。网卡上的收发器负责实施介质所使用的标准。

2.1.4 技术无关协议

网络协议描述的是网络通信期间实现的功能。在面对面交谈的示例中,通信的一项协议可能会规定,为了发出交谈结束的信号,发言者必须保持沉默两秒钟。但是,这项协议并没有规定发言者在这两秒钟内应该如何保持沉默。

协议通常都不会说明如何实现特定的功能。通过仅仅说明特定通信规则所需要的功能是什么,而并不规定这些规则应该如何实现,特定协议的实现就可以与技术无关。

以Web服务器为例,HTTP并没有指定创建浏览器使用什么编程语言、提供网页应该使用什么Web服务器软件、软件运行在什么操作系统之上或者显示该浏览器需要满足什么硬件要求。而且,尽管HTTP说明了发生错误时服务器应该如何操作,但却并未规定服务器应该如何检测错误。

这就意味着,无论Web服务器是哪种类型,使用的是哪种形式的操作系统,计算机和其他设备(如移动电话或PDA)都可以从Internet上的任何位置访问存储于服务器中的网页。