YD∕T 3816-2021 以太网接入方式下源地址验证技术要求 SLAAC场景(通信).pdf

上传人:曲**** 文档编号:67534037 上传时间:2022-12-25 格式:PDF 页数:21 大小:1.60MB
返回 下载 相关 举报
YD∕T 3816-2021 以太网接入方式下源地址验证技术要求 SLAAC场景(通信).pdf_第1页
第1页 / 共21页
YD∕T 3816-2021 以太网接入方式下源地址验证技术要求 SLAAC场景(通信).pdf_第2页
第2页 / 共21页
点击查看更多>>
资源描述

《YD∕T 3816-2021 以太网接入方式下源地址验证技术要求 SLAAC场景(通信).pdf》由会员分享,可在线阅读,更多相关《YD∕T 3816-2021 以太网接入方式下源地址验证技术要求 SLAAC场景(通信).pdf(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 ICS 33.040.40M32中 华 人 民 共 和 国 通 信 行 业 标 准YDYD/T 以太网接入方式下源地址验证技术要求SLAAC 场景Technical requirements of ethernet source address validation improvement for SLAAC(报批稿)-发布-实施中华人民共和国工业和信息化部 发布YD/T i 目 次 前前 言言.III 1 1 范围范围.1 2 2 规范性引用文件规范性引用文件.1 3 3 术语、定义和缩略语术语、定义和缩略语.1 3.1 术语和定义.1 3.2 缩略语.2 4 4 简介简介.3 5 5 原

2、理概述原理概述.3 6 6 地址所有权仲裁的基本原理地址所有权仲裁的基本原理.4 7 7 背景及相关协议背景及相关协议.4 8 8 概念数据结构概念数据结构.5 8.1 绑定状态表(BINDING STATE TABLE,BST).5 8.2 过滤表(FILTERING TABLE,FT).6 9 9 绑定状态描述绑定状态描述.6 1010 无状态地址分配源地址验证场景无状态地址分配源地址验证场景.6 1111 绑定锚属性绑定锚属性.6 11.1“SAVI 验证”属性.7 11.2“SAVI-RA-信任”属性.7 11.3“SAVI-SAVI”属性.7 1212 前缀配置前缀配置.7 1313

3、 绑定建立绑定建立.8 13.1 控制报文监听过程.8 13.1.1 初始化.8 13.1.2 从 DETECTION 状态的状态转移.9 13.1.3 BOUND 状态之后.9 13.2“DAD 监听”的状态机.10 1414 辅助绑定过程辅助绑定过程.10 14.1 速率限定的数据触发绑定过程.11 YD/T ii 14.1.1“SAVI 数据触发”属性.11 14.1.2 数据触发的绑定过程.11 14.2 计数器触发的过程.11 14.2.1“SAVI 计数器触发”属性.11 14.2.2 计数器触发的绑定过程.12 14.3 扩展控制包监听过程.12 14.3.1“SAVI-扩展监听

4、”属性.12 14.3.2 扩展控制包监听过程.12 1515 过滤过程过滤过程.13 15.1 数据包过滤.13 15.2 控制包过滤.13 1616 地址冲突检测消息的格式及发送地址冲突检测消息的格式及发送.14 16.1 地址冲突检测.14 1717 绑定删除绑定删除.14 1818 处理绑定锚断链事件处理绑定锚断链事件.14 1919 地址检测的冲突处理地址检测的冲突处理.15 2020 检测中过滤检测中过滤.15 2121 绑定数限制绑定数限制.15 2222 组播侦听发现组播侦听发现 MLDMLD 的相关考虑的相关考虑.16 2323 对链路本地源地址绑定更宽容对链路本地源地址绑定

5、更宽容.16 2424 处理二层路径变化处理二层路径变化.16 2525 状态恢复状态恢复.16 2626 相关常量相关常量.17 2727 安全考虑安全考虑.17 YD/T iii 前 言 本标准是以太网接入方式下源地址验证技术要求系列标准之一,本系列标准的名称和结构预计如下:IP 源地址验证技术要求框架 以太网接入方式下源地址验证技术要求 框架 以太网接入方式下源地址验证技术要求 DHCPv4 场景 以太网接入方式下源地址验证技术要求 DHCPv6 场景 以太网接入方式下源地址验证技术要求 SLAAC 场景 以太网接入方式下源地址验证技术要求 多种地址分配方式共存场景 公众无线局域网接入方

6、式下源地址验证技术要求 以太网接入方式下源地址验证技术要求 管理信息库 本标准按照 GB/T 1.1-2009 给出的规则起草。请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别这些专利的责任。本标准由中国通信标准化协会提出并归口。本标准起草单位:清华大学。本标准主要起草人:毕军、姚广、吴建平、胡虹雨、徐天然、李丹等。YD/T 1以太网接入方式下源地址验证技术要求以太网接入方式下源地址验证技术要求 SLAACSLAAC 场景场景 1 范围 本标准规定了以太网接入方式下无状态地址分配场景的源地址验证技术要求,主要包括无状态 IP地址和绑定锚之间建立绑定锚的过程、其他辅助的绑定过程、绑

7、定表用于报文过滤的过程等。本标准适用于以太网接入方式下无状态地址分配场景的源地址验证。2 规范性引用文件 下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅所注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。IETF RFC3307 IPv6 组播地址分配指导 Allocation Guidelines for IPv6 Multicast Addresses IETF RFC4429 IPv6 乐观重复地址检测 Optimistic Duplicate Address Detection(DAD)for IPv6 IETF RFC486

8、1 IPv6 邻居发现协议 Neighbor Discovery for IP version 6(IPv6)IETF RFC4862 IPv6无状态地址自动分配协议 IPv6 Stateless Address Autoconfiguration,SLAAC IETF RFC5227 IPv4 地址冲突检测 IPv4 Address Conflict Detection IETF RFC6620 本地 IPv6 地址的先到先服务源地址验证改进方法 FCFS SAVI:First-Come,First-Served Source Address Validation Improvement f

9、or Locally Assigned IPv6 Addresses IETF RFC7039 源地址验证改进框架 Source Address Validation Improvement(SAVI)Framework IETF RFC7113 IPv6路由器广播保护(RA-Guard)的Implementation Advice for IPv6 Router Advertisement YD/T 2实现建议 Guard 3 术语、定义和缩略语 3.1 术语和定义 下列术语和定义适用于本文件。3.1.1 源地址验证 Source address validation 在IP报文路由寻址过程

10、中,对其携带的源地址的有效性进行验证。3.1.2 接入网源地址验证/源地址验证增强 Source address validation improvement 在主机所在接入网执行的源地址验证技术,将不允许主机假冒任意非合法分配或配置的地址。是源地址验证的第一步关卡,因此谓之源地址验证增强。3.1.3 绑定表 Bindings 监听地址分配过程,形成的合法IP地址与对应绑定锚的组合信息。3.1.4 绑定锚 Binding anchor 主机的网络连接部件的链路层属性,是不容易被假冒的属性,可以是多个属性的组合,如主机MAC 地址+交换机端口。3.2 缩略语 下列缩略语适用于本标准。ARP Ad

11、dress Resolution Protocol 地址解析协议 ARP RES ARP Response ARP 响应 BST Binding State Table 绑定状态表 YD/T 3DHCP Dynamic Host Configuration Protocol 动态主机配置协议 FCFS First-Come,First-Served 先到先服务 Gra ARP REQ Gratuitous ARP Request 免费 ARP 请求 MLD Multicast Listener Discover 组播侦听发现 NA Neighbor Advertisement 邻居通告消息 N

12、D Neighbor Discovery 邻居发现 NDP Neighbor Discovery Protocol 邻居发现协议 RA Router Advertisement 路由通告消息 SAVI Source Address Validation Improvement 源地址验证增强 SLAAC Stateless Address Autoconfiguration 无状态地址分配协议 STP Spanning-Tree Protocol 生成树协议 RSTP Rapid Spanning Tree Protocol 快速生成树协议 TRILL Transparent Intercon

13、nection of Lots of Links 多链接透明互联 4 简介 本标准描述了在无状态地址和绑定锚之间建立绑定关系的过程(参考RFC7039(SAVI 技术框架)。关于此过程的其他相关细节也在本标准中指定。这种绑定关系可以用来过滤带有假冒 IP 地址的数据包。在RFC7039(SAVI 技术框架)中定义了如何根据其环境和配置使用这种绑定关系,同时也指定了锚点的定义和示例。这种绑定方法一部分是受到了 SAVI-FCFSRFC6620工作的启发。与 SAVI-FCFS 中基于数据触发过程有所不同的是,此规范主要集中于控制平面触发过程。辅助绑定过程是为了弥补控制包监听的不足。5 原理概述

14、YD/T 4设计本机制(本标准详细定义的)是为了提供一种主机级别粒度的 IP 源地址验证,用以作为BCP38的补充。该机制部署在接入设备上(包括接入交换机、无线接入点/控制器等),主要执行 NDP/ARP 监听以建立无状态 IP 地址和对应锚点之间的绑定关系。这种绑定关系可以用来验证数据包中的源地址。6 地址所有权仲裁的基本原理 在无状态场景中,节点可以给自己“分配”地址,并且执行不可靠的重复地址检测来检查地址是否正在被使用。对于 IPv6 地址而言,由于其庞大的地址空间,冲突发生的几率非常小,因此 DAD 不可靠性在现实中并不严重。然而,(一旦发生,)则 DAD 的不可靠性使得源地址验证很麻

15、烦。对于 SAVI 设备来说,当冲突发生时确定哪个节点可以使用该地址是非常困难的、甚至是不可能的。目前,SAVI-FCFS 使用“先到先服务”的原则来确定地址的所有权。这个原则是正确的,但存在的问题是如何确定哪个节点是最先使用地址的节点。由于 DAD 的不可靠性,最先给自己分配地址的节点,可能不是最先使用该地址发送流量(被 SAVI 设备探测到)的节点。SAVI-FCFS 要求设备发送探测消息来确定地址是否正在被其他节点使用。然而,这一工作可能是徒劳的,因为假冒节点可以应答任何探测消息,而且探测信息仍然不一定能可靠地到达预期目标节点。经过长时间的尝试,最终发现,由于 DAD 和 ND 的不可靠

16、性,最佳仲裁策略并不存在。因为一套完美仲裁策略必须依赖一个可靠的 DAD。可以通过简单的推论来证明这一点:最佳仲裁方案=最先给自己分配地址获得该地址的所有权=最先执行 DAD 的节点得到此地址=仲裁者必须知道谁最先执行DAD=DAD 必须可靠地被 SAVI 设备监测到。(此证明也可逆推。)最终,本标准发现寻找最佳仲裁方案都是徒劳的。它与选择根据数据触发还是控制包触发无关。除非无状态分配变为可靠的,否则没有解决方案是安全的。在本标准中,为解决地址所有权冲突问题,本标准决定遵循RFC4862-无状态地址分配的唯一标准。这意味着,只要一个节点成功地完成了 DAD 操作(包括在数据触发情况下 SAVI

17、 设备执行的 DAD 操作),此地址就必须与其绑定。即允许一个地址与多个锚点进行绑定,解决了地址所有权的冲突问题。绑定只有在生存周期到期时才会被删除,该生存周期即为从 RA 中学到的前缀生存时间。于是本标准实现了一个简单的解决方案,其安全性依赖于RFC4862的可靠性。7 背景及相关协议 YD/T 5此机制是 SAVI 解决方案RFC7039(SAVI 技术框架)的一个实例,专门用于无状态的地址情况,包括 IPv6 无状态自动配置地址、手动配置的非静态 IPv6 及 IPv4 地址。在 IPv6 中,IPv6 无状态自动配置RFC4862是一种广泛部署的地址分配机制。节点可以自主生成一个地址,

18、并使用重复地址检测(RFC4862)来自动配置该地址。RFC4862明确要求任何 IPv6 地址都必须执行重复地址检测,包括 DHCPv6 地址。这是基于控制包监听的 SAVI 解决方案的基础。RFC4861中定义了邻居发现协议,这是 IPv6 地址分配的一个必要组成部分。IPv4 没有无状态的自动配置机制,因为 IPv4 自动生成地址的冲突几率比较大。但是,在某些场景下,允许接口在指定前缀范围内配置地址,而不是为每个接口都分配一个静态地址。这些场景下的地址分配方法,本标准也认为其是无状态分配方法。RFC5227中定义检测 IPv4 地址冲突的过程。目前还不需要实现。但该特性对于判定链路上 I

19、Pv4地址的唯一性非常有用。考虑到并不是所有的操作系统都支持RFC5227,本标准设计的解决方案会兼容不支持RFC5227的操作系统。8 概念数据结构 本章对此机制中涉及的概念数据结构进行描述。两个主要的数据结构分别用来记录绑定关系和它们的状态。考虑到数据平面和控制平面的分离,两个数据结构之间存在冗余。8.1 绑定状态表(BINDING STATE TABLE,BST)这张表包含源地址和绑定锚之间的绑定状态,下表 1 为一个 BST 实例。条目以绑定锚和源 IP 地址为键。每个条目都有一个使用期限域来记录该条目余下的使用期限,以及一个状态域来记录该绑定关系的状态。表 1 BST 实例 绑定锚绑

20、定锚 地址地址 状态状态 使用期限使用期限 A IP_1 BOUND 65535 YD/T 6A IP_2 BOUND 10000 B IP_1 BOUND 1 8.2 过滤表(FILTERING TABLE,FT)这张表包含绑定锚和地址之间的绑定关系,绑定锚为键,下表 2 为 FT 的一个实例。这张表不包含绑定关系的任何状态。这张表只用于过滤报文。“访问控制列表”可以被视为这张表的一个实例。表 2 FT 实例 绑定锚绑定锚 地址地址 A IP_1 B IP_2 9 绑定状态描述 本章对此机制涉及的绑定状态进行描述。a)DETECTION 主机(或 SAVI 设备)发送了一条“免费 ARP 请

21、求”或“重复地址检测邻居请求”等待对绑定地址的副本检测结果;b)BOUND 地址已通过副本检测,并与绑定锚绑定;10 无状态地址分配源地址验证场景 下图 1 展示了允许使用无状态地址分配网络中的主要元素。节点无需任何其他服务器的帮助就可以自己生成地址。其他地址分配机制也可以在该网络中使用。YD/T 7图 1 无状态场景 11 绑定锚属性 本章对此机制中涉及的绑定锚属性进行详细说明。RFC7039(SAVI 技术要求框架)对绑定锚进行了定义。每个绑定锚的属性都是可配置的。缺省状态下,绑定锚没有属性。可以给一个绑定锚配置一个或多个兼容的属性。不过,绑定锚也可以没有属性。在本方案中,如果一个绑定锚没

