以太网交换机学习要点总结.docx

上传人:b****8 文档编号:9657464 上传时间:2023-05-20 格式:DOCX 页数:17 大小:424.53KB
下载 相关 举报
以太网交换机学习要点总结.docx_第1页
第1页 / 共17页
以太网交换机学习要点总结.docx_第2页
第2页 / 共17页
以太网交换机学习要点总结.docx_第3页
第3页 / 共17页
以太网交换机学习要点总结.docx_第4页
第4页 / 共17页
以太网交换机学习要点总结.docx_第5页
第5页 / 共17页
以太网交换机学习要点总结.docx_第6页
第6页 / 共17页
以太网交换机学习要点总结.docx_第7页
第7页 / 共17页
以太网交换机学习要点总结.docx_第8页
第8页 / 共17页
以太网交换机学习要点总结.docx_第9页
第9页 / 共17页
以太网交换机学习要点总结.docx_第10页
第10页 / 共17页
以太网交换机学习要点总结.docx_第11页
第11页 / 共17页
以太网交换机学习要点总结.docx_第12页
第12页 / 共17页
以太网交换机学习要点总结.docx_第13页
第13页 / 共17页
以太网交换机学习要点总结.docx_第14页
第14页 / 共17页
以太网交换机学习要点总结.docx_第15页
第15页 / 共17页
以太网交换机学习要点总结.docx_第16页
第16页 / 共17页
以太网交换机学习要点总结.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

以太网交换机学习要点总结.docx

《以太网交换机学习要点总结.docx》由会员分享,可在线阅读,更多相关《以太网交换机学习要点总结.docx(17页珍藏版)》请在冰点文库上搜索。

以太网交换机学习要点总结.docx

以太网交换机学习要点总结

以太网交换机学习要点总结

通过近来的基础知识学习,对以太网交换机的一些基本技术以及相关实现有了一定的了解,在本文中将通过两个大的部分:

以太网技术基本知识和以太网交换机实现原理来对以太网交换机的理论知识进行总结。

同时我们在第三部分简单总结了vxWorks操作系统的相关知识。

一、以太网技术基本知识

1.以太网与IEEE802.3标准

首先我们要明确一点,以太网与IEEE802.3标准有很多相似之处,但也存在一定的差别。

以太网提供的服务对应于OSI参考模型的第一层和第二层,而IEEE802.3提供的服务对应的OSI参考模型的第一层和第二层的信道访问部分(即第二层的一部分)。

IEEE802.3没有定义逻辑链路控制协议,但定义了几个不同物理层,而以太网只定义了一个。

另外IEEE802.3的帧格式与以太网的帧格式也不完全相同,现在的以太网设备一般都兼容这两种帧格式。

以太网的数据链路层:

1.LLC子层:

提供三种服务,面向连接的可靠数据传输;无连接的不可靠数据传输;带确认的可靠数据报传输。

DSAP(8bit)

SSAP(8bit)

Control(8/16bit)

2.LLC层维护一张以DSAP为索引的函数列表,每接收到一个数据包,以DSAP为索引调用相应的函数,该函数把数据包挂到相应接收队列。

3.MAC层针对不同物理介质提供不同MAC层面来访问。

包括EthernetMAC,TokenRingMAC,FDDIMAC.EthernetMAC包括双工和半双工模式。

2.一些知识要点

(1).自动协商:

针对不同站点的工作速率以及单双工模式不同,通过自动协商,可以让局域网设备自动配置运行方式,避免复杂的手工配置。

自动协商的实现:

双绞线物理链路在空闲的时候以周期16ms发送脉冲,在周期内发送17-33个脉冲,组成协商编码通告自己的工作模式。

(2).以太网帧结构:

Preamble

DMAC

SMAC

Length/Type

DATA/PAD

FCS

(1)长度可变,Length/Type<1500表示该帧是802.3帧,这个值是帧的长度。

如果Length/Type>=1500则指示承载的上层协议类型。

(2)MAC地址高字节在前,字节内部则是低位在前。

发出的第一个比特是0是单播,否则为组播或广播(01,全1)。

(3).交换机的“学习”,维护一个CAM(ContextAddressMemory)数据结构。

接收到新的MAC地址时,建立新的地址项放入MAC表中。

在多播情况下,MAC表项的建立不是通过学习得到,而是通过CPU配置得到的。

(4).交换机的转发模式:

存储转发、直通方式(CutThrough)、碎片隔离(Frag-Free)

(5).线速转发条件:

背板总线速率>=端口速率*端口数

(6).多条性质相同的链路可以逻辑聚合成一条高速链路。

静态配置,定义在802.3ad标准中,LACP(LinkAggregationControlProtocol)协议。

链路聚合的条件:

a).各分离的链路速率相同;b).各分离的链路必须是全双工链路;c).各分离的链路两端参数一致,比如流量控制;d).各分离的链路速率不能小于100M。

(7).CarrierEthernet:

IEEE802.3以太网+5项基本属性:

标准化的业务、可扩展性、可靠性、服务管理、服务质量。

(8).以太网QoS保证:

802.1q标准在其帧中提供了3比特的优先级字段

TYPE

(2)||VID(14)|PRI(3)|CFI

(1)

(9).堆叠(Stack)和级联(Uplink)的概念

◆级联可通过一根双绞线在任何网络设备厂家的交换机之间,集线器之间,或交换机与集线器之间完成。

◆级联只需单做一根双绞线(或其他媒介)

◆交换机的级联在理论上是级联设备不超过7台

◆堆叠只有在自己厂家的设备之间,且此设备必须具有堆叠功能才可实现。

◆堆叠需要专用的堆叠模块和堆叠线缆,而这些设备可能需要单独购买。

◆各个厂家的设备会标明最大堆叠个数。

一般最大8级。

堆叠的优势:

首先,多台交换机堆叠在一起,从逻辑上来说,它们属于同一个设备。

而级联的设备逻辑上是独立的,如果想要网管这些设备,必须依次连接到每个设备。

其次,多个设备级联会产生级联瓶颈。

例如,两个百兆交换机通过一根双绞线级联,则它们的级联带宽是百兆。

这样不同交换机之间的计算机要通讯,都只能通过这百兆带宽。

而两个交换机通过堆叠连接在一起,堆叠线缆将能提供高于1G的背板带宽,极大地减低了瓶颈。

级联的优势:

级联相对容易。

级联还有一个堆叠达不到的目的,是增加连接距离。

比如,一台计算机离交换机较远,超过了单根双绞线的最长距离100米,则可在中间再放置一台交换机,使计算机与此交换机相连。

堆叠线缆最长也只有几米,所以堆叠时应予考虑。

 

(10).二层组播:

IGMP:

IPv4组播管理协议(G,Intf)IGMP协议运行在网络层,

而IGMPSnooping(侦听)运行在链路层

CGMP:

(G,MAC)

GMRP(GeneralMulticastRegisterProtocol)

IP组播地址到Ethernet组播地址的映射:

(11).交换机是隔离冲突域,但无法隔离广播域。

VLAN可以隔离广播域,路由器也是隔离广播域。

(12).以太帧的转发流程:

一个以太帧的转发流程如下所示:

a)过程1的处理:

接收到一个以太帧后要判断接收端口是否处于转发状态(Forwarding),目的端口是否处于转发状态,目的端口是否与源端口不相同,否则丢弃帧。

b)过程2的处理:

判断目的MAC地址是否被目的端口禁止转发。

过滤库中存放着禁止或允许哪些MAC地址(包括组MAC地址)在哪些端口转发的信息。

c)过程3的处理:

根据这个帧的优先级设置放置到不同的输出队列中,如果队列溢出则丢弃。

d)过程4的处理:

根据队列调度算法(如WRR,WRED算法)处理队列中的帧。

e)过程5的处理:

根据用户的优先级映射规则设置以太帧的优先级标志位。

f)过程6的处理:

重新计算FCS校验并且发送。

3.虚拟局域网VLAN

(1)虚拟局域网VLAN:

虚拟逻辑的概念

目的:

抑制广播……

划分方式:

基于端口、基于MAC地址、基于第三层协议、基于组播组、基于IP地址映射、基于策略。

1)基于端口的可以通过配置的形式明确指定端口所属的VLAN

2)基于MAC地址的指定MAC地址所属的VLAN。

(2)跨交换机的VLAN:

这里指终端分别连接不同的交换机,但各终端属于同一个VLAN的情况。

实现:

在802.1Q帧格式中的802.1QTag字段,其中有一个虚拟局域网标识号VID来区分正确的VLAN。

交换机的端口和链路则按照是否识别包含VID的帧分类。

VLAN链路的类型:

AccessLinkAccess模式的端口只能属于一个VLAN,VLAN内所有端口都是untagged的。

TrunkLinkTrunk模式的端口可以属于多个VLAN,并且以tagged的方式属于其它vlan,可接收和发送多个VLAN报文,一般作为交换机间连接的端口。

HybridLinkHybrid模式的端口可以属于多个VLAN,可以是untagged的也可以是tagged。

(关于QinQ的讨论见《AQS知识总结》)

(3)SuperVLAN:

多个VLAN聚合成一个SuperVLAN,广播抑制在sub_VALN,而网络层则只有SuperVLAN一个视图。

SuperVLAN是软件概念,对交换芯片来说是透明的。

划分VLAN是为了隔离广播,每个VLAN都需要分配一个IP网段,造成IP地址的浪费,VLAN聚合可以改变这种情况,节约IP地址,广播依然被隔离在sub_VLAN里面,sub_VLAN之间则通过ARP代理进行单播通信。

同时VLAN聚合有两个限制:

多播组播的程序不能在VLAN聚合中应用;ARP代理有可能成为瓶颈。

实现:

L3交换机作为ARP代理交换机支持SuperVLAN的搭建

4.生成树协议

目标:

生成一颗无环树(STP/RSTP/MSTP/PVST)防止交换机环路广播造成的网络风暴

协议过程:

1)选举根交换机(BridgeID):

交换机复位,从各端口发送BPDU包,进行根交换机的选举。

最后具有最小优先级的交换机成为根交换机。

2)选举根端口:

选出根交换机后,根交换机开始发送配置BPDU,其它交换机根据配置BPDU携带的信息计算出自己的根端口。

3)对于每个subVLAN选举指定交换机和指定端口。

4)闭塞所有冗余端口:

其他既非根端口又非指定端口的端口都处于闭塞状态,把所有没有接收到配置BPDU的端口置于倾听状态,一段时间后进入转发状态。

至此,STP协议稳定,正常转发数据。

5)新交换机的加入

6)链路故障

7)快速端口:

运行STP的交换机为了安全,开始的时候各个端口都处于阻塞状态。

但一些连接终端的端口却没有必要处于阻塞,这些端口一开始马上就可以处于转发状态。

这些手工设置的一开始就处于转发状态的端口就是快速端口。

8)快速上行链路:

启动了快速上行链路的交换机检测到自己的根端口故障时,马上把阻塞的端口打开变成根端口。

传统的做法是交换机一端时间接收不到根的BPDU,然后重新运行STP。

CAUTION:

如果两个端口到根的代价相同,则由端口号和端口优先级来决定

5.三层交换

(1)一个以太网帧进入交换机后,交换机是如何判断这是一个需要二层交换的报文,还是需要三层路由的报文?

✓如果以太网帧的目的MAC为单播MAC地址,用该MAC+VLAN查找MAC表,如果找到并且结果为网关MAC,即带有L3表标志,就需要进一步查找单播路由表,该报文为三层报文

✓如果以太网帧的目的MAC为组播MAC地址(01-00-5E-00-00-00~01-00-5E-7F-FF-FF),并且三层组播使能,就需要进一步查找组播路由表

非以上两种情况走普通二层流程交换

(2)第三层路由技术有三种类型:

逐包路由技术;一次路由,随后交换技术;标记路由技术。

逐包路由技术主张使用能够路由每一个数据包的设备,以实现对每个数据包的控制,已有产品能实现线速路由;(用特别设计的硬件实现,这类技术的体系结构差别大,性能和价格差别也大,对QoS,Policy有少许支持)

一次路由,随后交换技术。

包括了3om公司的FastIP和ATM论坛的MPOA(也称捷径式路由)以及Ipsilon公司的IPSwitching,这种技术在流量控制方面不如逐包交换。

(路由查找本质是软件实现,在业务流无规则和网络拓扑频繁变化的环境不适合)

标记交换(TagSwitching)是面向广域网的解决方案,该方案中每一个数据包或信元都携带一个固定长度的标签,以便告诉交换结点怎样处理数据。

IETF正讨论此项技术,现已通过四个关键的与MPLS—Mutli-ProtocalLabelSwitching密切相关的技术,而MPLS主要核心技术大部分是以TagSwitching为标准的。

Cisco的GSR12000千兆位路由交换机即采用了标记交换技术。

(MPLS是基于全网解决的它是指在一个边缘标签路由器上找到目的路由打上路由标签以后经过其它路由器就不用再查找而直接交换)

(3)三层交换功能的实现依赖于两个表:

路由表和转发高速缓冲区。

后面这个表是用来进行精确匹配查找。

三层交换机为了提高效率采用了精确匹配查找算法,在一些高端三层交换机上该特性不是必须的,因为采用硬件实现最长匹配查找算法的效率并不一定比采用精确匹配查找算法效率差。

而精确匹配查找算法需要维护路由表与转发高速缓冲的同步

(4)路由查找顺序:

✓首先查找主机路由表,因为主机路由表的出口为物理端口,如果查找到直接路由到该出口

✓如果在主机路由表中没有查到,需要再查找子网路由表,因为子网路由表的出口是下一跳的IP地址,如果找到,需要用该IP地址再次查找主机路由表得到物理出口

✓如果子网路由表没有找到,需要进一步查找默认路由,如果找到,也需要用该IP地址再次查找主机路由表得到物理出口

✓如果以上都没有找到,则整个查找路由表失败

(5)三层路由转发流程图:

L3_Table是主机路由表,完全匹配,可直接转发

L3_defip_table是子网路由表,查找到下一跳路由

Ecmp表明下一跳路由出口是否主机路由,为1表明不是主机路由

Ecmp_Table在下一跳不是主机路由时寻找下一跳路由的具体索引

(6)三层交换机专门针对局域网进行了优化,采用的接口类型比较单纯,一般只提供以太网接口。

但有些交换机为了提高上行链路的效率,也提供了高速的POS接口.

(7)3交换机和路由器的区别:

a)L3交换机注重性能,路由器注重功能;

b)L3交换机是在以太网之间转发,接口较单一;路由器接口丰富,可以在不同物理层之间,应用于局域网和广域网;

c)L3交换机的主体芯片为ASIC芯片;路由器则多使用网络处理器;

d)路由器有丰富的路由协议,超大的路由表项,快速的路由收敛

二、以太网交换机实现原理

1.L2/L3交换机体系结构

(1)典型的L2/L3交换机体系结构:

目前的L2/L3交换芯片一般采用分布式交换的体系结构,主要包括:

CPU(带管理的交换机)或者EEPROM(不带管理的交换机)、交换结构、MAC芯片、物理层芯片几个部分,如果是提供光口还需要光模块。

其中的核心是MAC芯片,实现了MAC源地址学习和L2层以太帧转发,以及流量控制功能,如果是L3芯片,则在MAC层芯片中还有路由模块。

所有的2层地址学习、2层转发和3层路由都是分散在各个MAC芯片中完成的。

虽然地址学习是分散在各个芯片中完成的,但是系统中的所有MAC芯片会通过内部通讯协议通过交换结构互相交换地址学习信息,使得整个系统中的地址学习表是统一的。

(2)MAC芯片的逻辑框图

图中所示的是一个L2/L3层交换的MAC芯片,它主要包括了L2交换模块、L3路由模块、流分类模块和转发引擎等几个部分

a)L2交换模块主要进行MAC地址学习和L2层转发判断。

b)L3路由模块主要根据路由表进行L3层路由转发,如果是L2芯片则没有这个模块

c)流分类模块主要是对进入以太帧做QOS方面的调整或者流量限制。

如果是L2层芯片,则可以根据源目的MAC地址、端口、VLAN号、以太帧中的QOS位进行流控,降低优先级甚至丢弃,如果是L3层芯片还可以根据IP包中的TOS位、IP源目的地址、IP地址加上TCP/UDP的端口号,甚至根据应用层的信息进行QOS调整和流量控制。

d)转发引擎主要是根据前面几个模块的结果做转发操作,输出队列的选择依据以太帧中的COS与优先级队列映射表或者Diffserv表等。

2.以太网交换机的软件模块

(1)软件总体架构

软件总体架构图(集中式):

软件总体架构图(分布式):

(2)各子系统的内部模块及相互关系介绍

a)支撑子系统(SSP,BSP,VxWorks,ROS)驱动和封装底层硬件,为上层其它软件系统提供支撑功能。

主要利用ZXR10的ROS提供,包括系统支撑、系统控制、版本加载控制、BSP、SSP等。

◆系统支撑模块主要包含了VxWorks内核、进程调度、进程通讯、内存管理和定时器管理五个部分,主要的设计目的在于屏蔽硬件特性,使应用层与硬件无关;封装第三方的实时操作系统(VxWorks)的核心资源和系统服务,为各处理机的应用程序提供一个统一的和可移植的软件平台。

◆SSP包含系统级API、硬件相关的API、DriverlayerAPI、SystemAbstractionLibraryAPI。

b)二层子系统使用支撑层和MUX层提供的服务,完成数据链路层的控制功能。

包括L2协议模块(STP,LACP,IGMPsnooping,GARP),L2管理模块(VLAN,MAC,端口参数,端口镜像),L2交换模块(L2软转发,L2硬转发)。

c)TCP/IP子系统是一套分层的协议栈,使用支撑层和MUX层提供的服务,在IP、TCP/IP、Telnet等协议间逐层传递处理数据包,为上层的应用和SNMP网络管理提供服务。

