Subject: [Ietf-behave] Question about draft-ietf-behave-nat-udp-04 in a P2P application

From: "Matthews, Philip (Philip)" <[email-masked]>
Date: Wed, 21 Dec 2005 06:31:28 -0800 (PST)

Francois and Cullen:

I have a question about the behavior of a NAT "N" that is compliant
with draft-ietf-behave-nat-udp-04.

Say that NAT N implements the more stringent filtering behaviour of
"Address dependent filtering" (REQ-8), and say that, despite this,
I am trying to write a peer-to-peer application A which is located
behind NAT N and which maintains UDP connections with 20 other peers
B,C,D,....
Application A uses the same address and port for all these connections.

To maintain the appropriate bindings in NAT "N", so that application A
can receive
packets from each of these peers, must application A send a UDP packet
to all 20 peers B,C,D,... every 2 minutes, or can application A send a
UDP packet
to just one of these peers every 2 minutes?

(For simplicity, assume NAT "N" has a "NAT inbound refresh behavior" of
False).

I am hoping, of course, that a packet every 2 minutes to just ONE peer
will be
sufficient to maintain all these mappings. However, I cannot seem to
find any
words one way or another about this in the document. Am I missing
something?

- Philip

---

From: Pyda Srisuresh <[email-masked]>
Date: Wed, 21 Dec 2005 08:15:41 -0800 (PST)

Philip,

The application design guideline draft, <draft-ford-behave-app-01.txt> has the
following in section 3.1 to address your question. Hope this helps. 

REQ-6  Applications wishing to accept connections from other peers
       after registering via UDP with one or more rendezvous servers
       MUST send periodic outgoing UDP "keep-alive" packets to at
       least one rendezvous server, at least once within the 
       BEHAVE-compliant NAT UDP timeout (2 minutes).

cheers,
suresh

--- "Matthews, Philip (Philip)" <matthewsp@xxxxxxxxx> wrote:

> _______________________________________________
> Ietf-behave mailing list
> Ietf-behave@xxxxxxxxxxxxxxxxxxx
> https://list.sipfoundry.org/mailman/listinfo/ietf-behave
>

---

From: Cullen Jennings <[email-masked]>
Date: Fri, 27 Jan 2006 16:36:10 -0800 (PST)

Well, this is not a very IETF comment but ignoring all theory and just
talking about practice.... Based on the testing I have done of residential
NATs, if I was writing an application today that did this, I would send to
all 20 every 25 seconds.

---

From: "Francois Audet" <[email-masked]>
Date: Sat, 28 Jan 2006 12:44:16 -0800 (PST)

Yep, I agree.
It's the safest route.
On Jan 27, 2006, at 16:36 , Cullen Jennings wrote:

Well, this is not a very IETF comment but ignoring all theory and just
talking about practice.... Based on the testing I have done of  
residential
NATs, if I was writing an application today that did this, I would  
send to
all 20 every 25 seconds.

Application A uses the same address and port for all these  
connections.

To maintain the appropriate bindings in NAT "N", so that  
application A
can receive
packets from each of these peers, must application A send a UDP  
packet
to all 20 peers B,C,D,... every 2 minutes, or can application A  
send a
UDP packet
to just one of these peers every 2 minutes?

(For simplicity, assume NAT "N" has a "NAT inbound refresh  
behavior" of
False).

I am hoping, of course, that a packet every 2 minutes to just ONE  
peer
will be
sufficient to maintain all these mappings. However, I cannot seem to
find any
words one way or another about this in the document. Am I missing
something?

- Philip