专注SIP通讯产品与方案

数据链路层的设备

3.2.1网卡
1.网卡概述
       网卡(NetworkInterfaceCard)是OSI模型中数据链路层的设备,如图3-4所示。
数据链路层的设备 (图1)
图3-4  网卡在OSI/RM中的位置
       网卡是LAN的接入设备,是单机与网络间架设的桥梁。它主要完成如下功能:
       1)读入由其他网络设备(路由器、交换机、集线器或其他NIC)传输过来的数据包,经过拆包,将其变成客户机或服务器可以识别的数据,通过主板上的总线将数据传输到所需设备中(CPU、RAM或硬盘驱动器)。
       2)将PC设备(CPU、RAM或硬盘驱动器)发送的数据,打包后输送至其他网络设备中。
       目前,市面上常见的网卡种类繁多。按所支持的带宽分有10M网卡、100M网卡、10/100M自适应网卡和1000M网卡。按总线类型分有PCI网卡、ISA网卡、EISA网卡及其他总线网卡。由于历史原因,以太网的传输介质并不统一,使网卡的网络接口有些复杂,按传统介质分,以太网可分为粗缆网(AUI接口)、细缆网(BNC接口)及双绞线网(RJ-45接口),网卡相应地分为RJ-45口、IPC口(RJ-45+BNC).TPO口(RJ-45)、COMBO(RJ-45+AUI+BNC)和TP口(BNC+AUI)。其中TP□现在已经很少见到。我们在采购网卡之前应搞清楚自己的网络需要什么接口,以免买回来无法使用。一般来讲,10M网卡大多为ISA总线,100M网卡中全部是PCI总线;服务器端的网卡可能有EISA总线或其他总线。众所周知,ISA为16位总线,PCI为32位总线,PCI卡自然比ISA总线多、速度快。
       由于老式的网卡上用的都是分离元件,性能不稳定且设置复杂,兼容性差。主要是采用逐帧处理技术,这种工作方式大大降低了系统的性能。之后针对这些缺点,后来进行了多方面的改进,如提高了集成度,网卡的稳定性有所增强;采用了标准软件接口;传送方面采用了多帧处理技术,即多帧缓冲技术。发送数据时,网卡在发送前一帧的同时可以接收CPU发来的下一帧数据,同样,网卡在接收端口传来数据的同时,即可向内存发送上一帧数据,但必须是整帧整帧地发送或接收数据,并非完全意义上的并行处理。
       最新网卡采用ASIC和最先进的元件,大大提高了性能和集成度。另外成本也降低了许多。用网卡驱动软件优化传输操作时序,使管道任务的重叠达到最大,延时达到最小。从而得到真正并行机制,使性能平均提高了40%。在并行机制中,传送和接收是可叠加的流水过程,不再是从前的逐帧处理。在发送数据时,不等整帧装入网卡缓冲区即可开始向网络发送数据。在接收时,不等整帧进入网上缓冲区即可开始向系统内存发送数据。
       并行处理技术对处理精度和定时要求非常准确,当数据帧还未完全发送完毕时,网卡缓冲区变空就称为下溢,网卡缓冲区里数据已满时,网络接口处又来数据或未传完便称为上溢。在接收端采用动态调整机制,其目的是将数据移入系统内存避免上溢。在接收数据期间,并行机制使用预测中断,即在网卡已确定了帧地址时,CPU就开始处理中断,同时,已收到足够长的字节能来预测来帧的数据量。在CPU处理完第一个预测中断时,CPU就开始将数据从网卡缓冲区送到主存,网卡在接收第一数据帧的末字节时,CPU已准备将数据移向内存。
