12.6 Summary
An IPv6 server on a dual-stack host can service
both IPv4 clients and IPv6 clients. An IPv4 client still sends IPv4
datagrams to the server, but the server's protocol stack converts
the client's address into an IPv4-mapped IPv6 address since the
IPv6 server is dealing with IPv6 socket address structures.
Similarly, an IPv6 client on a dual-stack host
can communicate with an IPv4 server. The client's resolver will
return IPv4-mapped IPv6 addresses for all the server's A records,
and calling connect for one of these addresses results in
the dual stack sending an IPv4 SYN segment. Only a few special
clients and servers need to know the protocol being used by the
peer (e.g., FTP) and the IN6_IS_ADDR_V4MAPPED macro can be
used to see if the peer is using IPv4.
|