22、有属性,则来自该绑定锚的“路由器广播”消息必须被丢弃。但是,其他数据包不应该被丢弃。11.1“SAVI 验证”属性 当且仅当来自一个绑定锚的流量必须执行源地址验证时,必须为该绑定锚设置“SAVI 验证”属性。带有该属性的绑定锚上的报文过滤方法将在“第 15 章“中进行描述。11.2“SAVI-RA-信任”属性 当且仅当一个绑定锚与一台可信路由器相关联时,应该为其设置此属性。在一台启用了本方案的 SAVI 设备上,可能不存在带有该属性的绑定锚。这就说明只允许本地链路地址,或前缀验证没有启用,或只允许手动配置前缀。不是来自这些绑定锚的“路由器广播”消息必须被丢弃。11.3“SAVI-SAVI”属性

23、 当且仅当一个绑定锚与另一台 SAVI 设备相关联时,应该为其设置此属性。所有来自带有此属性绑定锚的流量不用检查将直接转发。也可以给其他绑定锚设置此属性,如果管理员不打算验证来自它们的流量。提示:设置此属性后,DHCP 服务器的消息和“路由器广播”消息也是受信任的。此属性与“SAVI 验证”存在互斥关系。12 前缀配置 由于“重复地址检测(DAD)”没有检查地址前缀有效性的功能,因此在本套解决方案中,建议给本地链路配置正确的地址前缀。如果没有配置正确的前缀,SAVI 设备可能会把绑定锚和使用虚假前缀YD/T 8的地址进行绑定。即使在网络的三层设备上可以部署前缀级别的过滤机制,例如入口过滤,本地

