Subject: [BEHAVE] Question on behave-tcp-02 and its implications for STUNbis

From: Philip Matthews <[email-masked]>
Date: Tue, 21 Nov 2006 15:32:51 -0500

Section 4.1 of behave-tcp-02 talks about the definition of
"endpoint independent mapping" in the case of TCP.
The document says:
       Consider an internal IP address and TCP port (X:x) that  
initiates a
       TCP connection to an external (Y1:y1) tuple.  Let the mapping
       allocated by the NAT for this connection be (X1':x1').  Shortly
       thereafter, the endpoint initiates a connection from the same  
(X:x)
       to an external address (Y2:y2) and gets the mapping (X2':x2')  
on the
       NAT.  As per [BEHAVE-UDP], if (X1':x1') equals (X2':x2') for all
       values of (Y2:y2) then the NAT is defined to have "Endpoint
       Independent Mapping" behavior.

Say (X:x) closes the first connection [to (Y1:y1)] before opening the  
second connection [to (Y2:y2)]?
How long must the NAT remember the binding allocated to the first  
(now closed)
connection in order to be considered to have "Endpoint Independent  
Mapping"
when (X:x) opens the second connection?
Or must (X;x) open the second connection before it closes the first  
connection?
What do existing NATs do today?

This question arose when I was considering the operation of STUNbis  
over TCP.
STUNbis currently says:
       When using TCP or TLS over TCP, the client SHOULD
       close the connection as soon as it has received the STUN  
Response, if
       it has no plans to send further requests.
If a client opens a TCP connection to a STUN server, sends a Binding  
Request
and receives a response, can it close the connection immediately, or  
does it
need to keep the connection open until it finishes establishing at  
least one
TCP connection with a peer that uses the obtained mapped address?

- Philip

_______________________________________________
Behave mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/behave