memo/20110622
created 2011-06-22 modified 2011-06-22
アイデアメモ。
文字でもグラフィックでも返せるコマンドシェル、についてのアイデアメモ。
zebraの例
zebraという、CISCOルータのようなソフトウェアルータを作れるソフトがあります。これは本当に良く出来ているソフト。商用版はZebOSなんだけど、基本思想はzebraでできあがってるので、今日の話ではとくに区別しません...。
ルーティングプロトコルは複数ある(ripとかbgpとか)ので、プロトコルによってデーモンを複数に分割している。
それぞれのプロトコルデーモンは、CISCOルータのようなコマンドをそれぞれ(専用のTCPポート番号で)受けることができるんだけど、CISCOルータでは、いろんなプロトコルのコマンドを、別にtelnetしなおさなくても打てる。
zebraでも、複数のデーモンに役割分担されているコマンド群を、一括して引き受けてくれるシェルデーモンがいる。
1.1 のコマンドが、デーモンXの分担である場合、 1.2 には 1.1 と同じ内容が流れます。 2.1 デーモンXは、コマンドの処理を実行し、コマンドの応答をシェルデーモンに返す。 2.2 シェルデーモンは、それをそのままクライアントへ返す。
コマンドがYの分担のものだった場合、XでなくYへ流れて以下同様。
ここまでが前提のハナシ。
ええと、続きはこっちに書きました...
+ 文字でもグラフィックでも返せるコマンドシェル