24、链路上的假冒还是不能避免的。本标准建议设置 3 个前缀范围:a)IPv4 前缀:合法的各种类型的 IPv4 地址范围。可以手动设置。b)IPv6 前缀:合法的 SLAAC 和手动配置的 IPv6 地址范围。可以通过监听来自带有“SAVI-RA-信任”属性端口的 RA 消息、DHCP-PD、或手动配置来设置。c)FE80:/64 必须被设为可用前缀:没有必要特意展示这些前缀范围。但在建立绑定时应该用这些约束作初步检查。对安全的考虑,参考其他论述。13 绑定建立 本章定义基于控制报文监听建立绑定关系的过程。此绑定过程仅为带有“SAVI 验证”属性的绑定锚而设计。13.1 控制报文监听过程 13.1

25、.1 初始化 13.1.1.1 触发事件 从绑定锚接收到“免费 ARP 请求”或“重复地址检测邻居请求”。13.1.1.2 事件验证 SAVI 设备检查 BST 的如下情况:如果建立一个新的绑定条目,绑定条目数是否会超出限制。13.1.1.3 对应动作 如果检查通过,则该数据包必须被转发。同时生成一个新的条目,状态设为 DETECTION,使用期限分别设为 MAX_ARP_DELAY 或 MAX_DAD_DELAY,具体如下表 3 所示。表 3 检测时 BST 中的绑定条目 YD/T 9绑定锚绑定锚 地址地址 状态状态 使用期限使用期限 A Addr DETECTION MAX_ARP_DEL

