« Presentation links |  main  | The Mouse is Mightier... »

The state of IPv6 in Mac OS X Tiger

Posted by dom on Fri Jul 15 16:41:42 +0200 2005

As some of you may know, Panther did already support IPv6. We added full IPv6 support in our initial SubEthaEdit 2.0 release 2004-05-17. Bonjour returns IPv6 addresses since panther, as indicated by the Technical Q&A 1298 created 2003-10-15. So what happened since then? How many applications really listen to IPv6? To test this I started all the programs and sharing I have on my machine, and used lsof -i 6 which lists all IPv6 network connections. This is what I got:

dwagner@dom:~$ sudo lsof -i 6
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
launchd 1 root 10u IPv6 0x01c27bb0 0t0 TCP *:ssh (LISTEN)
launchd 1 root 21u IPv6 0x01c27490 0t0 TCP *:ftp (LISTEN)
launchd 1 root 24u IPv6 0x01c27820 0t0 TCP *:eppc (LISTEN)
launchd 1 root 27u IPv6 0x01c272c8 0t0 TCP *:printer (LISTEN)
configd 31 root 10u IPv6 0x01efee10 0t0 ICMPV6 *:*
configd 31 root 12u IPv6 0x01efeee0 0t0 ICMPV6 *:*
mDNSRespo 39 root 8u IPv6 0x01c22860 0t0 UDP *:mdns
SubEthaEd 5760 dwagner 11u IPv6 0x01c26ba8 0t0 TCP *:6942 (LISTEN)
SubEthaEd 5760 dwagner 19u IPv6 0x01c27100 0t0 TCP [fe80:4::203:93ff:fe98:a624]:51203->[fe80:4::20a:95ff:fec1:cb70]:6942 (ESTABLISHED)
SubEthaEd 5760 dwagner 20u IPv6 0x01c26f38 0t0 TCP [fe80:4::203:93ff:fe98:a624]:51205->[fe80:4::20d:93ff:fec2:6ee4]:6942 (ESTABLISHED)
SubEthaEd 5760 dwagner 21u IPv6 0x01c26d70 0t0 TCP [fe80:4::203:93ff:fe98:a624]:6942->[fe80:4::20a:95ff:febd:c7d2]:64837 (ESTABLISHED)
AppleFile 5992 root 29u IPv6 0x01c279e8 0t0 TCP *:afpovertcp (LISTEN)

Ok. There’s ssh, ftp, printer, afpovertcp and of course, mdns. In the application category? Only SubEthaEdit – Are we really the only application using IPv6? Surely I must have forgotten to start all the other applications and services… but let’s have a look at the IPv4 connections:

