2009 年保送研究生《计算机网络》试题
一、简单题(共 6 题,10 分/题,共 60 分)
1、简述 ARP 协议原理,试给出一种干扰 ARP 正常工作的方式。(ARP 欺骗)
首先,每台主机都会在自己的 ARP 缓冲区中建立一个 ARP 列表,以表示 IP
地址和 MAC 地址的对应关系。当源主机需要将一个数据包要发送到目的主机时,
会首先检查自己 ARP 列表中是否存在该 IP 地址对应的 MAC 地址,如果有,
就直接将数据包发送到这个 MAC 地址;如果没有,就向本地网段发起一个 ARP
请求的广播包,查询此目的主机对应的 MAC 地址。此 ARP 请求数据包里包括
源主机的 IP 地址、硬件地址、以及目的主机的 IP 地址。网络中所有的主机收到
这个 ARP 请求后,会检查数据包中的目的 IP 是否和自己的 IP 地址一致。如果
不相同就忽略此数据包;如果相同,该主机首先将发送端的 MAC 地址和 IP 地
址添加到自己的 ARP 列表中,如果 ARP 表中已经存在该 IP 的信息,则将其覆
盖,然后给源主机发送一个 ARP 响应数据包,告诉对方自己是它需要查找的
MAC 地址;源主机收到这个 ARP 响应数据包后,将得到的目的主机的 IP 地址
和 MAC 地址添加到自己的 ARP 列表中,并利用此信息开始数据的传输。如果
源主机一直没有收到 ARP 响应数据包,表示 ARP 查询失败。
例如:
A 的地址为:IP:192.168.10.1 MAC: AA-AA-AA-AA-AA-AA
B 的地址为:IP:192.168.10.2 MAC: BB-BB-BB-BB-BB-BB
根据上面的所讲的原理,我们简单说明这个过程:A 要和 B 通讯,A 就需要知道
B 的以太网地址,于是 A 发送一个 ARP 请求广播(谁是 192.168.10.2 ,请告诉
192.168.10.1),当 B 收到该广播,就检查自己,结果发现和自己的一致,然后
就向 A 发送一个 ARP 单播应答(192.168.10.2 在 BB-BB-BB-BB-BB-BB)。
2、分析 TCP/IP 协议簇中的 TCP 和 UDP 两种协议有缺点。
TCP 是可靠传输,UDP 是不可靠传输,
TCP 是面向连接的,UDP 是无连接的,
TCP 被广泛应用在文件传输、远程连接等需要数据被可靠传输的领域;UDP
比 TCP 相对简单且容易管理,它被应用在一些局域网系统的应用程序中。
3、Windows 与 linux 提供了 SOCKET 网络编程规范,设计基于 SOCKET 的服务器/
客户机的程序,分别给出服务器与客户机程序的工作流程。
4、简单说明路由器转发数据包的处理过程。
一、Routing Process
当一个数据包进入路由器:
1、拆去二层帧头;
2、进入缓冲区;
3、查看目标地址(匹配路由表);
4、重新封装二层帧头;
5、转发。
二、Switching Process:
1、Check framing and buffer packet;
查看二层帧,进行 CRC 校验,层三的数据和头部进入缓冲区(buffer);
2、Check routing table;
查路由表,从 buffer 中拿出目标 IP 和路由表进行匹配(和运算);
3、Re-Encapsulation layer 2 header;
重新封装二层帧头;
注: (1)二层帧头包括源 MAC 地址和目标 MAC 地址。
(2)此时的二层帧头的源 MAC 已变为路由器出接口的地址。
4、Forwarding from one local interface;
转发(从一个本地接口封装);
5、试述数字签名的工作原理。
数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变
换。这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元
的完整性并保护数据,防止被人(例如接收者)进行伪造。它是对电子形式的消息进
行签名的一种方法,一个签名消息能在一个通信网络中传输。基于公钥密码体制
和私钥密码体制都可以获得数字签名,目前主要是基于公钥密码体制的数字签
名。包括普通数字签名和特殊数字签名
数字签名(digital signature )概念:以电子形式存在于数据信息之中的,
或作为其附件的或逻辑上与之有联系的数据,可用于辨别数据签署人的身份,并
表明签署人对数据信息中包含的信息的认可。
数字签名的工作原理:“发送报文时,发送方用一个哈希函数从报文文本中生成
报文摘要,然后用自己的私人密钥对这个摘要进行加密,这个加密后的摘要将作
为报文的数字签名和报文一起发送给接收方,接收方首先用与发送方一样的哈希
函数从接收到的原始报文中计算出报文摘要,接着再用发送方的公用密钥来对报
文附加的数字签名进行解密,如果这两个摘要相同、那么接收方就能确认该数字
签名是发送方的。
数字签名有两种功效:一是能确定消息确实是由发送方
签名并发出来的,因为别人假冒不了发送方的签名。二是数字签名能确定消息的
完整性。因为数字签名的特点是它代表了文件的特征,文件如果发生改变,数字
签名的值也将发生变化。不同的文件将得到不同的数字签名。 一次数字签名涉
及到一个哈希函数、发送者的公钥、发送者的私钥。”这报文鉴别的描述!数字
签名没有那么复杂。
数字签名:发送方用自己的密钥对报文 X 进行 D 运算,生成不可读取的密
文 Dsk,然后将 Dsx 传送给接收方,接收方为了核实签名,用发送方的密钥进
行 E 运算,还原报文。
每个人都有一对“钥匙”(数字身份),其中一个只有她/他本人知道(密钥),另
一个公开的(公钥)。签名的时候用密钥,验证签名的时候用公钥。又因为任何
人都可以落款声称她/他就是你,因此公钥必须向接受者信任的人(身份认证机
构)来注册。注册后身份认证机构给你发一数字证书。对文件签名后,你把此数
字证书连同文件及签名一起发给接受者,接受者向身份认证机构求证是否真地是
用你的密钥签发的文件。
6、试述 RIP 协议中的 V-D(距离-向量)算法的主要内容。
二、 应用题(共 2 题,20 分/题,共 40 分)
1、在浏览器中输入 www.qq.com 并按回车,直到 qq 的网站首页显示在其浏览器
中,请问:
(1) 在此过程中,按照 TCP/IP 参考模型,从应用层(包括应用层)到网络接口
层(包括网络接口层)都用到了哪些协议,每个协议所起的作用是什么?
在浏览器中输入网址到看到页面,从应用层到网络层用到了 TCP/IP 哪些协议?各
有什么作用
用到了应用层 DNS 协议,提供域名到 IP 地址的转换,应用层 http 超文本传输
协议,直接对用户提供信息;网址后面默认的端口号用到了运输层的 tcp 协议,
提供了端进程到端进程的可靠传输;网络层用到了 ip 协议,提供了主机到主机
的通信;ICMP 协议,最典型的用途是差错报告;选路协议(RIP,OSPF,GBP 等),
为数据报提供到目的主机的最优路径。
2、根据下面的网络拓扑图,写出三个路由器的路由表项(路由表表目包含:目
的网络、下一跳 IP 地址、出口)
1、 五层协议的主要功能
计算机网络中五层协议分别是(从下向上):
1) 物理层
2)数据链路层
3)网络层
4)传输层
5)应用层
其功能分别是:
1)物理层主要负责在物理线路上传输原始的二进制数据;
2)数据链路层主要负责在通信的实体间建立数据链路连接;
3)网络层主要负责创建逻辑链路,以及实现数据包的分片和重组,实现拥塞控
制、网络互连等功能;
4)传输曾负责向用户提供端到端的通信服务,实现流量控制以及差错控制;
5)应用层为应用程序提供了网络服务。
OSI 分层的优点:
(1)人们可以很容易的讨论和学习协议的规范细节。
(2)层间的标准接口方便了工程模块化。
(3)创建了一个更好的互连环境。
(4)降低了复杂度,使程序更容易修改,产品开发的速度更快。
(5)每层利用紧邻的下层服务,更容易记住个层的功能。
3、为什么采用层次结构方式实现?
大多数的计算机网络都采用层次式结构,即将一个计算机网络分为若干层次,处
在高层次的系统仅是利用较低层次的系统提供的接口和功能,不需了解低层实现
该功能所采用的算法和协议;较低层次也仅是使用从高层系统传送来的参数,这
就是层次间的无关性。因为有了这种无关性,层次间的每个模块可以用一个新的
模块取代,只要新的模块与旧的模块具有相同的功能和接口,即使它们使用的算
法和协议都不一样。
4、DNS 解析过程
DNS 解析过程及原理
第一步:客户机提出域名解析请求,并将该请求发送给本地的域名服务器。
第二步:当本地的域名服务器收到请求后,就先查询本地的缓存,如果有
该纪录项,则本地的域名服务器就直接把查询的结果返回。
第三步:如果本地的缓存中没有该纪录,则本地域名服务器就直接把请
求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域
(根的子域)的主域名服务器的地址。
第四步:本地服务器再向上一步返回的域名服务器发送请求,然后接受
请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器
的地址。
第五步:重复第四步,直到找到正确的纪录。
第六步:本地域名服务器把返回的结果保存到缓存,以备下一次使用,同
时还将结果返回给客户机。
让我们举一个例子来详细说明解析域名的过程.假设我们的客户机如果
想要访问站点:www.linejet.com , 此客户本地的域名服务器是
dns.company.com , 一个根域名服务器是 NS.INTER.NET , 所要访问的网站的
域名服务器是 dns.linejet.com,域名解析的过程如下所示:
(1)客户机发出请求解析域名 www.linejet.com 的报文
(2)本地的域名服务器收到请求后, 查询本地缓存, 假设没有该纪录, 则本
地域名服务器dns.company.com 则向根域名服务器NS.INTER.NET 发出请求解
析域名 www.linejet.com
(3)根域名服务器 NS.INTER.NET 收到请求后查询本地记录得到如下结
果:linejet.com NS dns.linejet.com (表示 linejet.com 域中的域名服务器为:
dns.linejet.com ), 同时给出 dns.linejet.com 的地址,并将结果返回给域名服务
器 dns.company.com。
(4)域名服务器 dns.company.com 收到回应后,再发出请求解析域名
www.linejet.com 的报文。
(5)域名服务器 dns.linejet.com 收到请求后,开始查询本地的记录,找到如
下一条记录:www.linejet.com A 211.120.3.12 (表示 linejet.com 域中域名服务
器 dns.linejet.com 的 IP 地址为:211.120.3.12),并将结果返回给客户本地域名服
务器 dns.company.com。
(6)客户本地域名服务器将返回的结果保存到本地缓存,同时将结果返回给
客户机。
这样就完成了一次域名解析过程 。