26、AY MAX_DAD_DELAY 同时在 FT 表中插入一个新条目。13.1.2 从 DETECTION 状态的状态转移 13.1.2.1 触发事件 在 BST 中,某个带有 DETECTION 状态的条目出现超时事件、或者一个带有 DETECTION 状态的地址接收到“ARP 响应”或 NA 消息。13.1.2.2 对应动作 如果某个带有 DETECTION 状态的条目出现超时事件,则把该条目的状态设置为 BOUND。再把此条目的使用期限设为对应前缀的使用期限(从 RA 中学习得来),具体见下表 4 所示。如果地址为本地链路地址,则这个绑定关系应该被设为无限期使用。表 4 终止时 BST 中

27、的绑定条目 绑定锚绑定锚 地址地址 状态状态 使用期限使用期限 A Addr BOUND 前缀使用期限 如果 BST 中一个带有 DETECTION 状态的地址接收到“ARP 响应”或 NA 消息,就把 BST 和 FT 中对应的条目删掉。此“ARP 响应”或 NA 消息必须传达到客户端。13.1.3 BOUND 状态之后 一旦某个绑定条目针对一个绑定锚被创建以后,该绑定关系就会与该绑定锚一起用于过滤数据包,具体细节在“第 15 章”里说明。此绑定条目的状态不会受任何消息影响。如果一个带有 BOUND 状态的条目过期失效了,就在 BST 和过滤表 FT 中删除该条目。当发生交换机端口掉线事件(

28、或者更普遍一些,绑定锚断链)时,对应的条目会根据“第 18 章”的描述来变更。YD/T 1013.2“DAD 监听”的状态机 主要的状态迁移在下表 5 中列出。提示:绑定条目的绑定锚迁移没有包含在内。表 5“DAD 监听”的状态机 状态状态 消息消息/事件事件 行为行为 下一个状态下一个状态-免费 ARP 请求/DAD NS 生成条目 DETECTION DETECTION ARP RES/DAD NA 删除条目-DETECTION 超时 完成绑定 BOUND BOUND 超时 删除条目-14 辅助绑定过程 辅助绑定过程是为了应对 SAVI 设备检测不到 DAD 行为的情况而设计的。典型的情况

29、包括:“DAD NS”消息丢失、或由于本地链路上二层路径变更和移动没能触发 DAD 过程。此过程是为了避免永久阻塞而设计。接收到带有未绑定地址的数据包时,不一定会被触发绑定。一般情况下,触发绑定需要一定数量的包以及多一些时间。要求部署本解决方案的 SAVI 设备至少实现下列技术中的一项:a)速率限定的数据报文触发绑定过程;b)计数器触发的过程;c)扩展的控制包监听过程;如果发现其他技术(经过讨论、实现和部署)在避免永久闭塞方面有相同甚至更好的功能,可以谨慎选择替代。14.1 速率限定的数据触发绑定过程 14.1.1“SAVI 数据触发”属性 如果把数据触发的绑定作为一种辅助绑定过程,则必须再引

30、入一个绑定锚属性,叫作“SAVI 数据YD/T 11触发”属性。该属性与“SAVI-SAVI”属性是互斥的。数据触发的绑定过程将在带有该属性的绑定锚上执行。14.1.2 数据触发的绑定过程 如果某绑定锚设置了“SAVI 数据触发”属性,则源地址没跟此绑定锚绑定的数据包不能被直接被过滤;而是要让 SAVI 设备检查这些地址是否可以在本地链路上以限定的速率被客户端使用:1.如果地址存在本地冲突,说明该地址的 DAD 没有通过,则这个包必须被丢弃。SAVI 设备通过发送两条或更多“DAD NS”探测消息来执行 DAD 步骤。“DAD NS”的格式和发送方式将在“第 16 章”里详细说明。如果 DAD

