【笔记】谢希仁—计网五版:chapter three 数据链路层(二)

接着一没有写完的

2.在数据链路层扩展以太网(网桥)

网桥根据MAC帧的目的地址对收到的帧进行转发和过滤,当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的MAC地址,然后再确定将该帧转发到哪一个接口,或者是把它丢弃(即过滤)。

Ⅰ、网桥的内部结构

最简单的网桥有两个接口,复杂的有更多。连接后称为一个覆盖范围更大的以太网,而原来的每个以太网可以称为一个网段(segment)。网桥依靠转发表来转发帧,转发表(如何得出看下一节)也叫转发数据库或路由目录。

上图中,若网桥从接口1收到A发送给B的帧,则在查找转发表后,把这个帧送到接口2转发到另一个网段,使E能够收到这个帧。若网桥从接口1收到A发给B的帧,就丢弃。因为转发表指出,转发给B的帧应当从接口1转发出去,而现在正是从接口1收到这个帧,这说明B和A处在同一个网段上,B能够直接收到这个帧而不需要借助于网桥的转发。

上述过程是网桥通过内部的接口管理软件和网桥协议实体完成的。

Ⅱ、网桥好处

①过滤通信量,增大吞吐量。

网桥工作在链路的MAC子层,可使以太网各网段成为隔开的碰撞域。

不同网段上的通信不会相互干扰。例如,A和B正在通信,C和D、E和F也可以同时通信。但两个网段之间只能有一个通信,就是说A和C通信那么B、D不能再进行通信。因此,若每一个网段的数据率都是10Mb/s,三个网段合起来的最大吞吐量就是30Mb/s,但如果把两个网桥换为集线器或转发器,则还是10Mb/s。

②扩大了物理范围,因而也增加了整个以太网上工作站的最大数目

③提高了可靠性。网络出现故障时,一般只影响个别网段。

④可互连不同物理层、不同MAC子层和不同速率的以太网。(如10Mb/s和100Mb/s的以太网)

Ⅲ、网桥缺点

①增加了时延

因为网桥要对接受的帧先存储和查找转发表,然后才转发。转发之前,还要执行CSMA/CD算法(发生碰撞时要退避)。

②没有流量控制功能

MAC子层没有。当网络负荷重时,网桥中的缓存的存储空间可能不够而发生溢出,以致产生帧丢失的现象。

③会产生广播风暴

网桥只适合于用户数不太多和通信量不太大的以太网。

Ⅳ、两网桥之间,还可使用点对点链路

LAN1、LAN2:以太网

B1、B2:网桥

它们通过点到点链路相连。当A向B发送数据帧时,其MAC帧首部中的源地址和目的地址分别是A和B的硬件地址,相当于③和④对应的图。当网桥B1通过点对点链路转发数据帧时,若链路采用PPP协议,则要在数据帧的头尾分别加上首部PPP-H和尾部PPP-T,相当于图中的⑤。数据帧快要离开B2时,还要剥去这个首部PPP-H和尾部PPP-T(对应于图⑥),然后经过以太网LAN2到达B。

网桥在转发帧时,不改变帧的源地址。

2.透明网桥

transparent bridge,标准是 IEEE 802.1 D。

Ⅰ、原理

当一帧到达时,网桥必须决定将其丢弃还是转发。如果要转发,则必须决定发往哪个LAN。在插入网桥之初,由于网桥不知道任何目的地的位置,因而采用扩散算法(flooding algorithm),把每个到来的、目的地不明的帧输出到连在此网桥的所有LAN中(除了发送该帧的LAN)。随着时间的推移,网桥将了解每个目的地的位置。一旦知道了目的地位置,发往该处的帧就只放到适当的LAN上,而不再散发。


Ⅱ、透明网桥的拓扑图(举例)

(1)A向B发送帧 

连在同一个局域网上的站点B和网桥B1都能收到A发送的帧。网桥B1先按源地址A查找转发表。B1中的转发表中没有A的地址,就把地址A和收到此帧的接口1写入转发表中。这就表示,以后若收到要发送A的帧,就应当从这个接口1转发出去。接着再按目的地址B查找转发表。转发表中没有B的地址,于是就通过除收到此帧的接口1以外的所有接口(现在就是接口2)转发此帧。网桥B2从其接口1收到这个转发过来的帧。

