精华内容
下载资源
问答
  • 模块的分类HBA卡的区别

    千次阅读 2020-04-13 14:43:58
    为了满足多样需求,产生了多种类别模块。 按速率分类 为了满足各种传输速率需求,产生了不同速率模块:100GE光模块、40GE光模块、25GE光模块、10GE光模块、GE光模块、FE光模块。 按封装分类 传输...

    一. 光模块的组成结构
    二. 光模块的组成
    三. 光模块的封装     
    四. FC-SAN与IP-SAN的历史       
    五.HBA卡的定义
        5.1 以太网卡
        5.2 FC网卡
        5.3 ISCSI网卡
    六.光口和电口
          6.1 光口
          6.2 电口  
    七.总结


    一. 光模块的组成结构     

    光模块,英文名叫Optical Module。Optical,意思是“视力的,视觉的,光学的”。

    准确来说,光模块是多种模块类别的统称,具体包括:光接收模块,光发送模块,光收发一体模块和光转发模块等。

    现今我们通常所说的光模块,一般是指光收发一体模块(下文也是如此)。

    光模块工作在物理层,也就是OSI模型中的最底层。它的作用说起来很简单,就是实现光电转换。把光信号变成电信号,把电信号变成光信号,这样子。

    虽然看似简单,但实现过程的技术含量并不低。

    一个光模块,通常由光发射器件(TOSA,含激光器)光接收器件(ROSA,含光探测器)功能电路光(电)接口等部分组成。

    二. 光模块的组成

    在发射端,驱动芯片对原始电信号进行处理,然后驱动半导体激光器(LD)或发光二极管(LED)发射出调制光信号。

    在接收端,光信号进来之后,由光探测二极管转换为电信号,经前置放大器后输出电信号。

    三. 光模块的封装     

    对于初学者来说,光模块最让人抓狂的,是它极为复杂的封装名称,还有让人眼花缭乱的参数。

    • 按封装分类

      传输速率越高的光模块,结构越复杂。为了满足不同结构的需求,产生了各种封装类型的光模块。华为交换机适用的封装类型有:SFP、eSFP、SFP+、XFP、SFP28、QSFP+、CXP、CFP、QSFP28。所有光模块均支持热插拔。

      • SFP(Small Form-factor Pluggable)光模块小型可插拔。SFP光模块支持LC光纤连接器。

      • eSFP(Enhanced Small Form-factor Pluggable)光模块增强型SFP,指的是带电压、温度、偏置电流、发送光功率、接收光功率监控功能的SFP,当前所有的SFP都带,所以也就把eSFP都统一叫SFP了。

      • SFP+(Small Form-factor Pluggable Plus)光模块指速率提升的SFP模块,因为速率提升,所以对EMI敏感,壳子上面的裙片做的多了,配对的笼子也相对缩紧了。

      • XFP(10GB Small Form-factor Pluggable)光模块:“X”是罗马数字10的缩写,所有的XFP模块都是10GE光模块。XFP光模块支持LC光纤连接器。相比SFP+光模块,XFP光模块尺寸更宽更长。

      • SFP28(Small Form-factor Pluggable 28):接口封装大小与SFP+相同,支持速率为25G的SFP28光模块和10G的SFP+光模块。

      • QSFP+(Quad Small Form-factor Pluggable)光模块四通道小型可热插拔光模块。QSFP+光模块支持MPO光纤连接器,相比SFP+光模块尺寸更大。

      • CXP:是一种可热插拔的高密并行光模块标准,在发送和接收(Tx/Rx)方向各提供12个通道,仅适用于短距离多模链路。

      • CFP(Centum Form-factor Pluggable)光模块:长×宽×高尺寸定义为144.75mm×82mm×13.6mm,是一种高速的可以热插拔的支持数据通信和电信传输两大应用的新型光模块标准。

      • QSFP28(Quad Small Form-factor Pluggable 28):接口封装大小与QSFP+相同,支持速率为100G的QSFP28光模块和40G的QSFP+光模块。

     

    • 按速率分类

      为了满足各种传输速率的需求,产生了不同速率的光模块:100GE光模块、40GE光模块、25GE光模块、10GE光模块、GE光模块、FE光模块。

    四. FC-SAN与IP-SAN的历史       

          在讨论这个问题的时候,需要先说清楚一个问题:我们知道,在早期的 SAN 存储系统中,服务器与交换机的数据传输是通过光纤进行的,因为服务器是把 SCSI指令 传输到存储设备上,不能走普通 LAN 网的IP协议,所以需要使用FC传输,因此这种SAN就叫 FC-SAN,而后期出现了用 IP协议封装的SAN,可以完全走普通LAN网络,因此叫做IP-SAN,其中最典型的就是现在热门的iSCSI
      这两种方式都需要对数据块进行繁重的读包解包操作,因此高性能的 SAN 系统是需要在服务器上安装一块专门负责解包工作以减轻处理器负担的网卡,这种网卡大家就叫它HBA卡,它除了执行解包工作外当然还可以提供一个光纤接口(如果是iSCSI HBA卡就是提供普通的 RJ45接口)以用于跟对应的交换机连接;

          另外,HBA 物理上你可以把它当作网卡一样插在 PCI 或者 PCI-E 槽位里,因此这种设备的用法非常相一张网卡,很多人也就把它跟普通网卡或普通的光纤网卡混淆了。当然,有的 iSCSI HBA卡就可以当作普通网卡来用,不过从价格上考虑这是非常奢侈的。

    五.HBA卡的定义

          HBA的常规定义:就是连接主机 I/O 总线和计算机内存系统的 I/O适配器。
          按照这个定义,像显卡就是连接视频总线和内存,网卡就是连接网络总线和内存,SCSI-FC卡就是连接 SCSI或者FC总线和内存的,它们都应该算是HBA。
          HBA卡有 FC-HBA 和 iSCSI HBA 将来还有其他HBA卡,但是,HBA 通常用在SCSI。Adapter(适配器)和 NIC 用于FC;而NIC也会用于以太网和令牌环网。
      其实,网卡是大家常提到的一个类型设备的总称,是指安装在主机里,通过网络连接线(双绞线、光纤线缆、同轴电缆等)与网络交换机(以太网交换机、FC交换机、ISCSI交换机等)、或与其它网络设备(存储设备、服务器、工作站等)连接,从而形成一个网络的硬件设备。

      那么,光纤网卡这个称呼到底是不是指光纤口HBA卡呢?
      实际上大家常说的光纤网卡指的就是光纤通道网络里的HBA卡。
      因传输协议的不同的,网卡可分为三种,一是以太网卡,二是 FC网卡,三是iSCSI网卡。

        •5.1 以太网卡

          学名Ethernet Adapter,传输协议为IP协议,一般通过光纤线缆或双绞线与以太网交换机连接。接口类型分为光口和电口。光口一般都是通过光纤线缆来进行数据传输,接口模块一般为SFP(传输率2Gb/s)和GBIC(1Gb/s),对应的接口为SC、ST和LC。电口目前常用接口类型为RJ45,用来与双绞线连接,也有与同轴电缆连接的接口,不过现在已经用的比较少了。 

        •5.2 FC网卡

          一般也叫光纤网卡,学名 Fibre Channel HBA。传输协议为光纤通道协议,一般通过光纤线缆与光纤通道交换机连接。接口类型分为光口和电口

        •5.3 ISCSI网卡

          学名ISCSI HBA,传输ISCSI协议,接口类型与以太网卡相同。
      大家说的“光纤网卡”一般是指FC HBA卡,插在服务器上,外接存储用的光纤交换机;而光口的以太网卡一般都叫做“光纤以太网卡”,也是插在服务器上,不过它外接的是带光口的以太网交换机。

    六.光口和电口

          6.1 光口

          光纤接口简称为光口也可称之为G口 (意思是G光纤口),是用来连接光纤线缆的物理接口。其原理是利用了光从光密介质进入光疏介质从而发生了全反射。一般是应用于机房、机柜等大型设备的一个光纤带宽接口。

          进行远距离数据传输一般都是通过光纤线缆来进行数据传输,接口模块一般为SFP(传输率2Gb/s)和GBIC(1Gb/s),对应的接口为SC和LC。

          6.2 电口  

          电口就是普通的双绞线(TwirstPair)接口,传输的是电信号,而电口是相对光口来讲的,是指防火器的物理特性,主要指铜缆,是处理的电信号。目前使用普遍的网络接口有百兆电口和千兆电口、万兆电口等。简单来说,电口就是普通的网线接口,一般速率为10M、100M或者1000M。

           我们常说的RJ45的端口也就是网线口接口类型,一般为DB9针或HSSDC。 

      服务器网卡光口和电口网卡的主要区别主要是在于传输距离上,服务器电口网卡的传输距离只能到100米,而服务器光口网卡分为单模和多模,多模一般传输几百米,单模传输可以达到几千米,什么传输速率的,都一样的。    

     七.总结

           其实这些网卡还是很好区分的,看下表就清楚了: 
           •HBA卡:FC-HBA卡(俗称:光纤网卡)、iSCSI-HBA卡(RJ45接口) 
           •以太网卡:光纤接口的以太网卡(俗称:光纤以太网卡)
      不过这些都是大家的俗语或常用语,有一定的使用环境。我们建议大家不要使用光纤网卡这个称呼,而是直接说成FC-HBA卡,这样就绝对不会造成误解了。

     

    展开全文
  • python之模块与类的区别

    千次阅读 2012-05-08 23:07:04
    模块: 1.是数据/逻辑套件 2.由python或C扩展编写而成 3.通过导入使用 : 1.实现新对象 ...4.总是存在模块中 ... 以支持其他模块不支持功能,例如运算符重载...虽然模块都是命名空间,但是区别还是很大

    模块:

    1.是数据/逻辑套件

    2.由python或C扩展编写而成

    3.通过导入使用

    类:

    1.实现新的对象

    2.由class语句创建

    3.通过调用使用

    4.总是存在模块中

        类以支持其他模块不支持的功能,例如运算符重载,产生多个实例和继承。虽然类和模块都是命名空间,但是区别还是很大的。

    展开全文
  • VB类与模块的区别

    千次阅读 2011-07-17 10:50:08
    由于模块的数据只有一个副本,因此当程序的一部分更改模块中的公共变量时,如果程序的其他任何部分随后读取该变量,都会获取同样的值。之相反,每个实例化对象的对象数据则单独存在。可以被继承,也可以实现接口...
    类可以实例化为对象,而模块则不能。由于模块的数据只有一个副本,因此当程序的一部分更改模块中的公共变量时,如果程序的其他任何部分随后读取该变量,都会获取同样的值。与之相反,每个实例化对象的对象数据则单独存在。


    类可以被继承,也可以实现接口,模块则不能


    在类中定义的成员其作用范围在类的特定实例内,并且只存在于对象的生存周期内。要从类的外部访问类的成员,必须使用全限名称,格式为Object.Member
    展开全文
  • VB代码存储在模块中。在VB中提供了三种类型模块:窗体模块、标准模块和类模块。  简单应用程序可以只有一个窗体,所用程序都驻留在窗体模块中,...此外还可以建立包含共享代码数据的类模块。  每个标

    VB的代码存储在模块中。在VB中提供了三种类型的模块:窗体模块、标准模块和类模块。

      简单的应用程序可以只有一个窗体,所用的程序都驻留在窗体模块中,而当应用程序庞大复杂时,就要另外附加窗体。最终可能有几个窗体中有一些共同都要执行的代码,为了在两个窗体中不产生重复代码,可创建一个独立的模块,用它实现代码公用。该独立模块即是标准模块。此外还可以建立包含共享代码与数据的类模块。

      每个标准模块、类模块和窗体模块可包含:

      声明。 可将常数、类型、变量和动态链接库(DLL)过程的声明放在窗体、类或标准模块的声明部分。每个模块只有一个声明部分

      过程。每个模块可有多个过程,过程是划分VB代码的最小单元,每个过程是一个可执行的代码片段。VB中主要有子过程、函数过程或者属性过程等

      各种模块类型

      1.窗体模块

      由于VB是面向对象的应用程序开发工具,所以应用程序的代码结构就是该程序在屏幕上表示的对应模型。根据定义,对象包含数据和代码。应用程序中的每个窗体都有一个相对应的窗体模块(文件扩展名为.frm)

      窗体模块是VB应用程序的基础。窗体模块可以包含处理事件的过程、通用过程以及变量、常数、自定义类型和外部过程的窗体级声明。写入窗体模块的代码是该窗体所属的具体应用程序专用的;也可以引用该程序内的其它窗体和对象

      每个窗体模块都包含事件过程,在事件过程中有为响应该事件而执行的程序段。窗体可包含控件。在窗体模块中,对窗体上的每个控件都有一个对应的事件过程集。除了事件过程,窗体模块还可包含通用过程,它对来自该窗体中任何事件过程的调用都作出响应。

      2.标准模块

      标准模块是程序中的一个独立容器,包含全局变量、Function(函数)过程和Sub过程(子过程)。

      可将那些与特定窗体或控件无关的代码放入标准模块中。标准模块中包含应用程序内的允许其它模块访问的过程和声明。它们可以包含变量、常数、类型、外部过程和全局声明或模块级声明。写入标准模块的代码不必固定在特定的应用程序上;

      (1)使用标准模块

      在编写程序时,很可能会遇到一些使用相同变量和例程的窗体和事件过程。在缺省状态下,变量对于事件过程来说是局部的,就是说仅能在创建这些变量的事件过程中读取或者修改变量。与之相似,事件过程对于创建它们的窗体来说也是局部。为了在工程中的所有窗体和事件中共享变量和过程,需要在该工程的一个或多个标准模块中对它们进行声明和定义。

      标准模块或代码模块是具有文件扩展名.bas,并包含能够在程序任何地方使用的变量和过程的特殊文件。

      正如窗体一样,标准模块被单 独列在Project(工程)窗口内,并可通过使用File(文件)菜单中的Save Modulel As菜单项存盘。但是,与窗体不同,标准模块不包含对象或属性设置而只包含可在代码窗口中显示和编辑的代码。

      (2)创建标准模块

      如要在程序中创建新 的标准模块,那么单击工具条Add Form(添加窗体)按钮上的下箭头并单击Mode(模块),或者单 击Project(工程)菜单中的Add Module(添加模块)菜单项。在工程中创建一个空的标准模块的步骤如下:

      S1:启动VB,打开一个新的标准工程,单击工程 菜单中的Add Module菜单项,单击Open 按钮。VB在工程中增加一个名为Module的标准模块。该 模块对应的代码窗口被打开,对象和过程列表框的内容表明该 标准模块的通用声明已被打开。在此所声明的变量与过程 在整个程序都可以使用。

      S2:双击工程资源管理器窗口的标题条,以便能看到整个工程资源管理器窗口,

      S3:在File(文件)菜单中,单 击Save Modulel As

      S4:如果D:/VB6sbs/less10文件夹未被选择时,选择该文件夹,键入MyTestMod.bas,然后按回车。该标准模块作为MyTestMod.bas文件保存到磁盘,并且可以通过Project(工程)的Add File菜单项可将此文件通过其文件名加载到另一个工程中。

      S5:双击Project(属性)窗口标题条。由于模块不包含对象,因此它惟一的属性就是Name

      S6:将Name属性改为modVariables,然后按ENTER键。

      (3)声明公用变量

      在标准模块中声明 全局变量十分简单,键入关键字Public,后跟该 变量名。

      缺省状态下,公用就量在模块中被声明为变体类型,但是可以通过使用As关键字来指定相应类型,可以把公用变量声明为某个指定的基本类型。

      3.类模块

      在VB中类模块是面向对象编程的基础。可以在类模块中编写代码建立新对象。这些新对象可以包含自定义的属性和方法。实际上,窗体正是这样一种类模块,在其上可安放控件,可显示窗体窗口

      用类模块创建对象,这些对象可被应用程序内的过程调用。标准模块只包含代码,而类模块包含代码又包含数据,可视为没有物理表示的控件。

      模块设计的考虑

      在VB中创建应用程序的最重要的部分是设计阶段。首先需要为应用程序设计一个用户界面,这个界面的设计比较容易确定。但设计代码的结构就是一项较复杂的工作。构造应用程序的方法不同,可能会造成应用程序的性能以及代码的可维护性,可使用性不同。

      VB应用程序呈层次结构。典型应用程序包括若干个模块:应用程序中每个窗体的窗体模块、共享代码的标准模块和类模块。每个模块包含若干含 有代码的过程:Event过程,Sub过程或Function过程及Property过程。

      在很多情况中都存在着多个对象共享的重复过程。这种情况最好创建一个共享的子过程,使大家都可以调用它。即使将来修改这些子程序,则只在一个地方修改就可进行全部修改,这将大大提高程序的可读性和可维护性。可以把所有的共享操作放在标准的模块中。

    展开全文
  • VB代码存储在模块中。在VB中提供了三种类型模块:窗体模块、标准模块和类模块。 简单应用程序可以只有一个窗体,所用程序都驻留在...此外还可以建立包含共享代码数据的类模块。 每个标准模块、类模块...
  • 包与模块与类

    2017-09-12 22:57:17
    因此可能会混淆模块的概念 包: 包的概念是一样的,唯一的区别在于python包下包含了__iniy__.py文件 的概念可以称作是一模一样,但是具体的私有声明会存在差异 python用self声明累不变量,用下划线进行私有的...
  • 模块之间的区别

    2020-01-30 15:25:39
    我来自Java,现在我Ruby进行了更多合作。 该module是我不熟悉一种语言功能。 我想知道module到底是什么,什么时候使用一个module ,为什么要在class使用modu
  • Node.js® 是一个基于 Chrome V8 引擎 JavaScript 运行时 (Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.) 名词解释 chrome V8引擎: 在chrome浏览器用来解析和执行js代码工具...
  • python中类与模块的关系

    千次阅读 2019-04-29 16:18:32
    模块与类的区别让人费解,因为它们都与命名空间有关,其区别简而言之如下: 模块: 1.是数据/逻辑包 2.通过编写Python文件和C扩展来创建 3.通过导入import来使用 类: 1.实现新的对象 2.由class语句创建 3.通过调用...
  • Python中ossys两模块的区别 2016年12月19日 15:01:34冬日暖阳_1992阅读数:12993更多 个人分类:Python ossys模块的官方解释如下: os: This module provides a portable way of using ...
  • : 含有函数代码块。最主要特征是将数据操作封装 模块: 物理形式表现为一个.py文件。为了编写可维护代码,我们把很多函数分组,分别放到不同文件里,这样,每个文件包含代码就相对较少,很多编程语言...
  • ps:如果把两者看成对象来操作,模块可以实现类似类的很多功能,但不建议随意修改底层魔法方法。 区别 类的特性:继承特性,重载等 模块:类似类的单例 考虑是否是单例,是否需要重载继承。 如果是复杂逻辑...
  • 1.subprocess.call(*popenargs, **kwargs)  运行命令。该函数将一直等待到子进程运行结束,...subprocess模块中只定义了一个: Popen。可以使用Popen来创建进程,并进程进行复杂交互。它构造函数如下: s
  • python引入模块时importfrom ... import的区别 import datetime是引入整个datetime包,如果使用datetime包中的datetime,需要加上模块名的限定。 1 import datetime 2 3 pr...
  • 在JavaScript发展初期就是为了实现简单页面交互逻辑,寥寥数语即可;...这时候JavaScript作为嵌入式脚本语言定位动摇了,JavaScript却没有为组织代码提供任何明显帮助,甚至没有类的概念,更不用...
  • 单元测试是用来对一个模块/一个函数/一个来进行正确性检测测试工作 单元测试中最核心四个概念: test case:一个py文件就是一个测试用例,是一个完整测试流程 test suite: 测试用例集合 test runner: ...
  • 模块常量命名与类常量命名类似,以大写字母开头。方法定义看起来也相似:模块方法定义与类方法定义类似。 通过类方法,您可以在类方法名称前面放置模块名称和一个点号来调用模块方法,您可以使用模块名称和两个冒号...
  • 在JavaScript发展初期就是为了实现简单页面交互逻辑,寥寥数语即可;...这时候JavaScript作为嵌入式脚本语言定位动摇了,JavaScript却没有为组织代码提供任何明显帮助,甚至没有类的概念,更不用...
  • 对于面向对象开发,抽象类与接口这两个东西是比较难理解;就算是对于有一定经验程序员来说也如此。下面根据自己理解来讲述一下这两个东西,如有什么不对,还望不吝赐教。 抽象:是基于来说,其本身就是...
  • Qt4 和 Qt5 模块的分类

    2020-09-05 18:55:40
    Qt5 Qt4 其中一个区别是底层架构进行了改变,Qt5 引入了更加详细的模块概念,将众多功能细分到几个模块之中,Qt4 则是一种粗略划分。本文主要对 Qt5 和 Qt4的模块进行一个简单介绍。 本文引用Qt4.8和Qt...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,575
精华内容 630
关键字:

模块与类模块的区别