tracert工作原理&路由原理

来源:百度知道 编辑:UC知道 时间:2024/05/03 00:27:18
请各位大哥给解决以下几个问题:
1:tracert工作原理,tracert具体是怎么实现的,也就是tracert编码(delphi)等问题。
2:路由原理:路由器是怎么样工作的,怎样发包的?数据包是怎么样正确地到达目的地址的?

举一个简单的例子:
在本地机器执行 tracert www.sina.com
本地数据包是怎么样经过网络找到目的地址的,本地机器怎么样找到其下一跳的,每一跳又是怎么样找到其下一跳的?
麻烦各位给一个详细的答案,如果有好的链接地址也可以。

如果哪位有tracert的delphi源码,请共享一下。

谢谢!!!

谢谢下面的仁兄的回答!
以下所说我都晓得,感觉好像粗略了一点,我想要的是最详细内容。比如说,ICMP返回包内容

路由是工作在OSI参考模型第三层——网络层的数据包转发设备。路由器通过转发数据包来实现网络互连。虽然路由器可以支持多种协议(如TCP/IP、IPX/SPX、AppleTalk等协议),绝大多数路由器运行TCP/IP协议。路由器通常连接两个或多个由IP子网或点到点协议标识的逻辑端口,至少拥有1个物理端口。路由器根据收到数据包中的网络层地址以及路由器内部维护的路由表决定输出端口以及下一跳地址,并且重写链路层数据包头实现转发数据包。路由器通过动态维护路由表来反映当前的网络拓扑,并通过网络上其他路由器交换路由和链路信息来维护路由表。路由包含两个基本的动作:确定最佳路径和通过网络传输信息。在路由的过程中,后者也称为(数据)交换。交换相对来说比较简单,而选择路径很复杂,是通过特定的算法,确定传输最佳路径。有时候在某些情况下,我们也通过人工指定路由表来人为指定路径。
而Tracert指的是路由跟踪实用程序,用于确定 IP 数据包访问目标所采取的路径。Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由,工作过程是将包含不同生存时间 (TTL) 值的 Internet 控制消息协议 (ICMP)回显数据包发送到目标,以确定到达目标采用的路由。。也就是说,我们可以通过tracert命令查看一个主机通过网络到另一台主机传输数据包的每一跳的跃点,从而确定其路径。在多级网络中,常用这个命令辅助诊断网络中出现故障的节点。

1:1 <1 ms <1 ms <1 ms proxy.huayuan.hy [192.168.10.1]
2 * 137 ms 133 ms 61.148.2.3
3 179 ms 103 ms 294 ms 61.148.115.145
4 91 ms 55 ms 24 ms 61.148.7.189
5 157 ms 63 ms 26 ms 61.148.3.157
6 312 ms 441 ms 402 ms 61.148.3.30
7 242 ms 400