As a suggestion, you may want to consider using your own ("private") .NET InterNAT address allocations, rather than 192.168.*.*. There are 20 bytes (160 bits) in the basic packet routing header. Depending on the setting of those bits, some address values, such as, 10.*.*.* and 192.168.*.* may be owned by a registered .NET InterNAT user. Those values also may be used (over and over) by large national packet transport carriers, as they work to carry your InterNAT packets from end-to-end. It helps to make sure your end-points have unique addresses. Setting the X bit to a 1 allows you to distinguish your .NET packets. VVVVHHHHSSSSDDDDLLLLLLLLLLLLLLLL SSSSSSSDDDDDDDIIXFFFFFFFFFFFFFFF TTTTTTTTPPPPPPPPCCCCCCCCCCCCCCCC **...[25-bit SRC Prefix]...SSSSS **...[25-bit DST Prefix]...DDDDD The ** allows you to place your 25-bit Prefix in one or more ranges to avoid colliding with other address spaces. The X bit set to 1 helps to ensure that there are no collisions, because, the legacy Internet packets set X to 0. Your InterNAT software can easily test that bit. The .NET owners have been allocated the 33,554,432 unique prefixes for InterNAT addressing. You might find it easier to manage your .NET with your own ("private") .NET InterNAT address allocation. See also... http://www.IPv8.info