Ruby事始でまずはCygwin版を入れてみました。IPv6通信をしようとしてもエラーとなってしまいます。TCPSocketのあて先にIPv6アドレス文字列を入れるとエラーとなります。
そこで、まずはCygwinがIPv6対応しているか確認しようとGCCでIPv6ソケット通信プログラムをコンパイルしようとしてstruct addrinfoが認識できずエラー、どうも標準のCygwinではNGのようです。
下記URLでCygwin向けIPv6拡張パッケージを作成・公開しているサイトを発見しました。なるほど、Cygwin自体はIPv6向けのソケットAPIを提供していないということのようです。
http://win6.jp/Cygwin/index-j.html
となると、Cygwin版RubyはIPv6非対応でビルドされている可能性が濃厚です。TCPSocketのnewはやはり失敗します。