网桥B2按同样方式处理收到的帧。B2转发表中没有A的地址,就在转发表中写入地址A和接口1。B2的转发表中没有B的地址,因此B2通过除接收次帧的接口1以外的所有接口(现在就是接口2)转发这个帧。

请注意,现在两个转发表中已经各有一个项目了。问:B本来就可以直接收到A发送的帧,为什么还要让网桥B1和B2盲目转发这个帧呢?这是因为这两个网桥当时并不知道网络拓扑,因此要通过自学习过程(不得不使用这种方式进行盲目转发)才能逐步弄清所连接的网络拓扑,建立起自己的转发表。

(2)F向C发送帧

网桥B2从其接口2收到这个帧。B2的转发表中没有F,因此在转发表写入地址F和接口2。B2的转发表中没有C,因此要通过B2的接口1把帧转发出去。现在C和网桥B1都能收到这个帧。在网桥B1的转发表中没有F,因此要把地址F和接口2写入转发表,并且还要从B1的接口1转发这个帧。

(3)B向A发送帧

网桥B1从其接口1收到这个帧。B1的转发表中没有B,因此在转发表写入地址B和接口1。再查找目的地址A。现在B1的转发表中可以查到A,其转发接口是1,和这个帧进入网桥B1的接口一样。于是网桥B1知道,不用自己转发这个帧,A也能收到B发送的帧。于是网桥B1把这个帧丢弃,不再继续转发了。这次网桥B1的转发表增加了一个项目,网桥B2的转发表没有变化。

显然,如果网络上的每一个站都发送过帧,那么每一个站的地址最终都会记录在两个网桥的转发表上。

实际上,网桥的转发表中的信息有:地址、接口、该帧进入网桥的时间

为什么要记录该帧进入网桥的时间呢?

因为以太网的拓扑结构可能经常会发生变化,站点也可能会更换适配器(这样就改变了站点的地址)。另外,以太网的工作站并非总是接通电源的。把每个帧到达网桥的时间登记下来,就可以在转发表中只保留网络拓扑的最新状态信息。具体方法是:网桥中的接口管理软件周期性地扫描转发表中的项目。只要是在一定时间(例如几分钟)以前登记的都要删除。这样就使得网桥中的转发表能反映当前网络的最新拓扑状态。


由此可见,网桥中的转发表并非总是包含所有站点的信息。只要某个站点从来不发送数据,那么在网桥的转发表中就没有这个站点的项目。如果站点A在一段时间内不发送数据,那么在转发表中地址为A的项目就被删除了。

Ⅲ、透明网桥的工作方式

透明网桥以混杂方式工作,它接收与之连接的所有LAN传送的每一帧。当一帧到达时,网桥必须决定将其丢弃还是转发。如果要转发,则必须决定发往哪个LAN。这需要通过查询网桥中一张大型散列表里的目的地址而作出决定。该表可列出每个可能的目的地,以及它属于哪一条输出线路(LAN)。在插入网桥之初,所有的散列表均为空。由于网桥不知道任何目的地的位置,因而采用扩散算法(flooding algorithm):把每个到来的、目的地不明的帧输出到连在此网桥的所有LAN中(除了发送该帧的LAN)。随着时间的推移,网桥将了解每个目的地的位置。一旦知道了目的地位置,发往该处的帧就只放到适当的LAN上,而不再散发。

Ⅳ、透明网桥的工作流程

(1) 从端口 x 收到无差错的帧(如有差错即丢弃),在转发表中查找目的站 MAC 地址。

(2) 如有,则查找出到此 MAC 地址应当走的端口 d,然后进行(3),否则转到(5)。

(3) 如到这个 MAC 地址去的端口 d = x,则丢弃此帧(因为这表示不需要经过网桥进行转发)。否则从端口 d 转发此帧。

(4) 转到(6)。

(5) 向网桥除 x 以外的所有端口转发此帧(这样做可保证找到目的站)。

(6) 如源站不在转发表中,则将源站 MAC 地址加入到转发表,登记该帧进入网桥的端口号,设置计时器。然后转到(8)。如源站在转发表中,则执行(7)。

