在面试过程中、难免会被问到关于TCP和UDP的相关知识、今天我特别整理了一下、供大家学习和参考。
1.关于TCP协议:
TCP协议的英文全称是 Transmission Control Protocol、意思是传输控制协议。他是一种面向连接的、可靠的、基于字节流的传输层通信协议。
TCP协议的特点主要有:
需要建立连接、形成传输数据的通道
在连接中有大量的数据传输(数据大小不受限制)
需要通过三次握手来实现连接、是一种可靠的、安全的协议
因为必须通过连接来实现数据传输、所以TCP的效率相对较低
关于TCP的握手环节、需要实现3次连接、4次断开
形象一点的内容我通过两幅图来进行说明、我觉得应该会帮助大家更加直观的理解


其实说白了就是:
3次握手的过程是客户端和服务器之间的在线确认、只有同时在线才能开始数据传输
4次断开的过程就是两端数据传输结束之后对于接收到的数据的再次确认、确认无误之后断开连接、传输结束。
2.关于UDP协议:
UDP协议的英文全称是 User Datagram Protocol、意思是用户数据报协议。它是一种无连接的、提供面向事务的简单、不可靠信息传送服务的协议。
UDP协议的特点主要有:
只负责数据的发送、不需要确认对方是否能接收到
将数据信息封装在数据包中、不需要建立连接
每个数据包的大小限制在64K以内
因为不需要连接、所以是不可靠的协议
因为不需要连接、所以传输速度相对较快
3.关于Socket:
Socket的本质其实是编程接口API、他是为网络服务提供的一种机制、通过Socket进行网络通信、Socket起初的时候是纯C语言的、他是跨平台的、数据在两个Socket间通过IO传输

TCP和UDP也都是在网络的数据传输层的、他俩都是传输协议。
以上就是关于TCP和UDP协议以及Socket的一些理解。
文章最后提一个小问题:TCP和UDP这两个协议在我们日常生活中有哪些比较直观的例子呢?欢迎大家在文章下方评论参与回答哟~
希望我的文章能对大家有所帮助、谢谢!
如果你觉得我文章还可以、如果你喜欢我的文章、还请关注我的简书、以支持我的继续创作哟、谢谢!
网友评论