SLIPを用いた接続
文書番号:J8047
うちではプリンターケーブル(要はシリアル・クロスケーブル)を用いて、2台のNetBSD/mac68kマシンをつないで使ってます。
速度的に多少辛い点もありますが、お金もそれほどかからず(ケーブル一本980円位です!)、NIC(Ethernetカード)の相性にも泣かされる事もなく、なかなかお手軽に家庭内LANが組めますので、「ちょっと試してみたい。家庭内LANの真似事でもしてみたい」という向きにはいいかもしれません。
NetBSD/mac68kの場合、cuコマンドがうまく働かないものがあったりしましたので、電話回線を介したSLIPでの接続というのはなかなか難しい場合もあるようです。
でも、クロスケーブルを用いたSLIPでの接続なら、slattachコマンドさえ使えればいいわけですので、特に難しい事を考えなくてもうまくいきます。:)
お膳立て
マシン間をクロスケーブルでつなぎ(ここでは双方共にプリンタポートを使用しています)、双方のマシン上でrootになってslattch、ifconfigコマンドを実行すればOKです。
slattch -h -s 57600 /dev/tty01
ifconfig sl0 このマシンのIPアドレス 相手先マシンのIPアドレス up
接続例
AとB、ふたつのマシンがあり、マシンAが192.168.1.1、マシンBが192.168.1.2のIPアドレスを持っている場合、マシンAでは、
slattach -h -s 57600 /dev/tty01
ifconfig sl0 192.168.1.1 192.168.1.2 up
マシンBでは、
slattach -h -s 57600 /dev/tty01
ifconfig sl0 192.168.1.2 192.168.1.1 up
という操作をしておけばよいです(気に入ったら双方のマシンの/etc/rc.localか、netstart.localあたりにでも書いておいてください)。
あとは、マシンA(192.168.1.1)から、
ping 192.168.1.2
として、ピンガーを打ち込み、相手潜水艦のご機嫌を伺ってみます。^^;
#念のため、マシンBからもpingを打って、ご機嫌伺ってみてくださいね。
まぁ、そんなこんなで、双方ともにご機嫌麗しゅうようでしたら、マシンAの方で、
telnet 192.168.1.2
などとして、マシンBに攻め込んでみましょう。^^;;
これで問題なければ、他のサービス(ftpとか)も、設定さえ誤ってなければちゃんと使えると思います。
うちでは更に、マシンAの方でPPPを用いてMacOSマシン(マシンC、192.168.1.3)とシリアル接続させたりする事があります。
ですから、マシンBの方では、
route add 192.168.1.3 192.168.1.2
なんてものも加えてます(マシンAの方では、pppdが自動的にroute設定してくれてます)。
こうしとけばマシンBとマシンCの双方でアクセスする事が可能になりますんで、ちょっとだけ便利になります。
※うちの場合、常に決まったIPアドレスしか用いてない&管理しているマシンの数が数台くらいしかない、ですので、こういう泥臭い方法でも構わないのですが、動的にIPアドレスを与えたり、管理するマシン数が滅茶苦茶多いとかいうような環境でしたら、routedを使わないと「やってられない」でしょう。^^;
おまけ・シリアル用ケーブルの作り方
「おまけ」として、Macで使える様々なシリアル用ケーブルの作り方を書いておきます。
ちょっと前まではケーブルと言えば「自作するのが当り前」でしたが、最近では出来合いのモノを使う事が多くなりました。^^;
とはいえ、こういう「いにしえの知識」、覚えておいても損はないかな...とか思います(「知らなくても損はない」というハナシもあります)。
まぁ、雑学程度の参考にでもしてください。
コネクタピン配置など
Macのコネクタ(mini-DIN8)ピン配置は以下のようになってます。
8 7 6
5 9 4 3
2 1
1 .... Handshake output
2 .... Handshake input
3 .... Transmit data -
4 .... Ground
5 .... Recieve data -
6 .... Transmit data +
7 .... General-purpose input(GPi)
8 .... Recieve data +
9 .... +5Volts(modem port only)
Transmit、Recieve共に、+と-の二種類存在してますが、これはそれぞれ、流れるデータの極性(論理)が逆になっています。
通常、+の方は使用せず、-の方のみを使用します。
モデム等でよく使われているRS-232Cのコネクタ(D-Sub 25)ピン配置は以下のようになってます。
13 1
. . . . . . . . . . . . .
. . . . . . . . . . . .
25 | 14
|___ 20
1 .... Ground(Shield)
2 .... Transmit Data(TxD)
3 .... Receive Data(RxD)
4 .... Request To Send(RTS)
5 .... Clear To Send(CTS)
6 .... Data Set Ready(DSR)
7 .... Signal Ground(GND)
8 .... Data Carrier Detect(DCD)
12 ... Data Speed Indicator
15 ... Transmit Clock
17 ... Recieve Clock
20 ... Data Terminal Ready(DTR)
22 ... Ring Indicator(RI)
23 ... Data Singnal Rate Selector
24 ... External Transmit Clock
なんか沢山のピンがありますが、ふつうシリアルケーブルを作る際に必要なのは、1から8番までのピンと20番のピンのみです。ですからそれ以外のピンの事は忘れてもらってかまいません。^^;;
PCのシリアルポート等でよく使われているコネクタ(D-Sub 9)のピン配置は以下のようになってます。
1 2 3 4 5
6 7 8 9
1 .... Data Carrier Detect(DCD)
2 .... Recieve Data(RxD)
3 .... Transmit Data(TxD)
4 .... Data Terminal Ready(DTR)
5 .... Signal GND
6 .... Data Set Ready(DSR)
7 .... Request To Send(RTS)
8 .... Clear To Send(CTS)
9 .... Ring Indicator(RI)
さてさて、各コネクタのピン配置も分かった事ですし、いざ決戦^H^H結線とまいりましょう。^^;
ストレートケーブル
モデムとの接続などに用います。
相手側がmini-DIN8なコネクタを持った機器でしたら、
Mac側
Handshake output 1 ------ 1 Handshake output
Handshake input 2 ------ 2 Handshake input
Transmit data - 3 ------ 3 Transmit data -
Ground 4 ------ 4 Ground
Recieve data - 5 ------ 5 Recieve data -
Recieve data + 8 -+ +- 8 Recieve data +
| |
Ground 4 -+ +- 4 Ground
となるように結線すればOKです。
※
双方の4、8をコネクタ内でループ(短絡)させます。
双方のコネクタ金具どうしも結線してください。
相手側がD-Sub 25pinなコネクタを持った機器でしたら、
Mac側
Handshake output 1 ------ 4 Request To Send(RTS)
Handshake input 2 ------ 5 Clear To Send(CTS)
Transmit data - 3 ------ 2 Transmit Data(TxD)
Ground 4 ------ 7 Signal Ground(GND)
Recieve data - 5 ------ 3 Receive Data(RxD)
Recieve data + 8 -+ +- 4 Request To Send(RTS)
| |
| +- 6 Data Set Ready(DSR)
| |
Ground 4 -+ +- 8 Data Carrier Detect(DCD)
|
+- 20 Data Terminal Ready(DTR)
としてください。
※
RS-232C側は4、6、8、20をコネクタ内でループ(短絡)させます。
双方のコネクタ金具どうしを結線し、RS-232C側の1番ピンをその線に結線しておいてください。
相手側がD-Sub 9pinなコネクタを持った機器でしたら、
Mac側
Handshake output 1 ------ 7 Request To Send(RTS)
Handshake input 2 ------ 8 Clear To Send(CTS)
Transmit data - 3 ------ 3 Transmit Data(TxD)
Ground 4 ------ 5 Signal GND
Recieve data - 5 ------ 2 Recieve Data(RxD)
Recieve data + 8 -+ +- 1 Data Carrier Detect(DCD)
| |
| +- 6 Data Set Ready(DSR)
| |
| +- 7 Request To Send(RTS)
Ground 4 -+ |
+- 4 Data Terminal Ready(DTR)
とします。
※
RS-232C側は1、6、7、4をコネクタ内でループ(短絡)させます。
双方のコネクタ金具どうしも結線してください。
クロスケーブル
「つなぎ方」としては、各信号線、制御線が双方で入れ替わるようにします。
双方ともにMacの場合は、
Handshake output 1 ------ 2 Handshake input
Handshake input 2 ------ 1 Handshake output
Transmit data - 3 ------ 5 Recieve data -
Ground 4 ------ 4 Ground
Recieve data - 5 ------ 3 Transmit data -
Recieve data + 8 -+ +- 8 Recieve data +
| |
Ground 4 -+ +- 4 Ground
とします。
※
双方のコネクタ金具どうしも結線してください。
相手側がD-Sub 25pinなコネクタを持つ機器でしたら、
Mac側
Handshake output 1 ------ 5 Clear To Send(CTS)
Handshake input 2 ------ 4 Request To Send(RTS)
Transmit data - 3 ------ 3 Receive Data(RxD)
Ground 4 ------ 7 Signal Ground(GND)
Recieve data - 5 ------ 2 Transmit Data(TxD)
Recieve data + 8 -+ +- 4 Request To Send(RTS)
| |
| +- 6 Data Set Ready(DSR)
| |
Ground 4 -+ +- 8 Data Carrier Detect(DCD)
|
+- 20 Data Terminal Ready(DTR)
とします。
※
RS-232C側は4、6、8、20をコネクタ内でループ(短絡)させます。
双方のコネクタ金具どうしを結線し、RS-232C側の1番ピンをその線に結線しておいてください。
相手側がD-Sub 9pinなコネクタを持つ機器でしたら、
Mac側
Handshake output 1 ------ 8 Clear To Send(CTS)
Handshake input 2 ------ 7 Request To Send(RTS)
Transmit data - 3 ------ 2 Recieve Data(RxD)
Ground 4 ------ 5 Signal GND
Recieve data - 5 ------ 3 Transmit Data(TxD)
Recieve data + 8 -+ +- 1 Data Carrier Detect(DCD)
| |
| +- 6 Data Set Ready(DSR)
| |
Ground 4 -+ +- 7 Request To Send(RTS)
|
+- 4 Data Terminal Ready(DTR)
としてください。
※
RS-232C側は1、6、7、4をコネクタ内でループ(短絡)させます。
双方のコネクタ金具どうしも結線してください。
ここでは主にMacのシリアルポートを主としたケーブルの作り方(結線の仕方)について書きましたが、上の結線図を色々と組み合わせれば、その他のシリアルケーブル(D-Sub25、D-Sub9なコネクタを持つ機器間をつなぐものなど)も作る事ができると思います。
もどる
fk200329@fsinet.or.jp
Last modified: Tue Jun 22 04:43:38 1999