当前位置:早雪网网络学院编程文档C/C++ → Unix编程/应用问答中文版 ---10.网卡相关问题

Unix编程/应用问答中文版 ---10.网卡相关问题

减小字体 增大字体 作者:不详  来源:supcode.com收集整理  发布时间:2005-7-22 19:40:44
本的Linux系统中net-tools包中有一个mii-tool命令,可以用于检查这些数据, 
而不是溶合在ifconfig的输出中。 

10.14 traceroute是怎么实现的 

Q: traceroute是怎么实现的 

A: 小四 <cloudsky@263.net> 

traceroute(对于Windows系列是tracert)通过逐步增加TTL值的方法,发送常规IP分 
组来实现。第一次发送分组时TTL为1,第一个路由器接收到该分组之后将TTL值减1, 
结果为0,于是就丢弃该分组,并发回一个"TTL超时"的ICMP报文,该报文的源地址是 
这第一个路由器。紧接着发送一个TTL为2的分组。注意,traceroute发送常规的UDP 
报文到一个不用的UDP端口。当初考虑将路由跟踪的功能加入IP协议本身,定义一个 
"路由跟踪"选项,路由器处理带有该选项的IP包时立即发回一个跟踪报文到源站点。 
然而这种做法还停留在实验室阶段,因为这需要改变所有已经存在的路由器,而且在 
某种程度上与端到端原则相违背。 

1) 传统的Unix实现是UDP+ICMP 
2) 其实从原理上TCP+ICMP也是可以的,某些Unix系统采用了这种实现 
3) Windows另有一种实现,Icmp Echo Request+ICMP 

上一页  [1] [2] [3] 


Tags:Unix,编程,应用,问答,中文版,网卡,相关,问题
[数据载入中...] [返回上一页] [打 印]