嵌入式-网络应用
第六章网络应用技术第一节 网络应用概述计算机网络的目的是为人们提供各种丰富多彩的应用服务,而各种网络应用(Applica- tion) 和创新又反过来推动了计算机网络技术的进步和规模的发展。网络应用是直接面向计算机网络的用户,遵循相应的网络应用协议,为用户提供某个特定的网络服务或实现特定的网络功能的一套完整的软件系统。各种网络应用协议决定了不同网络应用的功能和工作机制,是网络应用最核心的部分。网络
第六章网络应用技术
第一节 网络应用概述
计算机网络的目的是为人们提供各种丰富多彩的应用服务,而各种网络应用(Applica- tion) 和创新又反过来推动了计算机网络技术的进步和规模的发展。网络应用是直接面向计算机网络的用户,遵循相应的网络应用协议,为用户提供某个特定的网络服务或实现特定的网络功能的一套完整的软件系统。各种网络应用协议决定了不同网络应用的功能和工作机制,是网络应用最核心的部分。网络应用伴随着计算机网络的诞生一直到现在,经历了几个不同的发展阶段,从最初的电子邮件、远程登录和文件传输等基本网络应用,到万维网、电子商务和电子政务等基于传统Web的网络应用,再到即时通信、社交媒体和网络视频等基于P2P技术的网络应用。目前,随着物联网、移动互联网、云计算和大数据等为代表的新一代网络形态和技术的出现,各种新型的网络应用正在源源不断地涌现出来,改变着人们的生活。
尽管多种多样的网络应用的功能和作用各不相同,但其基本的工作模式都是客户/服务器模式,即网络应用是由服务请求方(客户机)提出服务请求,由服务提供方(服务器)提供服务来实现的。客户机/服务器模式又分为一般的客户机/服务器模式和 P2P模式。
1.一般的客户机/服务器模式
一般的客户机/服务器(C/S)应用模式是指在通信过程中,首先运行服务器,并且被动等待客户的访问;客户在服务器之后运行,根据应用需要主动向服务器发起通信。概括的说,在C/S应用中,主动发起通信的一端就是客户,被动接受通信的一端就是服务器。这里的客户和服务器都是指通信中所涉及的两个应用进程。需要指出的是,在讨论网络应用服务方式的时候,经常会用到浏览器/服务器(B/S)方式这个概念,B/S从本质上讲也属于客户机/服务器模式,只是其客户端使用的不是特定的客户端软件,而是通用的浏览器软件用户可以通过WWW浏览器(如Internet Explorer)去访问Internet上的文本、数据、图像动画、视频点播和声音信息,这些信息的产生和保存是在网络中的Web服务器,以及与之相连的数据库服务器上,客户端除了Www浏览器,一般无须安装任何其他程序,这样效会大大减轻系统维护与升级的成本和工作量。此外,B/S模式与传统的C/S模式相比,还具有许多优点,比如作为用户,使用起来非常灵活,在任何一台安装了浏览器的联网计算机上都可以随时随地地访问服务器;业务扩展简单,通过增加网页即可增加服务器功能;维护方便,只需要改变网页即可实现所有用户的同步更新等。常用的www、E-mail和FTP等应用都属于一般的客户机/服务器模式。
2.P2P模式
对应于一般的C/S模式,还存在一种特殊的C/S模式,称为对等(Peer to Peer,P2P)模式。在P2P应用模式中,通信双方没有明确的客户与服务器之分,任何一方都可以主动发起通信,任何一方也都可以被动接受通信,所以称为对等模式。之所以说P2P是C/S模式的一种特例,是因为P2P应用仍然是由服务请求方(客户)提出服务请求,由服务提供方(服务器)提供服务来实现通信过程的,只不过每个Peer都是一个客户与服务器的结合而已,既可以提出服务请求,也可以提供服务。即时通信软件QQ、Skype,文件共享软件 BitTorrent、emule,以及流媒体软件PPLive等应用都是基于P2P模式的。
下面将详细介绍几种典型的网络应用技术。
第二节 Internet域名系统(DNS)
如前文所述,Internet中使用IP地址标识成千上万台位于世界各地的主机和路由器,IP数据报中必须包含目的IP地址才能被网络中的路由器层层转发,最终到达指定的终点。而 IP地址(IPv4)是由32位二进制数字组成的,即使采用点分十进制表示方法,也是要写成4个十进制数,如202.194.20.138,没有任何的字面意义,人们记忆起来十分不方便。相对于数字,人们更加喜欢使用字符名称来表示Internet上的主机,该字符名称能代表一定的意义,可以比较容易地记忆和使用。比如人们可以很方便地记录中央电视台的官方网站名称 www.cctv.com、NBA的官方网站名称www.nba.com等。因此,Internet采用了一套与IP地址并行使用的命名机制一一域名,通过人们便于理解和记忆的字符形式对Internet上的主机进行命名。在用户使用的层面,采用域名进行地址描述,而在数据报的实际传输过程中,采用IP地址进行路由和转发。由于存在这样一种两级的Internet地址描述方式,因此就需要有一种专门的机制负责在域名地址和IP地址之间进行转换。在Internet中,提供将主机域名转换为IP地址服务的网络应用称为域名系统(Domain Name System,DNS)。当一个应用程序遇到某个域名时,可以通过DNS将该域名对应的IP地址找到,并在通信过程中使用IP地址进行数据的传输。
DNS为了实现域名与IP地址之间的转换,设计了一套综合的业务规则和工作机制,其核心内容主要包括以下3个方面。
1.层次域名空间
使用DNS的前提条件是Internet中的每一台主机和路由器都要有一个唯一的名称,而要保证如此庞大的名称集合不出现重复是非常困难的,因此,Internet采用了层次树状结构的命名方法来解决这个问题。层次树状结构的基本思想是:任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名称,即域名。域名的结构由标号序列组成,各标号之间用点隔开,标号分别代表不同级别的域名。
….标号3(三级域名).标号2(二级域名).标号1(顶级域名)
例如,山东大学的域名为sdu.edu.cn,其中的cn标号是顶级域名,edu标号是二级域名,sdu标号是三级域名。
DNS域名中的标号都是由英文字母和数字组成的,每一个标号不超过63个字符,不区分大小写。标号中除连字符“-”外不能使用其他标点符号。域名的级别从右向左依次降低,最右边为顶级域名。整个域名不能超过255个字符。域名的管理采用分级管理方式,其中最高的顶级域名由互联网名称与数字地址分配机构(TheInternet Corporationfor Assigned Namesand Number,ICANN)统一管理,其他级别的域名由上一级域名管理机构管理,这样就可以使每一个域名在Internet中保持唯一,也便于进行查找。
DNS 中最高级别的域名称为顶级域名,目前顶级域名共分为3大类。
1)国家顶级域名nTLD,用于分配给各个国家和地区,例如,.cn表示中国,.us 表示美国,.uk表示英国等。
2) 通用顶级域名gTLD,用于分配给不同的行业和组织,如.com(公司和企业)、.net(网络服务机构)、.org(非赢利性组织)、.edu(美国专用的教育机构)、.gov(美国专用的政府部门)、.mil(美国专用的军事部门)和.int(国际组织)等。
3)基础结构域名(Infrastructure Domain)。这种顶级域名只有一个,即arpa,用于反向域名解析,因此又称为反向域名。
整个域名空间可以用一棵倒置的树来表示,位于树的最顶层的是根,根没有具体的域名,往下依次是顶级域名、二级域名、三级域名、四级域名…,如图6-1所示。

各个国家负责自己国家所在顶级域名下的二级域名的制定和分配,比如我国的国家顶级域名为.cn,在.cn域名下,将二级域名划分为类别域名和行政区域名两大类,我国的域名管理机构是中国互联网网络信息中心 CNNIC。
类别域名共有7个,分别为:ac(科研机构)、com(工商企业)、edu(中国教育机构)、gov(中国政府机构)、mil(中国国防机构)、net(提供互联网服务的机构)和吧(中国非盈利性组织)。比如sohu.com(搜狐公司)、sdu.edu(山东大学)和moe.gov(教育部)等。
行政区域名是为我国每个省、市、自治区分配一个本行政区所使用的二级域名,如bj
(北京)、sh(上海)和sd(山东)等。
获得了二级域名的单位或组织,可以自主划分下一级域名而无须由上一级管理机构批准,当域名划分到某一台具体计算机时,则不能再继续向下划分域名。
2.域名服务器
DNS 实现域名与IP地址的转换具体是由分布在各地的域名服务器实现的。DNS中的服务器的设置不是以“域”为单位,而是以“区”为单位。一个服务器所负责管辖的(或有权限的)范围称为区(zone)。区的范围可以小于或等于域,但不能大于域。每一个区设置相应的权限域名服务器,用来保存该区中所有主机的域名到IP地址的映射。DNS按区管理的好处主要是可以避免所有用户访问一个DNS 服务器,降低网络负荷,便于分区域进行管理,减少访问的路径,有利于提升用户访问的速度。DNS 的域名服务器主要包括根域名服务器、顶级域名服务器、权限域名服务器和本地域名服务器4类。
1)根域名服务器是最重要的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址。不管是哪一个本地域名服务器,若要对Internet上的任何一个域名进行解析,只要自己无法解析,就首先求助于根域名服务器。在Internet上共有13个不同 IP 地址的逻辑根域名服务器,它们的名称是用一个英文字母命名的,从a~m(前13个字母)。如a. rootservers. net、b. rootservers. net、…、m. rootservers.net。每一个逻辑根域名服务器都由多台机器组成,它们具有同样的域名和功能,分布在多个地点。当用户需要求助于根域名服务器时,路由器会找到距离用户最近的一台根域名服务器设备。根域名服务器并不直接把待查询的域名转换成IP地址,而是告诉本地域名服务器应该找哪一个顶级域名服务器进行查询。
2)顶级域名服务器(TLD服务器)。顶级域名服务器负责管理在该顶级域名服务器注册的所有二级域名。当它们收到DNS查询请求时,就给出相应的回答,或者是域名查询的结果,或者是应该继续查找的域名服务器的IP地址。
3)权限域名服务器。权限域名服务器负责一个区的域名服务,其中保存了该区中所有主机的域名到IP地址的映射。当权限域名服务器不能回答DNS用户的查询请求时,它将诉用户应该继续查询哪一个权限域名服务器。
4)本地域名服务器,也称为默认域名服务器。本地域名服务器距离主机最近。每一个 Internet服务提供者ISP,或一个大学,一个公司,都可以拥有一个本地域名服务器。当品主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器,如果本地域名服务器和所要查询的主机属于同一个网络,则可以直接将所查询的主机域名转换为IP地址,而不需要再去询问其他域名服务器。
3.域名解析过程
域名解析分为递归解析和迭代解析两种方式。主机向本地域名服务器的查询一般都是来用递归查询。递归查询是指:如果主机所询问的本地域名服务器不知道被查询域名的IP地址,那么本地域名服务器就以DNS客户的身份向某根域名服务器继续发出查询请求报文。
本地域名服务器向根域名服务器的查询通常是采用迭代查询。迭代查询是指:当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地域名服务器:“你下一步应当向哪一个顶级域名服务器进行查询”。然后让本地域名服务器向相应的顶级域名服务器进行查询。顶级域名服务器同样按照要么给出所查询的IP地址,要么告诉本地域名服务器:“你下一步应当向哪一个权限域名服务器进行查询”的方式进行工作;最终,本地域名服务器在某个权限域名服务器上找到要查找域名的IP地址,并将其返回给主机。其过程如图6-2所示。

第三节文件传输协议(FTP)
文件传输协议(FileTransfer Protocol,FTP)用于用户在两台主机之间进行远距离的文件传输,并保证传输的可靠性。FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。FTP屏蔽了各计算机系统的细节,因而适合于在异构网络中的任意计算机之间传送文件。
FTP采用客户机/服务器的方式,由FTP服务器和FTP客户机两部分组成。FTP服务器中以目录结构保存着各种文件,FTP客户机是安装了FTP客户端软件的用户计算机。服务器和客户机之间通过“下载”和“上传”来实现文件的传输。下载是将文件从FTP服务器传输到客户机,上传是将文件从FTP客户机传输到服务器。如果用户要使用FTP服务,首先要从FTP客户机登录到FTP服务器,登录需要输入正确的FTP服务器名、用户名和密码每个FTP服务器名在全球范围是唯一的,如ftp.sdu.edu.cn。FTP服务器的用户名和密码可以自行设置。许多FTP服务器可以提供匿名FTP服务,即不需要每一个用户都有一个专用的账号,可以共同使用一个公开的用户账号(通常为anonymous)登录FTP服务器。 FTP使用TCP提供的可靠传输服务。FTP客户机和服务器之间的通信是由若干个进程实现的,分为FTP服务器进程和客户机进程。一个FTP服务器进程可同时为多个客户进程提供服务。FTP的服务器进程由两部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求。
FTP主进程的工作步骤如下。
1)打开熟知端口(端口号为21),使客户进程能够连接上。
2)等待客户进程发出连接请求。
3)启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要还可能创建其他一些子进程。
4)回到等待状态,继续接受其他客户进程发来的请求。主进程与从属进程的处理是并发进行的。
在进行文件传输时,FTP的客户端和服务器之间需要建立两个并行的TCP连接:控制连接和数据连接。
1)控制连接在整个会话期间一直保持打开,FTP客户发出的传送请求通过控制连接发送给服务器端的控制进程的熟知端口(21),但控制连接不用来传送文件。
2)实际用于传输文件的是数据连接。服务器端的控制进程在接收到FTP客户发送来的文件传输请求后,就创建数据传送进程并且建立数据连接,客户端和服务器端的数据传送进程通过数据连接完成文件的传送,在传送完毕后关闭数据连接并结束运行。服务器进程用自己传送数据的熟知端口(20)与客户进程所提供的端口号建立数据连接。
在实际使用中,企业、学校及个人用户可以根据需要建立自己的FTP服务器,在其中可存储文档、应用程序、视频和音频等各种文件供远程用户下载使用;远程用户通过浏览器或专门的FTP客户端软件登录服务器并进行文件的传输。创建FTP服务器可以利用Windows Server、Windows7等操作系统自带的FTP管理工具,也可以利用Server-U等专门的FTP服务器管理软件。常用的FTP客户端工具软件有Flashftp、Leapftp和Cuteftp等。
第四节电子邮件(E-mail)
一、电子邮件的基本概念
电子邮件E-mail是Internet中使用最为广泛的一种应用服务,几乎每个使用Internet的用户都会经常使用电子邮件进行个人通信。使用电子邮件可以在瞬间将信件传送到世界各地,而且几乎没有任何花费,极大地提高了通信和工作的效率。除了文字信息外,电子邮件还可以以附件的形式传送文档、图像、音频和视频文件。随着电子邮件的普及,传统的纸质平信已经使用得越来越少了,传统的电报业务甚至已经被市场所淘汰。
Interet 中的电子邮件系统主要由3部分构成:用户代理、邮件服务器和邮件发送/读取
协议。其具体内容如下。
1)用户代理UA(UserAgent),以电子邮件客户端软件的形式存在,如Microsoft的 Outlook Express、国产的Foxmail等,是用户与电子邮件系统之间的接口。用户代理的基本功能如下。
·编辑:用户可以使用用户代理撰写、编辑信件,添加收件人,设置邮件主题,以及添加各种附件等。
·显示:将收到的邮件以合适的形式呈现在计算机屏幕上。
·处理:将收到的邮件、发送的邮件和未发送的邮件等进行管理,包括阅读、标记、删除、分类、转发、存附件和自动回复等操作。
·通信:将撰写好的邮件发送到邮件服务器;将邮件服务器中的邮件接收到用户计算机。
2)邮件服务器。邮件服务器相当于普通邮政系统中的邮局,其功能是发送和接收邮件,同时还要向发信人报告邮件传送的情况(已交付、被拒绝或丢失等)。邮件服务器按照客户机/服务器方式工作。邮件服务器需要使用发送和读取两个不同的协议。一个邮件服务器既可以作为客户,也可以作为服务器。
3)邮件发送/读取协议。用户代理与邮件服务器之间的通信是由邮件发送/读取协议实现的。最常用的邮件发送协议是简单邮件传送协议SMTP,最常用的邮件读取协议是邮件协议 POP3。
如同纸质信件的传递需要写明收信人和发信人的姓名、单位、地址和邮编等信息一样,电子邮件系统也需要用于标识发信人和收信人的地址符号。在TCP/IP体系下的电子邮件地址格式是:邮箱名@邮箱所在服务器的域名。
其中符号“@”读作“at”,表示“在”的意思。例如,电子邮件地址haixiazhang@ sdu.edu.cn,haixiazhang表示该邮箱的名称,sdu.edu.cn表示邮箱所在的服务器。该用户在服务器上拥有一个只属于自己的电子邮箱,可以进行邮件的收发。通常公司、学校等单位会建立各自的电子邮件服务器,单位内的用户可以申请带有单位域名的电子邮箱,Internet上也有许多提供免费的电子邮件服务的网络服务商,用户可以在他们的网站进行注册申请,获得电子邮件服务,常用的有国外的hotmail、gmail,以及国内的QQ邮箱、新浪邮箱和263邮箱等。
一个标准的电子邮件内容由首部(header)和主体(body)两部分组成,其中邮件内容首部包括一些关键字,后面加上冒号。关键字主要包括以下几个。
“To:”后面填人一个或多个收件人的电子邮件地址。用户只需打开地址簿,单击收件人的名字,收件人的电子邮件地址就会自动填入到合适的位置上。
“Subject:”是邮件的主题。它反映了邮件的主要内容,便于用户查找邮件。“Cc:”表示应给某人发送一个邮件副本。
“From”和“Date”表示发信人的电子邮件地址和发信日期。“Reply-To:”是对方回信所用的地址。
邮件主体部分由用户自行编辑撰写。
一封电子邮件的发送和接收主要包括以下几个基本步骤。
1)用户使用用户代理编辑好要发送的电子邮件,并且指明正确的收件人地址,然后单
击“发送”按钮。
2)用户代理使用SMTP协议,将邮件传送到发送方邮件服务器上,保存在邮件缓冲区
内,等待发送到接收方的邮件服务器。
3)发送方邮件服务器与接收方邮件服务器建立TCP连接,使用的熟知端口号为25,
邮件缓冲区内的邮件依次发送出去,中间不被任何一个中间邮件服务器所接收。如果超过规定的时间还不能把邮件发送出去,则发送邮件服务器要向用户代理报告发送失败。
4)接收方邮件服务器收到邮件后,将邮件放入收件人的用户邮箱中,等待收件人
下载。
5)当收件人运行用户代理的“接收邮件”功能时,用户代理利用POP3或IMAP协议,
将邮件从接收服务器中下载到本地用户代理。
二、SMTP、POP3 和IMAP协议的基本机制
如前文所述,电子邮件从用户代理发送到邮件服务器采用的是SMTP协议,从邮件服务器接收邮件到用户代理采用的协议是POP3或IMAP。
SMTP协议规定在两个相互通信的SMTP进程之间应如何交换信息。SMTP使用客户机/服务器方式,因此负责发送邮件的SMTP 进程就是SMTP客户,而负责接收邮件的SMTP进程就是SMTP 服务器。当用户代理要发送电子邮件到发送方邮件服务器时,用户代理就作为 SMTP客户端,发送方邮件服务器是SMTP服务器;当发送方邮件服务器与接收方邮件服务器建立TCP连接时,发送方邮件服务器就作为SMTP客户端,而接收方邮件服务器是SMTP服务器。
SMTP 通信可以概括为3个阶段。
1)连接建立:在发送方邮件服务器和接收方邮件服务器之间建立TCP 连接。
2) 邮件传送。
3)连接释放:邮件发送完毕后,SMTP释放TCP 连接。
传统的SMTP作为电子邮件发送协议存在着一定的缺陷。
1)SMTP不能传送可执行文件或其他的二进制对象,只限于传送7位的ASCII码。许多其他非英语国家的文字(如中文、俄文等)就无法传送。
2)SMTP协议发送邮件不需要经过鉴别,在From命令后可以任意填写邮件地址,从而造成垃圾邮件的泛滥。
3)SMTP传送的邮件是明文,没有经过加密,容易被截获,从而造成信息泄露。
邮局协议POP是一个功能简单的邮件读取协议,现在使用的是它的第3个版本POP3。 POP协议也使用客户机/服务器的工作方式。在接收邮件的用户PC中必须运行POP客户端程序,而在邮件接收用户所连接的接收服务器中则运行POP服务器程序。POP服务器程序需要设置用户名和密码,只有用户正确输入身份鉴别信息后才能从接收服务器下载邮件。当用户利用POP服务器程序将接收到的邮件下载到本地计算机后,服务器会把该邮件删除。这就会造成当用户使用某台计算机下载了邮件后,就无法再使用另一台计算机再次读取同一封邮件。
另外一种功能更丰富的邮件接收协议是网际报文存取协议(Internet Massage Access Pro- tocol,IMAP)。IMAP同样使用客户机/服务器工作方式。用户计算机上的IMAP客户端程序通过TCP与接收邮件服务器上的IMAP服务器程序建立连接,用户可以对接收邮件服务器收到的邮件进行阅读、回复和管理邮箱文件等操作。这样,就可以在不同的地点,使用不同的计算机进行电子邮件的使用。其缺点是如果用户不删除邮件,IMAP服务器上的邮件将会一直保留,对服务器存储空间的要求比较大。
除了传统的使用客户机/服务器模式的电子邮件服务外,现在更多的用户使用基于Web的电子邮件系统。用户可以使用Web浏览器登录创建在网站上的电子邮箱,并且在浏览器界面上进行邮件的收发、附件的传输和资料的网络存储等操作。如hotmail、gmail、网易、腾讯和新浪等网站,都提供基于Web的电子邮件服务,用户通过在相关网站进行注册和登录操作后,可以免费使用这些网站提供的电子邮件服务。基于Web的电子邮件系统在发信人客户端与发送邮件服务器之间、收件人客户端与接收邮件服务器之间都是采用HTTP 进行通信,而不使用SMTP、POP3 或者 IMAP协议。
第五节万维网(WWW)
一、WWW的概念与构成
万维网(World Wide Web,WWW)是Internet上最为普及的一种应用服务,它是由成千上万个万维网站点(简称网站)组成的一个联机信息存储系统,网站上以网页(Page)的形式存储着各种文档,其中包含了文字、图片、声音和视频等各种信息。各个网站以链接(link)的方式联系在一起,用户可以非常方便地从一个网站转到另一个网站进行访问。
万维网的概念最初是由欧洲粒子物理实验室的Tim Berners Lee于1989年提出的,他于1990年11月13日写出了第一个网页,标志着万维网的诞生。万维网被认为是20世纪末人类最为重要的发明之一,是Internet发展的重要里程碑,它为信息社会的发展提供了最有力的支持工具。万维网是一个分布式系统,所有的信息都以文档的形式保存在Internet中的各个网站上,信息之间通过链接的方式相连,形成一个包含文本、图像、图形、声音、动画和视频等各种信息形式的超媒体(Hypermedia)系统。万维网的工作模式采用客户机/服务器方式,在用户计算机上运行浏览器(Browser)作为万维网客户程序,大量的万维网文档保存在服务器上,运行服务器程序。用户使用万维网时,首先由客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档,并在客户程序的主窗口上显示文档的内容,称为页面(Page)。
因为万维网是一个容纳各种信息资源的超媒体系统,因此它要比FTP、电子邮件等传统的Internet应用复杂很多,必须首先要解决以下几个问题。
1)分布在世界各地的万维网文档如何进行标识?
2)用户如何从一个万维网文档链接到另一个文档,数据信息是怎样交换的?
3)各种不同类型的万维网文档如何能被所有的用户客户端正确打开并显示?
用来解决这3个问题的思想和技术构成了万维网的核心内容:统一资源定位(URL)、超文本传输协议(HTTP)和超文本标记语言(HTML)。
二、统一资源定位 URL
为了给Internet上的每一个文档进行标识,万维网采用统一资源定位URL(Uniform Re source Location)的方法。URL为Internet上的每一个万维网页分配一个唯一的标识符,相当于将每一台独立计算机上的文件名在整个Internet范围进行了扩展。URL的一般格式如下。
<协议>://<主机>:<端口>/<路径>
其中,<协议>部分指出了用户需要使用什么协议来访问万维网文档,如HTTP和 FTP。: //是规定的格式,必须跟在<协议>后面。<主机>是万维网文档所在的主机域名。:<端口>表示应用层协议所使用的端口号,比如HTTP协议使用的端口号是80,通常可以省略。/<路径>表示万维网文档在主机中所处的位置,如果路径名省略,则URL表示 Internet上的某个主页(Home Page),位于某个服务器网页目录的最高级别,通过主页可以链接到其他站点和网页。
比如山东大学的主页URL为:http://www.sdu.edu.cn。表明访问山东大学主页需要使用到HTTP协议,其主页所在的服务器域名为www.sdu.edu.cn,用到的端口号可以省略。其中,介绍山东大学整体情况的“学校概览”栏目所在的网页URL为:http:// www.sdu.edu.cn/2010/xxgl. html。该URL指出了学校概览网页在服务器中的路径及文件名,用户可以利用该URL直接访问“学校概览”网页,但更多时候是通过主页上的链接访问该网页。
三、HTTP
用户访问万维网文档,万维网文档之间的链接,以及将万维网文档中的数据传送到用户计算机,这些功能的实现都是由超文本传输协议HTTP(HyperTextTransfer Protocol)负责完成的。HTTP是一个应用层协议,它使用TCP连接进行可靠的传送,能够在万维网上进行文本、声音、图像和视频等各种信息的交换。
HTTP也是工作在客户机/服务器模式下,分为HTTP客户端和HTTP服务器两部分,双方每次进行交互,都是由客户端发出的请求和服务器端发出的响应构成。HTTP规定的用户使用浏览器访问万维网的过程可以总结为以下几个步骤。
1)用户在浏览器中输入需要访问网页的URL或者单击某个网页中的链接。
2)浏览器根据URL中的域名,通过DNS解析出目标网页的IP地址。
3)浏览器与网页所在服务器建立TCP连接。
4)浏览器发送HTTP请求报文,获取目标网页的文件。
5)服务器发送HTTP响应报文,将目标网页文件发送给浏览器。
6)释放TCP连接。
7)浏览器将网页的内容(包括文本、图像和声音等)显示呈现在用户计算机屏幕。
HTTP是无连接的,它使用面向连接的TCP所提供的服务。同时,HTTP也是无状态的,即服务器端不记录客户端访问的时间和次数。最初的HTTP版本是1.0版,使用非持续连接(Nonpersistent Connection)。每传输一个对象都需要利用一个往返时间RTT建立TCP连接,用一个往返时间RTT申请并传输回对象,即平均用两个往返时间RTT获取一个对象。目前使用比较广泛的是HTTP的1.1版本(HTTP/1.1),其在默认情况下使用持续连接(Persis-tentConnection),即利用同一个TCP连接传输多个对象。
HTTP 报文是面向文本的,报文中的每一个字段都是一些ASCII码串,各个字段的长度是不确定的。HTTP有两类报文:请求报文和响应报文。请求报文是从客户端向服务器发送的报文,响应报文是从服务器到客户端的报文。下面分别介绍请求报文和响应报文的具体格式。
1.HTTP 请求报文格式
HTTP 请求报文由请求行、请求头部行、空行和请求数据4部分构成,具体格式如下所示。