(7) 更新计时器。

(8) 等待新的数据帧。转到(1)。

Ⅴ.生成树算法

即互连在一起的网桥在进行彼此通信后,就能找出原来的拓扑结构的一个子集。在这个子集里,整个连通的网络中不存在回路,即在任何两个站之间只有一条路径。

为什么要找出一个生成树?就是为了避免产生转发的帧在网络中不断地兜圈子。看下图。

为了得出能够反映网络拓扑发生变化时的生成树,在生成树上的根网桥每隔一段时间还要对生成树的拓扑进行更新

3.源路由网桥

透明网桥容易安装,但资源利用不充分。所以源路由网桥问世了。

源路由网桥,是在发送帧时,把详细的路由信息放在帧的首部中。

源站用什么方法才能知道应当选择什么样的路由?

为发现合适路由,源站以广播形式向欲通信的目的站发送一个发现帧(discovery frame)作为探测之用。发现帧将在整个扩展的以太网中沿着所有可能的路由传送,并沿途记录所经过的路由。当发现帧到达目的站时,就沿着各自的路由返回源站。源站得知这些路由后,选择一个最佳路由。以后,凡从这个源站向该目的站发送的帧的首部,就必须携带源站所确定的这一路由信息。

帧还可以帮助源站确定整个网络可以通过的帧的最大长度。

源路由网桥和透明网桥的区别

①透明网桥的网络资源利用不如源路由网桥充分,透明网桥是透明的。源路由网桥对主机不是透明的,主机必须知道网桥的标识以及连接到哪一个网段上。

②在一个时期,透明网桥和源路由网桥是各自独立发展的。但随之而来的需求是要设计一种方式来满足通过透明网桥互联的局域网和通过源路由网桥互联的局域网之间的连接。

③最终,所有的标准网桥都必须支持透明网桥,而源路由则被作为一个可选配的附加特性。

④源路由网桥可选择最佳路由,而透明网桥只能使用生成树,而使用生成树一般不能保证所使用的路由是最佳的,也不能在不同的链路中进行负载均衡。

⑤主要特点比较

4.多接口网桥——以太网交换机

Ⅰ、概念

以太网交换机:是基于以太网传输数据的交换机,以太网采用共享总线型传输媒体方式的局域网。工作在链路层。

网桥的接口数很少,一般只有2~4个,而以太网交换机通常都有十几个接口。实质是一个多接口的网桥,和工作在物理层的转发器和集线器有很大区别。

是每个端口都直接与主机或集线器相连(普通网桥的接口往往是连接到以太网的一个网段),并且一般都工作在全双工方式。当主机需要通信时,以太网交换机能同时连通许多对端口,使每一对相互通信的主机都能像独占通信媒体那样,进行无冲突地传输数据

以太网交换机和透明网桥一样,也是一种即插即用设备,其内部的帧转发表也是通过自学习算法自动地逐渐建立起来的。当两个站通信完成后就断开连接。

使用了专用的交换结构芯片,其交换速率就较高

例如:对于普通10Mb/s的共享式以太网,若有N个用户,则每个用户占有的平均带宽只有总带宽的N分之一。在使用以太网交换机时,虽然每个接口到主机的带宽还是10Mb/s,但由于一个用户在通信时是独占而不是和其他网络用户共享传输媒体的带宽,因此对于拥有N对接口的交换机的总容量为N*10Mb/s。这是交换机最大的优点。

从共享总线以太网或10 BASE-T 以太网到交换机以太网时,所有接入设备的软件和硬件、适配器等都不需要作任何改动。也就是说,所有接入的设备继续使用CSMA / CD 协议。另外,只要增加集线器的容量,整个系统的容量是可以扩充的。

以太网一般都具有多种速率的接口。可有10Mb/s、100Mb/s、1Gb/s的接口的各种组合,这就大大方便了各种不同情况的用户

Ⅱ、转发方式

①直通(cut-through)转发

直通式交换,也就是交换机在收到帧后,只要查看到此帧的目的MAC地址,马上凭借MAC地址表向相应的端口转发。

如果在这种交换机的内部采用基于硬件的交叉矩阵,交换时延就非常小

