大厂面试题-网络四元组

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

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

相关推荐
黑客思维者1 分钟前
智能配电系统代码审查详细设计与实战体系:从缺陷预防到架构守护
网络·架构·代码复审·代码评审
Xの哲學8 分钟前
Linux 分段卸载技术深度剖析
linux·服务器·网络·架构·边缘计算
讨厌下雨的天空17 分钟前
传输层UDP
网络·网络协议·udp
feathered-feathered18 分钟前
网络原理——应用层协议HTTP/HTTPS(重点较为突出)
java·网络·后端·网络协议·http·https
杜大哥41 分钟前
windows:如何检查出电脑IP和其它的电脑IP地址冲突?
网络·网络协议·tcp/ip
在外面要叫头哥42 分钟前
计算机网络5层模型通俗详解:从“发快递”看网络传输
网络·计算机网络
老蒋新思维42 分钟前
创客匠人峰会深度解析:创始人 IP 打造的 “情绪 + 技术” 双引擎
大数据·网络·人工智能·网络协议·tcp/ip·重构·创客匠人
Wokoo742 分钟前
WebSocket :实时通信技术对比
网络·websocket·网络协议·http·信息与通信
“αβ”9 小时前
MySQL表的操作
linux·网络·数据库·c++·网络协议·mysql·https
十五年专注C++开发9 小时前
Asio2: 一个基于 Boost.Asio 封装的高性能网络编程库
网络·c++·boost·asio·asio2