TCP协议与UDP协议区别点在哪?TCP UDP协议详解
发布时间:2022-12-27 02:56:53
TCP协议是基于连接的协议,在正式收发数据前,必须和对方建立可靠的链接。而UDP协议则是与TCP相对应的协议。它是面向非连接的协议,不与对方建立连接,直接就把数据包发送过去。如果用户并不是很了解这其中的概念,可以阅读下文深入了解TCP协议和UDP协议区别点。
先说说TCP协议:
1、理解:窗口和滑动窗口TCP的流量控制
TCP使用窗口机制进行流量控制,连接建立时,各端分配一块缓冲区用来存储接收的数据,并将缓冲区的尺寸发送给另一端。接收方发送的确认信息中包含了自己剩余的缓冲区尺寸。剩余缓冲区空间的数量叫做窗口。
2、TCP的流控过程:
TCP 与UDP的区别:
很多文章都说TCP协议可靠,UDP协议不可靠!为什么前者可靠,后者不可靠呢?既然UDP协议不可靠,为什么还要使用它呢?所谓的TCP协议是面向连接的协议,面向连接是什么呢?
TCP和UDP都是传输层的协议!从编程的角度看,就是两个模块(模块就是代码的集合,一系列代码的组合提供相应的功能!模块化最终目的就是:分工协作!模块化好处:便于扩展开发以及维护!)。
TCP协议,是面向的连接!面向连接这个概念,我们要从物理层看起。大家都知道,因为“信道复用技术”的迅猛发展,才促使了计算机网络的发展!如果没有“信道复用技术”,那么单条线路上(这里的线路指物理传输介质,例如:双绞线、光纤、电话线)单位时间内只能供一台计算机使用!还是举例说明:就拿你自己的计算机来说,你跟同学“小明”聊天的时候,就不能跟另外一位同学“小强”聊天,如果你想同时跟两位同学聊天,那么你就得装两条线路!那么同时与第三位、第四位同学。第N位同学聊天的时候,你需要装几根线路?全世界人民聊天的时候,又需要装几根线路?
“信道复用技术”实现了,在同一条线路上,单位时间内可供X台计算机同时通信!Toad知道以下几种复用技术:
1、频分复用;
2、时分复用;
3、波分复用;
4、码分复用;
5、空分复用;
6、统计复用;
7、极化波复用。
关于“信道复用技术”更深层次的问题,需要你自己去研究!
信道复用技术:
知道了这一点,我们就很容易明白“物理信道”上的“虚拟信道”概念了!不同的信道复用技术,使用不同的复用技术,目的就是创建“虚拟信道”。
一个TCP协议连接其实就是在物理线路上创建的一条“虚拟信道”。这条“虚拟信道”建立后,在TCP协议发出FIN包之前(两个终端都会向对方发送一个FIN包),是不会释放的。正因为这一点,TCP协议被称为面向连接的协议!
UDP协议:
UDP协议一样会在物理线路上创建一条“虚拟信道”,否则UDP协议无法传输数据!但是,当UDP协议传完数据后,这条“虚拟信道”就被立即注销了!因此,称UDP是不面向连接的协议!
TCP的流控过程:
TCP协议和UDP协议为什么会共存?
1、大家要知道,一种物理线路,单位时间内,能够创建的“虚拟信道”是有限的!
2、使用TCP协议传输数据,当数据从A端传到B端后,B端会发送一个确认包(ACK包)给A端,告知A端数据我已收到!UDP协议就没有这种确认机制!这就是为什么说TCP协议可靠,UDP协议不可靠。
QQ普通会员就是使用的UDP协议进行传输数据!既然UDP协议自身没有确认机制,这个工作可以交给应用层的进程来完成(QQ)!大家使用QQ的时候,感觉出错的几率还是非常小吧!当然,把这个确认工作完全交给QQ自身来做,就直接导致了,QQ软件体积增大!
有些应用,对数据传输可靠性要求非常高,例如大家浏览网页,通过网页注册帐号、转帐等服务,这是不容许出错的,使用TCP协议能把出错的可能性降到最低(当然,网络自身很糟糕,TCP协议也没办法)。但是,提供这种可靠服务,会加大网络带宽的开销,因为“虚拟信道”是持续存在的,同时网络中还会出现大量的ACK和FIN包!
因此,鱼和熊掌不可兼得,需根据实际情况选择传输协议,TCP协议提供了可靠的数据传输,但是其拥塞控制、数据校验、重传机制的网络开销很大,不适合实时通信,所以选择开销很小的UDP协议来传输数据。
UDP 协议是无连接的数据传输协议并且无重传机制,会发生丢包、收到重复包、乱序等情况。而对于数据精确性要求不高的状态数据以及视频数据,丢包的影响不大。因为会不断收到新的包,丢失的个别包会有新的包来覆盖,所以只需在远程控制系统的通信部分自行处理乱序及重复包的问题,而对于丢包的问题一般不作处理。 但对于命令包这种需要精确收发的数据, 可在程序的开发中加入丢包重发和超时丢弃的处理。 当然,如果开发的是对于实时性要求不高的事件型控制命令的传输,不希望发生指令的丢失也可以直接采用TCP协议。TCP的重传机制正好适合这种情况。
非面向连接的传输协议在数据传输之前不建立连接,而是在每个中间节点对非面向连接的包和数据包进行路由。没有点到点的连接,非面向连接的协议,如UDP,是不可靠的连接。当一个UDP数据包在网络中移动时,发送过程并不知道它是否到达了目的地,除非应用层已经确认了它已到达的事实。非面向连接的协议也不能探测重复的和乱序的包。标准的专业术语用“不可靠”来描述UDP。在现代网络中,UDP并不易于导致传输失败,但是你也不能肯定地说它是可靠的
TCP和UDP都是传输层的协议!
例:应用层(QQ)物理连接层各自协议使用的常用端口:如http、https、tcp、udp、ftp等等。
TCP:
FTP:21、Telnet:23、SMTP:25
UDP:
DNS:53、TFTP:69、SNMP:161、RIP:520
https:
https:80
简单的来说就是TCP协议传输还是比较可靠的,而UDP协议传输却是在少量数据传输速度上占得优势,即便前者一个为面向连接一个面向非连接,在不同的传输环境发挥不一样的优势。


