[pcp] 答复: A question: How can an internal client get the external IP and port of the inner NAT

Chenguohai <chenguohai@huawei.com> Tue, 27 October 2015 01:10 UTC

Return-Path: <chenguohai@huawei.com>
X-Original-To: pcp@ietfa.amsl.com
Delivered-To: pcp@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com []) by ietfa.amsl.com (Postfix) with ESMTP id B25131B3241 for <pcp@ietfa.amsl.com>; Mon, 26 Oct 2015 18:10:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.71
X-Spam-Status: No, score=-2.71 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, J_CHICKENPOX_35=0.6, J_CHICKENPOX_62=0.6, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
Received: from mail.ietf.org ([]) by localhost (ietfa.amsl.com []) (amavisd-new, port 10024) with ESMTP id G7KyJtzWX-Pt for <pcp@ietfa.amsl.com>; Mon, 26 Oct 2015 18:10:50 -0700 (PDT)
Received: from lhrrgout.huawei.com (lhrrgout.huawei.com []) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CDD061B323F for <pcp@ietf.org>; Mon, 26 Oct 2015 18:10:48 -0700 (PDT)
Received: from (EHLO lhreml406-hub.china.huawei.com) ([]) by lhrrg01-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id CDB33736; Tue, 27 Oct 2015 01:10:47 +0000 (GMT)
Received: from NKGEML401-HUB.china.huawei.com ( by lhreml406-hub.china.huawei.com ( with Microsoft SMTP Server (TLS) id; Tue, 27 Oct 2015 01:10:46 +0000
Received: from NKGEML501-MBS.china.huawei.com ([]) by nkgeml401-hub.china.huawei.com ([]) with mapi id 14.03.0235.001; Tue, 27 Oct 2015 09:10:39 +0800
From: Chenguohai <chenguohai@huawei.com>
To: =?utf-8?B?8J+Uk0RhbiBXaW5n?= <dwing@cisco.com>
Thread-Topic: [pcp] A question: How can an internal client get the external IP and port of the inner NAT
Thread-Index: AdEPkTS55VolCqU8SbKCef9br3WRKgAOxhGAACHT0sA=
Date: Tue, 27 Oct 2015 01:10:38 +0000
Message-ID: <70006713F8B28D4F88E17B98E1459AB5A3B8BAC5@nkgeml501-mbs.china.huawei.com>
References: <70006713F8B28D4F88E17B98E1459AB5A3B8B8B7@nkgeml501-mbs.china.huawei.com> <C4ED7181-4527-4F6F-8477-FAE84BB9EB98@cisco.com>
In-Reply-To: <C4ED7181-4527-4F6F-8477-FAE84BB9EB98@cisco.com>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
x-originating-ip: []
Content-Type: multipart/alternative; boundary="_000_70006713F8B28D4F88E17B98E1459AB5A3B8BAC5nkgeml501mbschi_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <http://mailarchive.ietf.org/arch/msg/pcp/LQxCRZWy7frYwIBtGZf0OkltJZ4>
Cc: ChenGuohai <chenguohai67@outlook.com>, "pcp@ietf.org" <pcp@ietf.org>
Subject: [pcp] =?utf-8?b?562U5aSNOiAgQSBxdWVzdGlvbjogSG93IGNhbiBhbiBpbnRl?= =?utf-8?q?rnal_client_get_the_external_IP_and_port_of_the_inner_NAT?=
X-BeenThere: pcp@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: PCP wg discussion list <pcp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/pcp>, <mailto:pcp-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/pcp/>
List-Post: <mailto:pcp@ietf.org>
List-Help: <mailto:pcp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/pcp>, <mailto:pcp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 27 Oct 2015 01:10:53 -0000

Hi Dan,

If step one is not needed, then,
How does a client stop negotiating?  Based on global routable  IP address or something else?
Does a NAT know that itself is the most exteral?

G.Robert  Chen

发件人: 🔓Dan Wing [mailto:dwing@cisco.com]
发送时间: 2015年10月27日 0:57
收件人: Chenguohai
抄送: ChenGuohai; pcp@ietf.org
主题: Re: [pcp] A question: How can an internal client get the external IP and port of the inner NAT

On 25-Oct-2015 06:54 pm, Chenguohai <chenguohai@huawei.com<mailto:chenguohai@huawei.com>> wrote:

Hi Dan,

Thank again.
What is the workflow in nested NATs for internal host?
1: the client must judge how many NATs are there in the path and the order;

It doesn't need to perform (1) first.  In fact, it's impossible to determine how many NATs are on the path first.

2: nogotiate with the fisrt PCP server(in the most nested NAT) for the exteral IP and port;
3:use the negotiated IP and port with the second PCP server;
4 do step 2 and 3 until communicating to the most external PCP server.

Correct.  And after doing that, it will have determined how many PCP-supporting NATs are on the path.

Does this make sense?



G.Robert  Chen

发件人: 🔓Dan Wing [mailto:dwing@cisco.com]
发送时间: 2015年10月24日 23:54
收件人: ChenGuohai
抄送: Chenguohai; pcp@ietf.org<mailto:pcp@ietf.org>
主题: Re: [pcp] A question: How can an internal client get the external IP and port of the inner NAT

On 23-Oct-2015 06:04 pm, ChenGuohai <chenguohai67@outlook.com<mailto:chenguohai67@outlook.com>> wrote:
Hi Dan,

Many thanks for your explaination.

Inner NATs are mostly used in residents and external NATs are CGNs is the most common nested NAT case.

Using PCP means that the CPE(inner NAT) must embed a PCP server.  The PCP client should communicats with two PCP servers.


Using STUN means a STUN server need to be deployed between inner NAT and external NAT. Shall this be common?

Not that I have seen.


Manual configuration is very cost.

G.Robert  Chen

Subject: Re: [pcp] A question: How can an internal client get the external IP and port of the inner NAT
From: dwing@cisco.com<mailto:dwing@cisco.com>
Date: Fri, 23 Oct 2015 10:44:15 -0700
CC: pcp@ietf.org<mailto:pcp@ietf.org>; chenguohai67@outlook.com<mailto:chenguohai67@outlook.com>
To: chenguohai@huawei.com<mailto:chenguohai@huawei.com>

On 22-Oct-2015 08:24 pm, Chenguohai <chenguohai@huawei.com<mailto:chenguohai@huawei.com>> wrote:

Hi all,
I am new to PCP and reading RFC6887.I have a question about section 8.1. On the upper part of page 22 writing following,
the PCP-controlled NAT creating pointless non-functional mappings.
   When such an intervening non-PCP-aware inner NAT is detected,
   mappings must first be created by some other means in the inner NAT,
   before mappings can be usefully created in the outer PCP-controlled
   NAT.  Having created mappings in the inner NAT by some other means,
   the PCP client should then use the inner NAT’s external address as
   the client IP address, to signal to the outer PCP-controlled NAT that
   the client is aware of the inner NAT, and has taken steps to create
   mappings in it by some other means, so that mappings created in the
   outer NAT will not be a pointless waste of resources.

My question is that how an interal client could get the external IP and port of the inner NAT.

PCP, UPnP IGD, STUN, manual configuration.

Should there be server between the inner NAT and the external one? How could it be assured that the inner NAT does not change external port?

Hopefully whatever mechanism the client used (PCP, UPnP IGD, STUN, manual configuration) would tell the client of such a change.


G.Robert  Chen
G.Robert  Chen (Chen Guohai  陈国海). Network Research Department, Huawei Technologies Co., Ltd. Telephone: 0086-25-56624606;   http://www.huawei.com<http://www.huawei.com/>
This e-mail and its attachments contain confidential information from HUAWEI, which is intended only for the person or entity whose address is listed above. Any use of the  information contained herein in any way (including, but not limited to, total or partial disclosure, reproduction, or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this e-mail in error, please notify the sender by phone or email immediately and delete it!

pcp mailing list