(1)请求行
请求行由请求方法字段、URL字段和 HTTP 版本字段3个字段组成,它们用空格分隔。最后用回车和换行表示请求行结束。例如:
GET www.sdu.edu.cn HTTP/1.1 回车换行 ( \r\n)
其中“方法”字段表示该请求报文希望服务器做什么,请求报文的类型就是由所采用的方法决定的。HTTP请求报文的主要方法包括GET、POST、HEAD、PUT、DELETE、OP- TIONS、TRACE和CONNECT等。最常见的方法有CET和 HEAD。
GET是最常见的一种请求方式,当客户端要从服务器中读取文档时,通过单击网页上的链接或者在浏览器的地址栏中输入网址来浏览网页,使用的都是CET方法。GET方法要求服务器将URL定位的资源放在响应报文的数据部分,回送给客户端。GET方法不适合传送私密数据和大量数据。
HEAD的功能与 GET相似,只是服务器端接收到HEAD请求后只返回响应头,而不会发送响应内容。当只需要查看某个页面的状态时,使用HEAD是非常高效的,因为在传输的过程中省去了页面内容。
(2)请求头部行(header)
请求头部行包括若干行,每行由关键字及其值构成,关键字和值用英文冒号“:”分隔,每一行都由回车换行表示结束。请求头部通知服务器有关于客户端请求的信息,典型的请求头部关键字有以下几个。
●User-Agent:产生请求的浏览器类型。
●Accept:客户端可识别的内容类型列表。
●Accept-Language:客户端可识别的语言类型。
●Host:请求的主机名。
●Connection:告知服务器发送完文档后释放链接还是保持链接。
(3)空行
最后一个请求头部之后是一个空行,发送回车符和换行符,通知服务器以下不再有请求头部了。
(4) 请求数据 GET方法中没有请求数据的内容,POST方法使用请求数据,用于客户端向服务器端填写表单等操作。
比如浏览器使用GET方法访问山东大学主页中的“学校简介”文档(URL为
www.sdu.edu.cn/2010/xxjj.htm),则其HTTP请求报文可以为:

2.响应报文格式
HTTP 响应也由4部分组成,分别是状态行、消息头部、空行和响应正文。其具体格式如下。

在响应报文的状态行中,版本字段表示服务器HTTP的版本,状态码字段表示服务器发回的响应状态代码;短语字段表示状态代码的文本描述。状态码由3位十进制数字组成,第一个数字定义了响应的类别,有5种可能取值(1~5),
每种状态码的含义如下。
1xx:指示信息。表示请求已接收,继续处理。
2xx:成功。表示请求已被成功接收、理解和接受。
3xx:重定向。要完成请求必须进行更进一步的操作。
4xx:客户端错误。请求有语法错误或请求无法实现。
5xx:服务器端错误。服务器未能实现合法的请求。
常见状态码及状态描述的说明如下。
200 OK:客户端请求成功。
400Bad Request:客户端请求有语法错误,不能被服务器所理解。401 Unauthorized:请求未经授权。
403 Forbidden:服务器收到请求,但是拒绝提供服务。
404Not Found:请求资源不存在,比如输入了错误的URL。
500Internal Server Error:服务器发生不可预期的错误。
503Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常。
消息头部与请求头部的格式相似,也是包含若干行,每行由关键字及其值构成。常用的关键字包括以下几个。
●Date:表示返回消息的时间。
●Content-Type:表示返回消息的内容类型。
●Content-Length:表示返回内容的长度(字节数)。
●Server:表示使用的服务器软件及其版本号。
同样,最后一个消息头部之后是一个空行,发送回车符和换行符,通知客户端以下不再有消息头部了。
响应正文部分是服务器端根据客户端的请求发回的具体文档内容,以HTML表示。
四、Cookie 机制和 Session 机制
由于HTTP是一种无状态的协议,一旦数据交换完毕,客户端和服务器端的连接就会关闭,再次进行数据交换需要建立新的连接,这就意味着服务器端无法跟踪用户的会话。比如用户每次登录论坛、社交网站等万维网网站时,都需要重新输入用户名和密码;用户进行网络购物时,选购了一件商品放入购物车内,当他再次选择其他商品时,服务器无法识别该次购物是否还是这位顾客的行为,因此需要每购买一件商品就必须立即结账。为了解决这些问题,万维网引入了Cookie机制和Session机制来实现会话的跟踪。
1.Cookie 机制
Cookie 原意为“小甜饼”或“曲奇”,是由W3C组织首先提出的一种技术,目前已经成为万维网的标准,所有的主流浏览器都支持Cookie。Cookie可以形象地比喻为万维网网站服务器颁发给各个客户端用户的通行证,服务器通过通行证可以识别、限制和跟踪用户。
Cookie 的准确定义是:Cookie是万维网服务器在客户端保存的一段文本,用于保存用户访问服务器的相关信息。Cookie中保存的信息在用户每次访问服务器的过程中被服务器进行检索,以此来对用户进行识别和跟踪。Cookie的工作基本原理为:假设某用户A使用他的计算机首次浏览某个万维网网站的服务器,该网站会给A分配一个唯一的ID号,并以此为索引在服务器数据库中创建一条记录。然后在发送给A的HTTP响应报文中添加一个首部行,其名称为Set-cookie,值为分配给A的ID号,假设为00000001,即Set-cookie:00000001。当用户A收到网站发回的HTTP响应报文时,先在本地计算机创建一个文本文件(即为该网站的Cookie),并从响应报文中读取A的ID号,与网站的主机名一起作为一行写人Cookie文件中。当用户A之后再次用同一台计算机访问该网站时,浏览器会查询客户端的Cookie 文件,并在HTTP请求报文中写入之前获得的ID号,作为请求报文的一个首部行,即Cookie:00000001。网站收到该HTTP请求报文后,通过Cookie首部行中的ID值00000001判断出该用户为A,并可以检索本地数据库,了解用户A都进行过哪些访问行为。
除了ID号,网站还可以根据需要将其他信息写入Cookie文件,比如用户在网站停留的时间、注册使用的账户名等。Cookie文件的格式如下。
第一行Cookie变量名第二行Cookie变量值
第三行该Cookie变量所属域
第四行可选标志(Cookie是否加密)
第五行该Cookie过期时间(FILETIME格式)的高位整数
第六行该Cookie过期时间(FILETIME格式)的低位整数
第七行Cookie创建时间(FILETIME格式)的高位整数
第八行该Cookie创建时间(FILETIME格式)的低位整数
第九行Cookie记录分隔符(星号*)比如某个Cookie文件中保存的内容为:

Cookie 中的内容大多数经过了加密处理,因此在用户角度看来只是一些毫无意义的字母数字组合,只有服务器端的专门处理程序才知道它们真正的含义。
Cookie 文件可以保存在客户端计算机的硬盘中,也可以保存在客户端计算机的内存中。保存在内存中的Cookie被称为会话Cookie,表示这个Cookie的有效周期是浏览器的会话期间,只要关闭浏览器窗口,Cookie就消失。保存在硬盘中的Cookie通常被称为永久Cookie, Cookie的有效周期可以进行设置,关闭浏览器不影响Cookie的有效周期。
万维网网站利用Cookie技术进行用户跟踪,最常见的用途有以下几个。
1)网站可以利用Cookie的ID来准确统计网站的实际访问人数、新访问者和重复访问者的人数对比,以及访问者的访问频率等数据。
2) 网站可以利用Cookie限制某些特定的用户的访问。
3)网站可以存储用户访问过程中的操作习惯和偏好,对不同的用户呈现不同的显示内容、颜色和布局等界面元素,更有针对性地为用户提供服务,提升用户体验感。
4)记录用户登录网站使用的用户名、密码等信息,当用户多次登录时,无须每次都从键盘输人这些烦琐的字符和数字。
5)电子商务网站利用Cookie可以实现“购物车”功能。对于同一个ID的用户,网站可以跟踪其向“购物车”中添加的不同商品,每个商品都会和ID一起存储在网站数据库中。当用户选择结账时,网站通过对数据库中该ID的检索,找到用户购买的所有商品一起实现结账功能。
Cookie技术使万维网的使用更加方便,但也带来了一定的安全问题。比如,网站利用 Cookie 跟踪每个用户的访问行为、账户和密码等信息,一旦泄露,会给用户造成很大的损失;对于在公共场所多个用户使用同一台计算机的情况,使用Cookie可能会暴露某个用户的网络操作行为,比如登录过哪些网站、购买过哪些商品等信息。
2. Session 机制
Session 是另外一种万维网服务器记录用户访问状态的机制,Session与Cookie的最根本不同是:Cookie机制中的用户信息文件被保存在客户端,而Session是在服务器端将用户信息进行保存的。用户使用浏览器访问万维网网站时,网站服务器把用户的信息记录在服务器上,称为Session。当该用户再次访问时可以在Session中查找该用户的状态信息。Session 的基本工作原理可以描述为:当用户使用浏览器首次访问某个网站时,服务器会为该用户创建一个唯一的 Session标识,称为SessionID,并以SessionID为索引开辟一块数据存储空间,用于保存该用户的访问信息。服务器将SessionID通过HTTP响应报文返回给用户。以后用户每次访问该网站时,请求报文都包含有SessionID,服务器收到后根据SessionID检索服务器端所保存的Session。在客户端和服务器之间传递SessionID可以采用两种方式,一种是通过Cookie,即SessionID被保存在客户端的Cookie中,每次用户使用浏览器访问网站时,在 HTTP 请求报文中将Session ID传递给服务;另一种方式称为URL重写技术,客户端浏览器直接将 Session ID添加在URL路径后面通知网站服务器。
五、超文本标记语言HTML
万维网的网页(Page)是承载Internet上各种文档的载体,为了能让各种不同的主机和浏览器能够访问万维网网页,网页内容的描述和表示需要采用统一的标准。超文本标记语言(Hyper Text Markup Language,HTML)就是一种描述和表示万维网网页的标准语言。HTML是一种描述文件格式的计算机程序语言,通过各种标记(Tag)指示浏览器以何种方式显示网页中的文本信息,HTML标记与文本构成了网页的原始文件,而图形、声音、动画和视频等非文本元素需要用其他软件制作,再通过HTML的标记编排在原始文件中,最后通过浏览器来解读,并在屏幕上展示效果。
HTML的前身是IBM公司于20世纪60年代后期创建的通用标记语言,1980年标准通用标记语言SGML 被推出,在此基础上开发出最初的HTML语言。HTML语言刚问世的时候,存在很多不同的版本,直到1995年11月才推出了第一个HTML的正式规范一HTML2.0。经过多年的发展,HTML的功能不断丰富和强大,目前已经发展到支持移动互联网终端应用的 HTML5。
HTML语言通过标记告知浏览器怎样解释和显示网页,在HTML源文件中,各种标记是由符号“<”和“>”括起来的。组成HTML文件的标记有许多种,每种标记的作用也各不相同,主要用于标注各种元素在浏览器中的输出和格式。最基本的标记是<html>和</html>。<html>位于整个HTML文件的最开始,而</html>位于整个HTML文件的最后,两者之间的文本及其他标记则是网页中的内容,如果没有这两个标记,浏览器就无法识别该文档格式并正确解释它。HTML的标记常常是成对出现的,且忽略大小写,基本的标记还包括以下几个。
1.头部标记:<head >和</head >
位于<head>和</head>之间的内容,是网页的头部,与网页主体区别开来,在头部标记中还可以加入其他标记,如<title>等。
2.文件标题:<title >和</title>
位于<title > 和 </ttle>标记之间的文字,是网页的题目,将显示在浏览器的标题栏中。
3.主体标记: <body>和</body>
<body >和 </body>分别标记网页实际内容的开始和结束,两者之间的部分称为主体部分,将显示在浏览器的页面中。
4.标题:<hn>和</hn>
文件主体部分的标题标记,其中n可以取1,2,3,4,5,6,即允许有6个层次的标
题,每对之间的文字为该层次的标题。
5.段落: <p><p>标记单独出现,表示段落的结束,其后的文字将换行。如果文字中一直没有<p>标记出现,则所有的文字都排在一个段落里,直到遇到窗口的边界才会换行。
6.预格式化标记:<pre >和</pre >
其作用是表示两者之间的文字将按原样在浏览器中显示,不改变格式。
7.行中断标记:<br>
<br>的作用是中断文本中的某一行,其后的文字将开始新的一行。
8.超文本链接:<a>和</a >
超文本链接是HTML文件的一个特点,可以在文件内的不同段落、本机上的不同文件,以及不同计算机间的文件之间进行跳转。设置超文本链接的标记为<a>和</a >,其格式为:<a href= >字符串</a >,其中标记间的字符串是被设置为超链接的一串文字,在浏览器中单击它即可跳转;而属性href的值为超链接要跳转到的目的地,可以是本机上的另一个文件名,如<a href=" abc. html"> ABC</a >,也可以是互联网上另一个网页的URL,如<a href=”http://www.sina. com.cn" > 新浪 </a >。跳转的目的地还可以是同一个文件的另一段文字,这需要预先给要跳转到的目标位置命名,采用<a name=”标记名">本文中的一段文字</a >为本文中的一段文字命名,然后再给href 属性赋值:#标记名,即可跳转到该段文字,

9.显示多媒体信息标记
为了丰富网页的内容和效果,可以在HTML文档中加人图形、音频和视频文件,对于图形文件,采用< img src="图形文件名"/>的方式可以将指定的图形文件加入到网页中。
对于音频和视频文件,可以利用超文本链接标记,将href属性的值赋予相应的音频和视频文件名即可。
以下是一个简单的HTML文档,利用任何一种文档处理软件,如Windows自带的记事本工具,将其保存为一个扩展名为.htm或.html的文件,然后用浏览器软件(如IE)打开该文件,则显示如图6-3所示的网页。其中包括了文字、超链接和图片,单击超链接“第二章",会跳转到如图6-4所示的网页。HTML语言还包括丰富的页面排版、清单、表格和多媒体等标记,这里不再一一介绍。

人类社会进入到20世纪中期后,以计算机、电子、通信为代表的信息技术逐渐成为推动着社会发展进步的主导技术,围绕信息的收集、处理、传输和使用,产生了大量的新技术、新设备、新产业以及新的生活方式。从世界上第一台电子计算机ENIAC的诞生到今天的互联网时代,信息产业在短短几十年的时间里获得了巨大的发展,与社会生产和人们生活的各个方面息息相关,密不可分。<p>计算机在诞生后,作为信息处理的核心器件,被广泛的应用在科学计算、工业控制、人工智能、数据管理、辅助设计等各个领域。随着计算机的普及,人们越来越不满足孤立的计算机所进行的信息处理,而是希望位于不同空间的计算机及其附属设备能够连通起来,从而实现信息的传输和共享。计算机网络便是在这样的背景下出现的。