2.网卡的类型
      网卡分有线网卡和无线网卡。有线网卡用于有线网络,无线网卡用于无线网络。下面就有线网卡的类别、总线类型进行介绍。
      从工作方式上来看,网卡大致有5类:
       □ 主CPU用IN和OUT指令对网卡的I/O端口寻址并交换数据。这种方式完全依靠主CPU实现数据传送。当数据进入网卡缓冲区时,LAN控制器发出中断请求,调用ISR,ISR发出I/O端口的读写请求,主CPU响应中断后将数据帧读入内存。
       □ 网卡采用共享内存方式,即CPU使用MOV指令直接对内存和网卡缓冲区寻址。接收数据时数据帧先进入网卡缓冲区,ISR发出内存读写请求,CPU响应后将数据从网卡送至系统内存。
       □ 网卡采用DMA方式,ISR通过CPU对DMA控制器编程,DMA控制器一般在系统板上,有的网卡也内置DMA控制器。DMA控制器收到ISR请求后,向主CPU发出总线HOLD请求,获CPU应答后即向LAN发出DMA应答并接管总线,同时开始网卡缓冲区与内存之间的数据传输。
       □ 主总线网卡能够裁决系统总线控制权,并对网卡和系统内存寻址,LAN控制权裁决总线控制权后以成组方式将数据传向系统内存,IRQ调用LAN驱动程序ISR,由ISR完成数据帧处理,并同高层协议一起协调接收和发送操作,这种网卡由于有较高的数据传输能力,常常省去了自身的缓冲区。
       □ 智能网卡中有CPU、RAM、ROM以及较大的缓冲区。其I/O系统可独立于主CPU,LAN控制器接收数据后由内置CPU控制所有数据帧的处理,LAN控制器裁决总线控制并将数据成组地在系统内存和网卡缓冲区之间传递。IRQ调用LAN驱动程序ISR,通过ISR完成数据帧处理,并同高层协议一起协调接收和发送操作。
       一般的网卡占用主机的资源较多,对主CPU的依赖较大,而智能型网卡拥有自己的CPU,可大大增加LAN带宽,有独立的I/O子系统,将通道处理移至独立的自身处理器上。
       100Mbps和1000Mbps高速以太网是流行的10Mbps以太网发展而来的,它保留了CSMA/CD协议,从而使得10Mbps、100Mbps、1000Mbps以太网在带宽上可以方便地连接起来,不需要协议转换。100Mbps和1000Mbps以太网传输速率比传统的10Mbps以太网提高了10-100倍,理论上数据吞吐量可达80〜8000Mbps。
       100Mbps、1000Mbps以太网网卡的推出使以太网进入了高速网的行列,基于交换机和共享集线器实现100Mbps/1000Mbps共享速度。高性能的网络需要高性能的网卡,由于有了高性能的硬件、软件和算法以及先进的技术,网卡的性能得到大大的提高,使网络用户可以得到更强大、更全面的服务。
       以总线类型来看,网卡主要有ISA.EISA.PCMCIA,PCI.MC(MicroChannel,微通道)5种类型的网卡,它们的作用分别叙述如下。
(1)ISA
       工业标准体系结构ISA卡,ISA卡总线作为传送为10Mbps(在10Mbps交换制时)或100Mbps的媒介时,应注意如下几点:
□ ISA总线只有16位宽。
□ ISA总线的工作时钟频率只有8MHz。
□ ISA总线不允许猝发式数据传输。
□ 大多数ISA总线为I/O映射型,从而降低数据传输速度。
ISA适配卡具有以下性能特点:
□ 支持8或者6位ISA插槽。
□ 可利用软件进行配置。
□ 与NE2000兼容。
□ 可编程I/O口或者共享内存操作方式。
□ 支持RPL标准。
□ 支持POSTo
□ 加电检测。
□ 全双工(FDX)操作。
□ 安装支持“即插即用”。
□ 利用IBM的LANAID应用程序,安装过程轻松自如。
□ 支持对称多处理器(SMP)以及所有在EISA、微通道或PCI插槽之外,同时带有ISA插槽的个人计算机。
□ 带有RPL可选件。
□ 支持POSTo
(2)PCI适配卡
       PCI总线外部设备互连适配卡,它不仅具有32位总线主控器,性能卓越.而且可以在UTP或AUI介质上,以高达10Mbps的速度进行操作,该适配卡具有以下性能特点:
□ 性能优良,具有32位总线主控器。
□ 全双工(FDX)操作。
□ 安装支持“即插即用”。
□ 配有外部状态LED,用来显示链路(Link)及活动(ACTIvity)状态。
□ 带有RPL可选件。
□ 支持POSTo
       100/10PCI以太网适配卡可以采用全双工(FDX)或半双工(HDX)工作方式,运行速率为100Mbps或10Mbps可选。该适配卡符合IEEE802.3的高速以太网规程,可以操作于共享式或交换式以太网两种方式。100/10PCI以太网适配卡具有以下性能特点:
