计算机网络面试题(十四):TCP和UDP的区别

news/2024/5/18 14:41:56 标签: 网络, http, udp
http://www.w3.org/2000/svg" style="display: none;">

https://img-blog.csdnimg.cn/20200730200325164.jpg" alt="在这里插入图片描述" />
https://img-blog.csdnimg.cn/20200730200336142.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDQ3ODM3OA==,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述" />


TCP与UDP都位于网络模型中的传输层,负责传输应用层产生的数据

【1】UDP

UDP(User Datagram Protocol 用户数据报协议):UDP不需要所谓的握手操作,从而加快了通信速度,允许网络上的其他主机在接收方同意通信之前进行数据传输

数据报是与分组交换网络关联的传输单元

UDP特点:

  • UDP低延迟
  • UDP能够发送大量数据包
  • UDP能够允许DNS查找(DNS是应用层协议)

【2】TCP

TCP(Transfer Control Protocol 传输控制协议):通过三次握手建立TCP连接,一旦建立就可以发生数据,传输完成之后,会通过关闭虚拟电路来断开连接

TCP特点:

  • TCP可以确保连接的建立和数据包发送可靠性
  • TCP支持差错重传
  • TCP支持拥塞控制,能够在网络发生堵塞的情况下延迟发送
  • TCP能够提供差错检验,甄别有害数据包

【3】TCP和UDP对比

TCPUDP
面向连接的无连接的
先建立连接,在发送数据无需连接,直接发送大量数据
顺序排列数据包数据包相互独立
传输速度较传输速度较
头部字节20头部字节8
错误校验并恢复差错校验但丢弃错误数据包
有发送确认无发送确认
握手:SYN、SYN-ACK、ACK无握手
可靠的不能保证数据传送到
  • TCP是重量级的:在发送任何数据前,TCP都需要三次握手建立连接
  • UDP是轻量级的:没有跟踪连接、消息排列等

http://www.niftyadmin.cn/n/1488590.html

相关文章

操作系统面试题(十四):什么是虚拟内存?

虚拟内存(virtual Memory) 日常生活中,当我们使用电脑的时候,尤其是windows电脑,经常会打开许多软件,这些软件占用的内存已经远远大于计算机的物理内存。之所以会这样,就是因为虚拟内存的存在 …

数据库MySQL基础(三):SQL约束

文章目录SQL约束SQL常见约束【1】主键【2】默认值约束【3】唯一约束【4】外键约束【5】非空约束SQL约束 约束是一种限制,通过对表的列/行的数据进行限制,确保数据表的完整性和唯一性 SQL常见约束 约束类型关键字主键primary key默认值default唯一的uni…

操作系统面试题(十五):虚拟内存技术的局部性原理

局部性原理 局部性原理不仅适用于程序结构,也适用于数据结构 正是由于局部性原理的存在,才可以实现只装入部分程序到内存就开始运行 局部性原理的表现: 时间局部性:如果程序中的某条指令一旦执行,不久之后该指令可能…

计算机网络面试题(十五):HTTP无状态协议是什么?怎么解决的?

文章目录HTTP无状态协议Cookie&Session机制JWT机制HTTP无状态协议 无状态协议(Stateless Protocol)是指浏览器对于事物的处理没有记忆功能 例如:通过账户密码登录进了一个网站,当再次进入时则需要重新输入账户密码…… HTTP就…

编程必修课:面试被问设计模式

文章目录设计模式【1】设计模式大致分类【2】MVC模式【3】Django框架如何遵循MVC设计模式 所谓设计模式,就是面向对象编程中的各种现成的套路,也可以说是经验总结,是许多前辈技术人员经过长期实践总结出来的优质解决方案 针对不同的需求场景…

计算机网络面试题(十六):HTTP1.0/1.1/2.0版本了解不?

文章目录HTTP1.0HTTP1.1HTTP2.0HTTP1.0 HTTP1.0是1996年引入的 HTTP1.0仅提供了最基本的认证,用户名和密码都未加密HTTP1.0仅支持短连接,每次发送数据都会经过TCP三次握手和四次挥手,效率低HTTP1.0只使用了header的ifmodified-Since和Expires…

面试被问进程和线程,面试官说答得不错!

进程和线程 【1】CPU CPU(中央处理器)是计算机的核心,承担了所有的计算任务 CPU就像一座无时无刻都在运行的工厂 一个工厂(CPU)会有许多的车间 假定CPU一次只能运行一个任务,即一次只能供给一个车间使用…

数据库MySQL基础(四):搭建一个简易的成绩管理系统

文章目录成绩管理系统【1】学生表【2】课程表【3】成绩表成绩管理系统 mysql> create database gradesystem; Query OK, 1 row affected (0.00 sec)mysql> show databases; -------------------- | Database | -------------------- | information_schema | |…