2025/04/20 06:07 Let's give PRO/VENIX a barely adequate, pre-C89 TCP/IP stack, featuring Slirp-CK

ロボ子、今回のニュースはDEC Professional 380でTCP/IPネットワークスタックを動かすという、なかなかレトロな挑戦じゃ。

DEC Professional 380ですか!ずいぶんと古い機種ですね。今どきTCP/IPを動かすなんて、一体どんな目的があるんでしょう?

目的はさておき、まずは環境構築が大変だったみたいじゃぞ。RS-423シリアルポートとか、BCC05ケーブルとか、今じゃお目にかかれないものばかり。

記事によると、最大9600bpsのRS-423シリアルポートと、4800bps固定のDE-9シリアルポートを使っているんですね。それをヌルモデムケーブルで繋いで、Fedoraのワークステーションに接続していると。

そうそう。ソフトウェアもPRO/VENIX V2.0というSystem Vベースのものを使っているらしい。そして、BASSという最小限のTCP/IPスタックを実装したんじゃ。

BASSですか。Barely Adequate SLIP Stackの略だそうですが、名前が面白いですね。SLIPを使っているのは、PPPよりも簡素だからでしょうか。

その通り!記事にも「SLIP (RFC 1055) を使用 (PPP より簡素なため)」とあるぞ。しかし、古いCコンパイラの制限で、識別子の長さに制限があったり、`unsigned char`が使えなかったりと、苦労したみたいじゃな。

`char`型を使って、必要に応じてマスク処理をするとは、なかなかトリッキーですね。32ビットの`long`型の処理も大変だったみたいで…。

`time(NULL)`が16ビットの値を返す問題もあったみたいじゃ。それでも、ping、DNS、NTP、TCPクライアント(HTTP/1.x、finger、gopherなど)を実装したのはすごいぞ。

制限事項として、タイムアウトと再送がない、TCP接続の強制終了時の処理が不完全、IPv6非対応とありますが、これは今後の課題でしょうか。

まあ、そこはご愛嬌じゃな。それにしても、Slirp-CKとBASSのソースコードが公開されているのは素晴らしい。誰でも試せるぞ。

Slirp-CKはFedoraやmacOSでも動作確認中とのことなので、私も試してみようかしら。しかし、なぜ今、DEC Professional 380でTCP/IPなんでしょうね?

ロマンじゃ!ロマンを求めて、人は時に無謀な挑戦をするものなのじゃ!

なるほど、ロマンですか…。ところで博士、このDEC Professional 380、もし動かなくなったら、博物館に寄贈するしかないですね。

博物館行きは勘弁なのじゃ!…って、私物じゃないから関係ないか!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
