计算机网络(第7版) 第6章 应用层

本文介绍了网络应用的基本组成部分,包括应用层协议、域名系统DNS的工作原理及其结构、万维网的HTTP协议及其实现机制、FTP协议的特点,以及代理服务器的作用。此外,还探讨了HTTP的报文结构、使用cookie进行用户跟踪的方法、XML的应用、搜索引擎的工作方式,以及DHCP协议如何为网络设备分配IP地址。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.应用层协议

应用层协议与网络应用并不是同一个概念,应用层协议只是网络应用的一部分。

万维网应用是一种基于客户端/服务器体系结构的网络应用,万维网应用包含很多部件,有万维网浏览器、万维网服务器、万维网文档的标准格式,以及一个应用层协议。万维网的应用层协议是HTTP,它定义了在万维网浏览器和万维网服务器之间传送的报文类型、格式和序列等规则。

 

2.域名系统DNS

域名系统DNS(domain name system)是互联网使用的命名系统,用来把便于使用的机器名字转换为IP地址,因为IP地址对用户不友好,域名对计算机不友好。

许多应用层软件经常直接使用域名系统DNS,虽然计算机的用户只是间接而不是直接使用域名系统,DNS为互联网的各种网络应用提供了核心服务。

互联网的域名系统DNS被设计成一个联机分布式数据库系统,并采用客户服务器(C/S)方式。DNS是大多数名字都在本地进行解析(resolve),仅少量解析需要在互联网上通信,因此DNS系统的效率非常高。

解析过程:当某一个应用进程需要把主机名解析为IP地址时,该应用进程就调用解析程序,并成为DNS的一个客户,把待解析的域名放在DNS请求报文中,以UDP用户数据报的方式发给本地域名服务器(使用UDP是为了减小开销),本地域名服务器在查找域名后,把对应的IP地址放在回答报文中返回,应用进程获得目的主机的IP地址后即可进行通信。若本地域名服务器不能回答该请求,则此域名服务器就暂时成为DNS中的一个客户,并向其他域名服务器发出查询请求,这种过程直至找到能够回答该请求的域名服务器为止。

 

3.域名结构

1)每一个标号不超过63个字符

2)不区分大小写

3)完整域名总共不超过255个字符

 

4.根域名服务器

根域名服务器是最高层次的域名服务器,也是最重要的域名服务器。

所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址。

根域名服务器是最重要的域名服务器,因为不管是哪一个本地域名服务器,若要对互联网上任何一个域名进行解析(即转换为IP地址),只要自己无法解析,就首先要求助于根域名服务器。

到2016年2月,全世界已经在588个地点(地点数还在增加,其中L组根域名服务器,中国有3个,都在北京)安装了根域名服务器,但是这么多的根域名服务器只使用了13个不同IP地址的域名,即a.rootservers.net  b.rootservers.net  ...  m.rootservers.net。虽然根域名服务器只有13个域名,并不代表根域名服务器是由13台机器组成,实际上是由13套装置组成,每一套装置在很多地点安装根域名服务器(也可称为镜像根服务器),但都使用同一个域名,现在世界上大部分DNS域名服务器,都能就近找到一个根域名服务器查询IP地址。

注意:在许多情况下,根域名服务器并不直接把待查询的域名直接转换成IP地址(根域名服务器也没有存放这些信息),而是告诉本地域名服务器,下一步应当找哪一个顶级域名服务器进行查询。

 

5.顶级域名服务器(TLD服务器)

这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名。

当收到DNS查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步应当找的域名服务器的IP地址)

 

6.权限域名服务器

负责一个区的域名服务器,当一个权限域名服务器还不能给出最后的查询回答时,就会告诉发出查询请求的DNS客户,下一步应当找哪一个权限域名服务器。

 

7.本地域名服务器

当一台主机发出DNS请求时,这个查询请求最先发给本地域名服务器。

 

8.文件传输协议FTP

FTP提供交互式的访问,允许用户指明文件的类型与格式(如指明是否使用ASCII码),并允许文件具有存取权限(如访问文件的用户必须经过授权,并输入有效的口令)。

FTP屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件。

和数据库系统的不同之处是用户不需要调用一个特殊的客户进程,而是由操作系统提供对远地共享文件进行访问的服务,就如同对本地文件的访问一样。

FTP使用客户服务器方式。一个FTP服务器进程可同时为多个客户进程提供服务。FTP的服务器进程由两大部分组成:一个主进程,负责接收新的请求;另外有若干个从属进程,负责处理单个请求。

一个用户的FTP请求处理,有两个进程:控制进程、数据传送进程,如下图,

 

9.万维网www

万维网解决了以下几个问题,

1)怎样标志分布在整个互联网上的万维网文档?

使用统一资源定位符URL(uniform resource locator),每一个文档在整个互联网范围内具有唯一的标志符URL。

2)用什么样的协议来实现万维网上的各种链接?

要使万维网上的客户端程序与服务器程序之间的交互遵循严格的协议,即超文本传输协议HTTP(hypertext transfer protocol),HTTP是一个应用层协议,使用tcp连接进行可靠传输。

3)怎样使不同作者创作的不同风格的万维网文档,都能在互联网上的各种主机上显示出来,同样使用户清楚地知道在什么地方存在着链接?

