Ch6.应用层
一.网络应用模型
1.应用层概述
应用层对应用程序的通信提供服务。应用层协议定义:应用进程交换的报文类型,请求还是响应?各种报文类型的语法,如报文中的各个字段及其详细描述。字段的语义,即包含在字段中的信息的含义。进程何时、如何发送报文,以及对报文进行响应的规则。
1.1客户/服务器(C/S)模型
服务器:提供计算服务的设备。1.永久提供服务2.永久性访问地址/域名
客户机:请求计算服务的主机。1.与服务器通信,使用服务器提供的服务2.间歇性接入网络3.可能使用动态P地址4.不与其他客户机直接通信
应用:Web,文件传输FTP,远程登录,电子邮件
1.2P2P模型
不存在永远在线的服务器每个主机既可以提供服务,也可以请求服务任意端系统/节点之间可以直接通讯节点间歇性接入网络节点可能改变IP地址可扩展性好网络健壮性强
习题:
选择
1.服务程序在Windows环境下工作,并且允许该服务器程序的计算机也作为客户访问其他计算机上提供的服务。那么,这种网络应用模型属于(B)。A.主从式B.对等式C.客户/服务器模式D.集中式
在P2P模型中,各用户计算机共享资源,从而提供比单个用户所能提供的多得多的资源。这里,各个计算机没有固定的客户和服务器划分,任意一对计算机称为对等方。
2.在客户/服务器模型中,客户指的是(A)。A.请求方B.响应方C.硬件D.软件
客户机既不是硬件又不是软件,只是服务的请求方,服务器才是响应方。
3.用户提出服务请求,网络将用户请求传送到服务器;服务器执行用户请求,完成所要求的操作并将结果送回用户,这种工作模式称为(A)。A.C/S模式B.P2P模式C.CSMA/CD模式D.令牌环模式
用户提出服务请求,网络将用户请求传送到服务器;服务器执行用户请求,完成所要求的操作并将结果送回用户,这种工作模式称为客户/服务器模式。
4.下面关于客户/服务器模型的描述,(C)存在错误。Ⅰ.客户端必须提前知道服务器的地址,而服务器则不需要提前知道客户端的地址Ⅱ.客户端主要实现如何显示信息与收集用户的输入,而服务器主要实现数据的处理Ⅲ.浏览器显示的内容来自服务器Ⅳ.客户端是请求方,即使连接建立后,服务器也不能主动发送数据A.Ⅰ、ⅣB.Ⅲ、ⅣC.只有ⅣD.只有Ⅲ
在连接未建立前,服务器在某一个端口上监听。客户端是连接的请求方,客户端必须事先知道服务器的地址才能发出连接请求,而服务器则从客户端发来的数据包中获取客户端的地址。一旦连接建立,服务器就能响应客户端请求的内容,服务器也能主动发送数据给客户端,用于一些消息的通知,如一些错误的通知。所以只有Ⅳ错误。
5.下列关于客户/服务器模型的说法中,不正确的是(D)。A.服务器专用于完成某些服务,而客户机则作为这些服务的使用者B.客户机通常位于前端,服务器通常位于后端C.客户机和服务器通过网络实现协同计算任务D.客户机是面向任务的,服务器是面向用户的
客户机的作用是根据用户需求向服务器发出服务请求,并将服务器返回的结果呈现给用户,因此客户机是面向用户的,服务器是面向任务的。
6.以下关于P2P概念的描述中,错误的是(C)。A.P2P是网络结点之间采取对等方式直接交换信息的工作模式B.P2P通信模式是指P2P网络中对等结点之间的直接通信能力C.P2P网络是指与互联网并行建设的、由对等结点组成的物理网络D.P2P实现技术是指为实现对等结点之间直接通信的功能所需要设计的协议、软件等
选项C中“P2P网络是一种物理网络”的描述是错误的。P2P网络是指在互联网中由对等结点组成的一种覆盖网络(Overlay Network),是一种动态的逻辑网络。另外,对等结点之间具有直接通信的能力是P2P的显著特点。
7.【2019统考真题】下列关于网络应用模型的叙述中,错误的是().A.在P2P模型中,结点之间具有对等关系B.在客户/服务器(C/S)模型中,客户与客户之间可以直接通信C.在C/S模型中,主动发起通信的是客户,被动通信的是服务器D.在向多用户分发一个文件时,P2P模型通常比C/S模型所需的时间短
在P2P模型中,每个结点的权利和义务是对等的。在C/S模型中,客户是服务发起方,服务器被动接受各地客户的请求,但客户之间不能直接通信,例如Wb应用中两个浏览器之间并不直接通信。P2P模型减轻了对某个服务器的计算压力,可以将任务分配到各个结点上,极大提高了系统效率和资源利用率。
二.域名系统(DNS)
1.DNS系统
2.域名
关于域名中的标号有以下几点需要注意:1)标号中的英文不区分大小写。2)标号中除连字符(-)外不能使用其他的标点符号。3)每个标号不超过63个字符,多标号组成的完整域名最长不超过255个字符。4)级别最低的域名写在最左边,级别最高的顶级域名写在最右边。
3.域名服务器
本地域名服务器:当一个主机发出DNS查询请求时,这个查询请求报文就发给本地域名服务器。
4.域名解析过程
习题:
1.域名与(D)具有一一对应的关系。A.IP地址B.MAC地址C.主机D.以上都不是
如果一台主机通过两块网卡连接到两个网络(如服务器双线接入),那么就具有两个IP地址,每个网卡对应一个MAC地址,显然这两个IP地址可以映射到同一个域名上。此外,多台主机也可以映射到同一个域名上(如负载均衡),一台主机也可以映射到多个域名上(如虚拟主机)。因此,选项A、B、C和域名均不具有一一对应的关系。
2.下列说法错误的是(A)。A.nternet上提供客户访问的主机一定要有域名B.同一域名在不同时间可能解析出不同的P地址C.多个域名可以指向同一台主机P地址D.IP子网中的主机可以由不同的域名服务器来雏护其映射
Internet上提供访问的主机一定要有IP地址,而不一定要有域名,A错。域名在同的时可以解析出不同的IP地址,因此可以用多台服务器来分担负载,B对。也可以把多个域名指向同一台主机IP地址,C对。IP子网中主机也可以由不同的域名服务器来维护其映射,D对。
3.DNS是基于(A)模式的分布式系统。A.C/SB.B/SC.P2PD.以上均不正确
域名系统(DNS)是一个基于客户/服务器模式的分布式数据库系统,主要作用是进行域名和IP地址之间的相互映射。
4.域名系统(DNS)的组成不包括(D)。A.域名空间B.分布式数据库C.战名服务器D.从内部IP地址到外部IP地址的翻译程序
DNS提供从域名到IP地址或从IP地址到域名的映射报务,从内部IP地址到外部IP地址的映射是由NAT实现的,用于缓解IPV4地址紧缺的问题,与域名系统无关。
5.互联网中域名解析依赖于由城名服务器组成的逻辑树。在域名解析过程中,主机上请求域名解析的软件不需要知道(C)信息。Ⅰ.本地域名服务器的IPⅡ.本地域名服务器父结点的IPⅢ.域名服务器树根结点的IPA.Ⅰ和ⅡB.Ⅱ和ⅢC.Ⅰ、Ⅱ和ⅢD.Ⅰ、Ⅱ和Ⅲ
正常情况下,客户机只需把域名解析请求发往本地域名服务器,其他事情都由本地域名服务器完成,并把最后结果返回给客户机。所以主机只需要知道本地域名服务器的IP。
6.在DNS的递归查询中,由(A)给客户端返回地址.A.最开始连接的服务器B.最后连接的服务器C.目的地址所在服务器D.不确定
在递归查询中,每台不包含被请求信息的服务器都转到其他地方去查找,然后它再往回发送结果,所以客户端最开始连接的服务器最终将返回正确的信息。
7.【2010统考真题】若本地域名服务器无缓存,则在采用递归方法解析另一网络某主机城名时,用户主机和本地战名服务器发送的域名请求条数分别为(A)。A.1条,1条B.1条,多条C.多条,1条D.多条,多条
采用递归查询时,如果主机所询问的本地域名服务器不知道被查询域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其他根域名服务器继续发出查询请求报文,而不是让该主机自己进行下一步的查询。因此,采用这种方法时,用户主机和本地域名服务器发送的域名请求条数均为1。因此选A。
8.一台主机要解析www.cskaoyan.com的IP地址,如果这台主机配置的域名服务器为202.120.66.68,因特网顶级域名服务器为11.2.8.6,而存储www.cskaoyan.com的IP地址对应关系的域名服务器为202.113.16.10,那么这台主机解析该域名通常首先查询(A)。A.202.120.66.68域名服务器B.11.2.8.6域名服务器C.202.113.16.10域名服务器D.可以从这3个域名服务器中任选一个
当这台主机发出对www.cskaoyan.com的DNS查询报文时,这个查询报文首先被送往该主机的本地域名服务器202.120.66.68。
9.【2016统考真题】假设所有域名服务器均采用迭代查询方式进行域名解析。当主机访问规范域名为www.abc.xyz.com的网站时,本地域名服务器在完成该域名解析的过程中,可能发出DNS查询的最少和最多次数分别是(C).A.0,3B.1,3C.0,4D.1,4
最少情况:当本机DNS高速缓存中有该域名的DNS信息时,不需要查询任何域名服务器,最少发出0次DNS查询。最多情况:因为均采用迭代查询方式,在最坏情况下,本地域名服务器需要依次迭代地向根域名服务器、顶级域名服务器(.com)、权限域名服务器(xyz.com)、权限域名服务器(abc.yz.com)发出DNS查询请求,因此最多发出4次DNS查询。
10.(C)可以将其管辖的主机名转换为主机的P地址。A.本地域名服务器B.根域名服务器C.授权域名服务器D.代理域名服务器
每台主机都必须在授权域名服务器处注册登记,授权域名服务器一定能够将其管辖的主机名转换为该主机的IP地址。
11.【2018统考真题】下列TCPP应用层协议中,可以使用传输层无连接服务的是(B).A.FTPB.DNSC.SMTPD.HTTP
FTP用来传输文件,SMTP用来发送电子邮件,HTTP用来传输网页文件,都对可靠性的要求较高,因此都用传输层有连接的TCP服务。无连接的UDP服务效率更高、开销小,DNS在传输层采用无连接的UDP服务。
简答
1.一台具有单个DNS名称的机器可以有多个IP地址吗?为什么?
可以,IP地址由网络号和主机号两部分构成。如果一台机器有两个以太网卡,那么它可以同时连到两个不同的网络上(网络号不能相同,否则会发生冲突):如果是这样的话,那么它籍要两个IP地址。
2.一台计算机可以有两个属于不同顶级域的DNS名字吗?如果可以,试举例说明。
可以,例如www.cskaoyan.com和w.cskaoyan..cn属于不同的顶级域(.com和.cn),但它们可以有同样的IP地址。用户输入这两个不同的DNS名字,访问的都是同一台服务器。
3.DNS使用UDP而非TCP,如果一个DNS分组丢失,没有自动恢复,那么这会引起问题吗?如果会,应该如何解决?
DNS使用传输层的UDP而非TCP,因为它不需要使用TCP在发生传输错误时执行的自动重传功能。实际上,对于DNS服务器的访问,多次DNS请求都返回相同的结果,即做多次和做一次的效果一样。因此DNS操作可以重复执行。当一个进程做一次DNS请求时,它启动一个定时器。如果定时器计满而未收到回复,那么它就再请求一次,这样做不会有害处。
4.为什么要引入域名的概念?举例说明域名转换过程。域名服务器中的高速缓存的作用是什么?
IP地址很难记忆,引入域名是为了便于人们记忆和识别。
域名解析可以把域名转换成IP地址。域名转换过程是向本地域名服务器申请解析,如果本地域名服务器查不到,那么向根域名服务器进行查询。如果根域名服务器中也查不到,那么向根域名服务器中保存的相应授权域名服务器进行查询,一定可以查找到。