| < draft-ietf-manet-dlep-22.txt | draft-ietf-manet-dlep-23.txt > | |||
|---|---|---|---|---|
| Mobile Ad hoc Networks Working Group S. Ratliff | Mobile Ad hoc Networks Working Group S. Ratliff | |||
| Internet-Draft VT iDirect | Internet-Draft VT iDirect | |||
| Intended status: Standards Track B. Berry | Intended status: Standards Track S. Jury | |||
| Expires: October 9, 2016 | Expires: January 19, 2017 Cisco Systems | |||
| S. Jury | ||||
| Cisco Systems | ||||
| D. Satterwhite | D. Satterwhite | |||
| Broadcom | Broadcom | |||
| R. Taylor | R. Taylor | |||
| Airbus Defence & Space | Airbus Defence & Space | |||
| April 7, 2016 | B. Berry | |||
| July 18, 2016 | ||||
| Dynamic Link Exchange Protocol (DLEP) | Dynamic Link Exchange Protocol (DLEP) | |||
| draft-ietf-manet-dlep-22 | draft-ietf-manet-dlep-23 | |||
| Abstract | Abstract | |||
| When routing devices rely on modems to effect communications over | When routing devices rely on modems to effect communications over | |||
| wireless links, they need timely and accurate knowledge of the | wireless links, they need timely and accurate knowledge of the | |||
| characteristics of the link (speed, state, etc.) in order to make | characteristics of the link (speed, state, etc.) in order to make | |||
| routing decisions. In mobile or other environments where these | routing decisions. In mobile or other environments where these | |||
| characteristics change frequently, manual configurations or the | characteristics change frequently, manual configurations or the | |||
| inference of state through routing or transport protocols does not | inference of state through routing or transport protocols does not | |||
| allow the router to make the best decisions. A bidirectional, event- | allow the router to make the best decisions. A bidirectional, event- | |||
| skipping to change at page 1, line 45 ¶ | skipping to change at page 1, line 44 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on October 9, 2016. | This Internet-Draft will expire on January 19, 2017. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2016 IETF Trust and the persons identified as the | Copyright (c) 2016 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 1.1. Requirements . . . . . . . . . . . . . . . . . . . . . . 7 | ||||
| 2. Protocol Overview . . . . . . . . . . . . . . . . . . . . . . 7 | 2. Protocol Overview . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 2.1. Assumptions . . . . . . . . . . . . . . . . . . . . . . . 9 | 2.1. Destinations . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 3. Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | 3. Extensions . . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 4. DLEP Session Flow . . . . . . . . . . . . . . . . . . . . . . 10 | 3.1. Requirements . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 4.1. Peer Discovery State . . . . . . . . . . . . . . . . . . 11 | 4. Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 4.2. Session Initialization State . . . . . . . . . . . . . . 12 | 5. DLEP Session Flow . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 4.3. In-Session State . . . . . . . . . . . . . . . . . . . . 12 | 5.1. Peer Discovery State . . . . . . . . . . . . . . . . . . 11 | |||
| 4.3.1. Heartbeats . . . . . . . . . . . . . . . . . . . . . 13 | 5.2. Session Initialization State . . . . . . . . . . . . . . 12 | |||
| 4.4. Session Termination State . . . . . . . . . . . . . . . . 13 | 5.3. In-Session State . . . . . . . . . . . . . . . . . . . . 12 | |||
| 4.5. Session Reset state . . . . . . . . . . . . . . . . . . . 14 | 5.3.1. Heartbeats . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 4.5.1. Unexpected TCP connection termination . . . . . . . . 14 | 5.4. Session Termination State . . . . . . . . . . . . . . . . 13 | |||
| 5. Transaction Model . . . . . . . . . . . . . . . . . . . . . . 14 | 5.5. Session Reset state . . . . . . . . . . . . . . . . . . . 14 | |||
| 6. Extensions . . . . . . . . . . . . . . . . . . . . . . . . . 15 | 5.5.1. Unexpected TCP connection termination . . . . . . . . 14 | |||
| 6.1. Experiments . . . . . . . . . . . . . . . . . . . . . . . 15 | 6. Transaction Model . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 7. Scalability . . . . . . . . . . . . . . . . . . . . . . . . . 16 | 7. Extensions . . . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 8. DLEP Signal and Message Structure . . . . . . . . . . . . . . 16 | 7.1. Experiments . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 8.1. DLEP Signal Header . . . . . . . . . . . . . . . . . . . 17 | 8. Scalability . . . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 8.2. DLEP Message Header . . . . . . . . . . . . . . . . . . . 17 | 9. DLEP Signal and Message Structure . . . . . . . . . . . . . . 16 | |||
| 8.3. DLEP Generic Data Item . . . . . . . . . . . . . . . . . 18 | 9.1. DLEP Signal Header . . . . . . . . . . . . . . . . . . . 17 | |||
| 9. DLEP Signals and Messages . . . . . . . . . . . . . . . . . . 19 | 9.2. DLEP Message Header . . . . . . . . . . . . . . . . . . . 17 | |||
| 9.1. General Processing Rules . . . . . . . . . . . . . . . . 20 | 9.3. DLEP Generic Data Item . . . . . . . . . . . . . . . . . 18 | |||
| 9.2. Status code processing . . . . . . . . . . . . . . . . . 21 | 10. DLEP Signals and Messages . . . . . . . . . . . . . . . . . . 18 | |||
| 9.3. Peer Discovery Signal . . . . . . . . . . . . . . . . . . 21 | 10.1. General Processing Rules . . . . . . . . . . . . . . . . 19 | |||
| 9.4. Peer Offer Signal . . . . . . . . . . . . . . . . . . . . 22 | 10.2. Status code processing . . . . . . . . . . . . . . . . . 20 | |||
| 9.5. Session Initialization Message . . . . . . . . . . . . . 22 | 10.3. Peer Discovery Signal . . . . . . . . . . . . . . . . . 20 | |||
| 9.6. Session Initialization Response Message . . . . . . . . . 23 | 10.4. Peer Offer Signal . . . . . . . . . . . . . . . . . . . 20 | |||
| 9.7. Session Update Message . . . . . . . . . . . . . . . . . 25 | 10.5. Session Initialization Message . . . . . . . . . . . . . 21 | |||
| 9.8. Session Update Response Message . . . . . . . . . . . . . 26 | 10.6. Session Initialization Response Message . . . . . . . . 22 | |||
| 9.9. Session Termination Message . . . . . . . . . . . . . . . 26 | 10.7. Session Update Message . . . . . . . . . . . . . . . . . 23 | |||
| 9.10. Session Termination Response Message . . . . . . . . . . 27 | 10.8. Session Update Response Message . . . . . . . . . . . . 25 | |||
| 9.11. Destination Up Message . . . . . . . . . . . . . . . . . 27 | 10.9. Session Termination Message . . . . . . . . . . . . . . 25 | |||
| 9.12. Destination Up Response Message . . . . . . . . . . . . . 28 | 10.10. Session Termination Response Message . . . . . . . . . . 25 | |||
| 9.13. Destination Announce Message . . . . . . . . . . . . . . 29 | 10.11. Destination Up Message . . . . . . . . . . . . . . . . . 26 | |||
| 9.14. Destination Announce Response Message . . . . . . . . . . 29 | 10.12. Destination Up Response Message . . . . . . . . . . . . 27 | |||
| 9.15. Destination Down Message . . . . . . . . . . . . . . . . 31 | 10.13. Destination Announce Message . . . . . . . . . . . . . . 27 | |||
| 9.16. Destination Down Response Message . . . . . . . . . . . . 31 | 10.14. Destination Announce Response Message . . . . . . . . . 28 | |||
| 9.17. Destination Update Message . . . . . . . . . . . . . . . 31 | 10.15. Destination Down Message . . . . . . . . . . . . . . . . 30 | |||
| 9.18. Link Characteristics Request Message . . . . . . . . . . 33 | 10.16. Destination Down Response Message . . . . . . . . . . . 30 | |||
| 9.19. Link Characteristics Response Message . . . . . . . . . . 33 | 10.17. Destination Update Message . . . . . . . . . . . . . . . 30 | |||
| 9.20. Heartbeat Message . . . . . . . . . . . . . . . . . . . . 34 | 10.18. Link Characteristics Request Message . . . . . . . . . . 32 | |||
| 10. DLEP Data Items . . . . . . . . . . . . . . . . . . . . . . . 35 | 10.19. Link Characteristics Response Message . . . . . . . . . 32 | |||
| 10.1. Status . . . . . . . . . . . . . . . . . . . . . . . . . 36 | 10.20. Heartbeat Message . . . . . . . . . . . . . . . . . . . 33 | |||
| 10.2. IPv4 Connection Point . . . . . . . . . . . . . . . . . 38 | 11. DLEP Data Items . . . . . . . . . . . . . . . . . . . . . . . 34 | |||
| 10.3. IPv6 Connection Point . . . . . . . . . . . . . . . . . 39 | 11.1. Status . . . . . . . . . . . . . . . . . . . . . . . . . 35 | |||
| 10.4. Peer Type . . . . . . . . . . . . . . . . . . . . . . . 40 | 11.2. IPv4 Connection Point . . . . . . . . . . . . . . . . . 37 | |||
| 10.5. Heartbeat Interval . . . . . . . . . . . . . . . . . . . 40 | 11.3. IPv6 Connection Point . . . . . . . . . . . . . . . . . 37 | |||
| 10.6. Extensions Supported . . . . . . . . . . . . . . . . . . 41 | 11.4. Peer Type . . . . . . . . . . . . . . . . . . . . . . . 39 | |||
| 10.7. MAC Address . . . . . . . . . . . . . . . . . . . . . . 41 | 11.5. Heartbeat Interval . . . . . . . . . . . . . . . . . . . 39 | |||
| 10.8. IPv4 Address . . . . . . . . . . . . . . . . . . . . . . 42 | 11.6. Extensions Supported . . . . . . . . . . . . . . . . . . 40 | |||
| 10.9. IPv6 Address . . . . . . . . . . . . . . . . . . . . . . 43 | 11.7. MAC Address . . . . . . . . . . . . . . . . . . . . . . 40 | |||
| 10.10. IPv4 Attached Subnet . . . . . . . . . . . . . . . . . . 44 | 11.8. IPv4 Address . . . . . . . . . . . . . . . . . . . . . . 41 | |||
| 10.11. IPv6 Attached Subnet . . . . . . . . . . . . . . . . . . 45 | 11.9. IPv6 Address . . . . . . . . . . . . . . . . . . . . . . 42 | |||
| 10.12. Maximum Data Rate (Receive) . . . . . . . . . . . . . . 46 | 11.10. IPv4 Attached Subnet . . . . . . . . . . . . . . . . . . 43 | |||
| 10.13. Maximum Data Rate (Transmit) . . . . . . . . . . . . . . 46 | 11.11. IPv6 Attached Subnet . . . . . . . . . . . . . . . . . . 44 | |||
| 10.14. Current Data Rate (Receive) . . . . . . . . . . . . . . 47 | 11.12. Maximum Data Rate (Receive) . . . . . . . . . . . . . . 45 | |||
| 10.15. Current Data Rate (Transmit) . . . . . . . . . . . . . . 48 | 11.13. Maximum Data Rate (Transmit) . . . . . . . . . . . . . . 45 | |||
| 10.16. Latency . . . . . . . . . . . . . . . . . . . . . . . . 48 | 11.14. Current Data Rate (Receive) . . . . . . . . . . . . . . 46 | |||
| 10.17. Resources . . . . . . . . . . . . . . . . . . . . . . . 49 | 11.15. Current Data Rate (Transmit) . . . . . . . . . . . . . . 47 | |||
| 10.18. Relative Link Quality (Receive) . . . . . . . . . . . . 50 | 11.16. Latency . . . . . . . . . . . . . . . . . . . . . . . . 48 | |||
| 10.19. Relative Link Quality (Transmit) . . . . . . . . . . . . 51 | 11.17. Resources . . . . . . . . . . . . . . . . . . . . . . . 48 | |||
| 10.20. Maximum Transmission Unit (MTU) . . . . . . . . . . . . 52 | 11.18. Relative Link Quality (Receive) . . . . . . . . . . . . 49 | |||
| 11. Security Considerations . . . . . . . . . . . . . . . . . . . 52 | 11.19. Relative Link Quality (Transmit) . . . . . . . . . . . . 50 | |||
| 12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 53 | 11.20. Maximum Transmission Unit (MTU) . . . . . . . . . . . . 50 | |||
| 12.1. Registrations . . . . . . . . . . . . . . . . . . . . . 53 | 12. Security Considerations . . . . . . . . . . . . . . . . . . . 51 | |||
| 12.2. Signal Type Registration . . . . . . . . . . . . . . . . 53 | 13. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 52 | |||
| 12.3. Message Type Registration . . . . . . . . . . . . . . . 53 | 13.1. Registrations . . . . . . . . . . . . . . . . . . . . . 52 | |||
| 12.4. DLEP Data Item Registrations . . . . . . . . . . . . . . 54 | 13.2. Signal Type Registration . . . . . . . . . . . . . . . . 52 | |||
| 12.5. DLEP Status Code Registrations . . . . . . . . . . . . . 55 | 13.3. Message Type Registration . . . . . . . . . . . . . . . 52 | |||
| 12.6. DLEP Extensions Registrations . . . . . . . . . . . . . 56 | 13.4. DLEP Data Item Registrations . . . . . . . . . . . . . . 53 | |||
| 12.7. DLEP Well-known Port . . . . . . . . . . . . . . . . . . 56 | 13.5. DLEP Status Code Registrations . . . . . . . . . . . . . 54 | |||
| 12.8. DLEP IPv4 Link-local Multicast Address . . . . . . . . . 57 | 13.6. DLEP Extensions Registrations . . . . . . . . . . . . . 55 | |||
| 12.9. DLEP IPv6 Link-local Multicast Address . . . . . . . . . 57 | 13.7. DLEP Well-known Port . . . . . . . . . . . . . . . . . . 55 | |||
| 13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 57 | 13.8. DLEP IPv4 Link-local Multicast Address . . . . . . . . . 55 | |||
| 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 57 | 13.9. DLEP IPv6 Link-local Multicast Address . . . . . . . . . 55 | |||
| 14.1. Normative References . . . . . . . . . . . . . . . . . . 57 | 14. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 55 | |||
| 14.2. Informative References . . . . . . . . . . . . . . . . . 57 | 15. References . . . . . . . . . . . . . . . . . . . . . . . . . 56 | |||
| Appendix A. Discovery Signal Flows . . . . . . . . . . . . . . . 58 | 15.1. Normative References . . . . . . . . . . . . . . . . . . 56 | |||
| Appendix B. Peer Level Message Flows . . . . . . . . . . . . . . 58 | 15.2. Informative References . . . . . . . . . . . . . . . . . 56 | |||
| B.1. Session Initialization . . . . . . . . . . . . . . . . . 58 | Appendix A. Discovery Signal Flows . . . . . . . . . . . . . . . 57 | |||
| B.2. Session Initialization - Refused . . . . . . . . . . . . 59 | Appendix B. Peer Level Message Flows . . . . . . . . . . . . . . 57 | |||
| B.3. Router Changes IP Addresses . . . . . . . . . . . . . . . 60 | B.1. Session Initialization . . . . . . . . . . . . . . . . . 57 | |||
| B.4. Modem Changes Session-wide Metrics . . . . . . . . . . . 60 | B.2. Session Initialization - Refused . . . . . . . . . . . . 58 | |||
| B.5. Router Terminates Session . . . . . . . . . . . . . . . . 60 | B.3. Router Changes IP Addresses . . . . . . . . . . . . . . . 58 | |||
| B.6. Modem Terminates Session . . . . . . . . . . . . . . . . 61 | B.4. Modem Changes Session-wide Metrics . . . . . . . . . . . 58 | |||
| B.7. Session Heartbeats . . . . . . . . . . . . . . . . . . . 61 | B.5. Router Terminates Session . . . . . . . . . . . . . . . . 59 | |||
| B.8. Router Detects a Heartbeat timeout . . . . . . . . . . . 62 | B.6. Modem Terminates Session . . . . . . . . . . . . . . . . 59 | |||
| B.9. Modem Detects a Heartbeat timeout . . . . . . . . . . . . 63 | B.7. Session Heartbeats . . . . . . . . . . . . . . . . . . . 60 | |||
| Appendix C. Destination Specific Message Flows . . . . . . . . . 63 | B.8. Router Detects a Heartbeat timeout . . . . . . . . . . . 60 | |||
| C.1. Common Destination Notification . . . . . . . . . . . . . 63 | B.9. Modem Detects a Heartbeat timeout . . . . . . . . . . . . 61 | |||
| C.2. Multicast Destination Notification . . . . . . . . . . . 64 | Appendix C. Destination Specific Message Flows . . . . . . . . . 61 | |||
| C.3. Link Characteristics Request . . . . . . . . . . . . . . 65 | C.1. Common Destination Notification . . . . . . . . . . . . . 61 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 66 | C.2. Multicast Destination Notification . . . . . . . . . . . 62 | |||
| C.3. Link Characteristics Request . . . . . . . . . . . . . . 63 | ||||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 63 | ||||
| 1. Introduction | 1. Introduction | |||
| There exist today a collection of modem devices that control links of | There exist today a collection of modem devices that control links of | |||
| variable datarate and quality. Examples of these types of links | variable datarate and quality. Examples of these types of links | |||
| include line-of-sight (LOS) terrestrial radios, satellite terminals, | include line-of-sight (LOS) terrestrial radios, satellite terminals, | |||
| and broadband modems. Fluctuations in speed and quality of these | and broadband modems. Fluctuations in speed and quality of these | |||
| links can occur due to configuration, or on a moment-to-moment basis, | links can occur due to configuration, or on a moment-to-moment basis, | |||
| due to physical phenomena like multipath interference, obstructions, | due to physical phenomena like multipath interference, obstructions, | |||
| rain fade, etc. It is also quite possible that link quality and | rain fade, etc. It is also quite possible that link quality and | |||
| skipping to change at page 5, line 19 ¶ | skipping to change at page 5, line 18 ¶ | |||
| Another complicating factor for mobile networks are the different | Another complicating factor for mobile networks are the different | |||
| methods of physically connecting the modem devices to the router. | methods of physically connecting the modem devices to the router. | |||
| Modems can be deployed as an interface card in a router's chassis, or | Modems can be deployed as an interface card in a router's chassis, or | |||
| as a standalone device connected to the router via Ethernet or serial | as a standalone device connected to the router via Ethernet or serial | |||
| link. In the case of Ethernet attachment, with existing protocols | link. In the case of Ethernet attachment, with existing protocols | |||
| and techniques, routing software cannot be aware of convergence | and techniques, routing software cannot be aware of convergence | |||
| events occurring on the radio link (e.g., acquisition or loss of a | events occurring on the radio link (e.g., acquisition or loss of a | |||
| potential routing neighbor), nor can the router be aware of the | potential routing neighbor), nor can the router be aware of the | |||
| actual capacity of the link. This lack of awareness, along with the | actual capacity of the link. This lack of awareness, along with the | |||
| variability in datarate, leads to a situation where finding the | variability in datarate, leads to a situation where finding the | |||
| (current) best route through the network to a given destination is | (current) best route through the network to a given node is difficult | |||
| difficult to establish and properly maintain. This is especially | to establish and properly maintain. This is especially true of | |||
| true of demand-based access schemes such as Demand Assigned Multiple | demand-based access schemes such as Demand Assigned Multiple Access | |||
| Access (DAMA) implementations used on some satellite systems. With a | (DAMA) implementations used on some satellite systems. With a DAMA- | |||
| DAMA-based system, additional datarate may be available, but will not | based system, additional datarate may be available, but will not be | |||
| be used unless the network devices emit traffic at a rate higher than | used unless the network devices emit traffic at a rate higher than | |||
| the currently established rate. Increasing the traffic rate does not | the currently established rate. Increasing the traffic rate does not | |||
| guarantee additional datarate will be allocated; rather, it may | guarantee additional datarate will be allocated; rather, it may | |||
| result in data loss and additional retransmissions on the link. | result in data loss and additional retransmissions on the link. | |||
| Addressing the challenges listed above, the co-authors have developed | Addressing the challenges listed above, the Dynamic Link Exchange | |||
| the Dynamic Link Exchange Protocol, or DLEP. The DLEP protocol runs | Protocol, or DLEP, has been developed. The DLEP protocol runs | |||
| between a router and its attached modem devices, allowing the modem | between a router and its attached modem devices, allowing the modem | |||
| to communicate link characteristics as they change, and convergence | to communicate link characteristics as they change, and convergence | |||
| events (acquisition and loss of potential routing destinations). The | events (acquisition and loss of potential routing next-hops). The | |||
| following diagrams are used to illustrate the scope of DLEP packets. | following diagrams are used to illustrate the scope of DLEP packets. | |||
| |-------Local Node-------| |-------Remote Node------| | |-------Local Node-------| |-------Remote Node------| | |||
| | | | | | | | | | | |||
| +--------+ +-------+ +-------+ +--------+ | +--------+ +-------+ +-------+ +--------+ | |||
| | Router |=======| Modem |{~~~~~~~~}| Modem |=======| Router | | | Router |=======| Modem |{~~~~~~~~}| Modem |=======| Router | | |||
| | | | Device| | Device| | | | | | | Device| | Device| | | | |||
| +--------+ +-------+ +-------+ +--------+ | +--------+ +-------+ +-------+ +--------+ | |||
| | | | Link | | | | | | | Link | | | | |||
| |-DLEP--| | Protocol | |-DLEP--| | |-DLEP--| | Protocol | |-DLEP--| | |||
| skipping to change at page 7, line 37 ¶ | skipping to change at page 7, line 12 ¶ | |||
| +---+----+ | +---+----+ | |||
| | | | | |||
| | | | | |||
| +---+----+ | +---+----+ | |||
| | Router | | | Router | | |||
| | | | | | | |||
| +--------+ | +--------+ | |||
| Figure 2: DLEP Network with Multiple Modem Devices | Figure 2: DLEP Network with Multiple Modem Devices | |||
| 1.1. Requirements | ||||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | ||||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | ||||
| "OPTIONAL" in this document are to be interpreted as described in BCP | ||||
| 14, RFC 2119 [RFC2119]. | ||||
| 2. Protocol Overview | 2. Protocol Overview | |||
| DLEP defines a set of Messages used by modems and their attached | DLEP defines a set of Messages used by modems and their attached | |||
| routers to communicate events that occur on the physical link(s) | routers to communicate events that occur on the physical link(s) | |||
| managed by the modem: for example, a remote node entering or leaving | managed by the modem: for example, a remote node entering or leaving | |||
| the network, or that the link has changed. Associated with these | the network, or that the link has changed. Associated with these | |||
| Messages are a set of Data Items - information that describes the | Messages are a set of Data Items - information that describes the | |||
| remote node (e.g., address information), and/or the characteristics | remote node (e.g., address information), and/or the characteristics | |||
| of the link to the remote node. Throughout this document, we refer | of the link to the remote node. Throughout this document, we refer | |||
| to a modems/routers participating in a DLEP session as 'DLEP | to a modems/routers participating in a DLEP session as 'DLEP | |||
| skipping to change at page 8, line 19 ¶ | skipping to change at page 7, line 36 ¶ | |||
| its associated router. If multiple modem devices are attached to a | its associated router. If multiple modem devices are attached to a | |||
| router (as in Figure 2), or the modem supports multiple connections | router (as in Figure 2), or the modem supports multiple connections | |||
| (via multiple logical or physical interfaces), then separate DLEP | (via multiple logical or physical interfaces), then separate DLEP | |||
| sessions exist for each modem or connection. A router and modem form | sessions exist for each modem or connection. A router and modem form | |||
| a session by completing the discovery and initialization process. | a session by completing the discovery and initialization process. | |||
| This router-modem session persists unless or until it either (1) | This router-modem session persists unless or until it either (1) | |||
| times out, based on the absence of DLEP traffic (including | times out, based on the absence of DLEP traffic (including | |||
| heartbeats), or (2) is explicitly torn down by one of the DLEP | heartbeats), or (2) is explicitly torn down by one of the DLEP | |||
| participants. | participants. | |||
| 2.1. Destinations | ||||
| The router/modem session provides a carrier for information exchange | The router/modem session provides a carrier for information exchange | |||
| concerning 'destinations' that are available via the modem device. | concerning 'destinations' that are available via the modem device. | |||
| Destinations can be identified by either the router or the modem, and | Destinations can be identified by either the router or the modem, and | |||
| represent a specific, addressable location that can be reached via | represent a specific, addressable location that can be reached via | |||
| the link(s) managed by the modem. | the link(s) managed by the modem. | |||
| The DLEP Messages concerning destinations thus become the way for | The DLEP Messages concerning destinations thus become the way for | |||
| routers and modems to maintain, and notify each other about, an | routers and modems to maintain, and notify each other about, an | |||
| information base representing the physical and logical destinations | information base representing the physical and logical destinations | |||
| accessible via the modem device, as well as the link characteristics | accessible via the modem device, as well as the link characteristics | |||
| to those destinations. | to those destinations. | |||
| DLEP identifies destinations by using the MAC address for delivering | ||||
| data traffic. No manipulation or substitution is performed; the MAC | ||||
| address supplied in all destination Messages is used as the | ||||
| Destination MAC address. DLEP therefore requires that MAC addresses | ||||
| are unique within the context of a router-modem session. | ||||
| The reliance on MAC addresses by DLEP forces the requirement that | ||||
| DLEP participants are on a single segment (either physical or | ||||
| logically, via tunneling protocols) at Layer 2. | ||||
| A destination can be either physical or logical. The example of a | A destination can be either physical or logical. The example of a | |||
| physical destination would be that of a remote, far-end router | physical destination would be that of a remote, far-end router | |||
| attached via the variable-quality network. It should be noted that | attached via the variable-quality network. It should be noted that | |||
| for physical destinations the MAC address is the address of the far- | for physical destinations the MAC address is the address of the far- | |||
| end router, not the modem. | end router, not the modem. | |||
| The example of a logical destination is Multicast. Multicast traffic | The example of a logical destination is Multicast. Multicast traffic | |||
| destined for the variable-quality network (the network accessed via | destined for the variable-quality network (the network accessed via | |||
| the modem) is handled in IP networks by deriving a Layer 2 MAC | the modem) is handled in IP networks by deriving a Layer 2 MAC | |||
| address based on the Layer 3 address. Leveraging on this scheme, | address based on the Layer 3 address. Leveraging on this scheme, | |||
| skipping to change at page 9, line 16 ¶ | skipping to change at page 8, line 24 ¶ | |||
| To support these logical destinations, one of the DLEP participants | To support these logical destinations, one of the DLEP participants | |||
| (typically, the router) informs the other as to the existence of the | (typically, the router) informs the other as to the existence of the | |||
| logical destination. The modem, once it is aware of the existence of | logical destination. The modem, once it is aware of the existence of | |||
| this logical destination, reports link characteristics just as it | this logical destination, reports link characteristics just as it | |||
| would for any other destination in the network. The specific | would for any other destination in the network. The specific | |||
| algorithms a modem would use to derive metrics on logical | algorithms a modem would use to derive metrics on logical | |||
| destinations are outside the scope of this specification, and is left | destinations are outside the scope of this specification, and is left | |||
| to specific implementations to decide. | to specific implementations to decide. | |||
| In all cases, when this specification uses the term destination, it | ||||
| refers to the addressable locations, either logical or physical, that | ||||
| are accessible by the radio link(s). | ||||
| 3. Extensions | ||||
| While this document represents the best efforts of the working group | While this document represents the best efforts of the working group | |||
| to be functionally complete, it is recognized that extensions to DLEP | to be functionally complete, it is recognized that extensions to DLEP | |||
| will in all likelihood be necessary as more link types are used. | will in all likelihood be necessary as more link types are used. | |||
| Such extensions are defined as additional Messages, Data Items and/or | Such extensions are defined as additional Messages, Data Items and/or | |||
| status codes, and associated rules of behavior, that are not defined | status codes, and associated rules of behavior, that are not defined | |||
| in this document. DLEP contains a standard mechanism for router and | in this document. DLEP contains a standard mechanism for router and | |||
| modem implementations to negotiate the available extensions to use on | modem implementations to negotiate the available extensions to use on | |||
| a per-session basis. | a per-session basis. | |||
| 2.1. Assumptions | 3.1. Requirements | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | ||||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | ||||
| "OPTIONAL" in this document are to be interpreted as described in BCP | ||||
| 14, RFC 2119 [RFC2119]. | ||||
| DLEP MUST be implemented on a single Layer 2 domain. The protocol | ||||
| identifies next-hop destinations by using the MAC address for | ||||
| delivering data traffic. No manipulation or substitution is | ||||
| performed; the MAC address supplied in all DLEP Messages is used as | ||||
| the Destination MAC address for frames emitted by the participating | ||||
| router. MAC addresses MUST be unique within the context of router- | ||||
| modem session. | ||||
| To enforce the single Layer 2 domain, implementations MUST support | ||||
| The Generalized TTL Security Mechanism [RFC5082]. | ||||
| DLEP specifies UDP multicast for single-hop discovery signaling, and | DLEP specifies UDP multicast for single-hop discovery signaling, and | |||
| TCP for transport of the Messages. Therefore, DLEP assumes that the | TCP for transport of the Messages. Modems and routers participating | |||
| modem and router have topologically consistent IP addresses assigned. | in DLEP sessions MUST have topologically consistent IP addresses | |||
| It is RECOMMENDED that DLEP implementations utilize IPv6 link-local | assigned. It is RECOMMENDED that DLEP implementations utilize IPv6 | |||
| addresses to reduce the administrative burden of address assignment. | link-local addresses to reduce the administrative burden of address | |||
| assignment. Implementations MUST adhere to the procedure documented | ||||
| in [RFC5082] for all DLEP Messages (TCP traffic). | ||||
| In order to keep the DLEP discovery Signals, which are multicast UDP- | ||||
| based, limited to the same Layer 2 domain, implementations MUST set | ||||
| the TTL of all DLEP Signals to 1, and MUST check for TTL = 1 on | ||||
| receipt of DLEP Signals. Any signal received with a TTL not equal to | ||||
| 1 MUST be discarded. | ||||
| DLEP relies on the guaranteed delivery of its Messages between router | DLEP relies on the guaranteed delivery of its Messages between router | |||
| and modem, once the 1 hop discovery process is complete, hence, the | and modem, once the 1 hop discovery process is complete, hence, the | |||
| specification of TCP to carry the Messages. Other reliable | specification of TCP to carry the Messages. Other reliable | |||
| transports for the protocol are possible, but are outside the scope | transports for the protocol are possible, but are outside the scope | |||
| of this document. | of this document. | |||
| DLEP further assumes that security of the implementations (e.g., | DLEP further requires that security of the implementations (e.g., | |||
| authentication of stations, encryption of traffic, or both) is dealt | authentication of stations, encryption of traffic, or both) is dealt | |||
| with by utilizing Layer 2 security techniques. This reliance on | with by utilizing Layer 2 security techniques. This reliance on | |||
| Layer 2 mechanisms secures all DLEP Messages - both the UDP discovery | Layer 2 mechanisms secures all DLEP Messages - both the UDP discovery | |||
| Signals and the TCP control Messages. | Signals and the TCP control Messages. | |||
| 3. Metrics | 4. Metrics | |||
| DLEP includes the ability for the router and modem to communicate | DLEP includes the ability for the router and modem to communicate | |||
| metrics that reflect the characteristics (e.g., datarate, latency) of | metrics that reflect the characteristics (e.g., datarate, latency) of | |||
| the variable-quality link in use. DLEP does not specify how a given | the variable-quality link in use. DLEP does not specify how a given | |||
| metric value is to be calculated, rather, the protocol assumes that | metric value is to be calculated, rather, the protocol assumes that | |||
| metrics have been calculated by a 'best effort', incorporating all | metrics have been calculated by a 'best effort', incorporating all | |||
| pertinent data that is available to the modem device. | pertinent data that is available to the modem device. Metrics based | |||
| on large enough sample sizes will preclude short traffic bursts from | ||||
| adversely skewing reported values. | ||||
| DLEP allows for metrics to be sent within two contexts - metrics for | DLEP allows for metrics to be sent within two contexts - metrics for | |||
| a specific destination within the network (e.g., a specific router), | a specific destination within the network (e.g., a specific router), | |||
| and per-session (those that apply to all destinations accessed via | and per-session (those that apply to all destinations accessed via | |||
| the modem). Most metrics can be further subdivided into transmit and | the modem). Most metrics can be further subdivided into transmit and | |||
| receive metrics. In cases where metrics are provided at session | receive metrics. In cases where metrics are provided at session | |||
| level, the router propagates the metrics to all entries in its | level, the router propagates the metrics to all entries in its | |||
| information base for destinations that are accessed via the modem. | information base for destinations that are accessed via the modem. | |||
| DLEP modems announce all metric Data Items that will be reported | DLEP modems announce all metric Data Items that will be reported | |||
| during the session, and provide default values for those metrics, in | during the session, and provide default values for those metrics, in | |||
| the Session Initialization Response Message (Section 9.6). In order | the Session Initialization Response Message (Section 10.6). In order | |||
| to use a metric type that was not included in the Session | to use a metric type that was not included in the Session | |||
| Initialization Response Message, modem implementations terminate the | Initialization Response Message, modem implementations terminate the | |||
| session with the router (via the Session Terminate Message | session with the router (via the Session Terminate Message | |||
| (Section 9.9)), and establish a new session. | (Section 10.9)), and establish a new session. | |||
| A DLEP modem can send metrics both in a session context, via the | A DLEP modem can send metrics both in a session context, via the | |||
| Session Update Message (Section 9.7), and a specific destination | Session Update Message (Section 10.7), and a specific destination | |||
| context, via the Destination Update Message (Section 9.17), at any | context, via the Destination Update Message (Section 10.17), at any | |||
| time. The most recently received metric value takes precedence over | time. The most recently received metric value takes precedence over | |||
| any earlier value, regardless of context - that is: | any earlier value, regardless of context - that is: | |||
| 1. If the router receives metrics in a specific destination context | 1. If the router receives metrics in a specific destination context | |||
| (via the Destination Update Message), then the specific | (via the Destination Update Message), then the specific | |||
| destination is updated with the new metric. | destination is updated with the new metric. | |||
| 2. If the router receives metrics in a session-wide context (via the | 2. If the router receives metrics in a session-wide context (via the | |||
| Session Update Message), then the metrics for all destinations | Session Update Message), then the metrics for all destinations | |||
| accessed via the modem are updated with the new metric. | accessed via the modem are updated with the new metric. | |||
| It is left to implementations to choose sensible default values based | It is left to implementations to choose sensible default values based | |||
| on their specific characteristics. Modems having static (non- | on their specific characteristics. Modems having static (non- | |||
| changing) link metric characteristics can report metrics only once | changing) link metric characteristics can report metrics only once | |||
| for a given destination (or once on a session-wide basis, if all | for a given destination (or once on a session-wide basis, if all | |||
| connections via the modem are of this static nature). | connections via the modem are of this static nature). | |||
| In addition to communicating existing metrics about the link, DLEP | In addition to communicating existing metrics about the link, DLEP | |||
| provides a Message allowing a router to request a different datarate | provides a Message allowing a router to request a different datarate | |||
| or latency from the modem. This Message is the Link Characteristics | or latency from the modem. This Message is the Link Characteristics | |||
| Request Message (Section 9.18), and gives the router the ability to | Request Message (Section 10.18), and gives the router the ability to | |||
| deal with requisite increases (or decreases) of allocated datarate/ | deal with requisite increases (or decreases) of allocated datarate/ | |||
| latency in demand-based schemes in a more deterministic manner. | latency in demand-based schemes in a more deterministic manner. | |||
| 4. DLEP Session Flow | 5. DLEP Session Flow | |||
| All DLEP participants of a session transition through a number of | All DLEP participants of a session transition through a number of | |||
| distinct states during the lifetime of a DLEP session: | distinct states during the lifetime of a DLEP session: | |||
| o Peer Discovery | o Peer Discovery | |||
| o Session Initialization | o Session Initialization | |||
| o In-Session | o In-Session | |||
| o Session Termination | o Session Termination | |||
| o Session Reset | o Session Reset | |||
| Modems, and routers supporting DLEP discovery, transition through all | Modems, and routers supporting DLEP discovery, transition through all | |||
| five (5) of the above states. Routers that rely on preconfigured TCP | five (5) of the above states. Routers that rely on preconfigured TCP | |||
| address/port information start in the Session Initialization state. | address/port information start in the Session Initialization state. | |||
| Modems MUST support the Peer Discovery state. | Modems MUST support the Peer Discovery state. | |||
| 4.1. Peer Discovery State | 5.1. Peer Discovery State | |||
| In the Peer Discovery state, routers that support DLEP discovery MUST | In the Peer Discovery state, routers that support DLEP discovery MUST | |||
| send Peer Discovery Signals (Section 9.3) to initiate modem | send Peer Discovery Signals (Section 10.3) to initiate modem | |||
| discovery. | discovery. | |||
| The router implementation then waits for a Peer Offer Signal | The router implementation then waits for a Peer Offer Signal | |||
| (Section 9.4) response from a potential DLEP modem. While in the | (Section 10.4) response from a potential DLEP modem. While in the | |||
| Peer Discovery state, Peer Discovery Signals MUST be sent repeatedly | Peer Discovery state, Peer Discovery Signals MUST be sent repeatedly | |||
| by a DLEP router, at regular intervals. The interval MUST be a | by a DLEP router, at regular intervals. The interval MUST be a | |||
| minimum of one second; it SHOULD be a configurable parameter. Note | minimum of one second; it SHOULD be a configurable parameter. Note | |||
| that this operation (sending Peer Discovery and waiting for Peer | that this operation (sending Peer Discovery and waiting for Peer | |||
| Offer) is outside the DLEP Transaction Model (Section 5), as the | Offer) is outside the DLEP Transaction Model (Section 6), as the | |||
| Transaction Model only describes Messages on a TCP session. | Transaction Model only describes Messages on a TCP session. | |||
| Routers MUST use one or more of each of the modem address/port | Routers MUST use one or more of each of the modem address/port | |||
| combinations from the Peer Offer Signal or, when no Connection Point | combinations from the Peer Offer Signal or, when no Connection Point | |||
| Data Items are present, from a priori configuration to establish a | Data Items are present, from a priori configuration to establish a | |||
| new TCP connection to the modem. If more than one modem address/port | new TCP connection to the modem. If more than one modem address/port | |||
| combinations is provided, router implementations MAY use their own | combinations is provided, router implementations MAY use their own | |||
| heuristics to determine the order in which they are tried. If a TCP | heuristics to determine the order in which they are tried. If a TCP | |||
| connection cannot be achieved using any of the address/port | connection cannot be achieved using any of the address/port | |||
| combinations and the Discovery mechanism is in use, then the router | combinations and the Discovery mechanism is in use, then the router | |||
| SHOULD resume issuing Peer Discovery Signals. If no Connection Point | SHOULD resume issuing Peer Discovery Signals. If no Connection Point | |||
| Data Items are included in the Peer Offer Signal, the router MUST use | Data Items are included in the Peer Offer Signal, the router MUST use | |||
| the source address of the UDP packet containing the Signal as the IP | the source address of the UDP packet containing the Peer Offer Signal | |||
| address, and the DLEP well-known port number. | as the IP address, and the DLEP well-known port number. | |||
| In the Peer Discovery state, the modem implementation MUST listen for | In the Peer Discovery state, the modem implementation MUST listen for | |||
| incoming Peer Discovery Signals on the DLEP well-known IPv6 and/or | incoming Peer Discovery Signals on the DLEP well-known IPv6 and/or | |||
| IPv4 link-local multicast address and port. On receipt of a valid | IPv4 link-local multicast address and port. On receipt of a valid | |||
| Peer Discovery Signal, it MUST reply with a Peer Offer Signal. | Peer Discovery Signal, it MUST reply with a Peer Offer Signal. | |||
| Modems MUST be prepared to accept a TCP connection from a router that | Modems MUST be prepared to accept a TCP connection from a router that | |||
| is not using the Discovery mechanism, i.e. a connection attempt that | is not using the Discovery mechanism, i.e. a connection attempt that | |||
| occurs without a preceding Peer Discovery Signal. | occurs without a preceding Peer Discovery Signal. | |||
| Upon establishment of a TCP connection, both modem and router enter | Upon establishment of a TCP connection, both modem and router enter | |||
| the Session Initialization state. It is up to the router | the Session Initialization state. It is up to the router | |||
| implementation if Peer Discovery Signals continue to be sent after | implementation if Peer Discovery Signals continue to be sent after | |||
| the device has transitioned to the Session Initialization state. | the device has transitioned to the Session Initialization state. | |||
| Modem implementations MUST silently ignore Peer Discovery Signals | Modem implementations MUST silently ignore Peer Discovery Signals | |||
| from a router with which it already has a TCP connection. | from a router with which it already has a TCP connection. | |||
| 4.2. Session Initialization State | 5.2. Session Initialization State | |||
| On entering the Session Initialization state, the router MUST send a | On entering the Session Initialization state, the router MUST send a | |||
| Session Initialization Message (Section 9.5) to the modem. The | Session Initialization Message (Section 10.5) to the modem. The | |||
| router MUST then wait for receipt of a Session Initialization | router MUST then wait for receipt of a Session Initialization | |||
| Response Message (Section 9.6) from the modem. Receipt of the | Response Message (Section 10.6) from the modem. Receipt of the | |||
| Session Initialization Response Message containing a Status Data Item | Session Initialization Response Message containing a Status Data Item | |||
| (Section 10.1) with status code set to 0 'Success', see Table 4, | (Section 11.1) with status code set to 0 'Success', see Table 2, | |||
| indicates that the modem has received and processed the Session | indicates that the modem has received and processed the Session | |||
| Initialization Message, and the router MUST transition to the In- | Initialization Message, and the router MUST transition to the In- | |||
| Session state. | Session state. | |||
| On entering the Session Initialization state, the modem MUST wait for | On entering the Session Initialization state, the modem MUST wait for | |||
| receipt of a Session Initialization Message from the router. Upon | receipt of a Session Initialization Message from the router. Upon | |||
| receipt of a Session Initialization Message, the modem MUST send a | receipt of a Session Initialization Message, the modem MUST send a | |||
| Session Initialization Response Message, and the session MUST | Session Initialization Response Message, and the session MUST | |||
| transition to the In-Session state. If the modem receives any | transition to the In-Session state. If the modem receives any | |||
| Message other than Session Initialization, or it fails to parse the | Message other than Session Initialization, or it fails to parse the | |||
| received Message, it MUST NOT send any Message, and MUST terminate | received Message, it MUST NOT send any Message, and MUST terminate | |||
| the TCP connection and transition to the Session Reset state. | the TCP connection and transition to the Session Reset state. | |||
| DLEP provides an extension negotiation capability to be used in the | DLEP provides an extension negotiation capability to be used in the | |||
| Session Initialization state, see Section 6. Extensions supported by | Session Initialization state, see Section 3. Extensions supported by | |||
| an implementation MUST be declared to potential DLEP participants | an implementation MUST be declared to potential DLEP participants | |||
| using the Extensions Supported Data Item (Section 10.6). Once both | using the Extensions Supported Data Item (Section 11.6). Once both | |||
| DLEP participants have exchanged initialization Messages, an | DLEP participants have exchanged initialization Messages, an | |||
| implementation MUST NOT emit any Message, Signal, Data Item or status | implementation MUST NOT emit any Message, Signal, Data Item or status | |||
| code associated with an extension that was not specified in the | code associated with an extension that was not specified in the | |||
| received initialization Message from its peer. | received initialization Message from its peer. | |||
| 4.3. In-Session State | 5.3. In-Session State | |||
| In the In-Session state, Messages can flow in both directions between | In the In-Session state, Messages can flow in both directions between | |||
| DLEP participants, indicating changes to the session state, the | DLEP participants, indicating changes to the session state, the | |||
| arrival or departure of reachable destinations, or changes of the | arrival or departure of reachable destinations, or changes of the | |||
| state of the links to the destinations. | state of the links to the destinations. | |||
| The In-Session state is maintained until one of the following | The In-Session state is maintained until one of the following | |||
| conditions occur: | conditions occur: | |||
| o The implementation terminates the session by sending a Session | o The implementation terminates the session by sending a Session | |||
| Termination Message (Section 9.9), or, | Termination Message (Section 10.9), or, | |||
| o Its peer terminates the session, indicated by receiving a Session | o Its peer terminates the session, indicated by receiving a Session | |||
| Termination Message. | Termination Message. | |||
| The implementation MUST then transition to the Session Termination | The implementation MUST then transition to the Session Termination | |||
| state. | state. | |||
| 4.3.1. Heartbeats | 5.3.1. Heartbeats | |||
| In order to maintain the In-Session state, periodic Heartbeat | In order to maintain the In-Session state, periodic Heartbeat | |||
| Messages (Section 9.20) MUST be exchanged between router and modem. | Messages (Section 10.20) MUST be exchanged between router and modem. | |||
| These Messages are intended to keep the session alive, and to verify | These Messages are intended to keep the session alive, and to verify | |||
| bidirectional connectivity between the two DLEP participants. | bidirectional connectivity between the two DLEP participants. | |||
| Each DLEP participant is responsible for the creation of Heartbeat | Each DLEP participant is responsible for the creation of Heartbeat | |||
| Messages. | Messages. | |||
| Receipt of any valid DLEP Message MUST reset the heartbeat interval | Receipt of any valid DLEP Message MUST reset the heartbeat interval | |||
| timer (i.e., valid DLEP Messages take the place of, and obviate the | timer (i.e., valid DLEP Messages take the place of, and obviate the | |||
| need for, additional Heartbeat Messages). | need for, additional Heartbeat Messages). | |||
| Implementations MUST allow a minimum of two (2) heartbeat intervals | Implementations MUST allow a minimum of two (2) heartbeat intervals | |||
| to expire with no Messages from its peer before terminating the | to expire with no Messages from its peer before terminating the | |||
| session. When terminating the session, a Session Termination Message | session. When terminating the session, a Session Termination Message | |||
| containing a Status Data Item (Section 10.1) with status code set to | containing a Status Data Item (Section 11.1) with status code set to | |||
| 132 'Timed Out', see Table 4, MUST be sent, and then the | 132 'Timed Out', see Table 2, MUST be sent, and then the | |||
| implementation MUST transition to the Session Termination state. | implementation MUST transition to the Session Termination state. | |||
| 4.4. Session Termination State | 5.4. Session Termination State | |||
| When an implementation enters the Session Termination state after | When an implementation enters the Session Termination state after | |||
| sending a Session Termination Message (Section 9.9) as the result of | sending a Session Termination Message (Section 10.9) as the result of | |||
| an invalid Message or error, it MUST wait for a Session Termination | an invalid Message or error, it MUST wait for a Session Termination | |||
| Response Message (Section 9.10) from its peer. Senders SHOULD allow | Response Message (Section 10.10) from its peer. Senders SHOULD allow | |||
| four (4) heartbeat intervals to expire before assuming that its peer | four (4) heartbeat intervals to expire before assuming that its peer | |||
| is unresponsive, and continuing with session termination. Any other | is unresponsive, and continuing with session termination. Any other | |||
| Message received while waiting MUST be silently ignored. | Message received while waiting MUST be silently ignored. | |||
| When the sender of the Session Termination Message receives a Session | When the sender of the Session Termination Message receives a Session | |||
| Termination Response Message from its peer, or times out, it MUST | Termination Response Message from its peer, or times out, it MUST | |||
| transition to the Session Reset state. | transition to the Session Reset state. | |||
| When an implementation receives a Session Termination Message from | When an implementation receives a Session Termination Message from | |||
| its peer, it enters the Session Termination state and then it MUST | its peer, it enters the Session Termination state and then it MUST | |||
| immediately send a Session Termination Response and transition to the | immediately send a Session Termination Response and transition to the | |||
| Session Reset state. | Session Reset state. | |||
| 4.5. Session Reset state | 5.5. Session Reset state | |||
| In the Session Reset state the implementation MUST perform the | In the Session Reset state the implementation MUST perform the | |||
| following actions: | following actions: | |||
| o Release all resources allocated for the session. | o Release all resources allocated for the session. | |||
| o Eliminate all destinations in the information base represented by | o Eliminate all destinations in the information base represented by | |||
| the session. Destination Down Messages (Section 9.15) MUST NOT be | the session. Destination Down Messages (Section 10.15) MUST NOT | |||
| sent. | be sent. | |||
| o Terminate the TCP connection. | o Terminate the TCP connection. | |||
| Having completed these actions the implementation SHOULD return to | Having completed these actions the implementation SHOULD return to | |||
| the relevant initial state: Peer Discovery for modems; either Peer | the relevant initial state: Peer Discovery for modems; either Peer | |||
| Discovery or Session Initialization for routers, depending on | Discovery or Session Initialization for routers, depending on | |||
| configuration. | configuration. | |||
| 4.5.1. Unexpected TCP connection termination | 5.5.1. Unexpected TCP connection termination | |||
| If the TCP connection between DLEP participants is terminated when an | If the TCP connection between DLEP participants is terminated when an | |||
| implementation is not in the Session Reset state, the implementation | implementation is not in the Session Reset state, the implementation | |||
| MUST immediately transition to the Session Reset state. | MUST immediately transition to the Session Reset state. | |||
| 5. Transaction Model | 6. Transaction Model | |||
| DLEP defines a simple Message transaction model: Only one request per | DLEP defines a simple Message transaction model: Only one request per | |||
| destination may be in progress at a time per session. A Message | destination may be in progress at a time per session. A Message | |||
| transaction is considered complete when a response matching a | transaction is considered complete when a response matching a | |||
| previously issued request is received. If a DLEP participant | previously issued request is received. If a DLEP participant | |||
| receives a request for a destination for which there is already an | receives a request for a destination for which there is already an | |||
| outstanding request, the implementation MUST terminate the session by | outstanding request, the implementation MUST terminate the session by | |||
| issuing a Session Termination Message (Section 9.9) containing a | issuing a Session Termination Message (Section 10.9) containing a | |||
| Status Data Item (Section 10.1) with status code set to 129 | Status Data Item (Section 11.1) with status code set to 129 | |||
| 'Unexpected Message', see Table 4, and transition to the Session | 'Unexpected Message', see Table 2, and transition to the Session | |||
| Termination state. There is no restriction to the total number of | Termination state. There is no restriction to the total number of | |||
| Message transactions in progress at a time, as long as each | Message transactions in progress at a time, as long as each | |||
| transaction refers to a different destination. | transaction refers to a different destination. | |||
| It should be noted that some requests may take a considerable amount | It should be noted that some requests may take a considerable amount | |||
| of time for some DLEP participants to complete, for example a modem | of time for some DLEP participants to complete, for example a modem | |||
| handling a multicast destination up request may have to perform a | handling a multicast destination up request may have to perform a | |||
| complex network reconfiguration. A sending implementation MUST be | complex network reconfiguration. A sending implementation MUST be | |||
| able to handle such long running transactions gracefully. | able to handle such long running transactions gracefully. | |||
| Additionally, only one session request, e.g. a Session Initialization | Additionally, only one session request, e.g. a Session Initialization | |||
| Message (Section 9.5), may be in progress at a time per session. As | Message (Section 10.5), may be in progress at a time per session. As | |||
| above, a session transaction is considered complete when a response | above, a session transaction is considered complete when a response | |||
| matching a previously issued request is received. If a DLEP | matching a previously issued request is received. If a DLEP | |||
| participant receives a session request while there is already a | participant receives a session request while there is already a | |||
| session request in progress, it MUST terminate the session by issuing | session request in progress, it MUST terminate the session by issuing | |||
| a Session Termination Message containing a Status Data Item with | a Session Termination Message containing a Status Data Item with | |||
| status code set to 129 'Unexpected Message', and transition to the | status code set to 129 'Unexpected Message', and transition to the | |||
| Session Termination state. Only the Session Termination Message may | Session Termination state. Only the Session Termination Message may | |||
| be issued when a session transaction is in progress. Heartbeat | be issued when a session transaction is in progress. Heartbeat | |||
| Messages (Section 9.20) MUST NOT be considered part of a session | Messages (Section 10.20) MUST NOT be considered part of a session | |||
| transaction. | transaction. | |||
| DLEP transactions do not time out and are not cancellable. An | DLEP transactions do not time out and are not cancellable. An | |||
| implementation can detect if its peer has failed in some way by use | implementation can detect if its peer has failed in some way by use | |||
| of the session heartbeat mechanism during the In-Session state, see | of the session heartbeat mechanism during the In-Session state, see | |||
| Section 4.3. | Section 5.3. | |||
| 6. Extensions | 7. Extensions | |||
| Extensions MUST be negotiated on a per-session basis during session | Extensions MUST be negotiated on a per-session basis during session | |||
| initialization via the Extensions Supported mechanism. | initialization via the Extensions Supported mechanism. | |||
| Implementations are not required to support any extension in order to | Implementations are not required to support any extension in order to | |||
| be considered DLEP compliant. An extension document, describing the | be considered DLEP compliant. An extension document, describing the | |||
| operation of a credit windowing scheme for flow control, is described | operation of a credit windowing scheme for flow control, is described | |||
| in [CREDIT]. | in [CREDIT]. | |||
| If interoperable protocol extensions are required, they will need to | If interoperable protocol extensions are required, they will need to | |||
| be standardized either as an update to this document, or as an | be standardized either as an update to this document, or as an | |||
| additional stand-alone specification. The requests for IANA- | additional stand-alone specification. The requests for IANA- | |||
| controlled registries in this document contain sufficient Reserved | controlled registries in this document contain sufficient Reserved | |||
| space for DLEP Signals, Messages, Data Items and status codes to | space for DLEP Signals, Messages, Data Items and status codes to | |||
| accommodate future extensions to the protocol. | accommodate future extensions to the protocol. | |||
| As multiple protocol extensions MAY be announced during session | As multiple protocol extensions MAY be announced during session | |||
| initialization, authors of protocol extensions need to consider the | initialization, authors of protocol extensions need to consider the | |||
| interaction of their extension with other published extensions, and | interaction of their extension with other published extensions, and | |||
| specify any incompatibilities. | specify any incompatibilities. | |||
| 6.1. Experiments | 7.1. Experiments | |||
| This document requests Private Use numbering space in the DLEP | This document requests Private Use numbering space in the DLEP | |||
| Signal, Message, Data Item and status code registries for | Signal, Message, Data Item and status code registries for | |||
| experimental extensions. The intent is to allow for experimentation | experimental extensions. The intent is to allow for experimentation | |||
| with new Signals, Messages, Data Items, and/or status codes, while | with new Signals, Messages, Data Items, and/or status codes, while | |||
| still retaining the documented DLEP behavior. | still retaining the documented DLEP behavior. | |||
| Use of the Private Use Signals, Messages, Data Items, status codes, | Use of the Private Use Signals, Messages, Data Items, status codes, | |||
| or behaviors MUST be announced as DLEP Extensions, during session | or behaviors MUST be announced as DLEP Extensions, during session | |||
| initialization, using extension identifiers from the Private Use | initialization, using extension identifiers from the Private Use | |||
| space in the Extensions Supported registry (Table 5), with a value | space in the Extensions Supported registry (Table 3), with a value | |||
| agreed upon (a priori) between the participants. DLEP extensions | agreed upon (a priori) between the participants. DLEP extensions | |||
| using the Private Use numbering space are commonly referred to as | using the Private Use numbering space are commonly referred to as | |||
| Experiments. | Experiments. | |||
| Multiple experiments MAY be announced in the Session Initialization | Multiple experiments MAY be announced in the Session Initialization | |||
| Messages. However, use of multiple experiments in a single session | Messages. However, use of multiple experiments in a single session | |||
| could lead to interoperability issues or unexpected results (e.g., | could lead to interoperability issues or unexpected results (e.g., | |||
| clashes of experimental Signals, Messages, Data Items and/or status | clashes of experimental Signals, Messages, Data Items and/or status | |||
| code types), and is therefore discouraged. It is left to | code types), and is therefore discouraged. It is left to | |||
| implementations to determine the correct processing path (e.g., a | implementations to determine the correct processing path (e.g., a | |||
| decision on whether to terminate the session, or to establish a | decision on whether to terminate the session, or to establish a | |||
| precedence of the conflicting definitions) if such conflicts arise. | precedence of the conflicting definitions) if such conflicts arise. | |||
| 7. Scalability | 8. Scalability | |||
| The protocol is intended to support thousands of destinations on a | The protocol is intended to support thousands of destinations on a | |||
| given modem/router pair. At large scale, implementations SHOULD | given modem/router pair. At large scale, implementations SHOULD | |||
| consider employing techniques to prevent flooding its peer with a | consider employing techniques to prevent flooding its peer with a | |||
| large number of Messages in a short time. It is RECOMMENDED that | large number of Messages in a short time. For example, a dampening | |||
| implementations consider a dampening algorithm to prevent a flapping | algorithm could be employed to prevent a flapping device from | |||
| device from generating a large number of Destination Up/Destination | generating a large number of Destination Up/Destination Down | |||
| Down Messages, for example. | Messages. | |||
| Implementations SHOULD also consider techniques such as a hysteresis | Also, use of techniques such as a hysteresis can lessen the impact of | |||
| to lessen the impact of rapid, minor fluctuations in link quality. | rapid, minor fluctuations in link quality. The specific algorithms | |||
| The specific algorithms to be used for handling flapping destinations | for handling flapping destinations and minor changes in link quality | |||
| and minor changes in link quality are outside the scope of this | are outside the scope of this specification. | |||
| specification. | ||||
| 8. DLEP Signal and Message Structure | 9. DLEP Signal and Message Structure | |||
| DLEP defines two protocol units used in two different ways: Signals | DLEP defines two protocol units used in two different ways: Signals | |||
| and Messages. Signals are only used in the Discovery mechanism and | and Messages. Signals are only used in the Discovery mechanism and | |||
| are carried in UDP datagrams. Messages are used bi-directionally | are carried in UDP datagrams. Messages are used bi-directionally | |||
| over a TCP connection between the participants, in the Session | over a TCP connection between the participants, in the Session | |||
| Initialization, In-Session and Session Termination states. | Initialization, In-Session and Session Termination states. | |||
| Both Signals and Messages consist of a Header followed by an | Both Signals and Messages consist of a Header followed by an | |||
| unordered list of Data Items. Headers consist of Type and Length | unordered list of Data Items. Headers consist of Type and Length | |||
| information, while Data Items are encoded as TLV (Type-Length-Value) | information, while Data Items are encoded as TLV (Type-Length-Value) | |||
| skipping to change at page 17, line 15 ¶ | skipping to change at page 17, line 17 ¶ | |||
| Message. | Message. | |||
| There is no restriction on the order of Data Items following a | There is no restriction on the order of Data Items following a | |||
| Header, and the acceptability of duplicate Data Items is defined by | Header, and the acceptability of duplicate Data Items is defined by | |||
| the definition of the Signal or Message declared by the type in the | the definition of the Signal or Message declared by the type in the | |||
| Header. | Header. | |||
| All integers in Header fields and values MUST be in network byte- | All integers in Header fields and values MUST be in network byte- | |||
| order. | order. | |||
| 8.1. DLEP Signal Header | 9.1. DLEP Signal Header | |||
| The DLEP Signal Header contains the following fields: | The DLEP Signal Header contains the following fields: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | 'D' | 'L' | 'E' | 'P' | | | 'D' | 'L' | 'E' | 'P' | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Signal Type | Length | | | Signal Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| skipping to change at page 17, line 43 ¶ | skipping to change at page 17, line 45 ¶ | |||
| Signal Type values defined in this document. | Signal Type values defined in this document. | |||
| Length: The length in octets, expressed as a 16-bit unsigned | Length: The length in octets, expressed as a 16-bit unsigned | |||
| integer, of all of the DLEP Data Items contained in this Signal. | integer, of all of the DLEP Data Items contained in this Signal. | |||
| This length MUST NOT include the length of the Signal Header | This length MUST NOT include the length of the Signal Header | |||
| itself. | itself. | |||
| The DLEP Signal Header is immediately followed by zero or more DLEP | The DLEP Signal Header is immediately followed by zero or more DLEP | |||
| Data Items, encoded in TLVs, as defined in this document. | Data Items, encoded in TLVs, as defined in this document. | |||
| 8.2. DLEP Message Header | 9.2. DLEP Message Header | |||
| The DLEP Message Header contains the following fields: | The DLEP Message Header contains the following fields: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Message Type | Length | | | Message Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 4: DLEP Message Header | Figure 4: DLEP Message Header | |||
| skipping to change at page 18, line 24 ¶ | skipping to change at page 18, line 20 ¶ | |||
| Message Type values defined in this document. | Message Type values defined in this document. | |||
| Length: The length in octets, expressed as a 16-bit unsigned | Length: The length in octets, expressed as a 16-bit unsigned | |||
| integer, of all of the DLEP Data Items contained in this Message. | integer, of all of the DLEP Data Items contained in this Message. | |||
| This length MUST NOT include the length of the Message Header | This length MUST NOT include the length of the Message Header | |||
| itself. | itself. | |||
| The DLEP Message Header is immediately followed by zero or more DLEP | The DLEP Message Header is immediately followed by zero or more DLEP | |||
| Data Items, encoded in TLVs, as defined in this document. | Data Items, encoded in TLVs, as defined in this document. | |||
| 8.3. DLEP Generic Data Item | 9.3. DLEP Generic Data Item | |||
| All DLEP Data Items contain the following fields: | All DLEP Data Items contain the following fields: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Data Item Type | Length | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Value... : | | Value... : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| skipping to change at page 19, line 5 ¶ | skipping to change at page 18, line 44 ¶ | |||
| Data Item Type: A 16-bit unsigned integer field specifying the type | Data Item Type: A 16-bit unsigned integer field specifying the type | |||
| of Data Item being sent. | of Data Item being sent. | |||
| Length: The length in octets, expressed as a 16-bit unsigned | Length: The length in octets, expressed as a 16-bit unsigned | |||
| integer, of the Value field of the Data Item. This length MUST | integer, of the Value field of the Data Item. This length MUST | |||
| NOT include the length of the Data Item Type and Length fields. | NOT include the length of the Data Item Type and Length fields. | |||
| Value: A field of <Length> octets, which contains data specific to a | Value: A field of <Length> octets, which contains data specific to a | |||
| particular Data Item. | particular Data Item. | |||
| 9. DLEP Signals and Messages | 10. DLEP Signals and Messages | |||
| 10.1. General Processing Rules | ||||
| Following is the set of core Signals and Messages that MUST be | ||||
| recognized by a DLEP compliant implementation. As mentioned before, | ||||
| not all Messages may be used during a session, but an implementation | ||||
| MUST correctly process these Signals and Messages when received. | ||||
| The core DLEP Signals are: | ||||
| +--------------+-----------------------------------------+ | ||||
| | Type Code | Description | | ||||
| +--------------+-----------------------------------------+ | ||||
| | 0 | Reserved | | ||||
| | 1 | Peer Discovery Signal (Section 9.3) | | ||||
| | 2 | Peer Offer Signal (Section 9.4) | | ||||
| | 3-65519 | Reserved for future extensions | | ||||
| | 65520-65534 | Private Use. Available for experiments | | ||||
| | 65535 | Reserved | | ||||
| +--------------+-----------------------------------------+ | ||||
| Table 1: DLEP Signal types | ||||
| The core DLEP Messages are: | ||||
| +--------------+----------------------------------------------------+ | ||||
| | Type Code | Description | | ||||
| +--------------+----------------------------------------------------+ | ||||
| | 0 | Reserved | | ||||
| | 1 | Session Initialization Message (Section 9.5) | | ||||
| | 2 | Session Initialization Response Message (Section | | ||||
| | | 9.6) | | ||||
| | 3 | Session Update Message (Section 9.7) | | ||||
| | 4 | Session Update Response Message (Section 9.8) | | ||||
| | 5 | Session Termination Message (Section 9.9) | | ||||
| | 6 | Session Termination Response Message (Section | | ||||
| | | 9.10) | | ||||
| | 7 | Destination Up Message (Section 9.11) | | ||||
| | 8 | Destination Up Response Message (Section 9.12) | | ||||
| | 9 | Destination Announce Message (Section 9.13) | | ||||
| | 10 | Destination Announce Response Message (Section | | ||||
| | | 9.14) | | ||||
| | 11 | Destination Down Message (Section 9.15) | | ||||
| | 12 | Destination Down Response Message (Section 9.16) | | ||||
| | 13 | Destination Update Message (Section 9.17) | | ||||
| | 14 | Link Characteristics Request Message (Section | | ||||
| | | 9.18) | | ||||
| | 15 | Link Characteristics Response Message (Section | | ||||
| | | 9.19) | | ||||
| | 16 | Heartbeat Message (Section 9.20) | | ||||
| | 17-65519 | Reserved for future extensions | | ||||
| | 65520-65534 | Private Use. Available for experiments | | ||||
| | 65535 | Reserved | | ||||
| +--------------+----------------------------------------------------+ | ||||
| Table 2: DLEP Message types | ||||
| 9.1. General Processing Rules | ||||
| If an unrecognized, or unexpected Signal is received, or a received | If an unrecognized, or unexpected Signal is received, or a received | |||
| Signal contains unrecognized, invalid, or disallowed duplicate Data | Signal contains unrecognized, invalid, or disallowed duplicate Data | |||
| Items, the receiving implementation MUST ignore the Signal. | Items, the receiving implementation MUST ignore the Signal. | |||
| If a Signal is received with a TTL value that is NOT equal to 1, the | ||||
| receiving implementation MUST ignore the Signal. | ||||
| If a received Message contains a TTL value other than 255, the | ||||
| receiving implementation MUST close the session, and transition to | ||||
| the Session Termination state. | ||||
| If an unrecognized Message is received, the receiving implementation | If an unrecognized Message is received, the receiving implementation | |||
| MUST issue a Session Termination Message (Section 9.9) containing a | MUST issue a Session Termination Message (Section 10.9) containing a | |||
| Status Data Item (Section 10.1) with status code set to 128 'Unknown | Status Data Item (Section 11.1) with status code set to 128 'Unknown | |||
| Message', see Table 4, and transition to the Session Termination | Message', see Table 2, and transition to the Session Termination | |||
| state. | state. | |||
| If an unexpected Message is received, the receiving implementation | If an unexpected Message is received, the receiving implementation | |||
| MUST issue a Session Termination Message containing a Status Data | MUST issue a Session Termination Message containing a Status Data | |||
| Item with status code set to 129 'Unexpected Message', and transition | Item with status code set to 129 'Unexpected Message', and transition | |||
| to the Session Termination state. | to the Session Termination state. | |||
| If a received Message contains unrecognized, invalid, or disallowed | If a received Message contains unrecognized, invalid, or disallowed | |||
| duplicate Data Items, the receiving implementation MUST issue a | duplicate Data Items, the receiving implementation MUST issue a | |||
| Session Termination Message containing a Status Data Item with status | Session Termination Message containing a Status Data Item with status | |||
| code set to 130 'Invalid Data', and transition to the Session | code set to 130 'Invalid Data', and transition to the Session | |||
| Termination state. | Termination state. | |||
| Prior to the exchange of Destination Up (Section 9.11) and | Prior to the exchange of Destination Up (Section 10.11) and | |||
| Destination Up Response (Section 9.12) Messages, or Destination | Destination Up Response (Section 10.12) Messages, or Destination | |||
| Announce (Section 9.13) and Destination Announce Response | Announce (Section 10.13) and Destination Announce Response | |||
| (Section 9.14) Messages, no Messages concerning a destination may be | (Section 10.14) Messages, no Messages concerning a destination may be | |||
| sent. An implementation receiving any Message with such an | sent. An implementation receiving any Message with such an | |||
| unannounced destination MUST terminate the session by issuing a | unannounced destination MUST terminate the session by issuing a | |||
| Session Termination Message containing a Status Data Item with status | Session Termination Message containing a Status Data Item with status | |||
| code set to 131 'Invalid Destination', and transition to the Session | code set to 131 'Invalid Destination', and transition to the Session | |||
| Termination state. | Termination state. | |||
| After exchanging Destination Down (Section 9.15) and Destination Down | After exchanging Destination Down (Section 10.15) and Destination | |||
| Response (Section 9.16) Messages, no Messages concerning a | Down Response (Section 10.16) Messages, no Messages concerning a | |||
| destination may be a sent until a new Destination Up or Destination | destination may be a sent until a new Destination Up or Destination | |||
| Announce Message is sent. An implementation receiving a Message | Announce Message is sent. An implementation receiving a Message | |||
| about a destination previously announced as 'down' MUST terminate the | about a destination previously announced as 'down' MUST terminate the | |||
| session by issuing a Session Termination Message with a Status Data | session by issuing a Session Termination Message with a Status Data | |||
| Item with status code set to 131 'Invalid Destination', and | Item with status code set to 131 'Invalid Destination', and | |||
| transition to the Session Termination state. | transition to the Session Termination state. | |||
| 9.2. Status code processing | 10.2. Status code processing | |||
| The behaviour of a DLEP participant receiving a Message containing a | The behaviour of a DLEP participant receiving a Message containing a | |||
| Status Data Item (Section 10.1) is defined by the failure mode | Status Data Item (Section 11.1) is defined by the failure mode | |||
| associated with the value of the status code field, see Table 4. All | associated with the value of the status code field, see Table 2. All | |||
| status code values less than 100 have a failure mode of 'Continue', | status code values less than 100 have a failure mode of 'Continue', | |||
| all other status codes have a failure mode of 'Terminate'. | all other status codes have a failure mode of 'Terminate'. | |||
| A DLEP participant receiving any Message apart from Session | A DLEP participant receiving any Message apart from Session | |||
| Termination Message (Section 9.9) containing a Status Data Item with | Termination Message (Section 10.9) containing a Status Data Item with | |||
| a status code value with failure mode 'Terminate' MUST immediately | a status code value with failure mode 'Terminate' MUST immediately | |||
| issue a Session Termination Message containing an identical Status | issue a Session Termination Message containing an identical Status | |||
| Data Item, and then transition to the Session Termination state. | Data Item, and then transition to the Session Termination state. | |||
| A DLEP participant receiving a Message containing a Status Data Item | A DLEP participant receiving a Message containing a Status Data Item | |||
| with a status code value with failure mode 'Continue' can continue | with a status code value with failure mode 'Continue' can continue | |||
| normal operation of the session. | normal operation of the session. | |||
| 9.3. Peer Discovery Signal | 10.3. Peer Discovery Signal | |||
| A Peer Discovery Signal SHOULD be sent by a DLEP router to discover | A Peer Discovery Signal SHOULD be sent by a DLEP router to discover | |||
| DLEP modems in the network, see Section 4.1. | DLEP modems in the network, see Section 5.1. | |||
| A Peer Discovery Signal MUST be encoded within a UDP packet. The | A Peer Discovery Signal MUST be encoded within a UDP packet. The | |||
| destination MUST be set to the DLEP well-known address and port | destination MUST be set to the DLEP well-known address and port | |||
| number. For routers supporting both IPv4 and IPv6 DLEP operation, it | number. For routers supporting both IPv4 and IPv6 DLEP operation, it | |||
| is RECOMMENDED that IPv6 be selected as the transport. The source IP | is RECOMMENDED that IPv6 be selected as the transport. The source IP | |||
| address MUST be set to the router IP address associated with the DLEP | address MUST be set to the router IP address associated with the DLEP | |||
| interface. There is no DLEP-specific restriction on source port. | interface. There is no DLEP-specific restriction on source port. | |||
| To construct a Peer Discovery Signal, the Signal Type value in the | To construct a Peer Discovery Signal, the Signal Type value in the | |||
| Signal Header is set to 1, from Table 1. | Signal Header is set to 1 (see Signal Type Registration | |||
| (Section 13.2)). | ||||
| The Peer Discovery Signal MAY contain a Peer Type Data Item | The Peer Discovery Signal MAY contain a Peer Type Data Item | |||
| (Section 10.4). | (Section 11.4). | |||
| 9.4. Peer Offer Signal | 10.4. Peer Offer Signal | |||
| A Peer Offer Signal MUST be sent by a DLEP modem in response to a | A Peer Offer Signal MUST be sent by a DLEP modem in response to a | |||
| properly formatted and addressed Peer Discovery Signal (Section 9.3). | properly formatted and addressed Peer Discovery Signal | |||
| (Section 10.3). | ||||
| A Peer Offer Signal MUST be encoded within a UDP packet. The IP | A Peer Offer Signal MUST be encoded within a UDP packet. The IP | |||
| destination MUST be set to the IP address and port number received in | destination MUST be set to the IP address and port number received in | |||
| the corresponding Peer Discovery Signal. The source IP address MUST | the corresponding Peer Discovery Signal. The source IP address MUST | |||
| be set to the modem's IP address associated with the DLEP interface. | be set to the modem's IP address associated with the DLEP interface. | |||
| The source port number MUST be set to the DLEP well-known port | The source port number MUST be set to the DLEP well-known port | |||
| number. The Peer Offer Signal completes the discovery process, see | number. The Peer Offer Signal completes the discovery process, see | |||
| Section 4.1. | Section 5.1. | |||
| To construct a Peer Offer Signal, the Signal Type value in the Signal | To construct a Peer Offer Signal, the Signal Type value in the Signal | |||
| Header is set to 2, from Table 1. | Header is set to 2 (see Signal Type Registration (Section 13.2)). | |||
| The Peer Offer Signal MAY contain a Peer Type Data Item | The Peer Offer Signal MAY contain a Peer Type Data Item | |||
| (Section 10.4). | (Section 11.4). | |||
| The Peer Offer Signal MAY contain one or more of any of the following | The Peer Offer Signal MAY contain one or more of any of the following | |||
| Data Items, with different values: | Data Items, with different values: | |||
| o IPv4 Connection Point (Section 10.2) | o IPv4 Connection Point (Section 11.2) | |||
| o IPv6 Connection Point (Section 10.3) | o IPv6 Connection Point (Section 11.3) | |||
| The IP Connection Point Data Items indicate the unicast address the | The IP Connection Point Data Items indicate the unicast address the | |||
| router MUST use when connecting the DLEP TCP session. | router MUST use when connecting the DLEP TCP session. | |||
| 9.5. Session Initialization Message | 10.5. Session Initialization Message | |||
| A Session Initialization Message MUST be sent by a DLEP router as the | A Session Initialization Message MUST be sent by a DLEP router as the | |||
| first Message of the DLEP TCP session. It is sent by the router | first Message of the DLEP TCP session. It is sent by the router | |||
| after a TCP connect to an address/port combination that was obtained | after a TCP connect to an address/port combination that was obtained | |||
| either via receipt of a Peer Offer, or from a priori configuration. | either via receipt of a Peer Offer, or from a priori configuration. | |||
| To construct a Session Initialization Message, the Message Type value | To construct a Session Initialization Message, the Message Type value | |||
| in the Message Header is set to 1, from Table 2. | in the Message Header is set to 1 (see Message Type Registration | |||
| (Section 13.3)). | ||||
| The Session Initialization Message MUST contain a Heartbeat Interval | The Session Initialization Message MUST contain a Heartbeat Interval | |||
| Data Item (Section 10.5). | Data Item (Section 11.5). | |||
| The Session Initialization Message MAY contain one of each of the | The Session Initialization Message MAY contain one of each of the | |||
| following Data Items: | following Data Items: | |||
| o Peer Type (Section 10.4) | o Peer Type (Section 11.4) | |||
| o Extensions Supported (Section 10.6) | o Extensions Supported (Section 11.6) | |||
| If any optional extensions are supported by the implementation, they | If any optional extensions are supported by the implementation, they | |||
| MUST be enumerated in the Extensions Supported Data Item. If an | MUST be enumerated in the Extensions Supported Data Item. If an | |||
| Extensions Supported Data Item does not exist in a Session | Extensions Supported Data Item does not exist in a Session | |||
| Initialization Message, the modem MUST conclude that there is no | Initialization Message, the modem MUST conclude that there is no | |||
| support for extensions in the router. | support for extensions in the router. | |||
| DLEP Heartbeats are not fully established until receipt of the | DLEP Heartbeats are not fully established until receipt of the | |||
| Session Initialization Response Message (Section 9.6), and therefore | Session Initialization Response Message (Section 10.6), and therefore | |||
| implementations MUST use their own timeout and retry heuristics for | implementations MUST use their own timeout and retry heuristics for | |||
| this Message. | this Message. | |||
| As an exception to the general rule governing an implementation | As an exception to the general rule governing an implementation | |||
| receiving an unrecognized Data Item in a Message, see Section 9.1, if | receiving an unrecognized Data Item in a Message, see Section 10.1, | |||
| a Session Initialization Message contains one or more Extension | if a Session Initialization Message contains one or more Extension | |||
| Supported Data Items announcing support for extensions that the | Supported Data Items announcing support for extensions that the | |||
| implementation does not recognize, then the implementation MAY ignore | implementation does not recognize, then the implementation MAY ignore | |||
| Data Items it does not recognize. | Data Items it does not recognize. | |||
| 9.6. Session Initialization Response Message | 10.6. Session Initialization Response Message | |||
| A Session Initialization Response Message MUST be sent in response to | A Session Initialization Response Message MUST be sent in response to | |||
| a received Session Initialization Message (Section 9.5). | a received Session Initialization Message (Section 10.5). | |||
| To construct a Session Initialization Response Message, the Message | To construct a Session Initialization Response Message, the Message | |||
| Type value in the Message Header is set to 2, from Table 2. | Type value in the Message Header is set to 2 (see Message Type | |||
| Registration (Section 13.3)). | ||||
| The Session Initialization Response Message MUST contain one of each | The Session Initialization Response Message MUST contain one of each | |||
| of the following Data Items: | of the following Data Items: | |||
| o Status (Section 10.1) | o Status (Section 11.1) | |||
| o Heartbeat Interval (Section 10.5) | o Heartbeat Interval (Section 11.5) | |||
| o Maximum Data Rate (Receive) (Section 10.12) | o Maximum Data Rate (Receive) (Section 11.12) | |||
| o Maximum Data Rate (Transmit) (Section 10.13) | ||||
| o Current Data Rate (Receive) (Section 10.14) | o Maximum Data Rate (Transmit) (Section 11.13) | |||
| o Current Data Rate (Transmit) (Section 10.15) | o Current Data Rate (Receive) (Section 11.14) | |||
| o Latency (Section 10.16) | o Current Data Rate (Transmit) (Section 11.15) | |||
| o Latency (Section 11.16) | ||||
| The Session Initialization Response Message MUST contain one of each | The Session Initialization Response Message MUST contain one of each | |||
| of the following Data Items, if the Data Item will be used during the | of the following Data Items, if the Data Item will be used during the | |||
| lifetime of the session: | lifetime of the session: | |||
| o Resources (Section 10.17) | o Resources (Section 11.17) | |||
| o Relative Link Quality (Receive) (Section 10.18) | ||||
| o Relative Link Quality (Transmit) (Section 10.19) | o Relative Link Quality (Receive) (Section 11.18) | |||
| o Maximum Transmission Unit (MTU) (Section 10.20) | o Relative Link Quality (Transmit) (Section 11.19) | |||
| o Maximum Transmission Unit (MTU) (Section 11.20) | ||||
| The Session Initialization Response Message MAY contain one of each | The Session Initialization Response Message MAY contain one of each | |||
| of the following Data Items: | of the following Data Items: | |||
| o Peer Type (Section 10.4) | o Peer Type (Section 11.4) | |||
| o Extensions Supported (Section 10.6) | o Extensions Supported (Section 11.6) | |||
| The Session Initialization Response Message completes the DLEP | The Session Initialization Response Message completes the DLEP | |||
| session establishment; the modem should transition to the In-Session | session establishment; the modem should transition to the In-Session | |||
| state when the Message is sent, and the router should transition to | state when the Message is sent, and the router should transition to | |||
| the In-Session state upon receipt of an acceptable Session | the In-Session state upon receipt of an acceptable Session | |||
| Initialization Response Message. | Initialization Response Message. | |||
| All supported metric Data Items MUST be included in the Session | All supported metric Data Items MUST be included in the Session | |||
| Initialization Response Message, with default values to be used on a | Initialization Response Message, with default values to be used on a | |||
| session-wide basis. This can be viewed as the modem 'declaring' all | session-wide basis. This can be viewed as the modem 'declaring' all | |||
| skipping to change at page 25, line 8 ¶ | skipping to change at page 23, line 35 ¶ | |||
| If any optional extensions are supported by the modem, they MUST be | If any optional extensions are supported by the modem, they MUST be | |||
| enumerated in the Extensions Supported Data Item. If an Extensions | enumerated in the Extensions Supported Data Item. If an Extensions | |||
| Supported Data Item does not exist in a Session Initialization | Supported Data Item does not exist in a Session Initialization | |||
| Response Message, the router MUST conclude that there is no support | Response Message, the router MUST conclude that there is no support | |||
| for extensions in the modem. | for extensions in the modem. | |||
| After the Session Initialization/Session Initialization Response | After the Session Initialization/Session Initialization Response | |||
| Messages have been successfully exchanged, implementations MUST only | Messages have been successfully exchanged, implementations MUST only | |||
| use extensions that are supported by both DLEP participants, see | use extensions that are supported by both DLEP participants, see | |||
| Section 4.2. | Section 5.2. | |||
| 9.7. Session Update Message | 10.7. Session Update Message | |||
| A Session Update Message MAY be sent by a DLEP participant to | A Session Update Message MAY be sent by a DLEP participant to | |||
| indicate local Layer 3 address changes, or metric changes on a | indicate local Layer 3 address changes, or metric changes on a | |||
| session-wide basis. | session-wide basis. | |||
| To construct a Session Update Message, the Message Type value in the | To construct a Session Update Message, the Message Type value in the | |||
| Message Header is set to 3, from Table 2. | Message Header is set to 3 (see Message Type Registration | |||
| (Section 13.3)). | ||||
| The Session Update Message MAY contain one of each of the following | The Session Update Message MAY contain one of each of the following | |||
| Data Items: | Data Items: | |||
| o Maximum Data Rate (Receive) (Section 10.12) | o Maximum Data Rate (Receive) (Section 11.12) | |||
| o Maximum Data Rate (Transmit) (Section 11.13) | ||||
| o Maximum Data Rate (Transmit) (Section 10.13) | ||||
| o Current Data Rate (Receive) (Section 10.14) | o Current Data Rate (Receive) (Section 11.14) | |||
| o Current Data Rate (Transmit) (Section 10.15) | o Current Data Rate (Transmit) (Section 11.15) | |||
| o Latency (Section 10.16) | o Latency (Section 11.16) | |||
| The Session Update Message MAY contain one of each of the following | The Session Update Message MAY contain one of each of the following | |||
| Data Items, if the Data Item is in use by the session: | Data Items, if the Data Item is in use by the session: | |||
| o Resources (Section 10.17) | o Resources (Section 11.17) | |||
| o Relative Link Quality (Receive) (Section 10.18) | o Relative Link Quality (Receive) (Section 11.18) | |||
| o Relative Link Quality (Transmit) (Section 10.19) | o Relative Link Quality (Transmit) (Section 11.19) | |||
| o Maximum Transmission Unit (MTU) (Section 10.20) | o Maximum Transmission Unit (MTU) (Section 11.20) | |||
| The Session Update Message MAY contain one or more of each of the | The Session Update Message MAY contain one or more of each of the | |||
| following Data Items, with different values: | following Data Items, with different values: | |||
| o IPv4 Address (Section 10.8) | o IPv4 Address (Section 11.8) | |||
| o IPv6 Address (Section 10.9) | o IPv6 Address (Section 11.9) | |||
| If metrics are supplied with the Session Update Message (e.g., | If metrics are supplied with the Session Update Message (e.g., | |||
| Maximum Data Rate), these metrics are considered to be session-wide, | Maximum Data Rate), these metrics are considered to be session-wide, | |||
| and therefore MUST be applied to all destinations in the information | and therefore MUST be applied to all destinations in the information | |||
| base associated with the DLEP session. This includes destinations | base associated with the DLEP session. This includes destinations | |||
| for which metrics may have been stored based on received Destination | for which metrics may have been stored based on received Destination | |||
| Update messages. | Update messages. | |||
| It should be noted that Session Update Messages can be sent by both | It should be noted that Session Update Messages can be sent by both | |||
| routers and modems. For example, addition of an IPv4 address to the | routers and modems. For example, addition of an IPv4 address to the | |||
| router MAY prompt a Session Update Message to its attached modems. | router MAY prompt a Session Update Message to its attached modems. | |||
| Also, for example, a modem that changes its Maximum Data Rate | Also, for example, a modem that changes its Maximum Data Rate | |||
| (Receive) for all destinations MAY reflect that change via a Session | (Receive) for all destinations MAY reflect that change via a Session | |||
| Update Message to its attached router(s). | Update Message to its attached router(s). | |||
| Concerning Layer 3 addresses: If the modem is capable of | Concerning Layer 3 addresses: If the modem is capable of | |||
| understanding and forwarding this information (via proprietary | understanding and forwarding this information (via proprietary | |||
| mechanisms), the address update would prompt any remote DLEP modems | mechanisms), the address update would prompt any remote DLEP modems | |||
| (DLEP-enabled modems in a remote node) to issue a Destination Update | (DLEP-enabled modems in a remote node) to issue a Destination Update | |||
| Message (Section 9.17) to their local routers with the new (or | Message (Section 10.17) to their local routers with the new (or | |||
| deleted) addresses. Modems that do not track Layer 3 addresses | deleted) addresses. Modems that do not track Layer 3 addresses | |||
| SHOULD silently ignore Address Data Items. | SHOULD silently ignore Address Data Items. | |||
| 9.8. Session Update Response Message | 10.8. Session Update Response Message | |||
| A Session Update Response Message MUST be sent by a DLEP participant | A Session Update Response Message MUST be sent by a DLEP participant | |||
| when a Session Update Message (Section 9.7) is received. | when a Session Update Message (Section 10.7) is received. | |||
| To construct a Session Update Response Message, the Message Type | To construct a Session Update Response Message, the Message Type | |||
| value in the Message Header is set to 4, from Table 2. | value in the Message Header is set to 4 (see Message Type | |||
| Registration (Section 13.3)). | ||||
| The Session Update Response Message MUST contain a Status Data Item | The Session Update Response Message MUST contain a Status Data Item | |||
| (Section 10.1). | (Section 11.1). | |||
| 9.9. Session Termination Message | 10.9. Session Termination Message | |||
| A Session Termination Message MUST be sent by a DLEP participant when | A Session Termination Message MUST be sent by a DLEP participant when | |||
| the DLEP session needs to be terminated. | the DLEP session needs to be terminated. | |||
| To construct a Session Termination Message, the Message Type value in | To construct a Session Termination Message, the Message Type value in | |||
| the Message Header is set to 5, from Table 2. | the Message Header is set to 5 (see Message Type Registration | |||
| (Section 13.3)). | ||||
| The Session Termination Message MUST contain Status Data Item | The Session Termination Message MUST contain Status Data Item | |||
| (Section 10.1). | (Section 11.1). | |||
| It should be noted that Session Termination Messages can be sent by | It should be noted that Session Termination Messages can be sent by | |||
| both routers and modems. | both routers and modems. | |||
| 9.10. Session Termination Response Message | 10.10. Session Termination Response Message | |||
| A Session Termination Response Message MUST be sent by a DLEP | A Session Termination Response Message MUST be sent by a DLEP | |||
| participant when a Session Termination Message (Section 9.9) is | participant when a Session Termination Message (Section 10.9) is | |||
| received. | received. | |||
| To construct a Session Termination Response Message, the Message Type | To construct a Session Termination Response Message, the Message Type | |||
| value in the Message Header is set to 6, from Table 2. | value in the Message Header is set to 6 (see Message Type | |||
| Registration (Section 13.3)). | ||||
| There are no valid Data Items for the Session Termination Response | There are no valid Data Items for the Session Termination Response | |||
| Message. | Message. | |||
| Receipt of a Session Termination Response Message completes the tear- | Receipt of a Session Termination Response Message completes the tear- | |||
| down of the DLEP session, see Section 4.4. | down of the DLEP session, see Section 5.4. | |||
| 9.11. Destination Up Message | 10.11. Destination Up Message | |||
| Destination Up Messages MAY be sent by a modem to inform its attached | Destination Up Messages MAY be sent by a modem to inform its attached | |||
| router of the presence of a new reachable destination. | router of the presence of a new reachable destination. | |||
| To construct a Destination Up Message, the Message Type value in the | To construct a Destination Up Message, the Message Type value in the | |||
| Message Header is set to 7, from Table 2. | Message Header is set to 7 (see Message Type Registration | |||
| (Section 13.3)). | ||||
| The Destination Up Message MUST contain a MAC Address Data Item | The Destination Up Message MUST contain a MAC Address Data Item | |||
| (Section 10.7). | (Section 11.7). | |||
| The Destination Up Message SHOULD contain one or more of each of the | The Destination Up Message SHOULD contain one or more of each of the | |||
| following Data Items, with different values: | following Data Items, with different values: | |||
| o IPv4 Address (Section 10.8) | o IPv4 Address (Section 11.8) | |||
| o IPv6 Address (Section 10.9) | o IPv6 Address (Section 11.9) | |||
| The Destination Up Message MAY contain one of each of the following | The Destination Up Message MAY contain one of each of the following | |||
| Data Items: | Data Items: | |||
| o Maximum Data Rate (Receive) (Section 10.12) | o Maximum Data Rate (Receive) (Section 11.12) | |||
| o Maximum Data Rate (Transmit) (Section 10.13) | o Maximum Data Rate (Transmit) (Section 11.13) | |||
| o Current Data Rate (Receive) (Section 10.14) | o Current Data Rate (Receive) (Section 11.14) | |||
| o Current Data Rate (Transmit) (Section 10.15) | o Current Data Rate (Transmit) (Section 11.15) | |||
| o Latency (Section 10.16) | o Latency (Section 11.16) | |||
| The Destination Up Message MAY contain one of each of the following | The Destination Up Message MAY contain one of each of the following | |||
| Data Items, if the Data Item is in use by the session: | Data Items, if the Data Item is in use by the session: | |||
| o Resources (Section 10.17) | o Resources (Section 11.17) | |||
| o Relative Link Quality (Receive) (Section 10.18) | o Relative Link Quality (Receive) (Section 11.18) | |||
| o Relative Link Quality (Transmit) (Section 10.19) | o Relative Link Quality (Transmit) (Section 11.19) | |||
| o Maximum Transmission Unit (MTU) (Section 10.20) | o Maximum Transmission Unit (MTU) (Section 11.20) | |||
| The Destination Up Message MAY contain one or more of each of the | The Destination Up Message MAY contain one or more of each of the | |||
| following Data Items, with different values: | following Data Items, with different values: | |||
| o IPv4 Attached Subnet (Section 10.10) | o IPv4 Attached Subnet (Section 11.10) | |||
| o IPv6 Attached Subnet (Section 11.11) | ||||
| o IPv6 Attached Subnet (Section 10.11) | ||||
| A router receiving a Destination Up Message allocates the necessary | A router receiving a Destination Up Message allocates the necessary | |||
| resources, creating an entry in the information base with the | resources, creating an entry in the information base with the | |||
| specifics (MAC Address, Latency, Data Rate, etc.) of the destination. | specifics (MAC Address, Latency, Data Rate, etc.) of the destination. | |||
| The information about this destination will persist in the router's | The information about this destination will persist in the router's | |||
| information base until a Destination Down Message (Section 9.15) is | information base until a Destination Down Message (Section 10.15) is | |||
| received, indicating that the modem has lost contact with the remote | received, indicating that the modem has lost contact with the remote | |||
| node, or the implementation transitions to the Session Termination | node, or the implementation transitions to the Session Termination | |||
| state. | state. | |||
| 9.12. Destination Up Response Message | 10.12. Destination Up Response Message | |||
| A router MUST send a Destination Up Response Message when a | A router MUST send a Destination Up Response Message when a | |||
| Destination Up Message (Section 9.11) is received. | Destination Up Message (Section 10.11) is received. | |||
| To construct a Destination Up Response Message, the Message Type | To construct a Destination Up Response Message, the Message Type | |||
| value in the Message Header is set to 8, from Table 2. | value in the Message Header is set to 8 (see Message Type | |||
| Registration (Section 13.3)). | ||||
| The Destination Up Response Message MUST contain one of each of the | The Destination Up Response Message MUST contain one of each of the | |||
| following Data Items: | following Data Items: | |||
| o MAC Address (Section 10.7) | o MAC Address (Section 11.7) | |||
| o Status (Section 10.1) | o Status (Section 11.1) | |||
| A router that wishes to receive further information concerning the | A router that wishes to receive further information concerning the | |||
| destination identified in the corresponding Destination Up Message | destination identified in the corresponding Destination Up Message | |||
| MUST set the status code of the included Status Data Item to 0 | MUST set the status code of the included Status Data Item to 0 | |||
| 'Success', see Table 4. | 'Success', see Table 2. | |||
| If the router has no interest in the destination identified in the | If the router has no interest in the destination identified in the | |||
| corresponding Destination Up Message, then it MAY set the status code | corresponding Destination Up Message, then it MAY set the status code | |||
| of the included Status Data Item to 1 'Not Interested'. | of the included Status Data Item to 1 'Not Interested'. | |||
| A modem receiving a Destination Up Response Message containing a | A modem receiving a Destination Up Response Message containing a | |||
| Status Data Item with status code of any value other than 0 'Success' | Status Data Item with status code of any value other than 0 'Success' | |||
| MUST NOT send further Destination messages about the destination, | MUST NOT send further Destination messages about the destination, | |||
| e.g. Destination Down (Section 9.15) or Destination Update | e.g. Destination Down (Section 10.15) or Destination Update | |||
| (Section 9.17) with the same MAC address. | (Section 10.17) with the same MAC address. | |||
| 9.13. Destination Announce Message | 10.13. Destination Announce Message | |||
| Usually a modem will discover the presence of one or more remote | Usually a modem will discover the presence of one or more remote | |||
| router/modem pairs and announce each destination's arrival by sending | router/modem pairs and announce each destination's arrival by sending | |||
| a corresponding Destination Up Message (Section 9.11) to the router. | a corresponding Destination Up Message (Section 10.11) to the router. | |||
| However, there may be times when a router wishes to express an | However, there may be times when a router wishes to express an | |||
| interest in a destination that has yet to be announced, typically a | interest in a destination that has yet to be announced, typically a | |||
| multicast destination. Destination Announce Messages MAY be sent by | multicast destination. Destination Announce Messages MAY be sent by | |||
| a router to announce such an interest. | a router to announce such an interest. | |||
| A Destination Announce Message MAY also be sent by a router to | A Destination Announce Message MAY also be sent by a router to | |||
| request information concerning a destination in which it has | request information concerning a destination in which it has | |||
| previously declined interest, via the 1 'Not Interested' status code | previously declined interest, via the 1 'Not Interested' status code | |||
| in a Destination Up Response Message (Section 9.12), see Table 4, or | in a Destination Up Response Message (Section 10.12), see Table 2, or | |||
| declared as 'down', via the Destination Down Message (Section 9.15). | declared as 'down', via the Destination Down Message (Section 10.15). | |||
| To construct a Destination Announce Message, the Message Type value | To construct a Destination Announce Message, the Message Type value | |||
| in the Message Header is set to 9, from Table 2. | in the Message Header is set to 9 (see Message Type Registration | |||
| (Section 13.3)). | ||||
| The Destination Announce Message MUST contain a MAC Address Data Item | The Destination Announce Message MUST contain a MAC Address Data Item | |||
| (Section 10.7). | (Section 11.7). | |||
| The Destination Announce Message MAY contain zero or more of the | The Destination Announce Message MAY contain zero or more of the | |||
| following Data Items, with different values: | following Data Items, with different values: | |||
| o IPv4 Address (Section 10.8) | o IPv4 Address (Section 11.8) | |||
| o IPv6 Address (Section 10.9) | o IPv6 Address (Section 11.9) | |||
| One of the advantages of implementing DLEP is to leverage the modem's | One of the advantages of implementing DLEP is to leverage the modem's | |||
| knowledge of the links between remote destinations allowing routers | knowledge of the links between remote destinations allowing routers | |||
| to avoid using probed neighbor discovery techniques, therefore modem | to avoid using probed neighbor discovery techniques, therefore modem | |||
| implementations SHOULD announce available destinations via the | implementations SHOULD announce available destinations via the | |||
| Destination Up Message, rather than relying on Destination Announce | Destination Up Message, rather than relying on Destination Announce | |||
| Messages. | Messages. | |||
| 9.14. Destination Announce Response Message | 10.14. Destination Announce Response Message | |||
| A modem MUST send a Destination Announce Response Message when a | A modem MUST send a Destination Announce Response Message when a | |||
| Destination Announce Message (Section 9.13) is received. | Destination Announce Message (Section 10.13) is received. | |||
| To construct a Destination Announce Response Message, the Message | To construct a Destination Announce Response Message, the Message | |||
| Type value in the Message Header is set to 10, from Table 2. | Type value in the Message Header is set to 10 (see Message Type | |||
| Registration (Section 13.3)). | ||||
| The Destination Announce Response Message MUST contain one of each of | The Destination Announce Response Message MUST contain one of each of | |||
| the following Data Items: | the following Data Items: | |||
| o MAC Address (Section 10.7) | o MAC Address (Section 11.7) | |||
| o Status (Section 10.1) | o Status (Section 11.1) | |||
| The Destination Announce Response Message MAY contain one or more of | ||||
| each of the following Data Items, with different values: | ||||
| o IPv4 Address (Section 11.8) | ||||
| o IPv6 Address (Section 11.9) | ||||
| o IPv4 Attached Subnet (Section 11.10) | ||||
| o IPv6 Attached Subnet (Section 11.11) | ||||
| The Destination Announce Response Message MAY contain one of each of | The Destination Announce Response Message MAY contain one of each of | |||
| the following Data Items: | the following Data Items: | |||
| o Maximum Data Rate (Receive) (Section 10.12) | o Maximum Data Rate (Receive) (Section 11.12) | |||
| o Maximum Data Rate (Transmit) (Section 10.13) | o Maximum Data Rate (Transmit) (Section 11.13) | |||
| o Current Data Rate (Receive) (Section 10.14) | o Current Data Rate (Receive) (Section 11.14) | |||
| o Current Data Rate (Transmit) (Section 10.15) | o Current Data Rate (Transmit) (Section 11.15) | |||
| o Latency (Section 10.16) | o Latency (Section 11.16) | |||
| The Destination Announce Response Message MAY contain one of each of | The Destination Announce Response Message MAY contain one of each of | |||
| the following Data Items, if the Data Item is in use by the session: | the following Data Items, if the Data Item is in use by the session: | |||
| o Resources (Section 10.17) | o Resources (Section 11.17) | |||
| o Relative Link Quality (Receive) (Section 10.18) | o Relative Link Quality (Receive) (Section 11.18) | |||
| o Relative Link Quality (Transmit) (Section 10.19) | o Relative Link Quality (Transmit) (Section 11.19) | |||
| o Maximum Transmission Unit (MTU) (Section 10.20) | o Maximum Transmission Unit (MTU) (Section 11.20) | |||
| If a modem is unable to report information immediately about the | If a modem is unable to report information immediately about the | |||
| requested information, if the destination is not currently reachable, | requested information, if the destination is not currently reachable, | |||
| for example, the status code in the Status Data Item MUST be set to 2 | for example, the status code in the Status Data Item MUST be set to 2 | |||
| 'Request Denied', see Table 4. | 'Request Denied', see Table 2. | |||
| After sending a Destination Announce Response Message containing a | After sending a Destination Announce Response Message containing a | |||
| Status Data Item with status code of 0 'Success', a modem then | Status Data Item with status code of 0 'Success', a modem then | |||
| announces changes to the link to the destination via Destination | announces changes to the link to the destination via Destination | |||
| Update Messages. | Update Messages. | |||
| When a successful Destination Announce Response Message is received, | When a successful Destination Announce Response Message is received, | |||
| the router should add knowledge of the available destination to its | the router should add knowledge of the available destination to its | |||
| information base. | information base. | |||
| 9.15. Destination Down Message | 10.15. Destination Down Message | |||
| A modem MUST send a Destination Down Message to report when a | A modem MUST send a Destination Down Message to report when a | |||
| destination (a remote node or a multicast group) is no longer | destination (a remote node or a multicast group) is no longer | |||
| reachable. | reachable. | |||
| A router MAY send a Destination Down Message to report when it no | A router MAY send a Destination Down Message to report when it no | |||
| longer requires information concerning a destination. | longer requires information concerning a destination. | |||
| To construct a Destination Down Message, the Message Type value in | To construct a Destination Down Message, the Message Type value in | |||
| the Message Header is set to 11, from Table 2. | the Message Header is set to 11 (see Message Type Registration | |||
| (Section 13.3)). | ||||
| The Destination Down Message MUST contain a MAC Address Data Item | The Destination Down Message MUST contain a MAC Address Data Item | |||
| (Section 10.7). | (Section 11.7). | |||
| It should be noted that both modem and router may send a Destination | It should be noted that both modem and router may send a Destination | |||
| Down Message to their peer, regardless of which participant initially | Down Message to their peer, regardless of which participant initially | |||
| indicated the destination to be 'up'. | indicated the destination to be 'up'. | |||
| 9.16. Destination Down Response Message | 10.16. Destination Down Response Message | |||
| A Destination Down Response MUST be sent by the recipient of a | A Destination Down Response MUST be sent by the recipient of a | |||
| Destination Down Message (Section 9.15) to confirm that the relevant | Destination Down Message (Section 10.15) to confirm that the relevant | |||
| data concerning the destination has been removed from the information | data concerning the destination has been removed from the information | |||
| base. | base. | |||
| To construct a Destination Down Response Message, the Message Type | To construct a Destination Down Response Message, the Message Type | |||
| value in the Message Header is set to 12, from Table 2. | value in the Message Header is set to 12 (see Message Type | |||
| Registration (Section 13.3)). | ||||
| The Destination Down Response Message MUST contain one of each of the | The Destination Down Response Message MUST contain one of each of the | |||
| following Data Items: | following Data Items: | |||
| o MAC Address (Section 10.7) | o MAC Address (Section 11.7) | |||
| o Status (Section 10.1) | o Status (Section 11.1) | |||
| 9.17. Destination Update Message | 10.17. Destination Update Message | |||
| A modem SHOULD send the Destination Update Message when it detects | A modem SHOULD send the Destination Update Message when it detects | |||
| some change in the information base for a given destination (remote | some change in the information base for a given destination (remote | |||
| node or multicast group). Some examples of changes that would prompt | node or multicast group). Some examples of changes that would prompt | |||
| a Destination Update Message are: | a Destination Update Message are: | |||
| o Change in link metrics (e.g., Data Rates) | o Change in link metrics (e.g., Data Rates) | |||
| o Layer 3 addressing change | o Layer 3 addressing change | |||
| To construct a Destination Update Message, the Message Type value in | To construct a Destination Update Message, the Message Type value in | |||
| the Message Header is set to 13, from Table 2. | the Message Header is set to 13 (see Message Type Registration | |||
| (Section 13.3)). | ||||
| The Destination Update Message MUST contain a MAC Address Data Item | The Destination Update Message MUST contain a MAC Address Data Item | |||
| (Section 10.7). | (Section 11.7). | |||
| The Destination Update Message MAY contain one of each of the | The Destination Update Message MAY contain one of each of the | |||
| following Data Items: | following Data Items: | |||
| o Maximum Data Rate (Receive) (Section 10.12) | o Maximum Data Rate (Receive) (Section 11.12) | |||
| o Maximum Data Rate (Transmit) (Section 10.13) | o Maximum Data Rate (Transmit) (Section 11.13) | |||
| o Current Data Rate (Receive) (Section 10.14) | o Current Data Rate (Receive) (Section 11.14) | |||
| o Current Data Rate (Transmit) (Section 10.15) | o Current Data Rate (Transmit) (Section 11.15) | |||
| o Latency (Section 10.16) | o Latency (Section 11.16) | |||
| The Destination Update Message MAY contain one of each of the | The Destination Update Message MAY contain one of each of the | |||
| following Data Items, if the Data Item is in use by the session: | following Data Items, if the Data Item is in use by the session: | |||
| o Resources (Section 10.17) | o Resources (Section 11.17) | |||
| o Relative Link Quality (Receive) (Section 10.18) | o Relative Link Quality (Receive) (Section 11.18) | |||
| o Relative Link Quality (Transmit) (Section 10.19) | o Relative Link Quality (Transmit) (Section 11.19) | |||
| o Maximum Transmission Unit (MTU) (Section 10.20) | o Maximum Transmission Unit (MTU) (Section 11.20) | |||
| The Destination Update Message MAY contain one or more of each of the | The Destination Update Message MAY contain one or more of each of the | |||
| following Data Items, with different values: | following Data Items, with different values: | |||
| o IPv4 Address (Section 10.8) | o IPv4 Address (Section 11.8) | |||
| o IPv6 Address (Section 10.9) | o IPv6 Address (Section 11.9) | |||
| o IPv4 Attached Subnet (Section 10.10) | o IPv4 Attached Subnet (Section 11.10) | |||
| o IPv6 Attached Subnet (Section 10.11) | o IPv6 Attached Subnet (Section 11.11) | |||
| If metrics are supplied with the Message (e.g., Resources), these | If metrics are supplied with the Message (e.g., Resources), these | |||
| metrics are MUST be applied to all destinations identified in the | metrics are MUST be applied to all destinations identified in the | |||
| Message. Note that this may overwrite metrics provided in a | Message. Note that this may overwrite metrics provided in a | |||
| previously received Session or Destination Up Messages. | previously received Session or Destination Up Messages. | |||
| It should be noted that this Message has no corresponding response. | It should be noted that this Message has no corresponding response. | |||
| 9.18. Link Characteristics Request Message | 10.18. Link Characteristics Request Message | |||
| The Link Characteristics Request Message MAY be sent by a router to | The Link Characteristics Request Message MAY be sent by a router to | |||
| request that the modem initiate changes for specific characteristics | request that the modem initiate changes for specific characteristics | |||
| of the link. The request can reference either a real destination | of the link. The request can reference either a real destination | |||
| (e.g., a remote node), or a logical destination (e.g., a multicast | (e.g., a remote node), or a logical destination (e.g., a multicast | |||
| group) within the network. | group) within the network. | |||
| To construct a Link Characteristics Request Message, the Message Type | To construct a Link Characteristics Request Message, the Message Type | |||
| value in the Message Header is set to 14, from Table 2. | value in the Message Header is set to 14 (see Message Type | |||
| Registration (Section 13.3)). | ||||
| The Link Characteristics Request Message MUST contain one of the | The Link Characteristics Request Message MUST contain one of the | |||
| following Data Items: | following Data Items: | |||
| o MAC Address (Section 10.7) | o MAC Address (Section 11.7) | |||
| The Link Characteristics Request Message MUST contain at least one of | The Link Characteristics Request Message MUST contain at least one of | |||
| each of the following Data Items: | each of the following Data Items: | |||
| o Current Data Rate (Receive) (Section 10.14) | o Current Data Rate (Receive) (Section 11.14) | |||
| o Current Data Rate (Transmit) (Section 10.15) | o Current Data Rate (Transmit) (Section 11.15) | |||
| o Latency (Section 10.16) | o Latency (Section 11.16) | |||
| The Link Characteristics Request Message MAY contain either a Current | The Link Characteristics Request Message MAY contain either a Current | |||
| Data Rate (CDRR or CDRT) Data Item to request a different datarate | Data Rate (CDRR or CDRT) Data Item to request a different datarate | |||
| than is currently allocated, a Latency Data Item to request that | than is currently allocated, a Latency Data Item to request that | |||
| traffic delay on the link not exceed the specified value, or both. | traffic delay on the link not exceed the specified value, or both. | |||
| The router sending a Link Characteristics Request Message should be | The router sending a Link Characteristics Request Message should be | |||
| aware that a request may take an extended period of time to complete. | aware that a request may take an extended period of time to complete. | |||
| 9.19. Link Characteristics Response Message | 10.19. Link Characteristics Response Message | |||
| A modem MUST send a Link Characteristics Response Message when a Link | A modem MUST send a Link Characteristics Response Message when a Link | |||
| Characteristics Request Message (Section 9.18) is received. | Characteristics Request Message (Section 10.18) is received. | |||
| To construct a Link Characteristics Response Message, the Message | To construct a Link Characteristics Response Message, the Message | |||
| Type value in the Message Header is set to 15, from Table 2. | Type value in the Message Header is set to 15 (see Message Type | |||
| Registration (Section 13.3)). | ||||
| The Link Characteristics Response Message MUST contain one of each of | The Link Characteristics Response Message MUST contain one of each of | |||
| the following Data Items: | the following Data Items: | |||
| o MAC Address (Section 10.7) | o MAC Address (Section 11.7) | |||
| o Status (Section 11.1) | ||||
| o Status (Section 10.1) | ||||
| The Link Characteristics Response Message SHOULD contain one of each | The Link Characteristics Response Message SHOULD contain one of each | |||
| of the following Data Items: | of the following Data Items: | |||
| o Maximum Data Rate (Receive) (Section 10.12) | o Maximum Data Rate (Receive) (Section 11.12) | |||
| o Maximum Data Rate (Transmit) (Section 10.13) | o Maximum Data Rate (Transmit) (Section 11.13) | |||
| o Current Data Rate (Receive) (Section 10.14) | o Current Data Rate (Receive) (Section 11.14) | |||
| o Current Data Rate (Transmit) (Section 10.15) | o Current Data Rate (Transmit) (Section 11.15) | |||
| o Latency (Section 10.16) | o Latency (Section 11.16) | |||
| The Link Characteristics Response Message MAY contain one of each of | The Link Characteristics Response Message MAY contain one of each of | |||
| the following Data Items, if the Data Item is in use by the session: | the following Data Items, if the Data Item is in use by the session: | |||
| o Resources (Section 10.17) | o Resources (Section 11.17) | |||
| o Relative Link Quality (Receive) (Section 10.18) | o Relative Link Quality (Receive) (Section 11.18) | |||
| o Relative Link Quality (Transmit) (Section 10.19) | o Relative Link Quality (Transmit) (Section 11.19) | |||
| o Maximum Transmission Unit (MTU) (Section 10.20) | o Maximum Transmission Unit (MTU) (Section 11.20) | |||
| The Link Characteristics Response Message MUST contain a complete set | The Link Characteristics Response Message MUST contain a complete set | |||
| of metric Data Items, referencing all metrics declared in the Session | of metric Data Items, referencing all metrics declared in the Session | |||
| Initialization Response Message (Section 9.6). The values in the | Initialization Response Message (Section 10.6). The values in the | |||
| metric Data Items in the Link Characteristics Response Message MUST | metric Data Items in the Link Characteristics Response Message MUST | |||
| reflect the link characteristics after the request has been | reflect the link characteristics after the request has been | |||
| processed. | processed. | |||
| If an implementation is not able to alter the characteristics of the | If an implementation is not able to alter the characteristics of the | |||
| link in the manner requested, then the status code of the Status Data | link in the manner requested, then the status code of the Status Data | |||
| Item MUST be set to 2 'Request Denied', see Table 4. | Item MUST be set to 2 'Request Denied', see Table 2. | |||
| 9.20. Heartbeat Message | 10.20. Heartbeat Message | |||
| A Heartbeat Message MUST be sent by a DLEP participant every N | A Heartbeat Message MUST be sent by a DLEP participant every N | |||
| milliseconds, where N is defined in the Heartbeat Interval Data Item | milliseconds, where N is defined in the Heartbeat Interval Data Item | |||
| (Section 10.5) of the Session Initialization Message (Section 9.5) or | (Section 11.5) of the Session Initialization Message (Section 10.5) | |||
| Session Initialization Response Message (Section 9.6). | or Session Initialization Response Message (Section 10.6). | |||
| To construct a Heartbeat Message, the Message Type value in the | To construct a Heartbeat Message, the Message Type value in the | |||
| Message Header is set to 16, from Table 2. | Message Header is set to 16 (see Message Type Registration | |||
| (Section 13.3)). | ||||
| There are no valid Data Items for the Heartbeat Message. | There are no valid Data Items for the Heartbeat Message. | |||
| The Message is used by DLEP participants to detect when a DLEP | The Message is used by DLEP participants to detect when a DLEP | |||
| session peer (either the modem or the router) is no longer | session peer (either the modem or the router) is no longer | |||
| communicating, see Section 4.3.1. | communicating, see Section 5.3.1. | |||
| 10. DLEP Data Items | 11. DLEP Data Items | |||
| Following is the list of core Data Items that MUST be recognized by a | Following is the list of core Data Items that MUST be recognized by a | |||
| DLEP compliant implementation. As mentioned before, not all Data | DLEP compliant implementation. As mentioned before, not all Data | |||
| Items need be used during a session, but an implementation MUST | Items need be used during a session, but an implementation MUST | |||
| correctly process these Data Items when correctly associated with a | correctly process these Data Items when correctly associated with a | |||
| Signal or Message. | Signal or Message. | |||
| The core DLEP Data Items are: | The core DLEP Data Items are: | |||
| +-------------+-----------------------------------------------------+ | +--------------------+----------------------------------------------+ | |||
| | Type Code | Description | | | Type Code | Description | | |||
| +-------------+-----------------------------------------------------+ | +--------------------+----------------------------------------------+ | |||
| | 0 | Reserved | | | 0 | Reserved | | |||
| | 1 | Status (Section 10.1) | | | 1 | Status (Section 11.1) | | |||
| | 2 | IPv4 Connection Point (Section 10.2) | | | 2 | IPv4 Connection Point (Section 11.2) | | |||
| | 3 | IPv6 Connection Point (Section 10.3) | | | 3 | IPv6 Connection Point (Section 11.3) | | |||
| | 4 | Peer Type (Section 10.4) | | | 4 | Peer Type (Section 11.4) | | |||
| | 5 | Heartbeat Interval (Section 10.5) | | | 5 | Heartbeat Interval (Section 11.5) | | |||
| | 6 | Extensions Supported (Section 10.6) | | | 6 | Extensions Supported (Section 11.6) | | |||
| | 7 | MAC Address (Section 10.7) | | | 7 | MAC Address (Section 11.7) | | |||
| | 8 | IPv4 Address (Section 10.8) | | | 8 | IPv4 Address (Section 11.8) | | |||
| | 9 | IPv6 Address (Section 10.9) | | | 9 | IPv6 Address (Section 11.9) | | |||
| | 10 | IPv4 Attached Subnet (Section 10.10) | | | 10 | IPv4 Attached Subnet (Section 11.10) | | |||
| | 11 | IPv6 Attached Subnet (Section 10.11) | | | 11 | IPv6 Attached Subnet (Section 11.11) | | |||
| | 12 | Maximum Data Rate (Receive) (MDRR) (Section 10.12) | | | 12 | Maximum Data Rate (Receive) (MDRR) (Section | | |||
| | 13 | Maximum Data Rate (Transmit) (MDRT) (Section 10.13) | | | | 11.12) | | |||
| | 14 | Current Data Rate (Receive) (CDRR) (Section 10.14) | | | 13 | Maximum Data Rate (Transmit) (MDRT) (Section | | |||
| | 15 | Current Data Rate (Transmit) (CDRT) (Section 10.15) | | | | 11.13) | | |||
| | 16 | Latency (Section 10.16) | | | 14 | Current Data Rate (Receive) (CDRR) (Section | | |||
| | 17 | Resources (RES) (Section 10.17) | | | | 11.14) | | |||
| | 18 | Relative Link Quality (Receive) (RLQR) (Section | | | 15 | Current Data Rate (Transmit) (CDRT) (Section | | |||
| | | 10.18) | | | | 11.15) | | |||
| | 19 | Relative Link Quality (Transmit) (RLQT) (Section | | | 16 | Latency (Section 11.16) | | |||
| | | 10.19) | | | 17 | Resources (RES) (Section 11.17) | | |||
| | 20 | Maximum Transmission Unit (MTU) (Section 10.20) | | | 18 | Relative Link Quality (Receive) (RLQR) | | |||
| | 21-65407 | Reserved for future extensions | | | | (Section 11.18) | | |||
| | 65408-65534 | Private Use. Available for experiments | | | 19 | Relative Link Quality (Transmit) (RLQT) | | |||
| | 65535 | Reserved | | | | (Section 11.19) | | |||
| +-------------+-----------------------------------------------------+ | | 20 | Maximum Transmission Unit (MTU) (Section | | |||
| | | 11.20) | | ||||
| | 21-65407 | Reserved for future extensions | | ||||
| | 65408-65534 | Private Use. Available for experiments | | ||||
| | 65535 | Reserved | | ||||
| +--------------------+----------------------------------------------+ | ||||
| Table 3: DLEP Data Item types | Table 1: DLEP Data Item types | |||
| 10.1. Status | 11.1. Status | |||
| For the Session Termination Message (Section 9.9), the Status Data | For the Session Termination Message (Section 10.9), the Status Data | |||
| Item indicates a reason for the termination. For all response | Item indicates a reason for the termination. For all response | |||
| Messages, the Status Data Item is used to indicate the success or | Messages, the Status Data Item is used to indicate the success or | |||
| failure of the previously received Message. | failure of the previously received Message. | |||
| The Status Data Item includes an optional Text field that can be used | The Status Data Item includes an optional Text field that can be used | |||
| to provide a textual description of the status. The use of the Text | to provide a textual description of the status. The use of the Text | |||
| field is entirely up to the receiving implementation, e.g., it could | field is entirely up to the receiving implementation, e.g., it could | |||
| be output to a log file or discarded. If no Text field is supplied | be output to a log file or discarded. If no Text field is supplied | |||
| with the Status Data Item, the Length field MUST be set to 1. | with the Status Data Item, the Length field MUST be set to 1. | |||
| skipping to change at page 36, line 32 ¶ | skipping to change at page 35, line 37 ¶ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Data Item Type | Length | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Code | Text... : | | Code | Text... : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type: 1 | Data Item Type: 1 | |||
| Length: 1 + Length of text, in octets | Length: 1 + Length of text, in octets | |||
| Status Code: One of the codes defined in Table 4 below. | Status Code: One of the codes defined in Table 2 below. | |||
| Text: UTF-8 encoded string of UNICODE [UNIV8] characters, describing | Text: UTF-8 encoded string of UNICODE [UNIV8] characters, describing | |||
| the cause, used for implementation defined purposes. Since this | the cause, used for implementation defined purposes. Since this | |||
| field is used for description, implementations SHOULD limit | field is used for description, implementations SHOULD limit | |||
| characters in this field to printable characters. Implementations | characters in this field to printable characters. Implementations | |||
| receiving this Data Item SHOULD check for printable characters in | receiving this Data Item SHOULD check for printable characters in | |||
| the field. | the field. | |||
| An implementation MUST NOT assume the Text field is NUL-terminated. | An implementation MUST NOT assume the Text field is NUL-terminated. | |||
| +----------+-------------+------------------+-----------------------+ | +---------+-----------+---------------+-----------------------------+ | |||
| | Status | Failure | Description | Reason | | | Status | Failure | Description | Reason | | |||
| | Code | Mode | | | | | Code | Mode | | | | |||
| +----------+-------------+------------------+-----------------------+ | +---------+-----------+---------------+-----------------------------+ | |||
| | 0 | Continue | Success | The Message was | | | 0 | Continue | Success | The Message was processed | | |||
| | | | | processed | | | | | | successfully. | | |||
| | | | | successfully. | | | 1 | Continue | Not | The receiver is not | | |||
| | 1 | Continue | Not Interested | The receiver is not | | | | | Interested | interested in this Message | | |||
| | | | | interested in this | | | | | | subject, e.g. in a | | |||
| | | | | Message subject, e.g. | | | | | | Destination Up Response | | |||
| | | | | in a Destination Up | | | | | | Message (Section 10.12) to | | |||
| | | | | Response Message | | | | | | indicate no further | | |||
| | | | | (Section 9.12) to | | | | | | Messages about the | | |||
| | | | | indicate no further | | | | | | destination. | | |||
| | | | | Messages about the | | | 2 | Continue | Request | The receiver refuses to | | |||
| | | | | destination. | | | | | Denied | complete the request. | | |||
| | 2 | Continue | Request Denied | The receiver refuses | | | 3-111 | Continue | <Reserved> | Reserved for future | | |||
| | | | | to complete the | | | | | | extensions. | | |||
| | | | | request. | | | 112-127 | Continue | <Private Use> | Available for experiments. | | |||
| | 3-111 | Continue | <Reserved> | Reserved for future | | | 128 | Terminate | Unknown | The Message was not | | |||
| | | | | extensions. | | | | | Message | recognized by the | | |||
| | 112-127 | Continue | <Private Use> | Available for | | | | | | implementation. | | |||
| | | | | experiments. | | | 129 | Terminate | Unexpected | The Message was not | | |||
| | 128 | Terminate | Unknown Message | The Message was not | | | | | Message | expected while the device | | |||
| | | | | recognized by the | | | | | | was in the current state, | | |||
| | | | | implementation. | | | | | | e.g., a Session | | |||
| | 129 | Terminate | Unexpected | The Message was not | | | | | | Initialization Message | | |||
| | | | Message | expected while the | | | | | | (Section 10.5) in the In- | | |||
| | | | | device was in the | | | | | | Session state. | | |||
| | | | | current state, e.g., | | | 130 | Terminate | Invalid Data | One or more Data Items in | | |||
| | | | | a Session | | | | | | the Message are invalid, | | |||
| | | | | Initialization | | | | | | unexpected or incorrectly | | |||
| | | | | Message (Section 9.5) | | | | | | duplicated. | | |||
| | | | | in the In-Session | | | 131 | Terminate | Invalid | The destination included in | | |||
| | | | | state. | | | | | Destination | the Message does not match | | |||
| | 130 | Terminate | Invalid Data | One or more Data | | | | | | a previously announced | | |||
| | | | | Items in the Message | | | | | | destination. For example, | | |||
| | | | | are invalid, | | | | | | in the Link Characteristic | | |||
| | | | | unexpected or | | | | | | Response Message (Section | | |||
| | | | | incorrectly | | | | | | 10.19). | | |||
| | | | | duplicated. | | | 132 | Terminate | Timed Out | The session has timed out. | | |||
| | 131 | Terminate | Invalid | The destination | | | 133 | Terminate | Invalid TTL | Message received with a TTL | | |||
| | | | Destination | included in the | | | | | | other than 255. | | |||
| | | | | Message does not | | | 134-239 | Terminate | <Reserved> | Reserved for future | | |||
| | | | | match a previously | | | | | | extensions. | | |||
| | | | | announced | | | 240-254 | Terminate | <Private Use> | Available for experiments. | | |||
| | | | | destination. For | | | 255 | Terminate | <Reserved> | Reserved. | | |||
| | | | | example, in the Link | | +---------+-----------+---------------+-----------------------------+ | |||
| | | | | Characteristic | | ||||
| | | | | Response Message | | ||||
| | | | | (Section 9.19). | | ||||
| | 132 | Terminate | Timed Out | The session has timed | | ||||
| | | | | out. | | ||||
| | 133-239 | Terminate | <Reserved> | Reserved for future | | ||||
| | | | | extensions. | | ||||
| | 240-254 | Terminate | <Private Use> | Available for | | ||||
| | | | | experiments. | | ||||
| | 255 | Terminate | <Reserved> | Reserved. | | ||||
| +----------+-------------+------------------+-----------------------+ | ||||
| Table 4: DLEP Status Codes | Table 2: DLEP Status Codes | |||
| 10.2. IPv4 Connection Point | 11.2. IPv4 Connection Point | |||
| The IPv4 Connection Point Data Item indicates the IPv4 address and, | The IPv4 Connection Point Data Item indicates the IPv4 address and, | |||
| optionally, the TCP port number on the modem available for | optionally, the TCP port number on the modem available for | |||
| connections. If provided, the router MUST use this information to | connections. If provided, the router MUST use this information to | |||
| initiate the TCP connection to the modem. | initiate the TCP connection to the modem. | |||
| The IPv4 Connection Point Data Item contains the following fields: | The IPv4 Connection Point Data Item contains the following fields: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| skipping to change at page 38, line 40 ¶ | skipping to change at page 37, line 37 ¶ | |||
| Flags: Flags field, defined below. | Flags: Flags field, defined below. | |||
| IPv4 Address: The IPv4 address listening on the modem. | IPv4 Address: The IPv4 address listening on the modem. | |||
| TCP Port Number: TCP Port number on the modem. | TCP Port Number: TCP Port number on the modem. | |||
| If the Length field is 7, the port number specified MUST be used to | If the Length field is 7, the port number specified MUST be used to | |||
| establish the TCP session. If the TCP Port Number is omitted, i.e. | establish the TCP session. If the TCP Port Number is omitted, i.e. | |||
| the Length field is 5, the router MUST use the DLEP well-known port | the Length field is 5, the router MUST use the DLEP well-known port | |||
| number (Section 12.7) to establish the TCP connection. | number (Section 13.7) to establish the TCP connection. | |||
| The Flags field is defined as: | The Flags field is defined as: | |||
| 0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| | Reserved | | | Reserved | | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| Reserved: MUST be zero. Reserved for future use. | Reserved: MUST be zero. Reserved for future use. | |||
| 10.3. IPv6 Connection Point | 11.3. IPv6 Connection Point | |||
| The IPv6 Connection Point Data Item indicates the IPv6 address and, | The IPv6 Connection Point Data Item indicates the IPv6 address and, | |||
| optionally, the TCP port number on the modem available for | optionally, the TCP port number on the modem available for | |||
| connections. If provided, the router MUST use this information to | connections. If provided, the router MUST use this information to | |||
| initiate the TCP connection to the modem. | initiate the TCP connection to the modem. | |||
| The IPv6 Connection Point Data Item contains the following fields: | The IPv6 Connection Point Data Item contains the following fields: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| skipping to change at page 39, line 43 ¶ | skipping to change at page 38, line 40 ¶ | |||
| Flags: Flags field, defined below. | Flags: Flags field, defined below. | |||
| IPv6 Address: The IPv6 address listening on the modem. | IPv6 Address: The IPv6 address listening on the modem. | |||
| TCP Port Number: TCP Port number on the modem. | TCP Port Number: TCP Port number on the modem. | |||
| If the Length field is 19, the port number specified MUST be used to | If the Length field is 19, the port number specified MUST be used to | |||
| establish the TCP session. If the TCP Port Number is omitted, i.e. | establish the TCP session. If the TCP Port Number is omitted, i.e. | |||
| the Length field is 17, the router MUST use the DLEP well-known port | the Length field is 17, the router MUST use the DLEP well-known port | |||
| number (Section 12.7) to establish the TCP connection. | number (Section 13.7) to establish the TCP connection. | |||
| The Flags field is defined as: | The Flags field is defined as: | |||
| 0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| | Reserved | | | Reserved | | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| Reserved: MUST be zero. Reserved for future use. | Reserved: MUST be zero. Reserved for future use. | |||
| 10.4. Peer Type | 11.4. Peer Type | |||
| The Peer Type Data Item is used by the router and modem to give | The Peer Type Data Item is used by the router and modem to give | |||
| additional information as to its type. The Peer Type is a string and | additional information as to its type. The Peer Type is a string and | |||
| is envisioned to be used for informational purposes (e.g., as output | is envisioned to be used for informational purposes (e.g., as output | |||
| in a display command). | in a display command). | |||
| The Peer Type Data Item contains the following fields: | The Peer Type Data Item contains the following fields: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| skipping to change at page 40, line 37 ¶ | skipping to change at page 39, line 36 ¶ | |||
| Peer Type: UTF-8 encoded string of UNICODE [UNIV8] characters. For | Peer Type: UTF-8 encoded string of UNICODE [UNIV8] characters. For | |||
| example, a satellite modem might set this variable to "Satellite | example, a satellite modem might set this variable to "Satellite | |||
| terminal". Since this Data Item is intended to provide additional | terminal". Since this Data Item is intended to provide additional | |||
| information for display commands, sending implementations SHOULD | information for display commands, sending implementations SHOULD | |||
| limit the data to printable characters, and receiving | limit the data to printable characters, and receiving | |||
| implementations SHOULD check the data for printable characters. | implementations SHOULD check the data for printable characters. | |||
| An implementation MUST NOT assume the Peer Type field is NUL- | An implementation MUST NOT assume the Peer Type field is NUL- | |||
| terminated. | terminated. | |||
| 10.5. Heartbeat Interval | 11.5. Heartbeat Interval | |||
| The Heartbeat Interval Data Item is used to specify a period in | The Heartbeat Interval Data Item is used to specify a period in | |||
| milliseconds for Heartbeat Messages (Section 9.20). | milliseconds for Heartbeat Messages (Section 10.20). | |||
| The Heartbeat Interval Data Item contains the following fields: | The Heartbeat Interval Data Item contains the following fields: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Data Item Type | Length | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Heartbeat Interval | | | Heartbeat Interval | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type: 5 | ||||
| Data Item Type: 5 | ||||
| Length: 4 | Length: 4 | |||
| Heartbeat Interval: The interval in milliseconds, expressed as a | Heartbeat Interval: The interval in milliseconds, expressed as a | |||
| 32-bit unsigned integer, for Heartbeat Messages. This value MUST | 32-bit unsigned integer, for Heartbeat Messages. | |||
| NOT be 0. | This value MUST NOT be 0. | |||
| 10.6. Extensions Supported | 11.6. Extensions Supported | |||
| The Extensions Supported Data Item is used by the router and modem to | The Extensions Supported Data Item is used by the router and modem to | |||
| negotiate additional optional functionality they are willing to | negotiate additional optional functionality they are willing to | |||
| support. The Extensions List is a concatenation of the types of each | support. The Extensions List is a concatenation of the types of each | |||
| supported extension, found in the IANA DLEP Extensions repository. | supported extension, found in the IANA DLEP Extensions repository. | |||
| Each Extension Type definition includes which additional Signals and | Each Extension Type definition includes which additional Signals and | |||
| Data Items are supported. | Data Items are supported. | |||
| The Extensions Supported Data Item contains the following fields: | The Extensions Supported Data Item contains the following fields: | |||
| skipping to change at page 41, line 39 ¶ | skipping to change at page 40, line 37 ¶ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type: 6 | Data Item Type: 6 | |||
| Length: Length of the extensions list in octets. This is twice (2x) | Length: Length of the extensions list in octets. This is twice (2x) | |||
| the number of extensions. | the number of extensions. | |||
| Extension List: A list of extensions supported, identified by their | Extension List: A list of extensions supported, identified by their | |||
| 2-octet value as listed in the extensions registry. | 2-octet value as listed in the extensions registry. | |||
| 10.7. MAC Address | 11.7. MAC Address | |||
| The MAC Address Data Item contains the address of the destination on | The MAC Address Data Item contains the address of the destination on | |||
| the remote node. | the remote node. | |||
| DLEP can support MAC addresses in either EUI-48 or EUI-64 format, | DLEP can support MAC addresses in either EUI-48 or EUI-64 format, | |||
| with the restriction that all MAC addresses for a given DLEP session | with the restriction that all MAC addresses for a given DLEP session | |||
| MUST be in the same format, and MUST be consistent with the MAC | MUST be in the same format, and MUST be consistent with the MAC | |||
| address format of the connected modem (e.g., if the modem is | address format of the connected modem (e.g., if the modem is | |||
| connected to the router with an EUI-48 MAC, all destination addresses | connected to the router with an EUI-48 MAC, all destination addresses | |||
| via that modem MUST be expressed in EUI-48 format). | via that modem MUST be expressed in EUI-48 format). | |||
| skipping to change at page 42, line 26 ¶ | skipping to change at page 41, line 23 ¶ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| : MAC Address : (if EUI-64 used) | | : MAC Address : (if EUI-64 used) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type: 7 | Data Item Type: 7 | |||
| Length: 6 for EUI-48 format, or 8 for EUI-64 format | Length: 6 for EUI-48 format, or 8 for EUI-64 format | |||
| MAC Address: MAC Address of the destination. | MAC Address: MAC Address of the destination. | |||
| 10.8. IPv4 Address | 11.8. IPv4 Address | |||
| When included in Destination Messages, this Data Item contains the | When included in Destination Messages, this Data Item contains the | |||
| IPv4 address of the destination. When included in the Session Update | IPv4 address of the destination. When included in the Session Update | |||
| Message, this Data Item contains the IPv4 address of the peer. In | Message, this Data Item contains the IPv4 address of the peer. In | |||
| either case, the Data Item also contains an indication of whether | either case, the Data Item also contains an indication of whether | |||
| this is a new or existing address, or is a deletion of a previously | this is a new or existing address, or is a deletion of a previously | |||
| known address. | known address. | |||
| The IPv4 Address Data Item contains the following fields: | The IPv4 Address Data Item contains the following fields: | |||
| skipping to change at page 43, line 19 ¶ | skipping to change at page 42, line 15 ¶ | |||
| 0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| | Reserved |A| | | Reserved |A| | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| A: Add/Drop flag, indicating whether this is a new or existing | A: Add/Drop flag, indicating whether this is a new or existing | |||
| address (1), or a withdrawal of an address (0). | address (1), or a withdrawal of an address (0). | |||
| Reserved: MUST be zero. Reserved for future use. | Reserved: MUST be zero. Reserved for future use. | |||
| 10.9. IPv6 Address | 11.9. IPv6 Address | |||
| When included in Destination Messages, this Data Item contains the | When included in Destination Messages, this Data Item contains the | |||
| IPv6 address of the destination. When included in the Session Update | IPv6 address of the destination. When included in the Session Update | |||
| Message, this Data Item contains the IPv6 address of the peer. In | Message, this Data Item contains the IPv6 address of the peer. In | |||
| either case, the Data Item also contains an indication of whether | either case, the Data Item also contains an indication of whether | |||
| this is a new or existing address, or is a deletion of a previously | this is a new or existing address, or is a deletion of a previously | |||
| known address. | known address. | |||
| The IPv6 Address Data Item contains the following fields: | The IPv6 Address Data Item contains the following fields: | |||
| skipping to change at page 44, line 17 ¶ | skipping to change at page 43, line 15 ¶ | |||
| 0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| | Reserved |A| | | Reserved |A| | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| A: Add/Drop flag, indicating whether this is a new or existing | A: Add/Drop flag, indicating whether this is a new or existing | |||
| address (1), or a withdrawal of an address (0). | address (1), or a withdrawal of an address (0). | |||
| Reserved: MUST be zero. Reserved for future use. | Reserved: MUST be zero. Reserved for future use. | |||
| 10.10. IPv4 Attached Subnet | 11.10. IPv4 Attached Subnet | |||
| The DLEP IPv4 Attached Subnet allows a device to declare that it has | The DLEP IPv4 Attached Subnet allows a device to declare that it has | |||
| an IPv4 subnet (e.g., a stub network) attached, that it has become | an IPv4 subnet (e.g., a stub network) attached, that it has become | |||
| aware of an IPv4 subnet being present at a remote destination, or | aware of an IPv4 subnet being present at a remote destination, or | |||
| that it has become aware of the loss of a subnet at the remote | that it has become aware of the loss of a subnet at the remote | |||
| destination. | destination. | |||
| The DLEP IPv4 Attached Subnet Data Item contains the following | The DLEP IPv4 Attached Subnet Data Item contains the following | |||
| fields: | fields: | |||
| skipping to change at page 45, line 15 ¶ | skipping to change at page 44, line 15 ¶ | |||
| 0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| | Reserved |A| | | Reserved |A| | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| A: Add/Drop flag, indicating whether this is a new or existing subnet | A: Add/Drop flag, indicating whether this is a new or existing subnet | |||
| address (1), or a withdrawal of a subnet address (0). | address (1), or a withdrawal of a subnet address (0). | |||
| Reserved: MUST be zero. Reserved for future use. | Reserved: MUST be zero. Reserved for future use. | |||
| 10.11. IPv6 Attached Subnet | 11.11. IPv6 Attached Subnet | |||
| The DLEP IPv6 Attached Subnet allows a device to declare that it has | The DLEP IPv6 Attached Subnet allows a device to declare that it has | |||
| an IPv6 subnet (e.g., a stub network) attached, that it has become | an IPv6 subnet (e.g., a stub network) attached, that it has become | |||
| aware of an IPv6 subnet being present at a remote destination, or | aware of an IPv6 subnet being present at a remote destination, or | |||
| that it has become aware of the loss of a subnet at the remote | that it has become aware of the loss of a subnet at the remote | |||
| destination. | destination. | |||
| The DLEP IPv6 Attached Subnet Data Item contains the following | The DLEP IPv6 Attached Subnet Data Item contains the following | |||
| fields: | fields: | |||
| skipping to change at page 46, line 17 ¶ | skipping to change at page 45, line 17 ¶ | |||
| 0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| | Reserved |A| | | Reserved |A| | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| A: Add/Drop flag, indicating whether this is a new or existing subnet | A: Add/Drop flag, indicating whether this is a new or existing subnet | |||
| address (1), or a withdrawal of a subnet address (0). | address (1), or a withdrawal of a subnet address (0). | |||
| Reserved: MUST be zero. Reserved for future use. | Reserved: MUST be zero. Reserved for future use. | |||
| 10.12. Maximum Data Rate (Receive) | 11.12. Maximum Data Rate (Receive) | |||
| The Maximum Data Rate (Receive) (MDRR) Data Item is used to indicate | The Maximum Data Rate (Receive) (MDRR) Data Item is used to indicate | |||
| the maximum theoretical data rate, in bits per second, that can be | the maximum theoretical data rate, in bits per second, that can be | |||
| achieved while receiving data on the link. | achieved while receiving data on the link. | |||
| The Maximum Data Rate (Receive) Data Item contains the following | The Maximum Data Rate (Receive) Data Item contains the following | |||
| fields: | fields: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| skipping to change at page 46, line 44 ¶ | skipping to change at page 45, line 44 ¶ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type: 12 | Data Item Type: 12 | |||
| Length: 8 | Length: 8 | |||
| Maximum Data Rate (Receive): A 64-bit unsigned integer, representing | Maximum Data Rate (Receive): A 64-bit unsigned integer, representing | |||
| the maximum theoretical data rate, in bits per second (bps), that | the maximum theoretical data rate, in bits per second (bps), that | |||
| can be achieved while receiving on the link. | can be achieved while receiving on the link. | |||
| 10.13. Maximum Data Rate (Transmit) | 11.13. Maximum Data Rate (Transmit) | |||
| The Maximum Data Rate (Transmit) (MDRT) Data Item is used to indicate | The Maximum Data Rate (Transmit) (MDRT) Data Item is used to indicate | |||
| the maximum theoretical data rate, in bits per second, that can be | the maximum theoretical data rate, in bits per second, that can be | |||
| achieved while transmitting data on the link. | achieved while transmitting data on the link. | |||
| The Maximum Data Rate (Transmit) Data Item contains the following | The Maximum Data Rate (Transmit) Data Item contains the following | |||
| fields: | fields: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| skipping to change at page 47, line 23 ¶ | skipping to change at page 46, line 23 ¶ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type: 13 | Data Item Type: 13 | |||
| Length: 8 | Length: 8 | |||
| Maximum Data Rate (Transmit): A 64-bit unsigned integer, | Maximum Data Rate (Transmit): A 64-bit unsigned integer, | |||
| representing the maximum theoretical data rate, in bits per second | representing the maximum theoretical data rate, in bits per second | |||
| (bps), that can be achieved while transmitting on the link. | (bps), that can be achieved while transmitting on the link. | |||
| 10.14. Current Data Rate (Receive) | 11.14. Current Data Rate (Receive) | |||
| The Current Data Rate (Receive) (CDRR) Data Item is used to indicate | The Current Data Rate (Receive) (CDRR) Data Item is used to indicate | |||
| the rate at which the link is currently operating for receiving | the rate at which the link is currently operating for receiving | |||
| traffic. | traffic. | |||
| When used in the Link Characteristics Request Message (Section 9.18), | When used in the Link Characteristics Request Message | |||
| Current Data Rate (Receive) represents the desired receive rate, in | (Section 10.18), Current Data Rate (Receive) represents the desired | |||
| bits per second, on the link. | receive rate, in bits per second, on the link. | |||
| The Current Data Rate (Receive) Data Item contains the following | The Current Data Rate (Receive) Data Item contains the following | |||
| fields: | fields: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Data Item Type | Length | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | CDRR (bps) : | | CDRR (bps) : | |||
| skipping to change at page 48, line 6 ¶ | skipping to change at page 47, line 6 ¶ | |||
| Data Item Type: 14 | Data Item Type: 14 | |||
| Length: 8 | Length: 8 | |||
| Current Data Rate (Receive): A 64-bit unsigned integer, representing | Current Data Rate (Receive): A 64-bit unsigned integer, representing | |||
| the current data rate, in bits per second, that can currently be | the current data rate, in bits per second, that can currently be | |||
| achieved while receiving traffic on the link. | achieved while receiving traffic on the link. | |||
| If there is no distinction between Current Data Rate (Receive) and | If there is no distinction between Current Data Rate (Receive) and | |||
| Maximum Data Rate (Receive) (Section 10.12), Current Data Rate | Maximum Data Rate (Receive) (Section 11.12), Current Data Rate | |||
| (Receive) MUST be set equal to the Maximum Data Rate (Receive). The | (Receive) MUST be set equal to the Maximum Data Rate (Receive). The | |||
| Current Data Rate (Receive) MUST NOT exceed the Maximum Data Rate | Current Data Rate (Receive) MUST NOT exceed the Maximum Data Rate | |||
| (Receive). | (Receive). | |||
| 10.15. Current Data Rate (Transmit) | 11.15. Current Data Rate (Transmit) | |||
| The Current Data Rate (Transmit) (CDRT) Data Item is used to indicate | The Current Data Rate (Transmit) (CDRT) Data Item is used to indicate | |||
| the rate at which the link is currently operating for transmitting | the rate at which the link is currently operating for transmitting | |||
| traffic. | traffic. | |||
| When used in the Link Characteristics Request Message (Section 9.18), | When used in the Link Characteristics Request Message | |||
| Current Data Rate (Transmit) represents the desired transmit rate, in | (Section 10.18), Current Data Rate (Transmit) represents the desired | |||
| bits per second, on the link. | transmit rate, in bits per second, on the link. | |||
| The Current Data Rate (Transmit) Data Item contains the following | The Current Data Rate (Transmit) Data Item contains the following | |||
| fields: | fields: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Data Item Type | Length | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | CDRT (bps) : | | CDRT (bps) : | |||
| skipping to change at page 48, line 43 ¶ | skipping to change at page 47, line 43 ¶ | |||
| Data Item Type: 15 | Data Item Type: 15 | |||
| Length: 8 | Length: 8 | |||
| Current Data Rate (Transmit): A 64-bit unsigned integer, | Current Data Rate (Transmit): A 64-bit unsigned integer, | |||
| representing the current data rate, in bits per second, that can | representing the current data rate, in bits per second, that can | |||
| currently be achieved while transmitting traffic on the link. | currently be achieved while transmitting traffic on the link. | |||
| If there is no distinction between Current Data Rate (Transmit) and | If there is no distinction between Current Data Rate (Transmit) and | |||
| Maximum Data Rate (Transmit) (Section 10.13), Current Data Rate | Maximum Data Rate (Transmit) (Section 11.13), Current Data Rate | |||
| (Transmit) MUST be set equal to the Maximum Data Rate (Transmit). | (Transmit) MUST be set equal to the Maximum Data Rate (Transmit). | |||
| The Current Data Rate (Transmit) MUST NOT exceed the Maximum Data | The Current Data Rate (Transmit) MUST NOT exceed the Maximum Data | |||
| Rate (Transmit). | Rate (Transmit). | |||
| 10.16. Latency | 11.16. Latency | |||
| The Latency Data Item is used to indicate the amount of latency, in | The Latency Data Item is used to indicate the amount of latency, in | |||
| microseconds, on the link. | microseconds, on the link. | |||
| The Latency value is reported as transmission delay. The calculation | The Latency value is reported as transmission delay. The calculation | |||
| of latency is implementation dependent. For example, the latency may | of latency is implementation dependent. For example, the latency may | |||
| be a running average calculated from the internal queuing. | be a running average calculated from the internal queuing. | |||
| The Latency Data Item contains the following fields: | The Latency Data Item contains the following fields: | |||
| skipping to change at page 49, line 29 ¶ | skipping to change at page 48, line 34 ¶ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type: 16 | Data Item Type: 16 | |||
| Length: 8 | Length: 8 | |||
| Latency: A 64-bit unsigned integer, representing the transmission | Latency: A 64-bit unsigned integer, representing the transmission | |||
| delay, in microseconds, that a packet encounters as it is | delay, in microseconds, that a packet encounters as it is | |||
| transmitted over the link. | transmitted over the link. | |||
| 10.17. Resources | 11.17. Resources | |||
| The Resources (RES) Data Item is used to indicate the amount of | The Resources (RES) Data Item is used to indicate the amount of | |||
| finite resources available for data transmission and reception at the | finite resources available for data transmission and reception at the | |||
| destination as a percentage, with 0 meaning 'no resources remaining', | destination as a percentage, with 0 meaning 'no resources remaining', | |||
| and 100 meaning 'a full supply', assuming that when Resources reaches | and 100 meaning 'a full supply', assuming that when Resources reaches | |||
| 0 data transmission and/or reception will cease. | 0 data transmission and/or reception will cease. | |||
| An example of such resources might be battery life, but could equally | An example of such resources might be battery life, but could equally | |||
| be magic beans. The list of resources that might be considered is | be magic beans. The list of resources that might be considered is | |||
| beyond the scope of this document, and is left to implementations to | beyond the scope of this document, and is left to implementations to | |||
| skipping to change at page 50, line 24 ¶ | skipping to change at page 49, line 24 ¶ | |||
| Length: 1 | Length: 1 | |||
| Resources: An 8-bit unsigned integer percentage, 0-100, representing | Resources: An 8-bit unsigned integer percentage, 0-100, representing | |||
| the amount of resources available. Any value greater than 100 | the amount of resources available. Any value greater than 100 | |||
| MUST be considered as invalid. | MUST be considered as invalid. | |||
| If a device cannot calculate Resources, this Data Item MUST NOT be | If a device cannot calculate Resources, this Data Item MUST NOT be | |||
| issued. | issued. | |||
| 10.18. Relative Link Quality (Receive) | 11.18. Relative Link Quality (Receive) | |||
| The Relative Link Quality (Receive) (RLQR) Data Item is used to | The Relative Link Quality (Receive) (RLQR) Data Item is used to | |||
| indicate the quality of the link to a destination for receiving | indicate the quality of the link to a destination for receiving | |||
| traffic, with 0 meaning 'worst quality', and 100 meaning 'best | traffic, with 0 meaning 'worst quality', and 100 meaning 'best | |||
| quality'. | quality'. | |||
| Quality in this context is defined as an indication of the stability | Quality in this context is defined as an indication of the stability | |||
| of a link for reception; a destination with high Relative Link | of a link for reception; a destination with high Relative Link | |||
| Quality (Receive) is expected to have generally stable DLEP metrics, | Quality (Receive) is expected to have generally stable DLEP metrics, | |||
| and the metrics of a destination with low Relative Link Quality | and the metrics of a destination with low Relative Link Quality | |||
| skipping to change at page 51, line 7 ¶ | skipping to change at page 50, line 7 ¶ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | RLQR | | | RLQR | | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| Data Item Type: 18 | Data Item Type: 18 | |||
| Length: 1 | Length: 1 | |||
| Relative Link Quality (Receive): A non-dimensional unsigned 8-bit | Relative Link Quality (Receive): A non-dimensional unsigned 8-bit | |||
| integer, 0-100, representing relative quality of the link for | integer, 0-100, representing relative quality of the link for | |||
| receiving traffic. Any value greater than 100 MUST be considered | receiving traffic. Any value greater than 100 MUST be considered | |||
| as invalid. This is analogous to [RFC5578]. | as invalid. | |||
| If a device cannot calculate the Relative Link Quality (Receive), | If a device cannot calculate the Relative Link Quality (Receive), | |||
| this Data Item MUST NOT be issued. | this Data Item MUST NOT be issued. | |||
| 10.19. Relative Link Quality (Transmit) | 11.19. Relative Link Quality (Transmit) | |||
| The Relative Link Quality (Transmit) (RLQT) Data Item is used to | The Relative Link Quality (Transmit) (RLQT) Data Item is used to | |||
| indicate the quality of the link to a destination for transmitting | indicate the quality of the link to a destination for transmitting | |||
| traffic, with 0 meaning 'worst quality', and 100 meaning 'best | traffic, with 0 meaning 'worst quality', and 100 meaning 'best | |||
| quality'. | quality'. | |||
| Quality in this context is defined as an indication of the stability | Quality in this context is defined as an indication of the stability | |||
| of a link for transmission; a destination with high Relative Link | of a link for transmission; a destination with high Relative Link | |||
| Quality (Transmit) is expected to have generally stable DLEP metrics, | Quality (Transmit) is expected to have generally stable DLEP metrics, | |||
| and the metrics of a destination with low Relative Link Quality | and the metrics of a destination with low Relative Link Quality | |||
| skipping to change at page 52, line 5 ¶ | skipping to change at page 50, line 48 ¶ | |||
| Length: 1 | Length: 1 | |||
| Relative Link Quality (Transmit): A non-dimensional unsigned 8-bit | Relative Link Quality (Transmit): A non-dimensional unsigned 8-bit | |||
| integer, 0-100, representing relative quality of the link for | integer, 0-100, representing relative quality of the link for | |||
| transmitting traffic. Any value greater than 100 MUST be | transmitting traffic. Any value greater than 100 MUST be | |||
| considered as invalid. | considered as invalid. | |||
| If a device cannot calculate the Relative Link Quality (Transmit), | If a device cannot calculate the Relative Link Quality (Transmit), | |||
| this Data Item MUST NOT be issued. | this Data Item MUST NOT be issued. | |||
| 10.20. Maximum Transmission Unit (MTU) | 11.20. Maximum Transmission Unit (MTU) | |||
| The Maximum Transmission Unit (MTU) Data Item is used to indicate the | The Maximum Transmission Unit (MTU) Data Item is used to indicate the | |||
| maximum size, in octets, of an IP packet that can be transmitted | maximum size, in octets, of an IP packet that can be transmitted | |||
| without fragmentation, including headers, but excluding any lower | without fragmentation, including headers, but excluding any lower | |||
| layer headers. | layer headers. | |||
| The Maximum Transmission Unit Data Item contains the following | The Maximum Transmission Unit Data Item contains the following | |||
| fields: | fields: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| skipping to change at page 52, line 34 ¶ | skipping to change at page 51, line 29 ¶ | |||
| Length: 2 | Length: 2 | |||
| Maximum Transmission Unit: The maximum size, in octets, of an IP | Maximum Transmission Unit: The maximum size, in octets, of an IP | |||
| packet that can be transmitted without fragmentation, including | packet that can be transmitted without fragmentation, including | |||
| headers, but excluding any lower layer headers. | headers, but excluding any lower layer headers. | |||
| If a device cannot calculate the Maximum Transmission Unit, this Data | If a device cannot calculate the Maximum Transmission Unit, this Data | |||
| Item MUST NOT be issued. | Item MUST NOT be issued. | |||
| 11. Security Considerations | 12. Security Considerations | |||
| The potential security concerns when using DLEP are: | The potential security concerns when using DLEP are: | |||
| 1. An attacker might pretend to be a DLEP participant, either at | 1. An attacker might pretend to be a DLEP participant, either at | |||
| DLEP session initialization, or by injection of DLEP Messages | DLEP session initialization, or by injection of DLEP Messages | |||
| once a session has been established, and/or | once a session has been established, and/or | |||
| 2. DLEP Data Items could be altered by an attacker, causing the | 2. DLEP Data Items could be altered by an attacker, causing the | |||
| receiving implementation to inappropriately alter its information | receiving implementation to inappropriately alter its information | |||
| base concerning network status. | base concerning network status. | |||
| Since DLEP is restricted to operation over a single (possibly | Since DLEP is restricted to operation over a single (possibly | |||
| logical) hop at layer 2, implementations requiring authentication | logical) hop at layer 2, implementations requiring authentication and | |||
| and/or encryption of traffic MUST take steps to secure the Layer 2 | /or encryption of traffic MUST take steps to secure the Layer 2 link. | |||
| link. Examples of technologies that can be deployed to secure the | Examples of technologies that can be deployed to secure the Layer 2 | |||
| Layer 2 link include [IEEE-802.1AE] and [IEEE-802.1X]. | link include [IEEE-802.1AE] and [IEEE-802.1X]. | |||
| To avoid potential denial of service attack, it is RECOMMENDED that | To avoid potential denial of service attack, it is RECOMMENDED that | |||
| implementations using the Peer Discovery mechanism maintain an | implementations using the Peer Discovery mechanism maintain an | |||
| information base of hosts that persistently fail Session | information base of hosts that persistently fail Session | |||
| Initialization having provided an acceptable Peer Discovery Signal, | Initialization having provided an acceptable Peer Discovery Signal, | |||
| and ignore subsequent Peer Discovery Signals from such hosts. | and ignore subsequent Peer Discovery Signals from such hosts. | |||
| When using DLEP discovery, it is possible that an attacker who is not | ||||
| in the layer 2 domain could successfully spoof a DLEP Discovery | ||||
| signal, causing it to arrive at a mode with TTL=1. However, the | ||||
| corresponding Peer Offer signal will also be sent with TTL=1, keeping | ||||
| the Peer Offer from reaching the attacker. This attack can be | ||||
| mitigated by using the information base described in the previous | ||||
| paragraph to ignore subsequent attempts. | ||||
| This specification does not address security of the data plane, as it | This specification does not address security of the data plane, as it | |||
| (the data plane) is not affected, and standard security procedures | (the data plane) is not affected, and standard security procedures | |||
| can be employed. | can be employed. | |||
| 12. IANA Considerations | 13. IANA Considerations | |||
| This section specifies requests to IANA. | This section specifies requests to IANA. | |||
| 12.1. Registrations | 13.1. Registrations | |||
| Upon approval of this document, IANA is requested to create a new | Upon approval of this document, IANA is requested to create a new | |||
| protocol registry for Dynamic Link Exchange Protocol (DLEP). The | protocol registry for Dynamic Link Exchange Protocol (DLEP). The | |||
| remainder of this section requests the creation of new DLEP specific | remainder of this section requests the creation of new DLEP specific | |||
| registries. | registries. | |||
| 12.2. Signal Type Registration | 13.2. Signal Type Registration | |||
| Upon approval of this document, IANA is requested to create a new | Upon approval of this document, IANA is requested to create a new | |||
| DLEP registry, named "Signal Type Values". | DLEP registry, named "Signal Type Values". | |||
| The following table provides initial registry values and the | The following table provides initial registry values and the | |||
| [RFC5226] defined policies that should apply to the registry: | [RFC5226] defined policies that should apply to the registry: | |||
| +--------------+-------------------------+ | +--------------+-------------------------+ | |||
| | Type Code | Description/Policy | | | Type Code | Description/Policy | | |||
| +--------------+-------------------------+ | +--------------+-------------------------+ | |||
| | 0 | Reserved | | | 0 | Reserved | | |||
| | 1 | Peer Discovery Signal | | | 1 | Peer Discovery Signal | | |||
| | 2 | Peer Offer Signal | | | 2 | Peer Offer Signal | | |||
| | 3-65519 | Specification Required | | | 3-65519 | Specification Required | | |||
| | 65520-65534 | Private Use | | | 65520-65534 | Private Use | | |||
| | 65535 | Reserved | | | 65535 | Reserved | | |||
| +--------------+-------------------------+ | +--------------+-------------------------+ | |||
| 12.3. Message Type Registration | 13.3. Message Type Registration | |||
| Upon approval of this document, IANA is requested to create a new | Upon approval of this document, IANA is requested to create a new | |||
| DLEP registry, named "Message Type Values". | DLEP registry, named "Message Type Values". | |||
| The following table provides initial registry values and the | The following table provides initial registry values and the | |||
| [RFC5226] defined policies that should apply to the registry: | [RFC5226] defined policies that should apply to the registry: | |||
| +--------------+------------------------------------------+ | +--------------+------------------------------------------+ | |||
| | Type Code | Description/Policy | | | Type Code | Description/Policy | | |||
| +--------------+------------------------------------------+ | +--------------+------------------------------------------+ | |||
| skipping to change at page 54, line 30 ¶ | skipping to change at page 53, line 33 ¶ | |||
| | 12 | Destination Down Response Message | | | 12 | Destination Down Response Message | | |||
| | 13 | Destination Update Message | | | 13 | Destination Update Message | | |||
| | 14 | Link Characteristics Request Message | | | 14 | Link Characteristics Request Message | | |||
| | 15 | Link Characteristics Response Message | | | 15 | Link Characteristics Response Message | | |||
| | 16 | Heartbeat Message | | | 16 | Heartbeat Message | | |||
| | 17-65519 | Specification Required | | | 17-65519 | Specification Required | | |||
| | 65520-65534 | Private Use | | | 65520-65534 | Private Use | | |||
| | 65535 | Reserved | | | 65535 | Reserved | | |||
| +--------------+------------------------------------------+ | +--------------+------------------------------------------+ | |||
| 12.4. DLEP Data Item Registrations | 13.4. DLEP Data Item Registrations | |||
| Upon approval of this document, IANA is requested to create a new | Upon approval of this document, IANA is requested to create a new | |||
| DLEP registry, named "Data Item Values". | DLEP registry, named "Data Item Values". | |||
| The following table provides initial registry values and the | The following table provides initial registry values and the | |||
| [RFC5226] defined policies that should apply to the registry: | [RFC5226] defined policies that should apply to the registry: | |||
| +-------------------+------------------------------------------+ | +--------------+------------------------------------------+ | |||
| | Type Code | Description/Policy | | | Type Code | Description/Policy | | |||
| +-------------------+------------------------------------------+ | +--------------+------------------------------------------+ | |||
| | 0 | Reserved | | | 0 | Reserved | | |||
| | 1 | Status | | | 1 | Status | | |||
| | 2 | IPv4 Connection Point | | | 2 | IPv4 Connection Point | | |||
| | 3 | IPv6 Connection Point | | | 3 | IPv6 Connection Point | | |||
| | 4 | Peer Type | | | 4 | Peer Type | | |||
| | 5 | Heartbeat Interval | | | 5 | Heartbeat Interval | | |||
| | 6 | Extensions Supported | | | 6 | Extensions Supported | | |||
| | 7 | MAC Address | | | 7 | MAC Address | | |||
| | 8 | IPv4 Address | | | 8 | IPv4 Address | | |||
| | 9 | IPv6 Address | | | 9 | IPv6 Address | | |||
| | 10 | IPv4 Attached Subnet | | | 10 | IPv4 Attached Subnet | | |||
| | 11 | IPv6 Attached Subnet | | | 11 | IPv6 Attached Subnet | | |||
| | 12 | Maximum Data Rate (Receive) (MDRR) | | | 12 | Maximum Data Rate (Receive) (MDRR) | | |||
| | 13 | Maximum Data Rate (Transmit) (MDRT) | | | 13 | Maximum Data Rate (Transmit) (MDRT) | | |||
| | 14 | Current Data Rate (Receive) (CDRR) | | | 14 | Current Data Rate (Receive) (CDRR) | | |||
| | 15 | Current Data Rate (Transmit) (CDRT) | | | 15 | Current Data Rate (Transmit) (CDRT) | | |||
| | 16 | Latency | | | 16 | Latency | | |||
| | 17 | Resources (RES) | | | 17 | Resources (RES) | | |||
| | 18 | Relative Link Quality (Receive) (RLQR) | | | 18 | Relative Link Quality (Receive) (RLQR) | | |||
| | 19 | Relative Link Quality (Transmit) (RLQT) | | | 19 | Relative Link Quality (Transmit) (RLQT) | | |||
| | 20 | Maximum Transmission Unit (MTU) | | | 20 | Maximum Transmission Unit (MTU) | | |||
| | 21-65407 | Specification Required | | | 21-65407 | Specification Required | | |||
| | 65408-65534 | Private Use | | | 65408-65534 | Private Use | | |||
| | 65535 | Reserved | | | 65535 | Reserved | | |||
| +-------------------+------------------------------------------+ | +--------------+------------------------------------------+ | |||
| 12.5. DLEP Status Code Registrations | 13.5. DLEP Status Code Registrations | |||
| Upon approval of this document, IANA is requested to create a new | Upon approval of this document, IANA is requested to create a new | |||
| DLEP registry, named "Status Code Values". | DLEP registry, named "Status Code Values". | |||
| The following table provides initial registry values and the | The following table provides initial registry values and the | |||
| [RFC5226] defined policies that should apply to the registry: | [RFC5226] defined policies that should apply to the registry: | |||
| +--------------+---------------+-------------------------+ | +--------------+---------------+-------------------------+ | |||
| | Status Code | Failure Mode | Description/Policy | | | Status Code | Failure Mode | Description/Policy | | |||
| +--------------+---------------+-------------------------+ | +--------------+---------------+-------------------------+ | |||
| skipping to change at page 56, line 23 ¶ | skipping to change at page 55, line 5 ¶ | |||
| | 128 | Terminate | Unknown Message | | | 128 | Terminate | Unknown Message | | |||
| | 129 | Terminate | Unexpected Message | | | 129 | Terminate | Unexpected Message | | |||
| | 130 | Terminate | Invalid Data | | | 130 | Terminate | Invalid Data | | |||
| | 131 | Terminate | Invalid Destination | | | 131 | Terminate | Invalid Destination | | |||
| | 132 | Terminate | Timed Out | | | 132 | Terminate | Timed Out | | |||
| | 133-239 | Terminate | Specification Required | | | 133-239 | Terminate | Specification Required | | |||
| | 240-254 | Terminate | Private Use | | | 240-254 | Terminate | Private Use | | |||
| | 255 | Terminate | Reserved | | | 255 | Terminate | Reserved | | |||
| +--------------+---------------+-------------------------+ | +--------------+---------------+-------------------------+ | |||
| 12.6. DLEP Extensions Registrations | 13.6. DLEP Extensions Registrations | |||
| Upon approval of this document, IANA is requested to create a new | Upon approval of this document, IANA is requested to create a new | |||
| DLEP registry, named "Extension Type Values". | DLEP registry, named "Extension Type Values". | |||
| The following table provides initial registry values and the | The following table provides initial registry values and the | |||
| [RFC5226] defined policies that should apply to the registry: | [RFC5226] defined policies that should apply to the registry: | |||
| +--------------+----------------------------+ | +--------------+----------------------------+ | |||
| | Code | Description/Policy | | | Code | Description/Policy | | |||
| +--------------+----------------------------+ | +--------------+----------------------------+ | |||
| | 0 | Reserved | | | 0 | Reserved | | |||
| | 1 | Credit Windowing [CREDIT] | | | 1 | Credit Windowing [CREDIT] | | |||
| | 2-65519 | Specification Required | | | 2-65519 | Specification Required | | |||
| | 65520-65534 | Private Use | | | 65520-65534 | Private Use | | |||
| | 65535 | Reserved | | | 65535 | Reserved | | |||
| +--------------+----------------------------+ | +--------------+----------------------------+ | |||
| Table 5: DLEP Extension types | Table 3: DLEP Extension types | |||
| 12.7. DLEP Well-known Port | 13.7. DLEP Well-known Port | |||
| Upon approval of this document, IANA is requested to assign a single | Upon approval of this document, IANA is requested to assign a single | |||
| value in the "Service Name and Transport Protocol Port Number | value in the "Service Name and Transport Protocol Port Number | |||
| Registry" found at https://www.iana.org/assignments/service-names- | Registry" found at https://www.iana.org/assignments/service-names- | |||
| port-numbers/service-names-port-numbers.xhtml for use by "DLEP", as | port-numbers/service-names-port-numbers.xhtml for use by "DLEP", as | |||
| defined in this document. This assignment should be valid for TCP | defined in this document. This assignment should be valid for TCP | |||
| and UDP. SCTP port allocation is not required. | and UDP. | |||
| 12.8. DLEP IPv4 Link-local Multicast Address | 13.8. DLEP IPv4 Link-local Multicast Address | |||
| Upon approval of this document, IANA is requested to assign an IPv4 | Upon approval of this document, IANA is requested to assign an IPv4 | |||
| multicast address registry found at http://www.iana.org/assignments/ | multicast address registry found at http://www.iana.org/assignments/ | |||
| multicast-addresses for use as the "IPv4 DLEP Discovery Address". | multicast-addresses for use as the "IPv4 DLEP Discovery Address". | |||
| 12.9. DLEP IPv6 Link-local Multicast Address | 13.9. DLEP IPv6 Link-local Multicast Address | |||
| Upon approval of this document, IANA is requested to assign an IPv6 | Upon approval of this document, IANA is requested to assign an IPv6 | |||
| multicast address registry found at http://www.iana.org/assignments/ | multicast address registry found at http://www.iana.org/assignments/ | |||
| multicast-addresses for use as the "IPv6 DLEP Discovery Address". | multicast-addresses for use as the "IPv6 DLEP Discovery Address". | |||
| 13. Acknowledgements | 14. Acknowledgements | |||
| We would like to acknowledge and thank the members of the DLEP design | We would like to acknowledge and thank the members of the DLEP design | |||
| team, who have provided invaluable insight. The members of the | team, who have provided invaluable insight. The members of the | |||
| design team are: Teco Boot, Bow-Nan Cheng, John Dowdell, and Henning | design team are: Teco Boot, Bow-Nan Cheng, John Dowdell, and Henning | |||
| Rogge. | Rogge. | |||
| We would also like to acknowledge the influence and contributions of | We would also like to acknowledge the influence and contributions of | |||
| Greg Harrison, Chris Olsen, Martin Duke, Subir Das, Jaewon Kang, | Greg Harrison, Chris Olsen, Martin Duke, Subir Das, Jaewon Kang, | |||
| Vikram Kaul, Nelson Powell, Lou Berger, and Victoria Mercieca. | Vikram Kaul, Nelson Powell, Lou Berger, and Victoria Mercieca. | |||
| 14. References | 15. References | |||
| 14.1. Normative References | ||||
| [CREDIT] Ratliff, S., "Credit Windowing extension for DLEP", IETF | 15.1. Normative References | |||
| draft draft-ietf-manet-credit-window-04, March 2016. | ||||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/ | Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/ | |||
| RFC2119, March 1997, | RFC2119, March 1997, | |||
| <http://www.rfc-editor.org/info/rfc2119>. | <http://www.rfc-editor.org/info/rfc2119>. | |||
| [UNIV8] "The Unicode Consortium. The Unicode Standard, Version | [RFC5082] Gill, V., Heasley, J., Meyer, D., Savola, P., Ed., and C. | |||
| Pignataro, "The Generalized TTL Security Mechanism | ||||
| (GTSM)", RFC 5082, DOI 10.17487/RFC5082, October 2007, | ||||
| <http://www.rfc-editor.org/info/rfc5082>. | ||||
| [UNIV8] , "The Unicode Consortium. The Unicode Standard, Version | ||||
| 8.0.0, (Mountain View, CA: The Unicode Consortium, 2015. | 8.0.0, (Mountain View, CA: The Unicode Consortium, 2015. | |||
| ISBN 978-1-936213-10-8)", | ISBN 978-1-936213-10-8)", | |||
| http://www.unicode.org/versions/Unicode8.0.0/, June 2015. | http://www.unicode.org/versions/Unicode8.0.0/, June 2015. | |||
| 14.2. Informative References | 15.2. Informative References | |||
| [CREDIT] Ratliff, S., "Credit Windowing extension for DLEP", IETF | ||||
| draft draft-ietf-manet-credit-window-04, March 2016. | ||||
| [IEEE-802.1AE] | [IEEE-802.1AE] | |||
| "IEEE Standards for Local and Metropolitan Area Networks: | , "IEEE Standards for Local and Metropolitan Area | |||
| Media Access Control (MAC) Security", DOI 10.1109/ | Networks: Media Access Control (MAC) Security", DOI | |||
| IEEESTD.2006.245590, August 2006. | 10.1109/IEEESTD.2006.245590, August 2006. | |||
| [IEEE-802.1X] | [IEEE-802.1X] | |||
| "IEEE Standards for Local and Metropolitan Area Networks: | , "IEEE Standards for Local and Metropolitan Area | |||
| Port based Network Access Control", DOI 10.1109/ | Networks: Port based Network Access Control", DOI 10.1109/ | |||
| IEEESTD.2010.5409813, February 2010. | IEEESTD.2010.5409813, February 2010. | |||
| [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an | [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an | |||
| IANA Considerations Section in RFCs", BCP 26, RFC 5226, | IANA Considerations Section in RFCs", BCP 26, RFC 5226, | |||
| DOI 10.17487/RFC5226, May 2008, | DOI 10.17487/RFC5226, May 2008, | |||
| <http://www.rfc-editor.org/info/rfc5226>. | <http://www.rfc-editor.org/info/rfc5226>. | |||
| [RFC5578] Berry, B., Ed., Ratliff, S., Paradise, E., Kaiser, T., and | [RFC5578] Berry, B., Ed., Ratliff, S., Paradise, E., Kaiser, T., and | |||
| M. Adams, "PPP over Ethernet (PPPoE) Extensions for Credit | M. Adams, "PPP over Ethernet (PPPoE) Extensions for Credit | |||
| Flow and Link Metrics", RFC 5578, DOI 10.17487/RFC5578, | Flow and Link Metrics", RFC 5578, DOI 10.17487/RFC5578, | |||
| February 2010, <http://www.rfc-editor.org/info/rfc5578>. | February 2010, <http://www.rfc-editor.org/info/rfc5578>. | |||
| Appendix A. Discovery Signal Flows | Appendix A. Discovery Signal Flows | |||
| Router Modem Signal Description | Router Modem Signal Description | |||
| ======================================================================== | ======================================================================== | |||
| | Router initiates discovery, starts | | Router initiates discovery, starts | |||
| | a timer, send Peer Discovery | | a timer, send Peer Discovery | |||
| |-------Peer Discovery---->X Signal. | |-------Peer Discovery---->X Signal. | |||
| ~ ~ ~ ~ ~ ~ ~ Router discovery timer expires | ~ ~ ~ ~ ~ ~ ~ Router discovery timer expires | |||
| without receiving Peer Offer. | without receiving Peer Offer. | |||
| | Router sends another Peer | | Router sends another Peer | |||
| |-------Peer Discovery---------->| Discovery Signal. | |-------Peer Discovery---------->| Discovery Signal. | |||
| | | | | |||
| | Modem receives Peer Discovery | | Modem receives Peer Discovery | |||
| | Signal. | | Signal. | |||
| | | | | |||
| | Modem sends Peer Offer with | | Modem sends Peer Offer with | |||
| |<--------Peer Offer-------------| Connection Point information. | |<--------Peer Offer-------------| Connection Point information. | |||
| : | : | |||
| : Router MAY cancel discovery timer | : Router MAY cancel discovery timer | |||
| : and stop sending Peer Discovery | : and stop sending Peer Discovery | |||
| : Signals. | : Signals. | |||
| Appendix B. Peer Level Message Flows | Appendix B. Peer Level Message Flows | |||
| B.1. Session Initialization | B.1. Session Initialization | |||
| Router Modem Message Description | ||||
| ======================================================================== | ||||
| | Router connects to discovered or | Router Modem Message Description | |||
| | pre-configured Modem Connection | ======================================================================== | |||
| |--TCP connection established---> Point. | ||||
| | | | Router connects to discovered or | |||
| | Router sends Session | | pre-configured Modem Connection | |||
| |----Session Initialization----->| Initialization Message. | |--TCP connection established---> Point. | |||
| | | | | |||
| | Modem receives Session | | Router sends Session | |||
| | Initialization Message. | |----Session Initialization----->| Initialization Message. | |||
| | | | | |||
| | Modem sends Session Initialization | | Modem receives Session | |||
| |<--Session Initialization Resp.-| Response, with Success Status Data | | Initialization Message. | |||
| | | Item. | | | |||
| | | | | Modem sends Session Initialization | |||
| |<<============================>>| Session established. Heartbeats | |<--Session Initialization Resp.-| Response, with Success Status Data | |||
| : : begin. | | | Item. | |||
| | | | ||||
| |<<============================>>| Session established. Heartbeats | ||||
| : : begin. | ||||
| B.2. Session Initialization - Refused | B.2. Session Initialization - Refused | |||
| Router Modem Message Description | Router Modem Message Description | |||
| ======================================================================== | ======================================================================== | |||
| | Router connects to discovered or | | Router connects to discovered or | |||
| | pre-configured Modem Connection | | pre-configured Modem Connection | |||
| |--TCP connection established---> Point. | |--TCP connection established---> Point. | |||
| | | | | |||
| | Router sends Session | | Router sends Session | |||
| |-----Session Initialization---->| Initialization Message. | |-----Session Initialization---->| Initialization Message. | |||
| | | | | |||
| | Modem receives Session | | Modem receives Session | |||
| | Initialization Message, and will | | Initialization Message, and will | |||
| | not support the advertised | | not support the advertised | |||
| | extensions. | | extensions. | |||
| | | | | |||
| | Modem sends Session Initialization | | Modem sends Session Initialization | |||
| | Response, with 'Request Denied' | | Response, with 'Request Denied' | |||
| |<-Session Initialization Resp.--| Status Data Item. | |<-Session Initialization Resp.--| Status Data Item. | |||
| | | | | |||
| | | | | |||
| | Router receives negative Session | | Router receives negative Session | |||
| | Initialization Response, closes | | Initialization Response, closes | |||
| ||---------TCP close------------|| TCP connection. | ||---------TCP close------------|| TCP connection. | |||
| B.3. Router Changes IP Addresses | B.3. Router Changes IP Addresses | |||
| Router Modem Message Description | Router Modem Message Description | |||
| ======================================================================== | ======================================================================== | |||
| | Router sends Session Update | | Router sends Session Update | |||
| |-------Session Update---------->| Message to announce change of IP | |-------Session Update---------->| Message to announce change of IP | |||
| | address | | address | |||
| | | | | |||
| | Modem receives Session Update | | Modem receives Session Update | |||
| | Message and updates internal | | Message and updates internal | |||
| | state. | | state. | |||
| | | | | |||
| |<----Session Update Response----| Modem sends Session Update | |<----Session Update Response----| Modem sends Session Update | |||
| | Response. | | Response. | |||
| B.4. Modem Changes Session-wide Metrics | B.4. Modem Changes Session-wide Metrics | |||
| Router Modem Message Description | Router Modem Message Description | |||
| ======================================================================== | ======================================================================== | |||
| | Modem sends Session Update Message | | Modem sends Session Update Message | |||
| | to announce change of modem-wide | | to announce change of modem-wide | |||
| |<--------Session Update---------| metrics | |<--------Session Update---------| metrics | |||
| | | | | |||
| | Router receives Session Update | | Router receives Session Update | |||
| | Message and updates internal | | Message and updates internal | |||
| | state. | | state. | |||
| | | | | |||
| |----Session Update Response---->| Router sends Session Update | |----Session Update Response---->| Router sends Session Update | |||
| | Response. | | Response. | |||
| B.5. Router Terminates Session | B.5. Router Terminates Session | |||
| Router Modem Message Description | ||||
| ======================================================================== | ||||
| | Router sends Session Termination | Router Modem Message Description | |||
| |------Session Termination------>| Message with Status Data Item. | ======================================================================== | |||
| | | | ||||
| |-------TCP shutdown (send)---> | Router stops sending Messages. | | Router sends Session Termination | |||
| | | |------Session Termination------>| Message with Status Data Item. | |||
| | Modem receives Session | | | | |||
| | Termination, stops counting | |-------TCP shutdown (send)---> | Router stops sending Messages. | |||
| | received heartbeats and stops | | | |||
| | sending heartbeats. | | Modem receives Session | |||
| | | | Termination, stops counting | |||
| | Modem sends Session Termination | | received heartbeats and stops | |||
| |<---Session Termination Resp.---| Response with Status 'Success'. | | sending heartbeats. | |||
| | | | | |||
| | Modem stops sending Messages. | | Modem sends Session Termination | |||
| | | |<---Session Termination Resp.---| Response with Status 'Success'. | |||
| ||---------TCP close------------|| Session terminated. | | | |||
| | Modem stops sending Messages. | ||||
| | | ||||
| ||---------TCP close------------|| Session terminated. | ||||
| B.6. Modem Terminates Session | B.6. Modem Terminates Session | |||
| Router Modem Message Description | Router Modem Message Description | |||
| ======================================================================== | ======================================================================== | |||
| | Modem sends Session Termination | | Modem sends Session Termination | |||
| |<----Session Termination--------| Message with Status Data Item. | |<----Session Termination--------| Message with Status Data Item. | |||
| | | | | |||
| | Modem stops sending Messages. | | Modem stops sending Messages. | |||
| | | | | |||
| | Router receives Session | | Router receives Session | |||
| | Termination, stops counting | | Termination, stops counting | |||
| | received heartbeats and stops | | received heartbeats and stops | |||
| | sending heartbeats. | | sending heartbeats. | |||
| | | | | |||
| | Router sends Session Termination | | Router sends Session Termination | |||
| |---Session Termination Resp.--->| Response with Status 'Success'. | |---Session Termination Resp.--->| Response with Status 'Success'. | |||
| | | | | |||
| | Router stops sending Messages. | | Router stops sending Messages. | |||
| | | | | |||
| ||---------TCP close------------|| Session terminated. | ||---------TCP close------------|| Session terminated. | |||
| B.7. Session Heartbeats | B.7. Session Heartbeats | |||
| Router Modem Message Description | ||||
| ======================================================================== | ||||
| |----------Heartbeat------------>| Router sends heartbeat Message | Router Modem Message Description | |||
| | | ======================================================================== | |||
| | Modem resets heartbeats missed | ||||
| | counter. | ||||
| ~ ~ ~ ~ ~ ~ ~ | |----------Heartbeat------------>| Router sends heartbeat Message | |||
| | | ||||
| | Modem resets heartbeats missed | ||||
| | counter. | ||||
| |---------[Any Message]--------->| When the Modem receives any | ~ ~ ~ ~ ~ ~ ~ | |||
| | Message from the Router. | ||||
| | | ||||
| | Modem resets heartbeats missed | ||||
| | counter. | ||||
| ~ ~ ~ ~ ~ ~ ~ | |---------[Any Message]--------->| When the Modem receives any | |||
| | Message from the Router. | ||||
| | | ||||
| | Modem resets heartbeats missed | ||||
| | counter. | ||||
| |<---------Heartbeat-------------| Modem sends heartbeat Message | ~ ~ ~ ~ ~ ~ ~ | |||
| | | ||||
| | Router resets heartbeats missed | ||||
| | counter. | ||||
| ~ ~ ~ ~ ~ ~ ~ | |<---------Heartbeat-------------| Modem sends heartbeat Message | |||
| | | ||||
| | Router resets heartbeats missed | ||||
| | counter. | ||||
| |<--------[Any Message]----------| When the Router receives any | ~ ~ ~ ~ ~ ~ ~ | |||
| | Message from the Modem. | ||||
| | | |<--------[Any Message]----------| When the Router receives any | |||
| | Modem resets heartbeats missed | | Message from the Modem. | |||
| | counter. | | | |||
| | Modem resets heartbeats missed | ||||
| | counter. | ||||
| B.8. Router Detects a Heartbeat timeout | B.8. Router Detects a Heartbeat timeout | |||
| Router Modem Message Description | Router Modem Message Description | |||
| ======================================================================== | ======================================================================== | |||
| X<----------------------| Router misses a heartbeat | X<----------------------| Router misses a heartbeat | |||
| | X<----------------------| Router misses too many heartbeats | | X<----------------------| Router misses too many heartbeats | |||
| | | | | |||
| | | | | |||
| |------Session Termination------>| Router sends Session Termination | |------Session Termination------>| Router sends Session Termination | |||
| | Message with 'Timeout' Status | | Message with 'Timeout' Status | |||
| | Data Item. | | Data Item. | |||
| : | : | |||
| : Termination proceeds... | : Termination proceeds... | |||
| B.9. Modem Detects a Heartbeat timeout | B.9. Modem Detects a Heartbeat timeout | |||
| Router Modem Message Description | Router Modem Message Description | |||
| ======================================================================== | ======================================================================== | |||
| |---------------------->X Modem misses a heartbeat | |---------------------->X Modem misses a heartbeat | |||
| |---------------------->X | Modem misses too many heartbeats | |---------------------->X | Modem misses too many heartbeats | |||
| | | | | |||
| | | | | |||
| |<-----Session Termination-------| Modem sends Session Termination | |<-----Session Termination-------| Modem sends Session Termination | |||
| | Message with 'Timeout' Status | | Message with 'Timeout' Status | |||
| | Data Item. | | Data Item. | |||
| : | : | |||
| : Termination proceeds... | : Termination proceeds... | |||
| Appendix C. Destination Specific Message Flows | Appendix C. Destination Specific Message Flows | |||
| C.1. Common Destination Notification | C.1. Common Destination Notification | |||
| Router Modem Message Description | ||||
| ======================================================================== | ||||
| | Modem detects a new logical | Router Modem Message Description | |||
| | destination is reachable, and | ======================================================================== | |||
| |<-------Destination Up----------| sends Destination Up Message. | ||||
| | | ||||
| |------Destination Up Resp.----->| Router sends Destination Up | ||||
| | Response. | ||||
| ~ ~ ~ ~ ~ ~ ~ | | Modem detects a new logical | |||
| | Modem detects change in logical | | destination is reachable, and | |||
| | destination metrics, and sends | |<-------Destination Up----------| sends Destination Up Message. | |||
| |<-------Destination Update------| Destination Update Message. | | | |||
| |------Destination Up Resp.----->| Router sends Destination Up | ||||
| | Response. | ||||
| ~ ~ ~ ~ ~ ~ ~ | ~ ~ ~ ~ ~ ~ ~ | |||
| | Modem detects change in logical | | Modem detects change in logical | |||
| | destination metrics, and sends | | destination metrics, and sends | |||
| |<-------Destination Update------| Destination Update Message. | |<-------Destination Update------| Destination Update Message. | |||
| ~ ~ ~ ~ ~ ~ ~ | ~ ~ ~ ~ ~ ~ ~ | |||
| | Modem detects logical destination | | Modem detects change in logical | |||
| | is no longer reachable, and sends | | destination metrics, and sends | |||
| |<-------Destination Down--------| Destination Down Message. | |<-------Destination Update------| Destination Update Message. | |||
| | | ||||
| | Router receives Destination Down, | ~ ~ ~ ~ ~ ~ ~ | |||
| | updates internal state, and sends | | Modem detects logical destination | |||
| |------Destination Down Resp.--->| Destination Down Response Message. | | is no longer reachable, and sends | |||
| |<-------Destination Down--------| Destination Down Message. | ||||
| | | ||||
| | Router receives Destination Down, | ||||
| | updates internal state, and sends | ||||
| |------Destination Down Resp.--->| Destination Down Response Message. | ||||
| C.2. Multicast Destination Notification | C.2. Multicast Destination Notification | |||
| Router Modem Message Description | ||||
| ======================================================================== | ||||
| | Router detects a new multicast | Router Modem Message Description | |||
| | destination is in use, and sends | ======================================================================== | |||
| |-----Destination Announce------>| Destination Announce Message. | ||||
| | | ||||
| | Modem updates internal state to | ||||
| | monitor multicast destination, and | ||||
| |<-----Dest. Announce Resp.------| sends Destination Announce | ||||
| Response. | ||||
| ~ ~ ~ ~ ~ ~ ~ | | Router detects a new multicast | |||
| | Modem detects change in multicast | | destination is in use, and sends | |||
| | destination metrics, and sends | |-----Destination Announce------>| Destination Announce Message. | |||
| |<-------Destination Update------| Destination Update Message. | | | |||
| | Modem updates internal state to | ||||
| | monitor multicast destination, and | ||||
| |<-----Dest. Announce Resp.------| sends Destination Announce | ||||
| Response. | ||||
| ~ ~ ~ ~ ~ ~ ~ | ~ ~ ~ ~ ~ ~ ~ | |||
| | Modem detects change in multicast | | Modem detects change in multicast | |||
| | destination metrics, and sends | | destination metrics, and sends | |||
| |<-------Destination Update------| Destination Update Message. | |<-------Destination Update------| Destination Update Message. | |||
| ~ ~ ~ ~ ~ ~ ~ | ~ ~ ~ ~ ~ ~ ~ | |||
| | Router detects multicast | | Modem detects change in multicast | |||
| | destination is no longer in use, | | destination metrics, and sends | |||
| |--------Destination Down------->| and sends Destination Down | |<-------Destination Update------| Destination Update Message. | |||
| | Message. | ||||
| | | ~ ~ ~ ~ ~ ~ ~ | |||
| | Modem receives Destination Down, | | Router detects multicast | |||
| | updates internal state, and sends | | destination is no longer in use, | |||
| |<-----Destination Down Resp.----| Destination Down Response Message. | |--------Destination Down------->| and sends Destination Down | |||
| | Message. | ||||
| | | ||||
| | Modem receives Destination Down, | ||||
| | updates internal state, and sends | ||||
| |<-----Destination Down Resp.----| Destination Down Response Message. | ||||
| C.3. Link Characteristics Request | C.3. Link Characteristics Request | |||
| Router Modem Message Description | ||||
| ======================================================================== | ||||
| Destination has already been | Router Modem Message Description | |||
| ~ ~ ~ ~ ~ ~ ~ announced by either peer. | ======================================================================== | |||
| | Router requires different | Destination has already been | |||
| | Characteristics for the | ~ ~ ~ ~ ~ ~ ~ announced by either peer. | |||
| | destination, and sends Link | ||||
| |--Link Characteristics Request->| Characteristics Request Message. | | Router requires different | |||
| | | | Characteristics for the | |||
| | Modem attempts to adjust link | | destination, and sends Link | |||
| | properties to meet the received | |--Link Characteristics Request->| Characteristics Request Message. | |||
| | request, and sends a Link | | | |||
| | Characteristics Response | | Modem attempts to adjust link | |||
| |<---Link Characteristics Resp.--| Message with the new values. | | properties to meet the received | |||
| | request, and sends a Link | ||||
| | Characteristics Response | ||||
| |<---Link Characteristics Resp.--| Message with the new values. | ||||
| Authors' Addresses | Authors' Addresses | |||
| Stan Ratliff | Stan Ratliff | |||
| VT iDirect | VT iDirect | |||
| 13861 Sunrise Valley Drive, Suite 300 | 13861 Sunrise Valley Drive, Suite 300 | |||
| Herndon, VA 20171 | Herndon, VA 20171 | |||
| USA | USA | |||
| Email: sratliff@idirect.net | Email: sratliff@idirect.net | |||
| Bo Berry | ||||
| Shawn Jury | Shawn Jury | |||
| Cisco Systems | Cisco Systems | |||
| 170 West Tasman Drive | 170 West Tasman Drive | |||
| San Jose, CA 95134 | San Jose, CA 95134 | |||
| USA | USA | |||
| Email: sjury@cisco.com | Email: sjury@cisco.com | |||
| Darryl Satterwhite | Darryl Satterwhite | |||
| Broadcom | Broadcom | |||
| skipping to change at line 2967 ¶ | skipping to change at page 64, line 13 ¶ | |||
| Email: dsatterw@broadcom.com | Email: dsatterw@broadcom.com | |||
| Rick Taylor | Rick Taylor | |||
| Airbus Defence & Space | Airbus Defence & Space | |||
| Quadrant House | Quadrant House | |||
| Celtic Springs | Celtic Springs | |||
| Coedkernew | Coedkernew | |||
| Newport NP10 8FZ | Newport NP10 8FZ | |||
| UK | UK | |||
| Email: rick.taylor@airbus.com | Email: rick.taylor@airbus.com | |||
| Bo Berry | ||||
| End of changes. 330 change blocks. | ||||
| 844 lines changed or deleted | 847 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||