idnits 2.17.1 draft-glendon-bess-evpn-trusted-mac-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document seems to use 'NOT RECOMMENDED' as an RFC 2119 keyword, but does not include the phrase in its RFC 2119 key words list. -- The document date (July 24, 2019) is 1737 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'RFC2119' is mentioned on line 141, but not defined == Missing Reference: 'RFC8174' is mentioned on line 141, but not defined Summary: 1 error (**), 0 flaws (~~), 4 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group G. Liu 3 Internet-Draft H. Wang 4 Intended status: Standards Track Huawei Technologies 5 Expires: January 25, 2020 July 24, 2019 7 EVPN LOOP PREVENTION BASED ON TRUSTED MAC 8 draft-glendon-bess-evpn-trusted-mac-00 10 Abstract 12 A principal feature of EVPN is the ability to support mac duplication 13 detection based on mac mobility extened community. This draft 14 specifies a mechanism of valid loop prevention based on trusted mac 15 to avoid servce interruption of the specifed source or destination 16 mac address due to "black- holing". 18 Requirements Language 20 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 21 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 22 document are to be interpreted as described in [RFC2119]. 24 Status of This Memo 26 This Internet-Draft is submitted in full conformance with the 27 provisions of BCP 78 and BCP 79. 29 Internet-Drafts are working documents of the Internet Engineering 30 Task Force (IETF). Note that other groups may also distribute 31 working documents as Internet-Drafts. The list of current Internet- 32 Drafts is at https://datatracker.ietf.org/drafts/current/. 34 Internet-Drafts are draft documents valid for a maximum of six months 35 and may be updated, replaced, or obsoleted by other documents at any 36 time. It is inappropriate to use Internet-Drafts as reference 37 material or to cite them other than as "work in progress." 39 This Internet-Draft will expire on January 25, 2020. 41 Copyright Notice 43 Copyright (c) 2019 IETF Trust and the persons identified as the 44 document authors. All rights reserved. 46 This document is subject to BCP 78 and the IETF Trust's Legal 47 Provisions Relating to IETF Documents 48 (https://trustee.ietf.org/license-info) in effect on the date of 49 publication of this document. Please review these documents 50 carefully, as they describe your rights and restrictions with respect 51 to this document. Code Components extracted from this document must 52 include Simplified BSD License text as described in Section 4.e of 53 the Trust Legal Provisions and are provided without warranty as 54 described in the Simplified BSD License. 56 Table of Contents 58 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 59 1.1. Situation Anyalisis . . . . . . . . . . . . . . . . . . . 2 60 1.2. Alternative Solutions . . . . . . . . . . . . . . . . . . 3 61 1.3. Design Requirement . . . . . . . . . . . . . . . . . . . 3 62 1.4. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 63 2. Solution Overview . . . . . . . . . . . . . . . . . . . . . . 4 64 3. Trusted MAC Capability negotiation . . . . . . . . . . . . . 4 65 4. Trusted MAC Actions . . . . . . . . . . . . . . . . . . . . . 5 66 4.1. Flag Extension . . . . . . . . . . . . . . . . . . . . . 5 67 4.2. Trusted MAC Generation and Delivery . . . . . . . . . . . 6 68 5. Application Senario . . . . . . . . . . . . . . . . . . . . . 7 69 5.1. Trusted MAC and Sticky MAC . . . . . . . . . . . . . . . 7 70 5.2. Trusted MAC and Dynamic MAC . . . . . . . . . . . . . . . 8 71 5.3. Limitations . . . . . . . . . . . . . . . . . . . . . . . 8 72 6. Security Considerations . . . . . . . . . . . . . . . . . . . 8 73 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 74 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 9 75 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 76 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 78 1. Introduction 80 A principal feature of EVPN is the ability to support mac duplication 81 dection based on mac mobility extened community. The mac duplication 82 detection is proposed in EVPN [RFC7432] . The draft draft-snr-bess- 83 evpn-loop-protect re-uses and enhances the MAC duplication solution 84 specified in EVPN [RFC7432]. This draft is a further enhancement for 85 RFC7432 and draft-snr-bess-evpn-loop-protect. Trusted mac is 86 proposed to avoid servce interruption of the specifed source or 87 destination mac address due to "black- holing". 89 1.1. Situation Anyalisis 91 Based on [RFC7432], when the mac duplication threshold is met(mac 92 moving for 5 times in 180 minutes in default), the PE MUST alert the 93 operator and stop sending and processing any BGP mac/ip advertisement 94 routes for that mac address, but the other PEs in the EVI will 95 forward the traffic for the duplicated mac address to one of the PEs 96 that have advertised it. In order to prevent loop and not just 97 detect loop, it is necessary to introduce a new mechanism, draft-snr- 98 bess-evpn-loop-protect proposes the idea of "black- holing". "Black 99 holing" is a good means of service isolation, however, the user's 100 real intention is that the system has the ability to recognize the 101 real AC port or peer neighbour of the mac after detecting mac 102 duplication successfully. 104 1.2. Alternative Solutions 106 Sticky mac address is proposed in section 15.2 [RFC7432]. There are 107 scenarios in which it is desired to configure static mac addresses so 108 that they are not subjected to mac moves. In such scenarios, these 109 mac addresses are advertised with the mac mobility extended community 110 where the flags field is set to 1 and the sequence number is set to 111 zero. Static mac can be used to prevent loop without service 112 interruption, but the following problems come: 114 1) In most scenarios, the user mac is unpredictable, and it is 115 impossible to predict the AC port or the peer neighbour for the user 116 accessing to the specific PE. 118 2) Even if we can predict on the AC port or the peer neighbor that 119 the user accesses, what should I do if the static mac that is learned 120 locally and the sticky mac route that is received from the peer 121 neighbour coexist at the same time? Customers are hard to 122 understand, regardless of whether to choose local mac or remote mac. 124 1.3. Design Requirement 126 This draft proposes a new method to prevent loop based on trusted 127 mac. The generation of trusted mac belongs to the local behavior of 128 the PE. After the generation of trusted mac, it is delivered to the 129 EVPN neighbour through the EVPN route, and the mac duplication 130 detection mechanism based on the mac mobility extended community is 131 extended to finally generate a truly reliable mac outbound interface 132 or EVPN neighbour. Loop prevention comes true finally. 134 1.4. Terminology 136 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 137 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 138 "OPTIONAL" in this document are to be interpreted as described in 139 BCP14 [RFC2119] [RFC8174] when, and only when, they appear in all 140 capitals, as shown here. 142 "PE": Provider edge device. It is a unique access point for users to 143 access the carrier network. 145 "AC": A physical or logical link. It is used to connect a user edge 146 device and a PE device. 148 "trusted mac": The mac entry to the AC port or EVPN neighbour. It is 149 generated based on the user's trusted traffic. 151 2. Solution Overview 153 The draft includes the following technical points: 155 1) Trusted mac sending and receiving is not the default behavior of 156 the device. It is needed to manually configure the trusted mac route 157 sending enable (for the route sender) and the receiving enable (for 158 the route receiver). The EVPN neighbours use the mac route to 159 implement trusted mac capability negotiation. 161 2) Trusted mac needs to be generated based on certain rules, then mac 162 mobility extended community is extended to add T bit for supporting 163 trusted mac delivery. 165 3) After trusted mac negotiation and delivery, the mac duplication 166 detection mechanism between trusted mac and static mac needs to be 167 supported. Mac duplication between trusted mac and dynamic mac is 168 also a consideration. 170 3. Trusted MAC Capability negotiation 172 Although trusted mac belongs to the device-level global capability, 173 considering the simplicity of the protocol extension, the MAC-IP 174 route with all zero mac and all zero ip carries the mac mobility 175 extended community to support trusted mac negotiation between the 176 route sender and the receiver. The extention of the "Reserved" field 177 is needed. The mac mobility extended community defined here is 178 defined as follows: 180 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 181 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 182 | Type=0x06 | Sub-Type=0x00 |Flags(1 octet) | Reserved=0 | 183 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 184 | Sequence Number | 185 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 187 Figure 1: MAC Mobility Extended Community 188 0 1 2 3 4 5 6 7 189 +-+-+-+-+-+-+-+-+ 190 | |T| 191 +-+-+-+-+-+-+-+-+ 193 Figure 2. The extention of the "Reserved" field 195 The last bit in the "Reserved" field is marked as T bit and is used 196 to indicate whether the trusted mac route is enabled on the route 197 sender. 199 Name Meaning 201 -------------------------------------------------- ------------- 203 T If set to 1, this flag indicates that trusted mac advertising 204 capabilicy is enabled by the advertising PE. 206 If the trusted mac advertising capability is not enabled, then the T 207 bit must be set to 0. 209 For the receiving PE, it is necessary to determine whether to allow 210 crossover based on the trusted mac receiving enable configuration. 211 If only the T bit is set and the trusted mac route receiving for the 212 receiving PE is enabled, the received route can finally crossed 213 successfully. From the perspective of route optimization, if the 214 trusted mac route sending enable is not configured on the sender, the 215 trusted mac negotiation route may not be sent. 217 4. Trusted MAC Actions 219 4.1. Flag Extension 221 In order to support trusted mac delivery, the mac route is released 222 by the special 0 mac and 0 ip with extended mac mobility extended 223 community. The extended mac route format is as follows: 225 +---------------------------------------+ 226 | RD (8 octets) | 227 +---------------------------------------+ 228 |Ethernet Segment Identifier (10 octets)| 229 +---------------------------------------+ 230 | Ethernet Tag ID (4 octets) | 231 +---------------------------------------+ 232 | MAC Address Length (=48) | 233 +---------------------------------------+ 234 | MAC Address (=0) | 235 +---------------------------------------+ 236 | IP Address Length (1 octet) | 237 +---------------------------------------+ 238 | IP Address (=0) | 239 +---------------------------------------+ 240 | MPLS Label1 (3 octets) | 241 +---------------------------------------+ 242 | MPLS Label2 (0 or 3 octets) | 243 +---------------------------------------+ 245 Figure 3. Extended Mac Route Format 247 In order to distinguish between dynamic mac, static mac and trusted 248 mac, the flags field in mac mobility extended community shown as 249 section 3 figure 1 needs to extend new value. 251 Name Meaning 253 -------------------------------------------------- ------------- 255 Flags If set to 0, this value indicates that normal dynamic mac is 256 advertised to the remote PE. 258 If set to 1, this value indicates that sticky mac is advertised to 259 the remote PE. 261 If set to 2, this value indicates that trusted mac is advertised to 262 the remote PE. 264 4.2. Trusted MAC Generation and Delivery 266 The generation of trusted mac belongs to the local behavior of the 267 PE. Generally speaking, the stable MAC out port or EVPN neighbor in 268 the specified period of the first time learned locally is defined as 269 trusted mac. The specified period can be assigned to a default 270 value, such as 60 seconds. The value of the period may be modified 271 to other values, for example, 1 minutes, 5 minutes or else. Once the 272 local trusted mac is generated, it will not be overwritten by the 273 other dynamic mac, but it can be overwritten by static mac. Since 274 trusted mac is still in the category of dynamic mac, trusted mac 275 aging needs to support. 277 There exists several limitations for trusted mac generation and 278 delivery: 280 1) In a very poor network environment, the specified mac may have a 281 persistent mobility after the mac entry is generated for the first 282 time. In this case, trusted mac may not be generated. Static mac 283 may only be used to restrict the forwarding behavior of the user's 284 traffic. 286 2) Aftertrusted mac is generated, if the generation cycle of the 287 trusted mac is dynamically modified, the generated trusted mac will 288 not be deleted automatically in order to reduce the impact on the 289 existing mac duplication detection mechanism based on trusted mac. 290 If only trusted mac is manually deleted or aged, the system will 291 generate a new trusted mac based on the modified period. 293 3) After trusted mac is generated, if the specified mac is 294 reconfigured as a static mac, the mac route carrying the mac mobility 295 extended community with flags=1 will be re-advertised, so the result 296 of the mac duplication detection may be changed. 298 4) After trusted mac is generated, if the specified mac is 299 reconfigured as a black- holing mac, the previously advertised 300 trusted mac route needs to be withdrew to prevent invalid network 301 traffic caused by the black holing mac. 303 5. Application Senario 305 5.1. Trusted MAC and Sticky MAC 307 The sticky mac may be configured on the PE or be received from the 308 other PEs, when trusted mac and sticky mac coexist in the same PE, 309 There exist two sub-scenarios: 311 1) Only one sticky mac exists beyond trusted mac. The only sticky 312 mac guides the user's traffic and will survive forever until sticky 313 mac is manually deleted. 315 2) Several sticky macs exist beyond trusted mac. When there exists a 316 local static mac, since the local static mac is unique, the user's 317 traffic is preferentially guided according to the local mac. When 318 there exists no local static mac, the same PE may receive the same 319 sticky mac from different EVPN neighbours. Therefore, the PE selects 320 the sticky mac route from the neighbour with th smallest original ip 321 address to guide the final user's traffic. 323 In the above two sub-scenarios, the coexistence between trusted mac 324 and sticky mac triggers the mac duplication alarm, and all trusted 325 macs are eventually ignored. 327 5.2. Trusted MAC and Dynamic MAC 329 The coexistence of trusted mac and dynamic mac occurs when there is 330 no sticky mac in the system, There exist two sub-scenarios: 332 1) Only one trusted mac (local or remote) exists beyond dynamic mac. 333 The only trusted mac guides the user's traffic and will age when the 334 user's traffic based on the trusted mac (source mac or desination 335 mac) disappears. 337 2) Several trust macs exist beyond dynamic mac. The locally learned 338 trusted mac or the trusted mac route received from the remote PE have 339 higher priority than the normal dynamic mac. After detecting the mac 340 duplication, the locally learned trust mac or the trusted mac route 341 with the larger serial number is used to guide the final user's 342 traffic. 344 Note: If the local PE receives the trusted mac route with the same 345 serial number from different neighbours, the route received from the 346 neighbour with the smallest original ip is selected to participate in 347 the mac duplication detection. 349 5.3. Limitations 351 the default mac route received from the other PE cannot participate 352 in the mac duplication detection. In this case, the traffic-based 353 mac duplication detection mechanism can only be used on the access 354 side. Similarly, the priority of sticky mac is higher than trusted 355 mac, the priority of trusted mac is higher than dynamic mac. 357 6. Security Considerations 359 When multiple network elements in the same network detect the mac 360 duplication at the same time, trusted mac may cause the traffic 361 between the network elements to loop. The probability of this 362 situation is relatively small. Perhaps the user's traffic can only 363 be isolated by black holing in order to reduce the whole network 364 security risk. 366 7. IANA Considerations 368 This document does not require new codepoints. 370 8. Contributors 372 The following individuals gave significant contributions to this 373 document: 375 Haibo Wang 377 Huawei Technologies 379 rainsword.wang@huawei.com 381 9. References 383 [RFC7432] Sajassi, A., Ed., Aggarwal, R., Bitar, N., Isaac, A., 384 Uttaro, J., Drake, J., and W. Henderickx, "BGP MPLS-Based 385 Ethernet VPN", RFC 7432, DOI 10.17487/RFC7432, February 386 2015, . 388 Authors' Addresses 390 GuoLiang 391 Huawei Technologies 392 101 software Avenue, Yuhua District 393 Nanjing 210012 394 China 396 Email: liuguoliang@huawei.com 398 Haibo 399 Huawei Technologies 400 Huawei Bld., No.156 Beiqing Rd. 401 Beijing 10095 402 China 404 Email: rainsword.wang@huawei.com