高频面试题之TCP和UDP

简介: 本文从 TCP/UDP定义, TCP三次握手, TCP4次挥手, TCP和UDP的区别三个频率最高的问题入手!

高频面试题之TCP和UDP

tcp1.jpg

1.TCP协议

TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议,也就是说,在收发数据前,必须和对方建立可靠的连接。
1.1 TCP 最常问的三次握手

tcp2.jpg

  • 第一次握手:主机client通过向主机server 发送一个含有同步序列号的标志位的数据段给主机server,向主机server 请求建立连接,通过这个数据段, 主机client告诉主机server 两件事:我想要和你通信;你可以用哪个序列号作为起始数据段来回应我。
  • 第二次握手:主机server 收到主机A的请求后,用一个带有确认应答(ACK)和同步序列号(SYN)标志位的数据段响应主机client,也告诉主机client两件事:我已经收到你的请求了,你可以传输数据了;你要用那个序列号作为起始数据段来回应我
  • 第三次握手:主机client收到这个数据段后,再发送一个确认应答,确认已收到主机server 的数据段:"我已收到回复,我现在要开始传输实际数据了,这样3次握手就完成了,主机cleint和主机server 就可以传输数据了。
1.2tcp 其次最常问的四次挥手

tcp3.jpg

  • 第一次: 当主机client完成数据传输后,将控制位FIN置1,提出停止TCP连接的请求
  • 第二次: 主机server收到FIN后对其作出响应,确认这一方向上的TCP连接将关闭,将ACK置1
  • 第三次: 由server 端再提出反方向的关闭请求,将FIN置1
  • 第四次: 主机client对主机B的请求进行确认,将ACK置1,双方向的关闭结束.。

2.UDP协议

UDP是一个非连接的协议,传输数据之前源端和终端不建立连接, 当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。 在发送端,UDP传送数据的速度仅仅是受应用程序生成数据的速度、 计算机的能力和传输带宽的限制; 在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读一个消息段.

tcp4.jpg

3.最常问TCP和UDP的区别

对比内容 TCP UDP
是否连接 基于连接 无连接
消耗资源 消耗多 消耗较少
传输可靠性 可靠 不可靠-丢包
传输速度 稍慢
传输数据模式 流模式 数据报模式
数据的顺序性 有保证 不保证
首部字节开销 20字节 8字节
通信方式 点对点 一对一,一对多,
多对一,多对多
相关文章
|
11月前
|
网络协议 安全 网络安全
什么是TCP/UDP/HTTP?它们如何影响你的内网穿透体验?
数据的传输离不开各种协议,它们就像现实世界中的交通规则,规定了数据如何打包、寻址、传输和接收。对于使用内网穿透的用户来说,理解TCP、UDP和HTTP这些基础协议的特点,能帮助你更好地理解其性能表现,并选择最适合的配置方案。
|
网络协议 安全 网络安全
详细阐述 TCP、UDP、ICMPv4 和 ICMPv6 协议-以及防火墙端口原理优雅草卓伊凡
详细阐述 TCP、UDP、ICMPv4 和 ICMPv6 协议-以及防火墙端口原理优雅草卓伊凡
795 2
|
网络协议 Java 开发工具
全平台开源即时通讯IM框架MobileIMSDK:7端+TCP/UDP/WebSocket协议,鸿蒙NEXT端已发布,5.7K Stars
全平台开源即时通讯IM框架MobileIMSDK:7端+TCP/UDP/WebSocket协议,鸿蒙NEXT端已发布,5.7K Stars
868 1
|
监控 网络协议 网络性能优化
不再困惑!一文搞懂TCP与UDP的所有区别
本文介绍网络基础中TCP与UDP的区别及其应用场景。TCP是面向连接、可靠传输的协议,适用于HTTP、FTP等需要保证数据完整性的场景;UDP是无连接、不可靠但速度快的协议,适合DNS、RIP等对实时性要求高的应用。文章通过对比两者在连接方式、可靠性、速度、流量控制和数据包大小等方面的差异,帮助读者理解其各自特点与适用场景。
|
存储 网络协议 安全
用于 syslog 收集的协议:TCP、UDP、RELP
系统日志是从Linux/Unix设备及网络设备生成的日志,可通过syslog服务器集中管理。日志传输支持UDP、TCP和RELP协议。UDP无连接且不可靠,不推荐使用;TCP可靠,常用于rsyslog和syslog-ng;RELP提供可靠传输和反向确认。集中管理日志有助于故障排除和安全审计,EventLog Analyzer等工具可自动收集、解析和分析日志。
1499 2
|
网络协议 网络性能优化 数据处理
深入解析:TCP与UDP的核心技术差异
在网络通信的世界里,TCP(传输控制协议)和UDP(用户数据报协议)是两种核心的传输层协议,它们在确保数据传输的可靠性、效率和实时性方面扮演着不同的角色。本文将深入探讨这两种协议的技术差异,并探讨它们在不同应用场景下的适用性。
735 4
|
监控 网络协议 网络性能优化
网络通信的核心选择:TCP与UDP协议深度解析
在网络通信领域,TCP(传输控制协议)和UDP(用户数据报协议)是两种基础且截然不同的传输层协议。它们各自的特点和适用场景对于网络工程师和开发者来说至关重要。本文将深入探讨TCP和UDP的核心区别,并分析它们在实际应用中的选择依据。
1072 3
|
网络协议 算法 网络性能优化
|
网络协议 前端开发 物联网
TCP和UDP区别?
本文首发于微信公众号“前端徐徐”,详细介绍了TCP和UDP两种传输层协议的核心概念、连接性和握手过程、数据传输和可靠性、延迟和效率、应用场景及头部开销。TCP面向连接、可靠、有序,适用于网页浏览、文件传输等;UDP无连接、低延迟、高效,适用于实时音视频传输、在线游戏等。
1482 1
TCP和UDP区别?
|
缓存 负载均衡 网络协议
面试:TCP、UDP如何解决丢包问题
TCP、UDP如何解决丢包问题。TCP:基于数据块传输/数据分片、对失序数据包重新排序以及去重、流量控制(滑动窗口)、拥塞控制、自主重传ARQ;UDP:程序执行后马上开始监听、控制报文大小、每个分割块的长度小于MTU