自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小浪的学习笔记

声明:本博客大部分内容为学习笔记,基本上摘自书籍或其它学习资料

  • 博客(22)
  • 收藏
  • 关注

原创 网络设备管理

在R2上开启FTP服务,并添加ftp账号。登录user1后,不能进入系统视图。登录user2后,可以进入系统视图。在R1上通过FTP连接R2。

2024-10-12 18:03:28 336

原创 免费ARP工作原理与实验

AR2通过解析APR报文,比较目的IP地址与自己的IP地址是否一致,如果不一致,则不响应,如果一致,这产生IP冲突,回应一下报文。当目的MAC地址IG为1时,AR2会接收以太帧,并通过Type字段,拆除二层头部,将数据交给三层ARP服务进程。当目的MAC地址IG为0时,AR2会看目的MAC地址与自己的MAC地址是否一致,一致则接收,不一致则丢弃。第一个字节的最低第一位为IG位,为1时表示为组地址,用来进行多播,为0时表示单个站地址。当AR2收到报文后,会首先读取以太帧,检查目的MAC地址的。

2024-10-12 10:47:39 420

原创 交换机链路聚合

通过链路聚合,可以提高链路的可靠性,提升链路带宽。链路具有一般有手工模式和LACP模式。

2024-09-12 23:15:57 461

原创 生成树协议(STP)

但于此同时也产生一个问题,那就是会产生环路,因此生成树协议应运而生,他的作用就是进行破环(消除环路),并动态计算。二是会产生MAC地址漂移,通过dis mac-address可以看到,同一个mac地址,一会儿显示是1口,一会儿是2口。(1)比较根路径开销(这里需要注意,是根桥到设备根端口的路径开销),且根桥上的端口、根端口对端端口都为指定端口。一是会产生广播风暴,广播包会从上述网络中的两个方向无限的发送广播包,网络资源会被耗尽,倒是网络瘫痪。配置STP接口开销:stp cost 200。

2024-09-12 21:12:03 825

原创 VLAN配置实验(hybrid)

【代码】VLAN配置实验(hybrid)

2024-09-10 21:52:56 643

原创 VLAN配置实验(access +trunk)

LSW2配置与LSW1配置类似,不在重复。

2024-09-08 23:48:41 436

原创 VLAN原理与配置

CFI为0说明是标准格式,CFI为1表示为非标准格式。用于区分以太网帧、FDDI(Fiber Distributed Digital Interface)帧和令牌环网帧。长度为3比特,表示帧的优先级,取值范围为0~7,值越大优先级越高。IEEE 802.1Q标准对Ethernet帧格式进行了修改,在源MAC地址字段和协议类型字段之间加入4字节的802.1Q Tag。在VRP中,可配置的VLAN ID取值范围为1~4094。灵活打标签、移标签,PC-交换机、路由器-交换机、交换机-交换机。

2024-09-08 23:08:53 1011

原创 常见文件系统操作命令

显示当前目录下的文件信息:<Huawei>dir进入vty视图:修改用户当前界面的工作目录:<Huawei>cd创建新的目录:删除目录:<Huawei>rmdir重命名文件:删除文件复制文件:<Huawei>copy //copy 文件名 移动到的路径移动文件:<Huawei>move //move 文件名 移动到的路径。

2024-09-08 19:27:40 327

原创 常见网络设备

设备类型 设备名称 图标 主要作用 交换机 核心交换机 高可靠、高性能、高冗余 汇聚交换机 数据处理、认证 接入交换机 用来进行终端用户的接入,端口密度高、价格低廉的特点 无线设备 胖AP 单独配置,功能较为单一,成本低,一般用于家庭环境 廋AP 需要配合AC使用,由AC进行统一的管理和配置,功能丰富,一般用于企业环境 AC 对痩AP进行统一的控制管理 路由器

2024-09-08 19:25:36 254

原创 Task中的跨线程访问控件和UI耗时任务卡顿的解决方法

//普通方法private void btnUpdate_Click(object sender, EventArgs e){ Task task = new Task(() => { this.lblInfo.Text = "来自Task的数据更新:我们正在学习多线程!"; }); //task.Start(); //这样使用会...

2019-11-02 21:52:56 1964

