大厂面试题-网络四元组

news2025/2/25 3:17:29

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1158955.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

WebDAV之π-Disk派盘 + 记得倒数日

推荐一款帮你记录一生中重要日子的倒计时App记得倒数日,帮您记录纪念日、生日、倒数日、正数日、传统节日、倒数拾光等,成为你生活小帮手,及时提醒你日子的到来,还支持连接葫芦儿派盘服务。 【记得倒数日特色】 1.一款实用的生活工具,记得日子致力于做优秀的倒数日。 2.结…

Python笔记——pyChram连接linux子系统,使用linux下的Python进行编译

Python笔记——pyChram连接linux子系统,使用linux下的Python进行编译 Linux子系统安装与配置安装前准备安装Linux子系统安装Python3.8配置pyCharm 最近要跑的实验里,python有个机器学习的库windows环境下是没有的,在linux环境下有。虚拟机又不…

C#编程中字符串公式的计算

在一个程序开发当中,有很多涉及到公式的定义与计算,在用户给定的文档中,公式采用字符串形式定义,包含了一些变量名和各种运算符号,程序需要先进行字符变量的值替换后再进行计算,取得结果后再进行后续的操作…

【EI会议征稿】第七届先进算法与控制工程国际学术会议(ICAACE 2024)

第七届先进算法与控制工程国际学术会议(ICAACE 2024) 2024 7th International Conference on Advanced Algorithms and Control Engineering 第七届先进算法与控制工程国际学术会议(ICAACE 2024)定于2024年1月26-28日在中国上海…

CPLEX获取模型的解池中的解方案

文章目录 1、前序2、解池中的解方案获取3、CPLEX求解模型的时间THE END 1、前序 \qquad CPLEX求解模型CAPI继续解读。最近在进行Bender decompostion的实验时,需要获取到CPLEX求解的所有的解方案信息,所以又头大翻了一通“gou pi不通”的CPLEX API官方文…

DDACO

算法 alternative set包括备用路径和禁忌表,roulette体现所占比例越大被选中概率越高的思想。在图2中,节点表示与图1中的边相同的路径,边表示邻接关系(AND关系) 所有的帕累托最优解构成帕累托最优解集 作者未提供代码…

数据通信——应用层(DHCP的原理与配置)

引言 假如我们的网络中有N台设备,它们都要设置IP地址,如果人工去一个个配置不仅不方便管理还很麻烦。因此我们用DHCP来自动分配地址。 一,系统的启动流程 不仅是计算机、很多网络设备的启动流程如下: 设备上电后,硬件…

Vue 插槽 组件插入不固定内容

定义好一个组件&#xff0c;如果想插入图片或视频这非常不好的控制应该显示什么&#xff0c;这个时候可以使用插槽插入自定义内容 默认插槽 <Login><template><h1>我是插入的内容</h1></template></Login >组件 <slot></slot>…

正则表达式续篇

位置锚定&#xff1a; ^:行首锚定&#xff0c;表示以什么为开头 例如&#xff1a; $:行尾锚定&#xff0c;表示以什么为结尾 例如&#xff1a; ^&#xff1a;匹配的是空行 例如&#xff1a; ^root$&#xff1a;匹配整行&#xff0c;而且整行只能有这一个字符串 实验&#x…

SpringBoot----自定义Start(自定义依赖)

一&#xff0c;为什么要定义Start 向阿里云OSS如果我们要引入的话很麻烦&#xff0c;所以我们可以自定义一些组件&#xff0c; 然后我们只需要在pom文件中引入对应的坐标就可以 二&#xff0c;怎么定义&#xff08;以阿里云OSS为例&#xff09; 1&#xff0c; 定义两个组件模块…

HarmonyOS数据管理与应用数据持久化(一)

一. 数据管理概述 功能介绍 数据管理为开发者提供数据存储、数据管理能力&#xff0c;比如联系人应用数据可以保存到数据库中&#xff0c;提供数据库的安全、可靠等管理机制。 数据存储&#xff1a;提供通用数据持久化能力&#xff0c;根据数据特点&#xff0c;分为用户首选项、…

AttributeError: partially initialized module ‘pandas‘ has no attribute ‘core‘

在使用jupyter notebook学习动手学深度学习时&#xff0c;出现以下错误&#xff1a; %matplotlib inline import math import torch from torch import nn from torch.nn import functional as F from d2l import torch as d2lbatch_size, num_steps 32, 35 train_iter, voca…

【MySQL数据库】 二

本文主要介绍了数据库操作的操作流程 , 以及数据库和数据表的基本操作 . 一.数据库操作工作流程 1.用户在客户端输入SQL 2.客户端把SQL通过网络发送给服务器 3.服务器会执行这个SQL&#xff0c;把结果返回给客户端 4.客户端收到结果显示到界面上 二.数据库的操作 1.创建数…

C语言实现输入一个表示星期几的数,然后输出相应的英文单词,要求使用指针数组实现

完整代码&#xff1a; // 输入一个表示星期几的数&#xff0c;然后输出相应的英文单词&#xff0c;要求使用指针数组实现 #include<stdio.h>//指针数组就是数组中每个元素都是指针 int main(){//初始化七个字符常量&#xff0c;代表星期几,const修饰表示这是字符串常量&…

java--方法重载

1.方法重载 一个类中&#xff0c;出现多个方法的名称相同&#xff0c;但是他们的形参列表是不同的&#xff0c;那么这些方法就称为方法重载了。 2.方法重载的注意事项 ①一个类中&#xff0c;只要一些方法的名称相同、形参列表不同&#xff0c;那么他们就是方法重载了&#…

深入大模型与ChatGPT

关注微信公众号掌握更多技术动态 --------------------------------------------------------------- 一、大模型原理 1.Transformer (1)求知之路&#xff1a;LLM 学到了什么知识 LLM 从海量自由文本中学习了大量知识&#xff0c;如果把这些知识做粗略分类的话&#xff0c;…

抖音协议最新版

主页信息、主页视频数据、发布作品、发布图文、验证可靠、验证点选、扫码登录协议、视频点赞、视频举报、视频详情解析(获赞、评论数、收藏数、无水印地址等)、视频评论、视频评论信息、视频评论点赞、用户关注、用户举报、用户资料、用户更改资料、用户粉丝和关注的用户详情、…

41 深度学习(五):图片增强|Transfer Learning|VGG|resnet50(fine-tune)|InceptionNet

文章目录 图片增强为什么要使用图片增强具体方式.flow_from_directory(directory)flow_from_dataframe 迁移学习&#xff08;Transfer Learning&#xff09;AlexNetVGGresnet50代码学习关键的源码分析 InceptionNet 图片增强 为什么要使用图片增强 数据增强是一种常用的神经网…

如何构建用于Skydel GNSS模拟仿真的SNMP代理方式?

使用Skydel API构建测试方案 凭借其现代、强大且直观的API&#xff0c;德思特Safran GNSS模拟引擎Skydel免费提供了Python、C#、C和Labview的开源客户端库&#xff0c;它具有600多条命令&#xff0c;并且有完善的文档与记录。 随着Skydel软件更新添加新功能&#xff0c;API得…

NI-9236 国产化10 kS/s/ch,350 Ω四分之一桥应变计,8通道C系列应变/桥输入模块

10 kS/s/ch&#xff0c;350 Ω四分之一桥应变计&#xff0c;8通道C系列应变/桥输入模块 NI‑9236可同步测量所有通道的动态应变&#xff0c;从而实现了高速同步测量。 该功能对于需要在特定时刻对多个通道进行比较的应用&#xff08;例如冲击测试&#xff09;非常重要。\n\nNI…