交换技术
以太网
同一层次的技术标准包括令牌环网
以太网技术标准主要定义了数据链路层和物理层的规范。 等等。TCP/IP协议本身是与数据链路层和物理层无关的,
TCP/IP协议栈可以架构
在以太网
以太网技术范围
全双工模式不需要。
在采用CSMA/CD传输介质访问的以太网中,任何一个
CSMA/CD LAN工作站
在任何一时刻都
可以访问网络。发送数据前,工作站要侦听网络是否堵塞,只有检测到网络空闲时,工作站 才能发送数据。工作站在发送数据帧时需要等待一个时间片的时间, 的帧是否发生冲突。冲突发生时,采用时间指数退避算法,延后一段时间后在发送数据包。
用来检测刚才发送出去
大,以增加传输距离。一层设备不存在交换。以太网
HUBX作于半双工状态,HUB连接的所
所有的端口 处于
一层设备:代表设备是 HUB作用于7层网络模型的第1层,物理层,主要用于电信号的放有主机同时只能有一台主机发送以太帧, 同一个冲突域,一个广播域。 以太网帧结构:
前导符 7字节
并且所有的主机都能够接收到这个帧,
帧开始符 1字节 目的地址 6字节 源地址 j类型 6字节 ]2字节 数据 46-1500 字节 CRC 4字节 最小以太帧为64字节,若小于64字节,则需要“填充”。
交换机基本结构
目前的L2/L3交换芯片一般采用分布式交换的体系结构,主要包括: 换机)或者EEPROM不带管理的交换机)、交换结构、 果是提供光口还需要光模块。其中的核心是 帧转发,以及流量控制功能,如果是
CPU (带管理的交
MAC芯片、物理层芯片几个部分,如
MAC芯片,实现了 MAC源地址学习和L2层以太
L3芯片,则在 MAC层芯片中还有路由模块。所有的
2
层地址学习、2层转发和3层路由都是分散在各个 MAC芯片中完成的。虽然地址学习是分散 在各个芯片中完成的,但是系统中的所有 MAC芯片会通过内部通讯协议通过交换结构互相交 换地址学习信息,使得整个系统中的地址学习表是统一的。
图中所示的是一个 L2/L3层交换的MAC芯片,它主要包括了 L2交换模块、L3路由模块、流 分类模块和转发引擎等几个部分:
1、L2交换模块主要进行 MAC地址学习和L2层转发判断 2、L3路由模块主要根据路由表进行 3、流分类模块主要是对进入以太帧做
可以根据源目的 MAC地址、端口、 丢弃,如果是L3层芯片还可以根据
L3层路由转发,如果是 L2芯片则没有这个模块 QOS方面的调整或者流量限制。如果是L2层芯片,则 VLAN号、以太帧中的 COS位进行流控,降低优先级甚至 IP包中的TOS位、IP源目的地址、IP地址加上 TCP/UDP
的端口号,甚至根据应用层的信息进行 QOS调整和流量控制。转发引擎主要是根据前面几个 模块的结果做转发操作,输出队列的选择依据以太帧中的
COS与优先级队列映射表或者
Diffserv 表等。
交换机构:总线结构、共享内存交换结构、 两种转发方式:直接转发、存储转发
CROSSBA结构
VLAN及三层交换
二层交换式网络中, 整个网络是一个扁平的结构。 是一个大的广播域。
在以太网中,所谓广播域就是指在一个网络中, 发的最大范围。
网络全部由二层交换机构造起来,
整个网 络
广播帧(目的MAC地址为ff-ff-ff-ff-ff-ff 的帧)将要被转
在二层交换机中,交换机仅根据 MAC地址进行帧的选路和转发, 当一个完整正确的以太网帧
从一个交换机端口上被接收上来以后, 交换机将在自己维护的 MAC地址表中去查找地址, 根 据地址类型的不同和查找结果的不同情况,交换机对帧采取不同的处理。
单播帧(Unicast ),目的地址在 MAC地址表中存在:
按照目的地址在地址表中的表项所指的输出端口,将帧转发到相应的端口上。(单播 地址在地址表中只能指向一个输出端口) 单播帧(Uni cast ),目的地址在 MAC地址表中不存在:
在广播域的所有端口上广播该帧 多播帧(Multicast ),目的地址在 MAC地址表中存在:
按照目的地址在地址表中的表项所指的输出端口,将帧转发到相应的端口上。(多播 地址在地址表中可以指向一个或一组输出端口) 多播帧(Multicast ),目的地址在 MAC地址表中不存在: 在广播域的所有端口上广播该帧 广播帧( Broadcast ): 在广播域的所有端口上广播该帧
MAC
能的交换机组成的网络中,每一个
VLAN被设计为一个独立的广播域。
MAC
VLAN之间被严格地隔离开来,任何一个帧都不能从自己所属的 VLAN被转发到其他的 VLAN
中。整个网络被划分为若干个规模更小的广播域, 网络的广播被控制在相对比较小的范围内, 提高了网络的带宽利用率,改善网络效率和性能。
每一个人都不能随意地从网络上的一点, 毫无控制地直接访问另一点的网络或监听整个网络 上的帧,隔离的广播域改善了网络的安全性。
对于VLAN概念的理解,有几点要注意:
为了解决网络由广播导致的效率下降和安全性等问题,
VLA N的概念被引入,在支持 VLAN 功
1. VLAN 分离了广播域;
2. 单独的一个VLAN模拟了一个常规的交换以太网,
个或多个逻辑交换机;
因此VLAN将一个物理交换机分割成了一
3. 不同VLAN之间通信需要三层参与;
4. 当多台交换机级联时,VLAN通过VID来识别,该ID插入到标准的以太帧中,被称作tag ; 5.
行路上第一个
最后一个VLAN交换机去除tag ;
大多数的tag都不是端到端的,一般在上VLAN交换机打tag,下行链路的
6.只有在一个数据帧不打
去掉 tag ;
tag就不能区分属于哪个 VLAN时才会打上tag,能去掉时尽早要
7.最终,IEEE 802.1q 解决了 VLAN的 tag 问题。 VLA N间通信
用传统的路由器进行 VLAN之间的路由在性能上还有一定的不足:由于路由器利用通用的
CPU转发完全依靠软件进行,同时支持各种通信接口,给软件带来的负担也比较大。软件
要处理包括报文接收、校验、查找路由、选项处理、报文分片,导致性能不能做到很高,要 实现高的转发率就会带来高昂的成本。 步改善性能。
三层交换机的设计基于对
由此就诞生了三层交换机, 利用三层交换技术来进
IP路由的仔细分析,把IP路由中每一个报文都必须经过的过程提
取出来,这个过程是个十分简化的过程:
IP路由中绝大多数报文是不包含
情况下是多余的;
IP选项的报文,因此处理报文 IP选项的工作在多数
不同的网络的报文长度都是不同的,为了适应不同的网络, 但是在全以太网的环境中,网络的帧 可以裁减的工作;
三层交换机采用了和路由器的最长地址掩码匹配不同的方法, 处理,有利于硬件实现快速查找;
IP实现了报文分片的功能,
(报文)长度是固定的,因此报文分片的功能也是一个
使用精确地址匹配的方式
三层交换机采用了 Cache的方法,把最近经常使用的主机路由放到了硬件的查找表中, 只有在这个Cache中无法匹配到的项目才会通过软件去转发。 文会通过软件进行转发,其后的大量数据流则可以在硬件中得以完成。 三层交换机在IP路由的处理上做了以上改进,
实现了简化的
这样,只有每个流的第一个报
IP转发流程,利用专用的芯片
只有极少数报文才需要使 相同性能的设备在成本上得
实现了硬件的转发,这样绝大多数的报文处理都在硬件中实现了, 用软件转发,整个系统的转发性能能够得以成百上千倍地增加。 以大幅度下降。 四、
交换机的报文转发
L2交换机中的3张表: 1、地址转发表 MAC MACA VLAN 1 端口 选项 12 MAC地址是从哪个端口收到的,以及这
地址学习表是L2交换的转发依据。它主要记录某个
个被学习的帧属于哪个 VLA N的信息,另外还有一个比较重要的栏是标志,在标志栏中可以 设置标志,使匹配到这个条目的以太帧被送到
CPU进行处理,或者送到 L3路由模块进行处
理。也可以设置标志表示该表项是属于静态表项,不进行老化处理。
2、 VLAN 表
VLAN 1 端口 1、2、3 VLAN表主要记录哪些端口属于某个 VLAN 一个端口可以属于多个 VLAN,比如端口 1既属于
802.1Q的帧格式。
VLANI又属于VLAN3此时这个端口输出时采用 3、端口寄存器表 端口号 P VID 端口寄存器表项主要记录了该端口的缺省 交换机的报文转发机制分两种:
VLAN。
SVL 和 IVL。
,共享式vlan学习。在这种方式下,
SVL Shared vlan learning MAC地址在整张表中是
唯一的,一个 MAC地址在地址表中只能有一条记录,一个 MAC只能被学习到一个端口上。
IVL : In de pen de nt vlan learni ng ,独立式 vla n学习。在这种方式下, MAC地址表在逻
辑上可以被看成根据 VLAN信息分成了很多张表,一个MAC地址可学习到不同 VLAN对应的“地 址表”上。
MAC地址在不同方式的地址表中的存在可以形象的表示为:
MAC1 VALN1 P0RT1 MAC2 VLAN1 P0RT2
MAC2 VLAN2 P0RT3
MAC1 VALN1 P0RT1 MAC2 VLAN2 P0RT2 MAC3 VLAN3 P0RT3
MAC3 VLAN3 P0RT3
IVL
在IVL方式下,MAC2可以学习在 上。
两种转发机制的转发报文的流程
SVL
VLAN1的“地址表”上,也可以学习在 VLAN2的“地址表”
而在SVL方式下,MAC2只能有一条记录,只能对应某个 VLAN和端口。
对于SVL方式而言:交换机先根据目的 MAC地址查MAC地址表,找到端口之后,然后判断这 个端口所属的VLAN是否和报文携带的 VLAN信息对应的VLAN相等,如果相等就转发,否则 就丢弃。如果根据目的 MAC没有找到对应的端口,则在报文所属的
VLA N内进行广播。
而对于IVL而言:交换机根据 MAC地址和VLAN信息一起查 MAC地址表,如果找到对应 的端口则转发,否则在报文所属的 VLAN内进行广播。