アドレスファミリ独立 (2) OSカーネルのIPv4/v6サポートとアプリケーションのIPv4/v6サポートはしばしば別 単一のバイナリでIPv6入りカーネルとIPv6なしカーネルの両方で動くアプリケーションを作らなければならない カーネルがAF_INET6をサポートしてないかもしれない IPv4 kernel + IPv4 userland IPv4 kernel + IPv4/v6 dual stack userland IPv4/v6 kernel + IPv4/v6 dual stack userland IPv6 kernel + IPv4/v6 dual stack userland "IPv6コードはあるが設定されてない"場合(IPv6ルータが居ない、など) -> "IPv6サポート"は"アドレスファミリ独立"と同意 アプリケーションはIPv4/v6の両方を、カーネルがサポートしてない場合でも問題なく取り扱えなければいけない AF_INETを仮定しているコードを取り除く AF_INET6を仮定したコードを加えない