这种方式的好处是速度快,转发所需时间短,但缺点是不检查差错就直接将帧转发出去,因此可能把一些无效帧转发给向其他的站。

②存储转发

存储转发机制就是交换机的每个端口被分配到一定的缓冲区(内存空间,一般为64 k),数据在进入交换机后读取完目标MAC地址,凭借MAC地址表了解到转发关系后,数据会一直在此端口的缓冲区内存储,直到数据填满缓冲区然后一次把所有数据转发到目的地。

在数据存储在缓冲区期间,交换机会对数据作出简单效验,如果此时发现错误的数据,就不会转发到目地端,而是在这里直接丢弃掉了。

当然这种方式可以提供更好的数据转发质量,但是相对的转发所需时间就会比直通交换要长一点

无碎片转发(segment-free switching)

碎片隔离式也叫改进型直通式交换,利用到直通式的优势就是转发迟延小,同时会检查每个数据帧的长度

因为原理上,每个以太网帧不可能小于64字节,大于1518字节。如果交换机检查到有小过64字节或大于1518字节的帧,它都会认为这些帧是“残缺帧”或“超长帧”,那么也会在转发前丢弃掉。

这种方式综合了直通交换和存储转发的优势,很多高速交换机会采用,但是并没有存储转发方式来的普及。

:(1)无论是直通转发还是存储转发都是一种二层的转发方式,而且它们的转发策略都是基于 目的MAC(DMAC)的,在这一点上这两种转发方式没有区别。第三种方法主要是第一种“直通转发”的变形。

(2)它们之间的最大区别在于,它们何时去处理转发,也就是交换机怎样去处理数据包的接收进程和转发进程的关系。

Ⅲ、交换机可方便实现虚拟局域网VLAN(virtual LAN)

定义:(IEEE 802.1 Q标准的定义)虚拟局域网VLAN是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。每一个VLAN的帧都有一个明确的标识符,指明发送这个帧的工作站是属于哪一个VLAN。

只是局域网给用户提供的服务,而不是一种新型局域网

图解:设有10个工作站分配在三个楼层中。由图看出,每一个VLAN的工作站可处在不同的局域网中,也可以不在同一层楼中。在虚拟局域网上的每一个站都可以听到同一个虚拟网上的其他成员所发出的广播。这样,虚拟网限制了接收广播信息的工作站数,使得网络不会因传播过多的广播信息(即所谓的广播风暴)而引起性能恶化。

虚拟局域网是用户和网络资源的逻辑组合,因此可按照需要将有关设备和资源非常方便地重新组合,使用户从不同的服务器或数据库中存取所需的资源。

Ⅳ、以太网的帧的格式的扩展(方便支持虚拟局域网)

VLAN标记:用来指明发送该帧的工作站属于哪一个虚拟局域网。如果还使用原来的以太网帧格式,那么就无法划分虚拟局域网。

802.1 Q 标记类型:前2字节,总是设置为0x8100,(即二进制的 10000001  00000000),当数据链路层检测到MAC帧的源地址字段后面的两个字节值是这么多时,就知道现在插入了4字节的VLAN标记。

用户优先级:占3位

规范格式指示符CFI(canonical  format  indicator):占1位

VLAN标识符VID:占12位,唯一标志了这个以太网帧是属于哪一个VLAN

以太网的最大长度由原来的1518字节(1500字节的数据加上18字节的首部)变为1522字节

六、高速以太网

速度达到或超过100Mb/s的以太网

1.100 BASE-T 以太网

是在双绞线上传送100Mb/s基带信号的星型拓扑以太网。仍用IEEE 802.3 的CSMA / CD 协议,它又称为快速以太网(fast ethernet)。用户只需更换一张适配器,再配上一个100Mb/s的集线器,就可很方便地由 10 BASE-T以太网直接升级到100Mb / s,而不必改变网络的拓扑结构。100 BASE-T的适配器有很强的自适应性,能够自动识别10Mb/s和100Mb/s。

100 BASE-T代号为 IEEE 802.3 u,是对现行的IEEE 802.3 标准的补充。

