6.1 因特网基础

6.1 因特网基础

Internet是覆盖全球的一个互联网络,它起源于美国国防部高级研究计划署于1969年主持研制的第一个分组交换网络ARPANET(阿帕网)。 基于当时美苏冷战的时代背景,阿帕网设计的目的就是用于计算机之间的数据传送,要求网络能够连接不同类型的计算机,而且网络中必须有冗余的路由。 阿帕网可以采用分组交换技术,在数据传送的时候可以动态选择传送路由,避免由于一个结点损坏而导致网络中其他结点不能通信,大大提高网络的生存性。 阿帕网最初用于军事目的,后来美国国家科学基金会(NSF)在ARPANET的基础上建立起SFnet,供大学和科研机构使用,并将其改名为Internet。1983年TCP/IP协议成为ARPANET上的标准协议,因此人们一般把1983年作为因特网的诞生时间。1991年,商业机构发现了其在通信、资料检索和客户服务方面的商业潜力,各大企业纷纷加入Internet,以因特网为代表的计算机网络得到了飞速发展,Internet从最初的教育科研网络逐步发展成为商业网络。 Internet将各个领域的各种信息资源集为一体,供网上用户共享信息资源网,具有开放性、自由性、共享性和平等性等特点,可以看作20世纪末最伟大的发明。

6.1.1 因特网的组成与结构

因特网是互联网络,为用户提供了资源共享和数据通信两大功能。 因特网的组成可以划分为以下的两大块(见图6.1)。

图6.1 因特网的组成

(1)资源子网

资源子网由所有连接在因特网上的主机和服务器组成。 这部分是直接为用户提供服务的,用户使用主机进行通信(传送数据、音频或视频),共享服务器和主机中的资源。

资源子网中的计算机被分为了主机和服务器两个部分,服务器一般都是高性能的计算机,很多采用小型机。 服务器能够控制和协调网络中各个工作站之间的工作,工作站提供服务。客户机也称工作站,连入了网络任何一台计算机,只要不是作为服务器为其他工作站提供服务的就是客户机。

在资源子网的主机和服务器之间通信的时候,有两种通信方式:客户服务器方式和对等方式。 在客户服务器方式中,服务器中运行服务器程序,工作站运行客户程序,客户程序是服务的请求方,服务器程序是服务的提供方。 客户程序总是主动和服务器程序建立连接,而服务器程序在系统启动后即自动调用并一直不断地运行着,被动地等待并接收来自各地的客户的通信请求。 在对等方式中,两个主机在通信时并不区分哪一个是服务请求方还是服务提供方,双方都是既可以提供服务也可以请求其他用户为自己提供服务。

(2)通信子网

通信子网是因特网中的核心部分,它由大量网络和连接这些网络的路由器组成。 通信子网为网络中的主机和服务器提供连通性和数据交换功能。 计算机网络的通信子网采用的是存储转发的分组交换技术。

6.1.2 因特网的网络协议

在计算机网络中,我们用实体表示任何可发送或接收信息的硬件或软件进程,而网络协议则实是控制两个对等实体进行通信的规则的集合。 在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。 在计算机网络中,不同的层次存在不同的网络协议,其中网络层有著名的IP协议,运输层有TCP和UDP协议,而应用层的协议则是直接为用户提供服务并且在不断增加中,例如,用于文件传输的FTP协议、用于远程登录的TELNET协议、WWW中使用的HTTP协议等。 后面章节中介绍FTP和TELNET协议,这里介绍WWW中用于信息传输的HTTP协议。

HTTP协议(Hyper Text Transfer Protocol,超文本传送协议)是用于支持WWW浏览的网络协议,用于传送WWW网页数据。 HTTP采用了请求/响应模型,浏览器向服务器发送请求,而服务器回应相应的网页。 在浏览器和服务器的一次信息交换中,要么所有的信息交换都完成,要么一次交换都不进行,而且浏览器对于同一用户第二次访问服务器的时候所执行的操作(响应)是和第一次相同的,服务器并不区分用户访问过服务器的次数,因此HTTP协议是面向事务的无状态的协议。 HTTP协议是应用层的协议,直接为用户提供服务,同时它也需要运输层的协议体提供的服务。 HTTP协议使用的是运输层面向连接的TCP协议,在每次客户端和服务器通信的过程中,通信双方都需要建立连接和释放连接。

HTTP协议的1.0版本中,通信双方每次通信都要建立连接,因此连接建立的开销较大,而且同一用户对同一服务器的访问需要建立多条连接。 HTTP1.1版本中采用了持续连接的方式,持续连接使得万维网服务器在发送响应后仍然在一段时间内保持这条连接,使同一个客户(浏览器)和该服务器可以继续在这条连接上传送后续的HTTP请求报文和响应报文。 而且传送的数据并不局限于传送同一个页面上链接的文档,而是只要这些文档都在同一个服务器上就行。