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、码分复用;
【TCP协议与UDP协议区别点在哪?TCP UDP协议详解】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协议不可靠 。
推荐阅读
- 欧豪和景甜演的电影叫什么
- 艾尔登法环好玩吗 游玩心得分享
- 大白智能定期寿险是哪家公司
- imazing使用教程
- 见贤思齐的同义词
- 辄的文言文意思
- 用PS偏色照片进行人物磨皮及美化
- 长安街几车道
- 100g鸡胸肉多少大卡