内部技术培训以太网交换.docx
《内部技术培训以太网交换.docx》由会员分享,可在线阅读,更多相关《内部技术培训以太网交换.docx(41页珍藏版)》请在冰豆网上搜索。
![内部技术培训以太网交换.docx](https://file1.bdocx.com/fileroot1/2023-6/4/baed30c0-687b-4b96-8576-e453e2ff774e/baed30c0-687b-4b96-8576-e453e2ff774e1.gif)
内部技术培训以太网交换
目录
1以太网的历史3
1.1以太网的由来3
1.2以太网的现状3
2以太网技术介绍3
2.1网络的7层模型以及INTERNET的5层模型3
2.2IEEE802.3模型4
2.3以太网的几个特性5
2.4以太帧格式6
2.5以太网的接口类型和传输距离7
3以太网技术的相关设备8
4L2/L3交换体系结构概述11
4.1典型的L2/L3交换体系结构分析11
4.2MAC层芯片的逻辑框图12
4.3交换结构的分类13
4.4一个单片L2/L3交换芯片解决方案14
5L2交换原理15
5.1以太网交换机的两种转发模式15
5.2L2交换原理中关键的几张表16
5.3L2交换原理16
5.4以太帧的转发流程19
5.5组播业务以及L2交换机的组播原理19
6L2交换机的主要功能22
6.1基本功能22
6.2支持的协议23
6.3QOS及流量控制功能23
6.4网管功能23
7L2/L3交换的软件框架24
8L2协议介绍25
8.1STP协议25
8.1.1生成树的作用25
8.1.2生成树协议的一些重要概念26
8.1.3生成树的运行举例27
8.2GARP协议30
8.2.1GARP(GenericAttributeRegistrationProtocol)概述30
8.3TRUNKING协议31
1以太网的历史
1.1以太网的由来
以太网是Xerox公司发明的基带LAN标准,它采用带冲突检测的载波监听多路访问协议(CSMA/CD),速率为10Mbps,传输介质为同轴电缆。
以太网是在七十年代为解决网络中零散的和偶然的堵塞开发的,而IEEE802.3标准是在最初的以太网技术基础上于1980年开发成功的。
现在,以太网一词泛指所有采用CSMA/CD协议的局域网。
以太网2.0版由数字设备公司(DigitalEquipmentCorp)Intel公司和Xerox公司联合开发,它与IEEE802.3兼容。
尽管以太网与IEEE802.3标准有很多相似之处,但也存在一定的差别。
以太网提供的服务对应于OSI参考模型的第一层和第二层,而IEEE802.3提供的服务对应的OSI参考模型的第一层和第二层的信道访问部分(即第二层的一部分)。
IEEE802.3没有定义逻辑链路控制协议,但定义了几个不同物理层,而以太网只定义了一个。
另外IEEE802.3的帧格式与以太网II的帧格式也不完全相同,现在的以太网设备一般都兼容这两种帧格式。
1.2以太网的现状
从速率等级来看以太网技术经历了10M、100M、千兆和10G以太网4个阶段,目前千兆速率以下IEEE802.3都已经定义了相关的标准,10G以太网技术标准预计快要出台,但是目前已经有一些厂商推出了10G以太网设备,比如CISCO,Juniper等。
从应用角度来看,最初以太网技术用于局域网,主要是当时以太网的传输距离仅仅局限在几百米,随着以太网传输距离的扩大,特别是以太网的长距离光纤传输技术的出现,以太网技术应用的范围已经突破局域网的范围,以太网技术已经成为城域宽带接入的一种主要技术。
从技术融合角度来看,由于以太网技术的经济性和技术的简单性,非常方便承载IP业务,因此在数据业务与时分业务的融合中也扮演着非常重要的角色,目前已经有以太网OVERVDSL,以太网OVERSDH等几种技术。
2以太网技术介绍
2.1网络的7层模型以及INTERNET的5层模型
INTERNET层次
INTERNET层次名称
对应的OSI模型的层次
5
应用层(TELNET/SNMP等)
应用层(7)
4
TCP/UDP
传输层(4)
3
IP
网络层(3)
2
数据链路层
数据链路层
(2)
1
物理层
物理层
(1)
以太网技术标准主要定义了数据链路层和物理层的规范。
对等技术标准包括令牌环网等等。
TCP/IP协议本身是与数据链路层和物理层无关的,TCP/IP协议栈可以架构在以太网技术上,也可以是令牌环网。
2.2IEEE802.3模型
下图是以太网技术与网络模型的关系:
2.3
以太网的几个特性
1)以太网的广播特性:
以太网属于广播网络,也就是处于同一个以太网的所有的工作站都可以收到其他工作站发送到网上的信息帧。
每个工作站都要确认该信息帧是否是发送给自己的,一旦确认是发给自己,就将它发送到高一层的协议层,否则就丢弃。
2)以太网的半双工和全双工传输特性
半双工就是节点的发送和接收采用同一条传输线,这样同时只能是一个节点发送数据,其他节点处于接收状态,以太网处于半双工状态时,一个以太网段上允许有多个网络节点。
全双工就是节点的发送和接收是分开的两条传输线,全双工只限于两个网络节点之间,其中一个节点的发送连接另一个节点的接收。
3)CSMA/CD工作特性
最初以太网技术传输时采用半双工方式,这样就有可能出现几个节点同时发送数据的情况,这就发生了冲突,在物理层面上来看就是冲突点的电平变成两个数据电平的和。
因此需要有一种技术来侦听网络是否空闲,是否允许某个节点发送数据,同时在发生冲突时能够检测到,以便重新发送该数据帧。
以太网技术采用了CSMA(载波侦听多路访问)/CD(冲突检测)技术。
在采用CSMA/CD传输介质访问的以太网中,任何一个CSMA/CDLAN工作站在任何一时刻都可以访问网络,发送数据前,工作站要侦听网络是否堵塞,只有检测到网络空闲时,工作站才能发送数据。
工作站在发送数据帧时需要等待一个时间片的时间,用来检测刚才发送出去的帧是否发生冲突,这个时间片的长度是根据位于最远的两个工作站发送的数据发生冲突被检测到所需要的时间得出的。
在基于竞争的以太网中,只要网络空闲,任一工作站均可发送数据,当两个工作站发现网络空闲而同时发出数据时,就发生冲突。
这时,两个传送操作都遭到破坏,工作站必须在一定时间后重发,何时重发由延时算法决定,以太网采用的是二进制指数退避算法。
每次退避的时间间隔的算法如下:
对每个帧,当第一次发生冲突时设置参数L=2,退避间隔取1至L个时间片的一个随机数,当帧再次发生冲突时,参数L被翻倍。
对于全双工的情况由于接收和发送已经被分离开,因此肯定不会发生冲突,所以在全双工的情况下就不需要CSMA/CD的机制了。
2.4以太帧格式
1)
前导同步符
由7个字节的前同步信号和一个分界符开始字节构成。
2)DA/SA
总共48个Bits前3个字节代表供应商代码,后3个字节代表厂商序列号
3)类型/长度:
为类型时,表示是EthernetII帧结构,类型取值大于1536,为长度时表示IEEE802.3帧结构
4)数据区:
为第三层协议,不支持VLAN标记时,长度为46-1514字节,支持VLAN标记时,由于增加了4个字节,长度为50-1518字节
5)FCS:
是帧校验
6)TPID:
标记协议标识符,2个字节,值位16进制的8100。
//一定是8100?
7)TCI:
标记控制信息,包括3个Bits的用户优先级(IEEE802.1P),1Bits的规范格式标识符(CFI),用于标识MAC地址是否规范,12Bits的VID,表示该帧所属的VLAN
2.5以太网的接口类型和传输距离
标准号
标准化时间
速率
拓扑
媒介
网段的最长距离
半双工
全双工
10Base-T
802.3i-1990
10Mb/s
星型
2对100欧姆3类非屏蔽线
100
100
100Base-TX
802.3u-1995
100Mb/s
星型
2对100欧姆5类非屏蔽线
100
100
100Base-FX
802.3u-1995
100Mb/s
星型
一对光纤
412
2000
100Base-T4
802.3u-1995
100Mb/s
星型
4对100欧姆3类非屏蔽线
100
n/a
1000Base-LX
802.3z-1998
1Gb/s
星型
1300nm长波:
-62.5um多模光纤
-10um单模光纤
316
316
550
5000
1000Base-SX
802.3z-1998
1Gb/s
星型
850nm短波:
-62.5um多模光纤
275
275
1000Base-CX
802.3z-1998
1Gb/s
星型
特殊屏蔽的铜跳线
25
25
1000Base-T
802.3ab-1999
1Gb/s
星型
4对100欧姆的5类线
100
100
3以太网技术的相关设备
I]一层设备:
代表设备是HUB,作用于7层网络模型的第1层,物理层,主要用于电信号的放大,以增加传输距离。
一层设备不存在交换。
以太网HUB工作于半双工状态,HUB连接的所有主机同时只能有一台主机发送以太帧,并且所有的主机都能够接收到这个帧,所有的端口处于同一个冲突域,整个HUB的带宽是所有端口共享的,就是HUB中速率最低的那个端口的容量。
现在有些HUB也处理第二层的内容,但是它只是从物理信号中还原出以太帧,然后重新发送,因此它能够做到10/100M自适应,但是所有的端口仍旧属于同一个冲突域。
冲突域:
指在这么一个以太网区域,这个区域可能有一个或者多个工作站,但是这个区域内的工作站同时只能有一个工作站发送数据帧。
II]两层交换:
代表设备是2层以太网交换机,作用于7层网络模型的第2层,数据链路层,它的基本原理是以数据链路层的地址作为数据帧在多个端口之间交换的判据,比如,对于以太网,采用以太网的数据链路层地址MAC地址为交换判据,构成了2层以太网交换机。
最初的2层以太网交换机相当于一个多端口的桥接器,它的主要作用就是隔离冲突域,以太网交换机的所有端口可以同时发送以太帧,交换机的带宽是所有端口独享的,因此交换机的带宽是所有端口的带宽的总和。
但是以太网交换机无法隔离广播域,所有的端口都属于同一个广播域,一台主机发送一个广播帧,以太网交换机会向所有的端口转发。
后来为了隔离广播域,出现了VLAN,一个交换机可以根据端口划分为几个VLAN,每个VLAN是一个广播域,属于不同VLAN的端口之间是不能通讯的,需要外接路由器进行VLAN间的通讯。
广播域:
指在这么一个以太网区域,这个区域可能有一个或者多个工作站,如果这个区域内的某个工作站发送了一个广播帧(MAC地址为全F),区域内的其他工作站都应该能够接收到这个广播帧。
III]三层交换:
代表设备路由器(一般称为路由)、多层交换机(指即支持2层交换又支持3层交换的交换机),作用于7层网络模型的第3层,网络层,它的基本原理是以网络层的地址作为数据包在多个端口之间交换的判据,比如对于INTERNET网络,采用网络层IP的地址作为交换的判据。
路由器的每个端口称为路由器的一个接口,每个接口属于不同的子网,路由器的作用就是在这些子网间转发IP包,路由器的作用是隔离广播域以及在不同种类的网络中交换IP包,比如路由器的接口有以太网接口、令牌环接口、ISDN的接口、DDN的接口。
L2/L3层交换机将L2交换和L3路由功能综合在一起,并且L3路由功能一般采用硬件转发方式,L3的转发效率比较高。
L2/L3交换机的路由模块与路由器不一样,连接的是虚接口,这些虚接口与VLAN是一一对应的。
IV]四层至七层交换:
代表设备流量均衡交换机,或者应用层交换机,以目的IP地址加上TCP/UDP协议即其端口号作为转发判据,称为4层交换,有一些甚至能够根据应用层协议的特征作为转发判据,比如HTTP协议的COOKIE等。
4L2/L3交换体系结构概述
4.1典型的L2/L3交换体系结构分析
目前的L2/L3交换芯片一般采用分布式交换的体系结构,主要包括:
CPU(带管理的交换机)或者EEPROM(不带管理的交换机)、交换结构、MAC芯片、物理层芯片几个部分,如果是提供光口还需要光模块。
其中的核心是MAC芯片,实现了MAC源地址学习和L2层以太帧转发,以及流量控制功能,如果是L3芯片,则在MAC层芯片中还有路由模块。
所有的2层地址学习、2层转发和3层路由都是分散在各个MAC芯片中完成的。
虽然地址学习是分散在各个芯片中完成的,但是系统中的所有MAC芯片会通过内部通讯协议通过交换结构互相交换地址学习信息,使得整个系统中的地址学习表是统一的。
如下图:
MII接口
4.2MAC层芯片的逻辑框图
图中所示的是一个L2/L3层交换的MAC芯片,它主要包括了L2交换模块、L3路由模块、流分类模块和转发引擎等几个部分:
I]L2交换模块主要进行MAC地址学习和L2层转发判断
II]L3路由模块主要根据路由表进行L3层路由转发,如果是L2芯片则没有这个模块
III]流分类模块主要是对进入以太帧做QOS方面的调整或者流量限制。
如果是L2层芯片,则可以根据源目的MAC地址、端口、VLAN号、以太帧中的COS位进行流控,降低优先级甚至丢弃,如果是L3层芯片还可以根据IP包中的TOS位、IP源目的地址、IP地址加上TCP/UDP的端口号,甚至根据应用层的信息进行QOS调整和流量控制
IV]转发引擎主要是根据前面几个模块的结果做转发操作,输出队列的选择依据以太帧中的COS与优先级队列映射表或者Diffserv表等。
4.3交换结构的分类
I]总线交换结构
这种交换结构采用总线方式,带宽比较低,一般应用在低端的路由器上。
II]共享内存交换结构
这种交换结构一般应用于中等交换容量的交换机或者路由器。
III]CROSSBAR交换结构
这种交换结构一般应用于大容量的交换机和路由器。
4.4一个单片L2/L3交换芯片解决方案
下图是一个单片L2/L3交换芯片解决方案,它的特点是:
1)采用集中式交换的体系结构,将MAC地址表、VLAN表以及转发引擎独立出MAC层芯片,整个系统各个端口之间的交换都在统一的转发引擎中完成,各类控制表都只有统一的一张表。
对于L3交换芯片来说路由模块也是独立出MAC层芯片的。
2)融合了MAC芯片和交换结构,其中交换结构一般采用共享内存方式;
5L2交换原理
5.1以太网交换机的两种转发模式
I]短径转发(CutThroughForwarding)
特点是交换机检查完目的MAC地址后就开始交换,具有低的延迟
缺点是交换机对合法和非法的帧都做了转发,比如尾部被截除的帧。
II]存储转发(StoreandForwarding)
特点是,首先接收并缓存整个数据帧,进行帧长检查和CRC校验,只对合格的帧进行转发,目前交换机和交换芯片中大多数是采用了存储转发模式。
5.2L2交换原理中关键的几张表
I]地址学习表
MAC地址
VID
端口号
标志
MACA
1
12
地址学习表是L2交换的转发依据。
它主要记录某个MAC地址是从哪个端口收到的,以及这个被学习的帧属于哪个VLAN的信息,另外还有一个比较重要的栏是标志,在标志栏中可以设置标志,使匹配到这个条目的以太帧被送到CPU进行处理,或者送到L3路由模块进行处理。
也可以设置标志表示该表项是属于静态表项,不进行老化处理。
II]VLAN表
VID
端口号列表
1
1,2,3.。
。
VLAN表主要记录哪些端口属于某个VLAN。
一个端口可以属于多个VLAN,比如端口1既属于VLAN1,又属于VLAN3,此时这个端口输出时采用802.1Q的帧格式。
III]端口寄存器表
端口号
端口VLAN标识(PVID)
端口寄存器表项主要记录了该端口的缺省VLAN。
5.3L2交换原理
L2交换只允许属于同一VLAN的几个端口之间进行交换,如果是跨VLAN之间的交换则需要进行第3层的路由功能处理。
假设一台交换机,有四个端口,1,2,3,4,每个端口连接一台主机,这四台主机的MAC地址分别为MACA,MACB,MACC,MACD,我们对该交换机做如下的配置:
划分VLAN:
VLAN1包括端口1,3VLAN2包括端口2,3,4
配置端口的PVID:
端口1的PVID为1,端口2的PVID为2,端口3的PVID为2,端口4的PVID为2。
配置后3张表如下:
VLAN表
VID
端口号列表
1
1,3
2
2,3,4
端口寄存器表
端口号
端口VLAN标识(PVID)
1
1
2
2
3
2
4
2
地址学习表
MAC地址
VID
端口号
标志
此时系统处于刚初始化,地址学习表是空的。
I]地址学习原理(学习帧的源MAC地址)
假设主机D向主机B发送一帧,由于端口4的PVID号是2,则地址学习表增加一项:
MAC地址
VID
端口号
标志
MACD
2
4
II]桥转发原理(以目的MAC地址查找地址学习表)
地址学习表中有条目匹配时的单播过程
假设主机B向主机D发送一帧,此时的地址学习表为:
MAC地址
VID
端口号
标志
MACD
2
4
则
交换机从端口2接收到以后,以该帧的目的MAC地址(MACD)加上端口2的PVID(PVID=2)作为索引匹配地址学习表,匹配到表项1,端口号是4,则该帧被交换到端口4送出。
地址学习表不匹配时的洪泛过程
假设主机A向主机C发送一不带TAG的帧,此时的地址学习表为:
MAC地址
VID
端口号
标志
MACD
2
4
则
交换机从端口1接收到以后,以该帧的目的MAC地址(MACC)加上端口1的PVID(PVID=1)作为索引匹配地址学习表,表项中没有MACC,所以查表失败,此时交换机查找VLAN表,得到VLAN1所属的端口列表(1,3),其中端口1是源端口,所以这个帧从端口3洪泛出去。
注意:
洪泛帧和广播帧的区别:
洪泛是由于无法在地址学习表中匹配到合适的选项,而采取的向属于该VLAN的所有端口发送该帧的一种方法,发送的帧仍旧是单播帧,帧中的目的MAC地址为单播MAC地址,
广播是向所有属于该VLAN的端口发送该帧,该帧的目的MAC地址是广播地址(0xFFFFFF)。
5.4以太帧的转发流程
一个以太帧的转发流程如下所示:
1)过程1的处理:
接收到一个以太帧后要判断接收端口是否处于转发状态(Forwarding),目的端口是否处于转发状态,目的端口是否与源端口不相同,否则丢弃帧。
2)过程2的处理:
判断目的MAC地址是否被目的端口禁止转发。
过滤库中存放着禁止或者允许哪些MAC地址(包括组MAC地址)在哪些端口上转发的信息。
3)过程3的处理:
根据这个帧的优先级设置放置到不同的输出队列中,如果队列溢出则丢弃。
4)过程4的处理:
根据队列调度算法(比如WRR,WRED算法)处理队列中的帧。
5)过程5的处理:
根据用户的优先级映射规则设置以太帧的优先级标志位。
6)过程6的处理:
重新计算FCS校验并且发送。
5.5组播业务以及L2交换机的组播原理
1)组播业务简介
传统网络最初是为数据传输而设计的,是典型的点点通信模式,是为保证数据可靠传输而设计的,所用的传输协议多为点到点的协议。
目前,在Internet上产生了许多新的应用,其中不少是高带宽的多媒体应用,譬如网络视频会议(可视化IP电话会议系统)、网络音频/视频广播、多媒体远程教育、远程会诊,这些应用是典型的点到多点通信模式,如果仍旧采用点到点的通信模式,那么服务器侧需要与每一个客户端建立一条点到点的通信链路,这样所需消耗的带宽就是业务需要带宽的N倍(N为客户端的个数),这样大大增加了网络发送负载,带来网络延时,带宽急剧消耗,网络出现拥挤问题。
为了缓解网络瓶颈,人们提出各种方案:
增加互连带宽,改变网络流量结构以及组播技术等等。
其中,组播技术有其独特的优越性是一种专门针对点到多点通信设计的——在组播网络中,即使用户数量成倍增长,主干带宽不需要随之增加。
组播是一种允许一个或多个发送者(组播源)发送单一的数据包到多个接收者(一次的,同时的)的网络技术。
组播源把数据包发送到特定组播组,而只有属于该组播组的地址才能接收到数据包。
组播可以大大的节省网络带宽,因为无论有多少个目标地址,在整个网络的任何一条链路上只传送单一的数据包。
它提高了数据传送效率。
减少了主干网出现拥塞的可能性。
组播组中的主机可以是在同一个物理网络,也可以来自不同的物理网络(如果有组播路由器的支持)。
2)组播的分类
组播可以分成MAC层的组播和IP组播,MAC层组播的特点是MAC地址是特定的组播MAC地址,是对MAC帧做组播转发,是属于数据链路层的组播,组播处理在L2交换引擎中处理,判断的依据是目的MAC地址;而IP组播则是IP包的目的IP地址是D类地址,是对IP包做组播,是属于网络层的组播,组播处理在路由模块处理,判断的依据是目的IP地址。
组播MAC地址的特点是6字节MAC地址的前3个字节必须是:
01:
00:
5e,因此组播MAC地址的范围是:
01:
00:
5e:
00:
00:
00-01:
00:
5e:
ff:
ff:
ff。
组播IP地址的特点是D类IP地址,前4个bit是1110,地址范围是224.0.0.1-239.255.255.255。
组播IP包在以太网中传输时是封装成组播以太帧的形式的,该以太帧的目的MAC地址是从组播IP地址以固定的格式映射成的组播MAC地址。
组播IP地址的后23个bits被映射到组播MAC地址,虽然从组播IP地址到组播MAC地址的映射是唯一的,但是由于组播IP地址中的组播组号的前5个bits没有用,因此一个组播MAC地址对应的组播IP地址不是唯一的,32个组播IP地址被映射成了同一个组播MAC地址。
注意:
组播MAC帧中封装的不一定是组播IP包。
3)L2交换机支持组播的意义
对于不支持组播的L2交换机,收到一个组播帧时的处理是向所有属于该VLAN的端口转发。
它的弊端是由于需要向一些无需转发的端口转发数据帧,严重影响了转发效率。
4)L2组播原理
L2组播关键就是建立一张MAC组播表,建立MAC组播组(以组播MAC地址区分和VID来识别)与加入这个组播组组播成员(以交换机的端口号识别,表示这个端口所连接的网络中至少有一台主机或交换机加入了这个组播组,需要向这个端口转发这个组播组的组播业务帧)之间的关系,这张表是通过GMRP协议运行得到或者是静态配置的:
组播MAC地址
VID
组播输出端口列表
MACA
N
1,3,4,…
当收到一个组播帧时,以该组播MAC地址加上VID号去匹配组播表,如果查到表项则取出组播输出端口列表中的端口列表,向这些端口发送。
如果查表失败,则以VID号去查VLAN表,得到该VLAN的所属端口列表,向这些端口转发。
5)IGMPSnoopy原理
目前在应用的组播业务中大多数是采用IP组播技术来开展的,IP组播需要路由模块将以太帧解开取出IP包进行组播处理,组播组成员关系是通过3层的组播路由协议和IGMP协议建立的,而L2