网络协议与分析课后习题 下载本文

5)RIP没有网络延迟和链路开销的概念,路由选路基于跳数。拥有较少跳数的路由总是被选为最佳路由即使较长的路径有低的延迟和开销

6)RIP没有区域的概念,不能在任意比特位进行路由汇总

3、阅读代码回代RIP中存在的定时器种类以及它们的作用。

4个定时器:更新定时器、无效定时器、保持定时器、刷新定时器

更新定时器用于每30秒发送路由更新报文。

无效定时器用于路由信息失效前的180秒的计时,每次收到路由信息的更新信息就将该计数器复位。

刷新定时器和保持定时器同时用于将失效的路由信息删除前的计时:在保持定时器的时间内,失效的路由信息不能被接收到的新信息所更新;在刷新定时器计时器超时后,失效的路由信息被删除。

4、比较RIPv1、RIP v2和RIPng,分析三个版本的协议有哪些改进之处。 R

RIP v1、RIP v2、RIPng三个版本之间的比较如下表所示:

使用的端口 通告地址 通告类型 网络支持 支持VLSM 最大跳数 路由认证 RIP v1 UDP 520 255.255.255.255 广播 IPv4 不支持 16 不支持 RIP v2 UDP 520 224.0.0.9 广播/组播 IPv4 支持 16 UDP 521 FF02::9 组播 IPv6 ---- 16 RIPng 支持明文和MD5认不支持,认证功能已经集证 成在IPv6中 下一跳地址 更新,超时,刷新,抑制计时器 每次更新的路由表项 不携带 每个路由表项都携在专门的路由表项中携带带 30,180,120,180 不认证时25条 认证时24条 下一跳地址 30,180,120,180 根据链路是MTU值 30,180,120,180 25 三个版本协议之间的改进之处如下:

? RIP v1:这是RIP协议的最初版本,它完成了RIP作为距离矢量路由选择协议的

基本功能。RIP v1仅支持分类编址,且协议报文无法携带掩码信息。 ?

RIP v2:在RIP v1的基础上增加了对无分类编址、组播路由更新、路由标记和协议报文验证等机制的支持,同时在报文格式中增加了子网掩码和下一跳地址字段。

?

RIPng:又称为下一代RIP协议(RIP next generation),它在RIP v2的基础上针对IPv6提出了一系列的扩展以适应下一代网络的需求。

6、理解链路状态路由选择协议的运行方式。

链路状态路由选择协议又称为最短路径优先协议,目的是映射互联网络的拓扑结构,每个链路状态路由器提供关于它邻居的拓扑结构的信息? 链路状态路由选择协议基于Dijkstra的最短路径优先(SPF)算法,网络中的路由器并不向邻居传递“路由表项”,而是通告给邻居一些链路状态。

链路状态路由选择协议使用称为代价的方法,而不是使用跳。其实现基本步骤如下: (1)每台路由器与它的邻居之间建立联系,这种联系称为邻接关系。

(2)每台路由器向每个邻居发送链路状态通告LSA。对每台路由器链路都会生成一个LSA,LSA用于标识这条链路、链路状态、路由器接口到链路的代价度量值以及链路所连接的所有邻居。每个邻居在收到通告后将依次向它的邻居转发(泛洪)这些通告。

(3)每台路由器要在数据库中保存一份它所收到的LSA的备份,如果所有路由器工作正常,那么它们的链路状态数据库应该相同。

(4)完整的拓扑数据库,也叫做链路状态数据库,Dijkstra算法使用它对网络图进行计算,得出到每台路由器的最短路径;接着链路状态协议对链路状态数据库进行查询,找到每台路由器所连接的子网,并把这些信息输入到路由表中。

现在常用于IP路由的链路状态路由协议有最短路径优先(OSPF)以及中间系统到中间系统(IS-IS)两种。 第八章

1、结构和调用啥的

内核应用层协议及UDP套接字preceive接收数据包os内部数据通道发送数据包psendudpsendudp_inlocal_outIP模块

图8-2 UDP软件结构

图8-2描绘了UDP软件中各个函数之间的调用关系。可以看出UDP的实现非常简单,同其他协议一样,IP模块调用local_out()将数据包从环回接口交给UDP输入函数udp_in(),udp_in()函数对UDP报文作过简单处理后将其通过系统数据通道交付UDP套接层或者内核应用进程。当应用进程需要发送UDP报文时,它们会调用udpsend()函数,最后函数再通过IP模块发送数据包。

2、UDP多路复用方案 代码题 3、UDP是否存在差错控制机制

UDP中的检验和与差错控制有关。此外,当UDP报文段找不到主机中的相应进程时会向发送方发送ICMP端口不可达报文。

4、简述Traceroute程序的实现方式。

Traceroute是UDP及ICMP应用的一个典型例子,用来跟踪IP数据包从一台主机到另一台主机所经过的路由。

实现方式:

程序首先发送一个UDP报文到目的主机,这个报文中的IP首部TTL字段为1,而UDP首部的目的端口号为一个不可能用到的值(一般大于30000)。此时程序会等待目的主机或

中间路由器的回复,数据包经过第一跳之后到达一个路由器,由于TTL值的限制,此时路由器将发回一个ICMP错误消息,以说明这个数据包不能继续向前传送。然后traceroute程序又发出一个TTL为2的数据包,这个数据包经过两次跳跃后其TTL过期。这个过程不断重复,直到数据包到达目的主机。此过程的目的就是要记录下所有发出ICMP超时消息的消息源,据此就可以确定出数据包到达目的主机的路径了。当报文到达目的主机时,由于目的主机没有应用程序使用报文中的端口号,主机会向源端回复一个ICMP端口不可达报文,而此时程序可通过收到的端口不可达报文确定之前的数据包已经到达目的主机,即路由跟踪完成。

5、代码题 略

第9章

1、软件结构及函数

TCP软件主要由三个进程组成:输入进程、输出进程和定时进程。由于定时进程功能比较简单,仅用来维护存在的TCP定时事件,因此我们通常可以把TCP分为输入和输出两部分。TCP输入部分各函数调用关系如图9-2: