在学习tinyos的PppRouter例程时涉及到了ppp组件及pppd程序。学习网络课程的时候大概了解过这是一个拨号应用,但具体不是特别理解这是啥。
[PPP简介]
PPP是在串行连接上运行IP以及其他网络协议的一种机制,串行连接可以是使用modem以及电话线所造出的连接(当然也包括ISDN数字线路) ,也可以是直接的串行连线(使用null- modem缆线)。
使用PPP,可以把Linux PC连接到一台PPP服务器上并访问该服务器所连接的网络资源,其效果如同用户直接连接在该网络上一样,也可以把Linux PC设置为一台PPP服务器,这样一来其他电脑就可以拨入该电脑并访问此LAN 里的资源。因为PPP是一种对等( peer- to- peer )的系统,因此也可以使用两台Linux PC上的PPP把网络连接在一起,或是把LAN 连接到Internet上。
在PppRouter例程的ReadMe文件中使用了以下命令:
$ pppd debug passive noauth nodetach 115200 /dev/ttyUSB0 nocrtscts nocdtrcts lcp-echo-interval 0 noccp noip ipv6 ::23,::24
$ ifconfig ppp0 add fec0::100/64
[命令]
名称
pppd - 点对点协定隐形程式
(Point to Point Protocol daemon)
语法
pppd [ 选项 ] [ 终端设备名称(tty_name) ] [ 速率 ]
描述
这个点对点协定 (PPP) 提供一种在点对点串列线路上传输资料流 (datagrams) 的方法。PPP 是由三个部份所组成的:一个在串行线路上封装(encapsulating)资料流的方法,一个可延伸的连结控制 协定(Link Control Protocol: LCP),以及一些用来建立并配置不同网路层协定的网路控制协定(Network Control Protocols: NCP) 封装的机制(scheme)是由核心中的驱动程式码来提供。 pppd 提供基本的 LCP ,验证(authentication)的支援, 以及一个用来建立并配置网际网路协定 (Internat Protocol (IP) )(叫做 IP 控制 协定,IPCP)的 NCP 。
范例
在这个最简单的案例中,你可以连接两台电脑的串列埠并发出一行指令像是:
pppd /dev/ttya 9600 passive
[PPP相关模块及结构]
By:霜月孤鸟
2016.4.27