菜鸡学习——TCP

TCP协议与UDP协议的区别

TCP基于面向连接、字节流传输的协议,数据传输可靠,传输速度慢。TCP通过序号、重传、流量控制、拥塞控制实现可靠传输。适用于传输大量数据,可靠性要求高的场合。 UDP协议面向非连接、数据报传输协议,数据传输不可靠,传输速度快。UDP不保障可靠传输,尽最大努力交付。适用于一次只传送少量数据、对可靠性要求不高的应用环境。

TCP 可靠传输

1、确认和重传:接收方收到报文就会确认,发送方发送一段时间后没有收到确认就重传。

2、数据校验:TCP校验和是一个端到端的校验和,由发送端计算,然后由接收端验证。如果接收方检测到校验和有差错,则TCP段会被直接丢弃。

3、数据合理分片和排序:

  UDP:IP数据报大于1500字节,大于MTU.这个时候发送方IP层就需要分片(fragmentation).把数据报分成若干片,使每一片都小于MTU.而接收方IP层则需要进行数据报的重组.这样就会多做许多事情,而更严重的是,由于UDP的特性,当某一片数据传送中丢失时,接收方便无法重组数据报.将导致丢弃整个UDP数据报.

  tcp会按MTU合理分片,接收方会缓存未按序到达的数据,重新排序后再交给应用层。

4、流量控制:当接收方来不及处理发送方的数据,能提示发送方降低发送的速率,防止包丢失。

5、拥塞控制:当网络拥塞时,减少数据的发送。
 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章