TCP和UDP协议的对比

原创 2016年08月14日 22:03:58

UDP是一个简单的,不可靠的数据报协议。TCP是一个复杂的、可靠的字节流协议


UDP的特点如下:

(1)无链接

(2)UDP使用尽最大努力交付,不保证可靠性

(3)UDP是面向报文的,UDP对应用层交付下来的报文,既不合并,也不拆分,而是保留这些报文的边界。应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文

(4)UDP没有拥塞控制

(5)UDP支持一对一、一对多、多对一和多对多的交互通信

(6)UDP的首部开销小,只有8字节


TCP的特点:

(1)TCP是面向连接的

(2)每条TCP连接只能用于两个断点,一对一

(3)TCP提供可靠交付的服务:连接传输数据、无差错、不丢失、不重复、并且按序到达

(4)TCP提供全双工通信

(5)面向字节流。TCP根据对方给出的窗口和当前网络拥塞的程度来决定一个报文应该包含多少个字节


TCP如何提供可靠性的连接:

(1)数据被分割成TCP认为最合适发送的数据块

(2)重传机制:TCP发出一个段后,启动定时器,如果不能及时收到报文段,则重发一个报文段

(3)当TCP收到一个段后,会发送一个确认

(4)TCP将保持它首部和数据的校验和

(5)TCP对收到的数据进行重新排序,保证数据的有序

(6)TCP会丢弃重复的数据

(7)TCP提供流量控制


1.TCP连接的11种状态

LISTEN:侦听来自远方的TCP端口的连接请求
SYN-SENT:再发送连接请求后等待匹配的连接请求
SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认
ESTABLISHED:代表一个打开的连接
FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认
FIN-WAIT-2:从远程TCP等待连接中断请求
CLOSE-WAIT:等待从本地用户发来的连接中断请求
CLOSING:等待远程TCP对连接中断的确认
LAST-ACK:等待原来的发向远程TCP的连接中断请求的确认
TIME-WAIT:等待足够的时间以确保远程TCP接收到连接中断请求的确认
CLOSED:没有任何连接状态




2.TCP连接中,第三次握手的必要性?TCP终止连接中,主动关闭端的经历TIME_WAIT的理由?

MSL是任何IP数据报能够在网络中存活的最长时间,TIME_WAIT是2MSL

(1)可靠的实现TCP全双工连接的终止。最终的ACK丢失为例

(2)允许老的重复分节在网络中消逝。现在有一个连接,关闭之后,过一段时间相同的IP和端口之间建立另一个连接,称为前一个连接的化身。旧连接上的分组有可能被误认为是该化身的。TIME_WAIT是2MSL足以保证某个方向上的分组最多存活MSL秒,另一个方向上的确认最多存活MSL秒也被丢弃。共2MSL.


版权声明:本文为博主原创文章,未经博主允许不得转载。

tcp/udp/http协议详解

转载出处是: http://blog.chinaunix.net/uid-26833883-id-3627644.html   TCP、UDP、IP 协议分析 2013-04-2...
  • u013676711
  • u013676711
  • 2016年08月10日 16:48
  • 393

TCP和UDP的最完整的区别

TCP和UDP两种协议的比较汇总
  • Li_Ning_
  • Li_Ning_
  • 2016年08月04日 11:30
  • 81082

TCP和UDP的优缺点及区别

转自:http://www.cnblogs.com/xiaomayizoe/p/5258754.html TCP的优点: 可靠,稳定 TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而...
  • Air_hjj
  • Air_hjj
  • 2017年04月26日 11:17
  • 856

以太网基础知识0(UDP和TCP有什么区别)

参考:http://zhidao.baidu.com/link?url=GSIg9_zFhWi6PHezalQveRwwUsU0as7k6MFd05r-cruLT1yDABARraHkuq8ohdIR...
  • u010830004
  • u010830004
  • 2017年01月17日 16:15
  • 499

TCP 与 UDP 的区别及应用场景

TCP 与 UDP 的区别及应用场景概述  两者都是通信协议, TCP、UDP 是传输层协议,但他们的通信机制与应用场景不同,下面来阐述两者的区别以及它们的应用场景。...
  • leewccc
  • leewccc
  • 2017年04月18日 10:41
  • 4052

TCP与UDP的区别

TCP和UDP是OSI模型中的运输层中的协议。TCP提供可靠的通信传输,而UDP则常被用于让广播和细节控制交给应用的通信传输。 UDP(User Datagram Protocol)   ...
  • yipiankongbai
  • yipiankongbai
  • 2014年04月24日 21:29
  • 52584

TCP/UDP协议常用端口号服务

端口号的范围是从1~65535。其中1~1024是被RFC 3232规定好了的,被称作“众所周知的端口”(Well Known Ports);从1025~65535的端口被称为动态端口(Dynamic...
  • MHSMIE
  • MHSMIE
  • 2016年03月28日 20:39
  • 8851

TCP与UDP的区别

基本概念: 1: 面向报文 面向报文的传输方式是应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文。因此,应用程序必须选择合适大小的报文。若报文太长,则IP层需要分片,降低效...
  • Dr_Neo
  • Dr_Neo
  • 2016年09月01日 16:00
  • 2274

TCP与 UDP区别及使用场景总结

UDP与TCP 区别点: UDP协议:发短信 只管发生,不确认对方是否接收到 每个数据大小限制在64k之内 因为无需链接,因此是不可靠协议 速度快应用场景(当对网络通讯质量有要求的时候,比...
  • timtian008
  • timtian008
  • 2017年05月10日 22:22
  • 765

关于面试中的TCP和UDP怎么用自己的话给面试官说

从春招也就是2.19开始面试,到现在的9.27签了三方,终于可以休息下了,也算是对自己15年的读书生涯有了一个交代。这一篇的话我就讲讲如何给面试官说TCP和UDP,而且也会让面试官感觉你对这一块有自己...
  • lotluck
  • lotluck
  • 2016年09月28日 12:13
  • 1606
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:TCP和UDP协议的对比
举报原因:
原因补充:

(最多只允许输入30个字)