Linux中的pppd

    在学习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相关模块及结构]

Linux中的pppd_第1张图片


By:霜月孤鸟

2016.4.27

你可能感兴趣的:(嵌入式开发环境及工具)