Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Teredo tunneling
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== IPv6 addressing === Each Teredo client is assigned a public [[IPv6 address]], which is constructed as follows (the higher order bit is numbered 0): * Bits 0 to 31 hold the Teredo prefix (2001::/32). * Bits 32 to 63 embed the primary IPv4 address of the Teredo server that is used. * Bits 64 to 79 hold some flags and other bits; the format for these 16 bits, MSB first, is "CRAAAAUG AAAAAAAA". The "C" bit was set to 1 if the Teredo client is located behind a [[Network address translation#Methods of translation|cone NAT]], 0 otherwise, but RFC 5991 changed it to always be 0 to avoid revealing this fact to strangers. The "R" bit is currently unassigned and should be sent as 0. The "U" and "G" bits are set to 0 to emulate the "Universal/local" and "Group/individual" bits in [[MAC address]]es. The 12 "A" bits were 0 in the original RFC 4380 specification, but were changed to random bits chosen by the Teredo client in RFC 5991 to provide the Teredo node with additional protection against IPv6-based scanning attacks. * Bits 80 to 95 contain the ''obfuscated'' UDP port number. This is the port number that the NAT maps to the Teredo client, with all bits inverted. * Bits 96 to 127 contain the ''obfuscated'' IPv4 address. This is the public IPv4 address of the NAT with all bits inverted. {{center|''Teredo IPv6 addressing table''}} {| class="wikitable" style="margin-right:auto; margin-left:auto;" |- ! Bits || 0 - 31 || 32 - 63 || 64 - 79 || 80 - 95 || 96 - 127 |- | Length || 32 bits || 32 bits || 16 bits || 16 bits || 32 bits |- | Description || Prefix || Teredo<br />server IPv4 || Flags || Obfuscated<br />UDP port || Obfuscated Client<br />public IPv4 |} As an example, the IPv6 address 2001:0000:4136:e378:8000:63bf:3fff:fdd2 refers to a Teredo client that: * Uses Teredo server at address 65.54.227.120 (4136e378 in [[hexadecimal]]) * Is behind a cone NAT and client is not fully compliant with RFC 5991 (bit 64 is set) * Is probably (99.98%) not compliant with RFC 5991 (the 12 random bits are all 0, which happens less than 0.025% of the time) * Uses UDP mapped port 40000 on its NAT (in hexadecimal [[Bitwise NOT|not]] 63bf equals 9c40, or decimal number 40000) * Has a NAT public IPv4 address of 192.0.2.45 (not 3ffffdd2 equals c000022d, which is to say, 192.0.2.45) {{center|''Teredo IPv6 example table''}} {| class="wikitable" style="margin-right:auto; margin-left:auto;" |- ! Bits || 0 - 31 || 32 - 63 || 64 - 79 || 80 - 95 || 96 - 127 |- | Length || 32 bits || 32 bits || 16 bits || 16 bits || 32 bits |- | Description || Prefix || Teredo<br />server IPv4 || Flags || Obfuscated<br />UDP port || Obfuscated Client<br />public IPv4 |- | Part || 2001:0000 || 4136:e378 || 8000 || 63bf || 3fff:fdd2 |- | Decoded || || 65.54.227.120 || cone NAT || 40000 || 192.0.2.45 |}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)