- 博客(124)
- 收藏
- 关注
原创 RIP技术
RIP协议简介RIP是一种距离矢量路由协议,使用基于跳数的度量值(使用跳数充当路径开销)RIP最大跳数16跳,适用小型网络,因为大于16跳的路由会认为是无效路由,如果在大型网络路由器很多,就会造成无法到达目的网段的结果RIP协议报文封装于UDP中,端口号520RIP有v1版本和v2版本v1:只传递路由网段的信息,不传递掩码,只支持特定网段子网划分v2:传递路由网段和掩码信息,支持变长子网划分网络RIP的路由学习是不可能靠,因为周边的路由器自己路由,并不知道实际状况,存在还是不存在,可
2022-08-29 16:52:13 874 1
原创 MSTP&VRRP协议
这是主路由器依旧会发送VRPP报文,报文中携带优先级的信息,备份路由器收到报文后,发现主路由器的优先级比自身的低,那么备份路由器就会替换主路由器成为新的主路由器并定期发送VRRP报文,并且原本的主路由器将不会再发送VRRP报文,新的主路由器也会发送。主路由器每隔一秒给备用路由发送VRRP报文,告诉自己还存活,当备用路由连续三个周期接收不到ARRP报文,即3秒,就会以为主路由器故障,那么备用路由器就会启动成为主路由器,并发送。,刷新下层交换机的mac地址表,刷新虚拟mac地址与端口的对应关系,...
2022-07-20 19:58:07 1256 1
原创 NAT技术
公司路由器外部接口G0/0/1是动态IP,要求内部网络10.1.1.0/24利用外部接口G0/0/1上网(访问Server1)。将内部地址10.1.1.11/24的80端口静态转换为公网地址200.1.1.11的80端口,以便被外网(Client1)访问。将内部地址10.1.1.12/24的21端口静态转换为公网地址200.1.1.11的21端口,以便被外网(Client1)访问。公司要求将内部网络10.1.1.0/24转换为一个公网地址200.1.1.10/28上网(访问Server1).........
2022-07-19 10:42:23 403
原创 NAT技术
网络地址转换,公网ip的数量是有限,而内网的ip(私有ip)是免费的可以随便使用,私有ip是不允许访问外网的即(公网ip),需要在内网的边缘路由,设置NAT包私有ip装换成公网ip,可以就可以实现上网了。...
2022-07-18 23:44:22 198
原创 TCP/IP之常用协议
ARP是网络层协议,在同一广播域内,将ip地址解析成MAC地址(免费arp)请求型无故arp使用场景dhcp服务器在给终端分发ip地址是会发送一个无故ARP请求,确定该ip地址是否已经存在,采用广播的方式发送,发送ip和目的ip都是dhcp服务的ip地址,目的mac地址为全0应答型无故arp。......
2022-07-14 21:11:06 1767 1
原创 ACL技术
对数据包进行识别过滤例如:要求192.168.1.192-255不能访问192.168.2.218-255那么可以设置 10 deny ip 192.168.1.192(源ip) 0.0.0.63(通配符) 192.168.2.218(目的ip) 0.0.0.37(通配符)怎么求通配符?192化为11000000,通配符取相反值 00111111 所以为63,通配符为32位,为0表示这位不能变,为1表示这位的可以变标准acl与扩展acl采用序号写法,不建议,因为对表中的规则进行修改需要重写
2022-07-13 23:32:56 367
原创 静态路由技术
指定ip报文发送的路径信息路由器(Router)是一种根据路由表负责寻径、转发的网络层设备,如果路由表中有去往目的ip的路径,则会转发,如果没有侧丢弃静态路由的路由表需要手动填入,直连路由则会自动获取路由信息为了提高可靠性,可以在路由器上连接两条链路,并给它们设置不同的优先级,正常情况下会启用优先级低的那条链路,当优先级的链路出来故障,就会自动启用第二条链路,提高了网络拓扑的可靠性这里设置10.0的优先级高于20.0网段,所以默认情况下利用10.0这条链路通讯,20.0的默认不启用配置步骤:(1)
2022-07-12 20:58:51 225
原创 RSTP协议(快速生成树协议)
RSTP是从STP发展而来,实现思想基本一致RSTP的标准版本为IEEE802.1wRSTP大大缩短了收敛时间,可以更快速的恢复网络连通性必须是点到点的链路把sw1的f0/1端口设为down状态,sw1可以马上切换根端口,sw1的f0/2端口变为根端口2. 边缘端口的快速收敛新路连成动后,P/A机制过程如下:swA为po,swB依次为p1,p2,p3,p4(左往右)1.p0和中1两个端口马上先成为指定端口,发送RST BPDU, (互相发送一个p置位为1的 BPDU)2.S2的p1收到RSTP
2022-07-09 01:23:12 3795
原创 STP(生成树协议)
在单核心网络中,单一链路可能存在较大的风险,为了高可靠性往往会设置备份链路,设置了备份链路就有可能出现二层环路(数据链路层)1.广播报文在二层网络洪泛,容易造成链路堵塞2.交换机的CPU被大量占用,正常报文不发正常发送3. 造成主机资源的浪费,大量CPU用来识别这些报文4. 冲击网关设备CPU,对网关ip地址的ARP请求,经过链路多次转发,造成网关的CPU压力过大容易崩溃因为环路,二层交换机发出源数据,其他端口同时会收到数据包,导致目MAC地址与端口的对应关系一直在发送改变主机反复收到数据报,开销大量
2022-07-07 17:18:55 258
原创 三层交换机
Destination host unreachable : 不能到达目标主机 ,因为没有设置vlan 直接进入了vlan查看端口是否开启: show ip interface brief ----->show ip int b查看交换机的路由表:show ip route开启三层交换机的路由模式,思科默认不启用路由功能:ip routing把三层交换机设为trunk接口:switchport trunk encapsulation dot1q(思科设备需要封装端口,锐捷设备可以直接设置trunk
2022-07-04 18:23:30 1616
原创 单臂路由学习
vlan隔离了二层广播域,不同vlan不同ip网段的设备不能实现通讯如果需要实现不同vlan直接的通讯,那么需要借助路由器,交换机和路由的集成-----三层交换机路由是指在路由器的一个接口上通过配置子接口(并不存在的物理接口)的方式,实现原来相互隔离的不同VLAN之间的互联互通。路由器的物理接口可以被划分成多个逻辑接口,这些被划分后的逻辑接口被形象的称为子接口。值得注意的是这些逻辑子接口不能被单独的开启或关闭,也就是说,当物理接口被开启或关闭时,所有的该接口的子接口也随之被开启或关闭使用规程,给路由设置每
2022-07-04 18:15:05 194
原创 VLAN通讯
虚拟局域网隔离二层广播域,严格的隔离了各个vlan之间的任意流量,不同vlan的用户不能相互通讯access接口 :只允许端口所属的vlan通过,仅接收和发送一个vlan的数据帧,一般用于连接用户设备trunk接口: 允许多个vlan通过,可以接收和发送多个vlan的数据帧,一般用于连接交换机思科: >为用户模式enable 进入特权模式 可以查看交换机的配置信息configure terminal 简写 conf t 进入全局配置模式可以给交换机配置vlan步骤: 1: 给交换设
2022-07-04 18:11:02 247
原创 DNS系统
DNS 的全称是 Domain Name System(域名系统,或者常称为域名解析系统)DNS是一种分布式网络目录服务,主要用于域名与IP地址的相互转换,目前大部分因特网服务都依赖DNS工作,如果DNS服务出现错误,就会导致无法连接Web站点,无法发送电子邮箱等情况,所以,DNS工作的过程可以简单描述为:域名地址经过DNS服务器解析后,得到对应的IP地址,通过该IP地址访问到服务器获取我们要访问的内容。当a电脑想与b电脑交互时,交换机会将收到a电脑的Mac地址称为源Mac地址,并在缓存中寻找b电脑的Ma
2022-07-04 18:05:55 532
原创 DHCP和(DHCP中继)
是一种能为网络中的主机提供TCP/IP配置的应用层协议,DHCP基于c/s模式,客户端能够自动从服务器获取IP以及其他参数,从而降低手动配置的出错率● 无需手动为客户端配置IP以及其他参数,简化客户端网络配置,降低维护成本● 所有IP地址以及其他相关参数由DHCP服务器统一管理,统一分配● 通过IP地址租期管理,提高IP地址的使用率● 通过DCHP中继,可以实现不同子网中的客户端与DHCP服务器的协议报文交互![在这里插入图片描述](https://img-blog.csdnimg.cn/38aa
2022-07-04 17:59:57 1904
原创 小程序实现全局数据共享
注意:MobX 相关的包安装完毕之后,记得删除 miniprogram_npm 目录后,重新构建 npm。在根目录下创建store文件夹,并创建store.js文件4.在页面中使用store在页面中使用store的数据在组件中使用store页面中使用...
2022-06-06 16:36:34 315
原创 小程序网络请求Promise化
微信小程序的宿主环境是微信,所以我们并不能使用ajax来发送请求,在小程序中的请求称为网络数据请求,并不存在ajax请求这种说话,小程序的网络请求是基于回调函数进行处理的,那么就会可能引起回调地狱的问题,可以借助第三方插件实现网络网络请求promise化第一步:初始化包管理环境第二步...
2022-06-06 15:25:45 265
原创 vue项目创建自定义指令处理img地址失效问题
在项目中遇见到一个这样的问题,图片来源私有云,后端可以返回了图片的src,但是src已经失效,所以图片不能显示,这个时候可以通过自定义指令解决,传入一个默认的图片来解决图片失效问题自定义指令:接下来在全局注册该指令1.在mian.js中引入使用 * as xxx 的意思是,该js文件中的所有对象都会被包裹在一个对象中,该对象为directives2.全局注册自定义执行,通过循环注册,就可以每次都书写重复代码可,如果后面还需要自定义指令,那么就往directives.js文件中添加即可在组件中使用该自
2022-06-03 00:52:32 617
原创 vue项目中生成二维码
1、第一个步 安装第三方插件npm i qrcodeqrcode的用法QrCode.toCanvas(dom, info)dom为一个canvas的dom对象,也就是一个canvas标签,info为转换成二维码的信息,可以是图片的url,获取是其他的字符串2、准备一个弹窗来展示二维码,并且主动控制弹层的显示与隐藏 <el-dialog :visible.sync="showQrcode" center width="30%" title="二维码"> <
2022-05-29 17:28:37 679
原创 vue项目实现excel表格导入到el-table表格
1.先安装第三方插件,该组件会帮我们解析excel文件 npm i xlsx封装一个组件,点击可以上传excel表格文件,并实现拖拽也可以上传<template> <div class="upload-excel"> <div class="btn-upload"> <el-button :loading="loading" size="mini" type="primary"
2022-05-29 17:06:10 2668
原创 基于element-ui封装上传图片到腾讯云Cos组件
组件需求上传图片到腾讯云Cos服务器可以显示传入的图片地址可以删除传入的图片地址可以上传图片到云服务器上传到腾讯云之后,可以返回图片地址,显示上传成功之后,可以回调成功函数需要使用借助一个插件,帮助我们上传图片资源到腾讯云Cosnpm i cos-js-sdk-v5 --save使用element的el-upload组件上传本地图片<template> <el-upload list-type="picture-card" :limit="1" action=
2022-05-29 16:27:44 3185 1
原创 element-ui树形控件(利用递归把后端数据转换成树形)
element的tree树形控件需要的是树形结构的数据,一个对象里面放入当前节点子节点,以数组的形式存放通过文档可以发现,树形控件需要通过data属性接收数据,数组里的对象的label属性为一级节点,如果需要在一级节点下设置二级节点,那么就是在对象里放入一个数组声明节点的值通过label查找,如果修改为 label:‘name’,那么节点的值就会通过name属性去查找,绑定给 :data 的数组里的对象就应该设置为 list: [ { name: "xxx",/
2022-05-27 19:09:02 5116
原创 element-ui 删除input框尾部默认图标和获取焦点边框高亮问题
我们引用element-ui的input框时,尾部默认会携带图标我们可以把它去除,利用f12审查元素发 该图标为一个标签 类名为 .el-input__validateIcon,把它设置为display:none 就可以去除了,直接给该标签设置发现不起效果,那么找到它的父级标签,增加权重的,这是设置在公共样式里面.el-form-item--feedback { .el-input__validateIcon { display: none; }}获取焦点时边框默认蓝色高亮输入
2022-05-20 17:56:24 3257
原创 移动端项目上传本地图片(cropper的用法)
场景: 项目中需要上传本地文件(图片、视频等)html提供了input标签可以上传文件< input type="file" />//这样页面中就会生成按钮,点击可以上传文件//但是一般不这样使用,因为原生的按钮不美观给input标签添加hideen属性,那么input标签就会隐藏起来 <input type="file" hidden ref="file" @change="onFileChange" />change事件,在选择本地文件并且确认的时候就会触发,
2022-05-14 20:08:02 443
原创 rovisional headers are shown Learn more 报错
可能原因1…跨域请求被浏览器拦截现在网站的静态资源都会存在专门的静态域名下面,和实际访问的域名可能不一致。这种情况基本发生在ajax请求,都是基于CORS来解决这个问题。2. 服务器未及时响应(超时)这种特定情况下才会出现,跟服务器关联不大。3. 请求被浏览器插件拦截4. 该数据直接采用了缓存,并没有发送请求只从缓存中获得的通信显示为“显示临时标题”(或“执行”),因为该文件是从缓存中获取的,并且未进行通信,所以并不会显示详细标头。如果上一个资源加载失败,可能导致从缓存加载的资源失败,即缓
2022-04-10 15:02:37 1909
原创 vue脚手架下载以及创建项目(保姆级)
Vue/cli的版本 vue/cli的版本 最新版本 默认使用的vue版本 v2 v2.9.3 2.5.11 v3 v3.4.1 v2.5.22 v4 v4.5.15 v2.6.11 v5 5.0.4 3.00 安装vue/cli(
2022-04-04 01:06:09 2907
转载 core-js/modules/es.error.cause.js 报错
This dependency was not found:core-js/modules/es.error.cause.js in ./node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js, ./src/directive/permission/hasPermi.js and 5 othersTo install it, you can run: npm install --save core-js/modules/es..
2022-04-01 13:33:02 5692 3
原创 vue(数据监听原理 表单数据收集)
Vue监视数据的原理:vue会监视data中所有层次的数据。如何监测对象中的数据?通过setter实现监视,且要在new Vue时就传入要监测的数据。(1).对象中后追加的属性,Vue默认不做响应式处理(2).如需给后添加的属性做响应式,请使用如下API:Vue.set(target,propertyName/index,value) 或vm.$set(target,propertyName/index,value)如何监测数组中的数据?通过包裹数组更新元素的方法实现,本质就是
2022-03-31 12:23:05 1222
原创 vue组件化(一)
什么是组件化所谓组件化,就是把页面拆分成多个组件,每个组件依赖的 CSS、JS、模板、图片等资源放在一起开发和维护。 因为组件是资源独立的,所以组件在系统内部可复用,组件和组件之间可以嵌套,如果项目比较复杂,可以极大简化代码量,并且对后期的需求变更和维护也更加友好组件的使用分成三个步骤:1.创建组件构造器2.注册组件3.使用组件1Vue.extend():调用Vue.extend()创建的是一个组件构造器。通常在创建组件构造器时,传入template代表我们自定义组件的模板。该模板就是
2022-03-27 23:52:10 1518
原创 js常用的高阶函数(filter map reduce)
filter 数组过滤器该函数的参数为一个函数,根据函数的返回的boolean值,确定是否将当前元素返回到新数组中如果返回true,则当前元素放入新数组中,否则将过滤掉let arr = [12,34,5,63,100,123]//n表示遍历数组中的每一个元素,每个元素都调用该回调函数 const arr2 = arr.filter((n)=>{ // 当元素小于100的时候,返回true 该元素的进入新的数组中 return n<100 })
2022-03-26 19:40:44 533
原创 axios学习笔记
什么是axios1.基本promise的异步ajax请求库2.浏览器端/node端都可以使用3.支持请求/响应拦截器4.支持请求取消5.请求/响应数据转换6.批量发送多个请求1.使用axios发送ajax请求1.需要先下载axios文件 或者添加在线地址发送get请求 不携带参数 //获取所有人的信息 get请求 不携带参数 btn1.onclick = ()=>{ //完整版 axios({
2022-03-20 23:50:37 486
原创 Promise学习笔记
Promise是什么?1.抽象表达:Promise是JS中进行异步编程的新方案(旧的是谁?)2.具体表达:(1)从语法上来说: Promise是一个构造函数(2)从功能上来说: Promise对象用来封装一个异步操作并可以获取其结果promise实例对象的状态改变1.pending变为fulfilled2.pending变为rejected说明: 只有这2种, 且一个promise对象只能改变一次,无论变为成功还是失败, 都会有一个结果数据, 成功的结果数据一般称为vlaue, 失败的结果
2022-03-19 14:37:34 222
原创 ajax学习笔记
什么是AJAXAJAX 全称为Asynchronous Javascript And XML,就是异步的 JS 和 XML。通过AJAX可以在浏览器中向服务器发送异步请求,最大的优势:页面无刷新获取数据。 AJAX不是新的编程语言,而是一种将现有的标准组合在一起使用的新方式AJAX的优点1.可以无需刷新页面而与服务器端进行通信。2.允许你根据用户事件来更新部分页面内容。AJAX的缺点1.没有浏览历史,不能回退;2.存在跨域问题;3.SEO不友好;ajax发送get请求(重点) &
2022-03-16 17:45:48 566
原创 express框架学习
提供了方便简洁的路由定义方式对获取HTTP请求参数进行了简化处理对模板引擎支持程度高,方便渲染动态HTML页面提供了中间件机制有效控制HTTP请求拥有大量第三方中间件对功能进行扩展//expess基础使用// 引入express模块const express = require('express');// 创建应用对象const app = express();// 路由的设置app.get('/',(request,response)=>{ response.end('
2022-03-12 22:44:47 487
原创 npm学习笔记
npm是包管理器npm init此命令作用就是帮助我们快速创建 package.json 配置文件如果使用 npm init --yes 则文件夹名称不能为『中文』, 也不能使用『大写』package.json此文件为 npm 包的配置文件vscode 左侧刷新文件列表如果遇到创建或者安装完毕之后, 看不到新的文件列表, 就可以点击一下刷新按钮node_modules存放的 npm 下载的『工具包』我们很少使用 HTML 直接引入 node_modules 当中的内容npm 使用
2022-03-10 23:48:26 274
原创 前端HTTP学习笔记
HTTP(hypertext transport protocol)协议也叫超文本传输协议,是一种基于 TCP/IP 的应用层通信协议,这个协议详细规定了浏览器和万维网服务器之间互相通信的规则。协议主要规定了两方面的内容客户端向服务器发送数据,称之为请求报文服务器向客户端返回数据,称之为响应报文HTTP 请求报文包括四部分请求行请求头空行请求体HTTP 响应报文也包括四个部分响应行响应头空行响应体使用 nodejs 创建 HTTP 服务器//1. 引入 http 内
2022-03-09 19:38:46 3197
原创 node.js学习笔记
node.js常用的几种方法常规文件写入// fs 是node.js的内置模块,可以对计算机的文件进行增删改// 引入fs模块const fs = require('fs');// 调用fs中的方法 write 写入文件// 在当前文件目录下写入 一个index.html文件//\r\n表示换行//{flag:'a'} 表示保存当前文件 fs.writeFile('./index.html','优雅,用不过时\r\n',{flag:'a'}, function(err){ //
2022-03-09 19:28:00 93
原创 es6深浅拷贝
浅拷贝什么是拷贝呢? 简单理解就是对数据的直接复制然后复制给新的变量对象,新的数据发生改变时原来的数据也会反生同样的改变 这种复制数据的方法称为浅拷贝浅拷贝的几种方法:Object.assign() 数组的slice方法、concat方法、Array.from方法以及扩展运算符都算是浅拷贝 const arr = [1,2,3,4]; //浅拷贝的几种方法 //1.直接赋值 const Newarr = arr; Newa
2022-03-06 14:03:20 1072
原创 es6学习二
set集合1.集合的声明let s = new Set();2.Set集合用于数组去重const arr = [1,2,3,3,4,4,5,6];const Arr = new Set(arr);console.log(Arr); //[1,2,,3,4,5,6]3.size 检测数组的长度let Arr = new Set(arr).size;console.log(Arr); 4.判断数组是否含有某个元素,如果有则可以返回true 没有返回false let Arr = n
2022-03-06 13:44:38 680
原创 es6学习
let变量1.不允许重复声明2.存在块级作用域,常见块级作用域( if(), else(), for(), function())3.不存在变量提升4.不影响作用域链const变量1.声明变量时必须赋值2.变量名一般采用大写3.不允许变量修改4.没有变量提升5.存在块级作用域6.声明对象或者数组是推荐使用const声明,const声明可以采用push等方法对数组进行修改变量解构赋值(经常使用的对象方法或者数组元素时可以使用解构赋值) // 对数组的解构赋值 con
2022-03-04 21:51:53 110
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人