IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> TCP协议和UDP协议知识预览 -> 正文阅读

[网络协议]TCP协议和UDP协议知识预览

对于TCP协议和UDP协议,大家应该都再熟悉不过了。我们常用的网络通讯(如下图),都是通过这两种协议进行数据传输的。

?如何工作

TCP/UDP协议工作在传输层,它们的目标都是在程序之间传输数据,数据可以是文本文件,视频或者图片,对于这这两种协议来说,都是一堆二进制数,并没有多大区别。那TCP和UDP之间的区别是什么?想必大家都知道,没错,就是一个基于连接,一个基于非连接,具体是什么意思,我们来举个简单的例子。

?如果把人与人之间的通信比喻为进程与进程的通信,我们基本有两种方式:写信和打电话。如果不考虑速度因素,这两种方式之间最大的区别是什么?对于写信方式,

  1. 信寄出去后对方能否接收到。
  2. 收到的信内容是否完整。
  3. 先后寄两封信过去是否按顺序接收。

这些都变成了未知数,甚至你填写的收件地址和收件人,你都无法确认。而打电话则不同,从拨打电话到电话接通,互相通话,再到结束通话后挂断电话,这一系列的流程都能得到及时的反馈,并且能确认对方准确的接收到。所以我们可以这样说,打电话就是基于连接的;而写信就是基于非连接的。

?

TCP如何保证以上过程

三个关键步骤(三次握手、传输确认、四次挥手)

三次握手

建立连接的过程,主要解决在不可靠信道进行可靠传输。

?为什么不是两次握手?(即在服务端回复完SYN+ACK后就建立连接)

这是因为防止已失效的请求报文突然又传到服务器引起错误。

传输确认

进入数据传输状态,面临的几个问题:一包数据有可能会被拆成多包发送,如何处理丢包问题;这些包到达的先后顺序不同,如何处理乱序问题。

?以上过程不区分客户端和服务端,tcp连接是全双工的,对于两端来说均采用上述机制。

四次挥手

为了在不可靠的网络链路中进行可靠的链路断开。

UDP协议

其实就是将数据简单地包装一下,然后从网卡发出去就可以了,数据包之间并没有状态上的联系。正因为udp这种简单的处理方式,导致它的性能损耗非常少,对于CPU,内存资源的占用也远小于tcp,但对网络传输过程中产生的丢包,udp协议并不能保证,所以udp在传输稳定性上要弱于tcp。

总结

TCP vs UDP
协议特点应用场景
TCP传输数据稳定可靠网络通讯质量较高,需要准确无误(传输文件、发送邮件、浏览网页)
UDP速度快实时性要求较高,少量丢包不影响(域名查询、语音通话、视频直播)

除此之外,udp还有一个非常重要的应用场景——隧道网络 ,比如VPN,VXLAN。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-12-18 16:19:23  更:2021-12-18 16:19:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年7日历 -2024/7/10 3:16:51-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码