| rfc9508v4.txt | rfc9508.txt | |||
|---|---|---|---|---|
| skipping to change at line 12 ¶ | skipping to change at line 12 ¶ | |||
| Internet Research Task Force (IRTF) S. Mastorakis | Internet Research Task Force (IRTF) S. Mastorakis | |||
| Request for Comments: 9508 University of Notre Dame | Request for Comments: 9508 University of Notre Dame | |||
| Category: Experimental D. Oran | Category: Experimental D. Oran | |||
| ISSN: 2070-1721 Network Systems Research and Design | ISSN: 2070-1721 Network Systems Research and Design | |||
| J. Gibson | J. Gibson | |||
| Unaffiliated | Unaffiliated | |||
| I. Moiseenko | I. Moiseenko | |||
| Apple Inc. | Apple Inc. | |||
| R. Droms | R. Droms | |||
| Unaffiliated | Unaffiliated | |||
| February 2024 | March 2024 | |||
| Information-Centric Networking (ICN) Ping Protocol Specification | Information-Centric Networking (ICN) Ping Protocol Specification | |||
| Abstract | Abstract | |||
| This document presents the design of an Information-Centric | This document presents the design of an Information-Centric | |||
| Networking (ICN) Ping protocol. It includes the operations of both | Networking (ICN) Ping protocol. It includes the operations of both | |||
| the client and the forwarder. | the client and the forwarder. | |||
| This document is a product of the Information-Centric Networking | This document is a product of the Information-Centric Networking | |||
| skipping to change at line 270 ¶ | skipping to change at line 270 ¶ | |||
| to distinguish a ping from a normal Interest, while diverging as | to distinguish a ping from a normal Interest, while diverging as | |||
| little as possible from the forwarding behavior for an Interest | little as possible from the forwarding behavior for an Interest | |||
| packet. In the same way, the encoding of a Ping Echo Reply should | packet. In the same way, the encoding of a Ping Echo Reply should | |||
| minimize any processing differences from those employed for a data | minimize any processing differences from those employed for a data | |||
| packet by the forwarders. | packet by the forwarders. | |||
| The ping protocol should also enable relatively robust RTT | The ping protocol should also enable relatively robust RTT | |||
| measurements. To this end, it is valuable to have a mechanism to | measurements. To this end, it is valuable to have a mechanism to | |||
| steer consecutive Ping Echo Requests for the same name towards an | steer consecutive Ping Echo Requests for the same name towards an | |||
| individual path. Such a capability was initially published in | individual path. Such a capability was initially published in | |||
| [PATHSTEERING] and has been specified for CCNx and NDN in [RFCYYYY]. | [PATHSTEERING] and has been specified for CCNx and NDN in [RFC9531]. | |||
| In the case of Ping Echo Requests for the same name from different | In the case of Ping Echo Requests for the same name from different | |||
| sources, it is also important to have a mechanism to avoid those | sources, it is also important to have a mechanism to avoid those | |||
| requests being aggregated in the PIT. To this end, we need some | requests being aggregated in the PIT. To this end, we need some | |||
| encoding in the Ping Echo Requests to make each request for a common | encoding in the Ping Echo Requests to make each request for a common | |||
| name unique, hence avoiding PIT aggregation and further enabling the | name unique, hence avoiding PIT aggregation and further enabling the | |||
| exact match of a response with a particular ping packet. However, | exact match of a response with a particular ping packet. However, | |||
| avoiding PIT aggregation could lead to PIT DoS attacks. | avoiding PIT aggregation could lead to PIT DoS attacks. | |||
| 4. ICN Ping Echo CCNx Packet Formats | 4. ICN Ping Echo CCNx Packet Formats | |||
| skipping to change at line 324 ¶ | skipping to change at line 324 ¶ | |||
| type field is _PT_ECHO_REQUEST_. See Section 9 for the value | type field is _PT_ECHO_REQUEST_. See Section 9 for the value | |||
| assignment. | assignment. | |||
| Compared to the typical format of a CCNx packet header [RFC8609], | Compared to the typical format of a CCNx packet header [RFC8609], | |||
| there is a new optional fixed header added to the packet header: | there is a new optional fixed header added to the packet header: | |||
| * A Path Steering hop-by-hop header TLV, which is constructed hop by | * A Path Steering hop-by-hop header TLV, which is constructed hop by | |||
| hop in the Ping Echo Reply and included in the Ping Echo Request | hop in the Ping Echo Reply and included in the Ping Echo Request | |||
| to steer consecutive requests expressed by a client towards a | to steer consecutive requests expressed by a client towards a | |||
| common forwarding path or different forwarding paths. The Path | common forwarding path or different forwarding paths. The Path | |||
| Label TLV is specified in [RFCYYYY]. | Label TLV is specified in [RFC9531]. | |||
| The message format of an Echo Request is presented below: | The message format of an Echo Request is presented below: | |||
| 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 | |||
| +---------------+---------------+---------------+---------------+ | +---------------+---------------+---------------+---------------+ | |||
| | | | | | | | | |||
| | MessageType = 0x05 | MessageLength | | | MessageType = 0x05 | MessageLength | | |||
| | | | | | | | | |||
| +---------------+---------------+---------------+---------------+ | +---------------+---------------+---------------+---------------+ | |||
| | | | | | | |||
| skipping to change at line 396 ¶ | skipping to change at line 396 ¶ | |||
| | | | | | | |||
| | Echo Reply Message TLVs | | | Echo Reply Message TLVs | | |||
| | | | | | | |||
| +---------------+---------------+---------------+---------------+ | +---------------+---------------+---------------+---------------+ | |||
| Figure 4: Echo Reply CCNx Packet Format | Figure 4: Echo Reply CCNx Packet Format | |||
| The header of an Echo Reply consists of the header fields of a CCNx | The header of an Echo Reply consists of the header fields of a CCNx | |||
| Content Object and a hop-by-hop Path Label TLV. The value of the | Content Object and a hop-by-hop Path Label TLV. The value of the | |||
| packet type field is PT_ECHO_REPLY. See Section 9 for the value | packet type field is PT_ECHO_REPLY. See Section 9 for the value | |||
| assignment. The Path Label header TLV (Section 3.1 of [RFCYYYY]) is | assignment. The Path Label header TLV (Section 3.1 of [RFC9531]) is | |||
| as defined for the Echo Request packet. | as defined for the Echo Request packet. | |||
| A Ping Echo Reply message is of type T_OBJECT and contains a Name TLV | A Ping Echo Reply message is of type T_OBJECT and contains a Name TLV | |||
| (name of the corresponding Echo Request), a PayloadType TLV, and an | (name of the corresponding Echo Request), a PayloadType TLV, and an | |||
| ExpiryTime TLV with a value of 0 to indicate that Echo Replies must | ExpiryTime TLV with a value of 0 to indicate that Echo Replies must | |||
| not be returned from network caches. | not be returned from network caches. | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +---------------+---------------+---------------+---------------+ | +---------------+---------------+---------------+---------------+ | |||
| | | | | | | | | |||
| skipping to change at line 502 ¶ | skipping to change at line 502 ¶ | |||
| Nonce | Nonce | |||
| ApplicationParameters? | ApplicationParameters? | |||
| Figure 7: Echo Request NDN Packet Format | Figure 7: Echo Request NDN Packet Format | |||
| The name field of an Echo Request consists of the name prefix to be | The name field of an Echo Request consists of the name prefix to be | |||
| pinged, a nonce value (it can be the value of the Nonce field), and | pinged, a nonce value (it can be the value of the Nonce field), and | |||
| the suffix "ping" to denote that this Interest is a ping request | the suffix "ping" to denote that this Interest is a ping request | |||
| (added as a KeywordNameComponent [NDNTLV]). When the | (added as a KeywordNameComponent [NDNTLV]). When the | |||
| "ApplicationParameters" element is present, a | "ApplicationParameters" element is present, a | |||
| parametersSha256DigestComponent (Section 6) is added as the last name | ParametersSha256DigestComponent (Section 6) is added as the last name | |||
| segment. | segment. | |||
| An Echo Request MAY carry a Path Label TLV in the NDN Link Adaptation | An Echo Request MAY carry a Path Label TLV in the NDN Link Adaptation | |||
| Protocol [NDNLPv2] as specified in [RFCYYYY]. | Protocol [NDNLPv2] as specified in [RFC9531]. | |||
| Since the NDN packet format does not provide a mechanism to prevent | Since the NDN packet format does not provide a mechanism to prevent | |||
| the network from caching specific data packets, we use the | the network from caching specific data packets, we use the | |||
| MustBeFresh TLV for Echo Requests (in combination with a | MustBeFresh TLV for Echo Requests (in combination with a | |||
| FreshnessPeriod TLV with a value of 1 for Echo Replies) to avoid | FreshnessPeriod TLV with a value of 1 for Echo Replies) to avoid | |||
| fetching cached Echo Replies with an expired freshness period | fetching cached Echo Replies with an expired freshness period | |||
| [REALTIME]. | [REALTIME]. | |||
| 5.2. ICN Ping Echo Reply NDN Packet Format | 5.2. ICN Ping Echo Reply NDN Packet Format | |||
| skipping to change at line 529 ¶ | skipping to change at line 529 ¶ | |||
| EchoReply = DATA-TLV TLV-LENGTH | EchoReply = DATA-TLV TLV-LENGTH | |||
| Name | Name | |||
| MetaInfo | MetaInfo | |||
| Content | Content | |||
| Signature | Signature | |||
| Figure 8: Echo Reply NDN Packet Format | Figure 8: Echo Reply NDN Packet Format | |||
| An Echo Reply MAY carry a Path Label TLV in the NDN Link Adaptation | An Echo Reply MAY carry a Path Label TLV in the NDN Link Adaptation | |||
| Protocol [NDNLPv2] as specified in [RFCYYYY], since it might be | Protocol [NDNLPv2] as specified in [RFC9531], since it might be | |||
| modified in a hop-by-hop fashion by the forwarders along the reverse | modified in a hop-by-hop fashion by the forwarders along the reverse | |||
| path. | path. | |||
| The name of an Echo Reply is the name of the corresponding Echo | The name of an Echo Reply is the name of the corresponding Echo | |||
| Request while the format of the MetaInfo field is as follows: | Request while the format of the MetaInfo field is as follows: | |||
| MetaInfo = META-INFO-TYPE TLV-LENGTH | MetaInfo = META-INFO-TYPE TLV-LENGTH | |||
| ContentType | ContentType | |||
| FreshnessPeriod | FreshnessPeriod | |||
| skipping to change at line 774 ¶ | skipping to change at line 774 ¶ | |||
| DOI 10.17487/RFC8793, June 2020, | DOI 10.17487/RFC8793, June 2020, | |||
| <https://www.rfc-editor.org/info/rfc8793>. | <https://www.rfc-editor.org/info/rfc8793>. | |||
| 10.2. Informative References | 10.2. Informative References | |||
| [NDNLPv2] NDN team, "NDNLPv2: Named Data Networking Link Adaptation | [NDNLPv2] NDN team, "NDNLPv2: Named Data Networking Link Adaptation | |||
| Protocol v2", February 2023, <https://redmine.named- | Protocol v2", February 2023, <https://redmine.named- | |||
| data.net/projects/nfd/wiki/NDNLPv2>. | data.net/projects/nfd/wiki/NDNLPv2>. | |||
| [NDNTLV] NDN project team, "NDN Packet Format Specification", | [NDNTLV] NDN project team, "NDN Packet Format Specification", | |||
| September 2023, | February 2024, | |||
| <https://named-data.net/doc/NDN-packet-spec/current/>. | <https://named-data.net/doc/NDN-packet-spec/current/>. | |||
| [PATHSTEERING] | [PATHSTEERING] | |||
| Moiseenko, I. and D. Oran, "Path switching in content | Moiseenko, I. and D. Oran, "Path switching in content | |||
| centric and named data networks", ICN '17: Proceedings of | centric and named data networks", ICN '17: Proceedings of | |||
| the 4th ACM Conference on Information-Centric Networking, | the 4th ACM Conference on Information-Centric Networking, | |||
| pp. 66-76, DOI 10.1145/3125719.3125721, September 2017, | pp. 66-76, DOI 10.1145/3125719.3125721, September 2017, | |||
| <https://dl.acm.org/doi/10.1145/3125719.3125721>. | <https://dl.acm.org/doi/10.1145/3125719.3125721>. | |||
| [REALTIME] Mastorakis, S., Gusev, P., Afanasyev, A., and L. Zhang, | [REALTIME] Mastorakis, S., Gusev, P., Afanasyev, A., and L. Zhang, | |||
| skipping to change at line 805 ¶ | skipping to change at line 805 ¶ | |||
| [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | |||
| Writing an IANA Considerations Section in RFCs", BCP 26, | Writing an IANA Considerations Section in RFCs", BCP 26, | |||
| RFC 8126, DOI 10.17487/RFC8126, June 2017, | RFC 8126, DOI 10.17487/RFC8126, June 2017, | |||
| <https://www.rfc-editor.org/info/rfc8126>. | <https://www.rfc-editor.org/info/rfc8126>. | |||
| [RFC9344] Asaeda, H., Ooka, A., and X. Shao, "CCNinfo: Discovering | [RFC9344] Asaeda, H., Ooka, A., and X. Shao, "CCNinfo: Discovering | |||
| Content and Network Information in Content-Centric | Content and Network Information in Content-Centric | |||
| Networks", RFC 9344, DOI 10.17487/RFC9344, February 2023, | Networks", RFC 9344, DOI 10.17487/RFC9344, February 2023, | |||
| <https://www.rfc-editor.org/info/rfc9344>. | <https://www.rfc-editor.org/info/rfc9344>. | |||
| [RFCYYYY] Moiseenko, I. and D. Oran, "Path Steering in CCNx and | [RFC9531] Moiseenko, I. and D. Oran, "Path Steering in Content- | |||
| NDN", RFC YYYY, DOI 10.17487/RFCYYYY, February 2024, | Centric Networking (CCNx) and Named Data Networking | |||
| <https://www.rfc-editor.org/info/rfcYYYY>. | (NDN)", RFC 9531, DOI 10.17487/RFC9531, March 2024, | |||
| <https://www.rfc-editor.org/info/rfc9531>. | ||||
| [SNAMP] Afanasyev, A., Yi, C., Wang, L., Zhang, B., and L. Zhang, | [SNAMP] Afanasyev, A., Yi, C., Wang, L., Zhang, B., and L. Zhang, | |||
| "SNAMP: Secure namespace mapping to scale NDN forwarding", | "SNAMP: Secure namespace mapping to scale NDN forwarding", | |||
| 2015 IEEE Conference on Computer Communications Workshops | 2015 IEEE Conference on Computer Communications Workshops | |||
| (INFOCOM WKSHPS), Hong Kong, China, pp. 281-286, | (INFOCOM WKSHPS), Hong Kong, China, pp. 281-286, | |||
| DOI 10.1109/INFCOMW.2015.7179398, April 2015, | DOI 10.1109/INFCOMW.2015.7179398, April 2015, | |||
| <https://ieeexplore.ieee.org/abstract/document/7179398>. | <https://ieeexplore.ieee.org/abstract/document/7179398>. | |||
| Appendix A. Ping Client Application (Consumer) Operation | Appendix A. Ping Client Application (Consumer) Operation | |||
| End of changes. 9 change blocks. | ||||
| 11 lines changed or deleted | 12 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. | ||||