HTML为万维网中信息文档的共享和交流提供了基础,但由于其功能相对简单,在万维网快速发展的过程中逐渐显示出一些问题和不足,包括缺乏页面布局的控制、无法动态改变页面内容、交互困难,以及在不同设备(如智能手机)上的适应性差等,为了解决这些问题,人们设计出了许多新的技术方案,对HTML进行扩展,比如动态HTML、XML和XHT- ML等,其中使用最为广泛的是可扩展标记语言XML。XML也是基于SGML语言设计出来的,其最大的特点在于它是一种元标记语言,即在XML中,开发人员可以根据需要定义自己的标记,只要这种标记满足XML的命名规则即可。这样,XML就可以克服HTML语言只有固定标记的缺点,使设计的网页内容更加丰富美观。另外,XML语言可以表示结构化的数据,从而更加有利于数据交换。由于可以自定义标记,网页开发者可以使用XML来确定数据的格式和数据之间的关系,而不受应用程序和操作系统等平台的限制。
XML并不是HTML的替代品,也不是HTML的升级,而是HTML的一种补充,可以扩展 HTML的功能。HTML主要用来表示信息的布局和显示,XML主要用来描述信息本身,两者彼此互补,可以同时使用。
XML文档是由XML语言编写的源代码文件,可以由记事本、写字板等文本编辑器创建和修改,其文档扩展名为.xml。一个XML文档由3部分组成:一个XML文档声明、一个关于文档类型的定义和用XML标记创建的内容。

其中第一行为XML文档的声明,指定了XML的版本信息。声明还可以包括XML的编码属性和独立属性。编码属性指定了XML文档使用的语言,独立属性指定是否需要文档类型定义。
第二行为文档类型(DTD)定义,指定了XML文档使用的文档类型定义文件。文档类型定义DTD用来定义XML文档中元素、属性,以及元素之间关系的一系列规则的集合。 DTD可以位于一个XML文档中,用来为该文档提供语法规则描述,也可以单独保存为一个文件,可以为多个XML文档提供语法规则描述。上述XML文档中的DTD就是以一个独立文件的形式存在的,文件名为student. dtd。文档类型定义的格式为:<! DOCtypedoctype SYSTEM/PUBLIC"docname. dtd">。
其中“!DOCtype”是指要定义一个DOCtype;doctype是文档类型的名称,由用户自己定义;SYSTEM/PUBLIC两个参数选择其一,SYSTEM是指文档使用的是私有DTD文, PUBLIC是指文档调用公用的DTD文件;docname.dtd为DTD文件的文件名。
文档类型定义后的部分为XML文档的内容主体部分。
使用HTML或者XML所创建的万维网文档是一种静态文档,即文档创建完成后就存储在服务器中,在用户浏览的过程中文档不会被改变,当需要改变内容时只能重新手工对文档进行修改,这样就会造成网页信息陈旧、不生动。当需要在网页上显示即时新闻、股票行情和体育比赛比分等频繁变动的信息时,就需要创建能够自动更新内容的动态文档。动态文档是由应用程序创建的,其中的内容在浏览器访问网页所在服务器时才由应用程序动态生成。每次服务器返回给浏览器的响应内容都不一定相同。动态文档和静态文档的主要区别在于文档生成方式的不同,要实现动态文档,必须在万维网服务器端增加某种应用程序,用来处理浏览器的请求和数据,并创建动态文档,返回给浏览器。服务器端用来实现动态文档的应用程序称为通用网关接口CGI程序或者CGI脚本,用来编写CGI程序的语言包括Perl、Javas- cript 和 Tel/Tk等。
URL、HTTP和HTML语言是万维网应用技术最基本、最核心的内容,但万维网是一个极其复杂和庞大的分布式系统,而且发展迅速,新的技术、协议和功能不断涌现,由于篇幅所限,本章不再一一介绍。
第六节电子商务应用
电子商务是将计算机网络技术,特别是Internet技术与传统商务活动相结合的一种动态商务活动。电子商务是对传统商业交易方式的一次根本性变革,通过计算机网络将商务活动的各个参与者,包括商家、顾客和金融机构等联系在一起,实现商品展示、顾客选购、在线支付和售后服务等各个环节,最后通过线下物流配送完成整个商务活动。
1997年11月,国际商会在巴黎举行了首届世界电子商务会议,首次从商业角度提出了电子商务的概念:电子商务是实现整个贸易活动的电子化的商业形式,其业务涵盖了信息交换、售前售后服务、销售、电子支付、运输、金融和虚拟企业等。电子商务将原有的传统销售渠道移植到Internet上,打破了国家和地区间有形及无形的壁垒,使企业生产全球化、网络化、无形化和个性化。在过去的十几年里,电子商务在全球范围内得到了飞速发展,在改变社会生产方式、调整经济发展结构方面发挥了巨大的作用。
一、电子商务的类型
电子商务可以按交易对象和交易内容进行分类。
1.按照交易对象分类
1)企业与消费者之间的电子商务(BusinesstoConsumers,B2C)。生产企业或者销售企业在Internet上开设网上商城,面向直接消费者销售电器、书籍、服装、日用百货和食品等各种商品,典型的B2C电子商务网站有国外的Amazon,国内的京东、当当网和天猫等。
2)企业与企业之间的电子商务(BusinesstoBusiness,B2B)。分为非特定企业间的电子商务和特定企业间的电子商务两种形式。非特定企业间的电子商务是指在开放的网络中对每笔交易寻找最佳的交易对象,并进行从订购到结算的全部交易行为。特定企业间的电子商务是指在过去一直有交易关系或未来长期有交易关系的企业,为了相同的经济利益,共同设计、开发和管理的商务交易系统。典型的B2B电子商务网站是阿里巴巴网。
3)个人与个人之间的电子商务(Consumers to Consumers,C2C)。C2C模式是指在Inter- net上进行商品交易的双方都是个人或者小商户,交易的商品类型更加丰富,交易方式也更加灵活。典型的C2C电子商务网站如淘宝网。
4)从线上到线下的电子商务(Online to Offline,02O)。020是近几年新兴的一种电子商务类型,起源于美国。O20是指在商务活动中,将线下的商机与Internet相结合,让I- temel 成为线下交易的平台。商家同时开设网上商城和线下实体店,线上主要提供宣传推广、在线互动、在线购买和支付功能,在线下为用户提供具体的服务。这种模式适合于餐饮、旅游、娱乐和休闲等服务性行业。典型的O20网站有滴滴出行、大众点评网、糯米网和美团网等。
2.按商务活动内容分类
1)间接电子商务,即有形货物的电子化交易,货物还需要通过邮政或商业物流渠道最终送到用户手中。
2)直接电子商务,即无形货物和服务的电子化交易,如计算机软件、电子图书、电影和音乐等的购买、支付和下载。
二、电子商务过程的3个阶段
因为电子商务是商务活动的一种,既有传统商务的共性,也有其自身的特点,完整的电子商务过程可以分为交易前、交易中和交易后3个阶段。
1.交易前
参与电子商务的买卖双方在交易前要做好各项准备活动。卖方要进行全面的市场调查和分析,制定各种销售策略和销售方式,利用Internet进行全方位的商品展示和宣传,提升用户体验感。买方通过Internet搜索查询需要购买的商品,比较不同的电子商务网站和卖家的商品性能、价格和服务等信息,注册交易账户和支付账户等。
2.交易中
买卖双方认可交易的各项权利和义务。买方通过Internet确定购买商品或服务的种类、规格、数量,以及用户的姓名、地址、联系方式、支付方式和物流方式等信息,形成并提交订单。卖方根据订单开始组织发货和配送。
3.交易后
买卖双方对物流配送的货物进行跟踪,买方收到货物后进行确认并支付货款,卖方出具发票,整个交易完成并记录。如果买方发现商品问题,通过电子商务网站所提供的即时通信工具与卖方客服人员进行交涉,协商退换货事宜。买方根据交易过程中卖方的服务情况,在电子商务网站平台对卖方进行打分评价。
三、电子商务的主要功能
1.企业业务组织
电子商务是一种基于信息的商业过程,在这一过程中,企业内外的大量业务被按照信息化管理的方式进行重组,实现内部的管理信息和外部的商品信息能够有效的衔接。
2、信息发布与广告宣传
电子商务通过各种形式的万维网网站进行商业信息的发布和商品的展示,并且通过万维网的搜索引擎、超链接等技术实现更大范围的宣传推广。
3. 咨询洽谈
在电子商务活动中,顾客可以通过电子邮件、BBS论坛和即时通信工具等向商家提出问题,了解商品信息,商谈交易事务。
4.在线选购
顾客根据自己的需要在电子商务网站选购商品,选择好的商品被保存在购物车中,顾客可以随时增加和删减,购物车页面会显示实时的商品数量和金额信息。
5.网上支付
顾客可以使用信用卡、网银或第三方支付等非现金方式在线支付商品货款,并且由相应的安全机制来保证支付的安全。
6.交易管理
商务活动中会涉及人、财、物及数据等多方面的内容,以及这些内容之间的相互作用和相互关系,电子商务系统会与交易相关的信息进行统一的管理,从而使得交易更加快捷、方便。
7.数据统计与挖掘
电子商务可以将大量的交易相关数据记录下来,并对这些数据进行统计分析,从中挖掘出隐藏在数据中的有商业价值的信息。利用这些信息,电子商务企业可以更有针对性地设计商品的营销策略,改进服务水平,从而提高经济效益。
四、电子商务系统的一般结构
电子商务系统是一个包含计算机、网络和数据库等技术元素、企业及人员等实体元素,以及法律、制度和标准等规则元素的复杂系统,其系统结构如图6-5所示。

