idnits 2.17.1 draft-ietf-forces-interoperability-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** The document seems to lack a License Notice according IETF Trust Provisions of 28 Dec 2009, Section 6.b.i or Provisions of 12 Sep 2009 Section 6.b -- however, there's a paragraph with a matching beginning. Boilerplate error? (You're using the IETF Trust Provisions' Section 6.b License Notice from 12 Feb 2009 rather than one of the newer Notices. See https://trustee.ietf.org/license-info/.) 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 : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (June 3, 2009) is 5434 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Unused Reference: 'RFC2629' is defined on line 564, but no explicit reference was found in the text == Unused Reference: 'RFC3552' is defined on line 567, but no explicit reference was found in the text == Unused Reference: 'RFC5226' is defined on line 578, but no explicit reference was found in the text == Outdated reference: A later version (-08) exists of draft-ietf-forces-sctptml-02 -- Obsolete informational reference (is this intentional?): RFC 2629 (Obsoleted by RFC 7749) -- Obsolete informational reference (is this intentional?): RFC 5226 (Obsoleted by RFC 8126) Summary: 1 error (**), 0 flaws (~~), 5 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Internet Engineering Task Force E. Haleplidis 3 Internet-Draft University of Patras 4 Intended status: Informational K. Ogawa 5 Expires: December 5, 2009 NTT Corporation 6 X. Wang 7 Huawei Technologies Co., Ltd. 8 June 3, 2009 10 ForCES Interoperability Draft 11 draft-ietf-forces-interoperability-01 13 Status of this Memo 15 This Internet-Draft is submitted to IETF in full conformance with the 16 provisions of BCP 78 and BCP 79. 18 Internet-Drafts are working documents of the Internet Engineering 19 Task Force (IETF), its areas, and its working groups. Note that 20 other groups may also distribute working documents as Internet- 21 Drafts. 23 Internet-Drafts are draft documents valid for a maximum of six months 24 and may be updated, replaced, or obsoleted by other documents at any 25 time. It is inappropriate to use Internet-Drafts as reference 26 material or to cite them other than as "work in progress." 28 The list of current Internet-Drafts can be accessed at 29 http://www.ietf.org/ietf/1id-abstracts.txt. 31 The list of Internet-Draft Shadow Directories can be accessed at 32 http://www.ietf.org/shadow.html. 34 This Internet-Draft will expire on December 5, 2009. 36 Copyright Notice 38 Copyright (c) 2009 IETF Trust and the persons identified as the 39 document authors. All rights reserved. 41 This document is subject to BCP 78 and the IETF Trust's Legal 42 Provisions Relating to IETF Documents in effect on the date of 43 publication of this document (http://trustee.ietf.org/license-info). 44 Please review these documents carefully, as they describe your rights 45 and restrictions with respect to this document. 47 Abstract 49 This document describes the details of the interoperability test of 50 the Forward and Control Element Separation (ForCES) protocol that 51 will take place in the University of Patras in Rio, Greece, in the 52 third week of July 2009. This informational draft provides necessary 53 information, for all parties who wish to participate in the 54 interoperability test. 56 Table of Contents 58 1. Terminology and Conventions . . . . . . . . . . . . . . . . . 3 59 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 60 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 61 2.1. ForCES Protocol . . . . . . . . . . . . . . . . . . . . . 4 62 2.2. ForCES Model . . . . . . . . . . . . . . . . . . . . . . . 4 63 2.3. Transport mapping layer . . . . . . . . . . . . . . . . . 4 64 3. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 5 65 4. Date, Location and Access . . . . . . . . . . . . . . . . . . 8 66 4.1. Date . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 67 4.2. Location . . . . . . . . . . . . . . . . . . . . . . . . . 8 68 4.3. Access . . . . . . . . . . . . . . . . . . . . . . . . . . 8 69 5. Testbed architecture . . . . . . . . . . . . . . . . . . . . . 9 70 5.1. Local configuration . . . . . . . . . . . . . . . . . . . 9 71 5.2. Distributed configuration . . . . . . . . . . . . . . . . 10 72 6. Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . 11 73 6.1. Scenario 1 - Pre-association Setup . . . . . . . . . . . . 11 74 6.2. Scenario 2 - TML priority channels connection . . . . . . 12 75 6.3. Scenario 3 - Association Setup - Association Complete . . 12 76 6.4. Scenario 4 - CE query . . . . . . . . . . . . . . . . . . 12 77 6.5. Scenario 5 - Heartbeat monitoring . . . . . . . . . . . . 13 78 6.6. Scenario 6 - Simple Config Command . . . . . . . . . . . . 13 79 6.7. Scenario 7 - Association Teardown . . . . . . . . . . . . 13 80 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 15 81 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 82 9. Security Considerations . . . . . . . . . . . . . . . . . . . 17 83 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 18 84 10.1. Normative References . . . . . . . . . . . . . . . . . . . 18 85 10.2. Informative References . . . . . . . . . . . . . . . . . . 18 86 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 19 88 1. Terminology and Conventions 90 1.1. Requirements Language 92 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 93 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 94 document are to be interpreted as described in [RFC2119]. 96 2. Introduction 98 Forwarding and Control Element Separation (ForCES) defines an 99 architectural framework and associated protocols to standardize 100 information exchange between the control plane and the forwarding 101 plane in a ForCES Network Element (ForCES NE). [RFC3654] has defined 102 the ForCES requirements, and [RFC3746] has defined the ForCES 103 framework. 105 2.1. ForCES Protocol 107 The ForCES protocol works in a master-slave mode in which FEs are 108 slaves and CEs are masters. The protocol includes commands for 109 transport of Logical Function Block (LFB) configuration information, 110 association setup, status, and event notifications, etc. The reader 111 is encouraged to read FE-protocol [I-D.ietf-forces-protocol] for 112 further information. 114 2.2. ForCES Model 116 The FE-MODEL [I-D.ietf-forces-model] presents a formal way to define 117 FE Logical Function Blocks (LFBs) using XML. LFB configuration 118 components, capabilities, and associated events are defined when the 119 LFB is formally created. The LFBs within the FE are accordingly 120 controlled in a standardized way by the ForCES protocol. 122 2.3. Transport mapping layer 124 The TML transports the PL messages. The TML is where the issues of 125 how to achieve transport level reliability, congestion control, 126 multicast, ordering, etc. are handled. It is expected that more than 127 one TML will be standardized. The various possible TMLs could vary 128 their implementations based on the capabilities of underlying media 129 and transport. However, since each TML is standardized, 130 interoperability is guaranteed as long as both endpoints support the 131 same TML. All ForCES Protocol Layer implementations MUST be portable 132 across all TMLs. Although more than one TML may be standardized for 133 the ForCES Protocol, for the purposes of the interoperability test, 134 the mandated MUST IMPLEMENT SCTP TML [RFC3654] will be used. 136 3. Definitions 138 This document follows the terminology defined by the ForCES 139 Requirements in [RFC3654] and by the ForCES framework in [RFC3746]. 140 The definitions below are repeated below for clarity. 142 Control Element (CE) - A logical entity that implements the ForCES 143 protocol and uses it to instruct one or more FEs on how to process 144 packets. CEs handle functionality such as the execution of 145 control and signaling protocols. 147 CE Manager (CEM) - A logical entity responsible for generic CE 148 management tasks. It is particularly used during the pre- 149 association phase to determine with which FE(s) a CE should 150 communicate. This process is called FE discovery and may involve 151 the CE manager learning the capabilities of available FEs. 153 Forwarding Element (FE) - A logical entity that implements the 154 ForCES protocol. FEs use the underlying hardware to provide per- 155 packet processing and handling as directed/controlled by one or 156 more CEs via the ForCES protocol. 158 FE Manager (FEM) - A logical entity responsible for generic FE 159 management tasks. It is used during pre-association phase to 160 determine with which CE(s) an FE should communicate. This process 161 is called CE discovery and may involve the FE manager learning the 162 capabilities of available CEs. An FE manager may use anything 163 from a static configuration to a pre-association phase protocol 164 (see below) to determine which CE(s) to use. Being a logical 165 entity, an FE manager might be physically combined with any of the 166 other logical entities such as FEs. 168 ForCES Network Element (NE) - An entity composed of one or more 169 CEs and one or more FEs. To entities outside an NE, the NE 170 represents a single point of management. Similarly, an NE usually 171 hides its internal organization from external entities. 173 LFB (Logical Function Block) - The basic building block that is 174 operated on by the ForCES protocol. The LFB is a well defined, 175 logically separable functional block that resides in an FE and is 176 controlled by the CE via ForCES protocol. The LFB may reside at 177 the FE's datapath and process packets or may be purely an FE 178 control or configuration entity that is operated on by the CE. 179 Note that the LFB is a functionally accurate abstraction of the 180 FE's processing capabilities, but not a hardware-accurate 181 representation of the FE implementation. 183 FE Topology - A representation of how the multiple FEs within a 184 single NE are interconnected. Sometimes this is called inter-FE 185 topology, to be distinguished from intra-FE topology (i.e., LFB 186 topology). 188 LFB Class and LFB Instance - LFBs are categorized by LFB Classes. 189 An LFB Instance represents an LFB Class (or Type) existence. 190 There may be multiple instances of the same LFB Class (or Type) in 191 an FE. An LFB Class is represented by an LFB Class ID, and an LFB 192 Instance is represented by an LFB Instance ID. As a result, an 193 LFB Class ID associated with an LFB Instance ID uniquely specifies 194 an LFB existence. 196 LFB Metadata - Metadata is used to communicate per-packet state 197 from one LFB to another, but is not sent across the network. The 198 FE model defines how such metadata is identified, produced and 199 consumed by the LFBs. It defines the functionality but not how 200 metadata is encoded within an implementation. 202 LFB Attribute - Operational parameters of the LFBs that must be 203 visible to the CEs are conceptualized in the FE model as the LFB 204 attributes. The LFB attributes include, for example, flags, 205 single parameter arguments, complex arguments, and tables that the 206 CE can read and/or write via the ForCES protocol (see below). 208 LFB Topology - Representation of how the LFB instances are 209 logically interconnected and placed along the datapath within one 210 FE. Sometimes it is also called intra-FE topology, to be 211 distinguished from inter-FE topology. 213 Pre-association Phase - The period of time during which an FE 214 Manager and a CE Manager are determining which FE(s) and CE(s) 215 should be part of the same network element. 217 Post-association Phase - The period of time during which an FE 218 knows which CE is to control it and vice versa. This includes the 219 time during which the CE and FE are establishing communication 220 with one another. 222 ForCES Protocol - While there may be multiple protocols used 223 within the overall ForCES architecture, the term "ForCES protocol" 224 and "protocol" refer to the Fp reference points in the ForCES 225 Framework in [RFC3746]. This protocol does not apply to CE-to-CE 226 communication, FE-to-FE communication, or to communication between 227 FE and CE managers. Basically, the ForCES protocol works in a 228 master- slave mode in which FEs are slaves and CEs are masters. 229 This document defines the specifications for this ForCES protocol. 231 ForCES Protocol Transport Mapping Layer (ForCES TML) - A layer in 232 ForCES protocol architecture that uses the capabilities of 233 existing transport protocols to specifically address protocol 234 message transportation issues, such as how the protocol messages 235 are mapped to different transport media (like TCP, IP, ATM, 236 Ethernet, etc), and how to achieve and implement reliability, 237 multicast, ordering, etc. The ForCES TML specifications are 238 detailed in separate ForCES documents, one for each TML. 240 4. Date, Location and Access 242 4.1. Date 244 The date that the Interoperability draft will take place has been 245 specified at 15-16/07/2009, one and a half week before IETF 75, in 246 Stockholm. 248 4.2. Location 250 Patras is a major harbor of Greece connecting it with Italy. 252 The University of Patras is located in Rio, 10km east out of Patras. 254 The following coordinates mark the Electrical Engineering building in 255 the University. 257 o North: 38o17'15.99" 259 o East: 21o47'19.28" 261 4.3. Access 263 The best way to come to Greece is by plane to the Athens 264 International Airport. 266 From there there are three ways to arrive in the University of 267 Patras. 269 1. Renting a car and driving to the University. It is a maximum 270 2:30 hours drive from the aiport. 272 2. Via coach station. Get from the airport to the coach station via 273 X93 bus towards the Kifissos Coach Station. At the Coach Station 274 there are buses to Patras every 30 minutes. The Bus to Patras 275 may take about 2:30 - 3:00 hours, and the ride of the X93 bus may 276 take about 30 mins - 1hour depending on the traffic, so it's 277 about 3:30 - 4:30 hours away with the wait at the Coach Station. 279 3. Via Train. It is recommended you already have booked your ticket 280 beforehand as there are not many trains going to Patras, and 281 mostly are booked in advanced. Athens International Airport is 282 connected to Athens Central Railway Station (Larissis Station) 283 via the Suburban Rail. From there you can take a train to 284 Patras. The train takes about 3:30 hours to go to Patras. The 285 Suburban rail will take you about 30 mins. So it's minimum 4:00 286 hours away. 288 5. Testbed architecture 290 Most FEs and CEs should be located locally at the University of 291 Patras premises. But if some parties would like to participate but 292 cannot attend the interoperability test locally a connection over the 293 internet MAY be created. 295 The actual test will take place between FEs and CEs of different 296 implementors with different permutations. 298 All protocol messages of each scenario will be monitored using a 299 protocol network analyzer to test validity. The current tool that 300 will be used is a modified tcpdump [tcpdump]. 302 All NE's in all the scenarios will be comprised of one CE and one FE 303 from different implementors. 305 5.1. Local configuration 307 Hardware/Software (CEs and FEs) that will be located within the 308 University of Patras premises, will be connected together using 309 switches. 311 The scenarios will be tested with only one CE associated with one or 312 multiple FEs from different implementors. The CE and the FE(s) will 313 be connected in one LAN as shown in the following figure. 315 +-----+ 316 | CE1 | 317 |Impl1| 318 +-----+ 319 | 320 | 321 +------------------------------------+ 322 | LAN | 323 +------------------------------------+ 324 | | | | 325 | | ... | | 326 +-----+ +-----+ +-----+ +--------+ 327 | FE1 | | FE2 | | FEn | |Protocol| 328 |Impl1| |Impl2| |Impln| |Analyzer| 329 +-----+ +-----+ +-----+ +--------+ 331 All scenarios will be tested more than once with permutation of the 332 CE from different implementors. In the next permutation, the setup 333 will be as shown in the following figure. 335 +-----+ 336 | CE2 | 337 |Impl2| 338 +-----+ 339 | 340 | 341 +------------------------------------+ 342 | LAN | 343 +------------------------------------+ 344 | | | | 345 | | ... | | 346 +-----+ +-----+ +-----+ +--------+ 347 | FE1 | | FE2 | | FEn | |Protocol| 348 |Impl1| |Impl2| |Impln| |Analyzer| 349 +-----+ +-----+ +-----+ +--------+ 351 5.2. Distributed configuration 353 For parties that cannot participate, public IPs can be provided and 354 associations can be achieved over the internet as seen in the 355 following figure. 357 +-----+ +------------+ /\/\/\/\/\ +----------+ +-----+ 358 |FE/CE| |Implementor | \Internet/ |University| |FE/CE| 359 |ImplX|---| Router |---/ \---| Router |---|ImplY| 360 +-----+ +------------+ \/\/\/\/\/ +----------+ +-----+ 362 For interoperability issues, all CEs and FEs MUST implement no 363 security even in the TML. For security, firewalls MUST be used that 364 will allow only the specific IPs and the SCTP ports defined in the 365 SCTP-TML draft [I-D.ietf-forces-sctptml]. 367 6. Scenarios 369 Since the main goal of this interoperability test is to test the 370 basic protocol functionality, we will limit the test parameters. 371 Therefore: 373 1. In the Association Setup Message, all report messages will be 374 ignored. 376 2. In the Association Setup Phase, the messages, FEO OperEnable 377 Event (FE to CE), Config FEO Adminup (CE to FE) and FEO Config- 378 Resp (FE to CE) will be ignored. The CE will assume that the FE 379 is enabled once the LFBSelectors has been queried. 381 3. Only FullDataTLVs are going to be used and not SparseData TLV's. 383 4. There will be no transaction operations. 385 5. Each message shall have only one LFBSelector TLV, one Operation 386 TLV and one PathDataTLV per message when these are used. 388 6.1. Scenario 1 - Pre-association Setup 390 While the Pre-association setup is not in the ForCES current scope it 391 is an essential step before CEs and FEs communicate. As the first 392 part in a successfull CE-FE connection the participating CEs and FEs 393 should be able to be configured. 395 In the Pre-association Phase the following configuration items MUST 396 be setup regarding the CEs: 398 o The CE ID. 400 o The FE IDs that will be connected to this CE 402 o The IP of the FEs that will connect 404 o The TML priority ports. 406 In the Pre-association Phase the following configuration items MUST 407 be setup regarding the FEs: 409 o The FE ID. 411 o The CE ID that this FE will be connecting to. 413 o The IP of the CE that will connect to 414 o The TML priority ports. 416 Once each element is setup and configured, Scenario 1 is successful. 418 6.2. Scenario 2 - TML priority channels connection 420 For the current interoperability test, the SCTP will be used as TML. 421 The TML connection with the associating element is needed for the 422 scenario 2 to be successful. 424 The SCTP-TML draft [I-D.ietf-forces-sctptml] defines 3 priority 425 channels, with specific ports: 427 o High priority - Port number: 6700 429 o Medium priority - Port number: 6701 431 o Lower priority - Port number: 6702 433 Once these channels have been established with each associated 434 element, will the Scenario 2 be successful. 436 6.3. Scenario 3 - Association Setup - Association Complete 438 Once the Pre-association phase has been complete in the previous 2 439 scenarios, CEs and FEs are ready to communicate using the ForCES 440 protocol, and enter the Association Setup stage. In this stage the 441 FEs attempts to join the NE. The following ForCES protocol messages 442 will be exchanged for each CE-FE pair in the specified order: 444 o Association Setup Message (from FE to CE) 446 o Association Setup Response Message (from CE to FE) 448 o Query Message: FEO LFBSelectors(from CE to FE) 450 o Query Response: FEO LFBSelectors response (from FE to CE) 452 Once the associations has been initialized scenario 3 will have been 453 successful. 455 6.4. Scenario 4 - CE query 457 Once the Association Phase stage has been complete, the FEs and CEs 458 will enter the Established stage. In this stage the FE is 459 continuously updated or queried. The CE should query the FE a 460 specific value from the FE Object LFB and from the FE Protocol LFB. 461 An example from the FE Protocol LFB is the HeartBeat Timer (FEHI) and 462 from the FE Object LFB is the State of the LFB (FEState) 464 The following ForCES protocol messages will be exchanged: 466 o Query Message 468 o Query Response Message 470 6.5. Scenario 5 - Heartbeat monitoring 472 The Heartbeat (HB) Message is used for one ForCES element (FE or CE) 473 to asynchronously notify one or more other ForCES elements in the 474 same ForCES NE on its liveness. The default configuration of the 475 Heartbeat Policy of the FE is set to 0 which means, that the FE 476 should not generate any Heartbeat messages. the CE is responsible for 477 checking FE liveness by setting the PL header ACK flag of the message 478 it sends to AlwaysACK. In this Scenario the CE should send a 479 Heartbeat message with the ACK flag set to AlwaysACK and the FE 480 should respond. 482 The following ForCES protocol messages will be exchanged: 484 o Heartbeat Message 486 6.6. Scenario 6 - Simple Config Command 488 A config message is sent by the CE to the FE to configure LFB 489 components in the FE. A simple config command easily visible and 490 metered would be to change the Heartbeat configuration. This will be 491 done in two steps: 493 1. Change the FE Heartbeat Policy (FEHBPolicy) to value 1, to force 494 the FE to send heartbeats. 496 2. After some heartbeats from the FE, the FE Heartbeat Interval 497 (FEHI) will be changed. 499 The following ForCES protocol messages will be exchanged: 501 o Config Message 503 o Config Response Message 505 6.7. Scenario 7 - Association Teardown 507 In the end, the association must be terminated. There are two 508 scenarios by which the association maybe terminated: 510 1. Normal tear down by exchanging Association Teardown Message 512 2. Irregular tear down by stopping heartbeats from a FE or a CE. 514 3. Irregular tear down by externally shutting down/rebooting a FE or 515 a CE. 517 All scenarios may be tested in the interoperability test. 519 The following ForCES protocol messages will be exchanged: 521 o Association Teardown Message 523 7. Acknowledgements 525 The authors of this draft would like to acknowledge and thank the 526 chair of the ForCES working group Jamal Hadi Salim. 528 8. IANA Considerations 530 This memo includes no request to IANA. 532 9. Security Considerations 534 Section 9 of the FE-protocol [I-D.ietf-forces-protocol] specifies 535 security considerations of the ForCES protocol. For this 536 interoperability test, no security MUST be chosen even for the 537 distributed architecture. 539 10. References 541 10.1. Normative References 543 [I-D.ietf-forces-model] 544 Halpern, J. and J. Salim, "ForCES Forwarding Element 545 Model", draft-ietf-forces-model-16 (work in progress), 546 October 2008. 548 [I-D.ietf-forces-protocol] 549 Dong, L., Doria, A., Gopal, R., HAAS, R., Salim, J., 550 Khosravi, H., and W. Wang, "ForCES Protocol 551 Specification", draft-ietf-forces-protocol-22 (work in 552 progress), March 2009. 554 [I-D.ietf-forces-sctptml] 555 Salim, J. and K. Ogawa, "SCTP based TML (Transport Mapping 556 Layer) for ForCES protocol", draft-ietf-forces-sctptml-02 557 (work in progress), January 2009. 559 10.2. Informative References 561 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 562 Requirement Levels", BCP 14, RFC 2119, March 1997. 564 [RFC2629] Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629, 565 June 1999. 567 [RFC3552] Rescorla, E. and B. Korver, "Guidelines for Writing RFC 568 Text on Security Considerations", BCP 72, RFC 3552, 569 July 2003. 571 [RFC3654] Khosravi, H. and T. Anderson, "Requirements for Separation 572 of IP Control and Forwarding", RFC 3654, November 2003. 574 [RFC3746] Yang, L., Dantu, R., Anderson, T., and R. Gopal, 575 "Forwarding and Control Element Separation (ForCES) 576 Framework", RFC 3746, April 2004. 578 [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an 579 IANA Considerations Section in RFCs", BCP 26, RFC 5226, 580 May 2008. 582 [tcpdump] "Tcpdump is a linux protocol analyzer. The specific 583 tcpdump that will be used is a modified tcpdump, by the 584 chair Jamal Hadi Salim, that can analyze and decode the 585 ForCES protocol messages.". 587 Authors' Addresses 589 Evangelos Haleplidis 590 University of Patras 591 Patras, 592 Greece 594 Email: ehalep@ece.upatras.gr 596 Kentaro Ogawa 597 NTT Corporation 598 Tokyo, 599 Japan 601 Email: ogawa.kentaro@lab.ntt.co.jp 603 Xin-ping Wang 604 Huawei Technologies Co., Ltd. 605 China 607 Email: carly.wang@huawei.com