dwagner@dom:~$ sudo lsof -i 4
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
launchd 1 root 11u IPv4 0x01f7ac48 0t0 TCP *:ssh (LISTEN)
launchd 1 root 18u IPv4 0x02438a90 0t0 UDP *:netbios-ns
launchd 1 root 19u IPv4 0x02456670 0t0 TCP *:netbios-ssn (LISTEN)
launchd 1 root 20u IPv4 0x03313530 0t0 TCP *:microsoft-ds (LISTEN)
launchd 1 root 22u IPv4 0x024583a8 0t0 TCP *:ftp (LISTEN)
launchd 1 root 25u IPv4 0x0245981c 0t0 TCP *:eppc (LISTEN)
launchd 1 root 28u IPv4 0x01f7d530 0t0 TCP *:printer (LISTEN)
mDNSRespo 39 root 7u IPv4 0x01c22930 0t0 UDP *:mdns
mDNSRespo 39 root 9u IPv4 0x024380d0 0t0 UDP *:mdns
mDNSRespo 39 root 17u IPv4 0x02438000 0t0 UDP *:mdns
netinfod 40 root 7u IPv4 0x01f7c0bc 0t0 TCP localhost:netinfo-local (LISTEN)
syslogd 41 root 20u IPv4 0x01c21270 0t0 UDP *:*
Directory 44 root 6u IPv4 0x01f7cc6c 0t0 TCP localhost:1019->localhost:netinfo-local (ESTABLISHED)
Directory 44 root 10u IPv4 0x01c21680 0t0 UDP *:*
Directory 44 root 11u IPv4 0x01f7a670 0t0 TCP *:* (CLOSED)
Directory 44 root 24u IPv4 0x02439ad0 0t0 UDP *:*
Directory 44 root 25u IPv4 0x029653a8 0t0 TCP *:* (CLOSED)
cupsd 136 root 0u IPv4 0x03313244 0t0 TCP *:ipp (LISTEN)
mds 150 root 13u IPv4 0x01f79dac 0t0 TCP localhost:1015->localhost:netinfo-local (ESTABLISHED)
ntpd 161 root 5u IPv4 0x01c21f70 0t0 UDP *:ntp
ntpd 161 root 6u IPv4 0x01c21ea0 0t0 UDP localhost:ntp
ntpd 161 root 7u IPv4 0x01c21d00 0t0 UDP 10.0.1.200:ntp
automount 190 root 8u IPv4 0x01c22e10 0t0 UDP localhost:1023
automount 198 root 8u IPv4 0x01c22ad0 0t0 UDP localhost:1022
httpd 205 root 16u IPv4 0x01f7a95c 0t0 TCP *:http (LISTEN)
httpd 211 www 16u IPv4 0x01f7a95c 0t0 TCP *:http (LISTEN)
Mail 219 dwagner 12u IPv4 0x036dc530 0t0 TCP #####
Mail 219 dwagner 15u IPv4 0x02458f58 0t0 TCP #####
Mail 219 dwagner 19u IPv4 0x02457ae4 0t0 TCP #####
Mail 219 dwagner 20u IPv4 0x036d0c6c 0t0 TCP #####
Mail 219 dwagner 21u IPv4 0x036dcb08 0t0 TCP #####
Mail 219 dwagner 25u IPv4 0x02455ac0 0t0 TCP #####
Mail 219 dwagner 26u IPv4 0x01f7ddf4 0t0 TCP #####
Mail 219 dwagner 27u IPv4 0x024577f8 0t0 TCP #####
Mail 219 dwagner 28u IPv4 0x01f7bdd0 0t0 TCP #####
Mail 219 dwagner 29u IPv4 0x01f7d81c 0t0 TCP #####
Mail 219 dwagner 30u IPv4 0x0245695c 0t0 TCP #####
Mail 219 dwagner 31u IPv4 0x02456f34 0t0 TCP #####
Mail 219 dwagner 33u IPv4 0x02966530 0t0 TCP #####
Mail 219 dwagner 34u IPv4 0x02457220 0t0 TCP #####
Mail 219 dwagner 36u IPv4 0x01f791fc 0t0 TCP #####
iChatAgen 221 dwagner 9u IPv4 0x0296681c 0t0 TCP *:5298 (LISTEN)
iChatAgen 221 dwagner 16u IPv4 0x02459244 0t0 TCP #####
iChatAgen 221 dwagner 17u IPv4 0x01c219c0 0t0 UDP localhost:49729->localhost:49729
iChatAgen 221 dwagner 20u IPv4 0x036dc81c 0t0 TCP #####
iTunes 244 dwagner 17u IPv4 0x02458980 0t0 TCP *:daap (LISTEN)
mysqld 572 mysql 5u IPv4 0x02459530 0t0 TCP *:mysql (LISTEN)
httpd 590 www 16u IPv4 0x01f7a95c 0t0 TCP *:http (LISTEN)
NetNewsWi 1304 dwagner 8u IPv4 0x02455dac 0t0 TCP *:30874 (LISTEN)
lighttpd 1868 dwagner 3u IPv4 0x02456c48 0t0 TCP *:irdmi (LISTEN)
BitTorren 2525 dwagner 10u IPv4 0x0331381c 0t0 TCP *:6881 (LISTEN)
BitTorren 2525 dwagner 11u IPv4 0x01c222b0 0t0 UDP *:6881
Safari 5384 dwagner 8u IPv4 0x03313b08 0t0 TCP #####
SubEthaEd 5760 dwagner 7u IPv4 0x036dbf58 0t0 TCP *:6942 (LISTEN)
SubEthaEd 5760 dwagner 16u IPv4 0x0330b95c 0t0 TCP #####
mount_web 5797 dwagner 12u IPv4 0x02439e10 0t0 UDP *:49792
mount_web 5797 dwagner 13u IPv4 0x02965f58 0t0 TCP #####
lookupd 5934 root 6u IPv4 0x01f7d244 0t0 TCP localhost:960->localhost:netinfo-local (ESTABLISHED)
AppleFile 5992 root 30u IPv4 0x03313df4 0t0 TCP *:afpovertcp (LISTEN)
slpd 6016 root 1u IPv4 0x02438270 0t0 UDP *:svrloc
slpd 6016 root 2u IPv4 0x024580bc 0t0 TCP *:svrloc (LISTEN)
slpd 6016 root 3u IPv4 0x02456384 0t0 TCP *:* (CLOSED)
slpd 6016 root 5u IPv4 0x01c21c30 0t0 UDP *:*
slpd 6016 root 6u IPv4 0x036d0694 0t0 TCP *:* (CLOSED)
ARDAgent 6054 dwagner 15u IPv4 0x01c218f0 0t0 UDP *:net-assistant
AppleVNCS 6055 dwagner 22u IPv4 0x02456098 0t0 TCP *:5900 (LISTEN)
rmdb 6056 daemon 55u IPv4 0x01c21dd0 0t0 UDP localhost:50740->localhost:50740
rmdb 6057 daemon 55u IPv4 0x01c21dd0 0t0 UDP localhost:50740->localhost:50740
nmbd 6094 root 0u IPv4 0x02438a90 0t0 UDP *:netbios-ns
nmbd 6094 root 1u IPv4 0x02438a90 0t0 UDP *:netbios-ns
nmbd 6094 root 8u IPv4 0x02438340 0t0 UDP *:netbios-dgm
nmbd 6094 root 11u IPv4 0x01c21b60 0t0 UDP #####
nmbd 6094 root 12u IPv4 0x02438b60 0t0 UDP #####
distccd 6122 dwagner 3u IPv4 0x036d03a8 0t0 TCP *:distcc (LISTEN)
iPhoto 6295 dwagner 21u IPv4 0x02965694 0t0 TCP *:8770 (LISTEN)

Quite a bit more. Apache, lighthttpd, mysqld, apple-remote-desktop, distccd, BitTorrent, ... . And of course the applications that are making use of networking: iTunes, iPhoto, iChat and NetNewsWire. All of them use Bonjour as main means of networking, iTunes even uses Bonjour exclusively. Yet they don’t listen to IPv6 yet. For all of them, making IPv6 work should be as easy as setting up an IPv6 listening socket, and maybe remove the disregard of IPv6 addresses in your bonjour code. Source code for doing so is available in the Echo sample code (/Developer/Examples/Networking/Echo/Server.c:147) if you use CFNetwork API. I encourage all the other Bonjour using applications to join us in our IPv6 compliance!

no responses to 'The state of IPv6 in Mac OS X Tiger'

write a comment.... (textile enabled)
author
email
url
Body