您的位置:首页 > 理论基础 > 计算机网络

TCP IP 详解 1: 笔记 icmp ping traceout

2011-07-09 22:56 891 查看
习题 8.7 8.8 及其解答

如何区分ping和traceout不同实例?

ping 发送回显请求(echo request) 类型 ICMP 消息(message),ICMP消息字头中identifier字段设置的是ping的进程ID;对方回馈的ICMP消息的头也包含同样的identifier,根据这个可以确定原来是哪个的ping进程发送回显请求的的。(可参考 7.2 ICMP回显请求报文和应答消息格式)

traceout 将他发送的UDP数据包的源端口设置为其进程ID和32768的逻辑或,因为ICMP端口不可达消息包含问题IP数据包数据部分8个字节(UDP首部),如果对方有回馈的ICMP消息,(协议栈?)就可以查看到原来发送时的端口号来确定原来原来的发送进程(traceout)。(参考 6.5 CIMP端口不可达消息格式)

(traceroute目的端口的选择是从33453开始,没发送一个数据报端口号+1,目的主机一般不使用这么大的号,所有返回ICMP端口不可达消息。(8.2))

ping和traceroute如何计算往返时间?

ICMP echo request消息包含可选数据,echo reply把这部分数据返回(7.2),ping在ICMP可选数据部分中保存分组发送的时间,这个时间在echo repl中返回,往返时间就是echo reply到达时间减去这个保存的时间。

traceroute不能从ICMP端口不能达到消息(6.5)中得到发送的时间,traceroute发送一个UDP后,保存这个发送时间,然后等待应答,然后计算时间差。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: