计算机网络:TCP协议的三次握手和四次挥手与UDP协议区别.

简介: 计算机网络:TCP协议的三次握手和四次挥手与UDP协议区别.

2 篇文章0 订阅
订阅专栏
计算机网络:TCP协议与UDP协议
目录:
TCP协议:

UDP协议:

TCP协议与UDP协议都工作在传输层.

TCP协议与UDP协议它们的目标:

TCP协议与UDP协议的最大区别:

TCP协议保持连接的三个关键步骤:

UDP协议:

TCP协议与UDP协议主要区别:

TCP协议:
传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义.
TCP旨在适应支持多网络应用的分层协议层次结构。 连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠的通信服务。TCP假设它可以从较低级别的协议获得简单的,可能不可靠的数据报服务。 原则上,TCP应该能够在从硬线连接到分组交换或电路交换网络的各种通信系统之上操作。
UDP协议:
Internet 协议集支持一个无连接的传输协议,该协议称为用户数据报协议(UDP,User Datagram Protocol)。UDP 为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据包的方法。RFC 768 描述了 UDP。
Internet 的传输层有两个主要协议,互为补充。无连接的是 UDP,它除了给应用程序发送数据包功能并允许它们在所需的层次上架构自己的协议之外,几乎没有做什么特别的事情。面向连接的是TCP ,该协议几乎做了所有的事情。
TCP协议与UDP协议都工作在传输层.

TCP协议与UDP协议它们的目标:都是在程序之间传数据.
数据可以是:文本文件,视频,图片.
TCP协议与UDP协议的最大区别:一个是连接,一个是非连接
例子:

TCP协议保持连接的三个关键步骤:(1)三次握手.(2)传输确认.(3)四次挥手.
三次握手:是建立连接的过程,客户端向服务端发起连接时:询问是否同意连接(SYN包),同意连接(SYN+ACK包),建立连接(ACK包)

三次握手是解决:网络信道不可靠的问题.
四次挥手:客户端发送 表示关闭连接(FIN包),服务器发送 等待关闭状态(ACK包),服务器发送 最后确认状态(FIN包),客户端收到回复(ACK包)

四次挥手是解决:在不可靠的网络链路中进行可靠的连接断开,确认.
UDP协议:是一个非连接的,发送就是将数据包封装一下,然后再从网卡发出去就行。

TCP协议与UDP协议主要区别:
TCP协议:优点 传输数据稳定可靠,适用于通信质量较高的场景。例如传输文件,发送邮件,浏览网页等.
UDP协议:优点 速度快,但是可能产生丢包,适用于对实时性要求较高。例如域名查询,语音通话,视频直播等.

UDP协议还有一个非常重要的应用场景:隧道网络,例如 VPN,还有在SDN中用到的VXLAN就是隧道网络。​
学习连接:一条视频讲清楚TCP协议与UDP协议-什么是三次握手与四次挥手_哔哩哔哩_bilibili
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_54977781/article/details/129935179

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
7月前
|
网络协议 开发者
探讨UDP协议中connect函数的作用及影响
总结来看,虽然UDP是无连接的,`connect()` 函数的使用在UDP编程中是一种可选的技术,它可以带来编程上的便利和某些性能上的改进,同时它改变的是程序逻辑上的行为,而非UDP协议本身的无连接特性。在实际应用中,根据通信模式和需求的不同,开发者可以根据情况选择是否调用 `connect()` 函数。
332 8
|
9月前
|
运维 安全 网络性能优化
工业路由器:企业网络的中流砥柱和个人路由器有什么区别?卓伊凡
工业路由器:企业网络的中流砥柱和个人路由器有什么区别?卓伊凡
943 11
工业路由器:企业网络的中流砥柱和个人路由器有什么区别?卓伊凡
|
9月前
|
监控 网络协议 视频直播
UDP协议(特点与应用场景)
UDP(用户数据报协议)是传输层的一种无连接协议,具有简单高效、低延迟的特点。其主要特点包括:无连接(无需握手)、不可靠传输(不保证数据完整性)、面向数据报(独立传输)。尽管UDP不如TCP可靠,但在实时通信(如语音通话、视频会议)、在线游戏、多媒体流媒体(如直播、点播)及网络监控等领域广泛应用,满足了对速度和实时性要求较高的需求。
1466 19
|
10月前
|
网络协议
为何UDP协议不可靠?DNS为何选择UDP?
总的来说,UDP和TCP各有优势,选择哪种协议取决于应用的具体需求。UDP可能不如TCP可靠,但其简单、快速的特性使其在某些场景下成为更好的选择。而DNS就是这样的一个例子,它利用了UDP的优势,以实现快速、高效的名字解析服务。
572 14
|
10月前
|
网络协议 Java 开发工具
全平台开源即时通讯IM框架MobileIMSDK:7端+TCP/UDP/WebSocket协议,鸿蒙NEXT端已发布,5.7K Stars
全平台开源即时通讯IM框架MobileIMSDK:7端+TCP/UDP/WebSocket协议,鸿蒙NEXT端已发布,5.7K Stars
635 1
|
缓存 网络协议
Jmeter如何对UDP协议进行测试?
`jmeter-plugins`是JMeter的插件管理器,用于管理和组织所有插件。访问[官网](https://jmeter-plugins.org/install/Install/)下载并放置于`lib/ext`目录下,重启JMeter后可在“选项”中看到插件管理器。
507 1
Jmeter如何对UDP协议进行测试?
|
12月前
|
网络协议 算法 安全
Go语言的网络编程与TCP_UDP
Go语言由Google开发,旨在简单、高效和可扩展。本文深入探讨Go语言的网络编程,涵盖TCP/UDP的基本概念、核心算法(如滑动窗口、流量控制等)、最佳实践及应用场景。通过代码示例展示了TCP和UDP的实现,并讨论了其在HTTP、DNS等协议中的应用。最后,总结了Go语言网络编程的未来发展趋势与挑战,推荐了相关工具和资源。
379 5
|
前端开发 搜索推荐 Java
网络基础重定向和转发的区别
本文介绍了网络基础中重定向和转发的区别。重定向是服务器告知客户端访问新URL,涉及两次请求,URL变化;转发是服务器内部处理,客户端无感知,URL不变。文中详细对比了两者的请求次数、数据传递及应用场景,并通过实例演示帮助理解。
454 9
|
XML JSON 算法
【JavaEE】——自定义协议方案、UDP协议
自定义协议,序列化,xml方案,json方案,protobuffer方案,UDP协议,校验和,比特翻转,CRC算法,md5算法
|
监控 网络协议 网络性能优化
不再困惑!一文搞懂TCP与UDP的所有区别
本文介绍网络基础中TCP与UDP的区别及其应用场景。TCP是面向连接、可靠传输的协议,适用于HTTP、FTP等需要保证数据完整性的场景;UDP是无连接、不可靠但速度快的协议,适合DNS、RIP等对实时性要求高的应用。文章通过对比两者在连接方式、可靠性、速度、流量控制和数据包大小等方面的差异,帮助读者理解其各自特点与适用场景。