flat7th

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へ流れて以下同様。

ここまでが前提のハナシ。

ええと、続きはこっちに書きました...
+ 文字でもグラフィックでも返せるコマンドシェル