在两台Linux机器之间配置一条SLIP链路

SLIP, 即Serial Line IP(串行线路IP), 是一个数据链路层协议,用于在串行线路上传输IP数据报。本文讲述如何在两台用串口线(RS232)连接的Linux机器之间配置SLIP链路。设两台机器为A, B。首先,将两台机器用串口线连接好,然后在A机器上依次运行如下指令:

slattach /dev/ttyS0 -p slip -s 9600 -m -d &
ifconfig sl0
192.168.1.1 pointopoint 192.168.1.2 up
route add default gw
192.168.1.2

其中,/dev/ttyS0是第1上串口设备,如果有多个串口,则依次是/dev/ttyS1, /dev/ttyS2…,要视情况而定。
slattach的-p选项指定要使用的数据链路层协议,可以是slip, cslip, ppp等; -s指定传输速率,可以是9600,115200等;
-m告诉串口设备不要工作在RAW data模式,而是要工作在协议驱动模式;-d输出调试信息。
ifconfig用于配置串行接口的ip信息等。sl0代表第一个串行接口,如果有更多,依次是sl1, sl2…。
route将对方ip添加为默认网关。

然后在B机器上依次运行以下指令:

slattach /dev/ttyS0 -p slip -s 9600 -m -d &
ifconfig sl0
192.168.1.2 pointopoint 192.168.1.1 up
route add default gw
192.168.1.1

指令和A一样,要注意的是ip地址要设对。还有就是两边所用的协议、传输速率也要一样。
好了,如果没有出错,连接就建立成功了。
可以用在A或B上运行“ping 对方地址”来测试连接是否畅通。
建立好SLIP链路后,我们就可以使用互联网套接字(Internet socket)编程来进行2者之间的通信了,而不必关心底层是串行线路还是以太网线。
如果不配置此链路,则串口设备工作在RAW data模式,收、发的数据都是原始数据,不走协议栈,不进行IP等封装。

以上配置在Redhat Linux Enterprise及CentOS 5上测试成功。

http://blog.csdn.net/blackboyofsnp/archive/2011/05/28/6451232.aspx

http://www.ibm.com/developerworks/cn/linux/l-serialnet/index.html

posted @ 2011-08-18 09:05  TIANCJ  阅读(2181)  评论(0编辑  收藏  举报