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

2.4 常用网络协议和服务

2.4.1 常用网络协议

1.IP

IP(Internet Protocol)是为计算机网络相互连接进行通信而设计的协议。在Internet中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在Internet上进行通信时应当遵守的规则。IP数据报的结构为:IP头加数据,IP头有一个20字节的固定长度部分和一个可选的任意长度部分,结构如图2-4所示(图中数字代表长度大小,单位为位),其中包含的各个字段含义如下。

● 版本:IP的版本。通信双方使用的IP版本必须一致。目前广泛使用的IP版本号为4(即IPv4)。

● 报头长度:指定数据包报头的大小(4位)。

978-7-111-58242-7-Chapter02-6.jpg

图2-4 IP数据报头结构

● 服务类型:服务类型字段包含一个8位二进制值,用于确定每个数据包的优先级别(8位)。

● 数据包长度:此字段以字节为单位,提供了包括报头和数据在内的整个数据包的大小(16位)。

● 标识:此字段主要用于唯一标识原始IP数据包的数据片(16位)。

● 标志:占3位,第1个未用,第2个为DF,第3个为MF(3位)。

不分片(DF)标志:不分片(DF)标志是标志字段中的一个位,表示不允许对数据包分片。如果设置了不分片标志位,则表示不允许对此数据包分片。如果路由器必须对数据包分片后才能将其向下传送到数据链路层,但此时DF位却设置为1,则该路由器将丢弃此数据包。

更多片(MF)标志:更多片(MF)标志是标志字段中的一个位,与片偏移量共同用于数据包的分片和重建。如果设置了更多片标志位,则表示这并非数据包的最后一个数据片。当接收方主机收到MF=1的数据包时,会检查片偏移量以便了解此数据片在重建的数据包中应放置的位置。当接收方主机收到MF=0且片偏移量中的值非零的帧时,会将该数据片作为重建的数据包的最后一部分放置。未分片数据包的分片信息全部为零(MF=0,片偏移量=0)。

● 片偏移量:片偏移量字段用于标识数据包的数据片在重建时的放置顺序。当路由器从一种介质向具有较小MTU的另一种介质转发数据包时必须将数据包分片。如果出现分片的情况,IPv4数据包会在到达目的主机时使用IP报头中的片偏移量字段和MF标志来重建数据包(13位)。

● 生存时间:生存时间(TTL)是一个8位二进制值,表示数据包的剩余“寿命”。数据包每经一个路由器(即每一跳)处理,TTL值便减1。当该值变为零时,路由器会丢弃数据包并从网络数据流量中将其删除。此机制可以防止无法到达其目的地的数据在路由环路中的路由器之间无限期转发。如果允许路由环路继续,网络将会因永远也无法到达目的地的数据包而出现堵塞。在每一跳处减少TTL值可以确保该值最终变为零并且丢弃TTL字段过期的数据包(8位)。

● 协议类型:表示数据包传送的数据负载类型。网络层参照协议字段将数据传送到相应的上层协议(8位)。

典型的值如下。

01:ICMP 06:TCP 17:UDP

● 报头校验和:报头校验和字段用于对数据包报头执行差错校验(16位)。

● IP源地址:IP源地址字段包含一个32位二进制值,代表数据包源主机的网络层地址(32位)。

● IP目的地址:IP目的地址字段包含一个32位二进制值,代表数据包目的主机的网络层地址(32位)。

● 可选项:IPv4报头中为提供其他服务另行准备了一些字段,但这些字段极少使用。(可变长度)

2.TCP

TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层(Transport Layer)通信协议。

发送和接收方TCP实体以数据段(Segment)的形式交换数据。一个数据段包含一个固定的20字节的头和任意长度的可选部分。TCP的头的结构如图2-5所示,各个字段的含义如下。

● 源端口:长度为16位的源端口字段的值为初始化通信的端口号。

● 目的端口:长度为16位的目的端口字段的值为传输的端口号。

● 顺序号:发送方向接收方发送的封包的顺序号,长度为32位。TCP连接上的每个字节均有它自己的32位的顺序号,顺序号经过一段时间(如一个小时或更长)后会出现重复。

● 确认号:发送方希望接收的下一个封包的顺序号,长度为32位。

978-7-111-58242-7-Chapter02-7.jpg

图2-5 TCP头结构图

●TCP头长:表明TCP头包含多少个32位字,长度为4位。

接下来的6位未用,再接下来的6个标识位长度各为1位,含义如下。

● URG:是否使用紧急指针。

1:使用;

0:不使用。

● ACK:是请求状态还是应答状态。

1:应答,则确认号有效;

0:请求,则确认号被忽略。

● PSH:PSH=1,表示接收方请求的数据一到便送往应用程序而不必等到缓冲区满才传送。

● RST:用于复位由于主机崩溃或其他原因而出现错误的连接。常可用于拒绝非法的数据或非法的连接请求。

● SYN:用于建立连接。在连接请求中,SYN=1,ACK=0,表示连接请求;SYN=1,ACK=1,表示连接被接受。

● FIN:用于释放连接。它表明发送方已没有数据发送了。

● 窗口大小:实现流量控制的字段,表示接收方想收到的每个TCP数据段的大小。若该字段值为0则表示希望发送方暂停发送数据。长度为16位。

● 校验和:对整个数据包的校验和。长度为16位。