1.网络平台
电子商务实现的网络基础设施包括各种基础网络硬件设备及其构成的Internet环境。
2.信息传输平台
电子商务业务的大量信息要实现传输和共享,需要某种网络应用作为载体,最常见的电子商务信息传输平台是万维网,以网页的形式展示和传播电子商务信息。近几年来,随着移动互联网的发展,更多的电子商务业务通过移动终端应用程序APP来实现信息的发布和传输。
3.电子商务平台电子商务平台是围绕实现电子商务业务所建立的一系列软硬件设备,包括数据库服务器、安全服务器和账户服务器等,以及由这些设备所构成的数据中心、认证中心、支付中心和呼叫中心等机构。
4.电子商务应用系统
电子商务应用系统直接面向消费者,提供各种电子商务服务的应用形式,包括网上商城、视频网站、在线教育、在线医疗、生活服务、娱乐游戏和互联网金融等。
5.技术标准和法律法规
安全性是电子商务面临的一个最重要的问题,要保障电子商务活动的安全性,一是由软硬件开发企业、网络运营和管理企业,以及电子商务企业在技术领域制定严格的安全保障标准,二是由政府、行业组织完善各项防范网络安全风险和打击网络安全犯罪的法律法规。
一个典型的电子商务系统主要由以下实体组成。
·客户(包括个人客户和企业客户)。·供货方(包括生产企业、批发商等)。
·支付机构(包括商户银行、客户银行和第三方支付平台等)。
·认证中心(包括身份认证、信用认证等)。
·销售中心(包括网上商城和网上个人店铺等)。
·配送中心(包括邮政系统和商业物流企业)。
·电子商务系统的业务流程如下。
1)客户在客户银行开设银行账户并存款,开通网上银行、信用卡或者第三方支付平台等在线支付功能。
2)客户在销售中心选购商品,提交订单并完成支付(注:有些电子商务企业也提供货到付款服务。)
3)客户银行或者第三方支付平台确认客户提供的账号和密码正确,从客户账户上划拨货款到商户银行的账户。
4)客户、商户及支付机构的信息由认证中心进行认证。
5)销售中心根据订单要求产品供货方送货到配送中心。
6)配货中心通过邮政或物流渠道送货至客户,并将货到证明反馈给销售中心。
本章小结
网络应用是直接面向计算机网络的用户,遵循相应的网络应用协议,为用户提供某个特定的网络服务或实现特定的网络功能的一套完整的软件系统。各种网络应用协议决定了不同网络应用的功能和工作机制。网络应用伴随着计算机网络的诞生一直到现在,一直源源不断地涌现出来,改变着人们的生活。
网络应用基本的工作模式都是客户机/服务器模式,客户机/服务器模式又分为一般的客户机/服务器模式和P2P模式。
Internet采用了域名与IP地址并行使用,通过人们便于理解和记忆的字符形式对Internet上的主机进行命名。域名系统DNS是一个提供将主机域名转换为IP地址的应用服务。当一个应用程序遇到某个域名时,可以通过DNS将该域名对应的IP地址找到,并在通信过程中使用IP地址进行数据的传输。DNS采用了层次树状结构来进行域名的命名,域名的管理采用分级管理方式,其中最高的顶级域名由ICANN统一管理,其他级别的域名由上一级域名管理机构管理。DNS中的顶级域名包括了国家顶级域名nTLD、通用顶级域名gTLD和基础结构域名(infrastructure domain)3类。
DNS实现域名与IP地址的转换具体是由分布在各地的域名服务器实现的。DNS中的服务器的设置以“区”为单位。DNS的域名服务器主要包括根域名服务器、顶级域名服务器、权限域名服务器和本地域名服务器4类。
域名解析分为递归解析和迭代解析两种方式。主机向本地域名服务器的查询一般都是采用递归查询。本地域名服务器向根域名服务器的查询通常采用迭代查询。
文件传输协议(FTP)用于用户在两台主机之间进行远距离的文件传输,并保证传输的可靠性。FTP采用客户机/服务器的方式,由FTP服务器和FTP客户机两部分组成。FTP使用TCP提供的可靠传输服务。FTP客户机和服务器之间的通信是由若干个进程实现的,分为FTP服务器进程和客户机进程。0发
电子邮件(E-mail)是Internet上使用最为广泛的一种应用服务,主要由用户代理、邮件服务器和邮件发送/读取协议3部分组成。用户使用用户代理软件进行邮件的编写、读取等操作;邮件服务器的功能是发送和接收邮件,同时还要向发信人报告邮件传送的情况;用户代理与邮件服务器之间的通信是由邮件发送/读取协议实现的。最常用的邮件发送协议是简单邮件传送协议SMTP,最常用的邮件读取协议是邮件协议POP3。
电子邮件地址格式是:邮箱名@邮箱所在服务器的域名。
除了传统的使用客户机/服务器模式外,用户还可以使用Web浏览器登录创建在网站上的电子邮箱,并且在浏览器界面上进行邮件的收发、附件的传输和资料的网络存储等操作。
万维网(WWW)是Internet上最为普及的一种应用服务,它是由成千上万个万维网站点(简称网站)组成的一个联机信息存储系统,网站上以网页(Page)的形式存储着各种文档,其中包含了文字、图片、声音和视频等各种信息。各个网站以链接(Link)的方式联系在一起,用户可以非常方便地从一个网站转到另一个网站进行访问。万维网的核心内容包括统一资源定位(URL)、超文本传输协议(HTTP)和超文本标记语言(HTML)。
万维网采用统一资源定位符(URL)的方法,为Internet上的每一个万维网分配一个唯一的标识符。URL的一般格式是:<协议>://<主机>:<端口>/<路径>。
用户访问万维网文档、万维网文档之间的链接,以及万维网文档中数据传送的用户计算机,都是由超文本传输协议(HTTP)负责完成的。HTTP是一个应用层协议,它使用TCP连接进行可靠的传送,能够在万维网上进行文本、声音、图像和视频等各种信息的交换。
HTTP有两类报文:请求报文和响应报文。请求报文是从客户端向服务器发送的报文,响应报文是从服务器到客户端的报文。
万维网采用Cookie机制和Session机制来实现会话的跟踪。Cookie是万维网服务器在客户端保存的一段文本,用于保存用户访问服务器的相关信息。Cookie中保存的信息在用户每次访问服务器的过程中被服务器进行检索,以此来对用户进行识别和跟踪。Session是另外一种万维网服务器记录用户访问状态的机制,Session与Cookie的最根本不同是:Cookie 机制中的用户信息文件被保存在客户端,而Session是在服务器端将用户信息进行保存的。
万维网的网页(Page)是承载Internet上各种文档的载体,为了能让各种不同的主机和浏览器能够访问万维网网页,网页内容的描述和表示需要采用统一的标准。超文本标记语言(Hyper Text Markup Language,HTML)是用来描述和表示万维网网页的标准语言,通过各种标记(Tag)指示浏览器以何种方式显示网页中的文本信息。
为了解决HTML功能相对简单的问题,在HTML基础上产生了很多新的网页描述语言,使用最为广泛的是可扩展标记语言XML,其最大的特点是,在XML中,开发人员可以根据需要定义自己的标记,可以克服HTML语言只有固定标记的缺点,使设计的网页内容更加丰富、美观。
当需要在网页上显示即时新闻、股票行情和体育比赛比分等频繁变动的信息时,需要创建能够自动更新内容的动态文档。动态文档是由应用程序创建的,需要在万维网服务器端增加某种应用程序,称为通用网关接口CGI程序或者CGI脚本,用来编写CCI程序的语言包括Perl、JavaScript 和 Tel/Tk等。
电子商务是将计算机网络技术,特别是Internet技术与传统商务活动相结合的一种相互关联的动态商务活动。电子商务是对传统商业交易方式的一次根本性变革,通过计算机网络将商务活动的各个参与者联系在一起,实现商品展示、顾客选购、在线支付、售后服务和配送等各个环节。电子商务按交易对象的不同可以分为B2C、B2B、C2C和O20等形式,按交易内容的不同可以分为间接电子商务和直接电子商务。典型的电子商务系统主要包括客户、供货方、支付机构、认证中心、销售中心和配送中心等实体。
思考题与练习题
1.请简述一般的客户机/服务器模式和P2P模式的工作特点。
2.新一代网络形态和技术有哪些?
3.即时通信工具QQ是基于哪种网络应用服务模式的?
4.DNS的顶级域名包含哪3大类?
5.DNS的域名服务器主要包括哪4类?
6.DNS域名解析分为哪两种方式?每种方式各自在什么情况下使用?
7.DNS进行查询使用的是哪种传输层协议?
8.请简述FTP服务器主进程的工作步骤。
9.FTP服务使用的是哪种传输层协议?
10.电子邮件系统主要由哪3部分构成?各部分的功能是什么?
11.如果用户想在不同的地点使用不同的计算机实现邮件接收服务,则应用到哪种邮件接收协议?
12.请简述 HTTP 规定的用户使用浏览器访问万维网的过程。
13.如果用户浏览网页时输入了错误的URL,会在浏览器页面中看到什么样的状态代码和状态描述?
14.HTTP的请求报文由哪几部分构成?15.Cookie技术常见的用途包括哪些?
16.Session 机制与Cookie机制的最根本不同是什么?
17.HTML通过什么指示浏览器以何种方式显示网页中的文本信息?18.可扩展标记语言XML的主要特点是什么?
19.请简述静态万维网文档和动态万维网文档的区别。
20.请简述B2B、B2C、C2C和O20电子商务类型的含义及其代表应用。21.电子商务系统一般包含哪些元素?22.电子商务系统的主要功能有哪些?
第七章 网络管理技术
第一节 网络管理概述
一、网络管理的发展历史
网络管理理论和技术是随着计算机、通信等学科的理论和工程技术的发展而发展的。一方面网络管理技术适应了现有网络的管理需求;另一方面,网络的发展又反过来促进了网络管理研究和技术的发展。
最初的网络管理可以追溯到19世纪末,电话接线员被认为是电信交换网络最早的管理者,可以对采用电路交换的电话系统进行接人、转接、线路和通话时间分配等控制。随着互联网的前身ARPANET的建立,负责运行和维护该网络的网络管理系统也随之建立起来。各大计算机网络生产企业也纷纷推出了自己的实验性网络及网络管理系统,如IBM的SNA、 DEC的 DNA 和Apple的AppleTalk等。由于当时的网络规模较小,这些网络管理系统都相对比较简单。与计算机网络产品一样,这一时期的网络管理系统也面临着标准不统一,无法实现跨网络、跨生产厂商的统一管理等问题,这种情况一直延续到了20世纪80年代 Internet的兴起。
20世纪90年代末,随着各种网络管理的国际标准陆续被推出,市场上陆续出现了符合
国际标准的商用网络管理软件,如IBM的TivoliNetView、HP的OpenView、Fujitsu的 Net- Walker 和 Cisco 的CiscoWorks等。它们都在各种实际应用环境下得到了一定的应用,并已有了相当的影响。国内发展较快的厂商也开发了符合国际标准的且具有自主知识产权的网络管理系统,如华为的QuidView、锐捷的StarView等。
网络管理的主要任务有两个:一是对网络的状态进行监测;二是对网络的运行进行控制。通过监测可以了解当前网络状态是否存在问题;通过控制可以对网络资源进行调配,从而优化网络性能,提高服务质量,保证网络安全。
随着网络技术的发展,网络管理的范围已扩大到网络中的通信活动,以及网络的规划、组织、实施、运营和维护等各个方面。因此,网络管理系统需要解决以下3个方面的问题。
1)网络设备的多样性使得网络管理变得更加复杂。网络设备的多样性是指网络设备功能、端口和规格等的不统一,网络管理系统必须采用先进有效的工具进行自动化管理。
2)网络在工作和生活中的重要性对网络的管理提出了更高的要求。网络已经成为一个极其庞大而复杂的系统,网络安全、及时、可靠地正常运行已经与经济效益密切相关,甚至影响到了政治格局。
3)网络管理系统的不断完善和发展也是网络本身发展的必然结果。当前的网络管理理论和技术还不能完全满足日益增长的网络规模和网络应用的需求,没有任何一个网络管理系统可以解决所有问题,因此网络和网络管理系统互相影响,互相支撑,在应用中完善,在建设中发展。
二、网络管理的目标
网络管理的根本目标是最大限度地满足网络管理者和网络用户对计算机网络的有效性、可靠性、开放性、综合性、安全性和经济性的要求。
1)有效性:网络要能准确而及时地传递信息,为用户提供服务。
2)可靠性:网络必须要保证能够持续稳定地运行,要具有对各种故障、自然灾害及内、外部攻击的抵御能力和一定的自愈能力。
3)开放性:网络要能够兼容各个厂商的不同类型的设备,适应各种新技术。
4)综合性:网络能够提供各种不同的综合业务功能,如网络监测,远程控制等业务。
5)安全性:必须对网络中的信息进行保护,防止黑客入侵系统,泄漏、窜改和破坏数据,也需要避免由于管理者的误操作而造成网络的瘫痪。
6)经济性:尽量减少运行费用,节能环保,对环境友好。
为此,网络管理首先需要调整网络运行配置,使网络的性能达到最优化状态;其次应能够预知网络潜在的故障和安全风险,采取必要的措施加以预防和处理,保证网络正常运行最后能够依据网络模型的理论指导扩充和规划网络。
三、网络管理的对象和标准
网络管理的对象根据对象的形式可以分为两大类:硬件资源和软件资源。
硬件资源是指物理介质、计算机设备和网络互连设备。物理介质通常是物理层和数据链路层设备,如网卡、双绞线、同轴电缆、光纤和无线收发器等。计算机设备包括处理机、内存、外存储设备和打印机等其他计算机外围设备。网络互连设备包括中继器、网桥、交换机、路由器和网关等。
软件资源主要包括操作系统、应用软件和通信软件。操作系统是计算机和网络运行的基础;应用软件是指除操作系统外用于完成业务工作的所有软件(如数据库、中间件和备份软件等);通信软件是应用软件的特殊部分,是实现通信协议的软件。路由器、网桥和交换机等内部安装的各类嵌入式操作系统、功能复杂的应用软件,以及通信软件也是需要管理的软件对象。
在网络环境下的资源一般采用“被管对象”(ManagedObject,MO)来表示。ISO认为,被管对象是从OSI角度所看到的OSI环境下的资源,这些资源可以通过使用OSI管理标准而被管理。系统中的所有资源,包括管理软件本身,都可以是被管对象。
被管对象的集合称为管理信息库(ManageInformationBase,MIB),网络中所有相关的被管对象信息都集中在MIB中。MIB只是一个概念上的数据库,其数据分布在网络各处。网络管理系统的实现主要依靠MIB 作为基础。
由于网络本身的复杂性和多样性,网络管理所采用的技术和产品也有很多,为了规范各种网络管理技术,各种网络管理和研究机构制定了不同的网络管理标准和参考模型,主要有 OSI参考模型、TCP/IP参考模型、TMN参考模型、IEEE LAN/VAN,以及基于Web的管理模型等。其中,由于TCP/IP参考模型在Internet中的统治地位,其关于网络管理的相关协议和标准,如简单网络管理协议(SNMP),也发展得最快,应用得最广。
第二节 网络管理的体系结构与模式
一、网络管理的体系结构
网络管理的体系结构定义了网络管理系统的结构及系统成员间相互关系的一套规范,它是建立网络管理系统的基础。不同的管理体系结构会带来不同的管理能力、管理效率和经济效益,也决定了网络管理系统的复杂度、灵活度和兼容性。
ISO提出的基于远程监控的管理框架是现代网络管理体系结构的核心。这一管理框架的目标是打破不同业务和不同厂商设备之间的界跟,建立统一的综合网络管理系统,将现场的物理操作变为远程的逻辑操作。在这一管理框架中,网络资源的状态和活动用数据来定义和表示。远程监控系统将网络资源的管理操作变为简单的数据库操作。
在远程监控的管理框架下,OSI参考模型提出了以一对相互通信的系统管理实体为核心,使管理进程与一个远程系统相互作用,实现对远程资源进行控制的网络管理系统体系结构。在这种体系结构中,一个系统中的管理进程担当管理站角色,而另一个系统中的对等实体担当代理角色,代理负责提供对被管对象的访问。前者称为网络管理站,后者称为管理代理(简称代理)。这就构成了网络管理的一般模型:管理站一管理代理模型。在管理站一管理代理模型中,网络管理站将管理要求通过管理操作指令传送给位于被管理系统中的代理,对网络内的各种设备、设施和资源实施监视和控制,管理代理则负责管理指令的执行,并且以通知的形式向网络管理站报告被管对象发生的各种事件。
一个完整的网络管理系统主要包括了4部分:网络管理站(NetworkManager)(或管理进程)、管理代理(ManagedAgent)(或代理)、网络管理协议NMP(Network ManagementProtocol)和管理信息库MIB。各部分的具体含义如下。
1.网络管理站
网络管理站也称管理进程,是一个逻辑概念,通常由软件来实现,其安装实体可以是工作站、个人计算机等,一般位于网络系统的主干或接近主干的位置,它负责发出管理操作的指令,被管设备中的管理代理对这些指令进行响应,自动或按用户规定去收集代理所管理的主机运行状态、配置及性能数据等信息,这些信息被用来确定独立的网络设备、部分网络或整个网络运行的状态是否正常;网络管理站也可以在接收到被管理设备的警告信息后采取一定的措施;还可以通过管理操作指令对网络进行控制。
网络管理站和管理代理通过交换管理信息来进行工作,信息分别驻留在被管设备和管理站的管理信息库中,这种信息交换通过网络管理协议来实现。具体的交换过程是通过协议数据单元(PDU)进行的。通常是管理站向管理代理发送请求PDU,管理代理响应管理站以 PDU回答,管理信息包含在PDU参数中。在有些情况下,管理代理也可以向网络管理站发送通知,管理站可以根据报告的内容决定是否做出回答。
2.管理代理
管理代理具有两个基本功能:一是从管理信息库MIB中读取各种变量值;二是在MIB中修改各种变量值。对应于网络监测和网络控制。
MIB是被管对象结构化组织的一种抽象,它是一个概念上的数据库,由管理对象组成,各个管理代理管理MIB中属于本地的管理对象,各管理代理控制的管理对象共同构成全网的管理信息库。
在网络管理系统模型中,管理站角色与管理代理角色不是固定的,而是由每次通信的性质所决定的。
管理站和管理代理之间的信息交换分为两种:一种是从管理站到代理的管理操作(命令);另一种是从代理到管理站的事件通知(报告)。
担当管理站角色的进程向担当管理代理角色的进程发出操作请求,担当管理代理角色的进程对被管对象进程操作并将被管对象发出的通报传向管理站。管理代理位于被管理的设备内部,负责把来自管理站的命令或信息请求转换为本设备特有的指令,完成管理站的指示或返回它所在设备的信息。管理代理也可能因为某种原因拒绝管理站的指令。另外,管理代理也可以把在自身系统中发生的事件主动报告给管理站。
一个网络管理站可以和多个管理代理进行信息交换,而一个管理代理也可以接受来自多个管理站的管理操作。在这种情况下,管理代理需要处理来自多个管理站的多个操作之间的协调问题。例如可以通过权限、优先级等来决定听从哪个管理站的命令。
一般的管理代理都是返回它本身的信息,另外一种称为委托代理的管理代理能提供关于其他系统或其他设备的信息。使用这种委托代理,网络管理站可以管理多种类型的设备。管理站和管理代理之间使用的是一种通信协议,对于不能理解这种语言的设备,则可以通过委托代理完成通信。委托代理还可以提供到多个设备的管理访问。管理站只需和一个委托代理通信,就可以管理多个设备,因此可以用于不同厂商之间异构设备的管理。
3.网络管理协议
在管理站一管理代理的模型中,如果各个厂商提供的网络管理站和管理代理之间的通信方式各不相同,将会大大影响网络管理系统的通用性,影响不同厂商设备间的互联,因此需要制定一个管理站和管理代理之间通信的标准。用于管理站和管理代理之间完成信息交换的通信规约就称为网络管理协议。网络管理站通过网络管理协议从管理代理那里获取所需的信息或向管理代理发送命令;管理代理也可以经由网络管理协议主动报告紧急情况。网络管理协议的主要任务是定义网络管理站和管理代理间的通信方法、规定管理信息库的存储结构、信息库中关键词的含义,以及各种事件的处理方法。
目前,应用最为广泛的网络管理协议是基于TCP/IP模型的简单网络管理协议(Simple Network Management Protocol,SNMP)和基于OSI模型的公共管理信息服务/公共管理信息协议(Common Management Information Sever/CommonManagement Information Protocol,CMIS/ CMIP),它们代表了目前两大网络管理的解决方案。其中
SNMP流传最广,应用最多,获得的支持也最广泛,已经成为事实上的工业标准。CMIS/CMIP主要是针对OSI七层参考模型的传统环境而设计的,需要高性能处理器和大容量存储器,目前支持它的产品较少。但是, CMIP 是通过事件报告进行工作的,因此具有及时性的特点,并且相对于SNMP而言,CMIP更具安全性。
SNMP的最大优点是简易性与可扩展性,它体现了网络管理系统的一个重要准则,即网络管理功能的实现不能影响网络的正常功能,不给网络增加过多的开销。
SNMP 设计为一种基于UDP的应用层协议,它是TCP/IP协议簇的一部分。SNMP的管理站根据管理需要产生3种类型的SNMP消息:GetRequest、GetNextRequest和SetRequest,前两种实现Get(读取数据)功能,后一种实现Set(修改数据)功能。所有这3种消息在代理方面均以GetResponse消息确认,并传递给管理站。
网络管理协议中的通信机制主要有两种,一种称为轮询(Polling);另一种称为事件报告(EvenReporting)。轮询是一种请求-响应式的交互作用,即由管理站向代理发出请求,代理响应管理站的请求,从它所保存的管理信息库中取得管理站所请求的信息,返回给管理站。请求可以采用各种不同的形式,例如,列出一些变量的名称,要求代理返回变量的值;或者给出一种匹配模式,要求代理搜索与模式匹配的所有变量的值;管理站可能要查询它所管理的软硬件系统的配置,或者周期性地询问被管理系统配置改变的情况;管理站也可以在收到一个报警后用轮询方式详细调查某个区域的真实情况,或者根据用户的要求通过轮询生成多个配置报告。
事件报告是由代理主动发送给管理站消息的通信机制。代理可以根据管理站的要求(周期、内容等)定时地发送状态报告,也可以在检测到某些特定事件(如状态发生改变)或非正常事件(如设备出现故障)时生成事件报告,发送给管理站。事件报告对于及时发现网络中的问题是很有用的,特别是对于状态信息不经常改变的管理对象更有效。
在已有的各种网络监控系统中都设置了轮询和事件报告两种通信机制,但重点有所不同。OSI系统管理中的CMIS/CMIP主要依赖事件报告,而SNMP强调轮询方法。然而无论是OSI还是SNMP,以及某些专用的管理系统,都允许用户根据具体情况决定使用何种通信方式。
影响通信方式选择的因素主要包括以下几个。
1)传送信息引起的通信量。
2) 对危急情况下的处理能力。
3)对网络管理站的通信延时。
4)被管理设备的处理工作量。
5)消息传输的可靠性。
6)网络管理应用的特殊性。
7)在发送消息之前通信设备失效的可能性。
4. 管理信息库
如前文所述,管理信息库MIB是一个信息存储库,用于存放与被管对象相关的网络信息。被管对象是网络资源的抽象表示,一个资源可以表示为一个或多个被管对象。MIB的描述采用了结构化的管理信息定义,称为管理信息结构(Structureof Management Information, SMI),它规定了如何识别管理对象,以及如何组织管理对象的信息结构。MIB中的对象按层次进行分类和命名,整体表示为一种树形结构,称为对象命名树,如图7-1所示,所有被管对象都位于树的子结点。

