当前位置:网站首页>TCP和UDP的基本认识
TCP和UDP的基本认识
2022-07-29 13:18:00 【视觉患者leon】
一、TCP的基本认识?
1. 什么是TCP?TCP工作在哪一层?为什么需要TCP协议?
答:
TCP是 面向连接的、可靠的、基于字节流的传输控制协议,工作在传输层。
TCP的优势是可靠性,围绕可靠性说出为什么需要TCP。IP层是不可靠的,它不能保证网络包的交付。而TCP协议可以保证传输的数据
包能够到达接收端,而且数据包之间是有序的,没有冗余,完整的。(TCP具体是通过序列号、确认应答号、重传机制来保证)
2. TCP报文的头部格式包含哪些内容,每个作用是什么?
答:
源端口号、目标端口号、序列号、确认应答号、四个控制位(SYN ACK RST FIN )
二、对比TCP和UDP?
1. 什么是UDP传输协议?UDP的头部格式包括什么?
答:
UDP是用户数据报协议,是一种不可靠无连接的传输层协议。
2. TCP和UDP的区别?
答:
连接、可靠性、流量控制和拥塞控制、服务对象、首部开销、分片不同、传输方式 

3. TCP和UDP的应用场景?
答:
4. 为什么 UDP 头部没有首部长度字段,而TCP 头部有首部长度字段呢?
答:
原因是 TCP 有可变⻓的「选项」字段,⽽ UDP 头部⻓度则是不会变化的,⽆需多⼀个字段去记录 UDP 的⾸部⻓度。
5. 为什么 UDP 头部有包长度字段,而TCP 头部则没有包长度字段呢?
答:
为了⽹络设备硬件设计和处理⽅便,⾸部⻓度需要是 4 字节的整数倍。
6. 为什么UDP校验和要独立于IP校验和?能否将UDP报文内的整个IP数据包用一个校验和?
答:
因为IP校验和是针对IP首部进行计算校验的,而UDP报文封装在IP数据报中的数据区,因此需要单独计算校验和。
不能将UDP报文所属的整个IP数据报进行校验和计算,这样会有两个缺点。
第一个是,IP和UDP本身属于不同层次的协议,在IP数据报投递过程中,对于中间路由设备处理IP数据报时,只需要处理IP首部即可,不需要关注传输层内容,而合并校验和显然是多于的,浪费计算资源,也不利于排除错误来源。
第二个是,在数据接收时,数据是沿着协议栈逐层向上提交的,分开计算时,当IP首部发生错误时,就不需要将数据报提交给UDP模块,合并是先提交,再计算。
7. 既然UDP和IP都是不可靠传输协议?为什么还需要UDP传输协议?
答:
因为IP分组中没有端口号,不能区分不同的应用。
边栏推荐
- 详述 TCP 的 TIME_WAIT 状态要维持 2MSL 的原因
- 线程池面试汇总
- 【MySQL】ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘
- 【个人收藏】一些比较有用的链接
- leetcode134. 加油站
- The core principles of electronic games
- 连接oracle数据库指令
- 来自 Qt 官网的呐喊
- The Advanced Guide to the Computer Professional Interview
- Super young!34-year-old professor, vice president of 985 Ace College!
猜你喜欢

万字长文,揭秘华为数据治理体系!

38.【string下章】
![[MySQL view] View concept, create, view, delete and modify](/img/dc/436dbaa0419b76cdab02a57436a782.png)
[MySQL view] View concept, create, view, delete and modify

Leetcode67. 二进制求和

Bika LIMS 开源LIMS集—— SENAITE的使用(分析/测试、方法)

开关电源-半桥LLC控制

Py之eli5:eli5库的简介、安装、使用方法之详细攻略
![[10:00 Open Class]: Application Exploration of Kuaishou GPU/FPGA/ASIC Heterogeneous Platform](/img/d8/a367c26b51d9dbaf53bf4fe2a13917.png)
[10:00 Open Class]: Application Exploration of Kuaishou GPU/FPGA/ASIC Heterogeneous Platform
![[Numpy] 创建数组](/img/a8/1c2dc07d08b70a4ec66d8070f218b9.png)
[Numpy] 创建数组

Nacos hierarchical storage model - the cluster configuration and NacosRule load balance
随机推荐
Create and copy conda environment
Py之eli5:eli5库的简介、安装、使用方法之详细攻略
项目经理:不错啊!SSO单点登录代码写出来了,把时序图也画一下?
还在开发短信验证码登录?试试(本机号码一键登录)
1191. 家谱树
R错误:缺少值不允许写在下面的作业的数据帧
企业代码安全防护分类
大一(下)暑假作业
BOM系列之Location对象
何享健“A拆A”又败一局,美的旗下美智光电终止创业板IPO
How to merge the code when there is a code conflict in the collaborative development of multiple people?
Network connection optimization for instant messaging mobile terminal development
inner join 与 left join 之间的区别
C# 1秒跑一个数字的展示,主要练习 事件相关内容
熊市下PLATO如何通过Elephant Swap,获得溢价收益?
mariadbackup物理备份使用——筑梦之路
线程池工作流程-图示
开关电源-LLC基本原理
【kaggle】Spaceship Titanic - 预测哪些乘客被运送到另一个维度【CatBoost - 10%】
阿里云官方 Redis 开发规范!