导航菜单
路很长,又很短
博主信息
昵   称:Cocodroid ->关于我
Q     Q:2531075716
博文数:330
阅读量:1042133
访问量:110314
至今:
×
云标签 标签球>>
云标签 - Su的技术博客
博文->>首页 博主的更多博文>>
笔记 | TCP与UDP的区别
Tags : TCP,UDP,网络编程发表时间: 2020-05-06 21:46:12
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。
比如: 转自:Su的技术博客  原文地址:


(来自网络的趣图)

UDP:全称是用户数据报协议,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。在OSI模型中处于第四层——传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,即,当报文发送之后,是无法得知其是否安全完整到达。

TCP:当两台机器(网络设备)进行通信时,需要畅通且保证可靠,需要保证正确收发数据。当你想查看网页或数据文件下载时,希望完整且按顺序查看网页或者上传/下载完整的数据等就需要TCP了。


1、连接性

    TCP是面向连接、UDP是无连接协议。

2、可靠性

    TCP可靠、UDP不可靠。TCP在消息传输过程中丢失会进行重发。

3、有序性

    TCP有序、UDP无序。消息传输到网络另一端,会存在无序,不过TCP会将它进行排序。

4、有界性

    TCP无界、UDP有界。TCP是字节流传输、UDP的数据包是单独的。

5、传输速度

    TCP传输慢,UDP传输快。TCP需要建立连接、保证可靠性和有序性,比较耗时。视频流、广播电视、在线多媒体游戏等选择使用UDP。

6、量级

    TCP是重量级的,UDP是轻量级的。TCP要建立连接、保证可靠性和有序性,就会传输更多的信息,如TCP的包头比较大。

7、拥塞控制

    TCP有流量控制(拥塞控制),UDP没有。主要靠三次握手实现。以及慢开始、拥塞避免、快重传、快恢复。

8、头大小

    TCP具有比UDP更大的头。一个TCP数据包报头的大小是20字节,UDP数据报报头是8个字节。TCP报头中包含序列号,ACK号,数据偏移量,保留,控制位,窗口,紧急指针,可选项,填充项,校验位,源端口和目的端口。而UDP报头只包含长度,源端口号,目的端口,和校验和。

TCP:

UDP:


9、用法和应用

    TCP提供可靠交付和有序性的保证,它是最适合需要高可靠并且对传输时间要求不高的应用,如http,ftp。UDP是更适合的应用程序需要快速,高效的传输的应用,如视频直播、游戏。



小结:

TCP是面向连接的、可靠的、有序的、速度慢的协议;UDP是无连接的、不可靠的、无序的、速度快的协议。

TCP开销比UDP大,TCP头部需要20字节,UDP头部只要8个字节。

TCP无界有拥塞控制,UDP有界无拥塞控制。



笔记系列↓

笔记 | Java对象探秘

笔记 | JVM内存区域结构:一计两栈一堆一区

笔记 | 面试官问我高并发的问题:并发编程的三大挑战


推荐好文

1、互联网Code Review最佳实践分享

2、dubbo面试题!会这些,说明你看懂了dubbo源码

3、Kafka面试题!掌握它才说明你真正懂Kafka
4、
Netty 5.0为啥被舍弃?原因竟然是...
5、
中台之上——业务架构系列【汇总】

6、必备瑞士军刀IDEA插件,你使用了哪些

7、线上热更新代码只需3步 Arthas实战

8、Eureka源码剖析之七:架构&面试题【总结】

9、互联网工程师应该用这种姿势打印日志

10、加入:互联网基础/架构交流群


打赏
打赏
关注公众号
公众号
类别:面试| 阅读(84)| 赞 (0)
下一篇:
评论
暂无评论!
发表评论
昵  称:

验证码:

内  容:

    同时赞一个 赞