管理信息库是一个逻辑结构,其数据可以分为3类。
1)结构数据:结构数据是静态信息,用于描述网络的物理和逻辑构成,包括网络拓扑结构、交换机和中继线的配置、路由器的端口数和端口编号、工作站的标识和CPU类型数据密钥,以及用户记录等,这些数据是网络配置管理和安全管理的基本数据。
2)动态数据:动态数据是测量到的网络状态数据,是通过网络的监测过程获得的原始信息,包括结点队列长度、重发率、链路状态、分组数和呼叫统计等,这些数据是网络的计费管理、性能管理和故障管理的基本数据。
3)控制数据:控制数据存储网络的操作设置,代表网络中可调整参数的设置,如中继线的最大流量、交换机输出链路业务分配比例和路由表等,这些数据主要用于网络的性能管理。
二、网络管理的模式
网络管理模式分为集中式网络管理模式、分布式网络管理模式和混合管理模式3种。它
们各有自身的特点,适用于不同的网络系统结构和不同的应用环境。
1.集中式网络管理模式 集中式网络管理模式是目前使用最普遍的一种模式,如图7-2所示,由一个网络管理站 对整个网络的管理负责。网络管理站处理所有来自被管理系统上的管理代理的通信信息,为全网提供集中的决策支持,并控制和维护管理站上的信息存储。

集中式管理模式所具备的结构简单、低价格及易维护等特性使其成为普遍的网络管理模式,但随着网络规模的日益扩大,其局限性也越来越显著,主要表现在以下几个方面。
1)容易产生拥塞现象:所有的信息都向中央管理站传输,当网络规模扩大、被管对象种类增多后,管理信息传输量也将增大,必然会引起拥塞现象。
2) 功能固定、不灵活:集中式管理服务器功能模块都是在建立时装人的,若要修改或增加新的功能,则必须重新编译、安装和服务器进程初始化。
3)不可靠性:网管工作站一旦出现故障,整个网络管理系统都将崩溃。
4)传输中的瓶颈:在复杂的广域网络中,管理数据的通信需要经过路由器、交换机等中间结点传递到网络管理站上。在集中式管理条件下,一旦中间结点出现故障或者发生拥塞,就会对网络管理造成破坏。
综上所述,集中式网络管理模式的优点是管理集中,有专人负责,有利于从整个网络系统的全局对网络实施较为有效的管理;缺点是管理信息集中汇总到网络管理中心结点上,导致网络信息流比较拥挤,管理不够灵活,管理结点如果发生故障,有可能影响全网正常工作。因此,集中式网络管理模式比较适合于网络结点不多、覆盖范围有限的小型局域网,以及管理方式明确、组织结构简单的各种专用网络。
2.分布式网络管理模式
为了减少中心管理控制台、局域网连接和广域网连接,以及管理信息系统不断增长的负担,将管理信息合理地分布到网络各处,使管理变得更加自动化,在最靠近问题源的地方能够做出基本的决策,这就是分布式管理的核心思想。
分布式网络管理模式如图7-4所示,网络的管理功能分布到每一个被管设备,即将局部管理任务、存储能力和部分数据库转移到被管设备中,使被管设备成为具有一定自我管理能力的自治单元,而网络管理系统则侧重于网络的逻辑管理。按照分布式网络管理方法组成的管理结构是一种对等式的结构,有多个管理站,每个负责管理一个城,它们之间的相互通信都在对等系统内部进行。

3.混合管理模式
混合管理模式是集中管理模式和分布式管理模式相结合的产物。当今,计算机网络系统正向进一步综合开放的方向发展,因此,网络管理模式也在向分布式与集中式相结合的方向发展。集中式和分布式管理模式分别适用于不同的网络环境,各有优缺点。目前,计算机网络向着局域网与广域网相结合、专用网与公用网结合、专用C/S与互动B/S结构结合的综合互联网方向发展。计算机网络的这种发展趋势也促使网络管理模式向集中式与分布式相结合的方向发展,以便取长补短,更有效地对各种网络进行管理。按照系统科学理论,大系统的管理不能过于集中,也不能过于分散,采用集中式与分布式相结合的混合管理模式应是算机网络系统管理的基本方向。
第三节网络管理的功能
ISO 对网络管理功能给出了定义,并被各个网络管理软件制造商所接受,主要包括5个方面的功能:故障管理(FaultManagement)、配置管理(Configuration Management)、安全管理(SecurityManagement)、性能管理(PerformanceManagement)和计费管理(AccountingManagement)。
1.故障管理
故障管理是为了尽快发现故障,找出故障的原因,以便及时采取补救措施,即对计算机网络中的问题或故障进行定位的过程。它包含故障检测和报警功能、故障预测功能,以及故障诊断和定位功能3个模块。故障检测和报警功能模块的作用是随时记录网络系统出错的情况和可能引起故障的事件,并把这些信息存储在运行日志数据库中。在采用轮询通信的系统中,管理应用程序定期访问运行日志记录,以便发现故障。为了及时检测重要的故障问题,代理也可以主动向有关管理站发送出错事件报告。另外,对出错报告的数量和频率要进行适当的控制,以免加重网络负载。故障预测功能模块的作用是对各种可能引起故障的参数建立门限值,并随时监视参数值变化,一旦超过门限值,就发送警报。故障诊断和定位功能模块的作用是对设备和通信线路进行测试,找出故障原因和地点。故障管理还需要有效的用户接口软件,使得故障发现、诊断、定位和排除等一系列操作都可以交互地进行。
2.配置管理
配置管理用于实现网络设备的配置和管理,主要包括设备初始化、维护和关闭网络设备或子系统等操作。被管的网络资源包括物理设备(如服务器、工作站和路由器)和底层的逻辑对象。配置管理功能可以设置网络配置参数的初始值和默认值,使网络设备初始化时自动形成预定的互联关系。当网络运行时,配置管理监视网络设备的工作状态,并根据用户的配置命令或其他管理功能的请求改变网络配置参数。网络配置参数主要包括网络设备的拓扑结构、网络设备的域名和IP地址,以及网络设备的运行参数等内容。此外,配置管理还可以实现启动和终止网络运行、装载和更新软件、检查和报告网络配置情况等功能。
3.安全管理
安全管理是网络管理中最复杂的部分,其目的是确保网络资源不被非法使用,防止网络资源由于人侵者攻击而遭受破坏。
安全管理主要内容有:与安全措施有关的信息分发(如密钥的分发和访问权设置等),与安全有关的通知(如网络有非法侵入、无权用户对特定信息的访问企图等),安全服务措施的创建、控制和删除,以及与安全有关的网络操作事件的记录、维护和查询日志管理工作等。
安全管理需要维护计算机和网络以下3方面的性能。
1)保密性(Secrecy)。计算机网络中的信息只能由授予访问权限的用户读取。
2)数据完整性(Integrity)。计算机网络中的信息资源只能由被授予权限的用户修改。
3)可用性(Availability)。具有访问权限的用户在需要时可以利用计算机网络资源。有关安全管理的具体内容将在本书第九章中进行详细介绍,本章不再赘述。
4.性能管理
网络性能管理是用于持续地测评网络运行中的主要性能指标,以检验网络服务是否达到了预定的水平,找出已经发生或潜在的网络瓶颈,报告网络性能的变化趋势,为网络管理决策提供依据。典型的网络性能管理可以分为两部分:性能监测与网络控制。性能监测是指网络工作状态信息的收集和整理;而网络控制则是为改善网络设备的性能而采取的动作和措施。性能管理的基本功能包括:实时采集与网络性能相关的数据,如流量、负载、丢包、温度、内存和延迟等;对实时数据进行分析,判断是否处于正常水平,从而对当前的网络状况做出评估,并自动形成管理报表,以图形方式直观地显示网络的性能状况;分析和统计历史数据,绘出历史数据的图形;维护并检查系统的运行日志;为每个重要的指标设定一个适当的阈值,当性能指标超过该阈值时及时报警,并将警告发送给网络管理系统;生成性能分析报告。
常用的网络性能测评指标包括以下几个。
1)可用性。
表征通信网作为一个整体的性能,它意味着一个用户在总的时间内,可以取得对网络访问将成为可用服务时间的百分数,通常用平均无故障时间(Mean Time Be- tween Failure,MTDF)来衡量。
2) 响应时间。
对用户来讲,响应时间包括思考时间和输入时间,各部分的时间长短依赖于要完成的任务。对于网络来说,响应时间包括内部、外部和处理时间。
3)吞吐量。
它是指单位时间内通过网络设备的平均比特数,单位是bit/s(比特/秒)。
4)延迟。
它是指数据分组(帧)的最后一位到达输入端口或输出数据分组的第一位出现在端口的时间间隔。对于交换机和路由器来说,延迟是衡量性能的主要指标,延迟越大说明交换机或路由器处理帧的速度越慢。
5)丢包(帧)率。
它是指在正常稳定的网络状态下,本来应该转发而没有转发的数据包(帧)占所有数据包(帧)的百分比。丢包率的大小表示网络的稳定性及可靠性,丢包(帧)率可以用来描述过载状态下交换机的性能,也是衡量防火墙性能的一个重要参数。
6)利用率。
它是网络资源使用频度的动态参数,它提供的是现实运行环境下吞吐量的实际限制。网络管理系统通常给出各种网络部件的利用率,如线路、结点和结点处理机的利用率。
其中,1)和2)项是面向服务的性能指标,3)~6)项是面向效率的性能指标。网络最主要的目标是向用户提供满意的服务,因而面向服务的性能指标应具有较高的优先级。
5.计费管理
对于各种网络信息服务系统来说,用户必须为使用网络的服务而交费。计费管理是所有网络服务提供商ISP都要用到的重要功能模块,通过网络管理系统对用户使用网络资源的情况进行记录并核算费用。计费管理的主要任务是根据网络管理部门指定的计费策略,按用户对网络资源的使用情况收取费用。计费管理的目的是正确地计算和收取用户使用网络资源及服务的费用。另外,计费管理还要进行网络资源利用率的统计和网络的成本效益核算。
计费管理记录网络资源的使用情况,目的是控制和监测网络操作的费用和代价。它可以估算出用户使用网络资源可能需要的费用和代价。网络管理员还可以规定用户可使用的最大费用,从而控制用户过多地占用和使用网络资源,从而也可以提高网络的效率。计费管理通常应该包括以下几个功能。
1)计算网络建设及运营成本,包括设备、网络服务和人工费用等成本。
2)统计网络及其资源的利用率,确定计费标准。
3)将应该缴纳的费用通知用户。
4)支持用户费用上限的设置。
5)保存收费账单及必要的原始数据,以备用户查询和质疑。
常用的计费管理方式有基于网络流量计费、基于使用时间计费和基于网络服务计费等。
第四节 简单网络管理协议(SNMP)
SNMP是TCP/IP网络中应用最为广泛的网络管理协议,最初是Internet工程任务组IETF为解决Internet上的路由器管理而提出的方案。SNMP工作在TCP/IP参考模型的应用层,是一种面向无连接的协议,其功能是使网络设备之间能方便地交换管理信息,从而使网络管理员了解网络运行情况,发现问题和故障,以及进行网络行为的控制和管理。
一、SNMP的基本工作原理
SNMP 不是一个单一的协议,而是一系列网络管理规范的集合,包括SNMP协议、管理信息数据库 MIB和管理信息结构SMI共3部分。其中,SNMP协议规定了管理站和代理间交换网络管理信息的报文格式,报文中包含了代理中的对象及其状态;MIB是被管对象的集合;SMI定义了SNMP所用信息的组织、组成和标识,规定了MIB中被管对象的数据类型及其表示和命名方法。
SNMP采用管理站一管理代理模型,如图7-5所示。其中,管理代理是某种网络设备,如交换机、路由器和网桥等,其中设置有保存各种网络和设备信息的管理信息库MIB,在管理站和管理代理上分别运行SNMP进行通信,将MIB中的管理信息传递给管理站,从而实现网络管理的功能。网络资源被抽象为对象进行管理。SNMP中的对象是表示被管资源某一方面的数据变量,被标准化为跨系统的类(Class),保存在管理代理的MIB中。管理站通过读取MIB中对象的值来进行网络监控。SNMP管理站和管理代理之间的操作主要包括3种类型。

