Opened 8 years ago

Closed 8 years ago

#67 closed defect (fixed)

Server selection feedback from Simon Perreault

Reported by: simon.perreault@… Owned by: draft-ietf-pcp-server-selection@…
Priority: major Milestone: milestone1
Component: server-selection Version: 1.0
Severity: In WG Last Call Keywords:


  1. IP Address Selection

These steps specify the behavior to be followed by the PCP client to
contact a PCP server when the PCP client has multiple IP addresses
for a single PCP server.

How does the client know that those addresses belong to a single PCP server?

Does this work when there are multiple addresses that belong to multiple PCP servers, or does it need to be a single server?

Are we assuming that there is always a single PCP server per interface, and therefore all addresses can only belong to a single server by definition?

  1. If the PCP client can use both address families when

communicating to a particular PCP server, the PCP client SHOULD
select the source address of the PCP request to be of the same IP
address family as its requested PCP mapping (i.e., the address
family of the Requested External IP Address).

This is wrong. You can't pick a source address based on the requested external address family. You can only pick the address family. For example, you can decide that you're going to use IPv6 to request an IPv6 external address, but that does not help decide which source IPv6 address you're going to use.

And this is even more fundamentally wrong. The address family of the PCP request depends on your internal address family, not the suggested external address family. If your server is listening on IPvX, you send your PCP request over IPvX. Otherwise you have to play games with THIRD_PARTY. The external address family has nothing to do with it.

In fact, the source address you're going to select has to be one your server is listening on. Otherwise you'll have to play games with THIRD_PARTY. Often servers just listen on the wildcard address, so that does not help you pick one particular address, but if that's not the case then you don't have a choice.

Finally, "Requested External IP Address" is not a PCP term. I think you mean "Suggested External IP Address".

  1. Whenever communicating with a PCP server, the rules of Section 6

of [RFC6724] SHOULD be followed by using the source address
selected in the previous step as input to the destination address
selection algorithm.

Step 1 did not yield a particular source address. It yielded an address family. You still need to pick a particular source address.

  1. The PCP client initializes its Maximum Retransmission Count (MRC)

to 4.

  1. The PCP client sends its PCP message to the PCP server's IP

address following the retransmission procedure specified in
Section 8.1.1 of [RFC6887]. If no response is received after MRC
attempts, the PCP client re-tries the procedure excluding the
destination addresses which did not respond. The PCP client
SHOULD ignore any response received from an IP address after
exhausting MRC attempts for that particular IP address. If, when
sending PCP requests, the PCP client receives a hard ICMP error
[RFC1122] it SHOULD immediately try the next IP address from the
list of PCP server' IP addresses.

  1. If the PCP client has exhausted all IP addresses configured for a

given PCP server, the procedure is repeated every fifteen minutes
until the PCP request is successfully answered.

  1. Once the PCP client has successfully received a response from a

PCP server's IP address, it sends subsequent PCP requests to the
same server's IP address until that IP address becomes non-
responsive, which causes the PCP client to follow the steps above
to contact its PCP server.

Do we reset the destination address set then? That is, are addresses that failed previously now potentially good again?

  1. Multiple Interfaces

When an end host has multiple interfaces concurrently active (e.g.,
IEEE 802.11 and 3G), a PCP client would discover different PCP
servers over different interfaces. A host may have multiple network
interfaces (e.g, 3G, IEEE 802.11, etc.); each configured differently.
Each PCP server learned MUST be associated with the interface via
which it was learned. Particularly, the PCP client relies on the
source IP address of an outgoing PCP request to select which PCP
server(s) to use.

That last sentence would be wrong following my feedback to section 3.

> 5.  Example: Multiple PCP servers on a Single Interface
>    Figure 1 depicts an example that is used to illustrate the server
>    selection procedure specified in Section 3.
>                                ISP Network
>                              |              |
>        .........................................................
>                              |              |        Subscriber Network
>                      +-------+------+  +----+---------+
>                      | PCP-Server-A |  | PCP-Server-B |
>                      |              |  |              |
>                      +-------+------+  +----+---------+
>           |              |
>             2001:db8:2222::1 |              |     2001:db8:3333::1
>                              |              |
>                              |              |
>                       -------+--------------+-----------
>                                      |
>                                      |
>                                      |    2001:db8:1111::1
>                                  +---+---+
>                                  | Host  |
>                                  +-------+
>                                  Figure 1

The PCP servers in this figure look like routers. To make things clearer:

  • Remove the connection from each PCP server to the ISP network.
  • Draw the "PCP-controlled device". That one would look like a router and would be sitting on the border between the subscriber network and the ISP network. Connect it to both PCP servers and the host. No need for addresses.

Is there only one PCP-controlled device, or does each server control its own device?

The PCP client sends two PCP requests at the same time,

Really? The algorithm from section 3 does not seem to allow parallel requests. I'm lost.

Change History (1)

comment:1 Changed 8 years ago by dthaler@…

  • Resolution set to fixed
  • Status changed from new to closed

Addressed in -03.

Note: See TracTickets for help on using tickets.