□ 目前支持10Mbps速率,将来可以支持100Mbps,以适应网络不断发展的需求。
□ 对现有网络无需作大幅度改动,即可通过数种途径来改善网络性能。
□ 利用单个RJ-45接头即可连接到速率为10Mbps或100Mbps的网络。
□ 支持SMP。
(3)专为便携机设计的PCMCIA适配卡
       PC存储器接口卡PCMCIA对于遵循PCMCIARelease2.0的便携机,IBM还提供以太网信用卡型适配卡II型(用于10BASE-T或10BASE-2)。该适配卡与IEEE802.3/EthernetVersion2.0网络兼容。另外,同一块以太网信用卡型适配卡,既可以连接10BASE-T缆线,也可以连接10BASE-2缆线。这样就可以为那些需要使用两种网络的用户,提供一个经济有效的解决方案
(4)专为微通道系统设计的以太网适配卡
       对于那些基于微通道(MCA)体系结构的系统,IBM提供3种以太网适配卡以供选择,IBMLANAdapter/AuforEthernet便是其中之一。它是一种客户机适配卡,支持16位或32位。该适配卡配有接头,用于将微通道系统与所有的以太网配线系统相连。它还具有另外一些性能特性。
□ 共享内存操作方式。
□ 支持RPL标准。
□ 支持POSTo
(5)为EISA系统设计的以太网适配卡
       EISA以太网适配卡是为服务器和高性能工作站提供的一种32位总线主控器适配卡。它能够减少发送和接收数据所需的主机CPU时钟数,以及增加以太网的数据吞吐量,从而极大地提高网络性能。
3,网卡的电缆接口
       网卡的不同接口适用于不同的网络类型,网卡的接口主要有RJ-45接口、光纤模块接口、细同轴电缆的BNC接口、粗同轴电AUI接口、FDDI接口、ATM接口等。BNC接口、AUI接口、FDDI接口、ATM接口比较少。
       光纤模块接口分为LC、SC、FC、ST等。
3.2.2网桥
       网桥(bridge)也称为桥接器,是连接两个局域网的存储转发设备,用它可以完成具有相同或相似体系结构网络系统的连接。一般情况下,被连接的网络系统都具有相同的逻辑链路控制规程(LLC),但媒体访问控制协议(MAC)可以不同。
       网桥是数据链路层的连接设备,准确地说它工作在MAC子层上。网桥在两个局域网的数据链路层(DDL)间按帧传送信息。网桥在OSI/RM中的位置如图3-5所示。
数据链路层的设备 (图2)
图3-5  网桥在OSI/RM中的位置
       网桥是为各种局域网间存储转发数据而设计的,它对末端节点用户是透明的,末端节点在其报文通过网桥时,并不知道网桥的存在。
       网桥可以将相同或不相同的局域网连在一起,组成一个扩展的局域网络。
网桥的优点:
□ 过滤通信量。使局域网内一个网段上各工作站之间的信息量局限在本网段的范围内。
□ 扩大了物理范围,增加整个局域网上的工作站的数目。
□ 可使用不同的物理层,可互连不同的局域网。
□ 提高了可靠性。如果把较大的局域网分割成若干较小的局域网。
网桥的缺点:
□ 由于网桥对接收的帧要先存储和查找站表,然后转发,这就增加了时延。
□ 在MAC子层并没有流量控制功能。当网络上负荷很重时,可能因网桥缓冲区的存储空间不够而发生溢出,以致产生帧丢失的现象。
□ 具有不同MAC子层的网段桥接在一起时,网桥在转发一个帧之前,必须修改帧的某些字段的内容,以适合另一个MAC子层的要求,增加时延。
□ 网桥只适合于用户数不太多和信息量不太大的局域网,否则有时会产生较大的广播风暴。
1.网桥的工作原理
       为了说明网桥的工作原理,我们以FDDI为背景来叙述。
       FDDI是一个开放式网络,它允许各种网络设备相互交换数据,网桥连接的两个局域网
