精华内容
下载资源
问答
  • 企业销售人员薪酬满意度影响因素的分析——以H公司销售部门员工为例,王元艳,,本文建立了衡量企业销售人员对于薪酬满意度的指标体系,以H公司销售部门的员工为例,按工作年限和婚否两个维度将其划分为四个类�
  • 接触三层不久,基本的命令学的差不多了.偶一天看到format命令可以格式化flash存储器.于是在好奇心的驱使下,flash被我格... 还好,公司有位高人,有他我给指点迷津,问题得到了解决!这里就把亲身操作的过程写给大家...
    接触三层不久,基本的命令学的差不多了.偶一天看到format命令可以格式化flash存储器.于是在好奇心的驱使下,flash被我格掉了。当时查看当前的配置还在,不过其它文件已全然不见了,包括操作系统。重启后已启不了了,提示找不到默认的启动文件。去网上查了下,才知道麻烦了。
             还好,公司有位高人,有他我给指点迷津,问题得到了解决!这里就把亲身操作的过程写给大家,以供交流,解决问题!写得不好还望见谅!废话少说,下面开始。
         忘了补一下:本来恢复可以通过TFTP等方式较好,不过考虑到大家格完后重启了设备,这样交换机没了IP地址,所以行不通。这里就讲用最低级的方式,任何情况下都可以操作。
           第一步:找一个S3600的操作系统文件,这个是必须要的,一般网上有的下,要多找一找。
         第二步:找一条串口钱,把电脑串口和交换机的coso口接起来。然后配置好超级终端,这个相信大家都会了,就不讲了。。。
       第三步:找开交换机电源,看超级终端的屏幕提示:我这里是CTRL+B进入启动菜单。如图:
    出现了启动菜单。
    第四:这里选1,下载应该软件到flash.出现以下菜单:
    第一种是TFTP协议,第二是FTP协议,这两种由于没有IP,都不行,只能选第三种,XMODEM模式。这是用串线来实现的。
    第五:选择3后,出现下图:
    ,这里主要是配置一些连接属性,要求和超级终端的一样。
    第六:超级终端上有个传送的菜单,点里面的发送,如图:
    正在发送的选择下载好的系统文件,然后开始传给交换机。
    由于采有串口,一般都比较慢。4M左右的文件需要一个半小时。慢慢等吧```````
    第七:传完后,系统有提示:要求输入文件名:如图
    一会就提示完成。系统会再要求输入文件属性。如图:
    说明一下:MAIN是主要,BACKUP是备用。NONE不是不管了。
    第八:系统返回到启动菜单,这时选择下次启动的文件。第2个。
    出现下图:
     
    选择应该文件。
    第九:系统提示是否现在运行此文件,如图:                                                                                                        
    6d518d358f9b8f0990ef39f6.jpg
    启动完成!
    710e78cf9981f725f8dc61f6.jpg
    自检各种设备通过:
    cef5afefa15df50efdfa3cf6.jpg
    然就回到了我们熟悉的提示符界面啦```呵呵,会了吧??
    b780072488e1b12bc89559f6.jpg
    到此结束!希望可以帮到遇难的朋友!

    转载于:https://blog.51cto.com/cisco2600/245072

    展开全文
  • 我们用了一个过时的类,虽然感觉有些不爽,但是出于一些原因,一直也没有做处理,最近公司项目框架改了springboot,springboot中有一种很方便的发送http请求的实现,就是RestTemplate,而且实现起来非常简单,代码...

    使用springboot之前,我们发送http消息是这么实现的

    我们用了一个过时的类,虽然感觉有些不爽,但是出于一些原因,一直也没有做处理,最近公司项目框架改为了springboot,springboot中有一种很方便的发送http请求的实现,就是RestTemplate,而且实现起来非常简单,代码也很清晰。

    从上面代码可以看到,向钉钉发送的参数为一个json字符串,所以需要的HttpEntity的泛型应该是String,如果是键值对,就需要声明MultiValueMap<String, String> map = new LinkedMultiValueMap<>();,将其作为第一个参数传递到HttpEntity构造方法中。

    MediaType中定义了很多类型,我们这里使用的为APPLICATION_JSON_UTF8,进入源码,可以看到,该字段对应的值为属性APPLICATION_JSON_UTF8_VALUE的值,而属性APPLICATION_JSON_UTF8_VALUE的值为application/json;charset=UTF-8,这也正是我们需要的。

    本例发送的json字符串,查找钉钉机器人的地址比较简单,具体步骤为"群设置 -- 群机器人 -- 设置  -- 复制"即可,

    需要的maven依赖

    <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    如果只是这样引入依赖,则程序启动后,会启动一个内嵌的tomcat,程序将一直运行下去,如果程序是一次性的,执行完就想让其自动结束,并且不需要启动一个web项目,那么可以在上述依赖中去除对内嵌tocmat的依赖。在本例中,发送了钉钉消息之后就会结束程序,故去除了内嵌tomcat

    <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-web</artifactId>
         <exclusions>
               <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
               </exclusion>
         </exclusions>
    </dependency>

    具体代码实现也很简单,如下

    package com.demo.webboot;
    
    import javax.annotation.Resource;
    
    import org.springframework.boot.CommandLineRunner;
    import org.springframework.http.HttpEntity;
    import org.springframework.http.HttpHeaders;
    import org.springframework.http.MediaType;
    import org.springframework.http.ResponseEntity;
    import org.springframework.stereotype.Component;
    import org.springframework.web.client.RestTemplate;
    
    @Component
    public class RestCommandLine implements CommandLineRunner {
    
        @Resource
        private RestTemplate restTemplate;
    
        @Override
        public void run(String... args) throws Exception {
    
            HttpHeaders headers = new HttpHeaders();
            headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
    
            String content = "{ \"msgtype\": \"text\", \"text\": {\"content\": \"This is a test case.\"}, \"at\": {\"atMobiles\": [phone num], \"isAtAll\": false}}";
    
            HttpEntity<String> request = new HttpEntity<>(content, headers);
    
            String url = "https://oapi.dingtalk.com/robot/send?access_token=65eff73abfd26a3e5e11dc87c2c8bcbf359f15b65cd1d3bcb60443307fba675a1";
            ResponseEntity<String> postForEntity = restTemplate.postForEntity(url, request, String.class);
    
            String body = postForEntity.getBody();
    
            System.out.println(body);
        }
    
    }

    在启动类中配置RestTemplate,没有对RestTemplate做较多的处理,直接调用build方法创建。

    package com.demo.webboot;
    
    import javax.annotation.Resource;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.boot.web.client.RestTemplateBuilder;
    import org.springframework.context.annotation.Bean;
    import org.springframework.web.client.RestTemplate;
    
    @SpringBootApplication
    public class WebbootApplication {
    
        @Resource
        private RestTemplateBuilder builder;
    
        public static void main(String[] args) {
            SpringApplication.run(WebbootApplication.class, args);
        }
    
        @Bean
        public RestTemplate restTemplate() {
            return builder.build();
        }
    
    }

    运行结果如下

    通过以上简单代码,就可以想钉钉机器人发送消息了,当然,这里只是一个demo。

    转载于:https://www.cnblogs.com/qq931399960/p/11420121.html

    展开全文
  • 3w-9xxx驱动程序包括3w-9xxx.h头文件和3w-9xxx.c主C程序,是AMCC公司3ware 9000 Storage Controller device(RAID卡系列)的驱动程序。在源文件的开头的注释中这样写的:3w-9xxx.h -- 3ware 9000 Storage Controller...

    3w-9xxx驱动程序包括3w-9xxx.h头文件和3w-9xxx.c主C程序,是AMCC公司3ware 9000 Storage Controller device(RAID卡系列)的驱动程序。在源文件的开头的注释中这样写的:

    3w-9xxx.h -- 3ware 9000 Storage Controller device driver for Linux.
    3w-9xxx.c -- 3ware 9000 Storage Controller device driver for Linux.

    3ware 9000 Storage Controller device是一种PCI接口的RAID卡,因此,这个驱动程序本质上是一个PCI驱动程序。该PCI RAID卡后面接的是SCSI磁盘,走的是SCSI这套协议。我们知道,操作系统中SCSI子系统可以分为3层,分别是SCSI高层、SCSI中间层和SCSI底层。SCSI高层对应具体的块设备驱动,如磁盘驱动(sd.c),光盘驱动(sr.c)等。在这层中,需要支持设备要求支持的SCSI命令(虽然SCSI协议SBC中为块设备定义了统一的命令集,但是针对各种不同的块设备如磁盘、光盘等,还可以定义自己的命令),将块设备注册到块操作系统子系统中也是在该层完成的。SCSI提供一些公共的函数,包括错误处理和恢复,SCSI总线扫描等。SCSI底层是最底层的驱动程序,和硬件设备直接打交道来控制设备,因此和硬件设备的接口有关。比如我们这里是一个PCI的RAID卡,因此它是一个PCI驱动,位于SCSI 3层中的底层。该层需要初始化上层的业务逻辑,并将上层的命令发送到设备上去,因此,该层需要知道硬件设备暴露给它的编程接口,也就是各种控制和状态寄存器、其他特定的寄存器等。

    下面根据我自己的理解,以读过程为例,简要的描述一下应用程序和硬件块设备之间进行数据交换的流程。首先,应用程序调用库函数fread或者直接调用read系统调用产生读请求,在这里读请求可以理解成需要从文件的某个偏移处读取多长的数据到用户的缓冲区中。上面的两个函数会调用sys_read进入到内核中,从这里开始进程在系统空间中运行。sys_read又会调用具体的文件系统注册的函数对请求进行处理,首先查看请求对应的数据是否在该文件的PAGE CACHE中存在,如果请求的数据已经在PAGE CACHE中,则直接将数据返回给用户空间的缓冲区中,这次请求结束。如果不再PAGE CACHE中,文件系统将经过处理后的请求封装成bio请求格式,发送到块层。bio请求包括读请求的逻辑扇区地址(LBA),读到内存的地址和长度(可能包含多个内存片段)。块层首先查看该bio请求是否能合并到请求队列的某个请求中,若能则合并请求,若不能则为该bio生成一个新的request请求经过重排序后加入到请求队列中。到这里,请求已经到了请求队列中,等待进一步的处理。操作系统的后台线程会定期(还有其他可能触发的条件)的从请求队列中取下请求交给SCSI子系统进行处理,包括调用SCSI上层的块设备驱动准备SCSI命令、准备用于DMA的聚散列表等,最后通过SCSI底层也就是底层驱动将命令发送到设备端。底层驱动往往是通过PIO的方式写设备端的寄存器将命令发送下去,或者将命令的地址写到设备的某个寄存器中,设备再通过DMA的方式从该地址把命令读下去。最终的结果是命令在设备端被解析、执行,然后设备将读取的数据通过DMA的方式写到主机端内核缓冲区或者直接到用户空间缓存(聚散DMA方式),并通过中断的方式通知主机请求执行完成。在中断服务程序中会唤醒之前在该数据上等待的进程继续执行。这样整个请求处理结束,fread或者read函数执行完成,应用程序继续往下执行。
    上面只是个人的理解,欢迎大家批评指正。

    之前自己了解了一下SCSI协议,还看了linux SCSI子系统相关的知识。我们知道,对于连接在PCI总线上的设备如显卡、网卡等(这里是PCI RAID卡),我们应该在PCI驱动的probe函数中初始化上层的业务逻辑,该RAID卡充当的是SCSI主机适配器的角色,我们在probe函数中要为该适配器分配Scsi_Host结构,并提供主机适配器模板(scsi_host_template),然后将Scsi_Host添加到SCSI子系统中,再调用scsi_scan_host扫描适配器后面的SCSI总线,将后面的SCSI设备添加到SCSI子系统中,这就是我们前面所指的业务逻辑。前面我们提到过,内核线程会定期从request_queue中把请求取出交给SCSI各层处理,最后通过调用queue_command函数将命令提交到底层驱动的命令队列中。我们知道,每个线程在提交了bio的请求后,bio对应的内存页或者缓冲区会被加锁,对应的线程会睡眠等待,往往在设备完成此次IO后产生中断,再通过中断服务程序最终调用bio_endio函数解锁锁定的内存页或者缓冲区,对应睡眠的线程会被唤醒,继续执行。但是,处理请求的内核线程往往只是通过底层驱动注册实现的queue_command函数将request请求提交到底层驱动队列(很多书籍上是这么说的),那又是那个线程把底层驱动队列里面的命令发送到设备上去的咧?我之前一直对这个问题存在疑问,所以打算自己亲自看看底层驱动的代码,弄清楚到底底层驱动是怎样处理的,还一个是弄清楚底层驱动怎样支持本地命令队列(NCQ)的。这也是我为什么要看3w-9xxx驱动程序的源代码的原因。

    我所看的是linux 2.6.32内核下3w-9xxx驱动程序的源代码。到目前为止,内核的最新稳定版本是3.12.4,我也对比了2.6.32和3.12.4两个版本下3w-9xxx驱动,它们是一样的,也就是说没有随着内核版本的改进而出现新的版本。

    下面言归正传,介绍3w-9xxx驱动是如何工作的。

    在介绍驱动前,我们看看设备端(RAID卡)有哪些重要的寄存器,因为驱动需要与这些寄存器直接打交道。

    在3w-9xxx.h头文件中有如下宏定义。

    /* Control register bit definitions */
    
    #define TW_CONTROL_CLEAR_HOST_INTERRUPT            0x00080000
    
    #define TW_CONTROL_CLEAR_ATTENTION_INTERRUPT   0x00040000
    
    #define TW_CONTROL_MASK_COMMAND_INTERRUPT      0x00020000
    
    #define TW_CONTROL_MASK_RESPONSE_INTERRUPT     0x00010000
    
    #define TW_CONTROL_UNMASK_COMMAND_INTERRUPT    0x00008000
    
    #define TW_CONTROL_UNMASK_RESPONSE_INTERRUPT   0x00004000
    
    #define TW_CONTROL_CLEAR_ERROR_STATUS       0x00000200
    
    #define TW_CONTROL_ISSUE_SOFT_RESET               0x00000100
    
    #define TW_CONTROL_ENABLE_INTERRUPTS           0x00000080
    
    #define TW_CONTROL_DISABLE_INTERRUPTS          0x00000040
    
    #define TW_CONTROL_ISSUE_HOST_INTERRUPT             0x00000020
    
    #define TW_CONTROL_CLEAR_PARITY_ERROR          0x00800000
    
    #define TW_CONTROL_CLEAR_QUEUE_ERROR           0x00400000
    
    #define TW_CONTROL_CLEAR_PCI_ABORT             0x00100000

    从上面的定义可以看出,设备端有一个32位的控制寄存器,每一位的含义可以通过宏定义的名称看出来。该控制寄存器包括一些中断清除、错误状态清除、中断屏蔽和中断使能等控制位,也就是通过写这些位可以完成这些功能。并且我们要看到,设备会存在4中类型的中断,包括HOST INTERRUPT、ATTENTION INTERRUPT、COMMAND INTERRUPT和RESPONSE INTERRUPT。HOST INTERRUPT我目前没有看到有什么情况下会产生,并且中断服务程序中在出现这种中断的情况下只是将该中断清空掉,并没有做任何特殊处理,所以大家不用关心该种类型的中断。ATTENTION INTERRUPT是在设备端出现某种错误或者异步事件的情况下产生的中断,产生该中断后主机会发送REQUEST SENSE命令到设备端来获取错误或者异步事件的具体信息,关于该命令可以参考SCSI协议。COMMAND INTERRUPT是在设备端的命令队列为空的情况下,也就是设备端的命令都执行完了或者设备端命令队列不为满了,需要主机发送新的命令来执行,在这种情况下主机会将驱动队列中缓存的命令尽可能的发送到设备端。这里需要提醒大家的是,驱动不仅支持SCSI命令,还有自定义的命令,从下面宏定义可以看出。在设备端完成主机发送过来的一条命令(或者请求)之后,如数据已经被读入到主机端或者被写入到设备上,设备端就会产生一条reponse消息放到设备端的response队列中,这种情况下回产生RESPONSE INTERRUPT。该reponse消息其实就是命令的标签(TAG),前面每条发送下来的命令都是有一个TAG的(参考本地命令队列NCQ),表示之前发送的标记为TAG的命令已经完成。主机端接收到该中断后,会从设备端的reponse队列中读取reponse消息,从而知道之前发送的那条命令已经完成了,因此可以唤醒之前在该请求上睡眠的进程继续执行。然后继续从reponse队列中读取下一个reponse,直到reponse队列为空,和发送命令一样,成批的处理,减少中断的次数,从而减少开销。上面中断后的处理是根据twa_interrupt中断服务程序的来的,有兴趣的读者可以自己看看。

    /* Command packet opcodes used by the driver */
    
    #define TW_OP_INIT_CONNECTION 0x1
    
    #define TW_OP_GET_PARAM              0x12
    
    #define TW_OP_SET_PARAM               0x13
    
    #define TW_OP_EXECUTE_SCSI    0x10
    
    #define TW_OP_DOWNLOAD_FIRMWARE 0x16
    
    #define TW_OP_RESET             0x1C
    
    
    
    /* Status register bit definitions */
    
    #define TW_STATUS_MAJOR_VERSION_MASK           0xF0000000
    
    #define TW_STATUS_MINOR_VERSION_MASK           0x0F000000
    
    #define TW_STATUS_PCI_PARITY_ERROR           0x00800000
    
    #define TW_STATUS_QUEUE_ERROR                  0x00400000
    
    #define TW_STATUS_MICROCONTROLLER_ERROR           0x00200000
    
    #define TW_STATUS_PCI_ABORT                 0x00100000
    
    #define TW_STATUS_HOST_INTERRUPT             0x00080000
    
    #define TW_STATUS_ATTENTION_INTERRUPT           0x00040000
    
    #define TW_STATUS_COMMAND_INTERRUPT           0x00020000
    
    #define TW_STATUS_RESPONSE_INTERRUPT             0x00010000
    
    #define TW_STATUS_COMMAND_QUEUE_FULL                0x00008000
    
    #define TW_STATUS_RESPONSE_QUEUE_EMPTY              0x00004000
    
    #define TW_STATUS_MICROCONTROLLER_READY            0x00002000
    
    #define TW_STATUS_COMMAND_QUEUE_EMPTY            0x00001000
    
    #define TW_STATUS_EXPECTED_BITS                  0x00002000
    
    #define TW_STATUS_UNEXPECTED_BITS            0x00F00000
    
    #define TW_STATUS_VALID_INTERRUPT              0x00DF0000

    上面的宏定义定义了状态寄存器的一些位,主要包括是否有中断(4中类型,前面说过)产生,设备端的命令队列或者响应队列空满标示及一些反应错误的状态位。

     /* Macros */
    
    #define TW_CONTROL_REG_ADDR(x) (x->base_addr)
    
    #define TW_STATUS_REG_ADDR(x) ((unsigned char __iomem *)x->base_addr + 0x4)
    
    #define TW_COMMAND_QUEUE_REG_ADDR(x) (sizeof(dma_addr_t) > 4 ? ((unsigned char __iomem *)x->base_addr + 0x20) : ((unsigned char __iomem *)x->base_addr + 0x8))
    
    #define TW_COMMAND_QUEUE_REG_ADDR_LARGE(x) ((unsigned char __iomem *)x->base_addr + 0x20)
    
    #define TW_RESPONSE_QUEUE_REG_ADDR(x) ((unsigned char __iomem *)x->base_addr + 0xC)
    
    #define TW_RESPONSE_QUEUE_REG_ADDR_LARGE(x)

    上面的宏可以看出,驱动能看见的只有4个(ADDR_LARGE不考虑)寄存器,包括命令寄存器、状态寄存器、命令队列寄存器和响应队列寄存器。主机端驱动通过对这4个寄存器的读写完成对设备的控制和设备上面数据的读写。下面根据我自己的理解对整个驱动和设备之间的协同工作进行说明,来描述读写流程,如图1所示。

    这里写图片描述

    图1 软硬件架构图

    上面的架构图中省去了许多其他部分,但我认为不会影响大家的理解。

    当应用程序产生读写请求后,会经过文件系统、块层和SCSI高层和中间层的处理转换成SCSI格式的命令请求,最后通过queue_command函数将请求发送到底层驱动。底层驱动接收到请求后,会将SCSI命令转换成自定义的命令包TW_Command_Full(包括适配器自身的管理命令和SCSI命令),如果此时硬件设备的命令队列没有满并且驱动端的命令队列中没有其他等待处理的命令,那么驱动就将这个命令包发送到硬件设备上。该过程的本质是将命令包的主机物理地址(映射到总线的地址)发送到设备的命令队列寄存器中。设备端发现有写命令队列寄存器的动作后,便立刻将寄存器中的值读入到设备端的命令队列中,这样就将主机端的命令发送到了设备端的命令队列中。如果设备端命令队列已满或者主机的命令队列中有等待处理的命令包,那么便立刻返回,SCSI层会将取下的request请求重新插入到块层request_queue队列的最前面,然后重试这个请求。命令调度器会从命令队列中取出最合适的请求来执行。适配器将命令发送到后面链接的SCSI总线上,并设置好DMA相关的内部寄存器,SCSI总线后面的SCSI设备接收到SCSI命令后,假如是读命令,SCSI设备将数据返回到适配器,然后适配器通过DMA的方式将数据传输到主机端内核缓冲区或者聚散列表对应的内存页中。然后适配器产生一个response消息到response队列中用来标示对应的命令已经完成。最后产生一个中断到主机端。

    当主机端接收中断后,执行中断服务程序。中断服务程序首先会读取适配器的状态寄存器,看看具体是哪种中断。此时中断服务程序会发现是response中断引起的。中断服务程序会进行一些后处理的操作,包括释放命令队列中占用的命令包及其他一些清理操作,最后会调用注册的scsi_done函数结束中断服务程序。而scsi_done最终会唤醒之前睡眠在该请求上的进程,关于scsi_done的详细介绍可以参考一些书籍,这里不多说啦。

    前面介绍了一个请求是如何经过驱动、适配器最终到达设备然后返回的过程。那驱动端队列中的请求时什么时候发送到设备端队列中去的。假如前面我们描述的命令已经发送到设备端的命令队列中,现在又来了SCSI命令或者适配器管理命令,如果设备端队列还没有满,则驱动会直接把命令发送到设备端命令队列中去。持续这样直到设备端命令队列为满,如果这时来了管理命令,那么驱动会把这些命令放到一个叫做pending队列中(其实就是将请求的id号标示在这个队列中)。当设备端执行并完成一些命令后,设备端命令队列又不为满,这时设备会产生COMMAND INTERRUPT,在中断服务程序中会将pending队列中等待处理的命令发送到设备的命令队列中,直到设备的命令队列又变为满。当有来自上层的SCSI命令时,如果设备端命令队列为满或者主机端的pending队列中有待处理的管理命令,那么主机驱动放弃请求对应的命令包TW_Command_Full,然后返回。SCSI层会将取出的request请求重新排入到request_queue最前面,等待下一次处理。

    上面是对驱动工作流程和设备端工作原理的简单分析,至于更具体的方面就需要自己去看看代码了。第一次写些东西分享出来,写了非常随性,希望大家不要介意,若有错误的地方欢迎大家指正。

    加勒比海盗

    cxneu@sina.com

    2014.1.21

    展开全文
  • H3C设备命名规则

    2014-02-08 11:33:13
    H3C设备命名规则,实用的很。每家网络设备供应商的产品都有自己的命名规则,别小看简单的几个字母或数字,对于网络工程师来说,一看名称就能清楚的知道...本文以H3C交换机为例,给大家介绍一下H3C公司的产品命名规则。
  • H3C交换机命名规则详解  每家网络设备供应商的产品都有自己的命名规则,别小看简单的几个字母或...本文以H3C交换机为例,给大家介绍一下H3C公司的产品命名规则。  一、接口命名规则  LI(Lite software Imag...

                                 H3C交换机命名规则详解 

    每家网络设备供应商的产品都有自己的命名规则,别小看简单的几个字母或数字,对于网络工程师来说,一看名称就能清楚的知道该产品性能、大概配置,甚至是端口数量。本文以H3C交换机为例,给大家介绍一下H3C公司的产品命名规则。

      一、接口命名规则

      LI(Lite software Image)表示设备为弱特性版本。

      SI (Standard software Image)表示设备为标准版本,包含基础特性。

      EI(Enhanced software Image)表示设备为增强版本,包含某些高级特性。

      HI(Hyper software Image)表示设备为高级版本,包含某些更高级特性

      Z,表示没有上行接口;(新产品不允许此位)

      G,表示上行GBIC接口;

      P,表示上行SFP接口;

      T,表示上行RJ45接口;

      V,表示上行VDSL接口;

      W,表示上行可配置WAN接口;

      C,表示上行接口可选配;

      M,表示上行接口为多模光口;

      S,表示上行接口为单模光口;

      F,表示下行接口为模板板,可插光接口板或电接口板。主要为兼容3526F,3526EF,3552F等老产品的命名。

      当同时存在时,表示上行接口为多种接口类型复合

      注:Combo端口不在命名中显示。

      二、性能命名规则

      Quidway SA1A2A3A4A5-A6【 A7A8 】【/A9 A10 A11 】-【 A12 A13 】-【A14 A15 A16 】-【A17 A18 】

      A1表示产品系列,主要标示上行端口的最大接口速率:

      A1为 1 — 盒式10/100M 交换机,上行最高到100M,无管理;

      A1为 2 — 盒式10/100M 交换机,上行最高到100M,有管理;

      A1为 3 — 盒式10/100/1000M交换机,上行最高到1000M;

      A1为 5 — 盒式GE/10GE交换机,上行最高到10GE;

      A2标示所支持的IP层:

      A2为 0 — 纯L2交换机,目前为0,根据产品的更新换代,可以更改为1、2、3、4;

      A2为 5 — L2/L3交换机,目前为5,根据产品的更新换代,可以更改为6、7 、8、9;

      A3A4两位数字与产品的端口数相关,根据端口总数确定产品系列:

      A3A4为08 —表示下行端口为8个, 上行端口为0、1、2个;

      A3A4为12 —表示下行端口为12个,上行端口为0、1、2个;

      A5 用来区分固定上行口的不同种类,可以标识接口类型、能否堆叠等特性,缺省表示不带上行口:

      A5为Z —表示没有上行接口;

      A5为G —表示上行GBIC接口;

      A5为P —表示上行SFP接口;

      A5为T —表示上行RJ45接口;

      A5为V —表示上行VDSL接口;

      A5为X —表示上行XPACK(10GE LAN)接口;

      A5为W —表示上行可配置WAN接口;

      A5为C —表示上行接口可选配;

      A5为M —表示上行接口为多模光口;

      A5为S —表示上行接口为单模光口;

      A6 作为设备最大用户端口数标识,如8、12、16、24、48口等,如果设备已经配置最大用户端口数量,而且为RJ45的电口,则A6缺省,其他情况下应当与A7 A8组合显示用户端口信息。

      A7 A8作为用户口种类标识,如电口、多模光口,单模光口等,缺省表示全部为电口:

      A7 A8 为 FM,表示全部为多模光口;

      A7 A8 为 FS,表示全部为单模光口;

      A9 A10 A11为可选项,在用户口可选配情况下,标识设备用户固定口的数目和种类,如电口TP、多模光口FM,单模光口FS等。 特殊情况下,如果所有用户口均为选配(没有固定口),根据端口实际情况用SFP或GBC标识。

      A12 A13作为设备电源交直流标识,缺省为AC交流、直流必须用DC标识。

      A14 A15 A16 作为RPS冗余电源接口标识,3000、5000系列缺省为支持,2000、1000系列缺省为不支持。

      A17 A18 作为可选项,用以突出产品版本的特性,缺省为标准版本。

      SI (Basic software Image)表示设备为基本版本,包含基础特性。

      EI(Enhanced software Image)表示设备为增强版本,包含某些高级特性。

      PWR 表示设备为支持远程以太网供电,供电符合802.3AF标准
     

    转载于:https://blog.51cto.com/guoluxt/465833

    展开全文
  • 前不久勒索病毒横行,很多人都纷纷中招,从公司到个人,损失相当惨重。有些公司在互联网入口上做了控制,但是这样并非...华为和H3C设备配置为例。什么?为什么没有思科?要啥自行车,我们需要支持国产!*********...
  • 前不久勒索病毒横行,很多人都纷纷中招,从公司到个人,损失相当惨重。有些公司在互联网入口上做了控制,但是这样并非完全,万一有人把中了毒的U盘插入网内设备上呢?...华为和H3C设备配置为例。什么?为什么...
  • 一个基于MAC的8阶nR数字滤波器的设计为例,给出了使用Verilog硬件描述语言进 行数字逻辑设计的过程和方法。并且在QuartuslI的集成开发环境下编写HDL代码,进行综合;利用QuartusII内部的仿真器 对设计做脉冲响应...
  • 1.组网需求由于公司人员激增,接入层交换机提供的端口数目已经不能满足PC的接入需求。现需要在保护现有投资的基础上扩展端口接入数量,并要求...(本文两台设备组成IRF为例,在实际组网中可以根据需要,将多台设...
  • 设计一个小型公司的人员信息管理为例,说明类及成员函数的设计在类Employee中包括数据成员的|编号、级别和月薪等,包括的操作有设置和提取编号、计算和提取级别、设置和提取月薪。构造函数用于设置数据成员编号、...
  • 既然已经组件化了,那打包自然依旧基于CocoaPods管理的方式方便随时更新,打包.a与framwork的区别就不多说了,本文framework的封装为例,基于模拟器测试,真机流程一致。打包实践(基于模拟器、debug、objec...
  • vue移动端项目的适配(mint-ui)

    千次阅读 2018-11-28 13:47:05
    参考:Vue UI框架——Mint UI的... 参考: 详解vue移动端项目的适配(mint-ui为例) https://www.jianshu.com/p/ed612b7ad565 饿了么公司基于vue开的的vue的Ui组件库  Element Ui 基于vue pc端的UI框架 h...
  • 组装电脑为例,一般来说,电脑组装都不可能是一家公司的零件,简单的来说,显卡就有NVIDIA和AMD两个牌子的厂商,电脑系统由windows和mac两种,所以可以用抽象工厂的思维来用计算机表达出来。 头文件 #include ...
  • 美国巴布森学院(Babson College)管理与信息科学学院的教授,MIT 院士,德勤资深研究员Thomas H. Davenport 最近有一个新发现:并不是所有想要使用...Thomas一家向他咨询的出版公司为例,这家公司希望能在产品的...
  • 无锡驰业环保科技有限公司为您详细解读UHXXQ湖南烛式过滤器优势的相关知识与详情,自清洗过滤器特性:停止反冲刷时不连续供水,整个反冲刷是吸嘴净滤网每一点那样的方式实现的。反冲刷时只是吸嘴取细滤网之间很小...
  • 水煤浆作为一种洁净能源已在工业上得到了...文章宁波禾元化学有限公司3×220t/h燃浆燃气动力站工程为例,阐述水煤浆锅炉自动控制系统的设计方案,希望其设计理念及设计方法对该行业工程设计具有一定的借鉴和参考作用。
  • 华三交换机命名规则

    千次阅读 2010-01-20 10:01:00
    H3C交换机命名规则详解每家网络设备供应商的产品都有自己的命名规则,...本文以H3C交换机为例,给大家介绍一下H3C公司的产品命名规则。 一、接口命名规则 LI(Lite software Image)表示设备为弱特性版本。 SI (Standa
  • Linux,一个被视为对 Windows NT最有威胁的OS于90年代末期正式面世,由于它是基于Unix发展出来,因此几乎拥有Unix所拥有的功能。Linux是一个公开内码 (Open Source) 的系统,加上是...Red Hat公司为例,支持 Red H...
  • STM32的固件库可以到官网上面进行下载,这里V3.5版本为例进行介绍。 libraries下面主要有CMSIS和driver两个目录,在CMSIS/CM3的coresupport里面的core_cm3.c和.h是ARM公司提供的核心文件, CMSIS/CM3的device...
  • 对jetbrains公司出品的IDE均有效,rubymine为例: 打开C:\Program Files\JetBrains\RubyMine 6.3.3\bin,打开 rubymine.exe.vmoptions 文件,修改-Xmx512m 为 -Xmx1024m,其它IDE雷同,此法在linux平台亦有效,也...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 121
精华内容 48
关键字:

以h公司为例