ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

TCP协议学习笔记

2021-06-30 21:04:27  阅读:143  来源: 互联网

标签:协议 UDP 笔记 可靠 client TCP server 连接


        在学习Netty的心跳机制过程中,发现提及到了TCP长连接相关的知识,因此又专门对TCP协议进行了简单的学习。

        提到TCP就会想到UDP,那么我们来看看TCP和UDP:

        TCP协议:传输控制协议。它提供的是面向连接、可靠的字节流服务。当客户和服务器之间交换数据之前,必须首先在双方建立一个TCP连接之后才能传输数据。TCP提供超时重发、丢弃重复数据、检验数据和流量控制等功能,保证数据能从一段传到另一端。
        UDP:用户数据报协议。是无连接、不可靠的运输协议。它只是把用户数据报发送出去,但是并不保证它们能到达目的地。由于UDP在传输用户数据报之前不需要在客户端和服务端建立一个连接,且没有超时重发等机制,因而传输速度很快。

两者的主要区别:
        1、TCP面向连接;UDP是无连接的
        2、TCP提供可靠的服务;UDP不可靠。TCP充分实现了数据传输时的各种控制功能,可以进行对丢包的重发控制,还可以对乱序的分包进行顺序控制。TCP通过检验和、序列号、确认应答、重发控制及窗口控制等机制实现可靠性传输。UDP尽最大努力交付,不保证可靠交付,即使在网络拥堵的情况下,UDP也无法进行流量控制等避免网络拥塞的行为;另外,传输过程中如果发现了丢包,UDP也不负责重发;甚至当包出现了乱序的到达顺序时,也没有纠正功能。
        3、TCP面向字节流;UDP面向报文
        4、每一条TCP连接只能是点到点;UDP支持一对一、一对多、多对一和多对多的交互通信
        5、TCP首部开销20个字节 ;UDP首部8个字节
        6、TCP是全双工(数据可以在同一时间可以双向流动)的可靠信道,UDP是不可靠信道

TCP长连接和短连接:

        我们知道 TCP 在进行读写之前,server 与 client 之间必须提前建立一个连接。建立连接的过程,需要我们常说的三次握手,释放/关闭连接的话需要四次挥手。这个过程是比较消耗网络资源并且有时间延迟的。

        短连接说的就是 server 端 与 client 端建立连接之后,读写完成之后就关闭掉连接,如果下一次再要互相发送消息,就要重新连接。短连接的优点很明显,就是管理和实现都比较简单,缺点也很明显,每一次的读写都要建立连接必然会带来大量网络资源的消耗,并且连接的建立也需要耗费时间。

        长连接说的就是 client 向 server 双方建立连接之后,即使 client 与 server 完成一次读写,它们之间的连接并不会主动关闭,后续的读写操作会继续使用这个连接。长连接的可以省去较多的 TCP 建立和关闭的操作,降低对网络资源的依赖,节约时间。对于频繁请求资源的客户来说,非常适用长连接。

        

        

标签:协议,UDP,笔记,可靠,client,TCP,server,连接
来源: https://blog.csdn.net/qq_19801061/article/details/118369056

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有