(二)PING的实现
PING的主要操作是发送报文,并简单地等待回答。PING之所以如此命名,是因为它是一个简单的回显协议,使用ICMP响应请求与响应应答报文。PING主要由系统程序员用于诊断和调试。一般的,PING的功能有:
LOOP BACK PING用于验证TCP/IP软件的操作。
PIN G地址确定能否寻址物理网络设备。
PING远程IP地址验证能否寻址网络。
PING远程主机名验证主机上某个服务器的操作。
实现PING的过程主要是:首先向目的机器发送一个响应请求的ICMP报文,然后等待目的机器的应答,直到超时。如收到应答报文,贝以报告目的机器运行正常,程序退出。
(三)traceroute的实现
在IP头的结构中,存在一个ip_ttl域,即生存时间(time to_live,TTL)。TTL参数用于测量数据报在网际存在多长时间。网络中的每个路由器都检查该域,如果TTL值为0,路由器就抛弃该数据报。路由器还必须对它处理的每个数据报的该域进行减I操作。在实际执行中,TTL域是一个反映跳段的值。所以,当数据报穿过一个IP节点(网关)时。TTL域中的值就减1。
traceroute的功能就是利用IP头中的TTL域。开始时信源设置IP头的TTL值为0,发送报文给信宿,第一个网关收到此报文后,发现TTL值为0,它丢弃此报文,并发送一个类型为超时的ICMP报文给信源。信源接收到此报文后对它进行解析,这样就得到了路由中的第一个网关地址。然后信源发送TTL值为1的报文给信宿,第一个网关把它的TTL值减为0后转发给第二个网关,第二个网关发现报文TTL值为0,丢弃此报文并向信源发送超时ICMP报文。这样就得到了路由中和第二个网关地址。如此循环下去,直到报文正确到达信宿,这样就得到了通往信宿的路由。
(四)网络拓扑的发现算法
具体实现的步骤:
1、于给定的IP区间,利用PING依次检测每个IP地址,将检测到的IP地址记录到IP地址表中。
2、对第一步中查到的每个IP地址进行traceroute操作,记录到这些IP地址的路由。并把每条路由中的网关地址也加到IP表中。
3、对IP地址表中的每个IP地址,通过发送掩码请求报文与接收掩码应答报文,找到这些IP地址的子网掩码。
4、根据子网掩码,确定对应每个IP地址的子网地址,并确定各个子网的网络类型。把查到的各个子网加入地址表中。
5、试图得到与IP地址表中每个IP地址对应的域名(Domain Name)。如具有相同域名,则说明同一个网络设备具有多个IP地址,即具有多个网络接口。
6、根据第二步中的路由与第四步中得到的子网,产生连接情况表。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说计算机浅谈网络拓扑发现算法在网管中的应用(2)在线全文阅读。