原创 监视锁:Lock 限制线程个数的一把锁

//为什么要用锁?在多线程中,尤其是静态资源的访问,必然会有竞争private static int nums = 0;private static object myLock = new object();static void Method12(){ for (int i = 0; i < 5; i++) { Task.Factory.Star...

2019-11-02 21:42:58 262

原创 Task中专门的异常处理:AggregateException

//AggregateException:是一个异常集合,因为Task中可能抛出异常,所以我们需要新的类型来收集异常对象static void Method11(){ var task = Task.Factory.StartNew(() => { var childTask1 = Task.Factory.StartNew(() => ...

2019-11-02 21:32:56 4996 1

原创 Task中的取消功能:使用的是CacellationTokenSoure解决多任务中协作取消和超时取消方法

//【1】Task任务的取消和判断static void Method8(){ //创建取消信号源对象 CancellationTokenSource cts = new CancellationTokenSource(); Task task = Task.Factory.StartNew(() => { while (!cts...

2019-11-02 21:23:58 812

原创 Task常见枚举 TaskCreationOptions(父子任务运行、长时间运行的任务处理)

//请大家通过Task的构造方法,观察TaskCreationOptions这个枚举的类型,自己通过F12查看static void Method6(){ Task parentTask = new Task(() => { Task task1 = new Task(() => { Thread...

2019-11-02 21:02:37 2013

原创 Task的阻塞方式和任务延续

//【1】回顾之前使用Thread多个子线程执行时阻塞的方法static void Method2(){ Thread thread1 = new Thread(() => { Thread.Sleep(2000); Console.WriteLine("Child Thread (1)......"); }); Thre...

2019-11-02 20:43:06 1061

原创 Task多线程任务的开启3种方式

//【1】通过new的方式创建一个Task对象,并启动static void Method1_1(){ Task task1 = new Task(() => { //在这个地方编写我们需要的逻辑... Console.WriteLine($"new一个新的Task启动的子线程Id={Thread.CurrentThread.Mana...

2019-11-02 20:35:09 2688

原创 Thread的生命周期

public partial class FrmThread : Form{ public FrmThread() { InitializeComponent(); } private Thread thread = null; private int counter = 0; //【1】开启 private void...

2019-11-02 20:34:05 165

原创 通过跨线程访问控件

1、 通过跨线程给控件赋值private void button1_Click(object sender, EventArgs e){ Thread thread = new Thread(()=> { for(int i = 0; i < 10; i++) { //this.label1.Text = i.T...

2019-11-02 19:00:13 330

原创 TimeSpan

TimeSpan表示一段时间间隔或是一天内的时间。对于后者,它就是一个时钟时间(不包括日期)。它等同于从午夜开始到现在的时间(假设没有夏令时)。TimeSpan的最小单位为100纳秒,最大值为一千万天,可以为正数也可以为负数。一、创建TimeSpan的三种方法1、通过它的一个构造器public TimeSpan(long ticks);public TimeSpan(int h...

2019-10-30 21:27:57 3775

原创 Stopwatch类的使用

Stopwatch类提供了一种方便的机制来测量运行时间。Stopwatch使用了操作系统和硬件提供的最高分辨率机制,通常少于1毫秒(相比之下DateTime.Now和Environment.TickCount的分辨率在15毫秒左右)。要使用Stopwatch,可以调用StartNew方法。这将会实例化一个Stopwatch对象并开始计时(此外,也可以先实例化,再手动调用Start方法)。Elap...

2019-10-20 08:34:53 7925

原创 元组的声明和赋值的示例代码

using System;namespace TupleDemo{ class Program { static void Main(string[] args) { //1、将元组赋值给单独声明的变量 (string country1, string capital1, double gdpP...

2019-10-19 23:01:40 1317

原创 var与dynamic

var和dynamic类型表面上相似,但实际上是非常不同的:1.var说:“让编译器去确定我的类型吧”2.dynamic说:“让运行时去确定我的类型吧”例如:dynamic x = "hello"; // 静态类型是dynamic,运行时类型是stringvar y = "hello"; // 静态类型是string,运行时类型是stringint i = x; ...

2019-10-19 22:08:06 307

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除