【TCP/IP】路由选择之TTL
2016-05-03 11:14
351 查看
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的情况下,就应该意识到,数据丢了,需要重新传递。这个机制是不需要等到重传定时器溢出的,所以叫做快速重传,它可以避免发送端因等待重传计时器的超时而空闲较长时间,以此增加网络吞吐量。而重新传递以后,因为走的不是慢启动而是拥塞避免算法,所以这又叫做快速恢复算法。
相关文章推荐
- Taglist: Exuberant ctags (http://ctags.sf.net) not found in PATH. Plugin is not loaded.
- 一根网线的风波
- iOS中 HTTP/Socket/TCP/IP通信协议详解
- iOS TCP通讯
- TCP/IP协议 卷一 -----------广播和多播
- LR 录制Web(HTTP/HTML)脚本的模式选择
- Java使用HTTPClient4.3开发的公众平台消息模板的推送功能
- An error occurred at line: 307 in the generated java file The code of method _jspService (HttpServle
- Volley网络请求框架的使用
- UnityEditor.AsyncHTTPClient:Done(State, Int32)异常处理
- SVN 错误:Error validating server certificate for 'https://xxxxxxx':443... Mac os svn客户端证书验证缓存 解决
- HTTP POST请求报文格式分析与Java实现文件上传
- MAPI over HTTP和RPC over HTTP的区别
- JAVA: Socket和ServerSocket网络编程
- HttpURLconnection上传数据
- 聊聊HTTPS和SSL/TLS协议
- 聊聊HTTPS和SSL/TLS协议
- 聊聊HTTPS和SSL/TLS协议
- Android HTTP网络请求的异步实现
- HttpClient抓取网页内容简单介绍