​​​​​​PPPoE拨号流程_曾梦想仗剑走天涯-CSDN博客_pppoe拨号

4.Linux中的PPPoE拨号守护进程(pppd:Point-to-Point Protocol Daemon)

Linux 内核 include/uapi/linux/if_pppox.h

中定义了

{PADI_CODE,PADO_CODE,PADR_CODE,PADS_CODE,PADT_CODE}

struct pppoe_tag/pppoe_hdr;

PPP/PPPoE 实现代码在 /drivers/net/ppp/ 目录下,pppoe.c 中实现了 pppoe_connect、pppoe_xmit、pppoe_recvmsg 等接口。

pppd 是一个后台服务进程(daemon),是一个用户空间的进程,所以把策略性的内容从内核的PPP协议处理模块移到 pppd 中是很自然的事了。pppd 实现了所有鉴权、压缩/解压和加密/解密等扩展功能的控制协议。

pppd只是一个普通的用户进程,它如何扩展PPP协议呢?这就是pppd与内核中的PPP协议处理模块之间约定了,它们之间采用了最传统的内核空间与用户空间之间通信方式:设备文件。

设备文件名是 /dev/ppp。通过read系统调用,pppd可以读取PPP协议处理模块的数据包,当然,PPP协议处理模块只会把应该由pppd处理的数据包发给pppd。通过write系统调用,pppd可以把要发送的数据包传递给PPP协议处理模块。通过ioctrl系统调用,pppd可以设置PPP协议的参数,可以建立/关闭连接。

PPPoE拨号流程(转载)相关推荐

  1. linux抓包pppoe,pppoe抓包流程和拨号流程

    pppoe拨号流程 PPPoE(Point to Point Protocol over Ethernet,基于以太网的点对点协议)的工作流程包含发现(Discovery)和会话(Session)两个 ...

  2. ADSL的PPPOE拨号客户端上的ppp authentication pap “callin”的正确理解

    ADSL的PPPOE拨号客户端上的ppp authentication pap "callin"的正确理解 对callin参数的理解一定要注意,很容易单让初学者通过"中国 ...

  3. 调试H3C MSR 20-20 PPPOE拨号

    在实际工作中一般很少用PPPOE来拨号,企业的网络都会采用静态的IP地址,因为企业都会有自己的门户网站.OA.邮箱,都会去申请静态的IP地址,出口都会安装防火墙,下面主要讲一下PPPOE具体的配置思路 ...

  4. linux中的pppoe拨号上网

    实例:(linux中的pppoe拨号上网) ① 安装软件:把下载的pppoe传到linux下的/root目录下,在终端对软件进行拆包: ll:查看目录,能看见软件包的名字 tar -zxvf rp-p ...

  5. pfSense修改PPPoE拨号总数

    pfsense的PPPPoE默认拨号总数是255,对一些使用者来说不能满足要求,可通过修改PHP文件的方式修改拨号总数. 防火墙开启SHELL ,用WinSCP登陆进系统,找到/usr/local/w ...

  6. 关于Ubuntu 使用PPPoe拨号上网,导致wifi没有错误。

    因为宿舍网是拨号上网, 刚从 温都死 转向Ubuntu(LINUX桌面版)基本上陌生的操作环境,所以百度一下 Ubuntu怎么拨号上网. gedit pppoeconfig  终端输入,就可以操作配置 ...

  7. 双机热备份VRRP当接入方式为PPPOE拨号的图文教程

    [原创]双机热备份VRRP当接入方式为PPPOE拨号的图文教程<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:of ...

  8. 动态ip、静态ip、pppoe拨号的区别

    转载文章,仅供参考: 动态ip.静态ip.pppoe拨号的区别 - 电子发烧友网电子发烧友为您提供的动态ip.静态ip.pppoe拨号的区别,在设置无线路由器上网时,上方方式有pppoe拨号(宽带拨号 ...

  9. 解决 openwrt/Lede pppoe拨号频繁掉线的问题

    我自己的软路由是J1900刷的lede,近期电信pppoe拨号频繁掉线,排除了网线,更换了光猫,最终锁定软路由为的问题.目前才用了下面的方法,尝试解决该问题 转载自http://ninecmd.com ...

最新文章

  1. Python和NLTK自然语言处理
  2. v深入研究Clang(四) Clang编译器的简单分析
  3. asp mvc @Html.CheckBox(sel,true) 往后台传值问题
  4. 阿里巴巴启动2017全球创客大赛 四大洲共设25个赛区
  5. 6-Qt6对象树及内存管理
  6. 手把手教你插入数学公式,妈妈再也不用担心我写不了论文了
  7. 西门子stl语言指令_STEP7项目的JL跳转指令你会用吗?
  8. 多重信号辅助音频分离,让你在嘈杂环境也能指哪听哪儿
  9. python为何排名越来越前_为何python现在越来越多的人在用了?
  10. DevExpress GridView 添加和设置右键菜单
  11. python 浏览器自动化 弹窗控制_selenium 网页自动化 - 在访问一个网页时弹出的浏览器窗口,我该如何处理?...
  12. c/c++入门教程 - 2.4.6 继承、公共继承、保护继承、私有继承、virtual虚继承(概念、语法、方式、构造和析构顺序、同名成员处理、继承同名静态成员处理、多继承语法、菱形继承、钻石继承)
  13. Windows核心编程_远线程方式实现Dll注入
  14. Android-图片压缩
  15. 锐捷ruijie无线控制器AC登录说明
  16. Oracle IN 与 DISTINCT
  17. 大型综合股票金融财经门户网站模板源码
  18. 电子计算机制作探测,金属探测器DIY,你真正了解过多少?
  19. Grating Period and Grating Constant(光栅周期与光栅常数)
  20. Maven工程错误 之 Failure to transfer org.codehaus.plexus:plexus-archiver:pom:1.0

热门文章

  1. 用组策略统一域中所有客户端桌面
  2. 云计算连涨了9个季度背后,迅雷完成了一次「长征」
  3. 屏蔽浏览器f1帮助,启用自己的帮助
  4. jai_codec-1.1.3
  5. 用HJ6302模块进行S7-200Smart与G120XA系列变频器进行通讯
  6. XFS,让新闻“真”起来
  7. linux 显卡驱动 在哪里,linux下如何看我的显卡驱动是否装好了
  8. 关于java软文_2018年最好的微商护肤品朋友圈软文(文案)
  9. B2c购物网(一) 数据库关系图
  10. host速度 mtk usb_mtk-usb代码分析之枚举过程