| < draft-ietf-manet-dlep-19.txt | draft-ietf-manet-dlep-20.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 S. Jury | Intended status: Standards Track B. Berry | |||
| Expires: August 21, 2016 Cisco Systems | Expires: September 9, 2016 | |||
| S. Jury | ||||
| Cisco Systems | ||||
| D. Satterwhite | D. Satterwhite | |||
| Broadcom | Broadcom | |||
| R. Taylor | R. Taylor | |||
| Airbus Defence & Space | Airbus Defence & Space | |||
| B. Berry | March 8, 2016 | |||
| February 18, 2016 | ||||
| Dynamic Link Exchange Protocol (DLEP) | Dynamic Link Exchange Protocol (DLEP) | |||
| draft-ietf-manet-dlep-19 | draft-ietf-manet-dlep-20 | |||
| 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 43 ¶ | 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 August 21, 2016. | This Internet-Draft will expire on September 9, 2016. | |||
| 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 | 1.1. Requirements . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 2. Protocol Overview . . . . . . . . . . . . . . . . . . . . . . 8 | 2. Protocol Overview . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 2.1. Assumptions . . . . . . . . . . . . . . . . . . . . . . . 9 | 2.1. Assumptions . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 3. Destinations . . . . . . . . . . . . . . . . . . . . . . . . 9 | 3. Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 3.1. Router-requested Destinations . . . . . . . . . . . . . . 10 | 4. DLEP Session Flow . . . . . . . . . . . . . . . . . . . . . . 10 | |||
| 4. Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 | 4.1. Peer Discovery State . . . . . . . . . . . . . . . . . . 11 | |||
| 5. DLEP Session Flow . . . . . . . . . . . . . . . . . . . . . . 12 | 4.2. Session Initialization State . . . . . . . . . . . . . . 12 | |||
| 5.1. Peer Discovery State . . . . . . . . . . . . . . . . . . 13 | 4.3. In-Session State . . . . . . . . . . . . . . . . . . . . 12 | |||
| 5.2. Session Initialization State . . . . . . . . . . . . . . 14 | 4.3.1. Heartbeats . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 5.3. In-Session State . . . . . . . . . . . . . . . . . . . . 15 | 4.4. Session Termination State . . . . . . . . . . . . . . . . 13 | |||
| 5.3.1. Heartbeats . . . . . . . . . . . . . . . . . . . . . 16 | 4.5. Session Reset state . . . . . . . . . . . . . . . . . . . 13 | |||
| 5.4. Session Termination State . . . . . . . . . . . . . . . . 16 | 4.5.1. Unexpected TCP connection termination . . . . . . . . 14 | |||
| 5.5. Session Reset state . . . . . . . . . . . . . . . . . . . 17 | 5. Transaction Model . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 5.5.1. Unexpected TCP connection termination . . . . . . . . 17 | 6. Extensions . . . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 6. Transaction Model . . . . . . . . . . . . . . . . . . . . . . 17 | 6.1. Experiments . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 7. Extensions . . . . . . . . . . . . . . . . . . . . . . . . . 18 | 7. Scalability . . . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 7.1. Experiments . . . . . . . . . . . . . . . . . . . . . . . 19 | 8. DLEP Signal and Message Structure . . . . . . . . . . . . . . 16 | |||
| 8. Scalability . . . . . . . . . . . . . . . . . . . . . . . . . 19 | 8.1. DLEP Signal Header . . . . . . . . . . . . . . . . . . . 17 | |||
| 9. DLEP Signal and Message Structure . . . . . . . . . . . . . . 19 | 8.2. DLEP Message Header . . . . . . . . . . . . . . . . . . . 17 | |||
| 9.1. DLEP Signal Header . . . . . . . . . . . . . . . . . . . 20 | 8.3. DLEP Generic Data Item . . . . . . . . . . . . . . . . . 18 | |||
| 9.2. DLEP Message Header . . . . . . . . . . . . . . . . . . . 21 | 9. DLEP Signals and Messages . . . . . . . . . . . . . . . . . . 18 | |||
| 9.3. DLEP Generic Data Item . . . . . . . . . . . . . . . . . 21 | 9.1. General Processing Rules . . . . . . . . . . . . . . . . 20 | |||
| 10. DLEP Signals and Messages . . . . . . . . . . . . . . . . . . 22 | 9.2. Status code processing . . . . . . . . . . . . . . . . . 20 | |||
| 10.1. Peer Discovery Signal . . . . . . . . . . . . . . . . . 23 | 9.3. Peer Discovery Signal . . . . . . . . . . . . . . . . . . 21 | |||
| 10.2. Peer Offer Signal . . . . . . . . . . . . . . . . . . . 24 | 9.4. Peer Offer Signal . . . . . . . . . . . . . . . . . . . . 21 | |||
| 10.3. Session Initialization Message . . . . . . . . . . . . . 24 | 9.5. Session Initialization Message . . . . . . . . . . . . . 22 | |||
| 10.4. Session Initialization Response Message . . . . . . . . 25 | 9.6. Session Initialization Response Message . . . . . . . . . 23 | |||
| 10.5. Session Update Message . . . . . . . . . . . . . . . . . 27 | 9.7. Session Update Message . . . . . . . . . . . . . . . . . 24 | |||
| 10.6. Session Update Response Message . . . . . . . . . . . . 28 | 9.8. Session Update Response Message . . . . . . . . . . . . . 25 | |||
| 10.7. Session Termination Message . . . . . . . . . . . . . . 28 | 9.9. Session Termination Message . . . . . . . . . . . . . . . 26 | |||
| 10.8. Session Termination Response Message . . . . . . . . . . 29 | 9.10. Session Termination Response Message . . . . . . . . . . 26 | |||
| 10.9. Destination Up Message . . . . . . . . . . . . . . . . . 29 | 9.11. Destination Up Message . . . . . . . . . . . . . . . . . 26 | |||
| 10.10. Destination Up Response Message . . . . . . . . . . . . 30 | 9.12. Destination Up Response Message . . . . . . . . . . . . . 27 | |||
| 10.11. Destination Announce Message . . . . . . . . . . . . . . 31 | 9.13. Destination Announce Message . . . . . . . . . . . . . . 28 | |||
| 10.12. Destination Announce Response Message . . . . . . . . . 31 | 9.14. Destination Announce Response Message . . . . . . . . . . 29 | |||
| 10.13. Destination Down Message . . . . . . . . . . . . . . . . 33 | 9.15. Destination Down Message . . . . . . . . . . . . . . . . 30 | |||
| 10.14. Destination Down Response Message . . . . . . . . . . . 33 | 9.16. Destination Down Response Message . . . . . . . . . . . . 30 | |||
| 10.15. Destination Update Message . . . . . . . . . . . . . . . 34 | 9.17. Destination Update Message . . . . . . . . . . . . . . . 31 | |||
| 10.16. Heartbeat Message . . . . . . . . . . . . . . . . . . . 35 | 9.18. Link Characteristics Request Message . . . . . . . . . . 32 | |||
| 10.17. Link Characteristics Request Message . . . . . . . . . . 35 | 9.19. Link Characteristics Response Message . . . . . . . . . . 33 | |||
| 10.18. Link Characteristics Response Message . . . . . . . . . 36 | 9.20. Heartbeat Message . . . . . . . . . . . . . . . . . . . . 34 | |||
| 11. DLEP Data Items . . . . . . . . . . . . . . . . . . . . . . . 38 | 10. DLEP Data Items . . . . . . . . . . . . . . . . . . . . . . . 34 | |||
| 11.1. Status . . . . . . . . . . . . . . . . . . . . . . . . . 39 | 10.1. Status . . . . . . . . . . . . . . . . . . . . . . . . . 35 | |||
| 11.2. IPv4 Connection Point . . . . . . . . . . . . . . . . . 41 | 10.2. IPv4 Connection Point . . . . . . . . . . . . . . . . . 37 | |||
| 11.3. IPv6 Connection Point . . . . . . . . . . . . . . . . . 42 | 10.3. IPv6 Connection Point . . . . . . . . . . . . . . . . . 38 | |||
| 11.4. Peer Type . . . . . . . . . . . . . . . . . . . . . . . 43 | 10.4. Peer Type . . . . . . . . . . . . . . . . . . . . . . . 39 | |||
| 11.5. Heartbeat Interval . . . . . . . . . . . . . . . . . . . 44 | 10.5. Heartbeat Interval . . . . . . . . . . . . . . . . . . . 39 | |||
| 11.6. Extensions Supported . . . . . . . . . . . . . . . . . . 44 | 10.6. Extensions Supported . . . . . . . . . . . . . . . . . . 40 | |||
| 11.7. MAC Address . . . . . . . . . . . . . . . . . . . . . . 45 | 10.7. MAC Address . . . . . . . . . . . . . . . . . . . . . . 41 | |||
| 11.8. IPv4 Address . . . . . . . . . . . . . . . . . . . . . . 46 | 10.8. IPv4 Address . . . . . . . . . . . . . . . . . . . . . . 41 | |||
| 11.9. IPv6 Address . . . . . . . . . . . . . . . . . . . . . . 47 | 10.9. IPv6 Address . . . . . . . . . . . . . . . . . . . . . . 42 | |||
| 11.10. IPv4 Attached Subnet . . . . . . . . . . . . . . . . . . 48 | 10.10. IPv4 Attached Subnet . . . . . . . . . . . . . . . . . . 43 | |||
| 11.11. IPv6 Attached Subnet . . . . . . . . . . . . . . . . . . 49 | 10.11. IPv6 Attached Subnet . . . . . . . . . . . . . . . . . . 44 | |||
| 11.12. Maximum Data Rate (Receive) . . . . . . . . . . . . . . 50 | 10.12. Maximum Data Rate (Receive) . . . . . . . . . . . . . . 45 | |||
| 11.13. Maximum Data Rate (Transmit) . . . . . . . . . . . . . . 50 | 10.13. Maximum Data Rate (Transmit) . . . . . . . . . . . . . . 46 | |||
| 11.14. Current Data Rate (Receive) . . . . . . . . . . . . . . 51 | 10.14. Current Data Rate (Receive) . . . . . . . . . . . . . . 46 | |||
| 11.15. Current Data Rate (Transmit) . . . . . . . . . . . . . . 52 | 10.15. Current Data Rate (Transmit) . . . . . . . . . . . . . . 47 | |||
| 11.16. Latency . . . . . . . . . . . . . . . . . . . . . . . . 53 | 10.16. Latency . . . . . . . . . . . . . . . . . . . . . . . . 48 | |||
| 11.17. Resources (Receive) . . . . . . . . . . . . . . . . . . 53 | 10.17. Resources . . . . . . . . . . . . . . . . . . . . . . . 48 | |||
| 11.18. Resources (Transmit) . . . . . . . . . . . . . . . . . . 54 | 10.18. Relative Link Quality (Receive) . . . . . . . . . . . . 49 | |||
| 11.19. Relative Link Quality (Receive) . . . . . . . . . . . . 55 | 10.19. Relative Link Quality (Transmit) . . . . . . . . . . . . 50 | |||
| 11.20. Relative Link Quality (Transmit) . . . . . . . . . . . . 55 | 10.20. Maximum Transmission Unit (MTU) . . . . . . . . . . . . 50 | |||
| 11.21. Maximum Transmission Unit (MTU) . . . . . . . . . . . . 56 | 11. Security Considerations . . . . . . . . . . . . . . . . . . . 51 | |||
| 12. Security Considerations . . . . . . . . . . . . . . . . . . . 57 | 12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 52 | |||
| 13. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 57 | 12.1. Registrations . . . . . . . . . . . . . . . . . . . . . 52 | |||
| 13.1. Registrations . . . . . . . . . . . . . . . . . . . . . 57 | 12.2. Signal Type Registration . . . . . . . . . . . . . . . . 53 | |||
| 13.2. Signal/Message Type Registration . . . . . . . . . . . . 58 | 12.3. Message Type Registration . . . . . . . . . . . . . . . 53 | |||
| 13.3. DLEP Data Item Registrations . . . . . . . . . . . . . . 58 | 12.4. DLEP Data Item Registrations . . . . . . . . . . . . . . 53 | |||
| 13.4. DLEP Status Code Registrations . . . . . . . . . . . . . 58 | 12.5. DLEP Status Code Registrations . . . . . . . . . . . . . 53 | |||
| 13.5. DLEP Extensions Registrations . . . . . . . . . . . . . 59 | 12.6. DLEP Extensions Registrations . . . . . . . . . . . . . 53 | |||
| 13.6. DLEP Well-known Port . . . . . . . . . . . . . . . . . . 59 | 12.7. DLEP Well-known Port . . . . . . . . . . . . . . . . . . 54 | |||
| 13.7. DLEP IPv4 Link-local Multicast Address . . . . . . . . . 59 | 12.8. DLEP IPv4 Link-local Multicast Address . . . . . . . . . 54 | |||
| 13.8. DLEP IPv6 Link-local Multicast Address . . . . . . . . . 59 | 12.9. DLEP IPv6 Link-local Multicast Address . . . . . . . . . 54 | |||
| 14. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 59 | 13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 54 | |||
| 15. References . . . . . . . . . . . . . . . . . . . . . . . . . 60 | 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 54 | |||
| 15.1. Normative References . . . . . . . . . . . . . . . . . . 60 | 14.1. Normative References . . . . . . . . . . . . . . . . . . 54 | |||
| 15.2. Informative References . . . . . . . . . . . . . . . . . 60 | 14.2. Informative References . . . . . . . . . . . . . . . . . 55 | |||
| Appendix A. Discovery Signal Flows . . . . . . . . . . . . . . . 60 | Appendix A. Discovery Signal Flows . . . . . . . . . . . . . . . 55 | |||
| Appendix B. Peer Level Message Flows . . . . . . . . . . . . . . 61 | Appendix B. Peer Level Message Flows . . . . . . . . . . . . . . 56 | |||
| B.1. Session Initialization . . . . . . . . . . . . . . . . . 61 | B.1. Session Initialization . . . . . . . . . . . . . . . . . 56 | |||
| B.2. Session Initialization - Refused . . . . . . . . . . . . 62 | B.2. Session Initialization - Refused . . . . . . . . . . . . 56 | |||
| B.3. Router Changes IP Addresses . . . . . . . . . . . . . . . 62 | B.3. Router Changes IP Addresses . . . . . . . . . . . . . . . 57 | |||
| B.4. Modem Changes Session-wide Metrics . . . . . . . . . . . 62 | B.4. Modem Changes Session-wide Metrics . . . . . . . . . . . 57 | |||
| B.5. Router Terminates Session . . . . . . . . . . . . . . . . 63 | B.5. Router Terminates Session . . . . . . . . . . . . . . . . 58 | |||
| B.6. Modem Terminates Session . . . . . . . . . . . . . . . . 63 | B.6. Modem Terminates Session . . . . . . . . . . . . . . . . 58 | |||
| B.7. Session Heartbeats . . . . . . . . . . . . . . . . . . . 64 | B.7. Session Heartbeats . . . . . . . . . . . . . . . . . . . 58 | |||
| B.8. Router Detects a Heartbeat timeout . . . . . . . . . . . 65 | B.8. Router Detects a Heartbeat timeout . . . . . . . . . . . 59 | |||
| B.9. Modem Detects a Heartbeat timeout . . . . . . . . . . . . 66 | B.9. Modem Detects a Heartbeat timeout . . . . . . . . . . . . 59 | |||
| Appendix C. Destination Specific Message Flows . . . . . . . . . 66 | Appendix C. Destination Specific Message Flows . . . . . . . . . 60 | |||
| C.1. Common Destination Notification . . . . . . . . . . . . . 66 | C.1. Common Destination Notification . . . . . . . . . . . . . 60 | |||
| C.2. Multicast Destination Notification . . . . . . . . . . . 67 | C.2. Multicast Destination Notification . . . . . . . . . . . 61 | |||
| C.3. Link Characteristics Request . . . . . . . . . . . . . . 68 | C.3. Link Characteristics Request . . . . . . . . . . . . . . 61 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 69 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 62 | |||
| 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 6, line 5 ¶ | skipping to change at page 5, line 51 ¶ | |||
| |-DLEP--| | Protocol | |-DLEP--| | |-DLEP--| | Protocol | |-DLEP--| | |||
| | | | (e.g. | | | | | | | (e.g. | | | | |||
| | | | 802.11) | | | | | | | 802.11) | | | | |||
| Figure 1: DLEP Network | Figure 1: DLEP Network | |||
| In Figure 1, when the local modem detects the presence of a remote | In Figure 1, when the local modem detects the presence of a remote | |||
| node, it (the local modem) sends a message to its router via the DLEP | node, it (the local modem) sends a message to its router via the DLEP | |||
| protocol. The message consists of an indication of what change has | protocol. The message consists of an indication of what change has | |||
| occurred on the link (e.g., presence of a remote node detected), | occurred on the link (e.g., presence of a remote node detected), | |||
| along with a collection of DLEP-defined Data Items that further | along with a collection of DLEP-defined data items that further | |||
| describe the change. Upon receipt of the message, the local router | describe the change. Upon receipt of the message, the local router | |||
| may take whatever action it deems appropriate, such as initiating | may take whatever action it deems appropriate, such as initiating | |||
| discovery protocols, and/or issuing HELLO messages to converge the | discovery protocols, and/or issuing HELLO messages to converge the | |||
| network. On a continuing, as-needed basis, the modem devices use | network. On a continuing, as-needed basis, the modem devices use | |||
| DLEP to report any characteristics of the link (datarate, latency, | DLEP to report any characteristics of the link (datarate, latency, | |||
| etc.) that have changed. DLEP is independent of the link type and | etc.) that have changed. DLEP is independent of the link type and | |||
| topology supported by the modem. Note that the DLEP protocol is | topology supported by the modem. Note that the DLEP protocol is | |||
| specified to run only on the local link between router and modem. | specified to run only on the local link between router and modem. | |||
| Some over the air signaling may be necessary between the local and | Some over the air signaling may be necessary between the local and | |||
| remote modem in order to provide some parameters in DLEP messages | remote modem in order to provide some parameters in DLEP messages | |||
| skipping to change at page 7, line 30 ¶ | skipping to change at page 7, line 4 ¶ | |||
| o o | o o | |||
| o o | o o | |||
| o | o | |||
| +--------+ | +--------+ | |||
| | Modem | | | Modem | | |||
| | Device | | | Device | | |||
| | Type B | | | Type B | | |||
| +---+----+ | +---+----+ | |||
| | | | | |||
| | | | | |||
| +---+----+ | +---+----+ | |||
| | Router | | | Router | | |||
| | | | | | | |||
| +--------+ | +--------+ | |||
| Figure 2: DLEP Network with Multiple Modem Devices | Figure 2: DLEP Network with Multiple Modem Devices | |||
| 1.1. Requirements | 1.1. Requirements | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
| "OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in BCP | |||
| 14, RFC 2119 [RFC2119]. | 14, RFC 2119 [RFC2119]. | |||
| DLEP requires that the MAC address for delivering data traffic is the | ||||
| MAC address used by DLEP to identify the destination. No | ||||
| manipulation or substitution is performed; the MAC address supplied | ||||
| in all destination messages is used as the OSI Layer 2 Destination | ||||
| MAC address. DLEP also 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 | ||||
| participating DLEP peers are on a single segment (either physical or | ||||
| logically, via tunneling protocols) at Layer 2. | ||||
| 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 Peers', | to a modems/routers participating in a DLEP session as 'DLEP Peers', | |||
| or 'DLEP Participants', unless a specific distinction (e.g. modem or | or 'DLEP Participants', unless a specific distinction (e.g. modem or | |||
| router) is required. | router) is required. | |||
| DLEP uses a session-oriented paradigm between the modem device and | DLEP uses a session-oriented paradigm between the modem device and | |||
| 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 traffic (including heartbeats), or | times out, based on the absence of DLEP traffic (including | |||
| (2) is explicitly torn down by one of the participants. | heartbeats), or (2) is explicitly torn down by one of the DLEP | |||
| participants. | ||||
| 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. A destination can be either | the link(s) managed by the modem. | |||
| physical or logical. | ||||
| The example of a physical destination would be that of a remote, far- | The DLEP Messages concerning destinations thus become the way for | |||
| end router attached via the variable-quality network. | routers and modems to maintain, and notify each other about, an | |||
| information base representing the physical and logical destinations | ||||
| accessible via the modem device, as well as the link characteristics | ||||
| to those destinations. | ||||
| DLEP indentifies 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 OSI Layer | ||||
| 2 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 | ||||
| participating DLEP peers 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 | ||||
| physical destination would be that of a remote, far-end router | ||||
| attached via the variable-quality network. It should be noted that | ||||
| for physical destinations the MAC address is the address of the far- | ||||
| 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, | |||
| multicast traffic is supported in DLEP simply by treating the derived | multicast traffic is supported in DLEP simply by treating the derived | |||
| MAC address as any other destination in the network. To support | MAC address as any other destination in the network. | |||
| these logical destinations, one of the DLEP participants (typically, | ||||
| the router) informs the other as to the existence of the logical | ||||
| destination. The modem, once it is aware of the existence of this | ||||
| logical destination, reports link characteristics just as it would | ||||
| for any other destination in the network. The specific algorithms a | ||||
| modem would use to derive metrics on logical destinations are outside | ||||
| the scope of this specification, and is left to specific | ||||
| implementations to decide. | ||||
| The DLEP messages concerning destinations thus become the way for | To support these logical destinations, one of the DLEP participants | |||
| routers and modems to maintain, and notify each other about, an | (typically, the router) informs the other as to the existence of the | |||
| information base representing the physical and logical destinations | logical destination. The modem, once it is aware of the existence of | |||
| accessible via the modem device, as well as the link characteristics | this logical destination, reports link characteristics just as it | |||
| to those destinations. | would for any other destination in the network. The specific | |||
| algorithms a modem would use to derive metrics on logical | ||||
| destinations are outside the scope of this specification, and is left | ||||
| to specific implementations to decide. | ||||
| 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 rules of behavior, | Such extensions are defined as additional rules of behavior, | |||
| messages, data items and/or status codes that are not defined in this | Messages, Data Items and/or status codes that are not defined in this | |||
| document. DLEP contains a standard mechanism for router and modem | document. DLEP contains a standard mechanism for router and modem | |||
| implementations to negotiate the available extensions to use on a | implementations to negotiate the available extensions to use on a | |||
| per-session basis. | per-session basis. | |||
| 2.1. Assumptions | 2.1. Assumptions | |||
| 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 control messages. Therefore, DLEP assumes | TCP for transport of the Messages. Therefore, DLEP assumes that the | |||
| that the modem and router have topologically consistent IP addresses | modem and router have topologically consistent IP addresses assigned. | |||
| assigned. It is RECOMMENDED that DLEP implementations utilize IPv6 | It is RECOMMENDED that DLEP implementations utilize IPv6 link-local | |||
| link-local addresses to reduce the administrative burden of address | addresses to reduce the administrative burden of address assignment. | |||
| assignment. DLEP relies on the guaranteed- delivery of its messages | DLEP relies on the guaranteed- delivery of its Messages between | |||
| between router and modem, once the 1 hop discovery process is | router and modem, once the 1 hop discovery process is complete, | |||
| complete, hence, the specification of TCP to carry the messages. | hence, the specification of TCP to carry the Messages. Other | |||
| Other reliable transports for the protocol are possible, but are | reliable transports for the protocol are possible, but are outside | |||
| outside the scope of this document. | the scope of this document. | |||
| DLEP further assumes that security of the implementations (e.g., | DLEP further assumes 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 | |||
| messages and the TCP control messages. | Signals and the TCP control Messages. | |||
| 3. Destinations | ||||
| Destination messages describe the acquisition and loss of network | ||||
| destinations, and control the flow of information about the | ||||
| destinations in the several ways. A destination MUST contain a MAC | ||||
| address; it MAY optionally include a Layer 3 address (or multiple | ||||
| addresses). The MAC address MAY reference a logical destination, as | ||||
| in a derived multicast MAC address, as well as a physical device. As | ||||
| destinations are discovered, DLEP routers and modems build an | ||||
| information base of destinations accessible via the modem. | ||||
| 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 | ||||
| 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 | ||||
| connected to the router with an EUI-48 MAC, all destination addresses | ||||
| via that modem MUST be expressed in EUI-48 format). | ||||
| Destination messages trigger creation/maintenance/deletion of | ||||
| destinations in the information base of the recipient. For example, | ||||
| a modem will inform its attached router of the presence of a new | ||||
| destination via the Destination Up message (Section 10.9). Receipt | ||||
| of a Destination Up causes the router to allocate the necessary | ||||
| resources, creating an entry in the information base with the | ||||
| specifics (i.e. MAC Address, Latency, Data Rate, etc.) of the | ||||
| destination. The loss of a destination is communicated via the | ||||
| Destination Down message (Section 10.13), and changes in status to | ||||
| the destination (e.g., varying link quality, or addressing changes) | ||||
| are communicated via the Destination Update message (Section 10.15). | ||||
| The information on a given destination will persist in the | ||||
| implementation's information base until a Destination Down message is | ||||
| received, indicating that the peer has lost contact or interest with | ||||
| the remote node, or the implementation transitions to the Session | ||||
| Termination state. | ||||
| 3.1. Router-requested Destinations | ||||
| Usually a modem will discover the presence of one or more remote | ||||
| router/modem pairs and announce each destination's arrival by sending | ||||
| a corresponding Destination Up message to its peer. However, there | ||||
| may be times when a router wishes to express an interest in the | ||||
| status of the link to a logical destination that has yet to be | ||||
| announced, typically a multicast destination. To facilitate this, | ||||
| DLEP provides the Destination Announce (Section 10.11) and | ||||
| Destination Announce Response (Section 10.12) messages. These | ||||
| messages have similar semantics to the Destination Up and Destination | ||||
| Up Response messages, but flow from router to modem. | ||||
| After successfully receiving and processing a Destination Announce | ||||
| message, a modem then announces changes to the link to the logical | ||||
| destination via Destination Update messages. A modem MAY refuse a | ||||
| Destination Announce message by replying with a Destination Announce | ||||
| Response message with a 'Request Denied' status code, see Table 3. | ||||
| A Destination Announce message MAY also be used by a router to | ||||
| request information concerning a destination that it has previously | ||||
| declined interest in, via the 'Not Interested' status code, see | ||||
| Table 3, or declared as down, via the Destination Down message. | ||||
| One of the advantages of implementing DLEP is to leverage the modem's | ||||
| knowledge of the links between remote destinations allowing routers | ||||
| to avoid using probed neighbor discovery techniques, therefore modem | ||||
| implementations SHOULD announce available destinations via the | ||||
| Destination Up message, rather than relying on Destination Announce | ||||
| messages. | ||||
| 4. Metrics | 3. 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. | |||
| 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 MUST propagate the metrics to all entries in its | level, the router MUST propagate 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 modem implementations MUST announce all metric items that will | DLEP modem implementations MUST announce all metric Data Items that | |||
| be reported during the session, and provide default values for those | will be reported during the session, and provide default values for | |||
| metrics, in the Session Initialization Response message | those metrics, in the Session Initialization Response Message | |||
| (Section 10.4). In order to use a metric type that was not included | (Section 9.6). In order to use a metric type that was not included | |||
| in the Session Initialization Response message, modem implementations | in the Session Initialization Response Message, modem implementations | |||
| MUST terminate the session with the router (via the Session Terminate | MUST terminate the session with the router (via the Session Terminate | |||
| message (Section 10.7)), and establish a new session. A modem MUST | Message (Section 9.9)), and establish a new session. | |||
| include the following list of metrics in the Session Initialization | ||||
| Response message: | ||||
| o Maximum Data Rate (Receive) (Section 11.12) | ||||
| o Maximum Data Rate (Transmit) (Section 11.13) | ||||
| o Current Data Rate (Receive) (Section 11.14) | ||||
| o Current Data Rate (Transmit) (Section 11.15) | ||||
| o Latency (Section 11.16) | ||||
| A DLEP modem MAY send metrics both in a session context (via the | A DLEP modem MAY send metrics both in a session context (via the | |||
| Session Update message) and a specific destination context (via | Session Update Message) and a specific destination context (via | |||
| Destination Update) at any time. The most recently received metric | Destination Update) at any time. The most recently received metric | |||
| value MUST take precedence over any earlier value, regardless of | value MUST take precedence over any earlier value, regardless of | |||
| context - that is: | 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 modem-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 MUST be updated with the new metric. | accessed via the modem MUST be 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 MAY report metrics only once | changing) link metric characteristics MAY report metrics only once | |||
| for a given destination (or once on a modem-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 10.17), and gives the router the ability to | Request Message (Section 9.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. | |||
| 5. DLEP Session Flow | 4. DLEP Session Flow | |||
| All Peers participating in a DLEP session transition through five (5) | 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 | |||
| The Peer Discovery state is OPTIONAL to implement for routers. If it | Modems, and routers supporting DLEP discovery, transition through all | |||
| is used, this state is the initial state. If it is not used, then a | five (5) of the above states. Routers that rely on preconfigured TCP | |||
| preconfigured TCP address/port combination MUST be provided to the | address/port information start in the Session Initialization state. | |||
| router, and the router starts in the Session Initialization state. | ||||
| Modems MUST support the Peer Discovery state. | Modems MUST support the Peer Discovery state. | |||
| 5.1. Peer Discovery State | 4.1. Peer Discovery State | |||
| In the Peer Discovery state, if the router implementation supports | ||||
| IPv6, it SHOULD send UDP packets containing a Peer Discovery signal | ||||
| (Section 10.1) to the DLEP well-known IPv6 link-local multicast | ||||
| address (Section 13.8) and port number (Section 13.6), setting the | ||||
| packet source address to a valid IPv6 link-local address and the | ||||
| source port to a valid port number. | ||||
| If the router implementation supports IPv4, it SHOULD send UDP | ||||
| packets containing a Peer Discovery signal (Section 10.1) to the DLEP | ||||
| well-known IPv4 link-local multicast address (Section 13.7) and port | ||||
| number (Section 13.6), setting the packet source address to a valid | ||||
| local IPv4 address and the source port to a valid port number. | ||||
| The implementation then waits for a unicast UDP packet containing a | ||||
| Peer Offer signal (Section 10.2) from a potential DLEP peer modem. | ||||
| While in the Peer Discovery state, Peer Discovery signals MUST be | ||||
| sent repeatedly by a DLEP router, at regular intervals. The interval | ||||
| MUST be a minimum of one second; it SHOULD be a configurable | ||||
| parameter. Note that this operation (sending Peer Discovery and | ||||
| waiting for Peer Offer) is outside the DLEP Transaction Model, as the | ||||
| Transaction Model only describes messages on a TCP session. | ||||
| In the Peer Discovery state, the DLEP modem implementation MUST | ||||
| listen for incoming Peer Discovery signals on the DLEP well-known | ||||
| link-local multicast address and port. The choice of using the well- | ||||
| known IPv4 or the IPv6 well- known link-local multicast address and | ||||
| port MUST be made by configuration. On receipt of a valid Peer | ||||
| Discovery signal, it MUST unicast a Peer Offer signal to the source | ||||
| address and port of the received UDP packet. Peer Offer signals MAY | ||||
| contain one or more unicast address/port combinations for TCP-based | ||||
| communication with the modem, via the IPv4 Connection Point data item | ||||
| (Section 11.2) or the IPv6 Connection Point data item (Section 11.3), | ||||
| on which it is prepared to accept an incoming TCP connection. If the | ||||
| modem does not include an IPv4 Connection Point data item, nor a IPv6 | ||||
| Connection Point data item, then the source address of the packet | ||||
| containing the Peer Offer signal MUST be used as the address on which | ||||
| the modem is willing to accept TCP connections. | ||||
| Upon establishment of a TCP connection, both modem and router enter | In the Peer Discovery state, routers that support DLEP discovery MUST | |||
| the Session Initialization state. Anything other than Peer Discovery | send UDP packets containing a Peer Discovery Signal (Section 9.3) to | |||
| signals received on the UDP socket MUST be silently dropped. | the DLEP well-known address and port number. For routers supporting | |||
| both IPv4 and IPv6 DLEP operation, it is RECOMMENDED that IPv6 be | ||||
| selected as the transport. | ||||
| Modems MUST be prepared to accept a TCP connection from a router that | The router implementation then waits for a unicast UDP packet | |||
| is not using the Discovery mechanism, i.e. a connection attempt that | containing a Peer Offer Signal (Section 9.4) from a potential DLEP | |||
| occurs without a preceding Peer Discovery signal. | peer modem. While in the Peer Discovery state, Peer Discovery | |||
| Signals MUST be sent repeatedly by a DLEP router, at regular | ||||
| intervals. The interval MUST be a minimum of one second; it SHOULD | ||||
| be a configurable parameter. Note that this operation (sending Peer | ||||
| Discovery and waiting for Peer Offer) is outside the DLEP Transaction | ||||
| Model, as the Transaction Model only describes Messages on a TCP | ||||
| session. | ||||
| Routers MUST use one or more of the modem address/port combinations | Routers MUST use one or more of the modem address/port combinations | |||
| from the Peer Offer signal or from a priori configuration to | from the Peer Offer Signal or from a priori configuration to | |||
| establish a new TCP connection to the modem. If more than one modem | establish a new TCP connection to the modem. If more than one modem | |||
| address/port combinations is available, router implementations MAY | address/port combinations is available, router implementations MAY | |||
| use their own heuristics to determine the order in which they are | use their own heuristics to determine the order in which they are | |||
| tried. It is RECOMMENDED that an implementation attempt to connect | tried. If a TCP connection cannot be achieved using any of the | |||
| to any announced IPv6 address/port combinations before attempting to | address/port combinations and the Discovery mechanism is in use, then | |||
| use IPv4 combinations. If a TCP connection cannot be achieved using | the router SHOULD resume issuing Peer Discovery Signals. If no IPv4 | |||
| any of the address/port combinations and the Discovery mechanism is | Connection Point Data Items, nor IPv6 Connection Point Data Items are | |||
| in use, then the router SHOULD resume issuing Peer Discovery signals. | included in the Peer Offer Signal, the router MUST use the source | |||
| If no IPv4 Connection Point data items, nor IPv6 Connection Point | address of the UDP packet containing the Signal as the IP address, | |||
| data items are included in the Peer Offer signal, the router MUST use | and the DLEP well-known port number. | |||
| the origin address of the UDP packet containing the signal as the IP | ||||
| address, and the DLEP well-known port number. | ||||
| Once a TCP connection has been established with the modem, the router | In the Peer Discovery state, the modem implementation MUST listen for | |||
| begins a new session and enters the Session Initialization state. It | incoming Peer Discovery Signals on the DLEP well-known link-local | |||
| is up to the router implementation if Peer Discovery signals continue | multicast address and port. On receipt of a valid Peer Discovery | |||
| to be sent after the device has transitioned to the Session | Signal, it MUST unicast a Peer Offer Signal to the source address and | |||
| Initialization state. | port of the received UDP packet. | |||
| 5.2. Session Initialization State | 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 | ||||
| occurs without a preceding Peer Discovery Signal. | ||||
| Upon establishment of a TCP connection, both modem and router enter | ||||
| the Session Initialization state. It is up to the router | ||||
| implementation if Peer Discovery Signals continue to be sent after | ||||
| the device has transitioned to the Session Initialization state. | ||||
| Modem implementations MUST silently ignore Peer Discovery Signals | ||||
| from a router with which it already has a TCP connection. | ||||
| 4.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 10.3) to the modem. The | Session Initialization Message (Section 9.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 10.4) from the modem. Receipt of the | Response Message (Section 9.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 11.1) with value 'Success', see Table 3, indicates that the | (Section 10.1) with status code set to 0 'Success', see Table 4, | |||
| modem has received and processed the Session Initialization message, | indicates that the modem has received and processed the Session | |||
| and the router MUST transition to the In-Session state. | Initialization Message, and the router MUST transition to the In- | |||
| 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. | transition to the In-Session state. If the modem receives any | |||
| Message other than Session Initialization, or it fails to parse the | ||||
| received Message, it MUST NOT send any Message, and MUST terminate | ||||
| 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 7. Extensions supported by | Session Initialization state, see Section 6. Extensions supported by | |||
| an implementation MUST be declared to potential DLEP peers using the | an implementation MUST be declared to potential DLEP peers using the | |||
| Extensions Supported data item (Section 11.6). Once both | Extensions Supported Data Item (Section 10.6). Once both DLEP peers | |||
| participants have exchanged initialization messages, an | have exchanged initialization Messages, an implementation MUST NOT | |||
| implementation MUST NOT emit any message, signal, data item or status | emit any Message, Signal, Data Item or status code associated with an | |||
| code associated with an extension that was not specified in the | extension that was not specified in the received initialization | |||
| received initialization message from its peer. | Message from its peer. | |||
| If the router receives any message other than a valid Session | ||||
| Initialization Response, it MUST send a Session Termination message | ||||
| (Section 10.7) with the 'Unexpected Message' status code, see | ||||
| Table 3, and transition to the Session Termination state. | ||||
| If the modem receives any message other than Session Initialization, | ||||
| or it fails to parse the received message, it MUST NOT send any | ||||
| message, and MUST terminate the TCP connection and transition to the | ||||
| Session Reset state. | ||||
| If an additional metric is to be introduced after the session has | ||||
| started, the session between router and modem MUST be terminated and | ||||
| restarted, and the new metric described in the next Session | ||||
| Initialization Response message. | ||||
| 5.3. In-Session State | 4.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 | |||
| participants, indicating changes to the session state, the arrival or | DLEP peers, indicating changes to the session state, the arrival or | |||
| departure of reachable destinations, or changes of the state of the | departure of reachable destinations, or changes of the state of the | |||
| links to the destinations. | 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 A peer terminates the session by sending a Session Termination | o The implementation terminates the session by sending a Session | |||
| message (Section 10.7)), or, | Termination Message (Section 9.9)), or, | |||
| o The peer terminates the session, indicated by receiving a Session | o The peer terminates the session, indicated by receiving a Session | |||
| Termination message. | Termination Message. | |||
| The peer MUST then transition to the Session Termination state. | ||||
| Prior to the exchange of Destination Up (Section 10.9) and | The implementation MUST then transition to the Session Termination | |||
| Destination Up Response (Section 10.10) messages, or Destination | ||||
| Announce (Section 10.11) and Destination Announce Response | ||||
| (Section 10.12) messages, no messages concerning the logical | ||||
| destination identified by the MAC Address data item (Section 11.7) | ||||
| may be sent. A peer receiving any message with such an unannounced | ||||
| destination MUST terminate the session by issuing a Session | ||||
| Termination message (Section 10.7) with a status code of 'Invalid | ||||
| Destination', see Table 3, and transition to the Session Termination | ||||
| state. | state. | |||
| The router receiving a Destination Up message MAY decline further | 4.3.1. Heartbeats | |||
| messages concerning a given destination by sending a Destination Up | ||||
| Response with a status code of 'Not Interested'. Modems receiving | ||||
| such responses MUST NOT send further messages concerning that | ||||
| destination to the router. | ||||
| After exchanging Destination Down (Section 10.13) and Destination | ||||
| Down Response (Section 10.14) messages, no messages concerning the | ||||
| logical destination identified by the MAC Address data item may be a | ||||
| sent without previously sending a new Destination Up message. A peer | ||||
| receiving a message about a destination previously announced as | ||||
| 'down' MUST terminate the session by issuing a Session Termination | ||||
| message with a status code of 'Invalid Destination' and transition to | ||||
| the Session Termination state. | ||||
| 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 10.16) MAY be exchanged between router and modem. | Messages (Section 9.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 participants. | bidirectional connectivity between the two DLEP peers. | |||
| If Heartbeat messages are used, the following processing rules MUST | ||||
| apply: | ||||
| o Each DLEP peer is responsible for the creation of heartbeat | Each DLEP participant is responsible for the creation of Heartbeat | |||
| messages. | Messages. | |||
| o Receipt of any valid DLEP message MUST reset the heartbeat | Receipt of any valid DLEP Message MUST reset the heartbeat interval | |||
| interval timer (i.e., valid DLEP messages take the place of, and | timer (i.e., valid DLEP Messages take the place of, and obviate the | |||
| obviate the need for, additional Heartbeat messages). | need for, additional Heartbeat Messages). | |||
| o DLEP peers SHOULD allow two (2) heartbeat intervals to expire with | Implementations SHOULD allow two (2) heartbeat intervals to expire | |||
| no messages from the peer before terminating the session by | with no Messages from the peer before terminating the session by | |||
| issuing a Session Termination message with a status code of 'Timed | issuing a Session Termination Message containing a Status Data Item | |||
| Out', and then transition to the Session Termination state. | (Section 10.1) with status code set to 5 'Timed Out', see Table 4, | |||
| and then transition to the Session Termination state. | ||||
| 5.4. Session Termination State | 4.4. Session Termination State | |||
| When a DLEP implementation enters the Session Termination state after | When an implementation enters the Session Termination state after | |||
| sending a Session Termination message (Section 10.7) as the result of | sending a Session Termination Message (Section 9.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 10.8) from its peer. If Heartbeat messages | Response Message (Section 9.10) from its peer. Senders SHOULD allow | |||
| (Section 10.16) are in use, senders SHOULD allow four (4) heartbeat | four (4) heartbeat intervals to expire before assuming that the peer | |||
| intervals to expire before assuming that the peer is unresponsive, | is unresponsive, and continuing with session termination. Any other | |||
| and continuing with session termination. If Heartbeat messages are | Message received while waiting MUST be silently ignored. | |||
| not in use, then if is RECOMMENDED that an interval of eight (8) | ||||
| seconds be used. | ||||
| 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 enters the Session Termination state having | When an implementation enters the Session Termination state having | |||
| received a Session Termination message from its peer, it MUST | received a Session Termination Message from its peer, 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. | |||
| Any messages received after either sending or receiving a Session | 4.5. Session Reset state | |||
| Termination message MUST be silently ignored. | ||||
| 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 accessible via | o Eliminate all destinations in the information base represented by | |||
| the modem represented by the session. Destination Down messages | the session. Destination Down Messages (Section 9.15) MUST NOT be | |||
| (Section 10.13) MUST NOT be sent. | 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. | |||
| 5.5.1. Unexpected TCP connection termination | 4.5.1. Unexpected TCP connection termination | |||
| If the TCP connection between peers is terminated when a participant | If the TCP connection between DLEP peers is terminated when an | |||
| is not in the Session Reset state, the implementation MUST | implementation is not in the Session Reset state, the implementation | |||
| immediately transition to the Session Reset state. | MUST immediately transition to the Session Reset state. | |||
| 6. Transaction Model | 5. 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. A message transaction is | destination may be in progress at a time per session. A Message | |||
| considered complete when a response matching a previously issued | transaction is considered complete when a response matching a | |||
| request is received. If a participant receives a request for a | previously issued request is received. If a DLEP participant | |||
| destination for which there is already an outstanding request, the | receives a request for a destination for which there is already an | |||
| implementation MUST terminate the session by issuing a Session | outstanding request, the implementation MUST terminate the session by | |||
| Termination message (Section 10.7) with a status code of 'Unexpected | issuing a Session Termination Message (Section 9.9) containing a | |||
| Message', see Table 3, and transition to the Session Termination | Status Data Item (Section 10.1) with status code set to 2 'Unexpected | |||
| state. There is no restriction to the total number of message | Message', see Table 4, and transition to the Session Termination | |||
| state. There is no restriction to the total number of Message | ||||
| transactions in progress at a time, as long as each transaction | transactions in progress at a time, as long as each transaction | |||
| refers to a different destination. | 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 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 10.3) may be in progress at a time. As above, a | Message (Section 9.5), may be in progress at a time per session. As | |||
| session transaction is considered complete when a response matching a | above, a session transaction is considered complete when a response | |||
| previously issued request is received. If a participant receives a | matching a previously issued request is received. If a DLEP | |||
| session request while there is already a session request in progress, | participant receives a session request while there is already a | |||
| it MUST terminate the session by issuing a Session Termination | session request in progress, it MUST terminate the session by issuing | |||
| message with a status code of 'Unexpected Message', and transition to | a Session Termination Message containing a Status Data Item with | |||
| the Session Termination state. Only the Session Termination message | status code set to 2 'Unexpected Message', and transition to the | |||
| may be issued when a session transaction is in progress. Heartbeat | Session Termination state. Only the Session Termination Message may | |||
| messages (Section 10.16) MUST NOT be considered part of a session | be issued when a session transaction is in progress. Heartbeat | |||
| Messages (Section 9.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 5.3. | Section 4.3. | |||
| 7. Extensions | 6. 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 MUST be | If interoperable protocol extensions are required, they MUST be | |||
| standardized either as an update to this document, or as an | 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 MUST consider the | initialization, authors of protocol extensions MUST 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. | |||
| 7.1. Experiments | 6.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 experimental | Signal, Message, Data Item and status code registries for | |||
| extensions. The intent is to allow for experimentation with new | experimental extensions. The intent is to allow for experimentation | |||
| signals, messages, data items, and/or status codes, while still | with new Signals, Messages, Data Items, and/or status codes, while | |||
| 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 4), with a value | space in the Extensions Supported registry (Table 5), with a value | |||
| agreed upon (a priori) between the participating peers. DLEP | agreed upon (a priori) between the participating peers. DLEP | |||
| extensions using the Private Use numbering space are commonly | extensions using the Private Use numbering space are commonly | |||
| referred to as Experiments. | referred to as 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. | |||
| 8. Scalability | 7. 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 a peer with a large | consider employing techniques to prevent flooding a peer with a large | |||
| number of messages in a short time. It is recommended that | number of Messages in a short time. It is recommended that | |||
| implementations consider a dampening algorithm to prevent a flapping | implementations consider a dampening algorithm to prevent a flapping | |||
| device from generating a large number of Destination Up/Destination | device from generating a large number of Destination Up/Destination | |||
| Down messages, for example. Implementations SHOULD also consider | Down Messages, for example. Implementations SHOULD also consider | |||
| techniques such as a hysteresis to lessen the impact of rapid, minor | techniques such as a hysteresis to lessen the impact of rapid, minor | |||
| fluctuations in link quality. The specific algorithms to be used for | fluctuations in link quality. The specific algorithms to be used for | |||
| handling flapping destinations and minor changes in link quality are | handling flapping destinations and minor changes in link quality are | |||
| outside the scope of this specification. | outside the scope of this specification. | |||
| 9. DLEP Signal and Message Structure | 8. 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 two peers, in the Session | over a TCP connection between two peers, 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) | |||
| structures. In this document, the data items following a signal or | structures. In this document, the Data Items following a Signal or | |||
| message header are described as being 'contained in' the signal or | Message Header are described as being 'contained in' the Signal or | |||
| 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 multiplicity of duplicate data items is defined by | Header, and the multiplicity 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. | |||
| 9.1. DLEP Signal Header | 8.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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 3: DLEP Signal Header | Figure 3: DLEP Signal Header | |||
| "DLEP": Every signal MUST start with the characters: U+44, U+4C, | "DLEP": Every Signal MUST start with the characters: U+0044, U+004C, | |||
| U+45, U+50. | U+0045, U+0050. | |||
| Signal Type: An 16-bit unsigned integer containing one of the DLEP | Signal Type: A 16-bit unsigned integer containing one of the DLEP | |||
| Signal/Message 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 associated with this | integer, of all of the DLEP Data Items associated with this | |||
| signal. This length SHALL NOT include the length of the header | Signal. This length MUST NOT include the length of the Signal | |||
| itself. | Header itself. | |||
| The DLEP signal header is immediately followed by one or more DLEP | ||||
| data items, encoded in TLVs, as defined in this document. | ||||
| If an unrecognized, or unexpected signal is received, or a received | The DLEP Signal Header is immediately followed by zero or more DLEP | |||
| signal contains unrecognized, invalid, or disallowed duplicate data | Data Items, encoded in TLVs, as defined in this document. | |||
| items, the receiving participant MUST ignore the signal. | ||||
| 9.2. DLEP Message Header | 8.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 | |||
| Message Type: An 16-bit unsigned integer containing one of the DLEP | Message Type: A 16-bit unsigned integer containing one of the DLEP | |||
| Signal/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 associated with this | integer, of all of the DLEP Data Items associated with this | |||
| message. This length SHALL NOT include the length of the header | Message. This length MUST NOT include the length of the Message | |||
| itself. | Header itself. | |||
| The DLEP message header is immediately followed by one or more DLEP | ||||
| data items, encoded in TLVs, as defined in this document. | ||||
| If an unrecognized, or unexpected message is received, or a received | The DLEP Message Header is immediately followed by zero or more DLEP | |||
| message contains unrecognized, invalid, or disallowed duplicate data | Data Items, encoded in TLVs, as defined in this document. | |||
| items, the receiving participant MUST issue a Session Termination | ||||
| message (Section 10.7) with a Status data item (Section 11.1) | ||||
| containing the most relevant status code, see Table 3, and transition | ||||
| to the Session Termination state. | ||||
| 9.3. DLEP Generic Data Item | 8.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... : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 5: DLEP Generic Data Item | Figure 5: DLEP Generic Data Item | |||
| Data Item Type: An 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 an 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 SHALL | integer, of the Value field of the Data Item. This length MUST | |||
| NOT include the length of the header itself. | 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. | |||
| 10. DLEP Signals and Messages | 9. DLEP Signals and Messages | |||
| As mentioned above, all DLEP signals begin with the DLEP signal | As mentioned above, all DLEP Signals begin with the DLEP Signal | |||
| header, and all DLEP messages begin with the DLEP message header. | Header, and all DLEP Messages begin with the DLEP Message Header. | |||
| Therefore, in the following descriptions of specific signals and | Therefore, in the following descriptions of specific Signals and | |||
| messages, this header is assumed, and will not be replicated. | Messages, this Header is assumed, and will not be replicated. | |||
| Following is the set of core signals and messages that MUST be | Following is the set of core Signals and Messages that MUST be | |||
| recognized by a DLEP compliant implementation. As mentioned before, | recognized by a DLEP compliant implementation. As mentioned before, | |||
| not all messages may be used during a session, but an implementation | not all Messages may be used during a session, but an implementation | |||
| MUST correctly process these messages when received. | MUST correctly process these Messages when received. | |||
| The core DLEP signals and messages are: | ||||
| +-------------+-----------------------------------------------------+ | The core DLEP Signals are: | |||
| | Type Code | Description | | ||||
| +-------------+-----------------------------------------------------+ | ||||
| | 0 | Reserved | | ||||
| | 1 | Peer Discovery signal (Section 10.1) | | ||||
| | 2 | Peer Offer signal (Section 10.2) | | ||||
| | 3 | Session Initialization message (Section 10.3) | | ||||
| | 4 | Session Initialization Response message (Section | | ||||
| | | 10.4) | | ||||
| | 5 | Session Update message (Section 10.5) | | ||||
| | 6 | Session Update Response message (Section 10.6) | | ||||
| | 7 | Session Termination message (Section 10.7) | | ||||
| | 8 | Session Termination Response message (Section 10.8) | | ||||
| | 9 | Destination Up message (Section 10.9) | | ||||
| | 10 | Destination Up Response message (Section 10.10) | | ||||
| | 11 | Destination Down message (Section 10.13) | | ||||
| | 12 | Destination Down Response message (Section 10.14) | | ||||
| | 13 | Destination Update message (Section 10.15) | | ||||
| | 14 | Heartbeat message (Section 10.16) | | ||||
| | 15 | Link Characteristics Request message (Section | | ||||
| | | 10.17) | | ||||
| | 16 | Link Characteristics Response message (Section | | ||||
| | | 10.18) | | ||||
| | 17 | Destination Announce message (Section 10.11) | | ||||
| | 18 | Destination Announce Response message (Section | | ||||
| | | 10.12) | | ||||
| | 19-65519 | Reserved for future extensions | | ||||
| | 65520-65534 | Private Use. Available for experiments | | ||||
| | 65535 | Reserved | | ||||
| +-------------+-----------------------------------------------------+ | ||||
| Table 1: DLEP Signal/Message types | +--------------+-----------------------------------------+ | |||
| | 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 | | ||||
| +--------------+-----------------------------------------+ | ||||
| 10.1. Peer Discovery Signal | Table 1: DLEP Signal types | |||
| A Peer Discovery signal SHOULD be sent by a DLEP router to discover | The core DLEP Messages are: | |||
| DLEP modems in the network. The Peer Offer signal (Section 10.2) is | ||||
| required to complete the discovery process. Implementations MUST | ||||
| implement their own retransmit heuristics in cases where it is | ||||
| determined the Peer Discovery signal has timed out. | ||||
| To construct a Peer Discovery signal, the Signal Type value in the | +-------------------+-----------------------------------------------+ | |||
| signal header is set to 1, from Table 1. | | 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 | | ||||
| +-------------------+-----------------------------------------------+ | ||||
| The Peer Discovery signal MAY contain the following data item: | Table 2: DLEP Message types | |||
| o Peer Type (Section 11.4) | 9.1. General Processing Rules | |||
| 10.2. Peer Offer Signal | If an unrecognized, or unexpected Signal is received, or a received | |||
| Signal contains unrecognized, invalid, or disallowed duplicate Data | ||||
| Items, the receiving DLEP peer MUST ignore the Signal. | ||||
| A Peer Offer signal MUST be sent by a DLEP modem in response to a | If an unrecognized Message is received, the receiving DLEP peer MUST | |||
| valid Peer Discovery signal (Section 10.1). | issue a Session Termination Message (Section 9.9) containing a Status | |||
| Data Item (Section 10.1) with status code set to 1 'Unknown Message', | ||||
| see Table 4, and transition to the Session Termination state. | ||||
| The Peer Offer signal MUST be sent to the unicast address of the | If an unexpected Message is received, the receiving DLEP peer MUST | |||
| originator of the Peer Discovery signal. | issue a Session Termination Message containing a Status Data Item | |||
| with status code set to 2 'Unexpected Message', and transition to the | ||||
| Session Termination state. | ||||
| To construct a Peer Offer signal, the Signal Type value in the signal | If a received Message contains unrecognized, invalid, or disallowed | |||
| header is set to 2, from Table 1. | duplicate Data Items, the receiving DLEP peer MUST issue a Session | |||
| Termination Message containing a Status Data Item with status code | ||||
| set to 3 'Invalid Data', and transition to the Session Termination | ||||
| state. | ||||
| The Peer Offer signal MAY contain the following data item: | Prior to the exchange of Destination Up (Section 9.11) and | |||
| Destination Up Response (Section 9.12) Messages, or Destination | ||||
| Announce (Section 9.13) and Destination Announce Response | ||||
| (Section 9.14) Messages, no Messages concerning a destination may be | ||||
| sent. A peer receiving any Message with such an unannounced | ||||
| destination MUST terminate the session by issuing a Session | ||||
| Termination Message containing a Status Data Item with status code | ||||
| set to 4 'Invalid Destination', and transition to the Session | ||||
| Termination state. | ||||
| o Peer Type (Section 11.4) | After exchanging Destination Down (Section 9.15) and Destination Down | |||
| Response (Section 9.16) Messages, no Messages concerning a | ||||
| destination may be a sent until a new Destination Up or Destination | ||||
| Announce Message is sent. A peer receiving a Message about a | ||||
| destination previously announced as 'down' MUST terminate the session | ||||
| by issuing a Session Termination Message with a Status Data Item with | ||||
| status code set to 4 'Invalid Destination', and transition to the | ||||
| Session Termination state. | ||||
| The Peer Offer signal MAY contain one or more of any of the following | 9.2. Status code processing | |||
| data items, with different values: | The behaviour of a DLEP participant receiving a Message containing a | |||
| Status Data Item (Section 10.1) is defined by the failure mode | ||||
| associated with the value of the status code field, see Table 4. | ||||
| Except for the reserved value of 255, all status code values greater | ||||
| than or equal to 100 have a failure mode of 'Continue', all other | ||||
| status codes have a failure mode of 'Terminate'. | ||||
| o IPv4 Connection Point (Section 11.2) | A DLEP participant receiving any Message apart from Session | |||
| Termination Message (Section 9.9) containing a Status Data Item with | ||||
| a status code value with failure mode 'Terminate' MUST immediately | ||||
| issue a Session Termination Message containing an identical Status | ||||
| Data Item, and then transition to the Session Termination state. | ||||
| o IPv6 Connection Point (Section 11.3) | A DLEP participant receiving a Message containing a Status Data Item | |||
| with a status code value with failure mode 'Continue' can continue | ||||
| normal operation of the session. | ||||
| The IP Connection Point data items indicate the unicast address the | 9.3. Peer Discovery Signal | |||
| router MUST use when connecting the DLEP TCP session. If multiple IP | ||||
| Connection Point data items are present in the Peer Offer signal, | ||||
| router implementations MAY use their own heuristics to select the | ||||
| address to connect to. If no IP Connection Point data items are | ||||
| included in the Peer Offer signal, the router MUST use the origin | ||||
| address of the signal as the IP address, and the DLEP well-known port | ||||
| number (Section 13.6) to establish the TCP connection. | ||||
| 10.3. Session Initialization Message | A Peer Discovery Signal SHOULD be sent by a DLEP router to discover | |||
| DLEP modems in the network. | ||||
| A Session Initialization message MUST be sent by a DLEP router as the | To construct a Peer Discovery Signal, the Signal Type value in the | |||
| first message of the DLEP TCP session. It is sent by the router | Signal Header is set to 1, from Table 1. | |||
| after a TCP connect to an address/port combination that was obtained | ||||
| either via receipt of a Peer Offer, or from a priori configuration. | ||||
| If any optional extensions are supported by the implementation, they | The Peer Discovery Signal MAY contain a Peer Type Data Item | |||
| MUST be enumerated in the Extensions Supported data item. If an | (Section 10.4). | |||
| Extensions Supported data item does not exist in a Session | ||||
| Initialization message, the modem MUST conclude that there is no | ||||
| support for extensions in the router. | ||||
| Implementations supporting the Heartbeat Interval (Section 11.5) | Implementations MUST implement their own retransmit heuristics in | |||
| should understand that heartbeats are not fully established until | cases where it is determined the Peer Discovery Signal has timed out. | |||
| receipt of Session Initialization Response message (Section 10.4), | ||||
| and should therefore implement their own timeout and retry heuristics | ||||
| for this message. | ||||
| To construct a Session Initialization message, the Message Type value | 9.4. Peer Offer Signal | |||
| in the message header is set to 3, from Table 1. | ||||
| The Session Initialization message MUST contain one of each of the | A Peer Offer Signal MUST be sent by a DLEP modem to the unicast | |||
| following data items: | address of the originator of a valid Peer Discovery Signal | |||
| (Section 9.3). The Peer Offer Signal is completes the discovery | ||||
| process. | ||||
| o Heartbeat Interval (Section 11.5) | To construct a Peer Offer Signal, the Signal Type value in the Signal | |||
| Header is set to 2, from Table 1. | ||||
| The Session Initialization message MAY contain one of each of the | The Peer Offer Signal MAY contain a Peer Type Data Item | |||
| following data items: | (Section 10.4). | |||
| o Peer Type (Section 11.4) | The Peer Offer Signal MAY contain one or more of any of the following | |||
| Data Items, with different values: | ||||
| o Extensions Supported (Section 11.6) | o IPv4 Connection Point (Section 10.2) | |||
| o IPv6 Connection Point (Section 10.3) | ||||
| A Session Initialization message MUST be acknowledged by the modem | The IP Connection Point Data Items indicate the unicast address the | |||
| issuing a Session Initialization Response message (Section 10.4). | router MUST use when connecting the DLEP TCP session. If multiple IP | |||
| Connection Point Data Items are present in the Peer Offer Signal, | ||||
| router implementations MAY use their own heuristics to select the | ||||
| address to connect to. If no IP Connection Point Data Items are | ||||
| included in the Peer Offer Signal, the router MUST use the source | ||||
| address of the Signal as the IP address, and the DLEP well-known port | ||||
| number (Section 12.7) to establish the TCP connection. | ||||
| As an exception to the general rule that an implementation receiving | 9.5. Session Initialization Message | |||
| an unrecognized data item in a message terminating the session with | ||||
| an error, see Section 9.2, if a Session Initialization message | ||||
| contains one or more Extension Supported data items announcing | ||||
| support for extensions that the implementation does not recognize, | ||||
| then the implementation MAY ignore data items it does not recognize. | ||||
| 10.4. Session Initialization Response Message | 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 | ||||
| after a TCP connect to an address/port combination that was obtained | ||||
| either via receipt of a Peer Offer, or from a priori configuration. | ||||
| A Session Initialization Response message MUST be sent in response to | To construct a Session Initialization Message, the Message Type value | |||
| a received Session Initialization message (Section 10.3). The | in the Message Header is set to 1, from Table 2. | |||
| Session Initialization Response message completes the DLEP session | ||||
| establishment; the modem should transition to the In-Session state | ||||
| when the message is sent, and the router should transition to the In- | ||||
| Session state upon receipt of an acceptable Session Initialization | ||||
| Response message. | ||||
| All supported metric data items MUST be included in the Session | The Session Initialization Message MUST contain a Heartbeat Interval | |||
| Initialization Response message, with default values to be used on a | Data Item (Section 10.5). | |||
| 'modem-wide' basis. This can be viewed as the modem 'declaring' all | ||||
| supported metrics at DLEP session initialization. Receipt of any | ||||
| DLEP message containing a metric data item not included in the | ||||
| Session Initialization Response message MUST be treated as an error, | ||||
| resulting in the termination of the DLEP session between router and | ||||
| modem. | ||||
| If any optional extensions are supported by the modem, they MUST be | The Session Initialization Message MAY contain one of each of the | |||
| enumerated in the Extensions Supported data item. If an Extensions | following Data Items: | |||
| Supported data item does not exist in a Session Initialization | ||||
| Response message, the router MUST conclude that there is no support | ||||
| for extensions in the modem. | ||||
| After the Session Initialization/Session Initialization Response | o Peer Type (Section 10.4) | |||
| messages have been successfully exchanged, implementations MUST only | ||||
| use extensions that are supported by BOTH participants. | ||||
| To construct a Session Initialization Response message, the Message | o Extensions Supported (Section 10.6) | |||
| Type value in the message header is set to 4, from Table 1. | ||||
| The Session Initialization Response message MUST contain one of each | If any optional extensions are supported by the implementation, they | |||
| of the following data items: | MUST be enumerated in the Extensions Supported Data Item. If an | |||
| Extensions Supported Data Item does not exist in a Session | ||||
| Initialization Message, the modem MUST conclude that there is no | ||||
| support for extensions in the router. | ||||
| o Heartbeat Interval (Section 11.5) | DLEP Heartbeats are not fully established until receipt of Session | |||
| Initialization Response Message (Section 9.6), and therefore | ||||
| implementations must use their own timeout and retry heuristics for | ||||
| this Message. | ||||
| o Maximum Data Rate (Receive) (Section 11.12) | As an exception to the general rule governing an implementation | |||
| receiving an unrecognized Data Item in a Message, see Section 9.1, if | ||||
| a Session Initialization Message contains one or more Extension | ||||
| Supported Data Items announcing support for extensions that the | ||||
| implementation does not recognize, then the implementation MAY ignore | ||||
| Data Items it does not recognize. | ||||
| o Maximum Data Rate (Transmit) (Section 11.13) | 9.6. Session Initialization Response Message | |||
| o Current Data Rate (Receive) (Section 11.14) | A Session Initialization Response Message MUST be sent in response to | |||
| a received Session Initialization Message (Section 9.5). | ||||
| o Current Data Rate (Transmit) (Section 11.15) | To construct a Session Initialization Response Message, the Message | |||
| Type value in the Message Header is set to 2, from Table 2. | ||||
| o Latency (Section 11.16) | The Session Initialization Response Message MUST contain one of each | |||
| of the following Data Items: | ||||
| The Session Initialization Response message MUST contain one of each | o Status (Section 10.1) | |||
| of the following data items, if the data item will be used during the | ||||
| lifetime of the session: | ||||
| o Resources (Receive) (Section 11.17) | o Heartbeat Interval (Section 10.5) | |||
| o Resources (Transmit) (Section 11.18) | o Maximum Data Rate (Receive) (Section 10.12) | |||
| o Relative Link Quality (Receive) (Section 11.19) | o Maximum Data Rate (Transmit) (Section 10.13) | |||
| o Relative Link Quality (Transmit) (Section 11.20) | o Current Data Rate (Receive) (Section 10.14) | |||
| o Maximum Transmission Unit (MTU) (Section 11.21) | o Current Data Rate (Transmit) (Section 10.15) | |||
| The Session Initialization Response message MAY contain one of each | o Latency (Section 10.16) | |||
| of the following data items: | ||||
| o Status (Section 11.1) | The Session Initialization Response Message MUST contain one of each | |||
| of the following Data Items, if the Data Item will be used during the | ||||
| lifetime of the session: | ||||
| o Peer Type (Section 11.4) | o Resources (Section 10.17) | |||
| o Extensions Supported (Section 11.6) | ||||
| A router receiving a Session Initialization Response message without | o Relative Link Quality (Receive) (Section 10.18) | |||
| a Status data item MUST behave as if a Status data item with code | ||||
| 'Success' had been received, see Table 3. | ||||
| 10.5. Session Update Message | o Relative Link Quality (Transmit) (Section 10.19) | |||
| A Session Update message MAY be sent by a DLEP participant to | o Maximum Transmission Unit (MTU) (Section 10.20) | |||
| indicate local Layer 3 address changes, or metric changes on a modem- | ||||
| wide basis. 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 router MAY prompt a Session Update message to its | ||||
| attached modems. Also, for example, a modem that changes its Maximum | ||||
| Data Rate (Receive) for all destinations MAY reflect that change via | ||||
| a Session Update message to its attached router(s). | ||||
| Concerning Layer 3 addresses: If the modem is capable of | The Session Initialization Response Message MAY contain one of each | |||
| understanding and forwarding this information (via proprietary | of the following Data Items: | |||
| mechanisms), the address update would prompt any remote DLEP modems | ||||
| (DLEP-enabled modems in a remote node) to issue a Destination Update | ||||
| message (Section 10.15) to their local routers with the new (or | ||||
| deleted) addresses. Modems that do not track Layer 3 addresses | ||||
| SHOULD silently parse and ignore Layer 3 data items. The Session | ||||
| Update message MUST be acknowledged with a Session Update Response | ||||
| message (Section 10.6). | ||||
| If metrics are supplied with the Session Update message (e.g., | o Peer Type (Section 10.4) | |||
| Maximum Data Rate), these metrics are considered to be modem-wide, | ||||
| and therefore MUST be applied to all destinations in the information | ||||
| base associated with the DLEP session. | ||||
| To construct a Session Update message, the Message Type value in the | o Extensions Supported (Section 10.6) | |||
| message header is set to 5, from Table 1. | The Session Initialization Response Message completes the DLEP | |||
| session establishment; the modem should transition to the In-Session | ||||
| state when the Message is sent, and the router should transition to | ||||
| the In-Session state upon receipt of an acceptable Session | ||||
| Initialization Response Message. | ||||
| The Session Update message MAY contain one of each of the following | All supported metric Data Items MUST be included in the Session | |||
| data items: | Initialization Response Message, with default values to be used on a | |||
| session-wide basis. This can be viewed as the modem 'declaring' all | ||||
| supported metrics at DLEP session initialization. Receipt of any | ||||
| further DLEP Message containing a metric Data Item not included in | ||||
| the Session Initialization Response Message MUST be treated as an | ||||
| error, resulting in the termination of the DLEP session between | ||||
| router and modem. | ||||
| o Maximum Data Rate (Receive) (Section 11.12) | If any optional extensions are supported by the modem, they MUST be | |||
| enumerated in the Extensions Supported Data Item. If an Extensions | ||||
| Supported Data Item does not exist in a Session Initialization | ||||
| Response Message, the router MUST conclude that there is no support | ||||
| for extensions in the modem. | ||||
| o Maximum Data Rate (Transmit) (Section 11.13) | After the Session Initialization/Session Initialization Response | |||
| Messages have been successfully exchanged, implementations MUST only | ||||
| use extensions that are supported by both DLEP peers. | ||||
| o Current Data Rate (Receive) (Section 11.14) | 9.7. Session Update Message | |||
| o Current Data Rate (Transmit) (Section 11.15) | A Session Update Message MAY be sent by a DLEP participant to | |||
| indicate local Layer 3 address changes, or metric changes on a | ||||
| session-wide basis. | ||||
| o Latency (Section 11.16) | To construct a Session Update Message, the Message Type value in the | |||
| The Session Update message MAY contain one of each of the following | Message Header is set to 3, from Table 2. | |||
| data items, if the data item is in use by the session: | ||||
| o Resources (Receive) (Section 11.17) | The Session Update Message MAY contain one of each of the following | |||
| Data Items: | ||||
| o Resources (Transmit) (Section 11.18) | o Maximum Data Rate (Receive) (Section 10.12) | |||
| o Relative Link Quality (Receive) (Section 11.19) | o Maximum Data Rate (Transmit) (Section 10.13) | |||
| o Relative Link Quality (Transmit) (Section 11.20) | o Current Data Rate (Receive) (Section 10.14) | |||
| o Maximum Transmission Unit (MTU) (Section 11.21) | o Current Data Rate (Transmit) (Section 10.15) | |||
| The Session Update message MAY contain one or more of the following | o Latency (Section 10.16) | |||
| data items, with different values: | The Session Update Message MAY contain one of each of the following | |||
| Data Items, if the Data Item is in use by the session: | ||||
| o IPv4 Address (Section 11.8) | o Resources (Section 10.17) | |||
| o IPv6 Address (Section 11.9) | o Relative Link Quality (Receive) (Section 10.18) | |||
| A Session Update message MUST be acknowledged by the receiver issuing | o Relative Link Quality (Transmit) (Section 10.19) | |||
| a Session Update Response message (Section 10.6). | ||||
| 10.6. Session Update Response Message | o Maximum Transmission Unit (MTU) (Section 10.20) | |||
| A Session Update Response message MUST be sent by implementations to | The Session Update Message MAY contain one or more of the following | |||
| indicate whether a Session Update message (Section 10.5) was | Data Items, with different values: | |||
| successfully received. | ||||
| To construct a Session Update Response message, the Message Type | o IPv4 Address (Section 10.8) | |||
| value in the message header is set to 6, from Table 1. | ||||
| The Session Update Response message MAY contain one Status | o IPv6 Address (Section 10.9) | |||
| (Section 11.1) data item. | ||||
| A receiver of a Session Update Response message without a Status data | If metrics are supplied with the Session Update Message (e.g., | |||
| item MUST behave as if a Status data item with status code 'Success' | Maximum Data Rate), these metrics are considered to be session-wide, | |||
| had been received, see Table 3. | and therefore MUST be applied to all destinations in the information | |||
| base associated with the DLEP session. | ||||
| 10.7. Session Termination Message | 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 | ||||
| router MAY prompt a Session Update Message to its attached modems. | ||||
| Also, for example, a modem that changes its Maximum Data Rate | ||||
| (Receive) for all destinations MAY reflect that change via a Session | ||||
| Update Message to its attached router(s). | ||||
| A Session Termination message MUST be sent by a participant when the | Concerning Layer 3 addresses: If the modem is capable of | |||
| DLEP session needs to be terminated. It should be noted that Session | understanding and forwarding this information (via proprietary | |||
| Termination messages can be sent by both routers and modems. | mechanisms), the address update would prompt any remote DLEP modems | |||
| (DLEP-enabled modems in a remote node) to issue a Destination Update | ||||
| Message (Section 9.17) to their local routers with the new (or | ||||
| deleted) addresses. Modems that do not track Layer 3 addresses | ||||
| SHOULD silently ignore Address Data Items. | ||||
| To construct a Session Termination message, the Message Type value in | 9.8. Session Update Response Message | |||
| the message header is set to 7, from Table 1. | ||||
| The Session Termination message MAY contain one Status (Section 11.1) | A Session Update Response Message MUST be sent by by a DLEP | |||
| data item. | participant when a Session Update Message (Section 9.7) is received. | |||
| A receiver of a Session Termination message without a Status data | To construct a Session Update Response Message, the Message Type | |||
| item MUST behave as if a Status data item with status code 'Success', | value in the Message Header is set to 4, from Table 2. | |||
| see Table 3, implying graceful termination, had been received. | ||||
| A Session Termination message MUST be acknowledged by the receiver | The Session Update Response Message MUST contain a Status Data Item | |||
| issuing a Session Termination Response message (Section 10.8). | (Section 10.1). | |||
| 10.8. Session Termination Response Message | 9.9. Session Termination Message | |||
| A Session Termination Response message MUST be sent by a DLEP | A Session Termination Message MUST be sent by a DLEP participant when | |||
| participant in response to a received Session Termination message | the DLEP session needs to be terminated. | |||
| (Section 10.7). | ||||
| Receipt of a Session Termination Response message completes the tear- | To construct a Session Termination Message, the Message Type value in | |||
| down of the DLEP session. | the Message Header is set to 5, from Table 2. | |||
| To construct a Session Termination Response message, the Message Type | The Session Termination Message MUST contain Status Data Item | |||
| value in the message header is set to 8, from Table 1. | (Section 10.1). | |||
| The Session Termination Response message MAY contain one Status | It should be noted that Session Termination Messages can be sent by | |||
| (Section 11.1) data item. | both routers and modems. | |||
| A receiver of a Session Termination Response message without a Status | 9.10. Session Termination Response Message | |||
| data item MUST behave as if a Status data item with status code | ||||
| 'Success', see Table 3, implying graceful termination, had been | ||||
| received. | ||||
| 10.9. Destination Up Message | A Session Termination Response Message MUST be sent by a DLEP | |||
| participant when a Session Termination Message (Section 9.9) is | ||||
| recevied. | ||||
| A Destination Up message MUST be sent by the modem to indicate that a | To construct a Session Termination Response Message, the Message Type | |||
| new destination has been detected. A Destination Up message MUST be | value in the Message Header is set to 6, from Table 2. | |||
| acknowledged by the router issuing a Destination Up Response message | ||||
| (Section 10.10). When a Destination Up message is received and | ||||
| successfully processed, the router should add knowledge of the new | ||||
| destination to its information base, indicating that the destination | ||||
| is accessible via the modem. | ||||
| To construct a Destination Up message, the Message Type value in the | There are no valid Data Items for the Session Termination Response | |||
| message header is set to 9, from Table 1. | Message. | |||
| The Destination Up message MUST contain one of each of the following | Receipt of a Session Termination Response Message completes the tear- | |||
| data items: | down of the DLEP session. | |||
| o MAC Address (Section 11.7) | 9.11. Destination Up Message | |||
| The Destination Up message MAY contain one of each of the following | ||||
| data items: | ||||
| o Maximum Data Rate (Receive) (Section 11.12) | Destination Up Messages are sent by a modem to inform its attached | |||
| router of the presence of a new reachable destination. | ||||
| o Maximum Data Rate (Transmit) (Section 11.13) | To construct a Destination Up Message, the Message Type value in the | |||
| Message Header is set to 7, from Table 2. | ||||
| o Current Data Rate (Receive) (Section 11.14) | The Destination Up Message MUST contain a MAC Address Data Item | |||
| (Section 10.7). | ||||
| o Current Data Rate (Transmit) (Section 11.15) | The Destination Up Message SHOULD contain one or more of the | |||
| following Data Items, with different values: | ||||
| o Latency (Section 11.16) | o IPv4 Address (Section 10.8) | |||
| The Destination Up message MAY contain one of each of the following | o IPv6 Address (Section 10.9) | |||
| data items, if the data item is in use by the session: | The Destination Up Message MAY contain one of each of the following | |||
| Data Items: | ||||
| o Resources (Receive) (Section 11.17) | o Maximum Data Rate (Receive) (Section 10.12) | |||
| o Resources (Transmit) (Section 11.18) | o Maximum Data Rate (Transmit) (Section 10.13) | |||
| o Relative Link Quality (Receive) (Section 11.19) | o Current Data Rate (Receive) (Section 10.14) | |||
| o Relative Link Quality (Transmit) (Section 11.20) | o Current Data Rate (Transmit) (Section 10.15) | |||
| o Maximum Transmission Unit (MTU) (Section 11.21) | o Latency (Section 10.16) | |||
| The Destination Up message MAY contain one or more of the following | The Destination Up Message MAY contain one of each of the following | |||
| data items, with different values: | Data Items, if the Data Item is in use by the session: | |||
| o IPv4 Address (Section 11.8) | o Resources (Section 10.17) | |||
| o IPv6 Address (Section 11.9) | o Relative Link Quality (Receive) (Section 10.18) | |||
| o IPv4 Attached Subnet (Section 11.10) | o Relative Link Quality (Transmit) (Section 10.19) | |||
| o IPv6 Attached Subnet (Section 11.11) | o Maximum Transmission Unit (MTU) (Section 10.20) | |||
| If the modem has IPv4 and/or IPv6 address information for a | The Destination Up Message MAY contain one or more of the following | |||
| destination it SHOULD include the relevant data items in the | Data Items, with different values: | |||
| Destination Up message, reducing the need for the router to probe for | ||||
| any address. | ||||
| 10.10. Destination Up Response Message | o IPv4 Attached Subnet (Section 10.10) | |||
| A DLEP router MUST send a Destination Up Response message to indicate | o IPv6 Attached Subnet (Section 10.11) | |||
| whether a Destination Up message (Section 10.9) was successfully | ||||
| processed. | ||||
| To construct a Destination Up Response message, the Message Type | A router receiving a Destination Up Message allocates the necessary | |||
| value in the message header is set to 10, from Table 1. | resources, creating an entry in the information base with the | |||
| specifics (i.e. MAC Address, Latency, Data Rate, etc.) of the | ||||
| destination. The information about this destination will persist in | ||||
| the router's information base until a Destination Down Message | ||||
| (Section 9.15) is received, indicating that the modem has lost | ||||
| contact with the remote node, or the implementation transitions to | ||||
| the Session Termination state. | ||||
| The Destination Up Response message MUST contain one MAC Address | 9.12. Destination Up Response Message | |||
| (Section 11.7) data item. | ||||
| The Destination Up Response message MAY contain one Status | A router MUST send a Destination Up Response Message when a | |||
| (Section 11.1) data item. | Destination Up Message (Section 9.11) is received. | |||
| A modem receiving a Destination Up Response message without a Status | To construct a Destination Up Response Message, the Message Type | |||
| data item MUST behave as if a Status data item with status code | value in the Message Header is set to 8, from Table 2. | |||
| 'Success' had been received, see Table 3. | ||||
| 10.11. Destination Announce Message | The Destination Up Response Message MUST contain one of each of the | |||
| following Data Items: | ||||
| If a router wishes to request information concerning a destination | o MAC Address (Section 10.7) | |||
| that has not yet been announced by a modem via a Destination Up | ||||
| message (Section 10.9), it MAY send a Destination Announce message to | ||||
| the modem. | ||||
| A Destination Announce message MUST be acknowledged by the modem | o Status (Section 10.1) | |||
| issuing a Destination Announce Response message (Section 10.12). | ||||
| To construct a Destination Announce message, the Message Type value | A router that wishes to receive further information concerning the | |||
| in the message header is set to 17, from Table 1. | destination identified in the corresponding Destination Up Message | |||
| MUST set the status code of the included Status Data Item to 0 | ||||
| 'Success', see Table 4. | ||||
| The Destination Announce message MUST contain one of each of the | If the router has no interest in the destination identified in the | |||
| following data items: | corresponding Destination Up Message, then it MAY set the status code | |||
| of the included Status Data Item to 100 'Not Interested'. | ||||
| o MAC Address (Section 11.7) | A modem receiving a Destination Up Response Message containing a | |||
| Status Data Item with status code of any value other than 0 'Success' | ||||
| MUST NOT send further Destination messages about the destination, | ||||
| e.g. Destination Down (Section 9.15) or Destination Update | ||||
| (Section 9.17) with the same MAC address. | ||||
| The Destination Announce message MAY contain zero or more of the | 9.13. Destination Announce Message | |||
| following data items, with different values: | ||||
| o IPv4 Address (Section 11.8) | Usually a modem will discover the presence of one or more remote | |||
| router/modem pairs and announce each destination's arrival by sending | ||||
| a corresponding Destination Up Message (Section 9.11) to the router. | ||||
| However, there may be times when a router wishes to express an | ||||
| interest in a destination that has yet to be announced, typically a | ||||
| multicast destination. Destination Announce Messages MAY be sent by | ||||
| a router to announce such an interest. | ||||
| o IPv6 Address (Section 11.9) | A Destination Announce Message MAY also be used by a router to | |||
| request information concerning a destination in which it has | ||||
| previously declined interest, via the 100 'Not Interested' status | ||||
| code in a Destination Up Response Message (Section 9.12), see Table | ||||
| 4, or declared as 'down', via the Destination Down Message | ||||
| (Section 9.15). | ||||
| 10.12. Destination Announce Response Message | To construct a Destination Announce Message, the Message Type value | |||
| in the Message Header is set to 9, from Table 2. | ||||
| A DLEP modem MUST send a Destination Announce Response message to | The Destination Announce Message MUST contain a MAC Address Data Item | |||
| indicate whether a Destination Announce message (Section 10.11) was | (Section 10.7). | |||
| successfully processed and the destination identified by the MAC | ||||
| Address data item is available. | ||||
| When a Destination Announce Response message is received and | The Destination Announce Message MAY contain zero or more of the | |||
| successfully processed, the router should add knowledge of the new | following Data Items, with different values: | |||
| destination to its information base, indicating that the destination | ||||
| is accessible via the modem. | ||||
| To construct a Destination Announce Response message, the Message | o IPv4 Address (Section 10.8) | |||
| Type value in the message header is set to 18, from Table 1. | ||||
| The Destination Announce Response message MUST contain one of each of | o IPv6 Address (Section 10.9) | |||
| the following data items: | ||||
| o MAC Address (Section 11.7) | One of the advantages of implementing DLEP is to leverage the modem's | |||
| knowledge of the links between remote destinations allowing routers | ||||
| to avoid using probed neighbor discovery techniques, therefore modem | ||||
| implementations SHOULD announce available destinations via the | ||||
| Destination Up Message, rather than relying on Destination Announce | ||||
| Messages. | ||||
| The Destination Announce Response message MAY contain one of each of | 9.14. Destination Announce Response Message | |||
| the following data items: | ||||
| o Maximum Data Rate (Receive) (Section 11.12) | A modem MUST send a Destination Announce Response Message when a | |||
| Destination Announce Message (Section 9.13) is received. | ||||
| o Maximum Data Rate (Transmit) (Section 11.13) | To construct a Destination Announce Response Message, the Message | |||
| Type value in the Message Header is set to 10, from Table 2. | ||||
| o Current Data Rate (Receive) (Section 11.14) | The Destination Announce Response Message MUST contain one of each of | |||
| the following Data Items: | ||||
| o Current Data Rate (Transmit) (Section 11.15) | o MAC Address (Section 10.7) | |||
| o Latency (Section 11.16) | o Status (Section 10.1) | |||
| 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: | |||
| o Resources (Receive) (Section 11.17) | o Maximum Data Rate (Receive) (Section 10.12) | |||
| o Resources (Transmit) (Section 11.18) | o Maximum Data Rate (Transmit) (Section 10.13) | |||
| o Relative Link Quality (Receive) (Section 11.19) | o Current Data Rate (Receive) (Section 10.14) | |||
| o Relative Link Quality (Transmit) (Section 11.20) | o Current Data Rate (Transmit) (Section 10.15) | |||
| o Maximum Transmission Unit (MTU) (Section 11.21) | o Latency (Section 10.16) | |||
| The Destination Announce Response message MAY contain zero or more of | The Destination Announce Response Message MAY contain one of each of | |||
| the following data items, with different values: | the following Data Items, if the Data Item is in use by the session: | |||
| o IPv4 Address (Section 11.8) | o Resources (Section 10.17) | |||
| o IPv6 Address (Section 11.9) | o Relative Link Quality (Receive) (Section 10.18) | |||
| If the modem has IPv4 and/or IPv6 address information for a | o Relative Link Quality (Transmit) (Section 10.19) | |||
| destination it SHOULD include the relevant data items in the | o Maximum Transmission Unit (MTU) (Section 10.20) | |||
| Destination Announce Response message, reducing the need for the | ||||
| router to probe for any address. | ||||
| o Status (Section 11.1) | If a modem is unable to report information immediately about the | |||
| requested information, if the destination is not currently reachable, | ||||
| for example, the status code in the Status Data Item MUST be set to | ||||
| 101 'Request Denied', see Table 4. | ||||
| A router receiving a Destination Announce Response message without a | After sending a Destination Announce Response Message containing a | |||
| Status data item MUST behave as if a Status data item with status | Status Data Item with status code of 0 'Success', a modem then | |||
| code 'Success' had been received, see Table 3. | announces changes to the link to the destination via Destination | |||
| Update Messages. | ||||
| If a modem does not support Destination Announce messages, or the | When a successful Destination Announce Response Message is received, | |||
| modem is unable to report information immediately about the requested | the router should add knowledge of the available destination to its | |||
| information, if the destination is not currently accessible, for | information base. | |||
| example, the status code in the Status data item SHOULD be set to | ||||
| 'Request Denied'. | ||||
| 10.13. Destination Down Message | 9.15. Destination Down Message | |||
| A DLEP participant MUST send a Destination Down message to report | A modem MUST send a Destination Down Message to report when a | |||
| 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. A Destination Down Response message (Section 10.14) MUST | reachable. | |||
| be sent by the recipient of a Destination Down message to confirm | ||||
| that the relevant data has been removed from the information base. | ||||
| To construct a Destination Down message, the Message Type value in | A router MAY send a Destination Down Message to report when it no | |||
| the message header is set to 11, from Table 1. | longer requires information concerning a destination. | |||
| The Destination Down message MUST contain one of each of the | To construct a Destination Down Message, the Message Type value in | |||
| following data items: | the Message Header is set to 11, from Table 2. | |||
| o MAC Address (Section 11.7) | The Destination Down Message MUST contain a MAC Address Data Item | |||
| (Section 10.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 its peer. | Down Message to their peer, regardless of which peer initially | |||
| indicated the destination to be 'up'. | ||||
| 10.14. Destination Down Response Message | ||||
| A DLEP participant MUST send a Destination Down Response message to | 9.16. Destination Down Response Message | |||
| indicate whether a received Destination Down message (Section 10.13) | ||||
| was successfully processed. If successfully processed, the sender of | ||||
| the Response MUST have removed all entries in the information base | ||||
| that pertain to the referenced destination. | ||||
| To construct a Destination Down Response message, the Message Type | A Destination Down Response MUST be sent by the recipient of a | |||
| value in the message header is set to 12, from Table 1. | Destination Down Message (Section 9.15) to confirm that the relevant | |||
| data concerning the destination has been removed from the information | ||||
| base. | ||||
| The Destination Down Response message MUST contain one of each of the | To construct a Destination Down Response Message, the Message Type | |||
| following data items: | value in the Message Header is set to 12, from Table 2. | |||
| o MAC Address (Section 11.7) | The Destination Down Response Message MUST contain one of each of the | |||
| The Destination Down Response message MAY contain one of each of the | following Data Items: | |||
| following data items: | ||||
| o Status (Section 11.1) | o MAC Address (Section 10.7) | |||
| A receiver of a Destination Down Response message without a Status | o Status (Section 10.1) | |||
| data item MUST behave as if a Status data item with status code | ||||
| 'Success' had been received, see Table 3. | ||||
| 10.15. Destination Update Message | 9.17. Destination Update Message | |||
| A DLEP modem SHOULD send the Destination Update message when it | A modem SHOULD send the Destination Update Message when it detects | |||
| detects some change in the information base for a given destination | some change in the information base for a given destination (remote | |||
| (remote node or multicast group). Some examples of changes that | node or multicast group). Some examples of changes that would prompt | |||
| 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 1. | the Message Header is set to 13, from Table 2. | |||
| The Destination Update message MUST contain one of each of the | The Destination Update Message MUST contain a MAC Address Data Item | |||
| following data items: | (Section 10.7). | |||
| o MAC Address (Section 11.7) | The Destination Update Message MAY contain one of each of the | |||
| following Data Items: | ||||
| The Destination Update message MAY contain one of each of the | o Maximum Data Rate (Receive) (Section 10.12) | |||
| following data items: | ||||
| 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 | |||
| following Data Items, if the Data Item is in use by the session: | ||||
| The Destination Update message MAY contain one of each of the | o Resources (Section 10.17) | |||
| following data items, if the data item is in use by the session: | ||||
| o Resources (Receive) (Section 11.17) | o Relative Link Quality (Receive) (Section 10.18) | |||
| o Resources (Transmit) (Section 11.18) | o Relative Link Quality (Transmit) (Section 10.19) | |||
| o Relative Link Quality (Receive) (Section 11.19) | ||||
| o Relative Link Quality (Transmit) (Section 11.20) | o Maximum Transmission Unit (MTU) (Section 10.20) | |||
| o Maximum Transmission Unit (MTU) (Section 11.21) | The Destination Update Message MAY contain one or more of the | |||
| following Data Items, with different values: | ||||
| The Destination Update message MAY contain one or more of the | o IPv4 Address (Section 10.8) | |||
| following data items, with different values: | ||||
| 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) | It should be noted that this Message has no corresponding response. | |||
| 10.16. Heartbeat Message | 9.18. Link Characteristics Request Message | |||
| While Heartbeat messages are not required by DLEP implementations, it | The Link Characteristics Request Message MAY be sent by a router to | |||
| is strongly RECOMMENDED that Heartbeat messages be used. | request that the modem initiate changes for specific characteristics | |||
| of the link. The request can reference either a real destination | ||||
| (e.g., a remote node), or a logical destination (e.g., a multicast | ||||
| group) within the network. | ||||
| A Heartbeat message SHOULD be sent by a DLEP participant every N | To construct a Link Characteristics Request Message, the Message Type | |||
| seconds, where N is defined in the Heartbeat Interval data item of | value in the Message Header is set to 14, from Table 2. | |||
| the Session Initialization message (Section 10.3) or Session | ||||
| Initialization Response message (Section 10.4). | ||||
| Note that implementations setting the Heartbeat Interval to 0 | The Link Characteristics Request Message MUST contain one of the | |||
| effectively sets the interval to an infinite value, turning off | following Data Items: | |||
| Heartbeat messages. Great care MUST be taken when exercising this | ||||
| option. | ||||
| The message is used by participants to detect when a DLEP session | o MAC Address (Section 10.7) | |||
| peer (either the modem or the router) is no longer communicating. | ||||
| Participants SHOULD allow two (2) heartbeat intervals to expire with | ||||
| no messages from the peer before initiating DLEP session termination | ||||
| procedures. | ||||
| To construct a Heartbeat message, the Message Type value in the | The Link Characteristics Request Message MUST contain at least one of | |||
| message header is set to 14, from Table 1. | each of the following Data Items: | |||
| There are no valid data items for the Heartbeat message. | o Current Data Rate (Receive) (Section 10.14) | |||
| 10.17. Link Characteristics Request Message | o Current Data Rate (Transmit) (Section 10.15) | |||
| The Link Characteristics Request message MAY be sent by a DLEP router | o Latency (Section 10.16) | |||
| to request that the modem initiate changes for specific | ||||
| characteristics of the link. The request can reference either a real | ||||
| destination (e.g., a remote node), or a logical destination (e.g., a | ||||
| multicast group) within the network. | ||||
| 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 what is currently allocated, a Latency data item to request that | than what is currently allocated, a Latency Data Item to request that | |||
| traffic delay on the link not exceed the specified value, or both. A | traffic delay on the link not exceed the specified value, or both. | |||
| Link Characteristics Response message (Section 10.18) is required to | ||||
| complete the request. Issuing a Link Characteristics Request with | ||||
| ONLY the MAC Address data item is a mechanism a router MAY use to | ||||
| request metrics (via the Link Characteristics Response) from its | ||||
| modem. | ||||
| 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. | |||
| To construct a Link Characteristics Request message, the Message Type | 9.19. Link Characteristics Response Message | |||
| value in the message header is set to 15, from Table 1. | ||||
| The Link Characteristics Request message MUST contain one of each of | ||||
| the following data items: | ||||
| o MAC Address (Section 11.7) | ||||
| The Link Characteristics Request message MAY contain one of each of | ||||
| the following data items: | ||||
| o Current Data Rate (Receive) (Section 11.14) | ||||
| o Current Data Rate (Transmit) (Section 11.15) | ||||
| o Latency (Section 11.16) | A modem MUST send a Link Characteristics Response Message when a Link | |||
| Characteristics Request Message (Section 9.18) is received. | ||||
| 10.18. Link Characteristics Response Message | To construct a Link Characteristics Response Message, the Message | |||
| Type value in the Message Header is set to 15, from Table 2. | ||||
| A DLEP modem MUST send a Link Characteristics Response message to | The Link Characteristics Response Message MUST contain one of each of | |||
| indicate whether a received Link Characteristics Request message | the following Data Items: | |||
| (Section 10.17) was successfully processed. The Link Characteristics | ||||
| Response message SHOULD contain a complete set of metric data items, | ||||
| and MUST contain a full set (i.e. those declared in the Session | ||||
| Initialization Response message (Section 10.4)), if metrics were | ||||
| requested by only including a MAC address data item. It MUST contain | ||||
| the same metric types as the request. The values in the metric data | ||||
| items in the Link Characteristics Response message MUST reflect the | ||||
| link characteristics after the request has been processed. | ||||
| If an implementation is not able to alter the characteristics of the | o MAC Address (Section 10.7) | |||
| link in the manner requested, then the message MUST contain a Status | ||||
| data item with status code 'Request Denied', see Table 3. | ||||
| To construct a Link Characteristics Response message, the Message | o Status (Section 10.1) | |||
| Type value in the message header is set to 16, from Table 1. | ||||
| The Link Characteristics Response message MUST contain one of each of | The Link Characteristics Response Message SHOULD contain one of each | |||
| the following data items: | of the following Data Items: | |||
| o MAC Address (Section 11.7) | o Maximum Data Rate (Receive) (Section 10.12) | |||
| The Link Characteristics Response message SHOULD contain one of each | o Maximum Data Rate (Transmit) (Section 10.13) | |||
| of the following data items: | ||||
| o Maximum Data Rate (Receive) (Section 11.12) | 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) | 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: | ||||
| o Latency (Section 11.16) | o Resources (Section 10.17) | |||
| The Link Characteristics Response message MAY contain one of each of | o Relative Link Quality (Receive) (Section 10.18) | |||
| the following data items: | ||||
| o Status (Section 11.1) | o Relative Link Quality (Transmit) (Section 10.19) | |||
| The Link Characteristics Response message MAY contain one of each of | o Maximum Transmission Unit (MTU) (Section 10.20) | |||
| the following data items, if the data item is in use by the session: | ||||
| o Resources (Receive) (Section 11.17) | The Link Characteristics Response Message MUST contain a complete set | |||
| of metric Data Items, referencing all metrics declared in the Session | ||||
| Initialization Response Message (Section 9.6). The values in the | ||||
| metric Data Items in the Link Characteristics Response Message MUST | ||||
| reflect the link characteristics after the request has been | ||||
| processed. | ||||
| o Resources (Transmit) (Section 11.18) | 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 | ||||
| Item MUST be set to 101 'Request Denied', see Table 4. | ||||
| o Relative Link Quality (Receive) (Section 11.19) | 9.20. Heartbeat Message | |||
| o Relative Link Quality (Transmit) (Section 11.20) | A Heartbeat Message MUST be sent by a DLEP participant every N | |||
| milliseconds, where N is defined in the Heartbeat Interval Data Item | ||||
| (Section 10.5) of the Session Initialization Message (Section 9.5) or | ||||
| Session Initialization Response Message (Section 9.6). | ||||
| o Maximum Transmission Unit (MTU) (Section 11.21) | To construct a Heartbeat Message, the Message Type value in the | |||
| Message Header is set to 16, from Table 2. | ||||
| A router receiving a Link Characteristics Response message without a | There are no valid Data Items for the Heartbeat Message. | |||
| Status data item MUST behave as if a Status data item with status | ||||
| code 'Success', see Table 3, had been received. | ||||
| 11. DLEP Data Items | The Message is used by DLEP peers to detect when a DLEP session peer | |||
| (either the modem or the router) is no longer communicating. DLEP | ||||
| participants SHOULD allow two (2) heartbeat intervals to expire with | ||||
| no Messages from the DLEP peer before initiating DLEP session | ||||
| termination procedures. | ||||
| Following is the list of core data items that MUST be recognized by a | 10. DLEP Data Items | |||
| DLEP compliant implementation. As mentioned before, not all data | ||||
| items need be used during a session, but an implementation MUST | ||||
| correctly process these data items when correctly associated with a | ||||
| signal or message. | ||||
| The core DLEP data items are: | Following is the list of core Data Items that MUST be recognized by a | |||
| DLEP compliant implementation. As mentioned before, not all Data | ||||
| Items need be used during a session, but an implementation MUST | ||||
| correctly process these Data Items when correctly associated with a | ||||
| Signal or Message. | ||||
| +-------------+-----------------------------------------------------+ | The core DLEP Data Items are: | |||
| | Type Code | Description | | ||||
| +-------------+-----------------------------------------------------+ | ||||
| | 0 | Reserved | | ||||
| | 1 | Status (Section 11.1) | | ||||
| | 2 | IPv4 Connection Point (Section 11.2) | | ||||
| | 3 | IPv6 Connection Point (Section 11.3) | | ||||
| | 4 | Peer Type (Section 11.4) | | ||||
| | 5 | Heartbeat Interval (Section 11.5) | | ||||
| | 6 | Extensions Supported (Section 11.6) | | ||||
| | 7 | MAC Address (Section 11.7) | | ||||
| | 8 | IPv4 Address (Section 11.8) | | ||||
| | 9 | IPv6 Address (Section 11.9) | | ||||
| | 10 | IPv4 Attached Subnet (Section 11.10) | | ||||
| | 11 | IPv6 Attached Subnet (Section 11.11) | | ||||
| | 12 | Maximum Data Rate (Receive) MDRR) (Section 11.12) | | ||||
| | 13 | Maximum Data Rate (Transmit) (MDRT) (Section 11.13) | | ||||
| | 14 | Current Data Rate (Receive) (CDRR) (Section 11.14) | | ||||
| | 15 | Current Data Rate (Transmit) (CDRT) (Section 11.15) | | ||||
| | 16 | Latency (Section 11.16) | | ||||
| | 17 | Resources (Receive) (RESR) (Section 11.17) | | ||||
| | 18 | Resources (Transmit) (REST) (Section 11.18) | | ||||
| | 19 | Relative Link Quality (Receive) (RLQR) (Section | | ||||
| | | 11.19) | | ||||
| | 20 | Relative Link Quality (Transmit) (RLQT) (Section | | ||||
| | | 11.20) | | ||||
| | 21 | Maximum Transmission Unit (MTU) (Section 11.21) | | ||||
| | 22-65407 | Reserved for future extensions | | ||||
| | 65408-65534 | Private Use. Available for experiments | | ||||
| | 65535 | Reserved | | ||||
| +-------------+-----------------------------------------------------+ | ||||
| Table 2: DLEP Data Item types | +--------------------+----------------------------------------------+ | |||
| | Type Code | Description | | ||||
| +--------------------+----------------------------------------------+ | ||||
| | 0 | Reserved | | ||||
| | 1 | Status (Section 10.1) | | ||||
| | 2 | IPv4 Connection Point (Section 10.2) | | ||||
| | 3 | IPv6 Connection Point (Section 10.3) | | ||||
| | 4 | Peer Type (Section 10.4) | | ||||
| | 5 | Heartbeat Interval (Section 10.5) | | ||||
| | 6 | Extensions Supported (Section 10.6) | | ||||
| | 7 | MAC Address (Section 10.7) | | ||||
| | 8 | IPv4 Address (Section 10.8) | | ||||
| | 9 | IPv6 Address (Section 10.9) | | ||||
| | 10 | IPv4 Attached Subnet (Section 10.10) | | ||||
| | 11 | IPv6 Attached Subnet (Section 10.11) | | ||||
| | 12 | Maximum Data Rate (Receive) MDRR) (Section | | ||||
| | | 10.12) | | ||||
| | 13 | Maximum Data Rate (Transmit) (MDRT) (Section | | ||||
| | | 10.13) | | ||||
| | 14 | Current Data Rate (Receive) (CDRR) (Section | | ||||
| | | 10.14) | | ||||
| | 15 | Current Data Rate (Transmit) (CDRT) (Section | | ||||
| | | 10.15) | | ||||
| | 16 | Latency (Section 10.16) | | ||||
| | 17 | Resources (RES) (Section 10.17) | | ||||
| | 18 | Relative Link Quality (Receive) (RLQR) | | ||||
| | | (Section 10.18) | | ||||
| | 19 | Relative Link Quality (Transmit) (RLQT) | | ||||
| | | (Section 10.19) | | ||||
| | 20 | Maximum Transmission Unit (MTU) (Section | | ||||
| | | 10.20) | | ||||
| | 21-65407 | Reserved for future extensions | | ||||
| | 65408-65534 | Private Use. Available for experiments | | ||||
| | 65535 | Reserved | | ||||
| +--------------------+----------------------------------------------+ | ||||
| 11.1. Status | Table 3: DLEP Data Item types | |||
| The Status data item MAY appear in the Session Initialization | 10.1. Status | |||
| Response (Section 10.4), Session Termination (Section 10.7), Session | ||||
| Termination Response (Section 10.8), Session Update Response | ||||
| (Section 10.6), Destination Up Response (Section 10.10), Destination | ||||
| Down Response (Section 10.14) and Link Characteristics Response | ||||
| (Section 10.18) messages. | ||||
| For the Session Termination message (Section 10.7), the Status data | For the Session Termination Message (Section 9.9), the Status Data | |||
| item indicates a reason for the termination. For all acknowledgement | 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, i.e., it could | field is entirely up to the receiving implementation, i.e., 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. | |||
| The Status data item contains the following fields: | The Status 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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | 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 3 below. | Text: UTF-8 encoded string of UNICODE [UNIV8] characters, describing | |||
| the cause, used for implementation defined purposes. Since this | ||||
| Text: UTF-8 encoded string, describing the cause, used for | field is used for description, implementations SHOULD limit | |||
| implementation defined purposes. Since this field is used for | characters in this field to printable characters. Implementations | |||
| description, implementations SHOULD limit characters in this field | receiving this Data Item SHOULD check for printable characters in | |||
| to printable characters. Implementations receiving this data item | the field. | |||
| SHOULD check for printable characters in 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 Code | Value | Failure | Reason | | | Status Code | Value | Failure | Reason | | |||
| | | | Mode | | | | | | Mode | | | |||
| +-------------+---------+-----------+-------------------------------+ | +---------------+---------+-----------+-----------------------------+ | |||
| | Success | 0 | Success | The message was processed | | | Success | 0 | Success | The Message was processed | | |||
| | | | | successfully. | | | | | | successfully. | | |||
| | Unknown | 1 | Terminate | The message was not | | | Unknown | 1 | Terminate | The Message was not | | |||
| | Message | | | recognized by the | | | Message | | | recognized by the | | |||
| | | | | implementation. | | | | | | implementation. | | |||
| | Unexpected | 2 | Terminate | The message was not expected | | | Unexpected | 2 | Terminate | The Message was not | | |||
| | Message | | | while the device was in the | | | Message | | | expected while the device | | |||
| | | | | current state, e.g., a | | | | | | was in the current state, | | |||
| | | | | Session Initialization | | | | | | e.g., a Session | | |||
| | | | | message (Section 10.3) in the | | | | | | Initialization Message | | |||
| | | | | In-Session state. | | | | | | (Section 9.5) in the In- | | |||
| | Invalid | 3 | Terminate | One or more data items in the | | | | | | Session state. | | |||
| | Data | | | message are invalid, | | | Invalid Data | 3 | Terminate | One or more Data Items in | | |||
| | | | | unexpected or incorrectly | | | | | | the Message are invalid, | | |||
| | | | | duplicated. | | | | | | unexpected or incorrectly | | |||
| | Invalid | 4 | Terminate | The destination provided in | | | | | | duplicated. | | |||
| | Destination | | | the message does not match a | | | Invalid | 4 | Terminate | The destination included in | | |||
| | | | | previously announced | | | Destination | | | the Message does not match | | |||
| | | | | destination. For example, in | | | | | | a previously announced | | |||
| | | | | the Link Characteristic | | | | | | destination. For example, | | |||
| | | | | Response message (Section | | | | | | in the Link Characteristic | | |||
| | | | | 10.18). | | | | | | Response Message (Section | | |||
| | Timed Out | 5 | Terminate | The session has timed out. | | | | | | 9.19). | | |||
| | <Reserved> | 6-90 | Terminate | Reserved for future | | | Timed Out | 5 | Terminate | The session has timed out. | | |||
| | | | | extensions. | | | <Reserved> | 6-90 | Terminate | Reserved for future | | |||
| | <Private | 91-99 | Terminate | Available for experiments. | | | | | | extensions. | | |||
| | Use> | | | | | | <Private Use> | 91-99 | Terminate | Available for experiments. | | |||
| | Not | 100 | Continue | The receiver is not | | | Not | 100 | Continue | The receiver is not | | |||
| | Interested | | | interested in this message | | | Interested | | | interested in this Message | | |||
| | | | | subject, e.g. a Destination | | | | | | subject, e.g. in a | | |||
| | | | | Up Response message (Section | | | | | | Destination Up Response | | |||
| | | | | 10.10) to indicate no further | | | | | | Message (Section 9.12) to | | |||
| | | | | messages about the | | | | | | indicate no further | | |||
| | | | | destination. | | | | | | Messages about the | | |||
| | Request | 101 | Continue | The receiver refuses to | | | | | | destination. | | |||
| | Denied | | | complete the request. | | | Request | 101 | Continue | The receiver refuses to | | |||
| | <Reserved> | 102-243 | Continue | Reserved for future | | | Denied | | | complete the request. | | |||
| | | | | extensions. | | | <Reserved> | 102-243 | Continue | Reserved for future | | |||
| | <Private | 244-254 | Continue | Available for experiments. | | | | | | extensions. | | |||
| | Use> | | | | | | <Private Use> | 244-254 | Continue | Available for experiments. | | |||
| | <Reserved> | 255 | Terminate | Reserved. | | | <Reserved> | 255 | Terminate | Reserved. | | |||
| +-------------+---------+-----------+-------------------------------+ | +---------------+---------+-----------+-----------------------------+ | |||
| Table 3: DLEP Status Codes | ||||
| A failure mode of 'Terminate' indicates that the session MUST be | ||||
| terminated immediately instead of sending any relevant response | ||||
| message, by sending a Session Termination message (Section 10.7) | ||||
| containing the status code, and then transitioning to the Session | ||||
| Termination state. | ||||
| A failure mode of 'Continue' indicates that the session SHOULD | ||||
| continue as normal. | ||||
| 11.2. IPv4 Connection Point | Table 4: DLEP Status Codes | |||
| The IPv4 Connection Point data item MAY appear in the Peer Offer | 10.2. IPv4 Connection Point | |||
| signal (Section 10.2). | ||||
| 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 DLEP 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 | |||
| perform the TCP connect 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Data Item Type | Length | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Flags | IPv4 Address... : | | Flags | IPv4 Address... : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| : ...cont. | TCP Port Number (optional) | | : ...cont. | TCP Port Number (optional) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type: 2 | Data Item Type: 2 | |||
| Length: 5 (or 7 if TCP Port included) | Length: 5 (or 7 if TCP Port included) | |||
| Flags: Flags field, defined below. | Flags: Flags field, defined below. | |||
| IPv4 Address: The IPv4 address listening on the DLEP modem. | IPv4 Address: The IPv4 address listening on the modem. | |||
| TCP Port Number: TCP Port number on the DLEP 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 13.6) to establish the TCP connection. | number (Section 12.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. | |||
| 11.3. IPv6 Connection Point | 10.3. IPv6 Connection Point | |||
| The IPv6 Connection Point data item MAY appear in the Peer Offer | ||||
| signal (Section 10.2). | ||||
| 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 DLEP 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 | |||
| perform the TCP connect 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Data Item Type | Length | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Flags | IPv6 Address : | | Flags | IPv6 Address : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| : IPv6 Address : | : IPv6 Address : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| skipping to change at page 42, line 46 ¶ | skipping to change at page 38, line 43 ¶ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| : ...cont. | TCP Port Number (optional) | | : ...cont. | TCP Port Number (optional) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type: 3 | Data Item Type: 3 | |||
| Length: 17 (or 19 if TCP Port included) | Length: 17 (or 19 if TCP Port included) | |||
| Flags: Flags field, defined below. | Flags: Flags field, defined below. | |||
| IPv6 Address: The IPv6 address listening on the DLEP modem. | IPv6 Address: The IPv6 address listening on the modem. | |||
| TCP Port Number: TCP Port number on the DLEP 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 13.6) to establish the TCP connection. | number (Section 12.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. | |||
| 11.4. Peer Type | 10.4. Peer Type | |||
| The Peer Type data item MAY appear in the Peer Discovery | ||||
| (Section 10.1) and Peer Offer (Section 10.2) signals, and the Session | ||||
| Initialization (Section 10.3) and Session Initialization Response | ||||
| (Section 10.4) messages. | ||||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Data Item Type | Length | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Peer Type... : | | Peer Type... : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type: 4 | Data Item Type: 4 | |||
| Length: Length of peer type string, in octets. | Length: Length of peer type string, in octets. | |||
| Peer Type: UTF-8 encoded string. For example, a satellite modem | Peer Type: UTF-8 encoded string of UNICODE [UNIV8] characters. For | |||
| might set this variable to "Satellite terminal". Since this data | example, a satellite modem might set this variable to "Satellite | |||
| item is intended to provide additional information for display | terminal". Since this Data Item is intended to provide additional | |||
| commands, sending implementations SHOULD limit the data to | information for display commands, sending implementations SHOULD | |||
| printable characters, and receiving implementations SHOULD check | limit the data to printable characters, and receiving | |||
| 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. | |||
| 11.5. Heartbeat Interval | 10.5. Heartbeat Interval | |||
| The Heartbeat Interval data item MUST appear in both the Session | ||||
| Initialization (Section 10.3) and Session Initialization Response | ||||
| (Section 10.4) messages to indicate the Heartbeat timeout window to | ||||
| be used by the sender. | ||||
| The Interval is used to specify a period (in seconds) for Heartbeat | The Heartbeat Interval Data Item is used to specify a period in | |||
| messages (Section 10.16). By specifying an Interval value of 0, | milliseconds for Heartbeat Messages (Section 9.20). | |||
| implementations MAY indicate the desire to disable Heartbeat messages | ||||
| entirely (i.e., the Interval is set to an infinite value). However, | ||||
| it is RECOMMENDED that implementations use non-0 timer values. | ||||
| 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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Interval | | | Heartbeat Interval | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type: 5 | Data Item Type: 5 | |||
| Length: 2 | Length: 4 | |||
| Interval: 0 = Do not use heartbeats on this DLEP session. Non-zero | ||||
| = Interval, in seconds, for heartbeat messages. | ||||
| 11.6. Extensions Supported | Heartbeat Interval: The interval in milliseconds, expressed as a | |||
| 32-bit unsigned integer, for Heartbeat Messages. | ||||
| This value MUST NOT be 0. | ||||
| The Extensions Supported data item MAY be used in both the Session | 10.6. Extensions Supported | |||
| Initialization (Section 10.3) and Session Initialization Response | ||||
| (Section 10.4) messages. | ||||
| 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: | |||
| 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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Extensions List... | | Extensions List... | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| 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. | |||
| 11.7. MAC Address | 10.7. MAC Address | |||
| The MAC address data item MUST appear in all destination-oriented | The MAC Address Data Item contains the address of the destination on | |||
| messages (i.e., Destination Up (Section 10.9), Destination Up | the remote node. | |||
| Response (Section 10.10), Destination Down (Section 10.13), | ||||
| Destination Down Response (Section 10.14), Destination Update | DLEP can support MAC addresses in either EUI-48 or EUI-64 format, | |||
| (Section 10.15), Link Characteristics Request (Section 10.17), and | with the restriction that all MAC addresses for a given DLEP session | |||
| Link Characteristics Response (Section 10.18)). | 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 | ||||
| connected to the router with an EUI-48 MAC, all destination addresses | ||||
| via that modem MUST be expressed in EUI-48 format). | ||||
| The MAC Address data item contains the address of the destination on | ||||
| the remote node. The MAC address MAY be either a physical or a | ||||
| virtual destination, and MAY be expressed in EUI-48 or EUI-64 format. | ||||
| Examples of a virtual destination would be a multicast MAC address, | Examples of a virtual destination would be a multicast MAC address, | |||
| or the broadcast MAC (FF:FF:FF:FF:FF:FF). | or the broadcast MAC (FF:FF:FF:FF:FF:FF). | |||
| 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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | MAC Address : | | MAC Address : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| skipping to change at page 46, line 5 ¶ | skipping to change at page 41, line 38 ¶ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| : 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. | |||
| 11.8. IPv4 Address | 10.8. IPv4 Address | |||
| The IPv4 Address data item MAY appear in the Session Update | ||||
| (Section 10.5), Destination Up (Section 10.9) and Destination Update | ||||
| (Section 10.15) messages. | ||||
| 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: | |||
| 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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Flags | IPv4 Address : | | Flags | IPv4 Address : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| : ...cont. | | : ...cont. | | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| skipping to change at page 47, line 5 ¶ | skipping to change at page 42, line 30 ¶ | |||
| 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. | |||
| 11.9. IPv6 Address | 10.9. IPv6 Address | |||
| The IPv6 Address data item MAY appear in the Session Update | When included in Destination Messages, this Data Item contains the | |||
| (Section 10.5), Destination Up (Section 10.9) and Destination Update | IPv6 address of the destination. When included in the Session Update | |||
| (Section 10.15) messages. When included in Destination messages, | Message, this Data Item contains the IPv6 address of the peer. In | |||
| this data item contains the IPv6 address of the destination. When | either case, the Data Item also contains an indication of whether | |||
| included in the Session Update message, this data item contains the | this is a new or existing address, or is a deletion of a previously | |||
| IPv6 address of the peer. In either case, the data item also | known address. | |||
| contains an indication of whether this is a new or existing address, | ||||
| or is a deletion of a previously known address. | ||||
| The IPv6 Address data item contains the following fields: | The IPv6 Address 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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Flags | IPv6 Address : | | Flags | IPv6 Address : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| : IPv6 Address : | : IPv6 Address : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| skipping to change at page 48, line 5 ¶ | skipping to change at page 43, line 29 ¶ | |||
| 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. | |||
| 11.10. IPv4 Attached Subnet | 10.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. The IPv4 Attached Subnet data item MAY appear in the | destination. | |||
| Destination Up (Section 10.9) and Destination Update (Section 10.15) | ||||
| messages. | ||||
| The DLEP IPv4 Attached Subnet data item contains the following | The DLEP IPv4 Attached Subnet 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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Flags | IPv4 Attached Subnet : | | Flags | IPv4 Attached Subnet : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| : ...cont. |Prefix Length | | : ...cont. |Prefix Length | | |||
| skipping to change at page 49, line 5 ¶ | skipping to change at page 44, line 26 ¶ | |||
| 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. | |||
| 11.11. IPv6 Attached Subnet | 10.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, or 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. The | aware of an IPv6 subnet being present at a remote destination, or | |||
| IPv6 Attached Subnet data item MAY appear in the Destination Up | that it has become aware of the loss of a subnet at the remote | |||
| (Section 10.9) and Destination Update (Section 10.15) messages. | destination. | |||
| The DLEP IPv6 Attached Subnet data item contains the following | The DLEP IPv6 Attached Subnet 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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Flags | IPv6 Attached Subnet : | | Flags | IPv6 Attached Subnet : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| : IPv6 Attached Subnet : | : IPv6 Attached Subnet : | |||
| skipping to change at page 50, line 7 ¶ | skipping to change at page 45, line 28 ¶ | |||
| 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. | |||
| 11.12. Maximum Data Rate (Receive) | 10.12. Maximum Data Rate (Receive) | |||
| The Maximum Data Rate (Receive) (MDRR) data item MUST appear in the | The Maximum Data Rate (Receive) (MDRR) Data Item is used to indicate | |||
| Session Initialization Response message (Section 10.4), and MAY | the maximum theoretical data rate, in bits per second, that can be | |||
| appear in the Session Update (Section 10.5), Destination Up | ||||
| (Section 10.9), Destination Update (Section 10.15) and Link | ||||
| Characteristics Response (Section 10.18) messages to indicate 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Data Item Type | Length | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | MDRR (bps) : | | MDRR (bps) : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| : MDRR (bps) | | : MDRR (bps) | | |||
| skipping to change at page 50, line 33 ¶ | skipping to change at page 46, line 4 ¶ | |||
| | Data Item Type | Length | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | MDRR (bps) : | | MDRR (bps) : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| : MDRR (bps) | | : MDRR (bps) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| 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. | |||
| 11.13. Maximum Data Rate (Transmit) | 10.13. Maximum Data Rate (Transmit) | |||
| The Maximum Data Rate (Transmit) (MDRT) data item MUST appear in the | The Maximum Data Rate (Transmit) (MDRT) Data Item is used to indicate | |||
| Session Initialization Response message (Section 10.4), and MAY | the maximum theoretical data rate, in bits per second, that can be | |||
| appear in the Session Update (Section 10.5), Destination Up | ||||
| (Section 10.9), Destination Update (Section 10.15) and Link | ||||
| Characteristics Response (Section 10.18) messages to indicate 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Data Item Type | Length | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | MDRT (bps) : | | MDRT (bps) : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| : MDRT (bps) | | : MDRT (bps) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| 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. | |||
| 11.14. Current Data Rate (Receive) | 10.14. Current Data Rate (Receive) | |||
| The Current Data Rate (Receive) (CDRR) data item MUST appear in the | The Current Data Rate (Receive) (CDRR) Data Item is used to indicate | |||
| Session Initialization Response message (Section 10.4), and MAY | the rate at which the link is currently operating for receiving | |||
| appear in the Session Update (Section 10.5), Destination Up | traffic. | |||
| (Section 10.9), Destination Update (Section 10.15) and Link | ||||
| Characteristics Response (Section 10.18) messages to indicate the | ||||
| rate at which the link is currently operating for receiving traffic. | ||||
| When used in the Link Characteristics Request message | When used in the Link Characteristics Request Message (Section 9.18), | |||
| (Section 10.17), CDRR represents the desired receive rate, in bits | Current Data Rate (Receive) represents the desired receive rate, in | |||
| per second, on the link. | 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) : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| : CDRR (bps) | | : CDRR (bps) | | |||
| skipping to change at page 52, line 4 ¶ | skipping to change at page 47, line 13 ¶ | |||
| | Data Item Type | Length | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | CDRR (bps) : | | CDRR (bps) : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| : CDRR (bps) | | : CDRR (bps) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| 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 and maximum receive data | If there is no distinction between current and maximum receive data | |||
| rates, current data rate receive MUST be set equal to the maximum | rates, current data rate receive MUST be set equal to the maximum | |||
| data rate receive. | data rate receive. | |||
| 11.15. Current Data Rate (Transmit) | 10.15. Current Data Rate (Transmit) | |||
| The Current Data Rate Transmit (CDRT) data item MUST appear in the | The Current Data Rate (Transmit) (CDRT) Data Item is used to indicate | |||
| Session Initialization Response message (Section 10.4), and MAY | the rate at which the link is currently operating for transmitting | |||
| appear in the Session Update (Section 10.5), Destination Up | ||||
| (Section 10.9), Destination Update (Section 10.15), and Link | ||||
| Characteristics Response (Section 10.18) messages to indicate the | ||||
| rate at which the link is currently operating for transmitting | ||||
| traffic. | traffic. | |||
| When used in the Link Characteristics Request message | When used in the Link Characteristics Request Message (Section 9.18), | |||
| (Section 10.17), CDRT represents the desired transmit rate, in bits | Current Data Rate (Transmit) represents the desired transmit rate, in | |||
| per second, on the link. | 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) : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| : CDRT (bps) | | : CDRT (bps) | | |||
| skipping to change at page 53, line 5 ¶ | skipping to change at page 48, line 9 ¶ | |||
| 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 and maximum transmit data | If there is no distinction between current and maximum transmit data | |||
| rates, current data rate transmit MUST be set equal to the maximum | rates, current data rate transmit MUST be set equal to the maximum | |||
| data rate transmit. | data rate transmit. | |||
| 11.16. Latency | 10.16. Latency | |||
| The Latency data item MUST appear in the Session Initialization | The Latency Data Item is used to indicate the amount of latency, in | |||
| Response message (Section 10.4), and MAY appear in the Session Update | microseconds, on the link. | |||
| (Section 10.5), Destination Up (Section 10.9), Destination Update | ||||
| (Section 10.15), and Link Characteristics Response (Section 10.18) | ||||
| messages to indicate the amount of latency, in microseconds, on the | ||||
| link. | ||||
| When used in the Link Characteristics Request message | The Latency value is reported as transmission delay. The calculation | |||
| (Section 10.17), Latency represents the maximum latency desired on | of latency is implementation dependent. For example, the latency may | |||
| the link. | be a running average calculated from the internal queuing. | |||
| The Latency value is reported as delay. The calculation of latency | The Latency Data Item contains the following fields: | |||
| is implementation dependent. For example, the latency may be a | ||||
| running average calculated from the internal queuing. | ||||
| 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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Latency : | | Latency : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| : Latency | | : Latency | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| 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. | |||
| 11.17. Resources (Receive) | 10.17. Resources | |||
| The Resources (Receive) (RESR) data item MAY appear in the Session | ||||
| Initialization Response message (Section 10.4), Session Update | ||||
| (Section 10.5), Destination Up (Section 10.9), Destination Update | ||||
| (Section 10.15) and Link Characteristics Response (Section 10.18) | ||||
| messages to indicate the amount of resources for reception (with 0 | ||||
| meaning 'no resources available', and 100 meaning 'all resources | ||||
| available') at the destination. The list of resources that might be | ||||
| considered is beyond the scope of this document, and is left to | ||||
| implementations to decide. | ||||
| The Resources (Receive) data item contains the following fields: | ||||
| 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 | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Data Item Type | Length | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | RESR | | ||||
| +-+-+-+-+-+-+-+-+ | ||||
| Data Item Type: 17 | ||||
| Length: 1 | ||||
| Resources (Receive): An 8-bit integer percentage, 0-100, | ||||
| representing the amount of resources allocated to receiving data. | ||||
| Any value greater than 100 MUST be considered as invalid. | ||||
| If a device cannot calculate RESR, this data item SHOULD NOT be | The Resources (RES) Data Item is used to indicate the amount of | |||
| issued. | finite resources available for data transmission and reception at the | |||
| destination as a percentage, with 0 meaning 'no resources remaining', | ||||
| and 100 meaning 'a full supply', assuming that when Resources reaches | ||||
| 0 data transmission and/or reception will cease. | ||||
| 11.18. Resources (Transmit) | An example of such resources might be battery life, but could equally | |||
| be magic beans. The list of resources that might be considered is | ||||
| beyond the scope of this document, and is left to implementations to | ||||
| decide. | ||||
| The Resources (Transmit) (REST) data item MAY appear in the Session | This Data Item is designed to be used as an indication of some | |||
| Initialization Response message (Section 10.4), Session Update | capability of the modem and/or router at the destination. | |||
| (Section 10.5), Destination Up (Section 10.9), Destination Update | ||||
| (Section 10.15) and Link Characteristics Response (Section 10.18) | ||||
| messages to indicate the amount of resources for transmission (with 0 | ||||
| meaning 'no resources available', and 100 meaning 'all resources | ||||
| available') at the destination. The list of resources that might be | ||||
| considered is beyond the scope of this document, and is left to | ||||
| implementations to decide. | ||||
| The Resources (Transmit) data item contains the following fields: | The Resources 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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | REST | | | RES | | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| Data Item Type: 18 | Data Item Type: 17 | |||
| Length: 1 | Length: 1 | |||
| Resources (Transmit): An 8-bit integer percentage, 0-100, | Resources: An 8-bit unsigned integer percentage, 0-100, representing | |||
| representing the amount of resources allocated to transmitting | the amount of resources available. Any value greater than 100 | |||
| data. Any value greater than 100 MUST be considered as invalid. | MUST be considered as invalid. | |||
| If a device cannot calculate REST, this data item SHOULD NOT be | If a device cannot calculate Resources, this Data Item SHOULD NOT be | |||
| issued. | issued. | |||
| 11.19. Relative Link Quality (Receive) | 10.18. Relative Link Quality (Receive) | |||
| The Relative Link Quality (Receive) (RLQR) data item MAY appear in | The Relative Link Quality (Receive) (RLQR) Data Item is used to | |||
| the Session Initialization Response message (Section 10.4), Session | indicate the quality of the link to a destination for receiving | |||
| Update (Section 10.5), Destination Up (Section 10.9), Destination | traffic as a percentage, with 0 meaning 'worst quality', and 100 | |||
| Update (Section 10.15) and Link Characteristics Response | meaning 'best quality'. | |||
| (Section 10.18) messages to indicate the quality of the link for | ||||
| receiving data. | ||||
| The Relative Link Quality (Receive) data item contains the following | Quality in this context is defined as an indication of the stability | |||
| of a link for reception; a destination with high Relative Link | ||||
| Quality (Receive) is expected to have generally stable DLEP metrics, | ||||
| and the metrics of a destination with low Relative Link Quality | ||||
| (Receive) can be expected to rapidly fluctuate over a wide range. | ||||
| The Relative Link Quality (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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | RLQR | | | RLQR | | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| Data Item Type: 19 | Data Item Type: 18 | |||
| Length: 1 | Length: 1 | |||
| Relative Link Quality (Receive): A non-dimensional unsigned 8-bit | ||||
| integer, 0-100, representing relative quality of the link for | ||||
| receiving traffic. Any value greater than 100 MUST be considered | ||||
| as invalid. | ||||
| Relative Link Quality (Receive): A non-dimensional 8-bit integer, | If a device cannot calculate the Relative Link Quality (Receive), | |||
| 0-100, representing relative link quality. A value of 100 | this Data Item SHOULD NOT be issued. | |||
| represents a link of the highest quality. Any value greater than | ||||
| 100 MUST be considered as invalid. | ||||
| If a device cannot calculate the RLQR, this data item SHOULD NOT be | 10.19. Relative Link Quality (Transmit) | |||
| issued. | ||||
| 11.20. Relative Link Quality (Transmit) | The Relative Link Quality (Transmit) (RLQT) Data Item is used to | |||
| indicate the quality of the link to a destination for transmitting | ||||
| traffic as a percentage, with 0 meaning 'worst quality', and 100 | ||||
| meaning 'best quality'. | ||||
| The Relative Link Quality (Transmit) (RLQT) data item MAY appear in | Quality in this context is defined as an indication of the stability | |||
| the Session Initialization Response message (Section 10.4), Session | of a link for transmission; a destination with high Relative Link | |||
| Update (Section 10.5), Destination Up (Section 10.9), Destination | Quality (Transmit) is expected to have generally stable DLEP metrics, | |||
| Update (Section 10.15) and Link Characteristics Response | and the metrics of a destination with low Relative Link Quality | |||
| (Section 10.18) messages to indicate the quality of the link for | (Transmit) can be expected to rapidly fluctuate over a wide range. | |||
| transmitting data. | ||||
| The Relative Link Quality (Transmit) data item contains the following | The Relative Link Quality (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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | RLQT | | | RLQT | | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| Data Item Type: 20 | Data Item Type: 19 | |||
| Length: 1 | Length: 1 | |||
| Relative Link Quality (Transmit): A non-dimensional 8-bit integer, | Relative Link Quality (Transmit): A non-dimensional unsigned 8-bit | |||
| 0-100, representing relative link quality. A value of 100 | integer, 0-100, representing relative quality of the link for | |||
| represents a link of the highest quality. Any value greater than | transmitting traffic. Any value greater than 100 MUST be | |||
| 100 MUST be considered as invalid. | considered as invalid. | |||
| If a device cannot calculate the RLQT, this data item SHOULD NOT be | If a device cannot calculate the Relative Link Quality (Transmit), | |||
| issued. | this Data Item SHOULD NOT be issued. | |||
| 11.21. Maximum Transmission Unit (MTU) | 10.20. Maximum Transmission Unit (MTU) | |||
| The Maximum Transmission Unit (MTU) data item MAY appear in the | The Maximum Transmission Unit (MTU) Data Item is used to indicate the | |||
| Session Initialization Response message (Section 10.4), Session | maximum size, in octets, of an IP packet that can be transmitted | |||
| Update (Section 10.5), Destination Up (Section 10.9), Destination | without fragmentation, including headers, but excluding any lower | |||
| Update (Section 10.15) and Link Characteristics Response | layer headers. | |||
| (Section 10.18) messages to indicate the maximum size, in octets, of | ||||
| an IP packet that can be transmitted without fragmentation, including | ||||
| headers, but excluding any lower layer headers. | ||||
| The Maximum Transmission Unit (MTU) data item contains the following | The Maximum Transmission Unit 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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | MTU | | | MTU | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type: 21 | Data Item Type: 20 | |||
| Length: 2 | Length: 2 | |||
| Maximum Transmission Unit (MTU): The maximum size, in octets, of an | Maximum Transmission Unit: The maximum size, in octets, of an IP | |||
| 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 MTU, this data item SHOULD NOT be | If a device cannot calculate the Maximum Transmission Unit, this Data | |||
| issued. | Item SHOULD NOT be issued. | |||
| 12. Security Considerations | 11. 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 peer, either at DLEP | 1. An attacker might pretend to be a DLEP peer, either at DLEP | |||
| session initialization, or by injection of messages once a | session initialization, or by injection of DLEP Messages once a | |||
| session has been established, and/or | 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 Discovery signal, and | Initialization having provided an acceptable Peer Discovery Signal, | |||
| ignore Peer Discovery signals from such hosts. | and ignore subsequent Peer Discovery Signals from such hosts. | |||
| 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. | |||
| 13. IANA Considerations | 12. IANA Considerations | |||
| This section specifies requests to IANA. | This section specifies requests to IANA. | |||
| 13.1. Registrations | 12.1. Registrations | |||
| This specification defines: | This specification defines: | |||
| o A new repository for DLEP signals and messages, with eighteen (18) | o A new repository for DLEP Signals, with three (3) values currently | |||
| values currently assigned. | assigned. | |||
| o Reservation of a Private Use numbering space within the above | o Reservation of a Private Use numbering space within the above | |||
| repository for experimental DLEP signals and messages. | repository for experimental DLEP Signals. | |||
| o A new repository for DLEP data items, with twenty-one (21) values | o A new repository for DLEP Messages, with seventeen (17) values | |||
| currently assigned. | currently assigned. | |||
| o Reservation of a Private Use numbering space within the data items | o Reservation of a Private Use numbering space within the above | |||
| repository for experimental data items. | repository for experimental DLEP Messages. | |||
| o A new repository for DLEP Data Items, with twenty one (21) values | ||||
| currently assigned. | ||||
| o Reservation of a Private Use numbering space within the Data Items | ||||
| repository for experimental Data Items. | ||||
| o A new repository for DLEP status codes, with eight (8) currently | o A new repository for DLEP status codes, with eight (8) currently | |||
| assigned. | assigned. | |||
| o Reservation of a Private Use numbering space within the status | o Reservation of a Private Use numbering space within the status | |||
| codes repository for experimental status codes. | codes repository for experimental status codes. | |||
| o A new repository for DLEP extensions, with one (1) value currently | o A new repository for DLEP extensions, with one (1) value currently | |||
| assigned. | assigned. | |||
| skipping to change at page 58, line 29 ¶ | skipping to change at page 53, line 8 ¶ | |||
| o A request for allocation of a well-known port for DLEP TCP and UDP | o A request for allocation of a well-known port for DLEP TCP and UDP | |||
| communication. | communication. | |||
| o A request for allocation of a link-local multicast IPv4 address | o A request for allocation of a link-local multicast IPv4 address | |||
| for DLEP discovery. | for DLEP discovery. | |||
| o A request for allocation of a link-local multicast IPv6 address | o A request for allocation of a link-local multicast IPv6 address | |||
| for DLEP discovery. | for DLEP discovery. | |||
| 13.2. Signal/Message Type Registration | 12.2. Signal Type Registration | |||
| A new repository must be created with the values of the DLEP signals | A new repository must be created with the values of the DLEP Signals, | |||
| and messages, entitled "Message Type Values for the Dynamic Link | entitled "Signal Type Values for the Dynamic Link Event Protocol | |||
| Event Protocol (DLEP)". The repository is to be managed using the | (DLEP)". The repository is to be managed using the "Specification | |||
| Required" policy documented in [RFC5226]. | ||||
| All Signal values are in the range [0..65535], defined in Table 1. | ||||
| 12.3. Message Type Registration | ||||
| A new repository must be created with the values of the DLEP | ||||
| Messages, entitled "Message Type Values for the Dynamic Link Event | ||||
| Protocol (DLEP)". The repository is to be managed using the | ||||
| "Specification Required" policy documented in [RFC5226]. | "Specification Required" policy documented in [RFC5226]. | |||
| All signal and message values are in the range [0..65535], defined in | All Message values are in the range [0..65535], defined in Table 2. | |||
| Table 1. | ||||
| 13.3. DLEP Data Item Registrations | 12.4. DLEP Data Item Registrations | |||
| A new repository for DLEP data items must be created, entitled "Data | A new repository for DLEP Data Items must be created, entitled "Data | |||
| Item Type Values for the Dynamic Link Event Protocol (DLEP)". The | Item Type Values for the Dynamic Link Event Protocol (DLEP)". The | |||
| repository is to be managed using the "Specification Required" policy | repository is to be managed using the "Specification Required" policy | |||
| documented in [RFC5226]. | documented in [RFC5226]. | |||
| All data item values are in the range [0..65535], defined in Table 2. | All Data Item values are in the range [0..65535], defined in Table 3. | |||
| 13.4. DLEP Status Code Registrations | 12.5. DLEP Status Code Registrations | |||
| A new repository for DLEP status codes must be created, entitled | A new repository for DLEP status codes must be created, entitled | |||
| "Status Code Values for the Dynamic Link Event Protocol (DLEP)". The | "Status Code Values for the Dynamic Link Event Protocol (DLEP)". The | |||
| repository is to be managed using the "Specification Required" policy | repository is to be managed using the "Specification Required" policy | |||
| documented in [RFC5226]. | documented in [RFC5226]. | |||
| All status codes are in the range [0..255], defined in Table 3. | All status codes are in the range [0..255] , defined in Table 4. | |||
| 13.5. DLEP Extensions Registrations | With the exception of the reserved value 255, all status codes with | |||
| values >= 100 are marked as 'Continue' codes, others 'Terminate'. | ||||
| 12.6. DLEP Extensions Registrations | ||||
| A new repository for DLEP extensions must be created, entitled | A new repository for DLEP extensions must be created, entitled | |||
| "Extension Type Values for the Dynamic Link Event Protocol (DLEP)". | "Extension Type Values for the Dynamic Link Event Protocol (DLEP)". | |||
| The repository is to be managed using the "Specification Required" | The repository is to be managed using the "Specification Required" | |||
| policy documented in [RFC5226]. | policy documented in [RFC5226]. | |||
| All extension values are in the range [0..65535]. Current | All extension values are in the range [0..65535]. Current | |||
| allocations are: | allocations are: | |||
| +-------------+-----------------------------------------------------+ | +--------------+----------------------------------------------+ | |||
| | Code | Description | | | Code | Description | | |||
| +-------------+-----------------------------------------------------+ | +--------------+----------------------------------------------+ | |||
| | 0 | Reserved | | | 0 | Reserved | | |||
| | 1 | Credit Windowing | | | 1 | Credit Windowing | | |||
| | 2-65519 | Unassigned. Available for future extensions | | | 2-65519 | Unassigned. Available for future extensions | | |||
| | 65520-65534 | Private Use. Available for experiments | | | 65520-65534 | Private Use. Available for experiments | | |||
| | 65535 | Reserved | | | 65535 | Reserved | | |||
| +-------------+-----------------------------------------------------+ | +--------------+----------------------------------------------+ | |||
| Table 4: DLEP Extension types | Table 5: DLEP Extension types | |||
| 13.6. DLEP Well-known Port | 12.7. DLEP Well-known Port | |||
| It is requested that IANA allocate a single well-known port number | It is requested that IANA allocate a single well-known port number | |||
| for both TCP and UDP, for DLEP communication. SCTP port allocation | for both TCP and UDP, for DLEP communication. SCTP port allocation | |||
| is not required. | is not required. | |||
| 13.7. DLEP IPv4 Link-local Multicast Address | 12.8. DLEP IPv4 Link-local Multicast Address | |||
| It is requested that IANA allocate an IPv4 link-local multicast | It is requested that IANA allocate an IPv4 link-local multicast | |||
| address for DLEP discovery signals. | address for DLEP discovery Signals. | |||
| 13.8. DLEP IPv6 Link-local Multicast Address | 12.9. DLEP IPv6 Link-local Multicast Address | |||
| It is requested that IANA allocate an IPv6 link-local multicast | It is requested that IANA allocate an IPv6 link-local multicast | |||
| address for DLEP discovery signals. | address for DLEP discovery Signals. | |||
| 14. Acknowledgements | 13. 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. | |||
| 15. References | 14. References | |||
| 15.1. Normative References | 14.1. Normative References | |||
| [CREDIT] Ratliff, S., "Credit Windowing extension for DLEP", draft- | [CREDIT] Ratliff, S., "Credit Windowing extension for DLEP", IETF | |||
| ietf-manet-credit-window-00 IETF draft, October 2015. | draft draft-ietf-manet-credit-window-02, 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, | Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/ | |||
| DOI 10.17487/RFC2119, March 1997, | RFC2119, March 1997, | |||
| <http://www.rfc-editor.org/info/rfc2119>. | <http://www.rfc-editor.org/info/rfc2119>. | |||
| 15.2. Informative References | [UNIV8] , "The Unicode Consortium. The Unicode Standard, Version | |||
| 8.0.0, (Mountain View, CA: The Unicode Consortium, 2015. | ||||
| ISBN 978-1-936213-10-8)", | ||||
| http://www.unicode.org/versions/Unicode8.0.0/, June 2015. | ||||
| 14.2. Informative References | ||||
| [IEEE-802.1AE] | ||||
| , "IEEE Standards for Local and Metropolitan Area | ||||
| Networks: Media Access Control (MAC) Security", DOI | ||||
| 10.1109/IEEESTD.2006.245590, August 2006. | ||||
| [IEEE-802.1X] | ||||
| , "IEEE Standards for Local and Metropolitan Area | ||||
| Networks: Port based Network Access Control", DOI 10.1109/ | ||||
| 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>. | |||
| [IEEE-802.1AE] | ||||
| IEEE Standards for Local and Metropolitan Area | ||||
| Networks: Media Access Control (MAC) Security, July 2006 | ||||
| [IEEE-802.1X] | ||||
| IEEE Standards for Local and Metropolitan Area | ||||
| Networks: Port based Network Access Control, IEEE | ||||
| P802.1x-2001, June 2001. | ||||
| Appendix A. Discovery Signal Flows | Appendix A. Discovery Signal Flows | |||
| Router Modem Signal Description | ||||
| ======================================================================== | ||||
| | Router initiates discovery, starts | Router Modem Signal Description | |||
| | a timer, send Peer Discovery | ======================================================================== | |||
| |-------Peer Discovery---->|| signal. | ||||
| ~ ~ ~ ~ ~ ~ ~ Router discovery timer expires | | Router initiates discovery, starts | |||
| without receiving Peer Offer. | | a timer, send Peer Discovery | |||
| |-------Peer Discovery---->|| Signal. | ||||
| | Router sends another Peer | ~ ~ ~ ~ ~ ~ ~ Router discovery timer expires | |||
| |-------Peer Discovery---------->| Discovery signal. | without receiving Peer Offer. | |||
| | | ||||
| | Modem receives Peer Discovery | | Router sends another Peer | |||
| | signal. | |-------Peer Discovery---------->| Discovery Signal. | |||
| | | | | |||
| | Modem sends Peer Offer with | | Modem receives Peer Discovery | |||
| |<--------Peer Offer-------------| Connection Point information. | | Signal. | |||
| : | | | |||
| : Router MAY cancel discovery timer | | Modem sends Peer Offer with | |||
| : and stop sending Peer Discovery | |<--------Peer Offer-------------| Connection Point information. | |||
| : signals. | : | |||
| : Router MAY cancel discovery timer | ||||
| : and stop sending Peer Discovery | ||||
| : 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 Modem Message Description | |||
| ======================================================================== | ======================================================================== | |||
| | Router connects to discovered or | | Router connects to discovered or | |||
| | pre-configured Modem Connection | | pre-configured Modem Connection | |||
| |---------TCP connect----------> Point. | |---------TCP connect----------> Point. | |||
| | | | | |||
| | Router sends Session | | Router sends Session | |||
| |----Session Initialization----->| Initialization message. | |----Session Initialization----->| Initialization Message. | |||
| | | | | |||
| | Modem receives Session | | Modem receives Session | |||
| | Initialization message. | | Initialization Message. | |||
| | | | | |||
| | Modem sends Session Initialization | | Modem sends Session Initialization | |||
| |<--Session Initialization Resp.-| Response, with Success status data | |<--Session Initialization Resp.-| Response, with Success Status Data | |||
| | | item. | | | Item. | |||
| | | | | | | |||
| |<<============================>>| Session established. Heartbeats | |<<============================>>| Session established. Heartbeats | |||
| : : begin. | : : 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 connect----------> Point. | |---------TCP connect----------> 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 | ||||
| ======================================================================== | ||||
| | Modem sends Session Update message | Router Modem Message Description | |||
| | to announce change of modem-wide | ======================================================================== | |||
| |<--------Session Update---------| metrics | ||||
| | | | Modem sends Session Update Message | |||
| | Router receives Session Update | | to announce change of modem-wide | |||
| | message and updates internal | |<--------Session Update---------| metrics | |||
| | state. | | | |||
| | | | Router receives Session Update | |||
| |----Session Update Response---->| Router sends Session Update | | Message and updates internal | |||
| | Response. | | state. | |||
| | | ||||
| |----Session Update Response---->| Router sends Session Update | ||||
| | Response. | ||||
| B.5. Router Terminates Session | B.5. Router Terminates Session | |||
| Router Modem Message Description | Router Modem Message Description | |||
| ======================================================================== | ======================================================================== | |||
| | Router sends Session Termination | | Router sends Session Termination | |||
| |------Session Termination------>| message with Status data item. | |------Session Termination------>| Message with Status Data Item. | |||
| | | | | | | |||
| |-------TCP shutdown (send)---> | Router stops sending messages. | |-------TCP shutdown (send)---> | Router stops sending Messages. | |||
| | | | | |||
| | Modem receives Session | | Modem receives Session | |||
| | Termination, stops counting | | Termination, stops counting | |||
| | received heartbeats and stops | | received heartbeats and stops | |||
| | sending heartbeats. | | sending heartbeats. | |||
| | | | | |||
| | Modem sends Session Termination | | Modem sends Session Termination | |||
| |<---Session Termination Resp.---| Response with Status 'Success'. | |<---Session Termination Resp.---| Response with Status 'Success'. | |||
| | | | | |||
| | Modem stops sending messages. | | Modem stops sending Messages. | |||
| | | | | |||
| ||---------TCP close------------|| Session terminated. | ||---------TCP close------------|| Session terminated. | |||
| B.6. Modem Terminates Session | B.6. Modem Terminates Session | |||
| Router Modem Message Description | ||||
| ======================================================================== | ||||
| | Modem sends Session Termination | Router Modem Message Description | |||
| |<----Session Termination--------| message with Status data item. | ======================================================================== | |||
| | | ||||
| | Modem stops sending messages. | | Modem sends Session Termination | |||
| | | |<----Session Termination--------| Message with Status Data Item. | |||
| | Router receives Session | | | |||
| | Termination, stops counting | | Modem stops sending Messages. | |||
| | received heartbeats and stops | | | |||
| | sending heartbeats. | | Router receives Session | |||
| | | | Termination, stops counting | |||
| | Router sends Session Termination | | received heartbeats and stops | |||
| |---Session Termination Resp.--->| Response with Status 'Success'. | | sending heartbeats. | |||
| | | | | |||
| | Router stops sending messages. | | Router sends Session Termination | |||
| | | |---Session Termination Resp.--->| Response with Status 'Success'. | |||
| ||---------TCP close------------|| Session terminated. | | | |||
| | Router stops sending Messages. | ||||
| | | ||||
| ||---------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 | |----------Heartbeat------------>| Router sends heartbeat Message | |||
| | counter. | | | |||
| | Modem resets heartbeats missed | ||||
| | counter. | ||||
| ~ ~ ~ ~ ~ ~ ~ | ~ ~ ~ ~ ~ ~ ~ | |||
| |---------[Any message]--------->| When the Modem receives any | |---------[Any Message]--------->| When the Modem receives any | |||
| | message from the Router. | | Message from the Router. | |||
| | | | | |||
| | Modem resets heartbeats missed | | Modem resets heartbeats missed | |||
| | counter. | | counter. | |||
| ~ ~ ~ ~ ~ ~ ~ | ~ ~ ~ ~ ~ ~ ~ | |||
| |<---------Heartbeat-------------| Modem sends heartbeat message | |<---------Heartbeat-------------| Modem sends heartbeat Message | |||
| | | | | |||
| | Router resets heartbeats missed | | Router resets heartbeats missed | |||
| | counter. | | counter. | |||
| ~ ~ ~ ~ ~ ~ ~ | ~ ~ ~ ~ ~ ~ ~ | |||
| |<--------[Any message]----------| When the Router receives any | |<--------[Any Message]----------| When the Router receives any | |||
| | message from the Modem. | | Message from the Modem. | |||
| | | | | |||
| | Modem resets heartbeats missed | | Modem resets heartbeats missed | |||
| | counter. | | counter. | |||
| B.8. Router Detects a Heartbeat timeout | B.8. Router Detects a Heartbeat timeout | |||
| Router Modem Message Description | Router Modem Message Description | |||
| ======================================================================== | ======================================================================== | |||
| ||<----------------------| Router misses a heartbeat | ||<----------------------| Router misses a heartbeat | |||
| | ||<----------------------| Router misses too many heartbeats | | ||<----------------------| 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 as above. | : Termination proceeds as above. | |||
| B.9. Modem Detects a Heartbeat timeout | B.9. Modem Detects a Heartbeat timeout | |||
| Router Modem Message Description | ||||
| ======================================================================== | ||||
| Router Modem Message Description | |---------------------->|| Modem misses a heartbeat | |||
| ======================================================================== | ||||
| |---------------------->|| Modem misses a heartbeat | ||||
| |---------------------->|| | Modem misses too many heartbeats | |---------------------->|| | 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 as above. | : Termination proceeds as above. | |||
| 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 Up--------->| Destination Up message. | ||||
| | | ||||
| | Modem updates internal state to | ||||
| | monitor multicast destination, and | ||||
| |<-----Destination Up Resp.------| sends Destination Up 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 | |||
| | status 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 page 70, line 4 ¶ | skipping to change at page 62, line 33 ¶ | |||
| 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 | |||
| 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. 506 change blocks. | ||||
| 1642 lines changed or deleted | 1449 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/ | ||||