网络协议分析课后题答案
第五章
1.路由器是否应该优先处理ICMP报文?
不。ICMP报文封装在IP报文中,和其它IP报文一样在路由器的队列中进行排队,路由器则按照先入先出的规则处理报文。对路由器而言,与优先权有关的不是IP数据报中封装的报文类型,而是IP首部中的QoS字段。
2.如果携带ICMP报文的IP数据报出现差错,则不应产生新的ICMP报文。试解释其原因。如果这个数据报再出现差错呢?这样规定是防止无休止地循环发送差错报告报文。
3.如图5-16所示,数据从S发送到D,但是经过的路由器为:R1、R2、R3和R5。这是一条效率不高的路径。但R5不能发送ICMP重定向报文,将路由改为R1、R4和R5。为什么?
图5-16 ICMP不能重定向的例子
重定向报文仅能用于属于同一网络的主机和路由器之间。对于图中的例子,R5仅可能向D发送重定向报文,仅R1能向S发送重定向报文。
4.假设以太网上有1个主机H与5个路由器相连。设计1个携带IP数据报的物理帧(稍微有点不合法),使得主机H发送它时,引起主机H接收10个数据报。
利用ICMP重定向报文和回送请求报文。H发送一个ICMP回送请求报文,其目的IP地址设计为自身,但是目的物理地址设置为硬件广播地址。这样,所有路由器都会收到这个报文并转发(5个),而这些路由器发现主机使用了非优化路由,则向该主机发送重定向报文(5个)。
5.设计一个使用ICMP时戳请求和应答报文进行时钟同步的算法。
假设初始时戳为T i,接收时戳为T r,传送时戳是T t,发送方收到回应的时间是T h,则传输时延D t的估算方法如下:D t = (T h - T i) – (T t - T r)。其中(T h - T i)是整个往返的延时,而(T t - T r)是接收方的处理时间。
如果认为两个方向的通信时间大致相等,则单向传输时延应为D t /2,则发送方与接收方的时差应为T r–D t/2-T i。由此可以进行时钟同步。
6. ICMP时戳请求报文是否应包含一个指明报文何时发送的时戳?
不必。该机制中交互的对等端就是通信双方的ICMP协议模块,没有必要考虑由生成请求到发送到网络这段处理时间。(接收方之所以要加入接收时戳和传送时戳,是因为这两个时间的差值体现了ICMP本
身的处理时间。)
7.在Windows系统中,也可以使用ping程序来查看数据报所经过的路径。但当路径长度超过9时,则不能使用ping程序。试解释原因。
ping –r可以实现记录路由的ping功能。记录路由最大只能记录9个路由器。
8.查阅资料,了解并使用图形化的traceroute工具。
最常见的VisualRoute,还有3d Traceroute,具体可到互联网搜索下载。
9.本章提到,使用ICMP echo request报文时,数据区填充的内容由具体实现指定。在Windows下尝试Ping命令,看看Windows给数据区填的内容是什么?
见下图。
10.为什么仅能向源站报告差错?
路由器收到IP数据报时,如果该数据报不包含记录路由、源路由选项,则不体现任何中间路由器信息,仅能体现源IP信息。因此,必须向源端报告差错。此外,路由器发现数据报发生差错时,无法判断究竟是在投递过程中的哪一步发生差错,因此,仅能向源站报告差错。
11.为什么路由器通告报文的发送周期是10分钟,而一条路由的存活时间是30分钟?
考虑到通告报文可能丢失,存活时间必须大于发送周期。
12.在ICMP目的站不可达报文中,有一类错误是“需要分片但DF置位(不能进行分片)”。基于此,请给出一个路径MTU的测量算法。
思想:发送IP数据报并强制该数据报不能分片,如果收到该类错误报告,说明该报文尺寸过大,则继续调小尺寸并继续发送该种IP数据报;如果未收到该类报告,说明尺寸偏小或正好,此时可以增大IP数据报的尺寸。
为了较快地逼近实际值,可以首先将第一个探测报文的尺寸设置为最大IP数据报长度,之后利用二分算法的思想调整探测报文尺寸。
13.你能否给出其它用于traceroute程序的判断是否到达目标的方法?
可以将探测报文改为UDP报文,并把其目的端口号设置为一个不常用的端口。这样,中间路由器返回的是ICMP超时报文,而目标返回的是ICMP端口不可达报文,由此可以判断到达了目的端。
14.阅读RFC1393,看看有没有其它实现traceroute的方法。
该方法的思想是对ICMP ECHO报文进行扩展,增加新选项以实现路径发现功能,具体阅读该标准既可。
第六章
1.分析传输层的作用,并与概述中所讨论的通用分层模型思想相比较。
加强和弥补IP层的服务。“加强”指提供可靠性,而TCP/IP的传输层则提供了不同的可靠性级别以适应不同的应用需求;弥补指提供端到端的服务,并通过不同的端口号区分不同的上层应用。
2.利用端口号而不是进程标识符来指定一台机器的目的进程,有什么优点?
进程标识符是动态变化的,每次应用程序重启都会对应不同的标识符,而端口号是相对固定的。网络通信中的客户端需要主动与服务器建立连接,其连接的目标必须是固定的,因此,必须用端口号来标识。
3.使用预分配的UDP端口号,有什么优点?
此题忽略,无意义。
4.能否将同一端口号分配给两个进程使用,设法通过实验证实你的结论?
不能。利用Socket编程,使用bind函数将同一端口绑定给两个应用(套接字),后启动的应用(进程)无法使用该套接字。
5.为什么UDP校验和独立于IP校验和?你是否反对这样一个协议:对包括UDP报文在内的整个IP数据报使用一个校验和?
IP仅针对首部计算校验和,UDP报文封装在IP数据报中作为数据报的数据区,因此单独计算校验和。这样整个IP数据报都可以被校验。
反对。IP和UDP属于不同的协议模块和层次,合并校验不利于区分错误来源。此外,在数据报投递过程中,对于目标不是自身的数据报,路由器则仅处理IP部分,不关注高层,分开计算时,当发现IP发生差错就可进行相应处理,合并计算校验和则不便于这种处理。在目的端,数据在接收过程中则是沿着协议栈逐层向上递交的,分开计算时当IP首部发生差错,数据报就不会递交给UDP模块,合并时则无法实现这一点。
6.接收端收到有差错的UDP报文时应如何处理?
发生差错有几种情况:若UDP目的端口号未开放,则返回ICMP端口不可达报文;若检验校验和时发生差错,则丢弃。
7.一个UDP数据报首部的十六进制表示为:0632 0045 001C E217。试求源端口、目的端口、用户数据报的总长度、数据部分长度。这个数据报是从客户发送给服务器还是从服务器发送给客户的?使用UDP的这个服务器程序是什么?
题目有误,应改成0632 0035 001C E217。(不用改)
源端口:1568(0632),目的端口53(0035),报文长度28字节(001C),数据部分长度28-8=20字节。客户端发给服务器,服务器程序是DNS。
原题目是45,是69,TFTP。
8.假定一台主机连接在以太网上,它要发送总长度为8192字节的UDP报文。该报文最终被分成多少个IP数据报投递?
以太网MTU为1500字节。假设IP不使用选项,则其长度为20字节,所以预留给UDP 的长度为1480字节。所以最终的分片数为|8192/1480|+1=6,其中“||”标识取整。
9.如何判断远程机器上的某个UDP端口是否开放?
向该端口发送UDP报文,若收到ICMP端口不可达报文,则该端口未开放。
10.从网络安全的角度看,使用知名端口号会不会存在安全风险?
单看这种行为,不会存在风险。但是知名端口与一些知名应用相关,这些应用可能存在安全缺陷,比如协议本身有缺陷,或者实现有安全漏洞。因此,黑客攻击的第一步往往是实施端口扫描,为随后的攻击步骤奠定基础。
第八章
对于使用代理ARP的路由器,如果使用主机地址表来决定是否回答ARP请求,只要在某个网络中添加一个新主机,就必须修改该选路表。考虑如何分配IP地址才能在不改变选路表的情况下添加主机。(提示:考虑子网)socket通信为什么要指定端口
用路由器连接的每个物理网络被分配连续的IP地址段,这样,路由器可以使用网络号/掩码的格式来表述:到某个网段的机器用代理ARP。这样,只要新主机的地址处于这个网段,就不必修改选路表。
透明路由器可否用于局域网,如以太网?为什么?
从工作机制和地址使用方法看,使用该技术需要有巨大的IP地址空间(A类),因此,不适用于局域网。
考虑一个B类网络号的固定子网划分,使它能适应至少76个网络。每个网络上能有多少台主机?
76个网络,意味着至少应该有7个比特被拿出来作为网络号,主机号部分为9比特,则每个网络上最多的主机数为29-2=510。(去除全0和全1)。
对一个C类网络地址,划分子网是否有意义?
有。可以划分出小规模的子网以便进行控制和管理。最小的子网仅包含4个地址,这个子网中有两个地址可用,用于路由器的点对点连接,分别分配给点到点链路的两个点。
在一个路由器上同时使用代理ARP和子网编址是否可行?如果可行,请说明如何做到;如果不可行,解释为什么。
可以。参考习题。
分别给出了实例。
为什么说使用代理ARP的网络容易受到ARP欺骗(
即任意一台机器都能顶替其他任何机器)?
应该,因为连接是要占用系统资源的,对于接收大量连接请求的服务器而言尤为重要。实际中服务器通常具有半开连接检测功能,细节见。
当使用两个NAT盒连接三个地址域时,潜在的问题是什么?
考虑使用私有IP地址的情况:
使用C/S通信模型时,客户端需要主动发起于服务器的通信,如果服务器位于NAT盒后(图中两个地址域中的一个),则通信会失败。实际中,服务器通常不应被配置私有地址
(为本私有地址域提供服务的服务器除外)。
另一种想法:如果两个NAT盒后的两个地址域使用相同的私有地址,则无法通信。
当使用两个NAT盒连接三个地址域时,目的地址会被转换几次?源地址会被转换几次?
各2次。
考虑通过互联三个地址域的两个NAT盒发送的ICMP主机不可达报文,将发生几次地址
转换?将发生几次端口号转换?
要点:需同时转换封装ICMP报文的IP报文首部的IP地址,以及ICMP报文中包含的出
错数据报IP首部的地址和端口号。
8.10 NAT对于主机是完全透明的吗?为了回答这个个问题,请给出主机能够传输的一个报
文序列,(使用这个序列,主机就可)以确定它(自己)是否隐藏在一个NAT盒后。
利用UDP报文和Traceroute技术。
中国移动通信集团广东有限公司网络变更认证试题(临时认证2)
公司名称:姓名:维护专业:
一、单选题(下列选项中只有一项是最符合要求的,请在括号内填写正确答案。每题1.5分,共40题60分)
1、网络割接管理实行()级管理原则?(B )
A、一
B、二
C、三
D、零
2、省公司网络部和市公司网络部分别负责审批()和()的割接申请。(A )
A、省管割接市管割接
B、骨干割接本地割接
C、省市馆割接市管割接
D、长途本地
3、省管割接和市管割接可进一步分为(C )类。
A、一
B、二
C、三
D、四
4、省管割接和市管割接可进一步分为()、()与()。(D )
A、重大割接、严重割接、一般割接
B、重大割接、严重割接、紧急割接
C、新应用割接、重大割接、紧急割接
D、新应用割接、重大割接、一般割接
5、省管割接的负责单位在每月()日前,向省公司网络部汇总提交下一个月的割接申请。(D )
A、10
B、15
C、20
D、25
6、省管割接的负责单位每月以()向省公司网络部汇总提交下一个月的割接申请;(B )
A、邮件
B、正式公文
C、工单
D、视讯
7、割接负责单位负责牵头组织相关部门对哪些重点内容进行会审?(  C )
A、割接方案、应急预案进行会审。
B、割接方案、业务拨测方案等进行会审。
C、割接方案、应急预案、业务拨测方案等进行会审。
D、应急预案、业务拨测方案等进行会审。
8、紧急割接的申请单位原则上提前()工作日向省公司网络部提交割接申请;(A )