31、 成功完成,该地址就必须跟该绑定锚绑定,并将使用期限设置为对应前缀的期限。为了避免 SAVI 设备自身受到“拒绝服务”的攻击,这种数据触发绑定的过程必须限制速率。利用DATA_TRIGGER_INTERVAL 这个常量来控制频率。一个绑定锚上的两次数据触发绑定进程之间必须有最短的时间间隔 DATA_TRIGGER_INTERVAL。为了避免“拒绝服务”攻击,应该谨慎配置该常量。数据触发的过程不是完全安全的。例如带有数据触发绑定锚的节点将可能使用一个非活跃节点的地址,因为该 Down 机节点不会应答 DAD 探测消息。14.2 计数器触发的过程 14.2.1“SAVI 计数器触发”属性 如果把数

32、据触发的绑定作为一种辅助绑定过程,则必须再引入一个绑定锚属性,叫作“SAVI 计数器触发”属性。该属性与“SAVI-SAVI”是互斥的。计数器触发的绑定过程将在带有该属性的绑定锚上执行。14.2.2 计数器触发的绑定过程 在该过程中,在带有“SAVI 计数器触发”属性的绑定锚上,使用计数器来记录由此解决方案或所有启用的 SAVI 解决方案过滤的数据包的数量。计数器设置 TRIGGER_COUNT 常量。一旦计数器到达 TRIGGER_COUNT,该事件就必须被 SAVI 设备处理。SAVI 设备将执行以下步骤:YD/T 12a)把计数器归零;b)通过发送两条或更多“DAD NS”探测消息(在“

33、第 16 章”里详细介绍),对触发此次事件的数据包的源地址执行 DAD 步骤。如果 DAD 失败,该数据包必须被丢弃。如果 DAD 成功,必须在绑定锚上建立绑定关系。c)此次事件必须通知网络管理员。例如,可以生成 SNMP trap 告警;或者也可以在控制界面上生成警报。TRIGGER_COUNT 常量必须谨慎配置,以配合特定的部署场景。极端条件下,可以将其设为 1。14.3 扩展控制包监听过程 14.3.1“SAVI-扩展监听”属性 如果把扩展控制包监听作为一种辅助绑定过程,则必须再引入一个绑定锚属性,叫作“SAVI-扩展监听”属性。该属性与“SAVI-SAVI”是互斥的。扩展控制包监听的绑

34、定过程将在带有该属性的绑定锚上执行。14.3.2 扩展控制包监听过程 在监听过程中,如果其源地址没有绑定,则除 DAD 消息以外,被 SAVI 设备处理器处理过的其他类型的控制包,也可以触发设备执行绑定过程。必须被处理的控制消息包括:a)地址解析邻居请求;b)邻居通告;c)邻居不可达性检测;d)组播监听发现 MLD;e)地址解析协议 ARP。被中间设备处理的其他 ICMP 消息也可以触发此绑定过程。SAVI 设备必须执行 DAD 以检查地址是否存在本地冲突。DAD 探测消息的格式和发送方式将在“第 16YD/T 13章”里详细说明。必须设置 EXT_SNOOPING_INTERVAL 这样一个

