计算机网络答案 下载本文

首先,主机域名可以帮助人们记忆网络主机地址,因为它一般使用英文缩写;

IP地址则是完成TCP/IP网络通信所必需,使用IP地址可以惟一性的确定通信所需要的网络主机或路由器(接口),所有的域名也必须转换成为IP地址之后才能用于网络通信(IP协议使用IP地址进行数据传输);

而MAC地址最为有趣,可以注意到在点堆点的通信协议中(如PPP),其实并不需要MAC地址,从理论上,MAC地址对于因特网来说,显然是可有可无的。之所以需要MAC地址,是因为需要支持多种网络技术的发展,并保持网络链路层发展的独立性,例如在局域网络中还存在IPX/SPX、AppleTalk等网络技术,保留了MAC地址,就可以使得网络技术在不同的应用领域中,保留最大可能的多样性和选择余地。 4. 请分别计算MAC地址、IP v4和IP v6的地址空间? 参考答案:

MAC地址、IP v4和IP v6的地址空间与其相应的协议地址位地址长度有关,这三种地址的长度分别为:48、32、128位,所以相应的地址空间分别为 248 281,474,976,710,656个

232 4,294,967,296个

2128 340,282,366,920,938,000,000,000,000,000,000,000,000个

5. 为什么ARP查询要封装在广播帧中?为什么ARP的应答帧中需要包含特定的MAC地址?

参考答案:

ARP模块运行在每个局域网上主机的网卡接口上,并在某个共享介质的因特网子网的范围内工作,在该子网内,所有主机(接口)的IP地址的网络号(netid)相同。由于工作范围局限于某个局域网内(不跨越路由器),所以所有的ARP查询只是在局域网内运行,不需要形成IP数据报,所以,ARP查询是封装在链路层帧运作的。而ARP的功能在于将特定的IP地址转换成MAC地址,所以先决条件是已知IP地址,后求MAC地址,所以在查询的MAC帧必定包含IP地址,并以广播的形式在局域网上传播,而应答帧(如果可能产生的话)则必定包含与该IP相关的MAC地址。

6. 因特网所提供的网络层服务是怎样的? 参考答案:

因特网所提供的网络层服务所提供的是端到端(end-to-end)的不可靠的IP数据报服务。

7. 因特网可以提供那些传输层服务,因特网应用层协议对这些服务是如何选择的? 参考答案:

因特网上进程到进程(process-to-process)的数据交换是通过TCP(可靠的)/UDP这样的传输层协议完成的。因特网应用层协议对这些服务进行选择的基本要素有三个:数据丢失(某些应用要求100%数据完整,某些则允许一定范围的数据损失)、带宽需求(某些应用对网络带宽比较高,有些则对带宽要求可以比较灵活)、实时性要求(有些应用则对数据到达的时间上比较敏感)。对上述要素的综合考虑后,可以对传输层服务协议做出选择。

8. 为什么大部分DNS应用都选用UDP作为传输层协议。 参考答案:

根据对上题的分析可知:DNS不涉及具体数据的传输,不存在数据丢失的问题。如果,DNS数据在传输过程中丢失,可以设置超时重发。DNS应用数据量并不大,但是应用频度很高,对带宽的要求不高。DNS对实时性有一定的要求,因为DNS服务效率的低下会直接影响到

网络的服务效率。综合以上因素,对大部分DNS应用都选用UDP作为传输层协议就不难理解了。

9. TCP为什么要采用“三次握手”的方式进行联接的建立和断开? 参考答案:

TCP连接要采用“握手”的方式进行相互之间的通信参数(例如计数器初始值)的设置和交换(两次握手),第三次握手的意义在于表明连接建立成功,通讯正式开始,而第三次握手往往伴随正式数据发送而行,被称为“捎带应答”。 TCP连接断开的实际上进行了“四次握手”,其中的原因是,TCP建立的是所谓“全双工”通信方式,通信双方都有可能向对方发送数据,而一方结束通信需要“两次握手”进行交互,双方都要表示出“结束”的意愿,所以需要“四次握手”。

从这里可以看出,“可靠”传输协议的通信规范的设计是十分严谨的。

10. 在因特网协议中,各层的PDU分别是什么? 参考答案:

在因特网协议中,各层的PDU分别是: 应用层:报文(message)

传输层:段(segment),数据报(datagram) 网络层:报文分组 链路层:帧(frame) 物理层:比特(bit) 第9章 网络应用

1. 应用层协议对传输层协议选择的主要考虑因素是哪些? 数据丢失、带宽需求、实时性

2. 列出五个常用的因特网应用项目以及相关协议。 万维网:HTTP

电子邮件:SMTP, POP, IMAP 文件传输:FTP

远程终端登录:TELNET 域名服务:DNS

3. 在两个主机的通信会话中,那个主机是服务器,哪个是客户端?

答案:

在两个主机的通信会话中,首先发起会话的一方为客户端,处于“倾听”状态的为服务器。但是,通信会话成功的先决条件是服务器必须首先处于开机或“倾听”状态。

4. 一个运行在某台主机中的通信进程,需要那些信息来确定运行在另一台主机中的进程? 答案:

一个运行在某台主机中的通信进程,需要对方主机的IP地址、对方的端口号或服务访问点(SAP)来确定运行在该主机中的对等通信进程。

5. 列出常见的网络应用的用户代理程序。

答:

万维网:IE, FIREFOX 电子邮件:OE, FOXMAIL 文件传输:IE, cuteFTP 远程终端登录:telnet, IE 多媒体视频:realplay

6. 为什么HTTP、FTP、SMTP、POP和IMAP需要TCP的支持而不是UDP的? 答:

