网络模型及协议介绍
一.OSI七层模型
OSI Open System Interconnect 开放系统互连模型
以前不同厂家所生产的网络设备的标准是不同的,所以为了统一生产规范就制定了OSI这个生产模型。
作用:降低网络进行数据通信复杂度
这个模型的作用第一降低数据通信的复杂度,第二方便故障排查。
但凡是联网的设备其内部都有这七个车间,在数据传输的时候负责不同的事情。
应用层
作用:提供应用程序/软件,人与网络间的接口,提供数据
表示层
作用:负责数据格式的转换,比如压缩/解压缩,加密,解密
会话层
作用:建立会话,维持会话,断开会话,
会话:识别客户端的登录身份(是否登录)
比如登录邮箱是建立会话,在邮箱上进行对邮件的一系列操作是维持会话,退出邮箱是断开会话。
再比如说,一台服务器在同一时刻收到了n多条信息,怎么判断这个信息是不是已经登录的用户发送过来的信息,这就要依赖会话,
传输层
作用:用来在计算机之间提供端到端的通信的。识别不同的应用程序,
端口号1--65535
也就是说将某一端的数据传输到某一段的数据。
什么样的程序才会产生端口号,这个应用程序必须要能够联网。
windows查看端口的命令 > netstat -an

如上图所示,在windows中端口号为139和445的这两个端口,负责共享文件夹的功能,
网络层
典型设备:路由器
作用:提供网络到网络的通信,网络---网络
提供选路,根据IP地址进行选路,(选路的意思是两个机器之间通信的路径。)
数据链路层
典型设备:交换机
作用:提供点到点的通信,依靠MAC地址,物理地址
windows查看MAC地址:ipconfig/all
Linux查看MAC地址:ifconfig,ip addr show
机器上的每一块网卡(虚拟网卡,物理网卡)都有其自己的MAC地址,这个地址独一无二。
可以尝试将家里的联网设备的MAC地址都计入到路由器中,这样陌生设备就不能随便访问家里的网络了。
物理层
作用:提供物理链路
第几层的问题从下往上数。
二.TCP/IP五层模型
应用层,传输层,网络层,数据链路层,物理层
在五层模型中,会话层和表示层的功能被合并到了应用层。
三.典型协议
应用层:
1.http协议的作用是用来实现web数据传输的,明文传输。
2.https协议的作用也是实现web数据传输的,密文传输。
3.ftp协议文件传输协议,用来实现数据共享,
4.DNS协议用来实现IP地址,主机名的解析,
5.ntp协议网络时间协议,用来实现时间同步,

6.snmp协议(简单网络管理协议,实现监控)
7.ssh协议设备远程连接,密文传输,适用于连接服务器。
8.telnet协议设备远程连接,明文传输,适用于在局域网连接网络设备。
传输层:
1.TCP 传输控制协议
面向连接的协议,
主机间相互发送数据前,需要建立TCP连接,连接完毕后才会开始发送真实的数据,数据发送完毕后,主机间会断开连接。
TCP连接是双向的。

如上图所示,基于TCP协议开发的软件,都是在发送数据之前建立连接,然后在发送数据的操作完成后断开连接。
2.三次握手,建立连接。

a)主机A向主机B发送带有SYN标志的数据,表示请求建立连接。
b)主机B向主机A发送带有ACK,SYN标志的数据,表示同意建立连接,向A发送建立连接的请求。
c)主机A向主机B发送带有ACK标志的数据,表示同意与B建立连接。
TCP协议是一个可靠的协议。
原因:1.重传计时器:也就是说一个完整的数据包会被分成多份,先发送一份数据,如果在规定的时间内没有收到回复,就会重新发送这一份数据,直到收到对方接收到数据的回复时,才继续发送这个数据包的第二份数据。
原因:2.滑动窗口机制,流量控制,避免网络堵塞。
传送数据的双方,在建立连接的基础上,进行协商你这一次最多能传送多少数据,我一次最多能接收多少数据.然后经过协商,一次传送的数据大小取双方的中间值。
2.UDP 用户数据报协议
1.无连接的协议
2.不可靠的协议
查看TCP协议相关的端口

这个命令的主要用途是查看TCP协议相关的端口信息,
-
-a (all)
- 显示所有连接,包括监听中的和未完成三次握手的连接
-
-n (numeric)
- 以数字形式显示 IP 地址和端口号,而不是尝试解析为主机名
-
-t (TCP)
- 显示 TCP 协议的连接信息。
-
-p (program)
- 显示与每个连接关联的进程 ID 和名称。
查看UDP协议相关的端口

网络层
一.IP协议 inter
作用:能够根据IP地址将数据发送到那个网段。
二.ICMP协议
熟悉的ping 命令就是基于ICMP协议开发的一个命令。
互联网控制消息协议,测试网络的连通性。
ping工具
如果ping一个IP地址速度达到了几百上千毫秒,那么就代表网络堵塞。
ping工具的使用:
-
-c count
- 发送指定数量的回声请求报文。默认情况下,
ping命令会一直发送直到被终止。 - 例如:
ping -c 4 example.com将向example.com发送4个回声请求报文。
- 发送指定数量的回声请求报文。默认情况下,
-
-s size
- 设置发送的回声请求报文的数据部分大小(字节)。
- 例如:
ping -s 1000 example.com将发送1000字节数据的回声请求报文。
-c指定ping的次数
-s指定ping的数据包大小
三.IGMP协议
实现组播
四.ARP协议
地址解析协议
作用:根据IP地址获取MAC地址
四.数据封装

TCP/UDP报头中包含源端口号和目的端口号。
源端口号用来标识我这份数据是拿哪个软件发送出去的,源端口号>大于1024的随机端口,用来标识发送数据的软件。
如果A发送的数据访问的是B的web服务,那么目的端口号是80,如果A发送的数据访问的是B的w邮件服务,那么目的端口号是25,
数据在传输过程中IP地址只能决定这个数据传送到那个网段,但是要传送到具体的机器上,还是要取决于IP地址背后的MAC地址。
这串数据如果到物理层是网线,就会把这段数据转换成一段电信号,
如果是光纤,光信号,
如果是无线,无线电信号。



五.静态路由
路由器的作用主要是解决不同网段之间的通信需要用到路由器,
路由表是在配置好路由器的各个端口之后出现在路由器中的,路由表中有网段和路由器接口的对应关系。

在路由表中一条信息叫做一条路由,路由表中的路由有两个来源,第一个是直连路由,第二个是非直连路由,直连路由是就是这个路由器直接连接的网段信息,从配置好路由器的接口IP那一刻开始,直连路由的信息就自动出现在路由表上。
非直连路由:

如上图所示,需要手动往路由表中填写相关的信息,也就是没有相关的接口,使得网段与路由器直接相连,

如上图所示,机器A想要跟右边的路由器进行通信,不通过静态路由的方式去补写路由表中非直连路由的信息是不可以的。
如果机器A想要向路由器发送数据,需要将数据先发送到左边的路由器中的下一跳地址1中,然后经过路由器将数据发送到下一跳地址2中,然后将数据发送到192.168.3.0/24这个网段中,这样这个数据就可以被IP地址为192.168.3.2的这个路由器接收了,请注意这个数据的源IP地址是192.168.1.1,目的IP地址是192.168.3.2,但是关于数据的回复却是不能直接就回复,需要通过静态路由的方式将这个数据回复的目的IP地址网段填写到路由表中,


路由器不需要网关,在路由器中查看路由表实际上就是查网关的命令,就是route -n


如上图所示的echo重定向修改文件内容是临时的,等再次重启机器后,就需要重新修改这个文件中的内容,


