【TCP/IP】路由选择之TTL

来源:互联网 发布:淘宝全球购有假货吗 编辑:程序博客网 时间:2024/04/27 22:55

1.什么是TTL,TTL的最大值是多少?

TTL是 Time To Live的缩写,该字段指定IP包被路由器丢弃之前允许通过的最大网段数量。TTL是IPv4包头的一个8 bit字段。TTL字段的目的是防止数据报在选路时无休止地在网络中流动。例如,当路由器瘫痪或者两个路由器之间的连接丢失时,选路协议有时会去检测丢失的路由并一直进行下去。在这段时间内,数据报可能在循环回路被终止。TTL字段就是在这些循环传递的数据报上加上一个生存上限。当路由器收到一份I P数据报,如果其TTL字段是0或1,则路由器不转发该数据报(接收到这种数据报的目的主机可以将它交给应用程序,这是因为不需要转发该数据报。但是在通常情况下,系统不应该接收TTL字段为0的数据报)。相反,路由器将该数据报丢弃,并给信源机发一份ICMP“超时”信息。

TTL最大值为255,如UNIX操作系统的TT值初始默认TTL值就是225。不同的系统最大值也是有所不同,对于实验室环境所使用操作系统默认的TTL 最大值是128,所以要视情况而定。操作系统可以自己修改默认值。


2.TCP/UDP的区别?

   这个是常识,很好归纳:

TCP:面向连接、传输可靠(保证数据正确性,保证数据顺序)、用于传输大量数据(流模式)、速度慢,建立连接需要开销较多(时间,系统资源)。

UDP:面向非连接、传输不可靠(可能丢包,不保证数据的顺序)、用于传输少量数据(数据包模式)、速度快,对系统资源的要求较少。


3.TCP超时重传机制

最简单的概念:

超时重传是TCP协议保证数据可靠性的重要机制,其原理是在发送某一个数据以后就开启一个计时器,在一定时间内如果没有得到发送的数据报的ACK报文TCP就认为报文段中的数据已丢失或损坏,那么就重新发送数据,直到发送成功为止。

数据丢包的情况下给出的一种修补机制。一般来说,重传发生在超时之后,但是如果发送端接受到3个以上的重复ACK的情况下,就应该意识到,数据丢了,需要重新传递。这个机制是不需要等到重传定时器溢出的,所以叫做快速重传,它可以避免发送端因等待重传计时器的超时而空闲较长时间,以此增加网络吞吐量。而重新传递以后,因为走的不是慢启动而是拥塞避免算法,所以这又叫做快速恢复算法



0 0