RFC 2767 (rfc2767) - Page 3 of 13


Dual Stack Hosts using the "Bump-In-the-Stack" Technique (BIS)



Alternative Format: Original Text Document



RFC 2767               Dual Stack Hosts using BIS          February 2000


2.1 Translator

   It translates IPv4 into IPv6 and vice versa using the IP conversion
   mechanism defined in [SIIT].

   When receiving IPv4 packets from IPv4 applications, it converts IPv4
   packet headers into IPv6 packet headers, then fragments the IPv6
   packets (because header length of IPv6 is typically 20 bytes larger
   than that of IPv4), and sends them to IPv6 networks. When receiving
   IPv6 packets from the IPv6 networks, it works symmetrically to the
   previous case, except that there is no need to fragment the packets.

2.2 Extension Name Resolver

   It returns a "proper" answer in response to the IPv4 application's
   request.

   The application typically sends a query to a name server to resolve
   'A' records for the target host name. It snoops the query, then
   creates another query to resolve both 'A' and 'AAAA' records for the
   host name, and sends the query to the server. If the 'A' record is
   resolved, it returns the 'A' record to the application as is. In the
   case, there is no need for the IP conversion by the translator.  If
   only the 'AAAA' record is available, it requests the mapper to assign
   an IPv4 address corresponding to the IPv6 address, then creates the
   'A' record for the assigned IPv4 address, and returns the 'A' record
   to the application.

   NOTE: This action is similar to that of the DNS ALG (Application
   Layer Gateway) used in [NAT-PT]. See also [NAT-PT].

2.3 Address mapper

   It maintains an IPv4 address spool. The spool, for example, consists
   of private addresses [PRIVATE]. Also, it maintains a table which
   consists of pairs of an IPv4 address and an IPv6 address.

   When the resolver or the translator requests it to assign an IPv4
   address corresponding to an IPv6 address, it selects and returns an
   IPv4 address out of the spool, and registers a new entry into the
   table dynamically. The registration occurs in the following 2 cases:

   (1) When the resolver gets only an 'AAAA' record for the target host
       name and there is not a mapping entry for the IPv6 address.
   (2) When the translator receives an IPv6 packet and there is not a
       mapping entry for the IPv6 source address.





Tsuchiya, et al.             Informational