● 紧急指针:当URG为1时才有效,是发送紧急数据的一种方式。长度为16位。

● 可选项:用于提供一种增加额外设置的方法,这种设置在常规的TCP包中是不包括的。

3.UDP

UDP向应用程序提供了一种无连接的服务,通常用于每次传输量较小或有实时需要的程序,在这种情况下,使用UDP开销较小,避免频繁建立和释放连接的麻烦。

一个UDP数据段包括一个8字节的头和数据部分,如图2-6所示。

978-7-111-58242-7-Chapter02-8.jpg

图2-6 UDP头结构

UDP头只包括4个字段,每个字段的长度为16位。

● 源端口、目的端口;其作用与TCP中的相同。

● 封包长度:UDP头和数据的总长度。

● 校验和:与TCP头中的校验和一样,不仅对头数据进行检验,还对包的内容进行校验。

2.4.2 常用网络服务

1.活动目录

活动目录(Active Directory,AD)是面向Windows Standard Server、Windows Enterprise Server以及Windows Datacenter Server的目录服务。活动目录不能运行在Windows Web Server上,但是可以通过它对运行WindowsWebServer的计算机进行管理。活动目录存储了有关网络对象的信息,并且让管理员和用户能够轻松地查找和使用这些信息。活动目录使用了一种结构化的数据存储方式,并以此作为基础对目录信息进行合乎逻辑的分层组织。

活动目录服务是Windows平台的核心组件,它为用户管理网络环境各个组成要素的标识和关系提供了一种有力的手段。

2.WWW服务

WWW服务是目前最常用的服务,使用HTTP,默认端口为80。使用Apache可以在Linux/UNIX/Windows Server上架设Web服务器,在Windows下,一般使用IIS作为Web服务器。

用户通过浏览器可以方便地访问处于世界上任何地方的Web服务器上的网页,网页包含了文本、图片、语音、动画等各种文件。

3.电子邮件

电子邮件(E-mail)是目前较流行和最基本的网络服务之一。

电子邮件地址的格式由3部分组成。第1部分“用户名”代表用户信箱的账号,对于同一个邮件接收服务器来说,这个账号必须是唯一的;第2部分“@”是分隔符;第3部分是用户信箱的邮件接收服务器域名,用以标识其所在的位置。

电子邮件系统由客户端软件和邮件服务端软件组成。电子邮件系统的工作方式遵循客户机/服务器(C/S)模式。使用电子邮件服务的每个用户必须在一个邮件服务器上申请一个电子邮箱。邮件服务器管理着众多的客户电子邮箱。

目前,电子邮件服务使用的两个最主要的协议是简单邮件传输协议(SMTP)和邮局协议(POP3)。SMTP默认占用25端口,用于发送邮件;POP3占用110端口,用来接收邮件。

SMTP是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。它是以明文方式进行传输的,存在着较大的安全隐患。

POP3允许用户从服务器上把邮件存储到本地主机(即用户自己的计算机)上,同时根据客户端的操作,删除或保存邮件服务器上的邮件。

4.Telnet

Telnet是一种Internet远程终端访问服务,占用23端口。它能够以字符方式模仿远程终端登录远程服务器,访问服务器上的资源。Telnet是以明文方式发送信息的,也存在较大的安全隐患。

要建立一个到远程主机的对话,只需在命令提示符下输入命令:telnet远程主机IP地址(远程主机名)。用户也可以用具有图形界面的Telnet客户端程序与远程主机建立Telnet连接。

5.FTP

FTP(File Transfer Protocol,文件传输协议)的主要作用是让用户连接到一个远程计算机(运行着FTP服务器程序),查看远程计算机上有哪些文件,然后把文件从远程计算机上下载到本地计算机或把本地计算机文件上传到远程计算机中。FTP服务的端口为21(20)。

与大多数Internet服务一样,FTP的工作方式也遵循C/S模式。FTP从远程计算机复制文件时实际上启动了两个程序:一个是本地计算机上的FTP客户程序,它向FTP服务器提出复制文件的请求;另一个是启动在远程计算机上的FTP服务器程序,它响应复制请求并把指定的文件传送到本地计算机中。FTP客户程序有字符界面和图形界面两种。字符界面的FTP的命令复杂、繁多。图形界面的FTP客户程序,操作简洁方便。

使用FTP时必须先登录,在远程计算机上获得相应的权限以后,方可上传或下载文件。也就是说,要想向哪一台计算机传送文件,就必须具有哪一台计算机的适当授权。换言之,除非拥有用户ID和密码,否则便无法传送文件。Internet上的FTP主机有很多,不可能要求每个用户在每一台主机上都拥有账号,匿名FTP就是为了解决这个问题而产生的。用户可以使用anonymous作为用户ID,E-mail地址作为密码连接到提供了匿名FTP服务的远程主机上,并从那里下载文件,而无须成为其注册用户。

为了安全起见,不要往匿名FTP服务器上存放机密文件。

6.DNS

DNS是域名系统(Domain Name System)的缩写,它是由解析器和域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。其中域名必须对应一个IP地址,而IP地址不一定有域名。域名系统采用类似目录树的等级结构。域名服务器为客户机/服务器模式中的服务器方,它主要有两种形式:主服务器和转发服务器。将域名映射为IP地址的过程就称为“域名解析”。在Internet上,域名与IP地址之间是一对一(或者多对一)的,域名虽然便于人们记忆,但机器之间只是互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。