使用超文本标记语言HTML(hypertext markup language),使得万维网页面的设计者可以很方便地用链接从本页面的某处链接到互联网上的任何一个万维网页面,并且能够在自己的主机屏幕上将这些页面显示出来。

4)怎样使用户能够很方便地找到所需的信息?

使用搜索工具,如百度

 

10.超文本传输协议HTTP

HTTP是面向事务的应用层协议,它是万维网上能够可靠地交换文件(文本、声音或图像等多媒体)的重要基础。

HTTP协议是无状态的,从而简化了服务器的设计。

HTTP协议首先要和服务器建立TCP连接,这需要三报文握手,当建立TCP连接的三报文握手的前两个部分完成后,万维网客户就把HTTP请求报文,作为建立TCP连接的三报文握手的第三个报文的数据,发送给万维网服务器。服务器收到HTTP请求报文后,就把所请求的文档作为响应报文返回给客户,如下图,

 

11.代理服务器

代理服务器(proxy server)是一个网络实体,它又称为万维网高速缓存(web cache),代理服务器把最近的一些请求和响应暂存在本地磁盘上,当新请求到达时,若代理服务器发现这个请求与暂时存放的请求相同,就返回暂存的响应,而不需要按URL的地址再次去互联网访问资源。

代理服务器可在客户端或服务器端工作,也可在中间系统上工作。

 

12.HTTP的报文结构

 

13.使用cookie

万维网站点可以使用cookie来跟踪用户。

cookie工作流程:

当用户A浏览某个使用cookie的网站时,该网站的服务器就为A产生一个唯一的识别码,并以此作为索引在服务器的后端数据库中产生一个项目,接着在给用户A的HTTP响应报文中添加一个叫做set-cookie的首部行,这里的“首部字段名”就是Set-cookie,而后面的值就是赋予该用户的识别码,如下图,

当用户A收到这个响应后,其浏览器就在它管理的特定cookie文件中添加一行,其中包括这个服务器的主机名和set-cookie后面给出的识别码,当用户A继续浏览这个网站时,每发送一个HTTP请求报文,其浏览器就会从其cookie文件中取出这个网站的识别码,并放到HTTP请求报文的cookie首部行中,如下图,

 

于是,这个网站就能跟踪用户A在该网络的活动,同时避免一些重复的登录问题。

这里就需要浏览器保护用户的隐私。

 

  1. 可扩展标记语言XML

XML和HTML很相似,但它的设计宗旨是传输数据,而不是显示数据(HTML做的事),主要用于标记电子文件,使其具有结构性的标记语言,可用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。

 

  1. 搜索引擎

在万维网中用来进行搜索的工具叫做搜索引擎(search engine),搜索引擎种类很多,主要有两大类:全文检索、分类目录搜索。

  1. 全文检索搜索引擎

是一种纯技术型的检索工具,它的工作原理是通过搜索软件(如“蜘蛛”的spider程序)到互联网上的各网站收集信息,找到一个网站后,可以从这个再链接到另一个网站,像蜘蛛爬行一样。然后按照一定的规则建立一个很大的在线索引数据库供用户查询。这个数据库需定期更新维护。代表有谷歌、百度。

  1. 分类目录搜索引擎

分类目录搜索引擎并不采集网站的任何信息,而是利用各网站向搜索引擎提交网站信息时填写的关键词和网站描述等信息,经过人工审核编辑后,如果认为符合网站登录的条件,则输入到分类目录的数据库中,供网上用户查询。查询时不需要使用关键词,只需要按照分类(先找大类,再找下面的小类),但是内容比较有限。代表有雅虎、新浪、搜狐、网易。

 

  1. 动态主机配置协议DHCP

它提供了一种机制,称为即插即用联网,这种机制允许一台计算机加入新的网络和获取IP地址而不用手工参与。

DHCP给运行服务器软件而位置固定的计算机指派一个永久地址,而当这台计算机重新启动时其地址不改变。

DHCP使用客户服务器方式。

需要IP地址的主机在启动时就向DHCP服务器广播发送发现报文(将目的地址全设为1,即255.255.255.255),这时该主机就成为DHCP客户。发送广播报文是因为还不知道DHCP在什么地方,因此要发现DHCP服务器的IP地址。这台主机目前还没有自己的IP地址,因此它将IP数据报的源IP地址全设为0。这样,在本地网络上的所有主机都能够收到这个广播报文,但只有DHCP服务器才对此广播报文进行回答,DHCP服务器先在其数据库中查找该计算机的配置信息,若找到,则返回找到的信息,若找不到,则从服务器IP数据池中取一个地址分配给该计算机。

并不是每个网络都有一个DHCP服务器,这样会导致DHCP服务器的数量太多,但是每个网络至少有一个DHCP中继代理(通常是一台路由器,它配置了DHCP服务器的IP地址,当收到主机A以广播形式发送的发现报文后,就以单播方式向DHCP服务器转发此报文,并等待其回答,收到DHCP服务器回答的提供报文后,DHCP中继代理再把此提供报文发回给主机A)。

DHCP服务器分配给DHCP客户的IP地址是临时的。

 

本章小结

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值