注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 华硕获奖方案 - 中小企业..
 帮助

多层交换


2008-04-06 14:11:05
版权声明:原创作品,谢绝转载!否则将追究法律责任。
基础知识
 
1.广播的目的Mac是全F,泛洪不是广播,目的Mac是具体的Mac地址,实质上泛洪是单播的多重帧复制,之所以容易搞混,是因为现象是相同的,广播和泛洪都会将数据帧发往同属Vlan的所有端口以及Trunk链路,Trunk链路不属于任何Vlan,转发时会打上Vlan ID。
 
2.Switch广播的触发点是收到一个数据帧,发现目的Mac是全F,ARP请求就是一个广播;泛洪的触发点是收到一个单播数据帧,发现目的Mac在CAM表中没有匹配的条目。
 
3.数据包在节点间的移动都是通过ARP负责将IP映射到Mac来完成的,Mac地址具有“一跳效应”,每经过一个三层设备,都会将目的Mac改为下一跳接口的Mac地址,并将源Mac改为自己出口的Mac地址,而二层设备只能进行识别。
 
4.所谓交换,就是在链路层上进行查找和转发的一系列行为。现在路由和交换的概念已经很模糊,功能交叉,不能因为产品名称叫交换机就认定是二层设备。
 
5.路由器能划分广播域和冲突域,二层交换机只能划分冲突域,但可以通过Vlan技术在二层实现广播域的分隔。
 
6.多层交换就是交换机带路由功能,逻辑上都是vlan间路由。
 
Vlan间路由技术
 
1.在一开始vlan间路由的实现基于路由器的物理端口,即每一个以太口下连一个Vlan,有多少物理端口就可以实现多少vlan间的路由,但遗憾的是路由器的端口造价很高,而且所有的流量都通过路由器,处理能力也受到挑战。
 
2.子接口的应用使得经典的单臂路由模型出现,这样端口成本降了下来,但由于所有流量都通过一条物理链路来走,使得带宽成为瓶颈。
 
3.后来在高端的Switch上实现了一种叫做“虚Trunk”的技术,是在这个Switch上加一个没有接口的模块,这个模块专门用来在底板上虚拟出路由和交换模块之间的Trunk链路,可以实现4G的带宽,但是随着千兆以太网时代的到来,带宽又一次形成瓶颈。
 
4.SVI技术是目前正在应用的主流技术,逻辑上还是第一代的设计,用独立的接口,但是通过虚拟化实现,SVI接口在背板里生成,可以虚拟出N个,这样没有端口成本开销,且带宽可以由背板性能保证。每个SVI接口对应一个Vlan,所以虽然是在Switch这个黑盒子里实现,但是模型上还是vlan间路由。
 
多层交换
 
1.老的多层交换技术叫做MLS,事实上实现MLS的Switch并没有路由功能,也不支持SVI,就是一个三层的识别和硬件缓存技术,将源IP,目的IP,源Mac,目的Mac映射成条目记录在缓存中,称之为一个“流”,这样再有相同的数据包来不必再到路由器那里,根据缓存信息进行三层条目匹配,二层改写和转发。
 
二层的Mac重写用ASIC实现,具体操作是把源Mac改写为自己出口的Mac地址,目的Mac改写为下一跳三层设备直连接口的Mac地址,如果是二层设备或者直连主机,目的Mac就是目的主机的Mac地址。其实关键点就是三层设备才有改写Mac地址的能力,二层的只能识别,无法应答上游三层设备的ARP请求。
 
2.支持SVI的Switch真正实现了路由功能,真正知道IP地址是什么东西,对应的技术叫做CEF,已经在交换领域取代了MLS,CEF分为控制层面和数据转发层面,将软件进程中的路由表和ARP表在硬件的TCAM和DRAM中实现,分别形成FIB表和ADJ表,一次路由,由控制层面转发,多次交换,随后的转发都在数据层面完成。

本文出自 “Steven.Q的学习笔记” 博客,谢绝转载!





    文章评论
 
2008-04-06 20:51:31
哦谢谢~

 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: