2正常网络端口
除非另有说明,否则以下讨论假定端口处于正常网络模式(即,在端口偏移0x04处FrameMode = 0x0)。
2.1入口策略
入口策略块通常用于限制允许帧进入的位置,用于修改通过交换机的正常数据包流。 使用行业标准机制。 所有端口具有相同的入口策略功能,如下所示。(如果端口连接了内部管理处理器则不能支持所有的模式)
1、 可以阻止非管理帧进入交换机以支持生成树协议(2.2.1节的传统的802.1D和2.2.3节的802.1S协议)
2、 可以对帧的源MAC地址进行身份认证,并且可以将帧丢弃或映射到CPU以支持802.1X协议(1.2.7节和2.1.2节)
3、 可以基于帧的DA,SA,VID,以太网类型和/或如果帧是UDP广播和/或DHCP选项82(第2.1.3节),执行第2层策略操作(镜像,trap或丢弃)。
4、 在交换机的数据库中找不到帧的内容(称为“丢失”),可以被配置为对于SA的镜像或VID“丢失”,或捕获为DA,SA,VID或TCAM“丢失”(第2.1.4节)。
5、 支持TCAM的那些设备上的三元内容可寻址内存(TCAM)支持具有切换策略替代功能的深度数据包检查(第2.1.5节)。
6、 基于端口的VLAN和/或802.1Q VLAN用于防止帧从某些端口流出(第2.2节)
7、 交换机管理端口状态,802.1s(每个VLAN生成树)或802.1Q用于完全阻止帧进入交换机(第2.2.3节)。
8、 可以丢弃所有IEEE 802.1Q标记的帧(第2.2.2.4节),也可以丢弃所有未标记的帧(第2.2.2.3节)。
9、 每个端口有五个独立的TCP / IP风暴限制计数器/资源(第2.5节),每个端口有三个同步时隙计量器(ISTM)(第???节),支持入口速率限制(IRL)或管制。见Ingress Rate Limiting (IRL)节
10、 可以使用IRL资源通过对每个“ n”帧中的每个镜像仅进行镜像来对任何第2层策略镜像和任何Ingress Monitor Source镜像(第5节)进行统计采样。
2.1.1 802.1D生成树的端口状态过滤
该设备每个端口支持四个802.1D端口状态,如表6所示(每个VLAN端口状态也支持802.1s-请参阅第2.2.3节)。 设备中的队列控制器(请参见第2.6节)使用802.1D端口状态来调整缓冲区分配。 入口策略块使用它们来控制允许哪些帧类型进入和离开交换机,以便可以支持生成树或网桥环路检测软件。 端口控制寄存器中的PortState位(端口偏移0x04)确定每个端口的端口状态(假设未使用每个VLAN端口状态的802.1s),并且可以在任何时间修改这些位,而不会在传输的帧上引起任何错误。
表6列出了端口状态并对其进行了描述。 这两个端口状态要求检测管理(MGMT)帧(MGMT帧在5.2节中定义)。 它们的主要目的是支持IEEE 802.1协议,例如生成树协议(参见5.2节)。
1、 能够通过阻塞的端口进行隧道传输
2、 源地址学习是不会在管理帧上被执行的
3、 管理帧忽略了在入口和出口(802.1Q和基于端口)的VLAN规则
4、 在管理帧上组播侦听也是不能执行的。
5、 不执行速率限制(如果在IRL(2.5节)中将管理帧选择为非速率限制。)
6、 管理帧的速率限制也是可能的,为了防止拒绝服务(DoS)攻击。
这意味着管理帧始终会转到由分配给地址数据库中帧的目标地址(DA)的目标端口向量(DPV)所指示的端口,或设备的CPUDest端口或AltCPUDest端口(全局1偏移量0x1A索引0x30和0x31) ),具体取决于所使用的MGMT检测模式(第5.2节)。 MGMT帧通常用于802.1D生成树桥协议数据单元(BPDU)和其他802.1协议,但是可以将任何多播或任何单播地址定义为MGMT以支持新的或专有的协议。
1、 禁用:不允许帧进入(进入)或离开(出口)一个禁用端口。 学习不会在“已禁用”端口上进行。
2、 阻塞、监听:仅允许管理帧进入(进入)或离开(离开)阻塞端口。 所有其他帧类型都将被丢弃。在阻塞的端口上禁用学习。
3、 学习:仅允许MGMT框架进入(进入)或离开(离开)学习端口。 所有其他帧类型都将被丢弃,但是也会在所有由于过滤而未丢弃的良好非管理帧上进行学习。
4、 转发:正常运行。 允许所有帧进入(进入)和离开(离开)转发端口。 在所有由于过滤而未被丢弃的良好非MGMT帧上进行学习。
NOTE:可以出于多种原因对帧进行过滤,包括第2层策略(第2.1.3节),端口状态(第2.1.1节和第2.2.3节),802.1 MAC身份验证(第2.1.2.1节),802.1Q违规(第2.2.2节),反向802.1X MAC身份验证(第2.1.2.3节)或其标记与预期的不匹配(第2.2.2.3节和第2.2.2.4节) ), 等等。
交换机中所有端口的默认端口状态可以禁用或转发,具体取决于NO_CPU引脚的值(有关详细信息,请参见设备的数据表)。 除非将NO_CPU配置为CPU附加模式,否则这些端口将处于“转发端口状态”。 这样,CPU可以在启动端口之前完全启动,并开始接受帧,包括正在运行的网桥循环或生成树检测或路由软件。
NOTE: 只要将NO_CPU引脚配置为“ CPU附加模式”,内部和外部PHY就会在掉电状态下复位。在这种模式下,必须先将PHY的PwrDwn位清零(PHY偏移量0x00),然后才能接通PHY的电源。引导后,软件仅需为PHY通电一次。这样可以确保PHY的链接伙伴不会看到链接,直到CPU有时间启动并准备好接受来自其链接伙伴的MGMT帧。
受管交换机应通过配置NO_CPU引脚来使用CPU连接模式。但是,即使是这些设计,也可能需要PCB上的跳线或测试点,以便可以将开关重置为NO_CPU引脚的“无CPU连接”模式设置。这可以帮助设计的交换器部分进行初始PCB调试和/或制造测试,因为该交换器无需任何软件即可在任何地方为转发帧供电,但这仅是一种调试模式,并且不能用于具有CPU的生产设计中已连接(否则,其他帧将在引导CPU时通过交换机,这可能会造成网络故障)。
2.1.2源地址过滤
该设备支持源地址的过滤:
1、802.1X MAC身份认证
2、如果需要的话,在完全验证SA之前将帧捕获到CPU进一步检查
3、反向802.1X MAC身份验证可帮助防止拒绝服务(DoS)攻击。这是通过将特定的寻址以及每个端口模式位一起加载到地址数据库中来完成的。 第2.1.2.4节介绍了如何为上述每个应用程序最佳地将这些特殊地址加载到地址数据库中(静态或动态)。
2.1.2.1 802.1X MAC地址认证(锁定时)
如果端口的SA过滤位设置为0x1,则启用丢包锁定模式(端口偏移0x04),则在端口上使用未认证的源MAC地址接收的所有非MGMT1(非管理)帧都将被丢弃。在这种模式下,只有具有认证SA的帧(或MGMT帧)才允许进入交换机进行进一步处理。如果帧的SA存在于地址数据库中,并且其内容与帧进入交换机的源端口相关联,则认为该帧的SA被认证了。
在第6.3节中定义了如何将这些地址输入ATU地址数据库的机制。建议在支持基于MAC的802.1X身份验证的端口(即处于此DropOnLock模式的端口)上使用CPU定向地址学习(第1.2.6节)。
在CPU验证地址之前,它可能需要检查某些帧的内容。这可以使用源MAC帧陷阱(第2.1.2.2节)来完成。在这种模式下,可以屏蔽来自被拒绝的源地址的过多中断(请参见第1.2.7节)。
PS:如果端口过滤位置1,则未认证的源MAC接收到的非管理帧都会被丢弃,只有认证了的SA或在地址库中的才能被进一步处理。
2.1.2.2源MAC帧的捕获(到cpu)
源MAC帧捕获与802.1XMAC地址认证(2.1.2.1节)一起使用,并且如果端口的SA过滤位设置为0x3则在端口上启用了源MAC帧捕获,从而启用了Drop to CPU模式(端口偏移0x04在15:14位)。它的目的是在对源MAC进行身份验证之前获取CPU更多的数据。在标准的.1X中,CPU只能仅基于SA认证SA。而Drop to CPU模式允许将帧从发出请求的SA捕获到CPU,以进行进一步的检查。这样CPU可以查看整个帧的内容,以帮助做出身份验证决策。
Drop to CPU模式与Drop on lock模式大致相同。它增加了半认证MAC地址的概念,其中具有半认证SA的帧被映射到CPU的端口(基于CPUDest的值,全局1偏移量0x1A,索引0x30)。在这种模式下,只有带有认证或半认证SA的帧(或MGMT帧)才允许进入交换机进行进一步处理。如果SA没有在地址数据库中,那么该地址是未认证的而未认证的源MAC地址收到的非管理帧都将会被丢弃。反之如果已存在于地址数据库中则认为其已被认证。
如果SA作为静态ATU条目出现在地址数据库中,并且其目标端口矢量(DPV和“ T”位/true)都为零,则认为该SA是半授权的。这些帧会捕获到CPU。
条目的输出端口号(DPV)为零,其他端口无法将帧传到此,同时允许有该SA的帧发送到此,让CPU进一步检查。
PS:数据包在进入未被认证的端口时先放入cpu等待认证完成,如果未认证则是Drop on lock丢弃这些帧如果成功则用Drop on unlock进一步细分帧。
2.1.2.3反向802.1X MAC地址认证(解锁时丢弃)
反向802.1X MAC地址认证(解锁时丢弃)接受来自所有源MAC地址的帧,但是拒绝那些特殊标记的MAC地址。当此功能与地址学习限制(1.2.4节)或CPU定向学习(1.2.6节)一起使用时,它们可用于防止DoS攻击。(偏移量0x04)启用该功能后丢弃半授权源MAC地址的所有非管理帧,而其他帧进入交换机进行进一步的处理。
PS:如果SA在地址数据库非零则认为它的SA是已知的。那么它就可以通过自动学习和CPU定向学习进入地址数据库。
如果SA在地址数据库中全为零,且T也为零则SA是半授权的那么其可确保其他端口的帧不能传输到此,因为全为零则其他帧将其作为DA时会被丢弃。此功能可以防止DoS攻击。
2.1.2.4用于源地址过滤器的静态或动态地址
当CPU在地址数据库中加载MAC地址以用于SA过滤,是将地址加载成动态还是静态呢?两种都可以,由应用程序决定。
802.1X中的Drop on Lock模式不能接受帧除非帧的SA是在地址数据库中与入口端口相关联的。 乍一看应该被当做静态条目被加载,但是同一时间有大量的MAC地址认证被使用所以就当成动态地址被加载了。为了防止老化可以启用HoldAt1位(偏移量为0x0B),启用刷新锁定位(0x0B)来让他们自我刷新。如果该地址被最近使用过的地址撞掉了,CPU可以通过缓存快速重新加载,CPU也可以通过配置来执行刷新其老化的时间,这样可以防止ATU满了导致CPU无法加载的情况。(6.3.6节)
802.1.X Drop to CPU模式应将认证地址加载为动态地址(参考上文)但是半认证的地址必须以静态方式加载,那么只有第一帧会被CPU捕获。而其他帧会被认为是非认证的帧。如果CPU只要查看几个帧的内容那么其他帧可以被加载为未认证的帧。
Drop to CPU模式下允许用少量的地址进行自动学习,可能会被载入到防止DoS攻击。由于半授权的地址的数量非常少,因此CPU可以将这些地址静态加载。CPU也会在一段时间后将它们卸载,以便重新加载。
2.1.3二层策略的控制列表
设备支持2层PCLs(控制列表)。每个端口支持的策略操作是:
1、 普通帧切换(即无特殊操作)
2、 策略镜像(复制)帧到MirrorDest端口(全局1偏移量为0x1A索引为0x22)
3、 政策陷阱(重定向)帧到CPUDest端口(全局1偏移量为0x1A索引为0x33)
4、 策略丢弃(过滤)帧
下图显示了可在每个端口基础上选择上述策略的框架中的字段。

每个端口可以互不影响地使用八个策略项目(偏移量0x0e)中的每一个。因此一个帧可以支持多个策略操作。单个帧既可以被策略捕获也可以被策略镜像,如果有丢弃则该帧会被丢弃。
2.1.3.1目的地址,源地址和VID策略
当每个帧进入交换机时,其DA和SA都将查找到地址数据库中。如果在ATU中找到了DA则在启用DA的端口执行二层策略,同理在ATU中找到了SA也执行。每个进入交换机的帧会提取一个VID或将其分配给该帧。然后在Vlan数据库中查找VID。如果找到了则其Policy位置1则将在启用VTU第2层PCL的端口(端口偏移量0x0e)上执行2层策略。
NOTE:相同的MAC地址可以同时成为端口5到0的策略丢弃,端口6和7可以正常交换。但是一旦这样配置了端口,所有在ATU中有策略条目状态的MAC垏将在这些端口上以相同的方式工作。ATU中的DA和SA策略条目必须是静态条目,因此只能由CPU手动清除。
2.1.3.2以太类型策略
当每个帧进入交换机时,将提取并比较其以太类型。如果帧的以太类型为0x8863,则将在启用PPPoE第2层PCL的端口(0x0e)上的该帧执行第2层策略。如果以太类型为0x8200,则将启用VBAS第2层PCL的端口上执行2层策略。如果与端口PortEType寄存器(0x0f)相匹配则将在启用EType第二层执行2层策略。
2.1.3.3 DHCP选项82
DHCP(动态主机配置协议)选项82是一种特殊策略功能,它超出了第2层的字段。如果进入端口的帧与IPv4/6帧格式匹配并且启用了端口的Opt82则在此有2层策略。必须匹配白色的字段,而不检查灰色背景中的那些字段。
2.1.3.4UDP广播
UDP广播是另一种特殊策略功能它超出了帧的第2层字段。如果进入端口的帧与IPv4/6 UDP Farme format相匹配那么在此有2层策略。必须匹配白色的字段,而不检查灰色背景中的那些字段。
2.1.4丢失Traps(重定向)和镜像
设置支持丢失Traping 或镜像。每个端口支持的丢失操作是:
1、 普通帧切换(无特殊操作)
2、 丢失镜像(复制)帧到MirrorDest端口(全局1偏移0x1A,索引0x22)
3、 丢失陷阱(重定向)帧到CPUDest端口(全局1偏移量0x1A,索引0x30)
丢失镜像可以被配置在每个端口的基础上,遵循以下的丢失类型:
4、 SA丢失,即在地址数据库中找不到帧的源地址(第1.2.2节)
5、 VTU丢失,即在VLAN数据库中未发现VID有效的帧(第6.2.5节)
可以针对以下丢失类型在每个端口上配置丢失Trap
6、 DA丢失,即在地址数据库中找不到帧的目的地址(第1.2.2节)
7、 SA丢失,即在地址数据库中找不到帧的源地址(第1.2.2节)
8、 VTU丢失,即在VLAN数据库中未发现VID有效的帧(第6.2.5节)
9、 TCAM丢失,即该帧与TCAM中的任何条目都不匹配(第2.1.5节)
Miss镜像和Miss陷阱在端口偏移量0x0D中配置。
2.1.5 TCAM入口策略(仅支持TCAM的设备)
如果设置支持三进制内容可寻址内存(TCAM),则可用于执行自定义的深度数据包的检查,从而导致可编程的交换机操作会覆盖交换机当前配置的策略。可以将TCAM看作是一个可编程策略引擎,所有网络链路都是全速运行。
该设备的TCAM功能强大而又简单。它可以匹配每个帧的前48个字节或96个字节中的每个字节的每个位。这意味着可以匹配任何当前或将来的协议帧格式。
1、48字节的TCAM条目或以匹配所有802.1层2字段和所有IPv4标头字段。
2、96字节的TCAM条目可以匹配所有IPv6标头字段。96字节的TCAM条目是通过两个48字节的TCAM条目组合在一起而构成的。TCAM中可以同时存在48字节和96字节的条目。
可以对TCAM进行编程,使其对一个帧执行以下操作(当TCAM发生匹配时):
1、 覆盖分配给帧的VLAN ID(VID)2.2.2.5节
2、 覆盖分配给帧的优先级(FPri和QPri)2.4节
3、 通过覆盖分配给帧的DPV来覆盖端口出口的帧1.2.2节
4、 定义LAG负载均衡
通过配置TCAM模式位(端口偏移0x0D),可以在端口上启用TCAM。对于端口需要检查数据包的最坏情况的深度数据包检查深度,需要启用这些位。如果仅将48字节TCAM条目分配给端口,则可以为48字节搜索启用端口的TCAM模式。如果一个端口甚至分配了一个96字节的TCAM条目,则必须启用该端口的TCAM模式以进行96字节的搜索。
有关TCAM功能以及如何加载TCAM条目的更多信息,请参见6.1节

交换机芯片笔记2.1相关推荐

  1. 交换机芯片笔记1.2

    1.2基本交换机的操作: 设备从MAC接收数据包然后对它进行处理,通过源地址最后转发到适当的MAC上 进行传输. 1. 入口规则(2.1节) 2. 队列控制器(2.6节) 3. 输出队列(2.6.5. ...

  2. androidstudio mac mini_苹果M1芯片笔记本能安装运行Android Studio和模拟器吗?能!

    苹果M1芯片笔记本能安装运行Android Studio和模拟器吗? 能!能!能! ps:大年初一,本该吃吃喝喝,养养膘,打打牌.但是就在前几天,大学时期买的,用了6,7年的联想笔记本,光荣下岗了!趁 ...

  3. 交换机芯片初创企业再获7700万美元融资

    origin: http://net.zol.com.cn/686/6867869.html 2018-04-27 05:50:00 [  中关村在线 原创  ]   作者:郑伟 本周三消息,交换机芯 ...

  4. Marvell交换机芯片SMI接口读写协议

    Marvell的88E6XXX系列交换机芯片基本都提供SMI(Serial Management Interface)接口. SMI接口使用2线串行通信,一个MDC提供时钟,一个MDIO为双向数据引脚 ...

  5. RK3399驱动开发 | 21 -Marvell交换机芯片88E6390X调试(基于linux主线5.4.32内核)

    一.88E6390X 1. 芯片框图 88E6390X芯片是Marvell的一款11端口交换器芯片,有1个CPU端口.8个10/100/1000Mbsp以太网端口.两个XAUI/RXAUI/2500光 ...

  6. 企业级路由器与交换机学习笔记

    企业级路由器与交换机学习笔记 不仅三层交换机具有了部分原来独属于企业级路由器的"路由"功能,而且现在宽带和高端企业级路由器中也开始兼备交换机的"交换"功能了. ...

  7. stm32 交换机芯片_基于STM32的全链路语音交互 - stm32/stm8 - 电子工程世界

    硬件平台:STM32F746G-DISC开发板 编译软件:KEIL 5.31 操作系统:RTX5 TCP/IP协议栈:Cyclone-TCP 语音交互平台:思必驰DUI开放平台 这里说一下使用的TCP ...

  8. [芯片笔记] W25Qx芯片的标准SPI读写

    目录 1. W25Q16 1.W25Q16功能简介: 2.标准SPI读写W25Q16开发步骤 3. 标准SPI读写详细步骤 3.1 W25Q16芯片硬件说明 3.2 通过标准SPI读取开发商的ID和设 ...

  9. 台湾ICPlus IP175GHI, 85nm /极低功率,5接口10/100以太网集成交换机芯片

    台湾ICPlus IP175GHI 5接口10/100以太网集成交换机 , 85nm /极低功率 功能一般描述 z 5端口嵌入式10/100 PHY开关控制器 IP175G支持5 100BaseTX ...

  10. 路由器和交换机学习笔记

    交叉线:同种设备间使用 直通线:异种设备间使用 数据链路层 帧格式:帧头(目标MAC[6个字节] 源MAC[6个字节] 类型[2个字节]) 上三层数据 帧尾 类型字段的作用:识别上层协议,为上层协议提 ...

最新文章

  1. 复数特征值求特征向量_深刻地认识特征值
  2. 【CyberSecurityLearning 41】Linux密码破解以及菜单加密
  3. 连麦互动直播 将成直播体验深度优化的必然形式
  4. java定义矩形类rect_Java定义矩形类
  5. 懂「互联网语」的程序员,是个狠人。
  6. 专题突破一之分块——Untitled Problem II,Balanced Lineup,[ioi2009]Regions
  7. 【转】细说.NET中的多线程 (六 使用MemoryBarrier,Volatile进行同步)
  8. SQL删除语句同时向备份表插入数据
  9. SIP应答代码【ZT】
  10. Linux下小型web服务器boa的使用
  11. Material Dialogs
  12. 再看《JavaScript高级程序设计》第8-9章
  13. linux 永久修改 igmp 版本,Linux环境变量的修改(永久,暂时)
  14. unity3d赛车游戏视频教程
  15. Kaggle一周30小时Tesla P100教程~
  16. 华为云,奔跑的感觉爽吗?
  17. android黑科技系列——微信抢红包插件原理解析和开发实现
  18. LSTM时间序列预测MATLAB代码模板(无需调试)
  19. scoop下载安装教程,无报错,超简单。
  20. 编程基础知识(变简单的进制转换)

热门文章

  1. (云苍穹)表单插件常用代码
  2. Anaconda下载速度慢
  3. Apizza 升级了,更好的 api 接口管理和文档编写,欢迎大家访问吐槽!!
  4. c语言自动生成邻接矩阵,01邻接矩阵的创建C语言实现
  5. PGIS大数据量点位显示方案
  6. 微信公众平台开发进阶篇资源集锦
  7. Android中的armeabi等如何适配
  8. 三维人脸重建:精读3dmm.py
  9. php 后台存cookie前台js中文读取cookie的办法
  10. 用iPhone打造个人的GTD(Get Things Done)实践