实现 EC20 4G模块PPP拨号上网

本文详细介绍了4G模块PPP拨号上网的原理,包括PPP协议、pppd和chat的关系及其数据收发流程。pppd是PPP协议的用户空间进程,chat用于与GSM模组建立会话。拨号上网涉及硬件准备、软件安装和拨号脚本的编写。拨号成功后,pppd模拟出虚拟网卡ppp10,可用于网络连接。
摘要由CSDN通过智能技术生成


前言

在学习4G拨号前,我们要先把ppp/pppd/chat关系及数据收发给捋清楚了。为了加深映像,特此写下这篇博客


提示:以下是本篇文章正文内容,下面案例可供参考

一、ppp/pppd/chat关系及数据收发

1、协议相关介绍

1.1 什么是PPP

PPP(Point- to-Point Protocol点到点协议)是为在同等单元之间传输数据包这样的简单链路设计的链路层 协议。这种链路提供全双工操作,并按照顺序传递数据包。设计目的主要是用来通 过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共通的解决方案。

  1. 链路控制协议 LCP(Link Control Protocol);
  2. 网络控制协议 NCP(NetworkControlProtocol);
  3. 认证协议:口令验证协议PAP(PasswordAuthenticationProtocol)和挑战握手验证协议CHAP(Challenge-HandshakeAuthentication Protocol)。
    在这里插入图片描述
    在这里插入图片描述
PPP认证
  1. LCP协商,协商内容包 括除1661中所定义的选项之外,还要考虑OA和OE中规定的内容。
  2. LCP协商过后就到了Establish阶段,开始PAP或CHAP认证。PAP为两次握手认证,口令为明文。PAP认证过程如下:发送用户名同口令到认证方,认证方查看是否有此用户,口令是否正确,然后发送相应的响应。CHAP为三次握手认证,口令为密文(密钥)CHAP认证由认证方发送一些随机产生的报文,交给被认证,被认证方用自己的口令字用MD5算法进行加密,传回密文,认证方用自己保存的口令字及随机报文用MD5算法加密,比较二者的密文,根据比较结果返回响应的响应。
  3. 认证成功即进行Network阶段协商(NCP),在IP接入中主要是IPCP协商(如IP地址和地址的协商等)。任何阶段的协商失败都将导致链路的拆除。
  4. 协商成功,则链路建立成功,可以开始传输网络层数据报文。

1.2 什么是PPPD

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

在pppd里,每种协议实现 都在独立的C文件中,它们通常要实现protent接口,该接口主要用于处理数据包,和fsm_callbacks接口,该接口主要用于状态机的状态切 换。数据包的接收是由main.c: get_input统一处理的,然后根据协议类型分发到具体的协议实现上。而数据包的发送则是协议实现者根据需要调用output函数完成的

1.3 什么是chat

chat 程序是一个自动聊天程序,程序非常简单,chat根据配置的信息主动向stderr 输出信息,同时,从stdin获得期望输入。chat程序输入端口为stdin,输入端口为stderr。所以,如果使用本程序进行拨号上网时,必需将stdin与stderr映射到对应的串口。

1.4

  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值