可使用交换式集线器提供很好的服务质量,可在全双工方式下工作而无冲突发生,因此 CSMA / CD 协议对全双工方式工作的快速以太网是不起作用的(但在半双工方式工作时一定要CSMA/CD协议)。

为什么不适用CSMA/CD协议还要叫以太网?这是因为快速以太网使用的MAC帧格式仍然是IEEE 802.3标准规定的帧格式。

IEEE 802.3 u的标准未包括对同轴电缆的支持,这意味着想从细缆以太网升级到快速以太网的用户必须重新布线。因此,现在,10/100 Mb / s 以太网都是使用无屏蔽双绞线布线。

100Mb / s以太网的新标准改动了原 10 Mb/s 以太网的某些规定,这里最主要原因是要在数据发送速率提高时使参数a扔保持不变(或保持为较小的数值):

可以看出,当数据率C(Mb/s)提高到10倍时,为保持参数a不变,可将帧长L(bit)也增大到10倍,也可将网络电缆长度(因而使τ)减小到原有数值的十分之一。

在100Mb / s的以太网中采用的方法是保持最短帧长不变,但把一个网段的最长电缆长度减小到100m。但最短帧长仍然为64字节,即512比特。因此100Mb/s以太网的争用期是5.12us,帧间最小间隔现在是0.96us,都是10Mb/s以太网的1/10。

100Mb/s 以太网的新标准还规定了以下三种不同的物理层标准

(1)100BASE-TX      使用两对UTP 5类线或屏蔽双绞线STP,其中一对用于发送,另一对用于接收。

(2)100BASE-FX       使用两根光纤,一根用于发送,一根用于接收。

(3)100BASE-T4         使用4对UTP 3类线或5类线,这是为已使用UTP  3类线的大量用户而设计的。它使用3对线同时传送数据(每一对线以33又1/3 Mb/s的速率传送数据),用1对线作为碰撞检测的接收信道。

2.吉比特以太网

它的标准有如下几个特点:

(1)允许在1Gb/s 下全双工和半双工两种方式工作

(2)使用IEEE 802.3协议规定的帧格式

(3)在半双工下使用CSMA/CD协议(全双工不用)

(4)与10BASE-T和100BASE-T技术向后兼容

吉比特以太网可用作现有网络的主干网,也可在高带宽(高速率)的应用场合中(如医疗图像或CAD的图形等)用来连接工作站和服务器。

它的物理层有两种成熟技术:一种来自现有的以太网,一种则是ANSI制定的光纤通道FC(fibre channel)。

物理层共有两个标准

(1)1000BASE-X (IEEE 802.3 标准)

是基于光纤通道的物理层,即FC-0和FC-1。使用的媒体有三种:1000BASE-SX(SX表示短波长)、1000BASE-LX(LX表示长波长)、1000BASE-CX(CX表示铜线,使用两对短距离的屏蔽双绞线电缆)。

(2)1000BASE-T  (802.3 ab 标准)

是使用4对UTP 5 类线,传送距离为100m。

半双工方式时,要进行碰撞检测。由于数据率提高了,所以只有减小最大电缆长度或增大帧的最小长度,才能使参数a保持为较小的数值。若将吉比特以太网最大电缆长度减小到10m,那么网络的实际价值就大大减小。而若将最短帧长提高到640字节,则在发送短数据时开销又嫌太大。因此,吉比特以太网仍然保持一个网段的最大长度为100m,但采用了“载波延伸”(carrier extension)的办法,使最短帧长仍为64字节(这样可保持兼容性),同时将争用期增大为512字节。凡发送的MAC帧长不足512字节时,就用一些特殊字符填充在帧的后面,使MAC帧的长度增大到512字节,这对有效载荷并无影响。接收端在收到以太网的MAC帧后,要把所填充的特殊字符删除后才向高层交付。当原来仅64字节长的短帧填充到了512字节时,所填充的448字节就造成了很大的开销。

为此,吉特比以太网增加了一种功能叫分组突发(packet bursting)。这就是当很多短帧要发送时,第一个短帧要采用上面所说的载波延伸的方法进行填充。但随后的一些短帧则可以一个接一个发送,它们之间只需要留有必要的帧间最小间隙即可。这样就形成一串分组的突发,直到达到1500字节或稍多一些为止。当吉特比以太网工作在全双工方式时,不适用载波延伸和分组突发。

