大厂面试题-网络四元组

四元组,简单理解就是在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)

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

相关推荐
维构lbs智能定位8 小时前
基于UWB定位技术的工地安全管理系统从技术原理到功能应用详解
网络·安全·工地安全管理系统
Cyber4K9 小时前
【Kubernetes专项】DockerFile、数据持计划、网络模式及资源配额
运维·网络·云原生·容器·kubernetes
开开心心就好9 小时前
系统管理工具,多功能隐私清理文件粉碎工具
java·网络·windows·r语言·电脑·excel·symfony
逑之9 小时前
C语言笔记15:动态内存管理
c语言·网络·笔记
hui函数9 小时前
如何解决 pip install 网络报错 403 Forbidden(访问被阻止)问题
网络·pip
乾元10 小时前
现场运维机器人的工程化落地——移动探针采集 + AI 诊断,在真实网络中的实现路径
运维·网络·人工智能·架构·机器人·自动化
鲨莎分不晴10 小时前
Docker 网络深度解析:打破容器的“孤岛效应”
网络·docker·容器
liulilittle10 小时前
rinetd 端口转发工具技术原理
linux·服务器·网络·c++·端口·通信·转发
镜中人★10 小时前
408计算机网络考纲知识点(更新中)
网络·网络协议·计算机网络
xflySnail10 小时前
nas服务域名高速访问-获取公网IP和端口
网络·tcp/ip·智能路由器