大厂面试题-网络四元组

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

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

相关推荐
zbguolei几秒前
网络性能测试工具---iPerf
网络·测试工具
寻址00000001几秒前
华三(H3C)交换机基本运维命令及配置案例说明
运维·网络
头发还没掉光光2 分钟前
解决TCP粘包问题,使用C++实现TCP通信的自定义协议设计
linux·网络·c++·网络协议·tcp/ip
wheeldown11 分钟前
【Linux网络编程】应用层自定义协议和序列化
linux·运维·网络
ccieluo22 分钟前
华为eNSP网络工程毕业设计 基于双出口智能选路的中小型企业网络设计 策略路由 IPSec SSL 无线网络 BGP
网络·华为·毕业设计
lpfasd12333 分钟前
《影响力》精读笔记
网络·笔记·成长
枫叶丹440 分钟前
【Qt开发】Qt系统(九)-> Qt TCP Socket
c语言·开发语言·网络·c++·qt·tcp/ip
独行soc2 小时前
2026年渗透测试面试题总结-7(题目+回答)
java·网络·python·安全·web安全·渗透测试·安全狮
EverydayJoy^v^3 小时前
RH134简单知识点——第6章——管理SELinux安全性
linux·服务器·网络
橙河网络10 小时前
橙河网络:海外问卷安全类问卷调查怎么做?
网络·经验分享·笔记·课程设计