3.10吉比特以太网

10GE,也就是万兆以太网,它并非将吉比特以太网简单地提高到10倍,有很多技术问题要解决。

主要特点:①帧格式与10 Mb/s,100Mb/s 和 1Gb/s 以太网的帧格式完全相同。还保留了802.3标准规定的以太网最小和最大帧长。这样使用户在将其已有的以太网进行升级时,仍能和低速率的以太网很方便地通信。

②由于数据率很高,所以不再使用铜线而只是用光纤作为传输媒体。也可用较便宜的多模光纤。

③只工作在全双工方式,因此不存在争用问题,也不使用CSMA/CD协议。这就使得10 GE 的传输距离不再受进行碰撞检测的限制而大大提高了。

吉比特以太网的物理层可以使用已有的光纤通道的技术,而10GE的物理层则是新开发的。它有两种不同的物理层

(1)局域网物理层 LAN PHY 。局域网物理层的数据率是 10.000 Gb/s(这表示是精确的10 Gb/s),因此一个10GE交换机可以支持正好10个吉比特以太网接口。

(2)可选的广域网物理层 WAN PHY。广域网物理层有另一种数据率,这是为了和所谓的“10Gb/s”(并非精确,去掉帧首部的开销后,有效载荷的数据率少于这么多)的SONET/SDH相连接。反之,SONET/SDH的“10 Gb/s ”速率不可能支持10GE以太网的接口,而只是能够与SONET/SDH相连接。

10GE并没有SONET/SDH的同步接口,而只有异步的以太网接口。因此 ,10GE在和SONET/SDH连接时,出于经济上的考虑,它只是具有SONET/SDH的某些特性,但并不是全部兼容。

优点:

(1)以太网是一种成熟技术,当然对ISP来说,使用以太网还需要在更大的范围进行试验。

(2)互操性好,不同厂商生产的以太网都能可靠地进行互操作。

(3)广域网中使用以太网时,其价格低,还能使用多种传输媒体,这样使不同传输媒体的用户在进行通信时不必重新布线。

(4)端到端的以太网连接使帧的格式全都是以太网的格式,而不需要再进行帧的格式的转换,这就简化了操作和管理

(4)以太网的演变证明了它可扩展(从10Mb/s到100Mb/s)、灵活(多种媒体、全/半双工、共享/交换)、易于安装、稳健性好

4.使用高速以太网进行宽带接入

以太网已经成功地从10Mb/s的速率提高到100Mb/s、1Gb/s、10Gb/s,并且所覆盖的地理范围从局域网扩展到了域域网和广域网,因此人们尝试使用宽带以太网进行宽带接入因特网。

高速以太网接入的优点:可提供双向的宽带通信,根据用户对带宽的需求灵活地进行带宽升级。域域网和广域网都采用吉比特以太网或10GE时,采用高速以太网接入可实现端到端的以太网传输,中间不需要再进行帧格式的转换。这就提高了数据的传输效率和降低了传输成本。

举例:每个大楼门口有一个100Mb/s的以太网交换机(对于通信量不大的楼房也可使用10Mb/s的以太网交换机),然后根据情况在每一个楼层安装一个10Mb/s或100Mb/s的以太网交换机。各大楼的以太网交换机通过光纤汇接到结点汇接点。若干个光结点汇接点再通过吉比特以太网汇接到一个高速汇接点,然后通过城域网连接到因特网的主干网。

以太网接入时,若用户少,就很难获得经济效益。如果是居民密集的地方,以太网接入是一个可供选择的宽带接入方法。

七、其他类型的高速局域网或接口

光纤分布式数据接口FDDI(fibre distributed data interface):是一个使用光纤作为传输媒体的令牌环形网。但其芯片复杂而价格贵,所以被以太网取代了。

高性能并行接口HIPPI(high-performance parallel  interface):主要用于超级计算机与一些外围设备(如海量存储器、图形工作站等)的高速接口。

光纤通道(fibre channel):可处理数据通道和网络的连接,也可传送网络的分组,基本结构是与输入和输出接口连接的一个交叉式交换机。

推荐阅读更多精彩内容