因为上述协议都是基于“文件”的网络应用,对数据丢失十分敏感,要求数据的完整和可靠、但对带宽需求、实时性的要求并不高,所以,TCP协议可以满足这样的要求。

7. 为什么大部分FTP服务器需要限制同时连接的客户端数量? 答:

实际上,所有的网络服务器都会对同时可接入的客户数量进行限制,其原因也十分简单,任何网上的服务资源都是有限的,但是这种情况,尤以FTP服务器表现的最为突出。 首先,因为FTP是一种十分普及的网络应用,使用客户众多;其次它是“面向连接”的应用,服务器需要保留登录用户的状态和根据用户权限控制用户对文件的访问,对于每一个FTP连接,一般需要两个通道进行才能进行有效的文件传输。由于以上原因,FTP对服务器资源的占用是比较多的。为了使得文件服务器能够保证所有服务的正常运行,并不至于应为过多用户登录造成系统资源的枯竭并导致系统崩溃,所以对同时可接入的用户按服务器所能承受的能力实行限制。

8. 请简单叙述浏览器本地缓存的应用机理,你的浏览器一般是如何配置的。 答:

浏览器本地缓存是指在客户端主机上分配了一个专用的文件夹(如Windows系统中的..\\ Temporary Internet Files)存放用户所有访问过的网页,当用户再次访问同一网页时,浏览器会从该文件夹进行查找,并使用该网页进行显示。显然,这是一个多快好省的办法,可以大大提高网页的响应时间。

对于过时(尤其是新闻类目录网页)的网页,万维网设计了“有条件获取(condition GET)”的方法,一个HTTP请求报文要满足“有条件获取”须具备两点: (1)在请求报文中使用GET方法;

(2)在请求报文中包含“IF-Modified-Since”字样的首部信息。

这样,存储原始网页的网站对每个此类的请求报文,会进行比较和判断,并根据判断结果返回相应的信息,或者是新的对象,或者是“Object not modified.”

一般浏览器本地缓存虽然可以保存用户访问过得网页中的所有对象,但由于磁盘空间的限制,不可能无限制或长期保存这些资料。在浏览器的默认设置中,历史资料保存的默认期限为20天。根据用户自己访问的频度和磁盘容量的大小,可以作适当调整。

9. HTTP协议的请求报文在什么情况下,会向服务器发送除报文首部外的数据信息? 答:

当客户端有大量数据(超过2k)需要发送到万维网服务器时,可以将HTTP请求报文的method栏位设置成“post”,这样,客户端的数据可以不受大小限制的上传到服务器。此时的用户数据是放在请求报文的实体(entity)栏目中(也就是报文首部以外)发送的。

10. HTTP 1.0和HTTP 1.1的主要区别是什么? 答:

HTTP/1.0使用非持续连接,HTTP/1.1的默认操作模式则是持续连接。

11. CGI的作用是什么?其工作原理是怎样的?CGI一般可以用什么语言来编写? 答:

CGI的作用:可以把CGI看成是一个通过浏览器实现的类似操作系统的用户操作界面。 CGI工作原理是:首先由用户从HTML网页向服务器发送输入数据(或访问包含CGI程序的网页)。该数据被CGI程序处理并产生新的HTML网页,然后将这个动态生成的网页发给用户。

CGI的工作语言:CGI可以用UNIX中的shell语言,C和C++, Perl和PHP, JSP和ASP来编写。

12. Telnet和FTP有什么异同点? 答:

相同点:这两种网络应用都需要进行主机用户的登录和认证;对登录后的操作,系统会根据用户权限进行相关的资源访问控制。

不同点:FTP用于文件的传输(上传和下载),主要的命令一般与文件(目录)操作有关,是操作系统命令的子集。telnet用于用户操作远程系统,可以使用大部分操作系统的命令。但是,由于telnet的安全性比较薄弱,一些系统管理员的专用命令的使用会受到限制。另一种比较安全的方法是使用SSH应用,来完成类似telnet的工作。

13. SMTP和POP协议分别应用在什么场合? 答:

对个人用户来说,发送邮件服务器时需SMTP协议(例如,smtp.163.com);接收邮件时要用到POP协议(例如:pop3.163.com)。

14. 同样作为文件传输类的协议,HTTP和SMTP有什么重大区别? 答:

二者的区别是:首先,HTTP基本上是一个“拉”的协议(pull protocol)——因特网上的大部分万维网应用都是从Web服务器上取资料,并由发出数据请求的主机来启动TCP连接;而SMTP主要是一个“推”的协议(push protocol)——由发送方的邮件服务器将数据推给接收方的邮件服务器,由发送方的邮件服务器来启动TCP连接。

第二个不同点是SMTP所传输的数据必须全部转换成7位ASCII码,由于“CRLF.CRLF”组合是邮件主体的结束标志,所以任何二进制数据的转换必须考虑这个问题,实际上,在该转换过程中,是不允许“.”出现的。而任何版本的HTTP协议都不需要对二进制数据进行转换。对非持续连接模式工作的HTTP协议,每次TCP连接只传送一个对象(文件),一旦Web服务器关闭连接,浏览器就知道一个 HTTP响应报文已经发送完毕。对持续连接模式工作的HTTP协议,每个响应报文都会包含一条Content-length:的首部行来向浏览器说明响应报文的大小。

第三个重要的不同是HTTP以对象(文件)为单位从Web服务器向浏览器传输资料;而SMTP以邮件报文(E-mail message)为单位从一个邮件服务器传到另一个邮件服务器,包含在一个邮件内的所有文件(包括附件)全部都整合到一个邮件报文中。