大厂面试题-网络四元组

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

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

相关推荐
网络与设备以及操作系统学习使用者7 小时前
Linux与Windows核心差异深度解析
linux·运维·网络·windows·学习
Flash.kkl8 小时前
网络层协议IP、数据链路层、NAT详解
服务器·网络·网络协议·tcp/ip
缪懿10 小时前
应用层中的TCP协议原理
网络·网络协议·tcp/ip
梦奇不是胖猫10 小时前
[ 计算机网络 | 第三章 ] 数据链路层 02 PPP
网络·网络协议·计算机网络
Ether IC Verifier11 小时前
TCP 重传机制详解
服务器·网络·网络协议·tcp/ip·php
2401_8734794011 小时前
主流IP离线库(IP数据云、纯真、IPIP.NET)怎么选?全面对比分析
服务器·网络·数据库
奋斗的小青年I12 小时前
虚拟化平台横评:Proxmox vs XCP-ng vs OpenStack vs Nutanix
网络·vmware·虚拟化·pve·超融合、
REDcker12 小时前
QUIC协议详解2
网络
yqcoder12 小时前
拆解互联网:通俗易懂的网络分层模型
前端·网络·网络协议
xixixi7777713 小时前
算力网络双轮驱动:800G 光模块价格再降、1.6T 商用提速,AI-eSIM 用户破亿重构身份生态
网络·人工智能·ai·大模型·光模块·通信·运营商