包括IP业务控制层和IP数据转发层。

d)MUX子系统完成驱动和上层软件的信息交换,并对交换芯片和微码的软件表进行统计和监控

e)前台网管和操作维护子系统利用TCP/IP协议实现SNMP网络管理代理,并利用底层各被管理实体的执行体实现管理要求。

后台网管和前台网管之间通过网络通信,对前台系统进行管理,实现管理网络和传送网络的分离

(3)数据流程

数据流程(分布式):

L2/L3的整体数据流程(集中式):

三、VxWorks嵌入式操作系统

1.时间限制内的响应和处理能力、有效的中断处理能力处理异步事件、高效的I/O能力来处理有严格时间限制的数据收发应用、快速启动,并有出错处理和自动恢复功能、程序和操作系统两种软件的一体化程序。

2.嵌入式系统硬件的基本构成:

CPU、内存、EPROM、FLASH、网口、串口RS232、专用外围设备。

3.1984年WindRiverSystem公司推出它的第一个版本--VxWorks1.0.1

1995年以后,WRS公司推出了一套实时操作系统开发环境--Tornado。

目前的最新版本是VxWorks6.4。

数据研究所开发部目前采用的基本都是VxWorks5.5.1

4.VxWorks操作系统的特点:

高性能的微内核设计、可移植性,兼容性、可减裁性、网络组件、灵活和快速的I/O文件特性、良好的集成开发环境Tornado

5.交叉编译是指宿主机和目标机是不同的系统,Ethernet连接用来下载可执行文件、内核、根文件系统等大型对象。

RS232连接用来进行调试。

6.vxWorks中察看任务信息的几个API(其实就是WindSh解释器提供的命令):

(1)i(taskName/taskId)

查看当前CPU上跑得所有task(无参数)/某个task(给定name/id)的信息

(2)tt(taskName/taskId)

查看给定任务的当前函数调用堆栈情况。

对于已经挂起的进程,到底挂在什么地方,通过这个命令,基本就可以知道了

(3)ti(taskName/taskId)

查看某个给定task的信息。

通常,寄存器出问题的task,显示时,会在最后出现…Exception…字样

7.任务间通信与同步:

共享内存(全局变量,全局数组,结构,链表等)、信号量(同步与互斥)、消息队列。

8.异常处理的三个阶段:

异常识别阶段、异常捕获阶段、异常处理阶段(在超级用户模式下执行)。

9.用户的异常处理函数可以三种形式加载到系统中去:

填充异常向量,替换缺省异常处理例程,添加异常处理钩子函数。

10.

sysPhysMemTop()

VXWORKS运行时的内存布局

TRACE_BUFF(死机文件)

ROSMANAGEMEMORY

SystemMemoryPool

WDB_POOL_SIZE

VxWorksand

Application(text,data,bss)

InitialStack

中断向量

RESERVER

sysMemRosTop()

sysMemTop()

 

RAM_LOW_ADRS

LOCAL_MEM_LOCAL_ADRS

11.ROS系统的内存管理:

从高到低依次有ROS_MMQ,ROS_POOL和ROS_BUF三部分,再下面到0是System/BSP。

(8)ROS_BUF是多队列管理的,有各种固定大小固定块数的内存,申请释放速度快,内存使用效率低。

适合发消息等快速申请释放内存的场合。

专用API:

Ros_GetBuf,Ros_FreeBuf

(9)ROS_POOL单队列管理,提供大块内存,容易产生内存碎片。

适合大块内存申请,长期占用。

专用API:

OsAlloc,OsFree

(10)ROS_MMQ多队列管理,以最小块64k的整数倍申请内存,效率高,结合了前两者的有点,超过512K的内存直接从ROS_POOL中申请。

适合路由等在短时间内大量申请/释放内存的场合。

-------《以太网交换机VXWORKS及BSP介绍》-------

12.BSP即BoardSupportPackage,板级支持包,是嵌入式操作系统独立于硬件这一思想的具体实现,因为VxWorks是要在各种不同的CPU体系上运行的,对于与具体的硬件平台相关的代码都被封装在BSP中,这样VxWorks就可以运行在由BSP向上提供的虚拟硬件平台上,BSP与操作系统通过定义好的统一接口进行交互

13.BSP的功能:

◆板级支持包对各种板子的硬件功能提供了统一的软件接口,它包括硬件初始化、中断的产生和处理、硬件时钟和计时器管理、局域和总线内存地址映射、内存分配等等

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2