One document matched: draft-zheng-p2psip-diagnose-03.txt
Differences from draft-zheng-p2psip-diagnose-02.txt
P2PSIP H. Song
Internet-Draft X. Jiang
Intended status: Standards Track Huawei
Expires: May 2009 November 4, 2008
Diagnose P2PSIP Overlay Network
draft-zheng-p2psip-diagnose-03.txt
Status of this Memo
By submitting this Internet-Draft, each author represents that
any applicable patent or other IPR claims of which he or she is
aware have been or will be disclosed, and any of which he or she
becomes aware will be disclosed, in accordance with Section 6 of
BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
This Internet-Draft will expire on May 4, 2009.
Abstract
This document describes P2PSIP diagnostics. It extends the methods
defined in the base protocol for the diagnostics in P2PSIP overlay
network. A new method Echo is an efficient method used in the trusted
overlays for retrieving useful diagnostic information. The methods
and message formats are consistent with P2PSIP base protocol RELOAD,
and the diagnostic information mainly comes from the previous
version-02 of this document.
Song, et al. Expires May 4, 2009 [Page 1]
Internet-Draft P2PSIP DIAGNOSE November 2008
Table of Contents
1. Introduction..................................................3
1.1. Usage Scenarios..........................................3
2. Terminology...................................................4
3. Overview of Functions.........................................4
4. Motivation....................................................5
5. Packets Formats...............................................6
5.1. Message Codes............................................7
5.2. Message payloads.........................................8
5.2.1. Error Codes and Sub-Codes...........................8
5.2.2. diagnostics information.............................9
6. Message......................................................10
6.1. Ping....................................................10
6.2. Route_Query.............................................11
6.3. Echo....................................................13
6.4. Error responses.........................................15
7. Security Considerations......................................16
8. IANA Considerations..........................................16
9. Acknowledgments..............................................17
10. References..................................................17
10.1. Normative References...................................17
10.2. Informative References.................................19
Author's Addresses..............................................20
Song, et al. Expires May 4, 2009 [Page 2]
Internet-Draft P2PSIP DIAGNOSE November 2008
1. Introduction
P2P systems are self-organizing and ideally require no network
management in the traditional sense to set up and to configure
individual P2P nodes. P2P service providers may however contemplate
usage scenarios where some diagnostics are required. We present a
simple connectivity test and some useful diagnostic information that
may be used in such diagnostics.
1.1. Usage Scenarios
The common usage scenarios for P2P diagnostics can be broadly
categorized in three classes:
a. Automatic diagnostics built into the P2P overlay routing protocol.
Nodes perform periodic checks of known neighbors and remove those
nodes from the routing tables that fail to respond to connectivity
checks [Handling Churn in a DHT]. The unresponsive nodes may however
be only temporarily disabled due to some local cryptographic
processing overload, disk processing overload or link overload. It is
therefore useful to repeat the connectivity checks to see if such
nodes have recovered and can be again placed in the routing tables.
This process is known as 'failed node recovery' and it can be
optimized as described in the reference [Handling Churn in a DHT].
b. P2P system diagnostics to check the overall health of the P2P
overlay network, the consumption of network bandwidth, problem links
and also checks for abusive or malicious nodes. This is not a trivial
problem and has been studied in detail for content and streaming P2P
overlays, such as for example in [Diagnostic Framework].
Similar work has been reported more recently for P2PSIP overlays as
applied to the P2PP protocol [Diagnostics and NAT traversal in P2PP].
c. Diagnostics for a particular node to follow up an individual user
complaint. In this case a technical support person may use a desktop
sharing application with the permission of the user to determine
remotely the health and possible problems with the malfunctioning
node. Part of the remote diagnostics may consist of simple
connectivity tests with other nodes in the P2PSIP overlay. The simple
connectivity tests are not dependent on the type of P2PSIP overlay
and they are the topic of this memo. Note however that other tests
may be required as well, such as checking the health and performance
of the user's computer or mobile device and also checking the link
bandwidth connecting the user to the Internet.
Song, et al. Expires May 4, 2009 [Page 3]
Internet-Draft P2PSIP DIAGNOSE November 2008
2. Terminology
The concepts used in this document are compatible with "Concepts and
Terminology for Peer to Peer SIP" [I-D.ietf-p2psip-concepts] and the
P2PSIP base protocol RELOAD[I-D.ietf-p2psip-base].
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC-2119 [1].
3. Overview of Functions
As one diagnostics protocol, P2PSIP diagnostics protocol is mainly
used to detect and localize failures in P2PSIP overlay network. It
provides mechanisms to detect and localize malfunctioning or badly
behaving peers including disabled peers, congested peers and
misrouting peers. It provides a mechanism to detect connectivity to
the specified peer, a mechanism to detect availabilities of specified
resource records and a mechanism to discover P2PSIP overlay topology
and the underlay topology failures.
The P2PSIP diagnostics protocol described here extends Ping and
Route_Query methods in the P2PSIP base protocol, as well as the Error
response to these two methods. Essentially it reuses P2PSIP base
protocol specification and then introduces one new method (i.e., Echo
method). P2PSIP diagnostics protocol strictly follows the P2PSIP base
protocol specification on the messages routing, transporting and NAT
traversal etc. The diagnostic methods are however P2PSIP protocol
independent.
In this document, we mainly describe how to detect and localize those
failures including disabled peers, congested peers, misrouting
behaviors and underlying network faults in P2PSIP overlay network
through a simple and efficient mechanism. This mechanism is modeled
after the ping/traceroute paradigm: ping (ICMP echo request [RFC792])
is used for connectivity checks, and traceroute is used for hop-by-
hop fault localization as well as path tracing. This document
specifies a "ping" mode (by extending the Ping method defined in
Reload) and a "traceroute" mode (implement differently with trusted
such as operator deployed P2PSIP overlays, compared with untrusted
overlays)for diagnose P2PSIP overlay network.
A Ping request message is forwarded by the intermediate peers along
the path and then terminated by the responsible peer, and after local
Song, et al. Expires May 4, 2009 [Page 4]
Internet-Draft P2PSIP DIAGNOSE November 2008
diagnostics, the responsible peer returns a Ping response message. If
an error is found when routing, an Error response is sent to the
initiator node by the intermediate peer.
In "Traceroute" mode, we classify the diagnostics into two
application scenarios. (1) In trusted p2p overlays, we use an Echo
request message, it is received and disposed by each peer along the
routing path, and each peer along the path returns an Echo response
message with local diagnostics information including the result and
causes if existing. (2) In untrusted p2p overlays, we extend the
Route_Query method for retrieving diagnostics information iteratively.
Firstly, the initiator node asks its neighbor A which is closest to
the destination ID, and then retrieve the next hop node B information,
along with other diagnostic information of A, to the initiator node.
Then the initiator node asks the next hop node B(directly or
symmetric routing) to get the further next hop node C information and
diagnostic information of B. This step can be iterative until the
request reaches responsible node D for the destination ID, and
retrieve diagnostic information of node D, or terminates by some
failures that prevent the process.
One approach these tools can be used is to detect the connectivity to
the specified peer or the availability of the specified resource-
record through P2PSIP Ping operation once the overlay network
receives some alarms about overlay service degradation or
interruption, if the ping fails, one can then send a P2PSIP
Traceroute(iterative Route_Query or Echo) to determine where the
fault lies.
The diagnostic information must only provide to the authorized peers.
Some diagnostic information can be authorized to all the participants
in the P2PSIP overlay, and some other diagnostic information can only
be provided to the authorization peer list of each diagnostic
information according to the local or overlay policy. The
authorization mainly depends on the kinds of the diagnostic
information and the administrative considerations.
4. Motivation
In the last few years, overlay networks have rapidly evolved and
emerged as a promising platform to deploy new applications and
services in the Internet. One of the reasons overlay networks are
seen as an excellent platform for large scale distributed systems is
their resilience in the presence of failures. This resilience has
Song, et al. Expires May 4, 2009 [Page 5]
Internet-Draft P2PSIP DIAGNOSE November 2008
three aspects: data replication, routing recovery, and static
resilience. Routing recovery algorithms are used to repopulate the
routing table with live nodes when failures are detected. Static
resilience measures the extent to which an overlay can route around
failures even before the recovery algorithm repairs the routing table.
Both routing recovery and static resilience relies on accurate and
timely detection of failures.
As descriptions in "Security requirements in P2PSIP" [I-
D.matuszewski-p2psip-security-requirement] and "Security Mechanisms
for Peer to Peer SIP"[I-D.jennings-p2psip-security-mechanisms], there
are some malfunctioning or badly behaving peers in P2PSIP overlay,
those peers may be disabled peers, congested peers or peers behaving
with misrouting, and the impact of those peers in the overlay network
is degradation of quality of service provided collectively by the
peers in the overlay network or interruption of those services. It is
desirable to identify malfunctioning or badly behaving peers through
some diagnostics tools, and exclude or reject them from the P2PSIP
system. Besides those faults, node failures may be caused by
underlying failures, for example, when the IP layer routing failover
speed after link failures is very slow, then the recovery from the
incorrect overlay topology may also be slow. Moreover, if a backbone
link fails and the failover is slow, the network may be partitioned,
which may lead to partitions of overlay topologies and inconsistent
routing results between different partitioned components.
Some keep-alive algorithms based on periodically probe and
acknowledge enable accurate and timely detection of failures of one
peer's neighbors [Overlay-Failure-Detection], but those algorithms
only can detect the disabled neighbors using the periodical method,
it may not be enough for operating the overlay network by service
providers.
One general P2PSIP overlay diagnostics protocol supporting periodical
method and on-demand method for node failures and network failures is
desirable. This document describes one general P2PSIP overlay
diagnostics protocol useful for P2PSIP base protocol and it is a good
complementation for some keep-alive algorithms in the P2P or P2PSIP
overlay itself.
5. Packets Formats
This document reuses the P2PSIP base protocol to carry diagnostics
information. Considering special usage of diagnostics, this document
Song, et al. Expires May 4, 2009 [Page 6]
Internet-Draft P2PSIP DIAGNOSE November 2008
extends the P2PSIP base protocol Ping and Route_Query methods, as
well as the Error response, and introduces one new type of message
method Echo and some diagnostics information.
As described in the P2PSIP base protocol, each message has three
parts. This specification is consistent with the format.
+-------------------------+
| Forwarding Header |
+-------------------------+
| Message Contents |
+-------------------------+
| Signature |
+-------------------------+
5.1. Message Codes
The mechanism defined in this document follows P2PSIP base protocol
specification, the introduced message whatever request or response
adopts the same message format with existing P2PSIP base protocol
messages. Different types of messages convey different message
contents following the forwarding header according to the protocol
design. Please refer to P2PSIP base protocol [I-D.ietf-p2psip-base]
for the detailed format of forwarding header.
This document extends the following message methods and related
message codes by defining additional message payloads.
+-------------------+----------------+----------+
| Message Code Name | Code Value | RFC |
+-------------------+----------------+----------+
| route_query_req | 21 | RFC-AAAA |
| route_query_ans | 22 | RFC-AAAA |
| ping_req | 23 | RFC-AAAA |
| ping_ans | 24 | RFC-AAAA |
| error | 0xffff | RFC-AAAA |
+-------------------+----------------+----------+
This document introduces one new type of message as below:
Song, et al. Expires May 4, 2009 [Page 7]
Internet-Draft P2PSIP DIAGNOSE November 2008
Name Message Code
Echo request 29
Echo response 30
5.2. Message payloads
As P2PSIP base protocol, A P2PSIP diagnostics protocol message
content contains one message code following by its payloads. Please
refer to P2PSIP base protocol [I-D.ietf-p2psip-base] for the detailed
format of Message Contents.
In addition to the newly introduced Echo method, this document
extends the Error codes defined in P2PSIP base protocol specification.
5.2.1. Error Codes and Sub-Codes
This document extends the Error response method defined in the P2PSIP
base protocol specification to describe the result of diagnostics.
This document introduces new Error Codes as below:
Code Value Error Code Name
8 Underlay Destination Unreachable
9 Underlay Time exceeded
10 Message Expired
11 Upstream Misrouting
12 Loop detected
13 TTL hops exceeded
This document introduces Error Sub-Codes in the error_info for Error
Code 8 as below:
Error Sub-Code Meaning
0 net unreachable
1 host unreachable
2 protocol unreachable
3 port unreachable
4 fragmentation needed
5 source route failed
Song, et al. Expires May 4, 2009 [Page 8]
Internet-Draft P2PSIP DIAGNOSE November 2008
5.2.2. diagnostics information
This document introduces some new diagnostics information conveyed in
the message payload, including: the number of hops that the message
traverses, the underlay TTL specified, the timestamp of initiating
the request message, the timestamp of receiving the request message,
and the expiration time of the request message, the processing power,
the bandwidth, the number of entries in one's neighbor table, etc.
They are defined as below.
HopCounter (8 bits): This byte only appears in diagnostic responses.
It must be exactly copied from the TTL field of the message header in
the received Echo request. Then this information is sent back to the
request initiator to compute the hops that the message traverses in
the overlay.
UnderlayTTL (8 bits): It indicates the underlay TTL which the
intermediate peer must adopt when forwarding the diagnostic requests,
it is specified by the initiator. If the value is 0, then the
intermediate peer must ignore this field, and use the underlay TTL
with its local configuration.
TimestampInitiated (64 bits): The time-of-day (in seconds and
microseconds, according to the sender's clock) in NTP format [RFC2030]
when the P2PSIP Overlay diagnostic request is sent. It can be carried
in the diagnostic response message from the receiver; certainly it
first appears in the diagnostic request message;
TimestampReceived (64 bits): it is in a diagnostic response message
and the time-of-day (according to the receiver's clock) in NTP format
[RFC2030] that corresponding to the P2PSIP Overlay diagnostic request
was received;
Expiration(64 bits): the expiration time of the request message, it
is the time-of-day in NTP format [RFC2030]. It can be used to
mitigate the replay attack to the destination peer and overlay
network.
ProcessPower (32 bits): it appears in a diagnostic response message.
The processing power of the node is described by ProcessPower value
in unit of MIPS.
Bandwidth (32 bits): It appears in a diagnostic response message. The
Bandwidth of the node is described by Bandwidth value in unit of Kbps.
Song, et al. Expires May 4, 2009 [Page 9]
Internet-Draft P2PSIP DIAGNOSE November 2008
NumEntries (32 bits): It indicates the number of entries in the
peer's neighbor table. The administrator of the overlay may be
interested in statistics of this value for the consideration such as
routing efficiency.
StatusInfo (8 bits): It indicates whether or not the node is in
congestion status.
6. Message
All P2PSIP base protocol requests and responses use the common
forwarding header after which the message contents follow.
This document extends Ping and Route_Query methods, and introduces
the new Echo message to detect and localize failures in P2PSIP
overlay network. The Error Codes and their sub-codes to these
requests can refer to section 5.2.1 of this spec.
6.1. Ping
In P2PSIP base protocol, Ping is used to test connectivity along a
path. However, connectivity quality can not be measured well without
some useful information, such as the timestamp and HopCounter. Here
we extend the Ping message payloads with a few kinds of useful
information for connectivity quality check purposes. See below for
the Ping formats.
Ping Request:
struct {
uint8 UnderlayTTL;
uint64 TimestampInitiated;
uint64 Expiration;
} PingReq;
Ping Response:
struct {
uint8 HopCounter;
uint64 TimestampReceived;
uint64 Expiration;
}PingAns;
Any intermediate node which receives the Ping request must adopt the
UnderlayTTL for the next hop forwarding. If the value equals to 0,
the intermediate peer must ignore this value and determine the
underlay TTL using local configuration.
Song, et al. Expires May 4, 2009 [Page 10]
Internet-Draft P2PSIP DIAGNOSE November 2008
Each peer receiving the Ping request/response should check the
Expiration value (NTP format) to determine if the message expires. If
the message expires, the intermediate peer should generate a "Message
Expired" Error to the initiator node, and discard the message. The
responsible node for the request or response must check this value to
determine if this message should be ignored.
The responsible peer of the Ping request must copy the TTL field
value in the forwarding header to the HopCounter value in the
response, meanwhile, it should generate a NTP format timestamp to
indicate the received time.
The initiator node, as well as the response peer, can compute the
overlay RTT time through the value in TimestampReceived and the
TimestampInitiated field.
The initiator node receiving the Ping response should compute the
overlay hops to the destination peer for the statistics of
connectivity quality from the perspective of overlay hops.
Ping is also used to detect possible failures in the specified path
of P2PSIP overlay network. If disabled peers, misrouting behavior and
underlying network faults are detected during the routing process,
the Error responses with Error codes and descriptions, must be sent
to the initiator node immediately. See section 6.4 for the details.
6.2. Route_Query
We simply extend Route_Query to retrieve the diagnostic information
from the intermediate peers along the routing path. At each step of
the Route_Query request, the responsible peer responds to the
initiator node with the status information of itself whether or not
congested , its processing power, its available bandwidth, the
number of entries in its neighbor table, its uptime, the address
information of itself, the next hop peer information.
Song, et al. Expires May 4, 2009 [Page 11]
Internet-Draft P2PSIP DIAGNOSE November 2008
Peer-1 Peer-2 Peer-3 Peer-4
| | | |
|(1).Route_Query Req | | |
|------------------->| | |
|(2).Route_Query ans | | |
|<-------------------| | |
| |(3).Route_Query Req | |
|--------------------|------------------->| |
| |(4).Route_Query Ans | |
|<-------------------|--------------------| |
| | |(5).Route_Query Req |
|--------------------|--------------------|------------------->|
| | |(6).Route_Query Ans |
|<-------------------|--------------------|--------------------|
| | | |
Route_Query example
A Route_Query request must specify which diagnostic information he is
interested in by setting different bits in a flag contained in the
Route_Query request payload. If the flag is cleared, then the
Route_Query request is only used for asking the next hop information,
then the iterative mode of Route_Query is degraded only for checking
the liveness of the peers along the routing path. The Route_Query
request can be routed directly or through the overlay due to the
local policy of the initiator node.
Route_Query request:
struct {
Boolean send_update;
Destination destination;
uint16 dFlag;
opaque overlay_specific_data<0..2^16-1>;
} RouteQueryReq;
send_update : A single byte. This may be set to "true" to indicate
that the requester wishes the responder to initiate an Update request
immediately. Otherwise, this value must be set to "false".
Destination : The destination which the requester is interested in. This
may be any valid destination object, including a Node-ID, compressed ids,
or Resource-ID.
dFlag : A flag indicating which kind of diagnostic information the
initiator interested in. The initiator sets different bits to
Song, et al. Expires May 4, 2009 [Page 12]
Internet-Draft P2PSIP DIAGNOSE November 2008
retrieve different kinds of diagnostic information. If this flag is
cleared, then no diagnostic information is conveyed in the
Route_Query response. The kinds of diagnostic information including:
status information, its processing power, its available bandwidth,
the number of entries in its neighbor table, its uptime, etc. The
mapping between the bits in the dFlag and the diagnostic information
kind is TBD.
Overlay_specific_data : Other data as appropriate for the overlay.
A response to a successful RouteQueryReq request is a RouteQueryAns
message. This is completely overlay specific.
As for the Route_Query responses, whether or not sending back certain
kind of diagnostic information to the initiator node depends on (1)
the dFlag (2)the authorization policy.
Failures may be detected during the process, after that an Error
response should be reported to the initiator node immediately.
6.3. Echo
An Echo request message is used to retrieve the diagnostic
information of the specified path in administrative p2p overlays
where all the peers in the overlay are trusted. For example, it can
be used in a p2p overlay that all peers deployed by the operator to
provide services to the customers(clients), where the diagnostics
happens between peers in the p2p overlay. For the untrusted p2p
overlays. The Echo method must be used with care for the
consideration of potential DoS attack.
An Echo request is normal P2PSIP base protocol message; it can be
initiated by any node in the administrative p2p overlay which
supports P2PSIP base protocol specification.
An Echo request must specify which diagnostic information he is
interested in by setting different bits in the dFlag contained in the
request payload. If the flag is cleared, the response is a simple
Echo response containing no additional diagnostic information.
Any intermediate peer along the Echo request path should forward the
Echo request to the next hop, and then returns an Echo response to
the initiator node, along with the diagnostic information indicated
by the dFlag in the Echo request.
Song, et al. Expires May 4, 2009 [Page 13]
Internet-Draft P2PSIP DIAGNOSE November 2008
As for the Echo responses, whether or not sending back certain kind
of diagnostic information to the initiator node depends on (1) the
dFlag (2)the authorization policy.
Any Echo request/response that expires the time in the Expiration
field should be ignored.
Peer-1 Peer-2 Peer-3 Peer-4
| | | |
| (1).Echo Request | | |
|------------------->| | |
| | (2).Echo Request | |
| |------------------->| |
| (3).Echo Response | | |
|<-------------------| | |
| | | (4).Echo Request |
| | |------------------->|
| | (5).Echo Response | |
|<-------------------|--------------------| |
| | | (6).Echo Response |
|<-------------------|--------------------|--------------------|
| | | |
P2PSIP Echo example
Echo request:
Struct {
uint64 Expiration
uint16 dFlag;
}EchoReq
dFlag (16 bits): A flag indicating which kind of diagnostic
information the initiator interested in. The initiator sets different
bits to retrieve different kinds of diagnostic information. If this
flag is cleared, then no diagnostic information is conveyed in the
Echo response. The kinds of diagnostic information including: status
information, its processing power, its available bandwidth, the
number of entries in its neighbor table, its uptime, etc. The mapping
between the bits in the dFlag and the diagnostic information kind is
TBD.
Expiration: See section 5.2.2 for the meaning.
Song, et al. Expires May 4, 2009 [Page 14]
Internet-Draft P2PSIP DIAGNOSE November 2008
Echo response:
Struct {
uint64 Expiration;
Opaque overlay_specific_data<0..2^16-1>;
}EchoAns
The peer may find misrouting behaviors or the underlay failures
during the Echo process, then an Error response should be generated
and send back to the initiator node. See section 6.4 for details.
6.4. Error responses
In p2psip overlay, the error response can be generated by the
intermediate peer or responsible peer, to a diagnostic message or
other messages. All error responses contain the Error code followed
by the subcode and descriptions if existed.
When a request arrives at a peer, if the peer's responsible ID space
does not cover the destination ID of the request, then the peer
continues to forward this request according to the overlay specified
routing mode.
When a request arrives at a peer, the peer may find some connectivity
failures or malfunction peers through the analysis of via list or
underlay error messages. The peer should report the error responses
to the initiator node. The malfunction node information should also
be reported to the initiator node in the error message payload.
The peer should return an Error response with the Error Code 8
"Underlay Destination Unreachable" when it receives an ICMP message
with "Destination Unreachable" information after forwarding the
received request.
The peer should return an Error response with the Error Code 9
"Underlay Time Exceeded" when it receives an ICMP message with "Time
Exceeded" information after forwarding the received request.
The peer should return an Error response with the Error Code 10
"Message Expired" when it finds that the message expires the time
field Expiration contained in the message payload.
The peer should return an Error response with Error Code 11 "Upstream
Misrouting" when it finds its upstream peer disobeys the routing
Song, et al. Expires May 4, 2009 [Page 15]
Internet-Draft P2PSIP DIAGNOSE November 2008
rules defined in the overlay. The immediate upstream peer information
should also be conveyed to the initiator node.
The peer should return an Error response with Error Code 12 "Loop
detected" when it finds a loop through the analysis of via list.
The peer should return an Error response with Error Code 13 "TTL hops
exceeded" when it finds that the TTL field value is no more than 0
when forwarding.
7. Security Considerations
The Echo method may cause DoS attack to the initiator, though this
implementation is more efficient than using iterative mode of
Route_Query operation.
An advice is to use the efficient Echo operation in administrated
P2PSIP overlay and use the pacing-style Route_Query operation in the
untrustworthy P2PSIP overlay network, certainly, the probability of
this type of DoS attack is very low because the overlay is
distributed and then it is very hard for the attacker to know the
accurate Peer-IDs and attack most of all peers simultaneously.
8. IANA Considerations
Message Code: this document introduces a new type of message as below:
+-------------------+----------------+----------+
| Message Code Name | Code Value | RFC |
+-------------------+----------------+----------+
| Echo_req | 29 | RFC-AAAA |
| Echo_ans | 30 | RFC-AAAA |
+-------------------+----------------+----------+
Error Code: this document introduces some new Error Codes as below:
Code Value Error Code Name
8 Underlay Destination Unreachable
9 Underlay Time exceeded
10 Message Expired
11 Upstream Misrouting
12 Loop detected
13 TTL hops exceeded
Error Sub-Code: this document defines response sub-codes for the
Error Code 8 "Underlay Destination Unreachable" as below:
Song, et al. Expires May 4, 2009 [Page 16]
Internet-Draft P2PSIP DIAGNOSE November 2008
Sub-Code Meaning
0 net unreachable
1 host unreachable
2 protocol unreachable
3 port unreachable
4 fragmentation needed
5 source route failed
9. Acknowledgments
We would like to thank Zheng Hewen for the contribution of the
initial version of this draft, we would also like to thank Bruce
Lowekamp, Salman Baset, Henning Schulzrinne and Jiang Haifeng for the
email discussion and their valued comments. We would also like to
thank Henry Sinnreich for contributing to the usage scenarios in the
Introduction.
10. References
10.1. Normative References
[1] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997.
[2] Crocker, D. and Overell, P.(Editors), "Augmented BNF for Syntax
Specifications: ABNF", RFC 2234, Internet Mail Consortium and
Demon Internet Ltd., November 1997.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2234] Crocker, D. and Overell, P.(Editors), "Augmented BNF for
Syntax Specifications: ABNF", RFC 2234, Internet Mail
Consortium and Demon Internet Ltd., November 1997.
[RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A.,
Peterson, J., Sparks, R., Handley, M., and E. Schooler,
"SIP: Session Initiation Protocol", RFC 3261, June 2002.
[RFC792] Postel, J., "Internet Control Message Protocol", STD5, RFC
792, September 1981.
[RFC2030] Mills, D., "Simple Network Time Protocol (SNTP) Version 4
for IPv4, IPv6 and OSI", RFC 2030, October 1996.
Song, et al. Expires May 4, 2009 [Page 17]
Internet-Draft P2PSIP DIAGNOSE November 2008
[RFC4981] J. Risson, "Survey of Research towards Robust Peer-to-Peer
Networks: Search Methods", RFC 4981, September 2007.
[I-D.ietf-p2psip-concepts] Bryan, D., "Concepts and Terminology for
Peer to Peer SIP", draft-ietf-p2psip-concepts-00 (work in
progress), June 2007.
[I-D.ietf-p2psip-reload] Jennings, C., "REsource LOcation And
Discovery (RELOAD)", draft-ietf-p2psip-reload-00 (work in
progress), July 2008.
[I-D.ietf-p2psip-base] Jennings, C., "REsource LOcation And Discovery
(RELOAD) Base Protocol", draft-ietf-p2psip-base-00 (work in
progress), October 2008.
[I-D.song-p2psip-security-eval] Song, Yongchao., "P2PSIP Security
Analysis and Evaluation", draft-song-p2psip-security-eval-
00 (work in progress), February 2008
[I-D.matuszewski-p2psip-security-requirement] M. Matuszewski,
"Security requirements in P2PSIP", draft-matuszewski-
p2psip-security-requirements-01 (work in progress), July
2007
[I-D.jennins-p2psip-security-mechanisms] C. Jennings, "Security
Mechanisms for Peer to Peer SIP", draft-jennings-p2psip-
security-00 (work in progress), February 2007
[I-D.jiang-p2psip-sep] X. Jiang, "Service Extensible P2P Peer
Protocol", draft-jiang-p2psip-sep-00 (work in progress),
November 2007.
[I-D.bryan-p2psip-requirement] D. Bryan, "P2PSIP Protocol Framework
and Requirements", draft-bryan-p2psip-requirements-00 (work
in progress), July 2007
[Overlay-Failure-Detection] S. Zhuang, "On failure detection
algorithms in overlay networks", Proc. IEEE Infocomm, Mar
13-17 2005.
[P2PSIP-Concepts-Terminology] Dean Willis, "P2PSIP Concepts and
Terminology",
http://www3.ietf.org/proceedings/07jul/slides/p2psip-
13.pdf, July 2007
Song, et al. Expires May 4, 2009 [Page 18]
Internet-Draft P2PSIP DIAGNOSE November 2008
[Handling Churn in a DHT] S. Rhea et al: "Handling Churn in a DHT".
USENIX Annual Conference, June 2004
[Diagnostic Framework] X. Jin et al: "A Diagnostic Framework for
Peer-to-Peer Streaming", Hong Kong University and Microsoft,
2005
[Diagnostics and NAT traversal in P2PP] G. Gupta et al: "Diagnostics
and NAT Traversal in P2PP - Design and Implementation."
Columbia University Report. June 2008
10.2. Informative References
[I-D.ietf-behave-rfc3489bis] Rosenberg, J., Huitema, C., Mahy, R.,
and D. Wing, "Simple Traversal Underneath Network Address
Translators (NAT) (STUN)", draft-ietf-behave- rfc3489bis-08
(work in progress), July 2007.
[I-D.ietf-behave-turn] Rosenberg, J., Mahy, R., and C. Huitema,
"Obtaining Relay Addresses from Simple Traversal Underneath
NAT (STUN)", draft-ietf-behave-turn-04 (work in progress),
July 2007.
[I-D.ietf-mmusic-ice] Rosenberg, J., "Interactive Connectivity
Establishment (ICE): A Methodology for Network Address
Translator (NAT) Traversal for Offer/Answer Protocols",
draft-ietf-mmusic-ice-17 (work in progress), July 2007
[I-D.bryan-p2psip-dsip] Bryan, D., "dSIP: A P2P Approach to SIP
Registration and Resource Location", draft-bryan-p2psip-
dsip-00 (work in progress), February 2007.
[I-D.baset-p2psip-p2pp] S. Baset, "Peer-to-Peer Protocol (P2PP)",
draft-baset-p2psip-p2pp-00 (work in progress), July 2007.
[I-D.Jennings-p2psip-asp] C. Jennings, "Address Settlement by Peer to
Peer", draft-jennings-p2psip-asp-00 (work in progress),
July 2007.
[I-D.marocco-p2psip-xpp-pcan] Marocco, E. and E. Ivov, "XPP
Extensions for Implementing a Passive P2PSIP Overlay
Network based on the CAN Distributed Hash Table", draft-
marocco-p2psip-xpp-pcan-00 (work in progress), June 2007.
Song, et al. Expires May 4, 2009 [Page 19]
Internet-Draft P2PSIP DIAGNOSE November 2008
[I-D.matthews-p2psip-hip-hop] Cooper, E., "A Distributed Transport
Function in P2PSIP using HIP for Multi-Hop Overlay Routing",
draft-matthews-p2psip-hip-hop-00 (work in progress), June
2007.
Author's Addresses
Haibin Song
Huawei
10F, Huihong Mansion, No. 91 Baixia Rd., Nanjing, China
Phone: +86-25-84565867
Email: melodysong@huawei.com
Xingfeng Jiang
Huawei
10F, Huihong Mansion, No. 91 Baixia Rd., Nanjing, China
Phone: +86-25-84565868
Email: jiang.x.f@huawei.com
Full Copyright Statement
Copyright (C) The IETF Trust (0000).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
Song, et al. Expires May 4, 2009 [Page 20]
Internet-Draft P2PSIP DIAGNOSE November 2008
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Song, et al. Expires May 4, 2009 [Page 21]
| PAFTECH AB 2003-2026 | 2026-04-23 10:29:23 |