码迷,mamicode.com
首页 > 其他好文 > 详细

【网络协议】TCP协议简介

时间:2014-06-22 21:24:20      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:tcp协议   tcp   传输控制协议   

    本文只是对TCP协议做个简要的介绍。

    TCP协议,即传输控制协议,与UDP协议同处于传输层,同样使用相同的网络层,但TCP提供了一种可靠的、面向连接的数据传输服务,它会在两个使用TCP的应用之间建立一个TCP连接,在该连接上进行数据的传输。

    TCP通过以下方式提供可靠性:

    1、应用程序被分割成TCP认为最合适发送的数据块。这点与UDP完全不同,应用程序产生的UDP数据报长度将保持不变,加上IP首部后,才会进行IP分片。

    2、当TCP发出一个报文段后,它会启动一个定时器,等待目的端发确认收到这个报文段,如果没能及时收到该确认信息,则将重发这个报文段。

    3、当TCP接收端收到发送端发来的TCP报文段时,它将发送一个确认,这个确认不是立即发送的,通常会推迟几分之一秒。

    4、TCP将保持它首部和数据的校验和。这是一个端到端的校验和,如果收到的报文段的校验和有差错,TCP将丢弃该报文段,同时不发送确认收到的消息,从而使发送端超时重发。

    5、TCP能提供流量控制。TCP连接的每一方都有固定大小的缓冲空间,TCP的接受端只允许另一端发送接收端缓冲区所能接纳的数据,这将防止较快主机致使较慢主机的缓冲区溢出。

    6、由于TCP报文段作为IP数据报来传输,IP数据报的到达可能会失序,因此TCP报文段的到达也可能失序,如果必要,TCP将对收到的数据进行重排序,将收到的数据以正确的顺序交给应用层。

    7、由于IP数据报有可能发生重复,TCP的接收端必须丢弃重复的数据。

    从上面几点可以看出,TCP协议保持可靠性的方式就是超时重传,这种方式很好,虽然TCP也可以通过向源主机发送各种各样的ICMP报文或者来处理这些,但这也是不可靠的,试想,如果ICMP报文在发送回来的过程中丢失了,很明显这种方式就不可靠了。最可靠的方式就是只要得不到确认,就重新发送数据,直到得到确认为止。

    

【网络协议】TCP协议简介,布布扣,bubuko.com

【网络协议】TCP协议简介

标签:tcp协议   tcp   传输控制协议   

原文地址:http://blog.csdn.net/ns_code/article/details/31798063

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!