52.10.4 Communication Establishment Protocol for Peer-to-Peer Communication with a Participant that has a Public Address

This section describes the communication establishment protocol for the scenario described in 52.4.1 Peer-to-Peer Communication between Internal Participant and External Participant.

Communication is established using a technique called “Connection Reversal” as described in Figure 52.21: Connection Reversal Protocol.

Figure 52.21: Connection Reversal Protocol

  1. DP1 sends a PA to DP2 by using the public IP transport address contained in DP1's initial peers (50.10.23.45:2000).
  2. The PA creates a NAT binding in the DP1 NAT router from 192.168.1.1:100 to 40.10.23.45:2000 for the destination address 50.10.23.45:2000.
  3. The NAT router sends the PA from DP1 to DP2 by replacing the source IP transport address with 40.10.23.45:2000.
  4. When DP2 receives the PA from DP1, it will add the discovery UUID locator for DP1 contained in the PA to an unresolved locator table. DP1 cannot send PAs to DP2 yet because it does not know the public IP transport address corresponding to the discovery UUID locator for DP1.
  5. DP1 sends a BINDING_PING message from the address associated with the discovery UUID locator to the initial peer for DP2. The initial peer contains the address from which DP2 will send PAs.
  6. Explained in 5).
  7. When DP2 receives the BINDING_PING from DP1, it extracts the source IP transport address (40.10.23.45:2000) from the UDP packet containing the BINDING_PING and associates this address to the unresolved discovery UUID locator from DP1.
  8. and 9) At this point, DP2 can send a PA to DP1.