Subject: [nat66] NAT66: 1:1 and Onto

From: Fred Baker <[email-masked]>
Date: Thu, 26 Mar 2009 10:59:21 -0700

definitions of the terms "1:1" and "onto" can be found at http://www.mathreference.com/set,onto.html 
  or http://www.cs.utk.edu/~booth/311-02/notes/notesonfns.html.

In short, a relation R between two sets A={ai} and B={bj} is 1:1 if  
for any value ai, there is exactly one value R(ai) = bi.

The relation is "onto" if it has an inverse function R' and the  
inverse function is 1:1 (for any bj, R'(bj) = aj), and we can further  
say that R is 1:1 and onto if ai = R'(R(ai)).

 From that perspective, if the NAT66 device is configured with the  
same "inside" and "outside" prefixes, the algorithm is 1:1 and onto -  
a datagram sent from Alice through an ISP Bob and converted to Bob's  
prefix to any system Carol, and to which Carol replies, will go  
through one of the NAT66 devices between Bob and Alice (due to the  
prefix), and will ultimately get to Alice using the same address Alice  
originally chose.

If the NAT66 devices have different "inside" and "outside" prefixes -  
Bob and Bobby are different ISPs and Alice can connect via either -  
that observation applies to the set of NAT66 devices between Alice and  
Bob, and separately applies to the set of NAT66 devices between Alice  
and Bobby. Due to the nature of routing, we cannot presume that the  
reply to a datagram bearing Bob's prefix would go to Bobby; the  
routing system will deliver it to Bob. So the fact that the relation  
doesn't work going out through Bob and returning through Bobby is  
irrelevant.

So I will argue that with respect to any communication between Alice  
and Carol, the relation defined in NAT66 is 1:1 and onto.