可以基于同一种标准,也可以基于两种不同类型的标准。当网桥收到一个数据帧后,首先将它传送到数据链路层进行差错校验,然后再送至物理层,通过物理层传输机制再传送到另一个网上,在转发帧之前,网桥对帧的格式和内容不作或只作很少的修改。网桥一般都设有足够的缓冲区,有些网桥还具有一定的路由选择功能,通过筛选网络中一些不必要的传输来减少网上的信息流量。
       例如,当FDDI站点有一个报文要传到以太网IEEE802.3CSMA/CD网上时,需要完成下面一系列工作。
□ 站点首先将报文传到LLC层,并加上LLC报头。
□ 将报文传送到MAC层,再加上FDDI报头。FDDI报文最大长度为4500字节,大于此值的报文可分组传送。
□ 再将报文交给PHY和PMD,经传输媒体送到FDDI-IEEE802.3以太网桥。
□ 网桥上的MAC层去掉FDDI报头,然后送交LLC层处理。
□ 经过重新组帧并计算校验值,但与IEEE802.3以太网传输速率(10Mbps)不匹配,因此,在网桥上就存在拥挤和超时问题,也就有重发的可能。如果多次重发均告失败,那么将放弃发送,并通知目的站点网络可能有故障。
2,网桥的功能
一个FDDI网桥应包括F列基本功能:
       1)源地址跟踪。网桥具有一定的路径选择功能,它在任何时候收到一个帧以后,都要确定其正确的传输路径,将帧送到相应的目的站点。网桥将帧中的源地址记录到它的转发数据库(或者地址查找表)中,该转发库就存放在网桥的内存中,其中包括了网桥所能见到的所有连接站点的地址。这个地址数据库是互联网所独有的,它指出了被接收帧的方向,或者仅说明网桥的哪一边接收到了帧。能够自动建立这种数据库的网桥称为自适应网桥。
       在一个扩展网络中,所有网桥均应采用自适应方法,以便获得与它有关的所有站点的地址。网桥在工作中不断更新其转发数据库,使其渐趋完备,有些厂商提供的网桥允许用户编辑地址查找表,这样有助于网络的管理。
        2)帧的转发和过滤。在相互连接的两个局域网之间,网桥起到了转发帧的作用,它允许每个LAN上的站点与其他站点进行通信,看起来就像在一个扩展网络上一样。
       为了有效地转发数据帧,网桥提供了存储和转发功能,它自动存储接收进来的帧,通过地址查找表完成寻址;然后把它转发到源地址另一边的目的站点上,而源地址同一边的帧就被从存储区中删除。
      过滤(filter)是阻止帧通过网桥的处理过程,有3种基本类型:
       □目的地址过滤。当网桥从网络上接收到一个帧后,首先确定其源地址和目的地址,如果源地址和目的地址处于同一局域网中,就简单地将其丢弃,否则就转发到另一局域网上,这就是所谓的目的地址过滤。
       □源地址过滤。所谓源地址过滤,就是根据需要,拒绝某一特定地址帧的转发,这个特定的地址是无法从地址查找表中取得的,但是可以由网络管理模块提供。事实上,并非所有网桥都进行源地址的过滤。
