博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TCP和UDP的区别
阅读量:6581 次
发布时间:2019-06-24

本文共 1025 字,大约阅读时间需要 3 分钟。

TCP和UDP的区别

  • TCP(Transmission Control Protocol):传输控制协议
  • UDP(User Datagram Protocol):用户数据报协议

主要从连接性(Connectivity)、可靠性(Reliability)、有序性(Ordering)、有界性(Boundary)、拥塞控制(Congestion or Flow control)、传输速度(Speed)、量级(Heavy/Light weight)、头部大小(Header size)等8个方面来讲:

1. TCP是面向连接(Connection oriented)的协议,UDP是无连接(Connection less)协议;

TCP用三次握手建立连接:1) Client向server发送SYN;2) Server接收到SYN,回复Client一个SYN-ACK;3) Client接收到SYN_ACK,回复Server一个ACK。到此,连接建成。UDP发送数据前不需要建立连接。

2. TCP可靠,UDP不可靠;

TCP丢包会自动重传,UDP不会。

3. TCP有序,UDP无序;

消息在传输过程中可能会乱序,后发送的消息可能会先到达,TCP会对其进行重排序,UDP不会。

4. TCP无界,UDP有界;

TCP通过字节流传输,UDP中每一个包都是单独的。

5. TCP有流量控制(拥塞控制),UDP没有;

主要靠三次握手实现。

6. TCP传输慢,UDP传输快;

因为TCP需要建立连接、保证可靠性和有序性,所以比较耗时。这就是为什么视频流、广播电视、在线多媒体游戏等选择使用UDP。

7. TCP是重量级的,UDP是轻量级的;

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

8. TCP的头部比UDP大;

总结:

  • TCP是面向连接的、可靠的、有序的、速度慢的协议;UDP是无连接的、不可靠的、无序的、速度快的协议。
  • TCP开销比UDP大,TCP头部需要20字节,UDP头部只要8个字节。
  • TCP无界有拥塞控制,TCP有界无拥塞控制。

补充:

  • 基于TCP的协议有:HTTP/HTTPS,Telnet,FTP,SMTP。
  • 基于UDP的协议有:DHCP,DNS,SNMP,TFTP,BOOTP。

转载于:https://www.cnblogs.com/luluqiao/p/5982197.html

你可能感兴趣的文章
垂死挣扎还是涅槃重生 -- Delphi XE5 公布会归来感想
查看>>
delphi webbrowser 经常用法演示样例
查看>>
iptables相关操作以及简单理解端口和服务之间关系
查看>>
Ubuntu上运行Blender,在控制台上查看运行结果
查看>>
怎么检查网站的死链接呢?
查看>>
scrapy爬虫框架实例一,爬取自己博客
查看>>
JAVA简单选择排序算法原理及实现
查看>>
Spring MVC实现Junit Case
查看>>
HttpClient通过Post方式发送Json数据
查看>>
React是UI的未来吗?
查看>>
中国人社部:2018年15个省(区、市)调整最低工资标准
查看>>
JS中的继承
查看>>
手把手教你通过Thrift 访问ApsaraDB for HBase
查看>>
Java多线程进阶(十二)—— J.U.C之atomic框架:Unsafe类
查看>>
MacOS安装MySQL 报错
查看>>
Java知识点总结(反射-反射操作泛型)
查看>>
Vue+webpack+Element 兼容问题总结
查看>>
【跃迁之路】【534天】刻意练习系列293(2018.07.24)
查看>>
初中级PHP面试基础汇总
查看>>
《软技能》读书笔记(下)
查看>>