TCP与UDP的区别
2016-09-30 16:47
267 查看
TCP与UDP的区别
基于连接与无连接;TCP是面向连接的协议,需要三次握手建立连接,四次挥手断开连接;而UDP是一个非连接的协议,传输数据之前源端和终端不建立连接,当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。在发送端,UDP传送数据的速度仅仅是受应用程序生成数据的速度、计算机的能力和传输带宽的限制;在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读一个消息段。
对系统资源的要求(TCP较多,UDP少);
TCP由于需要建立连接,因此也就需要维护连接状态,包括收发状态等,所以会消耗较多的系统资源,而UDP不需要维护连接状态,因而需要较少的系统资源。
UDP程序结构较简单;
流模式与数据报模式 ;
用UDP协议发送时,用sendto函数最大能发送数据的长度为:65535-20-8=65507字节,其中20字节为IP包头长度,8字节为UDP包头长度。用sendto函数发送数据时,如果指的的数据长度大于该值,则函数会返回错误。
用TCP协议发送时,由于TCP是数据流协议,因此不存在包大小的限制(暂不考虑缓冲区的大小),这是指在用send函数时,数据长度参数不受限制。而实际上,所指定的这段数据并不一定会一次性发送出去,如果这段数据比较长,可能会被分段发送,如果比较短,可能会等待和下一次数据一起发送。
TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证。
TCP通过保证数据能够到达接收方,并能保证数据的顺序,而UDP无法保证;
相关文章推荐
- TCP与UDP协议的区别
- TCP和UDP的区别
- TCP(虚电路)和UDP的区别
- UDP协议和TCP协议的区别
- TCP与UDP的区别(转载)
- TCP与UDP的区别
- TCP与UDP区别
- TCP和UDP的区别
- TcpListener/TcpClient/UdpClient 的区别及联系
- TCP和UDP网络通讯的区别及实现方式
- TCP和UDP的区别
- TCP和UDP的区别
- TCP 和 UDP 的区别
- TcpListener/TcpClient/UdpClient 的区别及联系
- TCP和UDP有什么区别?
- TCP与UDP的区别
- TCP与UDP的区别
- TCP与UDP协议区别
- TCP与UDP区别
- tcp和udp的区别