计算机网络知识普及之四元组

在涉及到TCP/UDP等IP类通信协议时,存在四元组概念

这里只是普及使用

先来一些前置知识,什么是IP协议?

IP协议全称为互联网协议,处于网络层中,主要作用是标识网络中的设备,每个设备的IP地址是唯一的。

在网络传输中,IP地址主要用于数据包的寻址。

目前IP协议主要有两个版本,IPv4和IPv6,这两个版本目前都在使用,他们的区别为前者只能代表2的32次方个IP,后者能代表2的128次方个IP。

IPv4示例:223.5.5.5

IPv6示例:2001:0db8:85a3:0000:0000:8a2e:0370:7334

什么是TCP协议

TCP协议全称为传输控制协议,它是面向连接的,处于传输层中,主要作用是规定网络传输过程中的一些传输规范、控制规范等。

什么是HTTP协议?HTTPS协议?

HTTP协议称之为超文本传输协议,处于应用层中,主要作用是规定网络传输中特定的一些数据规范,并且优化TCP的部分性能。

HTTPS可以简单理解为安全版本的HTTP。

这些协议之间的关系是什么

简单来说,IP协议负责找到数据传输的路径,TCP协议确保数据传输的可靠性,而HTTP和HTTPS协议则定义了数据的格式和如何在网络上请求和传输数据。HTTPS在HTTP的基础上增加了SSL/TLS层,提供了数据传输的安全性保护。

额外补充:什么是TCP三次握手

三次握手指的是TCP协议在与对方服务器建立连接时保障其连接可靠的手段,因为其建立连接时有三个动作,所以被称为三次握手。

在客户端与服务器建立连接时,只有当三次握手成功后,才会将连接设置为可以交换数据的状态。

这里要注意,三次握手的过程中本质上从网络层面来讲已经建立了连接,只是TCP协议为了确保可靠,在经过三个网络之间的动作后,才允许客户端与服务器之间进行数据的交互。

那么三次握手具体怎么操作的呢?

第一次握手:客户端向服务端发送一个报文,表示希望建立连接

第二次握手:服务端向客户端发送一个报文,表示确认建立连接

第三次握手:客户端向服务端发送一个报文,表示收到服务端的确认报文,此时连接正式建立。

这个过程不仅确保了双方的接收和发送能力都得到确认,还在握手过程中的报文里确认了双方的信息,所以在三次握手完成时,TCP协议里就认为该连接属于正常可交互数据的。在Linux中可以使用tcpdump来直观的查看三次握手过程。

四元组是什么?

进入正题,四元组的概念存在于所有使用IP协议并是面向连接的通信协议都有的特点。

假设目前有一个客户端访问服务端,我们都知道服务端需要监听一个端口,客户端需要通过服务端的IP和端口来找到提供服务的程序。

而四元组在TCP/UDP连接中,是用于对连接的标识,其标识了客户端、服务端的信息。

这些信息包括:

客户端IP、客户端Port、服务端IP、服务端Port。

用这些信息来标识当前连接,要注意,每一个连接都是唯一不会重复的。

使用工具类直观的感受到四元组的存在:打开Windows性能监视器

例如选中的向日葵客户端,它现在建立的一条连接中,标识了客户端IP为192.168.31.96,客户端端口为:49565,服务端IP为:122.246.12.46,服务端端口为443。

可能又有疑问?

为什么系统中客户端请求服务端也需要有端口号的存在?

这是因为在IP类通信协议中,网络传输时需要根据IP和端口号来定位相对应接收网络数据的程序,所以在我们要知道,在一个四元组中,可以很精确的确认来源程序和目的程序,且在整个网络环境中不会重复。

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

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

相关文章

【JVM排查问题】JProfiler性能分析工具连接远程服务器Docker容器中的Java服务

1、下载JProfiler https://www.ej-technologies.com/download/jprofiler/version_13 下载Windows版本以及Linux版本 Windows用于可视化、Linux用于在Docker容器中启动 2、将Linux版本的JProfiler上传到Docker容器中,宿主机cp命令到容器中 docker cp /home/data/s…

像学Excel 一样学 Pandas系列-创建数据分析维度

嗨,小伙伴们。又到喜闻乐见的Python 数据分析王牌库 Pandas 的学习时间。按照数据分析处理过程,这次轮到了新增维度的部分了。 老样子,我们先来回忆一下,一个完整数据分析的过程,包含哪些部分内容。 其中&#xff0c…

CAM350如何添加走线?

在CAM350中如何添加走线? 有时候由于PCB文件丢失或其它原因,只有GERBER文件,这时候LAYOUT工程师就只能使用CAM350在GERBER里面修改。 那在CAM350里面如何添加走线呢? 操作方法如下: 1、选择菜单栏Add 选择Line 2、在走线前,要先设置D码,就是走线的形状和宽度。必需选择…

【服务器部署】Jenkins配置前端工程自动化部署

作者介绍:本人笔名姑苏老陈,从事JAVA开发工作十多年了,带过刚毕业的实习生,也带过技术团队。最近有个朋友的表弟,马上要大学毕业了,想从事JAVA开发工作,但不知道从何处入手。于是,产…

BIOS中的设置虽然不少,但其实大部分时候只需进行一些简单的调整