35、最短时间间隔,来限制这种触发过程的速率。提示:节点如果只发送数据包,则这种方法可能会永久闭塞。通常该机制还是比较实用的,因为未经控制平面通信就发送数据包在现实中很罕见也很可疑。正常的流量都会包含控制平面通信的报文来协助流量建立和错误诊断。15 过滤过程 本章定义如何利用绑定关系来过滤数据包。由于“过滤表”中的条目表示“允许通过”,因此源地址不在过滤表中的数据包将会被过滤。针对数据包和控制包的过滤策略有所不同。这里把可能导致状态转移的 ND 消息归类为控制包。“邻居通告”消息和“ARP 响应”消息也算作控制包,因为“邻居通告”消息和“ARP 响应”消息的“目标地址”应该被检查以避免被假冒。其他所

36、有的报文都被视为数据包。15.1 数据包过滤 必须检查带有“SAVI 验证”属性绑定锚的数据包。如果一个与其绑定锚相关联的包的源地址存在与 FT 中,此包应该被转发;否则此包必须丢弃。15.2 控制包过滤 对于带有“SAVI 验证”属性的绑定锚:a)“IPv6 邻居请求消息 NS”和“IPv4 免费 ARP 请求消息”中的源地址必须通过 FT 的检查。b)“IPv6 邻居通告消息 NA”和“IPv4ARP 应答消息”中的目标地址和源地址都必须通过 FT 的检查。对于其他属性的绑定锚:a)所有路由器公告消息(RA)包必须来自带有“SAVI-RA-信任”属性的绑定锚。16 地址冲突检测消息的格式及

37、发送 YD/T 14 SAVI 设备可根据节点的行为发送地址冲突探测消息,以判断当“数据触发绑定”启用时所指定的地址是否重复。目前,此解决方案中没有设计其他探测消息。16.1 地址冲突检测 消息类型:“重复地址检测 邻居请求 DAD NS”消息、“免费 ARP 请求”消息 消息格式:a)链路层源地址-主机链路层地址;b)链路层目标地址-IPv6 用RFC3307中定义的组播地址、IPv4 用广播地址;c)IP 源地址-IPv6 用未指定地址、IPv4 用目标地址;d)IP 目标地址-IPv6 用“RFC48615.4.2 节中”定义的与目标地址相关的组播地址、IPv4 用目标地址;发送方式:a

38、)不能发给正在被 SAVI 设备执行 DAD 行为检测的主机。17 绑定删除 如果某个状态为 BOUND 的条目使用期满,该条目必须被删除。18 处理绑定锚断链事件 如果交换机端口担作为了绑定锚,则端口掉线事件必须处理。较为普通的情况是,如果某个绑定锚断链,则该掉线事件必须处理。任何时候如果一个带有“SAVI 验证”的绑定锚掉线,必须在短时间内维持该绑定锚上的绑定关系。在此期间,为应对主机移动行为,如果收到目标为此地址的“重复地址检测邻居请求 DAD NS”或“免费 ARP 请求 Gra ARP”请求,则删除该条目。在此期间,如果该绑定锚重新上线,则恢复其绑定关系。这可能会导致一些安全问题,比

39、如某恶意YD/T 15节点立刻关联到前一节点卸除的绑定锚,该恶意节点便可以使用分配给前一节点的地址。不过,在现实中这种情形非常罕见。暂不考虑这种状况。19 地址检测的冲突处理 SAVI 设备在地址检测中可能接到响应(即存在地址冲突)。这里说明一些相关细节。地址检测的结果不通知主机:如果 SAVI 设备代替主机发送地址检测包,主机将不会得知检测结果。若检测成功,则没有问题。但是,如果检测失败,来自主机、带有已分配地址的报文就会被过滤。这是对不执行副本检测以及使用冲突地址的合理惩罚。然而,SAVI 设备可以通过一条 NA 消息来提醒客户端指定地址已被使用。但这种机制不在本解决方案的要求内。20 检

