计算机网络-应用层(3)
一、FTP
文件传输协议 (File Transfer Protocol,FTP) 简称为“文传协 议”,用于在Internet上控制文件的双向传输。 FTP 客户上传文 件时,通过服务器20号端口建立的连接是建立在TCP 之上的数 据连接,通过服务器21号端口建立的连接是建立在TCP 之上的控制连接。
FTP 协议有两种工作方式:主动式 (PORT) 和被动式 (PASV)。
主动与被动是相对于服务器是否首先发起数据连接而言的。
(1)主动式 (PORT)
主动式 (PORT) 的连接过程:
1)当需要传输数据时,客户端从一个任意的非系统端口N(N≥1024) 连接到FTP 服务器的21号端口(控制连接端口)。
2)客户端开始监听端口N+1 并发送FTP 命令 “Port N+1”到FTP 服务器。
3)服务器会从20号数据端口向客户端指定的N+1 号端口发送连接请求并建立一条数据链路来传送数据。
(2)被动式 (PASV)
在被动方式FTP 中,命令连接和数据连接都由客户端发起,这样就可以解决从服务器到客户端的数据端口的入方向连接被客户端所在网络防火墙过滤掉的问题。
被动式 (PASV) 的连接过程:
1)当需要传输数据时,客户端从一个任意的非系统端口N(N≥1024) 连接到FTP 服务器的21号端口(控制连接端口)。
2)客户端发送PASV 命令,且服务器响应。
3)服务器开启一个任意的非系统端口Y(Y≥1024)。
4)客户端从端口 N+1 连接到FTP 服务器的Y号端口。
二、SNMP
(1)OSI定义的网络管理功能
OSI定义的网络管理功能有以下5大类。
(1)性能管理 (Performance Management)。
(2)配置管理 (Configuration Management)。
(3)故障管理 (Fault Management)。
(4)安全管理 (Security Management)。
(5)计费管理 (Accounting Management)。
(2)网络管理系统组成
网络管理系统由以下4个要素组成:
(1)管理站 (Network Manager)。
(2)代理 (Agent)。
(3)管理信息库 (Management Information Base,MIB)。
(4)网络管理协议。
(3)SNMP PDU
简单网络管理协议 (SNMP) 是在应用层上进行网络设备间通信的管理协议,可以进行网络状态监视、网络参数设定、网络流量统计与分析、发现网络故障等。 SNMP 基于UDP 协议,是一组标准,由SNMP 协议、管理信息库 (MIB) 和管理信息结构 (SMI) 组成。
SNMP 规定了5个重要的协议数据单元PDU, 也 称 为SNMP 报文。 SNMP 报文可以分为从管理站到代理的SNMP 报文和从代理到管理站的SNMP 报文。
从管理站到代理的SNMP报文 | 从代理到管理站的 SNMP报文 | |
从一个数据项取数据 | 把值存储到一个数据项 | |
Get-Request (从代理进程处提取一 个或多个数据项) | Set-Request (设置代理进程的一个 或多个数据项) | Get-Response (这个操作是代理进程 作为对Get-Request、 Get-Next-Request、 Set-Request的响应) |
Get-Next-Request (从代理进程处提取一 个或多个数据项的下一 个数据项) | Trap (代理进程主动发出的 报文,通知管理进程有 某些事件发生) |
SNMP 协议实体发送请求和应答报文的默认端口号是161,SNMP 代理发送陷阱报文 (Trap) 的默认端口号是162。目前SNMP 有SNMPv1、SNMPv2、SNMPv3 三个版本。
版本 | 特点 |
SNMPv1 | 易于实现、使用团体名认证(属于同一团体的管理站和被 管理站才能互相作用) |
SNMPv2 | 可以实现分布和集中两种方式的管理;增加管理站之间的 信息交换;改进管理信息机构(可以一次性取大量数据); 增加多协议支持;引入了信息模块的概念(模块有MIB模 块、MIB的依从性声明模块、代理能力说明模块) |
SNMPv3 | 模块化设计,提供安全的支持,基于用户的安全模型 |
(4) SNMPv3 安全分类
在SNMPv3 中共有两类安全威胁是一定要提供防护的:主要安全威胁和次要安全威胁。
1)主要安全威胁。
主要安全威胁有两种:修改信息和假冒。修改信息是指擅自修改SNMP 报文,篡改管理操作,伪造管理对象;假冒就是冒充用户标识。
2)次要安全威胁。
次要安全威胁有两种:修改报文流和消息泄露。修改报文流可能出现乱序、延长、重放的威胁;消息泄露则可能造成SNMP之间的信息被窃听。
另外有两种服务不被保护或者无法保护:拒绝服务和通信分析。
(5)SNMP 轮询监控
SNMP 采用轮询监控方式,管理者按一定时间间隔向代理获取 管理信息,并根据管理信息判断是否有异常事件发生。当管理对象发生紧急情况时,可以使用名为Trap信息的报文主动报告。
假定在SNMP 网络管理中,轮询周期为N, 单个设备轮询时间为T, 网络没有拥塞,则
支持的设备数X=轮询周期N / 单个设备轮询时间T;
例如,某局域网采用SNMP 进行网络管理,所有被管设备在每15分钟内轮询一次,网络没有明显拥塞,单个轮询时间为0.4s, 则该管理站最多可支持X=N/T=(15×60)÷0.4=2250 个设备。
(6)管理信息库
管理信息库 (Management Information Base)MIB 指定主机和路由器等被管设备需要保存的数据项和可以对这些数据项进行的操作。换句话说,就是只有在MIB 中的对象才能被SNMP 管理。目前使用的是MIB-2。
类别(标号) | 描述 |
system(1) | 主机、路由器操作系统 |
interface(2) | 网络接口信息 |
Address translation(3) | 地址转换(已经废弃多年) |
ip(4) | IP信息 |
icmp(5) | ICMP信息 |
tcp(6) | TCP信息 |
udp(7) | UDP信息 |
egp(8) | EGP信息 |
cmot(9) | CMOT信息(废弃多年) |
(6)管理信息结构
SMI定义了命名管理对象和定义对象类型(包括范围和长度)的通用规则,以及把对象和对象的值进行编码的规则。 SMI的功能:命名被管理对象、存储被管对象的数据类型、编码管理数据。所有被管对象必须在对象命名树上,如图6-10所示为对象命名树的一部分。图中节点IP下名为ipInReceives的MIB 变量名字全称为iso.org.dod. internet.mgmt.mib.ip. iplnReceives, 对应数值为1.3.6.1.2.1.4.3。
三、Telnet
TCP/IP终端仿真协议 (TCP/IP Terminal Emulation Protocol,Telnet) 是一种基于TCP 的虚拟终端通讯协议,端口号为23。
四、代理服务器
代理服务器 (Proxy Server) 处于客户端和需要访问网络之间,客户向网络发送信息和接收信息均通过代理服务器转发而实现。
五、SSH
安全外壳协议 (Secure Shell,SSH) 是目前较可靠、专为远程登录会话和其他网络服务提供安全性的协议。
六、VolP
VolP(Voice overInternet Protocol) 就是将模拟声音信号数字化,通过数据报在IP数据网络上做实时传递。
相关文章:
计算机网络-应用层(3)
一、FTP 文件传输协议 (File Transfer Protocol,FTP) 简称为“文传协 议”,用于在Internet上控制文件的双向传输。 FTP 客户上传文 件时,通过服务器20号端口建立的连接是建立在TCP 之上的数 据连接,通过服务器21号端口建立的连接是建立在TCP 之上的控制连…...

