简单总结比较TCP,UDP,Socket协议

一、Socket

1.Socket(又叫套接字)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接协议,客户端的IP地址,客户端的端口,服务器的IP地址,服务器的端口。

一个Socket是一对IP地址和端口。可以看成在两个程序进行通讯连接中的一个端点,一个程序将一段信息写入Socket中,该Socket将这段信息发送给另外一个Socket中,使这段信息能传送到其他程序中。

你可以这么理解:Socket是进程之间用来对话的中间层工具。

2.作用

应用层通过传输层进行数据通信时,TCP和UDP会遇到同时为多个应用程序进程提供并发服务的问题。为了区别不同的应用程序进程和连接,许多计算机操作系统为应用程序与TCP/IP协议交互提供了称为套接字(Socket)的接口,区分不同应用程序进程间的网络通信和连接。Socket(套接字)是对 TCP/IP 或者UDP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API),通过Socket,我们才能使用TCP/IP协议。通过调用这个接口(API),程序员在开发网络应用程序的时候,就可以不用关心底层是怎么实现的,减轻开发的难度。

Socket 是操作系统提供的网络通信接口,封装了底层协议(TCP/UDP)的细节。

二、TCP

TCP(传输控制协议)

在数据传输之前,需要建立一个连接。通过序列号、确认应答、重传机制等确保数据的可靠传输。通过滑动窗口算法进行流量控制,避免网络拥塞。确保数据按照发送顺序到达接收方。使用校验和来检测数据在传输过程中的任何错误。

应用场景:适用于对数据准确性要求高的应用,如Web浏览、电子邮件、文件传输等。

三、UDP

UDP(用户数据报协议)

发送数据之前不需要建立连接。不保证数据包的顺序,也不保证数据包的完整性。发送端发送数据的速度不会因为接收端的处理速度而改变。

数据以数据报的形式发送,每个数据报的大小限制在64KB之内。头部开销小,处理速度快。

应用场景:适用于对实时性要求高的应用,如视频会议、在线游戏、实时音视频流等。

四、比较TCP,UDP

TCP 提供可靠交付,UDP继承了IP包的特性,不保证不丢失,不保证按时到达;

TCP是面向字节流的,发送的时候发的是一个流,没头没尾的。UDP继承了IP的特性,基于数据报的,一个个发,一个个收;

TCP是可以有拥堵控制的,可以根据网络环境调整自己的行为;UDP就是应用让我发,我就发,管它洪水滔天;

TCP是一个有状态的服务,通俗的讲就是有脑子的,可以精确的记着,自己发送了没有,接收到没有,发送到哪个了,应该接收到哪个了,错一点儿都不行;UDP其实是一个无状态服务,无脑子,天真无邪的发出去就发出去呗;

在选择使用TCP还是UDP时,需要根据应用的具体需求来决定。如果数据传输的可靠性比实时性更重要,应该选择TCP;如果实时性比数据的完整性更重要,UDP可能是更好的选择。

相关推荐
袁小皮皮不皮33 分钟前
1.HCIP BFD 学习笔记(优化版)
服务器·网络·笔记·网络协议·学习·智能路由器·ip
用户0312959133423 小时前
第 10 篇:路由表:数据包的导航仪
网络协议
mmmayang4 小时前
基于 QUIC 的 HTTP_3
网络·网络协议·http
北京耐用通信5 小时前
国产化替代优选!耐达讯自动化NY-HUB6完美兼容替代PB-HUB6\GL
人工智能·科技·网络协议·自动化·信息与通信
ElevenS_it1885 小时前
Nginx日志监控告警实战:access_log解析+5xx突增+慢请求+异常IP自动告警完整方案(Filebeat+Zabbix)
运维·网络·tcp/ip·nginx·zabbix
大草原的小灰灰7 小时前
TCP/IP协议栈传输层介绍
网络协议·tcp/ip
IT大白鼠8 小时前
IPv6过渡技术:原理、分类与应用
网络·网络协议·华为
我是一颗柠檬11 小时前
【计算机网络全面教学】网络层与IP协议,子网划分到路由协议全掌握Day3(2026年)
网络协议·tcp/ip·计算机网络
袁小皮皮不皮12 小时前
2.HCIP OSPF路由基础(优化版)
运维·服务器·网络·网络协议·智能路由器
普马萨特12 小时前
Wi-Fi 扫描频率多层限制机制解析
网络协议·安卓