40、测中过滤 在本文的机制中,无论何时收到“DAD NSOL”报文时,该地址都会立刻被批准,即使副本检测还没完成。这种设计的考虑是,主机可能不进行检测而直接开始发包。这种设计同时也是与最优化DADRFC4429兼容。不过,该特性可能会允许攻击者利用已经分配给其他节点的地址来发送大量数据包。21 绑定数限制 建议配置一些机制,以防止单个节点耗尽 SAVI 设备中绑定表的容量。下列机制中任何一种都可以预防这种攻击:a)给每个带有“SAVI 验证”属性的绑定锚设置绑定数量上线;b)给每个带有“SAVI 验证”属性的绑定锚预留一定数量的绑定条目,而且所有绑定锚可以共享其他绑定条目的预留资源;c)限定每个绑

41、定锚“DAD 邻居请求消息 DAD NSOL”的速率,将每个绑定锚的当前绑定条目数用抑制该速率的指示符。22 组播侦听发现 MLD 的相关考虑 YD/T 16 任何时候只要针对主机行为执行副本检测,SAVI 设备都必须加入临时地址组播群。23 对链路本地源地址绑定更宽容 由于数据包有可能在链路中丢失,而第一个包(通常是链路层地址的 DAD)因为链路初始化或认证机制而更容易丢失,因此对于链路本地地址一定要使用容忍度更高的机制来避免假阳性(误报)。为此,任何时候当一条带有链路本地源地址的控制消息被此解决方案(邻居发现 ND,邻居通告 NA)处理,倘若该地址没有被绑定,则 SAVI 设备必须执行 D

42、AD 来检查该地址的唯一性。如果没有冲突,则必须在绑定表中为该链路本地地址插入一个绑定条目。其他三层控制消息,包括 MLD,也可以用来触发此过程。24 处理二层路径变化 对于这种基于控制平面的解决方案来说,二层路径变更是一项重要的挑战。SAVI 设备必须对二层路径变更保持警惕。任何时候收到来自某绑定锚的二层控制协议帧(包括 STP、RSTP、TRILL,通知该绑定锚的某二层入方向路径发生变更),该绑定锚都必须在一段时间内启用数据包触发过程。虽然这类事件一般可以通过预先配置数据触发属性来应对,未来的二层协议可能会比较灵活并且难以通过手动配置来处理。25 状态恢复 如果一台 SAVI 设备意外重启

43、或有计划地重启,在非永久性内存中的状态将会丢失。这可能导致间接连接到该 SAVI 设备的主机从网络中脱离,因为它们无法自己恢复 SAVI 设备上的绑定关系。因此,任何时候一个新的绑定条目变成 BOUND 状态或者一条 BOUND 状态的绑定关系被删除,都应该把绑定条目存入永久性存储中,除非实现了本文定义的其他备选方案。如果绑定关系存入了永久性存储,SAVI 设备必须在重启之后需立刻从该存储器中恢复绑定状态。绑定表生命周期和保存过程的系统时间也必须存储。随后,该设备必须检查所保存的条目有没有在重启时过期。潜在的替代方案:如果网络启用了 802.1ag,可以借助第一跳路由器的帮助,通过监听发自路由

44、器的、基于“邻居表”的单播“邻居请求”消息,来恢复绑定关系。YD/T 1726 相关常量 相关常量包括:a)MAX_ARP_DELAY 最大 ARP 响应超时时间 默认为 1 秒,但可配置 b)MAX_DAD_DELAY 最大 DAD 响应超时时间 默认为 1 秒,但可配置 c)DATA_TRIGGER_INTERVAL 数据触发间隔时间 与设备容量相关且可配置 d)TRIGGER_COUNT 触发次数 与设备容量相关且可配置 27 安全考虑 由于前缀粒度的过滤是主机粒度过滤的基础,学习并配置正确的前缀对于本机制是非常重要的。因此,保证RA和DHCP-PD的安全是非常重要的。IETF草案RFC7113描述了一套如何提高RA消息安全性的机制。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术规范

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