TCP/UDP Applications on IPv6

Most of the complexity of IPv6 is down at the IP and ICMP layer, the IPng Working Group was not given the task of changing TCP or UDP. However there are some unavoidable application changes. RFC 2133 expands on this.

Host renumbering and the possible use of IPv6 <-> IPv4 gateways causes problems for those pathological protocols which embed their IP address in the data body, ftp is the classic example, it was always a mistake to do this. IPv6 ftp implements a new directive (SPOST) which only sends port numbers, not IP addresses. Other applications with IP addresses embedded in the data stream will probably have to be changed.

In IPv4 you convert an IP address to a host name by reversing the octets, appending '' and doing a name lookup on the result. For example, is looked up as IPv6 address lookups take the 64 bit address, write each hex nibble out in full (no zero removal), reverse it and append ''. 5F04:C500:CB2B:B300::6 maps to

DNS has a new record type (AAAA) for name to IPv6 addresses lookups. My router-6 has both IPv4 and IPv6 addresses so it has both A and AAAA records.

router-6        IN      A
router-6        IN      AAAA    5f04:c500:cb2b:b300::6

PTR records are unchanged in format, they just get a lot longer.

; origin is

@               IN      SOA (
                                199703191       ; Serial
                                10800   ; Refresh after 3 hours
                                3600    ; Retry after 1 hour
                                604800  ; Expire after 1 week
                                86400 ) ; Minimum TTL of 1 day
; Name server(s)
                IN      NS
                IN      NS
; Host addresses
;         IN      PTR

© Keith Owens O. C. Software P/L 1997