🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.net.kermit
Article #103

Kermit Now (2002.9.2) 1/2

#103
From: SASAKI Masato
Date: Mon, 02 Sep 2002 13:58
152 lines
8537 bytes
Kermit Now
2002年9月時点のKermitの現状

 kermitは異なるコンピューター間においてオンラインでファイルを交換する
ためのプロトコルであり、プログラムです。
 2002年9月においては、他の手段によるファイル交換が簡単にできるよ
うになったため、kermitが何か、何をするためのものなのか、知らなくても困
らなくなり、事実kermitを知らない人も多くおります。
 そこでkermitの歴史と果たしてきた役割を振り返り、kermitの現状を紹介し
ます。
 なお、ここで紹介した情報の多くは藤井啓文・湯浅富久子「MS-Kermit入門」
サイエンス社 1993年によっています。私たちは同書の言う「異なる計算
機の間でファイルを転送し合うには何が必要かという問い」に対し、完全な答
えを見つけたのでしょうか?異なる計算機間でその違いを全く意識せずにファ
イルを転送したり共有し合えているのでしょうか?

1 Kermitの概要

 Kermitは異なるコンピューター間においてオンラインでファイルの交換をし
たい時に使います。
 基本的にはRS-232C端子を使い、2台のコンピューターをクロスケーブルで
直結して使うことを前提にしていますが、接続の方法はこれに限りません。間
にモデムを入れて電話回線等で遠隔地にあるコンピューターとつなぐ場合にも
kermitは使えますし、適切なハードウェアを用意した上で、LANにおいてkermit
を使うことも可能です。(もっともLANが構築されている場合、kermitがなくて
も、OSやアプリケーションソフトを使って、異なるコンピューター間でファイ
ルが交換できるようになっている場合が最近では多いと思います。)
 自分の機械や自分のOSのためのkermitがたいてい用意されていますから、
kermitは多くの機械、多くのOSで動くと言ってよいでしょう。

 またkermitは単純にファイル交換だけを行うものではありません。ファイル
交換に便利な機能もいくつかあわせ持っており、それを使うことで、端末エミ
ュレータとして利用したり、簡易なBBSのホストプログラムとして利用するこ
とも可能になっています。

 kermitの著作権については、コロンビア大学が所持しているようです。
 ただし、無償で使用することができますし、配布も自由にできます。配布に
あたって配布にかかる費用の負担を求めることはできるようです。

余談 クロスケーブルについて
 RS-232Cの規格はもともと本体と周辺機器を接続することを前提に作られてい
ます。したがってその端子も「片方が本体、もう片方が周辺機器である」とい
う前提で作られていて、基本的なケーブルもそれを単純につなぐケーブル(ス
トレートケーブル)として作られています。かなり単純化して説明すると
RS-232Cには1つの端子に9個なり25個なりの接点があるのですが、本体側の
1番がデータの出口だとすると周辺機器側の1番はデータの入口になっていま
す。
 これをそのまま本体同士をつなぐ時に使うとどうなるかと言えば、入口と入
口ではデータがうまく流れないことになります。そこで本体と本体をつないで
入口と出口に対応するように接点と接点のつなぎ方を工夫したケーブルがクロ
スケーブルなのです。
 この話も最近は知らない人が結構多いんですよね。最近LANではやりの
10BASE-Tにおいて使われるツイストペアのケーブルでもストレートとクロスの
区別があるんですが、「ストレート」とか「クロス」とかいう表示をしないで、
「ハブとコンピューターをつなぐ時用」みたいなわかりやすい表示になってい
るんで、意識することがない上、ハブの方が進化していてストレートケーブル
で問題なく作動するようにしてあったりします。私自身は中身を知らなくても
使えるようになることは進歩だとする立場なのですが、中身を知っているとそ
れはそれでおもしろいとも思う立場なので、ちょっと紹介してみました。

2 Kermitの歴史

 kermitは、Frank da Cruz、Christine M. Gianone両氏を中心に、1980年
頃アメリカのコロンビア大学で開発されました。1981年にプロトコル及び
DEC SYSTEM-20(ミニコン)用とCP/M(8bitマイコン用OS)用のプログラムが
発表されています。その後多くの機種においてkermitが動くようになりました。
例えばMS-DOS用のMS-Kermitは、Joe.R.Doupnik氏を中心とするアメリカのユタ
州立大学のグループによって作られました。またUNIX用のC-Kermitも存在して
います。

 日本においては、東京大学大型計算機センター石田晴久氏と日本電信電話公
