在IP头中设置记录路由选项后,沿途路由器会自动将IP地址填入其中(最多为9),但是IP包是发往接收端的,发送端无法取得这些信息,如何才能使这些路由信息返回发送端?相关的协议是什么?

解决方案 »

  1.   

    IP包中有源地址啊,到达目的主机后,从目的主机发回返回的IP包把该源地址做为目的地址,查路由表转发出去,这样寻址转发,直到到达目的主机。
      

  2.   

    参看TCP-IP详解9 讲解ip路由
    http://search.csdn.net/Expert/topic/74/74545.xml?temp=.9563715
      

  3.   

    "但是IP包是发往接收端的,发送端无法取得这些信息"
    注意,当IP包还没到达接收端的时候,它的TTL值已经变为0的时候,这个IP包就会被路由器发回给发送端。
    因此,设置一下TTL值就能达到你查看路由的目的。
      

  4.   

    同意Eearbird(early_bird) 每经过一个路由器,TTL值减1,直到TTL变成0时,路由器放弃数据包,同时发送一个ICMP包给源主机,分析这个ICMP包即可TTL设置成1,查看第一个路由器ip
    2,查看第二个。。
      

  5.   

    路由IP协议完成的,ICMP也是基于IP的。
      

  6.   

    谢谢各位,to Eearbird(early_bird):程序的目的就是利用IP头中的记录路由选项来进行traceroute,至少可以提高性能(9跳以内不用重复设置TTL,可一次完成,超过9跳才这么做),所以你的建议又回到老路上去了。to  gracezhu(eutom):我没有找到相关内容,不麻烦的话请贴一下,谢谢! to alec626(月吻长河):我不是很明白你的意思,我问的是如何返回记录路由信息,而不是如何获得发送端IP。
      

  7.   

    原来你说的是TraceRoute
    ICMP协议实现的