序言 浏览BIOS可能会让人感到不知所措,因为要考虑的设置太多了。但是,你应该在BIOS中进行一些简单的调整,以提高系统的性能和稳定性。我们将向你展示其中的一些调整,并解释你可能想要使用它们的时间和原因。 用密码保护你的BIOS 虽然我们很小心地对用户帐户进行密码保护…

[译]Reactjs性能篇

英文有限,技术一般,海涵海涵,由于不是翻译出身,所以存在大量的瞎胡乱翻译的情况,信不过我的,请看原文~~ 原文地址:https://facebook.github.io/react/docs/advanced-per…

JavaSE阶段面试题(一)

目录 1.int a 1, int b 1, Integer c 1, Integer d 1;四个区别和联系,以及c和d是同一个吗? 2.为什么重写HashCode必须重写euqals,两者之间的关系? 3.创建对象的方式有哪些 4.重写和重载的区别 5.抽象类和接口…

day02-广播机制

广播机制 广播是numpy对不同形状的数组进行数值计算的方式,对数组的算术运算通常在相应的元素上进行 1.如果两个数组a和b形状相同,即满足a.shape b.shape,那么a*b的结果就是a与b数组对应位相乘。这要求维数相同且各维度的长度相同 a np.a…

七大排序算法的深入浅出(java篇)

🍁 个人主页:爱编程的Tom💫 本篇博文收录专栏:Java专栏👉 目前其它专栏:c系列小游戏 c语言系列--万物的开始_ 等等 🎉 欢迎 👍点赞✍评论⭐收藏💖三连支…

【高级篇】第9章 Elasticsearch 监控与故障排查

9.1 引言 在现代数据驱动的应用架构中,Elasticsearch不仅是海量数据索引和搜索的核心,其稳定性和性能直接影响到整个业务链路的健康度。因此,建立有效的监控体系和掌握故障排查技能是每一位Elasticsearch高级专家的必备能力。 9.2 监控工具:洞察与优化的利器 在Elastics…

乘用车副水箱浮球式液位计传感器

浮球式液位计概述 浮球式液位计是一种利用浮球在液体中浮动的原理来测量液位的设备,广泛应用于各种工业自动化控制系统中,如石油化工、水处理、食品饮料等行业。它通过浮球的上下运动来测量液位的高低,具有结构简单、安装方便、测量范围广、…

如何选择适合自己的虚拟化技术?

虚拟化技术已成为现代数据中心和云计算环境的核心组成部分。本文将帮助您了解如何选择适合自己需求的虚拟化技术,以实现更高的效率、资源利用率和灵活性。 理解虚拟化技术 首先,让我们了解虚拟化技术的基本概念。虚拟化允许将一个物理服务器划分为多个虚…

【Linux】多线程(一万六千字)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 文章目录 前言 线程的概念 线程的理解(Linux系统为例) 在Linux系统里如何保证让正文部分的代码可以并发的去跑呢? 为什么要有多进程呢? 为…

Osg中的智能指针和观察指针

目录 1 设计 内容 1 设计 osg中能够使用智能指针的对象都继承自引用计数类Referenced,观察指针(observer_ptr)与智能指针之间通过ObserverSet相互关联,其中obserserver_ptr直接依赖ObeserverSet。 Referenced不直接依赖ObserverSet类,但可…

pdf合并,pdf合并成一个pdf,pdf合并在线网页版

在处理pdf文件的过程中,有时我们需要将多个pdf文件合并成一个pdf文件。作为一名有着丰富计算机应用经验的技术博主,我将为您详细介绍如何将多个pdf文件合并成一个pdf文件。 pdf合并方法:使用, “轻云处理pdf官网” 打开 “轻云处…

【高中数学/基本不等式】已知:x,y皆大于1,且x+2y=4 求:1/(x-1)+1/(y-1)的最小值为?

【问题来源】 https://www.ixigua.com/7025123539728466469?logTag1c2fd2e305d60e6277ab 之第一题 【问题】 已知:x,y皆大于1,且x2y4 求:1/(x-1)1/(y-1)的最小值为? 【解答】 解: 若将(x2y)/41代入目标式&…

学习笔记(linux高级编程)11

进程间通信 》信号通信 应用:异步通信。 中断,, 1~64;32应用编程。 如何响应: Term Default action is to terminate the process. Ign Default action is to ignore the signal. wait Core Default action is …

番外篇 | 斯坦福提出即插即用二阶优化器Sophia :相比Adam实现2倍加速,显著节省大语言模型训练成本

前言:Hello大家好,我是小哥谈。大模型的预训练成本巨大,优化算法的改进可以加快模型的训练时间并减少训练开销。目前大模型的训练优化器基本上都采用Adam及其变体,并且Adam的应用已经有9个年头了,在模型优化方面相当于霸主的地位。但是能否够在优化器方面提高模型预训练效…

医院挂号系统:基于JSP和MySQL的现代化医疗预约平台

开头语:您好,我是专注于医疗系统开发的IT学长。如果您对医院挂号系统感兴趣,欢迎联系我。 开发语言:Java 数据库:MySQL 技术:JSP技术,B/S架构 工具:Eclipse,MyEclips…

中国企业消费管理,驶入“降本”大潮

在足够明晰的成本优化方案之上,能看到除了美团企业版的产品和需求理解能力,更本质的恰在于其最核心的原子能力——即强供应链底座。 这种兼备深度和广度的能力的最终呈现也就是如今美团为企业提供的多元、优质、满足需求的成本考校和计算方案。 作者…