大厂面试题-网络四元组

四元组,简单理解就是在TCP协议中,去确定一个客户端连接的组成要素,它包括源

IP地址、目标IP地址、源端口号、目标端口号。

正常情况下,我们对于网络通信的认识可能是这样(如图)。

服务端通过Server Socket建立一个对指定端口号的监听,比如8080。客户端通过目标ip和端口就可以和服务端建立一个连接,然后进行数据传输。

但是我们知道的是,一个Server端可以接收多个客户端的连接,比如像这种情况(如图)。

当多个客户端连接到服务端的时候,服务端需要去识别每一个连接。

并且(如图),TCP是全双工协议,也就是说数据允许在连接的两个方向上同时传输,因此这里的客户端,如果是反向通信,它又变成了服务端。

所以基于这两个原因,就引入了四元组的设计,也就是说,当一个客户端和服务端建立一个TCP连接的时候,通过源IP地址、目标IP地址、源端口号、目标端口号来确定一个唯一的TCP连接。因为服务器的IP和端口是不变的,只要客户端的IP和端口彼此不同就OK了。

比如像这种情况(如图),同一个客户端主机上有三个连接连到Server端,那么这个时候源IP相同,源端口号不同。此时建立的四元组就是(10.23.15.3,59461,192.168.8.135,8080)

其中,源端口号是每次建立连接的时候系统自动分配的。

相关推荐
Black蜡笔小新7 小时前
视频汇聚平台EasyCVR级联播放偶发失败排查:TCP主动模式下的3秒超时响应差
网络·tcp/ip·音视频
Fms_Sa7 小时前
UDP的一次双向通信
网络·网络协议·udp
zzz.108 小时前
top命令的详解
linux·服务器·网络
馨谙8 小时前
网络故障排查三板斧:路由追踪、端口检查,快速定位网络问题
linux·网络
keer_zu9 小时前
一个Modbus-TCP传感器数据传输方案
网络·网络协议·tcp/ip
深度学习实战训练营9 小时前
MemNet:一种用于图像恢复的持久性存储网络
网络·人工智能
TiAmo8089 小时前
ip生产区
服务器·网络·tcp/ip
文火冰糖的硅基工坊11 小时前
[嵌入式系统-146]:五次工业革命对应的机器人形态的演进、主要功能的演进以及操作系统的演进
前端·网络·人工智能·嵌入式硬件·机器人
2301_7931679911 小时前
网络基础总结
运维·网络·hcia
西***634711 小时前
从信号处理到智能协同:高清混合矩阵全链路技术拆解,分布式系统十大趋势抢先看
网络·分布式·矩阵