一直想找到交换的根源,这回终于找到了,以下分享给xdjm们 如有什么问题敬请指教!

1. EARL
源码地址识别逻辑负责交换机内第二层地址管理。回忆一下交换机学习M A C地址的过程,
当帧从交换机通过时,交换机获取其M A C地址并保存到内存中,以便用于转发决定。在
Catalyst 5000交换机中,E A R L实现的就是这项功能。它不但保存M A C地址,并且连端口号、
V L A N号也一并保存。E A R L还参与帧的转发过程,稍后我们就会看到这一点。
在实际中,入界端口能帮助E A R L作出交换决定。当帧到达任一个端口时,该端口会记下
与帧中M A C地址相关的端口号和V L A N号,并为该帧加上一个校验和字段。在获得总线仲裁
器批准之后,端口将这些信息通过总线送给所有其他端口以及E A R L,E A R L阅读这些信息并
简单地同它所维护的转发表进行比较,即可作出转发决定。
在做转发决定的过程中, E A R L还有一对逻辑“朋友”。本地目标逻辑( LT L)帮助E A R L判
断转发表中是否有帧的M A C地址,接着,色彩阻塞逻辑( C B L)确定目的端口与源端口处于同
一个V L A N中。任何交换机都是这样,如果E A R L断定转发表中没有匹配的M A C地址,那么帧
就会被转发到同一V L A N的每一个端口。
最近E A R L还做过一些修订,性能增加不少。E A R L+允许Catalyst 5000交换机中使用令
牌环网卡,通常E A R L只理解以太帧。如果使用N e t F l o w卡的话, E A R L 2还支持第三层路由表
回送(l o o p b a c k)功能。这两种“新型” E A R L只能在监控Ⅱ型和监控Ⅲ型卡上使用。
E A R L硬件与网络管理部件相独立,因此如果这些网络管理部件出现故障的话, E A R L仍
能正常工作。实际上所有网络管理部件( S N M P)和远程管理部件( R M O N)都有一个独立的处理
器,这些处理器可能会无法工作,但C a t a l y s t仍能继续转发帧,当然,你不再能远程监视该交
换机以及收集统计信息,但用户不会知道这些区别。
2. 总线仲裁
前面提到,Catalyst 5000有一个1 . 2 G b p s、4 8位宽的交换总线,它还有一条总线,叫做管
理总线。管理总线用于与交换机内负责性能监控、配置控制以及模块软件升级的卡进行通信。
E A R L还有一条用作专用通信信道的总线,叫做索引总线。前面说过, E A R L为每一个通过交
换机的帧作出转发决定, E A R L通过索引总线将其转发决定分别通报给每一个端口,在这种情
况下,通过交换总线的帧不受任何影响。
监控卡上除了有网络管理引擎和E A R L外,还有一个总线仲裁部件,由它决定哪个端口能
访问总线。当一个端口要发送一个帧时,它先向总线仲裁器发一个请求,一旦总线仲裁器接
受该请求,该端口就将帧送到总线上。因为任一时刻总线上都只能有一个帧,所以需要仲裁
器。
E A R L在这里起作用。当一个帧被发送到总线上后,所有端口都接收并缓存它。E A R L负
责确定该帧真正要去哪个端口,如果该端口唯一并已知, E A R L就通过索引总线指示这个特定
的端口将帧发出,并告诉所有其他端口将该帧的拷贝丢弃。如果帧的目的地址未知, E A R L就
告诉同一V L A N中的所有端口(帧进来时的端口除外)将帧发送出去,这就是当帧的目的地址未
知时用洪泛法转发帧的过程,同样的过程还用于广播帧和组播帧。
交换机中以这种方式转发帧特别有效。每个帧通过背板只有一次, E A R L大部分时间是花在等待帧完成传输上。考虑一个典型的以太帧,它有8个字节的前导符,紧接着一个6字节的
M A C地址。入界端口又将一个4字节的V L A N标识符、一个4字节的源端口标签加到每个帧的
前面,这样,E A R L在做出转发决定之前,必须要读总共2 2个字节。
因为4 8位(或6个字节),要在同一时间通过交换总线,因些需要4个时钟周期,以便E A R L
能获得必须的转发信息。做出转发决定后, E A R L必须等候,直到帧通过交换总线并完成传输
过程为止,然后才能允许下一个帧通过。
3. 专用集成电路
Catalyst 5000中有一个部件是A S I C。A S I C指的是一类定做的芯片。很多硬件公司(不仅仅
是C i s c o)使用A S I C。在Catalyst 5000中,还有其他一些部件也是当作专用集成电路( A S I C)使用
的(例如E A R L),但就测试的目的来说, A S I C指的是执行特定的成帧及校验和任务的端口级芯
片。
Catalyst 5000交换机上的每一个交换端口都有各自的A S I C(在某些卡上,C i s c o可能在一块
物理芯片上使用多个逻辑A S I C),这些A S I C能实现很多功能,它含有帧缓冲,能够缓冲帧,
并保存所在端口对应的M A C地址,还能处理总线协商控制,以便把帧放到总线上。
由于Catalyst 5000交换机是存储转发型交换机,当帧到达时, A S I C要进行最初的校验和
检验。在该帧穿过背板之前, A S I C负责为其增加1 2个字节的信息,在这1 2个字节中, 4个表
示VA L N标识符,4个表示端口号,4个表示一个新校验和。该帧在返回到任何线路之前,端口
级A S I C再去掉这1 2个字节。
S C I芯片还负责创建所有干线帧格式。以太网和令牌环端口能使用I S L干线将多个V L A N
的信息从一个端口发送出去。端口级A S I C既要创建发送出去的数据格式,否定还要在收到这
样的干线帧时负责解释。新型的以太网A S I C还能实现开放标准8 0 2 . 1 Q干线传输功能,在F D D I
卡,A S I C可实现8 0 2 . 1 0干干线传输功能。
注意并非所有以太网端口级A S I C都能实现这些干线传输功能,有些只能做些内存管理和
内部格式处理工作。如果一定要使用I S L和/或8 0 2 . 1 Q干线,那就要检查你所购买的卡是不是
具有相应的功能。
4.2.2 帧流过交换机
在跟随一个帧进入交换机的,我们已经介绍了很多交换机部件,下面要介绍的是一个帧
通过C a t a l y s t交换机的“一日生活”,当然,实际上一个帧通过交换机根本用不了一天。
1) 交换机的某个端口收到一个帧。由于Catalyst 5000是一种存储转发交换机,故要接收
整个帧并将其存储在缓冲中。
2) 在帧被缓存期间,端口级A S I C为其进行封装,增加V L A N标识符,源端口号以及一个
新校验和。E A R L要用V L A N标识符和源端口号来做最后的转发决定。
3) ASIC向本地卡仲裁器发送一个请求,要求将帧放到总线上,卡仲裁器再向主仲裁器转
发这个请求。
4) 当该帧通过总线时,每个A S I C开始复制该帧并将其拷贝存储各自的缓冲中。
5) 4个时钟脉冲后, E A R L已经收到了做出转发决定所必需的信息。E A R L经索引总线通
知哪些端口应该保留这个正在到达的帧,哪些端口应该丢弃它,那些要保留此帧的端口要继续接收这个尚未收完的帧,而那些应该忽略此帧的端口就将其从各自的缓冲中清除。
6) 帧通过交换总线时,各端口继续进行拷贝,直到在E A R L的指引下所有端口校验和为
止。
7) 此刻,帧呆在目的端口的出界缓冲中并等待竞争线路。
8) 现在,交换总线准备处理另一个帧,同时E A R L通知仲裁器接收另一个帧。