猜你喜欢
- 有小伙伴反应电脑出现了“由于找不到iUtils.dll,无法继续执行代码。重新安装程序可能会解决此问题。”的系统错误提示,不知道如何解决,下
- 重装系统多了,遇到问题也就多,最近有朋友表示win10重装后无法进入系统。具体故障表现为重装完系统后,想要启动电脑时,却发现无法进入系统,不
- Win11怎么找工作组计算机?本文就为大家带来了Win11搜索不到工作组计算机解决方法,需要的朋友一起看看吧在我们平常的工作中,如果用户有工
- 在Win7系统中,我们会发现PNG图像文件的缩略图时都有一圏的阴影,该如何消除PNG文件出现阴影呢?下面有个不错的方法,大家可以尝试操作下阴
- 在word中录入数据的时候经常会需要把Excel表格中的数据给嵌入到WORD中进行引用,word具体该如何嵌入Excel呢?接下来是小编为大
- 微软公司在2019年7月9日更新了win10系统的KB4507450补丁。新的补丁内容大概包括:使用 BitLocker 加密恢复模式更新问
- 经常我们在使用word 2010编辑文字时会出现输入打不开的问题,这让我们十分苦恼,今天,小编就教大家在Word2010中出现打不开输入法的
- QQ五笔输入法的纯五笔输入快捷键是Ctrl+Shift+W,可以在(设置)→(按键设置)中进行修改。
- wps是我们日常工作中经常使用的一款软件,我们在编辑文档的时候,经常需要在其中输入分数,那么,怎样在wps文字中输入分数呢?下面就让小编告诉
- 有时用word生成的文档,每页在20KB左右,而用记事本生居的相同的内容只有1KB左右,能让Word也减减肥吗?其实我们可以采用以下这些行之
- 如果想要给技嘉品牌主板进行恢复出厂设置的话,可以在开机的时候使用Delete按键进入bios界面,将Load Optimized Defau
- 微视如何拍摄漫画脸?最近开始流行拍摄漫画脸小视频特效,有些人在微视里还不知道漫画脸要去哪里设置,下面就给大家分享微视如何拍摄漫画脸的具体步骤
- 向日葵客户端登录不上总有温馨提示怎么办?有用户在使用向日葵客户端的时候,一直有一个连接服务器失败的温馨提示。这个问题是什么原因导致的,又要怎
- excel如何保留公式删除数字呢?下面小编来教大家。01、首先,我们打开一个含有公式的excel文档,然后我们按键盘上的Ctrl+G键;02
- AMD今天发布了新版显卡驱动Radeon Software Crimson ReLive Edition 17.9.2,终于加入了对RX V
- 无论是办公或者是大型游戏,电脑都是作为我们首选的必备设备,但是你有没有发现很多人因为一些故障或者失误操作,唯一的操作方式通常都是通过强制手段
- win10小娜怎么彻底关闭?小娜是Win10电脑操作系 * 有的一款功能,但是对于许多人来说,小娜的用处非常鸡肋,想要永久的禁用掉小娜,那具体
- 我们在使用电脑的时候,有时候会使用到电脑自带的本地安全策略组进行一些设置,但是不少win7用户的小伙伴并不知道怎么使用,下面小编就带着大家一
- 有WinXP系统用户反映打开DNF客户端时弹出qqlogin.exe应用程序错误,并且无法正常登陆地下城与勇士,该如何解决这个问题呢?下面给
- 升级iOS12 beta2 后,你有遇到淘宝卡死的情况吗?淘宝卡死怎么办?下面是升级iOS12 beta2 后淘宝卡死解决方案。升级iOS1