UDP与TCP都是运输层的两个协议,UDP(User Datagram Protocol)用户数据报议,TCP(Transmission Control Protocol)传输控制协议。TCP传送的数据单位协议是TCP报文段(segment),UDP传送的数据单位协议是UDP报文或用户数据报。
UDP在传送数据之前不需要先建立连接。对方的运输层在收到UDP报文后,不需要给出任何确认。虽然UDP不提供可靠交付,但在某些情况下UDP是一种最有效的工作方式;TCP则提供面向连接的服务。TCP不提供广播或多播服务。由于TCP要提供可靠的、面向连接的运输服务,因此不可避免地增加了许多开销。这不仅使协议数据单元的首部增大很多,还要占用许多的处理机资源。
UDP(用户数据报协议):
UDP只在IP的数据服务之上增加了很少一点的功能,即端口的功能和差错检测的功能。UDP提供不可靠的交付,其是无连接的,发送数据之前不需要建立连接;UDP使用尽最大努力交付,即不保证可靠交付,同时也不使用拥塞控制;UDP是面向报文的,很适合多媒体通信的要求;UDP支持一对一、一对多、多对一和多对多的交互通信;UDP的首部开销小,只有8个字节。 面向报文的UDP,对于应用层交下来的报文,在添加首部后就向下交付IP层。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文。
TCP(传输控制协议):
TCP是面向连接的运输层协议,每一条TCP连接只能是两个端点(endpoint)每一条TCP连接只能是点对点的(一对一),TCP提供可靠交付的服务,提供全双工通信,面向字节流。
TCP连接是一条虚连接而不是一条真正的物理连接;TCP对应用进程一次把多长的报文发送到TCP的缓存中是不关心的;TCP根据对方给出的窗口值和当前网络拥塞的程度来决定一个报文段应包含多少个字节(前面说过,UDP发送的报文长度是应用进程给出的);TCP可把太长的数据块划分短一些再传送,TCP也可等待积累有足够多的字节后再构成报文段发送出去。
分享到:
相关推荐
自己总结的TCP/UDP的编程技巧,适合初学者。
面试必备TCP&UDP;区别, tcp,udp编程方面的详细区别,个人总结用于面试
TCP 提供了一种可靠的、面向连接的传输服务,适用于对数据完整性和顺序有严格要求的应用,通常会消耗更多的CPU和内存资源。...TCP 和 UDP 各有优势和适用场景,需要根据应用的具体需求来决定使用 TCP 还是 UDP。
socket tcp/udp 总结案例
TCP UDP 网络传输基础知识 码农面试必备,三步握手 四次分手 基础链路传输原理;TIME_WAIT知识
使用java编程实现的tcp与udp的通信,介绍很详细
MTU、TCP、UDP
对Tcp和Udp的很好的理解,源于总结课本上的完整代码 可以在其基础上继续开发效率更高的代码。
要求综合设计一个完整的数据管理过程,并模拟客户/服务器工作方式实现数据共享。目的在于通过本次课程设计,使学生归纳总结已学过的知识并灵活运用之
13、TCP与UDP区别总结? 14、什么是三次握手四次挥手?tcp为什么要三次.… 15、GET和POST的区别 16、Cookiesi和session区别 17、session的工作原理? 18、一次完整的HTTP请求过程 19、HTTPS和HTTP的区别 20、OS1的七...
湘潭大学 网络协议TCP/IP实验六 UDP 协议分析实验报告,仅供参考
IP,UDP,TCP,SCTP整理总结.doc
本篇文章对Java中的TCP/UDP知识点进行了归纳总结分析。需要的朋友参考下
本资源是我在一个串口转网口的项目中总结的,很有参考价值,socket入门的话最好的,既有tcp通信源码又有udp传输代码,并且有字符串与十六进制的选择,让新手不再迷茫。
C#套接字编程实例_UDP_TCP通信源码实例 本人收藏了3年的资源 现放出 都是总结了很多系统 软件项目实施过程中的经验的 慢慢积累的
主要介绍了C语言编写基于TCP和UDP协议的Socket通信程序示例,其中TCP的客户端与服务器端采用多线程实现,需要的朋友可以参考下