TCP与UDP技术优缺点
2011-01-24 09:37
162 查看
我将自己学习的通信协议进行一下总结,互联网通信协议分为TCP和UDP两种,在网络应用上各自拥有不同的优缺点。
TCP协议上规定类流控制,确保通信数据可靠、顺序到达目的地,因此有一个三次握手的要求。按照协议规范的要求,实现的路由设备提供相应的支持,并且尽量不丢弃TCP数据,实现协议的系统驱动层进行重发和滑动窗口控制,并且通过增加重发时间减少可能带来的网络堵塞问题。系统提供的API应用上,针对不同的链接分配独立缓冲区,进一步减少可能的丢包问题(由于缓冲区满造成数据无法接受引起数据包丢失问题)。
UDP协议面向无连接通信,没有三次握手的需求,网络设备在通信时,UDP数据拥有比TCP数据更高的优先通信权利,这点使得UDP数据在通信上更加的快速,但是当网络拥堵时,通信设备同样会优先丢弃UDP数据,这种设计方式会导致UDP数据出现丢失的问题,同时协议没有规定相应的流控制方式,自然也不会保证数据的顺序到达。在没有流控制的情况下,UDP数据可能出现丢失、乱序到达的问题,同样由于没有流控制,如果开发控制不当,可能导致数据风暴问题。在系统驱动实现上,由于所有的UDP数据接收时,使用共享的数据缓冲区,设置不当大小的缓冲区,可能会增加数据包的丢失问题,这个就是为什么UDP协议无法实现高并发的服务器原因所在。
TCP协议上规定类流控制,确保通信数据可靠、顺序到达目的地,因此有一个三次握手的要求。按照协议规范的要求,实现的路由设备提供相应的支持,并且尽量不丢弃TCP数据,实现协议的系统驱动层进行重发和滑动窗口控制,并且通过增加重发时间减少可能带来的网络堵塞问题。系统提供的API应用上,针对不同的链接分配独立缓冲区,进一步减少可能的丢包问题(由于缓冲区满造成数据无法接受引起数据包丢失问题)。
UDP协议面向无连接通信,没有三次握手的需求,网络设备在通信时,UDP数据拥有比TCP数据更高的优先通信权利,这点使得UDP数据在通信上更加的快速,但是当网络拥堵时,通信设备同样会优先丢弃UDP数据,这种设计方式会导致UDP数据出现丢失的问题,同时协议没有规定相应的流控制方式,自然也不会保证数据的顺序到达。在没有流控制的情况下,UDP数据可能出现丢失、乱序到达的问题,同样由于没有流控制,如果开发控制不当,可能导致数据风暴问题。在系统驱动实现上,由于所有的UDP数据接收时,使用共享的数据缓冲区,设置不当大小的缓冲区,可能会增加数据包的丢失问题,这个就是为什么UDP协议无法实现高并发的服务器原因所在。
相关文章推荐
- TCP和UDP的区别和优缺点
- 应聘复习基础笔记1:网络编程之TCP与UDP的优缺点,TCP三次握手、四次挥手、传输窗口控制、存在问题
- UDP/TCP 打洞(穿越NAT)技术
- TCP和UDP的区别和优缺点
- UDP,TCP打洞技术
- GB28181技术基础之6 - TCP与UDP传输
- ISO的七层模型是什么?tcp/udp属于哪一层?tcp/udp有哪些优缺点?tcp/udp的使用场合?PPP协议属于哪一层协议?
- TCP和UDP的区别和优缺点
- tcp udp优缺点及使用场景
- TCP和UDP的区别和优缺点
- TCP和UDP的优缺点及区别
- ISO的七层模型是什么?tcp/udp属于哪一层?tcp/udp有哪些优缺点?tcp/udp的使用场合?PPP协议属于哪一层协议?
- 当你在浏览器输入一个网址,如http://www.taobao.com,按回车之后发生了什么?请从技术的角度描述,如浏览器、网络(UDP、TCP、HTTP等),以及服务器等各种参与对象上由此引发的一系
- P2P技术入门,NAT,Udp,Tcp打洞 【转】
- UDP,TCP打洞技术
- UDP/TCP 打洞(穿越NAT)技术
- UDP TCP 打洞技术
- TCP UDP协议的优缺点
- TCP和UDP的优缺点