相关文章:
网络模型及协议介绍
一.OSI七层模型 OSI Open System Interconnect 开放系统互连模型 以前不同厂家所生产的网络设备的标准是不同的,所以为了统一生产规范就制定了OSI这个生产模型。 作用:降低网络进行数据通信复杂度 这个模型的作用第一降低数据通信的复杂度ÿ…...
手撕HashMap源码
终于通过不屑努力,把源码中的重要部分全都看完了,每一行代码都看明白了,还写了注释 import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; import java.util.*; import java.util.function.Consumer; import java.ut…...
OceanBase block_file与log过大 的问题
一、说明 block_file 是存放sstable的数据文件,由datafile_disk_percentage 参数与datafile_size参数决定,两个参数同时配置,以datafile_size为主。 datafile_disk_percentage 默认值是90 datafile_size 默认值是0M到正无穷 因为block_file 的…...
【Focal Loss 本质】
Focal Loss 示例 Focal Loss公式: 在后面的例子中,我们假定 y 1 的样本中,有两个预测值分别为(0.8, 0.4)。显然,0.8 很容易分类,0.4 很难分类。 可以看出,Focal Loss 降低了容易分类(prt 0…...
端口安全老化细节
我们都知道port-security aging-time命令用来配置端口安全动态MAC地址的老化时间,但是后面还可以加上类型: [SW1-GigabitEthernet0/0/1]port-security aging-time 5 type absolute Absolute time 绝对老化 inactivity Inactivity time相对老化 …...
【C++】—— string 模拟实现
【C】—— string模拟实现 0 前言1 string的底层结构2 默认成员函数的实现2.1 构造函数2.1.1 无参构造2.1.2 带参构造2.1.2 合并 2.2 析构函数2.3 拷贝构造函数2.3.1 传统写法2.3.2 现代写法 2.3 赋值重载2.3.1 传统写法2.3.2 现代写法2.3.3 传统写法与现代写法的优劣 3 size、…...
详解TensorRT的C++高性能部署以及C++部署Yolo实践
详解TensorRT的C高性能部署 一. ONNX1. ONNX的定位2. ONNX模型格式3. ONNX代码使用实例 二、TensorRT1 引言 三、C部署Yolo模型实例 一. ONNX 1. ONNX的定位 ONNX是一种中间文件格式,用于解决部署的硬件与不同的训练框架特定的模型格式的兼容性问题。 ONNX本身其…...
手机如何切换网络IP地址:方法详解与操作指南
在当今的数字化时代,网络IP地址作为设备在网络中的唯一标识,扮演着至关重要的角色。对于手机用户而言,了解如何切换网络IP地址不仅有助于提升网络体验,还能在一定程度上保护个人隐私。本文将详细介绍手机切换网络IP地…...
南通网站建设手机版网页
随着移动互联网的迅猛发展,越来越多的人通过手机浏览网页,进行在线购物、信息查询和社交互动。因此,建立一个适合移动端访问的网站已成为企业和个人不可忽视的重要任务。在南通,网站建设手机版网页的需求逐渐增加,如何…...
macos系统内置php文件列表 系统自带php卸载方法
在macos系统中, 自带已经安装了php, 根据不同的macos版本php的版本号可能不同, 我们可以通过 which php 命令来查看mac自带的默认php安装路径, 不过注意这个只是php的执行文件路径. 系统自带php文件列表 一下就是macos默认安装的php文件列表. macos 10.15内置PHP文件列表配置…...
微信小程序认证和备案
小程序备案的流程一般包括以下步骤: 准备备案所需材料:通常需要提供营业执照、法人的身份证、两个手机号和一个邮箱等资料。 1 登录微信公众平台:作为第一次开发微信小程序的服务商,需要通过微信公众平台申请…...
C++复习day05
类和对象 1. 面向对象和面向过程的区别是什么?(开放性问题) 1. **抽象级别**:- **面向对象**:以对象(数据和方法的集合)为中心,强调的是数据和行为的封装。- **面向过程**…...
python数值误差
最近在用fenics框架跑有限元代码,其中有一个部分是把在矩阵里定义的初始值,赋值到有限元空间里,这就涉及到了初始矩阵和有限元空间坐标的转化,部分代码如下 for i in range(len(dof_coordinates)):# x, y dof_coordinates[i…...
基于FPGA的OV5640摄像头图像采集
1.OV5640简介 OV5640是OV(OmniVision)公司推出的一款CMOS图像传感器,实际感光阵列为:2592 x 1944(即500w像素),该传感器内部集成了图像出炉的电路,包括自动曝光控制(AEC…...
CDN ❀ Http协议标准缓存字段梳理
文章目录 1. 背景介绍2. 测试环境搭建3. 缓存字段3.1 Expires3.2 Cache-Control3.3 协商缓存 1. 背景介绍 Http协议标准有RFC定义好的请求和响应头部字段用于进行缓存设置,本文主要进行介绍缓存功能相关的头部字段及其使用方法。在使用CDN功能是,协议标…...
浅谈NODE的NPM命令和合约测试开发工具HARDHAT
$ npm install yarn -g # 将模块yarn全局安装 $ npm install moduleName # 安装模块到项目目录下 默认跟加参数 --save 一样 会在package文件的dependencies节点写入依赖。 $ npm install -g moduleName # -g 的意思是将模块安装到全局,具体安装到磁盘哪个位置&…...
k8s-pod 实战六 (如何在不同的部署环境中调整startupprobe的参数?)
在不同的部署环境中(如开发、测试、生产环境),你可能希望对 startupProbe 的参数进行调整,以适应不同的需求和条件。以下是几种常见的方法和实践: 方法一:使用 Kustomize 1. 目录结构 假设你的项目目录结构如下: my-app/ ├── base/ │ └── deployment.yaml …...
和服务端系统的通信
首先web网站 前端浏览器 和 后端系统 是通过HTTP协议进行通信的 同步请求&异步请求: 同步请求:可以从浏览器中直接获取的(HTML/CSS/JS这样的静态文件资源),这种获取请求的http称为同步请求 异步请求:js代码需要到服…...
python 实现perfect square完全平方数算法
python 实现perfect square完全平方数算法介绍 完全平方数(Perfect Square)是一个整数,它可以表示为某个整数的平方。例如,1,4,9,16,25,… 都是完全平方数,因为 1 1 2 , 4 2 2 , 9 3 2 11^2,42^2,93^2 112,422,93…...
【漏洞复现】某客圈子社区小程序审计(0day)
0x00 前言 █ 纸上得来终觉浅,绝知此事要躬行 █ Fofa:"/static/index/js/jweixin-1.2.0.js"该程序使用ThinkPHP 6.0.12作为框架,所以直接审计控制器即可.其Thinkphp版本较高,SQL注入不太可能,所以直接寻找其他洞. 0x01 前台任意文件读取+SSRF 在 /app/api/c…...
【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...
JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
Java毕业设计:WML信息查询与后端信息发布系统开发
JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发,实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构,服务器端使用Java Servlet处理请求,数据库采用MySQL存储信息࿰…...
基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...
