PortProxy

To facilitate the communication between nodes or applications that cannot connect using a common Internet layer protocol (IPv4 or IPv6), the IPv6 protocol for Windows XP and the Windows .NET Server 2003 family provides PortProxy, a component that allows the proxying of the following traffic:

  • IPv4 to IPv4

    Traffic to an IPv4 address is proxied to TCP traffic to another IPv4 address.

  • IPv4 to IPv6

    Traffic to an IPv4 address is proxied to TCP traffic to an IPv6 address.

  • IPv6 to IPv6

    Traffic to an IPv6 address is proxied to TCP traffic to another IPv6 address.

  • IPv6 to IPv4

    Traffic to an IPv6 address is proxied to TCP traffic to an IPv4 address.

The most interesting and useful proxying for IPv6/IPv4 coexistence and migration is from IPv4 to IPv6 and from IPv6 to IPv4. For coexistence and migration, PortProxy enables the following scenarios:

  • An IPv4-only node can access an IPv6-only node.

    In the IPv4 DNS infrastructure of the IPv4-only node, the name of the IPv6-only node resolves to an IPv4 address assigned to an interface of the PortProxy computer. (This might require manual configuration of an A record in the DNS.) The PortProxy computer is configured to proxy IPv4 to IPv6. All TCP traffic sent by the IPv4-only node is proxied in a manner similar to Internet proxy servers: the IPv4-only node establishes a TCP connection with the PortProxy computer and the PortProxy computer establishes a separate TCP connection with the IPv6-only node. The TCP connection data is transferred between the IPv4-only node and the IPv6-only node by PortProxy.

  • An IPv6-only node can access an IPv4-only node.

    In the IPv6 DNS infrastructure of the IPv6-only node, the name of the IPv4-only node resolves to an IPv6 address assigned to an interface of the PortProxy computer. (This might require manual configuration of AAAA records in the DNS.) The PortProxy computer is configured to proxy IPv6 to IPv4. TCP traffic sent by the IPv6-only node to the PortProxy computer is proxied to the IPv4-only node.

  • An IPv6 node can access an IPv4-only service running on an IPv6/IPv4 node.

    In the IPv6 DNS infrastructure of the IPv6-only node, the name of the IPv6/IPv4 node resolves to an IPv6 address assigned to an interface of the PortProxy computer. The PortProxy computer is configured to proxy from IPv6 to IPv4 on the PortProxy computer. TCP traffic sent by the IPv6 node to the PortProxy computer is proxied to an IPv4-only service or application running on the PortProxy computer.

    Notice that the default DNS behavior of the IIS server (an IPv6/IPv4 node) is to dynamically register both its IPv6 and IPv4 addresses in the DNS. The default behavior of a computer running Windows XP or a member of the Windows .NET Server 2003 family is to query the DNS for all record types, preferring the use of IPv6 addresses over IPv4 addresses. When the Web client is a computer running Windows XP or a member of the Windows .NET Server 2003 family, it attempts to connect using IPv6 first. With PortProxy properly configured on the IIS server, the first attempt to connect using an IPv6 address of the IIS server should be successful without manual configuration of DNS records.

To configure the PortProxy component, use the netsh interface portproxy add|set|delete v4tov4|v4tov6|v6tov4|v6tov6 commands. For example, the syntax for the netsh interface portproxy add v6tov4 command is:

netsh interface portproxy add v6tov4
[listenport=]LPortNumber|LPortName
[[connectaddress=]IPv4Address|IPv4HostName]
[[connectport=]CPortNumber|CPortName]
[[listenaddress=]IPv6Address|IPv6HostName]

in which LPortNumber|LPortName is the TCP port number or service name on which PortProxy is listening, IPv6Address|IPv6HostName is the IPv6 address or host name on which PortProxy is listening (if unspecified, all IPv6 addresses assigned to the PortProxy computer are assumed), CPortNumber|CPortName is the TCP port number or service name that PortProxy attempts to connect to (if unspecified, the connect port is set to the same port as the listening port), and IPv4Address|IPv4HostName is the IPv4 address or host name that PortProxy attempts to connect to (if unspecified, the loopback address is assumed).

PortProxy works only for TCP traffic (at the time of this writing) and for application-layer protocols that do not embed address or port information inside the upper-layer PDU. Unlike NATs, there are no equivalents to NAT editors for PortProxy. An example of a protocol that will not work across a PortProxy computer is FTP, which embeds IPv4 addresses when using the FTP Port command.



Understanding IPv6
Understanding Ipv6
ISBN: 0735612455
EAN: 2147483647
Year: 2005
Pages: 124
Authors: Joseph Davies

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net