社の村上健一郎氏の活動が最初ではないかとみられます。

 ちなみにkermitの名の由来については、こんな話が伝わっています。
 日本でも有名なアメリカの児童向け教育番組「セサミストリート」に登場す
る「カーミット」というかえるの人形がおりますが……。
 名前を決めようとした時に、壁にカーミットの人形がかかっているのを見て、
面白半分にkermitと名付けたらしいんですね。ただし著作権の問題を回避する
ため、当初は「ケルト語で自由という意味である」ということを調べてそうい
う説明をしていたんだけど、後に(番組or人形の)制作会社の承諾を得て、
「セサミストリートに登場するカーミットからとった」と説明できるようにな
ったそうです。

3 Kermitの基本的な使い方

 kermitでファイル交換を行う場合、両方のコンピューターでkermitを動かす
ことになります。
 まず一番簡単なのは相手のコンピューターでkermitを起動させた後、相手の
コンピューターをサーバーモードにすることで、具体的には次のとおりになり
ます。

・自分のコンピューターでkermitを起動する
・自分のコンピューターを端末モードにする
・相手のコンピューターでkermitを起動する
・相手のコンピューターをサーバーモードにする
・自分のコンピューターのkermitをコマンドモードに戻す
 #ここまでで自分のコンピューターから指示をすると、サーバーがそれを受
  け付けて処理をし、その結果を返してくれることになります。
・ファイルのやりとりをする
・相手のコンピューターのサーバーモードを終わらせる
・自分のコンピューターのkermitを終わらせる

 もう1つのやり方としては自分のコンピューターで端末モード(相手コンピ
ューターに対する指示)とコマンドモード(自分のコンピューターに対する指
示)とを切り替えながら行うもので、具体的には次のとおりになります。

・自分のコンピューターでkermitを起動する
・自分のコンピューターをで端末モードにする
 (自分のコンピューターで受信する場合には不要)
・接続
・相手のコンピューターでkermitを起動する
・相手のコンピューターに受信(もしくは送信)を指示
・自分のコンピューターに送信(もしくは受信)を指示

4 基本Kermitのパケット型

S
(パケットの意味)送信開始
(受信側の動作) 通信パラメータを設定する
F
(パケットの意味)ファイル名を含む
(受信側の動作) ファイルを生成
D
(パケットの意味)ファイルの中身を含む
(受信側の動作) 中身をファイルに書く
Z
(パケットの意味)ファイルの終わりを示す
(受信側の動作) ファイルを閉じる
B
(パケットの意味)送信終了
(受信側の動作) ファイル転送モードを終了
Y
(パケットの意味)パケットを正常に受信した
(受信側の動作) 次のパケットを送る
N
(パケットの意味)受信したパケットが異常だ
(受信側の動作) 今のパケットを再送
E
(パケットの意味)回復不能なエラーが起こった
(受信側の動作) 転送中止

パケットの構造

開始文字
長さ
番号
型
データ
ブロックチェック
終端文字
ブロックチェックは1文字から3文字で
例えば1文字のチェックサム
Technical Details
Message-ID: <20020902225815cal@ams.odn.ne.jp>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!opentransit.net!newsfeed.mesh.ad.jp!t-newsgw1.odn.ne.jp!nwall.odn.ne.jp!not-for-mail
References: <20020902225324cal@ams.odn.ne.jp>

Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS
X-Google-Thread: 10be55,a6a6e36006cc7d39
X-Google-Attributes: gid10be55,public
X-Google-ArrivalTime: 2002-09-02 07:05:05 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!opentransit.net!newsfeed.mesh.ad.jp!t-newsgw1.odn.ne.jp!nwall.odn.ne.jp!not-for-mail
From: cal@ams.odn.ne.jp (SASAKI Masato)
Newsgroups: fj.net.kermit
Subject: Kermit Now (2002.9.2) 1/2
Date: Mon, 02 Sep 2002 22:58:15 +0900
Organization: cal personal
Lines: 153
Message-ID: <20020902225815cal@ams.odn.ne.jp>
References: <20020902225324cal@ams.odn.ne.jp>
NNTP-Posting-Host: sapba-08p224.ppp13.odn.ad.jp
Mime-Version: 1.0
Content-Type: Text/Plain; charset=ISO-2022-JP
X-Trace: nwall1.odn.ne.jp 1030975204 59256 61.201.66.224 (2 Sep 2002 14:00:04 GMT)
X-Complaints-To: news@odn.ad.jp
NNTP-Posting-Date: Mon, 2 Sep 2002 14:00:04 +0000 (UTC)
X-Posting-Software: WSNews 2.027