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.