曰协议过滤。目前,有些网桥还能提供协议过滤功能,它类似于源地址过滤,由网络管理指示网桥过滤指定的协议帧。在这种情况下,网桥根据帧的协议信息来决定是转发还是过滤该帧,这样的过滤通常只用于控制流量、隔离系统和为网络系统提供安全保护。
       3)生成树的演绎。生成树(spanningtree)是基于IEEE802.1d的一种工业标准工业算法,利用它可以防止网上产生回路,因为回路会使网络发生故障。生成树有两个主要功能:
       □在任何两个局域网之间仅有一条逻辑路径。
       □在两个以上的网桥之间用不重复路径把所有网络连接到单一的扩展局域网上。
       扩展局域网的逻辑拓扑结构必须是无回路的,所有连接站点之间都有一个唯一的通路。在扩展网络系统中,网桥通过名为问候帧的特殊帧来交换信息,利用这些信息来决定谁转发、谁空闲。确定了要进行转发工作的网桥还要负责帧的转发,而空闲的网桥可用作备份。
       4)协议转换。早期的FDDI网桥结构通常是专用的封装结构,这是由于早期的FDDI仅与IEEE802或IEEE802.5子网相连,不需要和其他局域网中的节点通信。但是,在一个大型的扩展局域网中,有很多系统在一起操作,这种专用的封装式网桥就无法提供相互操作的能力。为此,采用了新的转换技术,依照与其他网络的桥接标准,形成了转换式网桥,建立可适应局域网互连的标准帧。
       □ 封装网桥:封装式网桥(encapsulationbridge)采用一些专用设备和技术,将FDDI作为一种传输管道来使用,它要求网上使用同一型号的网桥,这无疑影响了网络的互操作性能。以FDDI-Ethemet网桥为例,FDDI封装式网桥使用专用协议技术,用FDDI报头和报尾来封装一个以太帧,然后把这个帧转发到FDDI网络上,目的地址也隐含在封装过的帧中。封装式网桥把这个FDDI帧发送到另一个封装式网桥上,由该封装式网桥使用与封装技术相对应的拆封技术将封装拆除。由于目的地址被封装过,因此只能采用广播帧的形式发送帧,这无疑会降低网络带宽的使用率。如果互联网的规模很大,包含的网桥和局域网很多,那么广播帧的数目也将增加,这样势必会造成不必要的拥挤。
       封装式网桥不能通过转换网桥发送数据,只有同一供货商提供的同一种封装式网桥才能一起工作,也不能通过其他供货商提供的封装式网桥传输数据,除非其他供货商提供的封装式网桥也同样使用这种专用协议。
       □转换式网桥:转换式网桥(translatingbridge)克服了封装式网桥的弊病,将需要传输的帧转换成目的网络的帧格式,然后再上网传输。还是以FDDI-Ethernet网桥为例,以太网工作站要使用连在FDDI±的高性能服务器,必须先将Ethernet帧格式转换成FDDI格式帧,然后通过FDDI上传输至目的服务器,此时服务器接收到的是FDDI格式的帧,故不需做任何改变就可使用。可见转换式网桥是通用的。任何转换式网桥都能与其他网桥互相通信。
       5)分帧和重组。网际互连的复杂程度取决于互连网络的报文、帧格式及其协议的差异程度。不同类型的网络有着不同的参数,其差错校验的算法、最大报文分组、生成周期也不尽相同。例如,FDDI网络中允许的最大帧长度为4500字节,而在IEEE802.3以太网中最大帧长度为1518字节。这样网桥在FDDI向Ethernet转发数据帧时,就必须将FDDI长达4500字节的帧分割成几个1518字节长度的IEEE802.3协议以太网帧,然后再转发到以太网上去,这就是分帧技术。一些通用的通信协议都定义了类似的控制帧大小差异的方法(称为包分割方法)。反之,在Ethernet向FDDI转发数据帧时,必须将只有1518字节的以太帧组合成FDDI格式的帧,并以FDDI的格式传输,这就是帧的重组。
       对于使用较长报文格式的协议和应用,帧的分割和重组是非常重要的。如果FDDI网桥中没有分帧和重组功能,那么通过网桥互连就无法实现。但是,在协议转换过程中,分帧和重组工作必须快速完成,否则会降低网桥的性能。
       6)网桥的管理功能。网桥的另一项重要功能是对扩展网络的状态进行监督,其目的就是为了更好地调整拓扑逻辑结构,有些网桥还可对转发和丢失的帧进行统计,以便进行系统维护。网桥管理还可以间接地监视和修改转发地址数据库,允许网络管理模块确定网络用户站点的位置,以此来管理更大的扩展网络。另外,通过调整生成树演绎参数能不定期地协调网络拓扑结构的演绎过程。
3.网桥的种类
       1)内桥。内桥是通过文件服务器中的不同网卡连接起来的局域网。
       2)外桥。外桥不同于内桥,外桥安装在工作站上,它实现连接两个相似的局域网络。外桥可以是专用的,也可以是非专用的。专用外桥不能做工作站使用,它只能用来建立两个网络之间的连接,管理网络之间的通信。非专用外桥既起网桥的作用,又能作为工作站使用。
       3)远程桥。远程桥是实现远程网之间连接的设备,通常远程桥使用调制解调器与传输介质(如电话线)实现两个局域网的连接。