tcp/ip详解----杂记二

来源:互联网 发布:淘宝直播红包雨怎么玩 编辑:程序博客网 时间:2024/06/05 21:49

一.tranceroute程序:

ping程序具有记录路由选项(RR)功能,但是并不是所有路由都支持该选项,同时记录路由是单向的,接收端需要把内容复制并发送回来,则记录的内容会翻一番,而且也是最主要的原因,ip首部留下的空间最多只能存放9个ip地址,对现在来说是不够用的。于是有了tranceroute程序,该程序是基于icmp报文和ip首部的ttl字段(生存周期)。为防止数据循环转发,ttl字段被设置初始值(一般64),在每经过一个路由之后,该值减一,当该值为1,路由不转发该数据报,将该数据报丢弃并回送icmp超时信息,目的主机会把该数据报交个应用程序(系统部接收ttl为0的数据报)。

tranceroute的工作方式为:发送icmp请求,但是ttl设为1,这样将接收到第一个路由的icmp超时报告。增加ttl为2,重复该过程。判定是否是主机的方法为发送udp到目的主机的一个不使用端口,收到消息为端口不可达报告。通过icmp超时报告和udp端口不可达报告就可以判断出来如何结束。

注:两次icmp及icmp于udp之间都可能由于使用的路由不同而导致结果不准确。

二.DNS

dns查询使用udp通信,当返回响应数据超过512字节时,重发tcp通信。

DNS为逆序树形结构。

三.TFTP

为提高并发性,首次连接使用已知端口,服务器此时会随机一个端口作为通信端口于客户端通信。

四.bootp

bootp的服务端使用67,客户端使用68端口。当服务端广播应答时,每个客户端检查应答的标识字段及硬件地址确认该应答是否是自己的。

bootp比rarp服务器更容易实现,因为bootp请求和应答是在udp数据报中,二不是特殊的数据链路层帧。一个路由器还能作为bootp服务器的代理,向位于不同网络的真正bootp服务器转发客户的bootp请求。



原创粉丝点击