1) Get:管理站读取管理代理处对象的值。
2)Set:管理站设置管理代理处对象的值。
3)Trap;管理代理向管理站通报重要事件。
其中,Get和Set操作都是由管理站发起的操作,而Trap操作是由管理代理发起的操作。使用Trap操作的目的是使管理站能够及时而有效地对被管设备进行监视和控制,而又不过分增加网络的通信负载。Trap操作是通过轮询机制实现的:管理站启动后,每隔一定时间用Get操作轮询一遍所有代理,以便得到某些关键的信息(如接口的名称、速率等),或基本的性能统计参数(如在一段时间内通过接口发送和接收的分组数等)。一旦得到了这
些基本数据,管理站就停止轮询,而由代理进程负责在必要时用Trap向管理站报告异常事件。例如,代理进程重启动、链路失效和负载超过门限等,这些信息是由Trap操作传送给管理站的。收到异常事件的报告后,管理站可以再次用Get或GetNext查询有关的代理,以便得到更具体的信息,对事件的原因做进一步的分析,必要时用Set进行控制。
由于SNMP定义为应用层协议,所以它依赖于传输层协议进行数据报传输,在实际实现中使用的是UDP数据报服务。同时,SNMP实体向管理应用程序提供服务,它的作用是把管理应用程序的服务调用变成对应的SNMP数据单元,并利用UDP数据报发送出去。SNMP之所以选择UDP而不是TCP,是因为UDP效率较高,这样实现网络管理不会太多地增加网络负载。但由于UDP可靠性较差,所以SNMP报文容易丢失。为此,对SNMP实现的建议是对每个管理信息要装配成单独的数据报独立发送,而且报文应尽量短,每个报文不超过484个字节。
每个代理管理若干管理对象,并且与某些管理站建立共同体(Community)关系。共同体名作为共同体的全局标识符,是一种简单的身份认证手段。同一共同体的成员才是可以信任的。一般来说,代理进程不接受没有通过共同体名验证的报文,这样可以防止假冒的管理命令。同时,在共同体内部也可以实行专用的管理策略,以满足管理的需要。
SNMP 要求所有的代理设备和管理站都必须实现TCP/IP。对于不支持TCP/IP的设备(例如,某些网桥、调制解调器、个人计算机和可编程控制器等),不能直接用SNMP进行管理。对于这样的设备,可以采用委托代理的方式。一个委托代理设备可以管理若干组 TCP/IP设备,并代表这些设备接收管理站的查询。实际上委托代理起到了协议转换的作用,委托代理和管理站之间按SNMP通信,而与被管理设备之间则按专用的协议通信。
SNMP的第一个版本SNMPv1于1990年5月首次发布,目前共有3个版本的SNMP网络管理协议:SNMP v1、SNMP v2 和 SNMP v3。SNMP v1和 SNMPv2有很多共同的特征, SNMP v3 在先前版本的基础上增加了安全和远程配置能力。
二、管理信息结构 SMI
管理信息结构SMI是SNMP体系中一部分,它定义了(SNMP框架所用信息的组织、组成和标识,规定了MIB中被管对象的数据类型及其表示和命名方法,可以将SMI理解为一种描述MIB被管对象的语言。设立SMI的目的是为了保持MIB的简单性和可扩展性,SMI只允许存储标量和二维数组,不支持复杂的数据结构,从而简化了操作,便于实现。
SMI的具体作用有以下3个。
1.规定了被管对象的命名法则
SMI规定,所有被管对象都必须处于如图7-1所示的对象命名树上,树中的对象通常用小写字母表示,并且按照层次结构进行组织。树的每一层上的对象结点都对应一个在该层唯一的标号。对象命名树的根结点没有名字,根结点下面一层共有3个结点,都是世界著名的标准化组织,分别是:ccitt(0)(现在已经改名为ITU-T)、iso(1)和joint-iso-ccitt(2)(ISO和原CCITT组成的联合体),其标号分别是0、1和2。以这3个结点为根的子树,包含了所有的网络被管对象。
在对象命名树中,某个中间结点为根的子树是与该结点相关的信息集合。例如,有关Internet的所有被管对象都位于以结点internet(1)为根的子树中,有关IP的管理信息都位于以ip(4)为根的子树中。这样,沿着树层次访问相关信息就很便。有关网络管理的对象都在结点mgmt(2)下,其中所有能被SNMP管理的对象都在结点 mib-2(1)下。
树中的每个结点都有一个分层的编号。叶子结点代表实际的被管对象,从树根到树叶的编号串联起来,用圆点隔开,就形成了被管对象的全局标识objectidentification(OID)。对象标识符有两种标识方法:数字形式和名字形式。例如,mgmt的标识符是1.3.6.1.2,或者写为 iso(1 )org(3) dod( 6) internet(1)21。数字形式更易存储和处理,实际上SNMP报文都是采用数字形式的对象标识符。在Internet对象标识符下定义了6棵子树,把Internet结点划分为6种类型:directory、mgmt、experimental、private、security和 SNMP v2。
2.规定了被管对象的数据类型
SMI使用基本的抽象语法记法ASN.1来定义数据类型,并且增加了一些新的定义。 ASN.1只描述数据的结构形式而不关心具体的编码方式,也不涉及数据结构如何在计算机中表示,而且ASN.1是一种严格的语法记法,在定义数据时不能存在任何二义性。SMI把被管对象的数据类型分为两大类:简单类型和结构化类型。简单类型直接使用ASN.1中定义的类型,常见的SMI简单类型有以下几个。
1) INTEGER类型:大小为4B,表示-2”~2-1之间的整数。
2)Unsigned32类型:大小为4B,表示0~232-1之间的无符号数。
3)OCTET STRING类型:大小可变,表示不超过65535B长的字符串。
4) OBJECT IDENTIFIER类型:大小可变,表示对象标识符。
5)IPAddress 类型:大小为4B,表示由4个整数组成的IP地址。
结构化类型是由简单类型构成的,主要有两种:sequence和sequence of,其中sequence类似C语言中的结构体,可以由不同的简单数据类型构成;而sequence of类似C语言中的数组,只能由相同类型的简单数据或结构化数据构成。
3.规定了被管对象数据的编码方法
SMI使用ASN.1制定的基本编码规则(BasicEncoding Rule,BER)对被管对象数据进行编码,编码后的被管对象数据就可以在网络中进行传输。BER把所有的数据元素都表示为由T、L和V这3个字段组成的序列,T字段定义数据的类型,L字段定义V字段的长度,而V字段定义数据的取值,其编码格式如图7-6所示。

其中T字段又分为3段,分别如下。
1)类别段:占2bit,表示数据元素的类别,00表示ANS.1定义的类型,01表示SMI定义的类型,10表示上下文所定义的类型,11保留为特定厂商定义的类型。
2)格式段:占1bit,用于指出数据类型的种类,0表示简单数据类型,1表示结构化数据类型。
3)编号段:占5bit,由BER规定,用来标识不同的数据类型。
比如,对于INTEGER数据类型,其T字段的类别段为00,格式段为0,编号段为00010,则整个T字段编码为00000010,用十六进制表示为02。
L字段是可变长字段,用来表示数据值字段V的长度。当L字段为单字节时,其最高位为0,后面的7位定义了V字段的长度;当L字段为多个字节时,其最高位为1,后面的7位表示后续字节的长度,而用后续字节来定义V字段的长度。
V字段也是可变长字段,用于定义数据元素的值。
比如,对于网络中的某个IP地址10.1.2.3,在SMI中的数据类型为IPAddress,属于简单数据类型,其T字段编码为01000000(十六进制表示为40);IPAddress类型占4个字节,所以L字段的值为00000100(十六进制表示为04);具体IP地址为10.1.2.3,所以V的取值为0A 010203(十六进制)。因此,IP地址10.1.2.3的BER编码为40 04 0A 01 02 03。
三、管理信息库 MIB
在基于TCP/IP参考模型的管理系统中,包含有关被管理资源及元素信息的数据库,被称为管理信息库MIB。管理信息库保存和维护着可供管理程序读写的控制和状态信息。管理程序通过对MIB中信息的值进行读取和重置实现对网络的管理。只有MIB中的对象才能被 SNMP 协议所管理。
MIB 中包含的对象也位于对象命名树中,具体位于mib-2(1)结点下,mib-2是MIB的第二版,于1990年5月发布,其在mib-1的基础上进行了扩充。mib-2结点下有 11个子结点,表示11个被管对象组,各对象组的名称及具体含义如表7-1所示。

表7-1中列出了mib-2功能组名、对象标识符(OID)(这里用mib-2代表1.3.6.1.2.1,即 mib-2的对象标识符)和每个组的主要描述。比如对象ip(4)表示所有与IP有关的对多集合,其对象标识符为1.3.6.1.2.1.4,则有关IP的对象标识符的前缀都为1.3.6.1.2.1.4。
四、SNMP 协议报文
SNMP通过交换SNMP报文来传递管理信息。每个报文都是完整和独立的,使用UDP数据报进行传送。一个SNMP报文由版本号、首部、安全参数和SNMP报文数据4部分组成,其格式如图7-7所示。


五、SNMP工具
由于SNMP是应用最为广泛的网络管理协议,SNMP管理站程序可以和SNMP代理进行通信,获得MIB结构中的对象及其对应的值。SNMP管理站端程序一般都是网络管理系统软件,一些小工具也可以实现简单的SNMP管理端功能。
1. SNMP MIB 浏览器
SNMP MIB浏览器是一种界面友好的图形化工具。所有的这类工具都可以从SNMPv1的 mib-2中提取信息,有些工具也可以从SNMPv2中提取信息。一般情况下,在工具中指定主机名或者IP地址,并请求关于特定的MIB对象、MIB群或者整个MIB的信息,从而获得返回对象中的值。
通常网络管理工具中都包含MIBBrowser的功能,也有很多专用的MIBBrowser可以查看交换机、路由器等设备的MIB库。典型的MIBBrowser有MG-SOFTMIBBrowser、HiliSoft MIB Browser、OidViewProMIB Browser、WinAgentsMIB Browser和iReasoning MIB Browser 等。
2.SNMP 命令行工具
除了图形化的SNMP工具外,用户可以使用SNMP命令查询不同的数据库。命令行工具一般都基于SNMPv1设计,包括Get、Get-next等方法。
snmputil是由微软开发的基于Windows运行的一款命令行SNMP工具软件。该软件最早集成在Windos2000的资源包中。Windows7以上的系统可以下载snmputil.exe到本地文件夹,然后再通过命令行使用该工具。snmputil的基本语法是:snmputil[get | getnext | walk ]a- gent community ObjectID [ObjectID…]。
其中,[get| getnext l walk]为发送消息的类型。agent是指snmp代理,即准备操作的网络设备的IP地址。community是设备的共同体名,通常为public。ObjectID是想要操作的MIB数据对象标识符。例如,要想查看本地计算机的系统信息的操作如图7-9所示。

3.SNMP Sniff 工具
SNMP Sniff 工具是在Linux/UNIX中使用的工具软件。它可以捕获穿过网段的SNMP数据包,并将其存储起来以便后续分析。使用这种工具可以监视网络的状态、数据流动情况,以及网络上传输的信息。
第五节网络管理系统
随着网络技术的不断发展,网络的规模不断扩大和网络结构的复杂化,使得在实际的网络管理过程中需要通过网络管理系统来保证整个网络的正确运行。网络运行的稳定、可靠与网络管理的技术水平直接相关。网络管理是保证计算机网络,特别是大型、复杂的计算机网络正常运行的关键。建立一个功能完备、工作稳定的网络应用管理系统可以有效地监控整个网络,实时地监控和查看整个网络的运行状态,统计网络各位置的流量和错误,检测网络上可能出现的瓶颈,收集和管理网络设备事件,进行自动化的处理操作或者警告,以保证网络的稳定可靠运行。网络应用管理系统已经成为网络管理不可或缺的重要组成部分。
在网络管理过程中,SNMP可以通过设置被管理对象的参数值对网络设备等被管理对象进行控制,同时,也可以通过读取被管理对象的MIB中的值来检测网络的运行状态。在实际的工作中,一般都是通过网络管理系统进行网络管理的。网络管理系统对网络进行管理时,系统对网络设备的底层操作和管理对于用户来说是透明的。一般的,网络管理系统都会将用户的操作结果以图形、图表或表格等方式反馈给用户。
一、网络管理系统的基本概念
网络管理系统是实现管理网络功能,保障网络正常运行的软、硬件组成的综合系统。网络管理系统可以实现多种管理功能,如配置管理、性能管理、故障管理、安全管理和计费管理等功能。网络管理系统一般由支持网络管理协议的网络管理系统软件和网络设备组成。网络管理系统软件和网络设备一般都遵循SNMP进行工作,不同的软件系统的用户界面、操作功能、用户界面、管理方式,以及对外的应用接口和所支持的数据库等都不尽相同。
网络管理的最终目标是保障网络的安全运行,即对网络服务提供保障。网络管理系统是以提高网络服务的质量为目标,以保证网络安全稳定运行为前提,以管理网络事件为中心的网络服务质量管理体系。系统以网络资源实际发生的事件为基础,及时准确地了解网络的运行状况,建立与服务层面的关联,实现对网络的有效管理。因此,网络管理系统应当具备以下几个特点。
1)具有全面监控网络性能的能力。
2)具有主动和预警管理的功能。
3)支持全网联动。
4)具有对资源进行有效管理的能力。
5)具有服务质量管理功能。
二、网络管理系统的发展趋势
从网络管理功能和特点来看,网络管理技术的热点和发展趋势主要体现在以下几个方面。
1.开放性
网络管理系统应具备综合管理不同品牌设备的功能。随着对不同品牌网络设备进行集中管理的需求不断增加,网络设备生产商也在不断地采用更加开放的方式来实现对网络管理系统的支持。开放式的管理接口可以使网络管理软件能够管理其他厂商的网络管理设备,增加网络的适应性和灵活性。
通过开放网络管理系统的应用程序编程接口(API),使得用户或者第三方厂商可以对网络管理系统进行扩展。通过开放定制化和个性化的配置,使得普通用户可以不需要经过二次开发就可以完成对网络管理的个性化需求。
2.综合性
综合性要求通过一个控制操作台就可以完成对全部网络设备和网络应用的管理,实现对业务运行状态的了解和对故障的定位、排除的支持。通过一个统一的系统平台实现对多个互联网络的管理。将网络管理系统、操作系统、应用程序和数据库系统逐渐整合到统一的平台也是系统综合性所追求的目标。
3. 智能化
随着网络管理系统要完成的任务越来越复杂,需要监控和管理的设备也越来越多,因此系统管理人员的工作是非常烦琐和复杂的。网络管理系统可以自动地探测网络环境、定时监控网络运行状态、发现网络故障,以及定位并排除网络故障等都是网络管理系统智能化的体现。
4.安全性
网络管理系统软件自身的安全性是影响整个网络安全的重要因素,是评价网络管理系统的重要指标之一。
5.基于B/S 结构的管理
随着互联网技术的发展,越来越多的应用系统开始使用浏览器/服务器模式(B/S)进行工作。早期的网络管理软件大都采用客户端/服务器(C/S)工作模式,因此导致了由于
操作系统升级、跨平台等问题所引发的网络管理软件故障甚至无法继续正常使用。全面向 B/S模式的应用系统转变,可以大大提高系统的跨平台性,提高系统的用户体验。B/S结构的应用系统也更加容易和其他的应用系统进行集成。
三、常用的网络管理系统软件
网络管理系统软件一般都遵循SNMP简单网络管理协议,并提供类似的网络管理功能。不同厂家的系统在可靠性、用户界面、操作功能、对外应用接口,以及数据库支持和操作系统支持等方面都存在差别。
网络管理系统软件主要用于对复杂网络和不同设备进行管理,因此系统的技术含量高、生产的难度较大,一般都由大型的信息技术公司或网络设备制造公司开发。例如,惠普公司的OpenView、IBM公司的TivoliNetView和思科公司的CiscoWorks等都是比较著名的网络管理系统软件。近年来,随着互联网的发展,也涌现了不少开源、免费的网络管理系统软件,如Cacti、Nagios和Icinga等。
1.OpenView
OpenView是由HP公司开发的优秀的网络管理软件,OpenView集成了网络管理和系统管理各自的优点,形成了一个单一而完整的管理系统。OpenView解决方案实现了网络运作从被动无序到主动控制的过渡,使网络管理者能够及时了解整个网络当前的真实状况,实现主动控制,而且OpenView解决方案的预防式管理工具临界值设定与趋势分析报表,可以让网络管理者采取更具预防性的措施,管理网络的健全状态。OpenView解决方案是从用户网络系统的关键性能入手,帮助其迅速地控制网络,然后还可以根据需要增加其他的解决方案。OpenView系列软件包括了统一管理平台、全面的服务和资产管理、网络安全、服务质量保障、故障自动监测和处理、设备搜索、网络存储、智能代理,以及Internet环境的开放式服务等丰富的功能特性。目前该产品主要应用在金融、电信、交通、政府、公用事业和制造业等领域。
2.Tivoli NetView
Tivoli NetView是由IBM公司所开发的网络管理综合平台,能够为用户提供强大的网络管理功能,其主要功能包括以下几个。
1)网络拓扑管理:TivoliNetView能够自动发现接入网络的所有IP结点并自动生成拓扑连接。NetView按照网络结点所在的地理位置对网络拓扑图进行优化,使之能够反映实际的网络结构。NetView提供SmartSet的功能,能够将具有相同属性的重要管理对象做成管理集合。SmartSet能够动态发现符合某个条件的设备并自动加入,因而消除了人为错误和过时信息,大大方便了管理。
2)网络故障管理:NetView的控制台(Control Desk)是网络故障事件治理的中心,包括SNMPTrap在内的各种网络事件都在控制台集中显示、过滤,并且能够定义自动的报警和响应,如显示报警窗口、发送E-mail等。NetView还能够通过其基于规则的事件关联机制,对单个或者多个不同的网络事件进行智能分析处理,自动化地完成对大部分事件的自动响应操作,过滤掉大量不必要的报警,从而使报警手段更为有效。
3)故障分析功能:NetView通过与分析工具TivoliSwitch Analyzer配合工作,可以对交换机故障的根源进行分析。NetView将网络管理从传统的IP层管理扩展到数据链路层管理。对于企业核心的网络交换机来说,一个端口的故障可能会导致企业内大量设备的不可用,并且产生许多不同种类的出错或报警信息。此时借助Tivoli Switch Analyzer提供的故障根源分析能力,能够对这些模糊繁杂的故障信息进行关联分析并向管理员指出问题的根源。
4)网络性能管理:网管人员需要了解网络实时的性能状况,需要能够对网络性能做出分析和猜测,并生成相应的报表。TivoliNetView的SnmpCollect功能能够自动采集重要的网络性能数据,如IP流量、带宽利用率、出错包数量、丢弃包数量和SNMP流量等,并设置相应的阈值,当所采集的数据达到阈值时能够触发报警或者定义好的自动操作。可以用图形的方式显示这些网络性能数据的变化情况,也可以将这些数据存放到数据仓库Tivoli Enter- prise Data Warehouse中,以进行进一步的分析和生成报表。
3.CiscoWorks
CiscoWorks是由Cisco公司专门为小型和中型网络开发的一套基于PC的集成式网络配置和诊断工具。CiscoWorks(Windows版本)包括Configuration Builder、Show Commands、 Health Monitor和CiscoView应用程序等部分。
CiscoWorks可以和其他的网络管理平台(如OpenView等)捆绑在一起,对设备进行数据统计和图形绘制,处理客户网络中的警报和问题,也可以在没有管理平台的情况下以独立应用程序的形式运行。其主要功能包括以下几个。
1)通过Configuration Builder,用户可以无须牢记复杂的命令行语言或设备的语法,就能为多种 Cisco 路由器、访问服务器和集线器生成配置文件。
2)通过Show Commands,用户可以无须牢记复杂的命令行语言或语法,就能够快速显示有关 Cisco 路由设备的系统和协议的具体信息。
3)Health Monitor是一个动态的错误和性能管理工具,使用SNMP监视和控制Cisco 设备,可提供设备特性、接口状态、错误和协议使用率的实时统计数据。它还提供了CPU和环境卡状态,并通过颜色变化显示条件的改变。
4)CiscoView是一个基于CUI的设备管理应用程序,可为Cisco公司的网络互连设备(交换机、路由器、集中器和适配器)提供动态状态信息,统计数据和全面的配置信息。 CiscoView可以以图形的方式显示Cisco的物理视图。另外,它还可以提供配置和监视功能,以及基本的故障排除功能。CiscoView可与多种基于SNMP的网络管理系统集成在一起,从而提供强有力的网络视图。
随着网络从多个共享网段发展为交换式架构,Cisco公司又推出了基于交换式网络框架的网络管理工具一Cisco Works for Switched Internetworks(CWSI),其中包括了Vlan Dire tor、TrafficDirector和CiscoView,为不断增长的交换式互连网络提供专门的管理系统。CWSI的主要功能包括:对网络中互连的Cisco交换机和路由器的自动识别、网络拓扑结构的自动生成、VLAN的配置和管理、性能和流量管理、设备的视图显示,以及生成各种报告和统计数据。
4.Cacti
Cacti是一种基于PHP、MySQL、SNMP及RRDTool开发的网络流量监测图形分析工具。 Cacti是通过SNMP中的Get方式来获取网络管理数据,使用RRDtool工具绘制图形,而不需要用户了解RRDtool复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、主机及任何一张图,还可以与轻量目录访问协议LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善,界面友好。Cacti除了基本的流量跟踪和系统监控外,还支持用户自己编写脚本程序来做出各式各样的监控图。
本章小结
计算机网络管理是指采用计算机软、硬件技术对由计算机、服务器、存储器、交换机和路由器等硬件设备及相关软件组成的网络进行管理的工作。
网络管理的主要任务有两个:一是对网络的状态进行监测;二是对网络的运行进行控制。
网络管理的范围已经扩大到网络中的通信活动,以及网络的规划、组织实施、运营和维护等各个方面。网络管理的根本目标是最大限度地满足网络管理者和用户对计算机网络的有效性、可靠性、开放性、综合性、安全性和经济性的要求。网络管理的对象根据对象的形式可以分为两大类:硬件资源和软件资源。网络管理的标准主要有OSI参考模型、TCP/IP参考模型、TMN参考模型、IEEE LAN/VAN,以及基于Web的管理模型。
网络管理的体系结构定义了网络管理系统的结构及系统成员间相互关系的一套规范,它是建立网络管理系统的基础。基于远程监控的管理框架是现代网络管理体系结构的核心。在这种体系结构中,网络管理可以用管理站一管理代理模型来描述。其中,网络管理站将管理要求通过管理操作指令传送给位于被管理系统中的代理,对网络内的各种设备、设施和资源实施监视和控制,管理代理则负责管理指令的执行,并且以通知的形式向网络管理站报告被管对象发生的各种事件。
一个完整的网络管理系统主要包括了4部分:网络管理站、管理代理、网络管理协议和管理信息库MIB。网络管理模式分为集中式网络管理模式、分布式网络管理模式和混合管理模式3种。
网络管理功能主要包括故障管理、配置管理、安全管理、性能管理和计费管理5个方面。
SNMP是TCP/IP网络中应用最为广泛的网络管理协议,工作在TCP/IP参考模型的应用层,是一种面向无连接的协议,其功能是使网络设备之间能方便地交换管理信息,从而使网络管理员了解网络运行情况,发现问题和故障,以及进行网络行为的控制和管理。SNMP是一系列网络管理规范的集合,包括SNMP、管理信息数据库MIB和管理信息结构SMI共3部分。其中,SNMP规定了网络管理信息互换的规则,MIB是管理对象的集合,SMI定义了 SNMP 所用信息的组织、组成和标识,规定了MIB中被管对象的数据类型及其表示和命名方法。
SNMP采用管理站一管理代理模型,管理代理中设置有保存各种网络和设备信息的管理信息库MIB,在管理站和管理代理上分别运行SNMP进行通信,将MIB中管理信息传递给管理站,从而实现网络管理的功能。SNMP管理站和管理代理之间的操作主要包含Get、Set和 Trap共3种类型。SNMP常见的小工具包括SNMPMIB浏览器、Snmputil和SNMP Sniff 工具等。
网络管理系统是实现管理网络功能、保障网络正常运行的软、硬件组成的综合系统。网络管理系统的特点包括了具有全面监控网络性能的能力;具有主动和预警管理的功能;支持全网联动;具有对资源进行有效管理的能力;具有服务质量管理功能。网络管理系统朝着开放性、综合性、智能化、安全性及基于B/S结构的方向发展。常用的网络管理系统软件包括惠普公司的OpenView、IBM公司的TivoliNetView、思科公司的CiscoWorks,以及开源的 Cacti、Nagios 和 Icinga 等。
思考题与练习题
1.网络管理的主要任务是什么?
2.网络管理的目标有哪些?
3.网络管理的硬件对象有哪些?
4.网络管理的参考模型有哪些?
5.完整的网络管理系统主要由哪几部分组成?各部分的作用分别是什么?
6.请简述3种网络管理模式的特点。
7.网络管理软件由哪3部分组成?各部分的作用分别是什么?
8.根据ISO 对网络管理功能的定义,网络管理的功能主要包括哪些方面?
9.管理者将某路由器端口的状态值设置为disable,让所有的网络通信不再访问该端口的操作属于网络管理哪方面的功能?
10.SNMP 不是一个单一的协议,它由哪3部分组成?
11.SNMP 管理站和管理代理之间的操作主要包含哪3种类型?12.为什么 SNMP使用UDP进行数据传送?
13.根据图7-1 所示的MIB树,写出ip(4)和tcp(6)的对象标识符OID。14.SNMP 规定了哪些类型的协议数据单元PDU?各种PDU的作用分别是什么?15.网络管理系统的特点有哪些?
16.请列举出常用的商业和开源网络管理系统。
openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐


所有评论(0)