TCP与UDP都是传输层的协议,
TCP和UDP的区别:
TCP---传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。
UDP---用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。
每次这些区别感觉都被说烂了,什么是字节流服务,什么是面向数据报,如何建立连接,怎么建立连接之后就可靠啦?其实仔细想想,都是人家总结出来精简版,没什么意思。
今天听到老师说TCP协议和UDP协议的发送机制不同,TCP基于字节流服务,原则上讲可以发送无限数据,但是UDP基于数据报文,每次发送的数据量有限,当数据量太大时,数据会被分成多个报文发送,由于UDP对数据不进行编码,所以数据到达对端之后无法保证是正常的顺序。
上网搜了一下,http://www.cnblogs.com/Jessy/p/3536163.html#undefined这篇文章写的不是千篇一律的那种。
1.TCP使用窗口机制实现流量控制的原理,此处也能看出来怎么说字节流服务可以无限传,感觉蛮神通的。
2.什么是面向连接,涉及了物理层上虚拟信道的问题
3.TCP这么好,UDP或者还有什么意义?
后面有什么理解我会继续补充今天说地不准确,这不还有明天呢么~