虎去兔来(C++)
系列文章目录 进阶的卡莎C++_睡觉觉觉得的博客-CSDN博客数1的个数_睡觉觉觉得的博客-CSDN博客双精度浮点数的输入输出_睡觉觉觉得的博客-CSDN博客足球联赛积分_睡觉觉觉得的博客-CSDN博客大减价(一级)_睡觉觉觉得的博客-CSDN博客小写字母的判断_睡觉觉觉得的博客-CSDN博客纸币(…...
docker基础镜像定制
docker基础镜像定制 1 简言2.准备软件源文件sources.list3.制作基础镜像3.1 编写Dockerfile命令3.2 制作基础镜像k8sbase1.03.3 测试基础镜像1 简言 官方基础镜像一般自带的linux命令是比较少,tcpdump、telnet登等命令是没有的,这时,定制一套适合自己的基础镜像是必要的,在…...

解决git action定时任务执行失败的方法
为了测试git action定时任务是否有效,你可能选择一个最近的时间测试, 但是发现怎么也触发不了,是不是觉得很苦恼。但是同样的时间,在第二天的定时任务又能成功运行。 这是什么原因? 原因就在上图,git act…...

Node编写重置用户密码接口
目录 前言 定义路由和处理函数 验证表单数据 实现重置密码功能 前言 接前面文章,本文介绍如何编写重置用户密码接口 定义路由和处理函数 路由 // 重置密码的路由 router.post(/updatepwd, userinfo_handler.updatePassword) 处理函数 exports.updatePasswo…...

Day13力扣打卡
打卡记录 奖励最顶尖的 k 名学生(哈希表排序) 用哈希表对所有的positive与negative词条进行映射,然后遍历求解。tip:常用的分割字符串的操作:1.stringstream配合getline() [格式buf, string, char]2.string.find()[find未找到目标会返回npos…...
独立开发者知识贴
有一个github仓库,叫做独立开发变现周刊,很不错,作者能从21年能坚持更新到现在,我很佩服。 它里边有很多独立开发者成功的作品案例,我对这些很感兴趣。 在阅读时,我会问自己以下几个问题: 解…...

软考系列(系统架构师)- 2009年系统架构师软考案例分析考点
试题一 软件架构设计 【问题1】(9分) 软件质量属性是影响软件架构设计的重要因素。请用200字以内的文字列举六种不同的软件质量属性名称并解释其含义。 常见的软件质量属性有多种,例如性能(Performance)、可用性(Ava…...

C语言每日一题(21)删除排序数组中的重复项
力扣 26.删除排序数组中的重复项 题目描述 给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考…...

如何快速解决d3dcompiler_43.dll缺失问题?五种方法快速解决
在计算机使用过程中,我们常常会遇到一些错误提示,其中之一就是“D3DCompiler_43.dll缺失”。这个错误通常会导致游戏、应用程序或系统无法正常运行。为了解决这个问题,我们需要采取一些修复方案来恢复缺失的文件。本文将介绍五个修复D3DCompi…...
mongodb数据迁移的方法
这个方法只能将数据从一个mongo数据库转移到另一个mongo数据库 这个命令可以备份mongo数据(mongo数据库中的数据备份转换为文件) mongodump --host HOST --port PORT --username USERNAME --password PASSWORD --db DB -c COLLECTION --out OUT这个命令…...

Spring MVC 中文文档
1. Spring Web MVC Spring Web MVC是建立在Servlet API上的原始Web框架,从一开始就包含在Spring框架中。正式名称 “Spring Web MVC” 来自其源模块的名称( spring-webmvc),但它更常被称为 “Spring MVC”。 与Spring Web MVC并…...

RedissonCach的源码流程
上: https://blog.csdn.net/Michelle_Zhong/article/details/126384566 中: https://blog.csdn.net/michelle_zhong/category_11874153.html 下: https://blog.csdn.net/Michelle_Zhong/article/details/126391915?ops_request_misc%257B%…...

spring-基于注解管理bean
基于注解管理bean 一、标记与扫描1、引入依赖2、创建spring配置文件3、创建组件4、扫描组件4.1、基本扫描:4.2、指定要排除的组件4.3、仅扫描指定组件 二、基于注解的自动装配 一、标记与扫描 1、引入依赖 <dependencies> <!-- 基于Maven依赖传递性&…...

数据挖掘(7.1)--数据仓库
目录 引言 一、数据库 1.简介 2.数据库管理系统(DBMS) 二、数据仓库 数据仓库特征 数据仓库作用 数据仓库和DBMS对比 分离数据仓库和数据库 引言 数据仓库的历史可以追溯到20世纪60年代,当时计算机领域的主要工作是创建运行在主文件上的单个应用࿰…...

Vue3问题:如何实现密码加密登录?前后端!
前端功能问题系列文章,点击上方合集↑ 序言 大家好,我是大澈! 本文约3400字,整篇阅读大约需要6分钟。 本文主要内容分三部分,第一部分是需求分析,第二部分是实现步骤,第三部分是问题详解。 …...

【爬虫】python打包可执行程序(ui界面制作完成后)
1.安装pyinstaller pip install pyinstaller可能出现连接超时安装不上的情况,可以切换源进行下载 pip install -i http://pypi.douban.com/simple/ pyinstaller2.打包程序 pyinstaller xxxxx.py --noconsole --hidden-import PySide6.QtXml...

取Dataset子集(pytorch)
取Dataset子集--pytorch 1. why2. how3. example 1. why 我们在调试深度学习代码时,常常会遇到数据集太大,导致调试浪费时间的情况,这种情况下,将数据集中的一个子集拿出来用于调试代码,调试成功在用完整的数据集运行…...
如何选择消息队列
作为一个程序员,我们必须要认识到,软件工程中是不存在”银弹“的。<!--more--> 在消息队列的选型问题上,也是同样的道理。并不存在哪个消息队列就是最好的,能够解决所有的问题。常用的消息队列有好几个,每一种都…...
读取mysql数据库表结构生成接口文档
1、引入依赖 <!-- 导出word --><dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId><version>2.3.30</version></dependency><!-- https://mvnrepository.com/artifact/e-iceblue/s…...

C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

Day131 | 灵神 | 回溯算法 | 子集型 子集
Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...

深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...

如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

R语言速释制剂QBD解决方案之三
本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...

PHP 8.5 即将发布:管道操作符、强力调试
前不久,PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5!作为 PHP 语言的又一次重要迭代,PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是,借助强大的本地开发环境 ServBay&am…...