三、网络服务协议
目录
一、FTP:文件传输协议
二、Telnet:远程登录协议
三、AAA认证
四、DHCP
五、DNS
六、PPP协议
七、ISIS协议
一、FTP:文件传输协议
C/S架构,现多用于企业内部的资料共享和网络设备的文件传输,企业内部搭建一个FTP服务器(文件服务器),基于TCP)
双通道(服务端主动模式)
1)控制通道:客户端向服务器发起TCP三次握手(服务器端口号21,客户端口号随机)
客户端向服务器发起的各项控制指令(输入账号密码、打开文件、发起传输请求等)
2)数据通道:客户端通过控制通道告知服务器自己开放的端口号(P,随机),由服务器主动发起TCP三次握手(服务器端口号20,客户端口号P)
传输文件
双通道(服务端被动模式)
1)控制通道:客户端向服务器发起TCP三次握手(服务器端口号21,客户端口号随机)
客户端向服务器发起的各项控制指令(输入账号密码、打开文件、发起传输请求等)
2)数据通道:客户端发送被动命令,服务器根据该命令告知客户端自己开放的端口号(N,随机),由客户端主动发起TCP三次握手(服务器端口号N,客户端口号随机)
传输文件
客户端配置:
ftp 12.1.1.2(服务器ip地址)
输入账号密码(huawei和huawei@123)
##登陆到服务器上查看ftp服务器上的文件夹
dir
##从ftp服务器获取文件
get r2.zip
##发送文件
put r2.zipftp服务器配置:
##打开ftp服务
ftp server enable
##设置ftp默认工作目录
set default ftp-directory flash:
aaa##设置账号huawei密码huawei@123,cipher:本地加密local-user huawei password cipher huawei@123##设置权限,ftp需要3级及以上,15级最高local-user huawei privilege level 15 ##可以访问的文件夹:ftp目录local-user huawei ftp-directory flash:##可以访问的服务local-user huawei service-type ftpsave

二、Telnet:远程登录协议
基于TCP,无需专用线缆直连设备,只要ip可达且设备TCP 23端口能通信即可。
C/S架构
远程登录协议:
- SSH:加密的;
- Telnet:明文的
设备登录两种方式:
- console登录(连接配置线登录)
- 虚拟用户界面(远程登录),同时多个用户登录
服务端配置:
##打开telnet 服务
telnet server enable
##vty:虚拟接口,设置vty线路0-4,同时支持5个用户登录
user-interface vty 0 4##允许登陆的协议protocol inbound telnet(ssh/all)##设置登录认证方式为口令认证authentication-mode password ##设置登录用户级别,默认为0不能进入系统视图user privilege level 3##10分钟0秒不操作退出账号,0 0为永不退出idle-timeout 10 0##修改认证口令set authentication-mode password cipher huawei@123客户端登录:
telnet 12.1.1.2(服务器IP地址)

三、AAA认证
AAA (Authentication, Authorization, and Accounting):认证、授权、计费

AAA常见网络架构中包括用户、NAS(Network Access Server)、AAA服务器(AAA Server)
NAS一般是网关设备(路由器或交换机)
两组C/S
- 用户为客户端,NAS为服务端
- NAS为AAA客户端,AAA服务器为AAA服务端

- NAS负责集中收集和管理用户的访问请求。
- 在NAS上会创建多个域来管理用户。不同的域可以关联不同的AAA方案。AAA方案包含认证方案,授权方案,计费方案。
- 当收到用户接入网络的请求时,NAS会根据用户名来判断用户所在的域,根据该域对应的AAA方案对用户进行管控。
AAA支持的认证方式有:不认证,本地认证,远端认证。

远端认证:需要发送至远端AAA服务器认证
本地认证:将用户名密码配置在NAS上认证,类似上述的FTP服务
AAA支持的授权方式有:不授权,本地授权,远端授权。
授权信息包括:所属用户组、所属VLAN、ACL编号等。
AAA支持的计费方式有:不计费,远端授权。
AAA实现的协议
常用radius协议

aaa##设置账号huawei密码huawei@123,cipher:本地加密local-user huawei password cipher huawei@123##设置权限,ftp需要3级及以上,15级最高local-user huawei privilege level 15 ##可以访问的服务local-user huawei service-type telnetuser-interface vty 0 4##设置登录认证方式为aaa认证authentication-mode aaa##设置登录用户级别,默认为0不能进入系统视图user privilege level 3
aaa##用户名为123的用户在名为hcia的域中,hica域中的用户都按照hcip的方式认证,hcip的认证方式为radius认证(远端认证)authentication-scheme hcipauthentication-mode radius##分域,同一域内的账号认证授权计费方式相同domain hciaauthentication-scheme hcip##添加本地用户local-user 123@hica password cipher 123
四、DHCP
动态主机配置协议,C/S架构,主机无需配置

统一管理:避免冲突
地址租期:释放地址
工作原理(DHCP与主机工作在同广播域)
主机开机后会发送广播报文(源0.0.0.0,目的255.255.255.255)寻找DHCP服务器,服务器回单播报文分配ip地址,在这个过程中,因广播域中可能有n个DHCP服务器,所以就给主机分配n个ip地址,客户端按照先到先得原则使用第一个到达的,然后客户端再次广播报文告知各服务器我使用的ip地址,其他n-1个地址由服务器回收,该ip地址服务器单播报文确认主机可以是应该ip地址。
租期更新
如果在50%租期时未得到原服务器回应,则在87.5%租期广播发起DHCP请求,重新获取ip

DHCP enable
int g0/0/0ip add 192.168.1.1 24##产生一个与本接口同网段的地址池且本接口作为该网段主机的网关dhcp select interface##100-199会保留下来,不会分配出去dhcp sever excluded-ip-address 192.168.1.100 192.168.1.199##租期2天0时0分dhcp sever day 2 hour 0 minute 0##域名解析服务器dhcp sever dns-list 8.8.8.8
工作原理(DHCP与主机工作在不同广播域)

依靠中继(dhcp relay):客户端—中继—服务端,客户端发广播到中继,中继单播到服务端
如何广播变单播:在客户端发给中继的广播报文(源0.0.0.0,目的255.255.255.255)外封装一个新ip头部(源192.168.20.1,目的23.1.1.3)变为单播报文
单臂路由,首先把路由做通(有去有回)R2
##在能收到某ip地址段的网关处配置
int g0/0/0.20dot1q termination vid 20ip add 192.168.20.1 24arp broadcast enable##将该网关接口选择为dhcp中继dhcp select relay##将其中继到服务器23.1.1.3dhcp relay sever-ip 23.1.1.3R3
##全局地址池
ip-pool vlan20ip add 192.168.20.0 24GATEWAY-list 192.168.20.1lease day 1dns-list 8.8.8.8excluded-ip-address 192.168.20.10 192.168.20.20
int g0/0/0ip add 23.1.1.3 24##选择全局地址池而非接口地址池dhcp select global

五、DNS
域名解析系统
查询方式
- 递归查询:主机向DNS1发请求,DNS1没有,DNS1向DNS2发请求,以此类推
- 迭代查询:主机向DNS1发请求,DNS1没有并返回DNS2的ip,主机向DNS2发请求,以此类推

六、PPP协议
ppp,二层协议,点对点,用路由器和路由器之间的串行接口(serial),二层上没有地址,串行线交换机用不了,路由器专用。
与串行线对应的是以太网(采用mac,多路访问)
普通以太网路由器只要连接即可通信,PPP协议提供了安全认证协议,认证通过后才可以通信。
PPP链路建立需要经过链路层协商、认证协商和网络层协商三个阶段
- 链路层协商:通过LCP报文进行链路参数协商,建立链路层连接
- 认证协商(可选):通过链路建立阶段协商的认证方式进行链路认证
- 网络层协商:通过NCP协商来选择和配置一个网络层协议进行网络层参数协商,协商IP地址
PPPoE(以太网承载PPP协议)
适用家庭宽带:PPP在接入之前二层链路就进行了验证,但是家庭不适合用串行线,因此有了PPPoE
PPPoE集中了PPP和Ethernet两个技术的优点。既有以太网的组网灵活优势,又可以利用PPP协议实现认证、计费等功能。 

七、ISIS协议
相对于OSPF,ISIS协议具有的特点
- 报文的结构简单,邻居之间信息交互的效率较高,对网络资源占用较少
- ISIS与OSPF都是链路状态路由协议,同样采用SPF算法计算路由
- 基于数据链路层工作,不依赖IP地址进行通信
CLNS(无连接网络服务):无需同时在线
is-is(中间系统-中间系统,路由器-路由器)
支持CLNP和ip网络
采用数据链路层封装,不封装网络层
基于链路状态的路由协议
LSP(LSPDU,链路状态协议数据单元)2
ospf
只支持ip网络
采用ip报文封装
CLNP网络中的NSAP地址(网络服务访问点)类似于ip网络中的ip地址,也分为网络位和主机位。
- 网络位(IDP,初始域部分),AFI标识哪个机构分配的地址,区分公网(非49开头)还是私网(49开头),现在网络的都是私网地址了;IDI标识区域。
- 主机位(DSP,具体域部分),system ID区分主机(6字节48比特,类似于ospf的routerid),sel标识服务类型(类似协议号,当下无意义)。
isis的NSAP仅剩在用的特殊情况:
NET(网络实体名称),将sei置为00,表示没有上层协议,示例:
49.0001.0000.0000.0001.00
区域ID 系统ID(16进制) SEL
区域划分:
isis以设备为单位进行划分
区域不同也可建立邻居关系(不用区域L2路由器之间)
有骨干,跨区域连续联合组成的
isis路由器分类
level1:只同步本区域的LSP,没有其他区域的LSP,也就没有路由,所以配默认路由与其他路由器通信(减轻计算压力和时间)
level2:跨区域连接,连续的L2路由器构建出一个骨干区域
即是level1又是level2的,称为level1-2
level1-2上有本区域的LSDB-L1和相邻区域的LSDB-L2(本区域和相邻区域的L2),此外level1-2还会通过LSDB-L1获取的路由条目信息,以路由的形式放到LSDB-L2中,所以相邻区域里的L2路由器知道该区域的路由。
可以起邻居关系的路由器:同区域L1之间,L2之间,L1和L1-2,L2和L1-2;不用区域L1-2和L2,L1-2和L1-2。
ISIS支持MA网络和P2P网络。
所有接口开销默认为10。
所有的邻居都是邻接。
四中报文
IIH(类似hello报文)
LSP(类似LSA)
CSNP(类似DD,但CSNP是一次性发完)
PSNP(请求报文)
TLV框架:类型、长度、值
邻居状态
down:未收到邻居
int:收到邻居
up:收到的邻居中有我
DIS,指定路由器,用来创建和更新伪节点,负责发送CSNP,类似DR,作用也类似DR。P2P网络中不选DIS。可以抢占。DIS伪节点的NET是实体路由器的系统ID+SEI(01、02、03顺序使用)。
相关文章:
三、网络服务协议
目录 一、FTP:文件传输协议 二、Telnet:远程登录协议 三、AAA认证 四、DHCP 五、DNS 六、PPP协议 七、ISIS协议 一、FTP:文件传输协议 C/S架构,现多用于企业内部的资料共享和网络设备的文件传输,企业内部搭建一…...
C++初学者指南第一步---1. C++开发环境设置
C初学者指南第一步—1. C开发环境设置 目录 C初学者指南第一步---1. C开发环境设置1.1 工具1.1.1 代码编辑器和IDE1.1.2 Windows1.1.3 命令行界面 1.2 编译器1.2.1 gcc/g (支持Linux/Windows/MacOSX)1.2.2 clang/clang (支持Linux/Windows/MacOS)1.2.3 Microsoft Visual Studio…...
二维数组与指针【C语言】
二维数组与指针 一维数组一维数组与指针二维数组二维数组与指针总结补充判断以下方式是否正确打印二维数组一维数组 int arr[] = {11, 22, 33, 44};arr:首地址(第一个元素的地址) 一维数组与指针 int arr[] = {11, 22, 33, 44};因为,arr表示的是首地址,等价于 int* p =…...
解决linux下安装apex库报错:ModuleNotFoundError: No module named ‘packaging‘
使用如下命令安装apex: git clone https://github.com/NVIDIA/apex cd apex pip install -v --disable-pip-version-check --no-cache-dir --global-option"--cpp_ext" --global-option"--cuda_ext" ./ 报错: Running command py…...
React基础教程(07):条件渲染
1 条件渲染 使用条件渲染,结合TodoList案例,进行完善,实现以下功能: 当列表中的数据为空的时候,现实提示信息暂无待办事项当列表中存在数据的时候,提示信息消失 这里介绍三种实现方式。 注意这里的Empty是…...
回归预测 | Matlab实现NGO-HKELM北方苍鹰算法优化混合核极限学习机多变量回归预测
回归预测 | Matlab实现NGO-HKELM北方苍鹰算法优化混合核极限学习机多变量回归预测 目录 回归预测 | Matlab实现NGO-HKELM北方苍鹰算法优化混合核极限学习机多变量回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现NGO-HKELM北方苍鹰算法优化混合核极限…...
操作系统——信号
将信号分为以上四个阶段 1.信号注册:是针对信号处理方式的规定,进程收到信号时有三种处理方式:默认动作,忽略,自定义动作。如果不是自定义动作,这一步可以忽略。这个步骤要使用到signal/sigaction接口 2.…...
力扣1482.制作m束花所需的最少时间
力扣1482.制作m束花所需的最少时间 二分答案 check的时候 用一个bool数组判断是否开花找连续的k朵花 const int N 1e510;int st[N];class Solution {public:int minDays(vector<int>& bloomDay, int m, int k) {int n bloomDay.size();if(n < (long long)m*…...
解决 Linux 和 Java 1.8 中上传中文名称图片报错问题
在 Linux 系统和 Java 1.8 中,当尝试上传含有中文名称的图片时,可能会遇到以下错误提示: Caused by: java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: /home/uploadPath/2024/06/12/扣子蝴蝶…...
cocos开发的时候 wx.onShow在vscode里面显示红色
这个函数是在微信小游戏平台才会用到。 cocos识别不到wx这个变量。 可以改成下面的写法。 只要在变量前面加一个globalThis.就能识别这个变量了。也不报错了。 搞死强迫症了。orz 欢迎大家来玩我的微信小游戏。多多提意见啊。...
使用 PNPM 从零搭建 Monorepo,测试组件并发布
1 目标 通过 PNPM 创建一个 monorepo(多个项目在一个代码仓库)项目,形成一个通用的仓库模板。 这里以在该 monorepo 项目中搭建 web components 类型的组件库为例,介绍从仓库搭建、组件测试到组件发布的整个流程。 这个仓库既可…...
Oracle 19C 数据库表被误删除的模拟恢复
Oracle 19C 数据库表被误删除的模拟恢复操作 1、模拟创建表用于恢复测试 sqlplus zzh/zzh SQL> create table obj_tb tablespace users as select * from dba_objects; Table created. SQL> select count(*) from obj_tb; COUNT(*) ---------- 72373 2、记录当前…...
【CICID】GitHub-Actions语法
[TOC] 【CICID】GitHub-Actions语法 1 场景 当我们开发过程中,经常需要提交代码,打包,部署新代码到对应的环境,整个过程都是人工手动操作,占据开发人员大量时间,并且很繁琐容易出错。所以需要借助一些…...
Ionic 创建 APP
Ionic 创建 APP Ionic 是一个强大的开源框架,用于构建高性能、高质量的移动和网页应用程序。它结合了 Angular、React 或 Vue 的强大功能,以及 Capacitor 或 Cordova 的原生功能,使得开发者可以轻松地创建跨平台的应用程序。本篇文章将指导您如何使用 Ionic 创建一个基本的…...
【数学代码】幂
Hello!大家好,我是学霸小羊,今天来讲讲幂。 求几个相同因数的积的运算,叫做乘方,乘方的结果叫做幂。 a^n,读作 “ a的n次方 ” 或 “ a的n次方幂”,a叫做底数,n叫做指数。 对于底数、指数和幂…...
os.system() 函数
os.system() 是 Python 标准库 os 模块中的一个函数,用于在子终端中运行系统命令。它可以在 Python 脚本中调用外部命令或程序。具体来说,它通过执行命令字符串并返回执行状态来实现这一点。下面是对 os.system() 函数的详细解释: import os…...
Spring Boot中的RESTful API详细介绍及使用
在Spring Boot中,RESTful API的实现通过控制器类中的方法和特定的注解来完成。每个注解对应不同的HTTP请求方法,并通过处理请求参数和返回响应来实现不同的操作。 下面将详细解释RESTful API中的各个方面,包括GetMapping, PostMapping, PutMa…...
nlp学习笔记
目录 很多入门例子 bert chinese 很多入门例子 https://github.com/lansinuote/Huggingface_Toturials bert chinese import torch import torch.nn as nn from transformers import AutoTokenizer, AutoModel, BertModel, TFBertModel, BertTokenizer# youpath = D:/bert-…...
使用python获取内存信息
#!/usr/bin/python # -*- coding:utf-8 -*- psutil模块是一个跨平台的获取进程和系统应用情况(CPU,内存,磁盘,网络,传感器)的库。 该模块用于系统监控、限制进程资源和运行进程的管理等方面。 内存信息&am…...
外包公司泛滥,这些常识你应该提前知道?
今年大环境确实很不好 很多985,211的应届生都在网上大吐苦水,很多大龄离职大厂的技术人也好,业务人也好,都纷纷转向短视频平台做起了自媒体。而找工作的人普遍发现,某最火的招聘平台几乎都被外包公司刷屏了。大大小小的外包公司如…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...
聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...
Map相关知识
数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...
七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...
MFC 抛体运动模拟:常见问题解决与界面美化
在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...
Golang——7、包与接口详解
包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...
华为OD最新机试真题-数组组成的最小数字-OD统一考试(B卷)
题目描述 给定一个整型数组,请从该数组中选择3个元素 组成最小数字并输出 (如果数组长度小于3,则选择数组中所有元素来组成最小数字)。 输入描述 行用半角逗号分割的字符串记录的整型数组,0<数组长度<= 100,0<整数的取值范围<= 10000。 输出描述 由3个元素组成…...
