PPP拨号和NDIS拨号的区别:

参考网址:

https://blog.csdn.net/xingyuan1hao/article/details/89279730

https://blog.csdn.net/opencpu/article/details/8050139

https://bbs.csdn.net/topics/390677893?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

大家好,最近公司在做4G相关的产品,拿到手的4G模块厂家说要通过NDIS方式上网,以前做3G的时候都是通过PPP走modem来做的,这个NDIS方式上网有点陌生,在Windows或者linux下安装完驱动之后本地连接会多一个网卡出来。
现在的问题是厂家的拨号软件还没出来,就算出来的话估计对LINUX的支持也很少,有对NDIS这一块比较了解的可否给点参考建议,如何通过NDIS模式来进行上网。

例如:在linux下3G走modem可以用PPPD来做,windows下3G走modem可以建立PPP拨号连接来完成。

总结:

1、PPP是3G之前包括3G针对modem的产物,在linux下3G走modem可以用PPPD来做,windows下3G走modem可以建立PPP拨号连接来完成。

2、NDIS是从4G开始针对ECM虚拟网卡的产物,在linux下4G走ECM可以用dhcpd来做为应用层,windows下4G走ndis协议拨号可以建立连接。

Modem拨号和NDIS拨号的以太网帧格式比较:
Modem拨号,PPP属于数据链路层协议,它使用HDLC协议格式来封装数据帧,而在数据流中如果遇到
0x7D,则表示后面的数据是控制信息,当它出现的时候,设备需从数据模式切换成控制模式,病处理
这些信息,设备需要对每一个字节的数据进行解析,并作出相应的处理,占用较多的资源。

NDIS拨号,Ethernet协议是通过使用不同的以太网帧的包头来区分控制信息和数据信息,一个以太网帧
的包头大小是固定的14字节,所以对于每一个帧,设备只需要处理其包头即可。

ppp通过pppd进行拨号,NDIS通过gobinet进行拨号。分别采用各自不同的原理,进行网络通信拨号。

NDIS介绍:

NDIS(Network Driver Interface Specification)是网络驱动程序接口规范的简称。它横跨传输层、网络层和数据链路层,定义了网卡或网卡驱动程序与上层协议驱动程序之间的通信接口规范,屏蔽了底层物理硬件的不同,使上层的协议驱动程序可以和底层任何型号的网卡通信。 NDIS为网络驱动程序创建了一个完整的开发环境,只需调用NDIS函数,而不用考虑操作系统的内核以及与其他驱动程序的接口问题,从而使得网络驱动程序可以从与操作系统的复杂通讯中分离,极大地方便了网络驱动程序的编写。另外,利用NDIS的封装特性,可以专注于一层驱动的设计,减少了设计的复杂性,同时易于扩展驱动程序栈。

NDIS支持三种类型的网络驱动程序:

NDIS网卡驱动程序(NICdrivers) 网卡驱动程序是网卡与上层驱动程序通信的接口,它负责接收来自上层的数据包,或将数据包发送到上层相应的驱动程序,同时它还完成处理中断等工作。

NDIS中间驱动程序 (InterMediateProtocolDrivers):中间驱动程序位于网卡驱动程序和协议驱动程序之间,它向上提供小端口(Minport)函数集,向下提供协议(protocol)函数集,因此对于上层驱动程序而言,它是小端口驱动程序。对于底层的驱动程序,它是协议驱动程序。

NDIS协议驱动程序 (Upper Level Protocol Drivers):协议驱动程序执行具体的网络协议,如IPX/SPX、TCP/IP等。协议驱动程序为应用层客户程序提供服务,接收来自网卡或中间驱动程序的信息。

NDIS可以划分成应用层(DHCP client/server)、传输层(UDP)、网络层(ARP/IP)、链路层(Ethernet II)、物理层(USB)。
NDIS物理层:
   ECM(Ethernet Control Model)是标准的NIC(网络接口卡)设备接口,与Ethernet协议相对应。

NCM(Network Control Model)是ECM协议的改进版,将多个以太网包组成一个NTB包在USB总线上传输,提高宽带利用率。

ECM/NCM就是NDIS的物理层

PPP拨号和NDIS拨号的区别:相关推荐

  1. ecm、ppp、ndis 拨号

    RmNet和CDC-ECM区别:更像是两种拨号方式的区别,RmNet获取公网IP,ECD-ECM获取局域网IP. 在高通平台上,rmnet driver 和标准的CDC-ECM是有区别的,rmnet ...

  2. sim7600ce 拨号上网测试_树莓派系列教程:通过SIM7600 4G模块NDIS拨号

    1.说明 本章将介绍Raspberry Pi如何采用SIM7600 4G模块进行无线上网,并描述其相关细节,本文先讲解NDIS拨号. 2.采用4G模块的上网方式有哪些? Raspberry Pi通过S ...

  3. RAS 和 NDIS 拨号模式

    1.RAS 是利用虚拟的调制解调器来拨号,是2G 3G时候使用的拨号方式. RAS是典型的拨号实现,需要利用Windows mobile的PPP协议栈实现连接配置和建立 rndis,Remote Ne ...

  4. NDIS拨号流程+dhcp

    个人理解:NDIS驱动是在usb串口上,NDIS拨号上,是连接成功,后续是DHCP方式自动获取IP,也可以采用PPP方式获取IP. 1.RAS 是利用虚拟的调制解调器来拨号,是2G 3G时候使用的拨号 ...

  5. ndis拨号软件 linux,嵌入式linux系统下NDIS拨号

    一.USB端口信息 U8300C模块USB会枚举出6个逻辑端口,他们的枚举顺序.端口功能.端口名称如下表所示: 二.驱动集成 1.内核配置: make menuconfig 到内核时: Device ...

  6. 拨号ECS和拨号VPS的区别

    什么是ECS,ECS是云服务器的简称.最大的特点就是可弹性扩展且无需提前采购硬件设备.简单的说: 可根据业务需要,随时创建所需的云服务器ECS数量. 而且可以根据项目的业务需求随时对某台ECS云服务器 ...

  7. NDIS和Rndis区别

    NDIS和Rndis区别:NDIS是一种规范,定义了网络驱动接口的api.RNDIS是一种技术,是将TCP/IP封装在USB报文里,实现网络通信. 1,RNDIS是指Remote NDIS,基于USB ...

  8. RmNet,CDC-ECM ,NDIS,RNDIS区别

    RmNet和CDC-ECM区别:更像是两种拨号方式的区别,RmNet获取公网IP,ECD-ECM获取局域网IP. 在高通平台上,rmnet driver 和标准的CDC-ECM是有区别的,rmnet ...

  9. 演示:PPPOE服务端、拨号路由器、拨号计算机的配置

    演示:PPPOE服务端.拨号路由器.拨号计算机的配置 对应演示录像:http://edu.51cto.com/lecturer/user_id-7648423.html 演示目标:完成如下演示目标. ...

最新文章

  1. 马斯克入选美国工程院院士,张宏江博士入选外籍院士
  2. 展开被 SpringBoot 玩的日子 《 二 》 WEB 开发
  3. 浅谈 Math.BigMul 方法
  4. 购买绝版书的好地方——淘宝
  5. cocos2dx 引入 libpomelo库
  6. 区块链学堂(7):Geth 搭建私有网络-实战
  7. android7.0wine乱码,Wine1.7+QQ6.4+处理中文乱码
  8. 如何利用多核CPU来加速你的Linux命令
  9. 图解+笔记-4.2.1 字符串获取操作、字符串合并和重复操作
  10. Atitit 从api的使用区分工程师级别 高级 中级 初级工程师常使用的api与框架类库 目录 1. 初级工程师使用的api和框架类库ssm 1 2. 中级工程师常使用的api和框架类库 1 3.
  11. php 截取字符串的方法,php截取字符串方法有哪些
  12. 永洪BI-报表生成URL
  13. PhoneGap 外掛程式開發指南
  14. 照相机和眼睛成像的基本原理
  15. quarkxpress是什么软件? | QuarkXPress 2021(专业排版设计软件)官方中文版V17.0.1 | 排版设计用什么软件?
  16. 【渝粤教育】国家开放大学2018年秋季 2517T社区工作 参考试题
  17. 计算机资源管理器经常停止运行,windows资源管理器已停止工作一直弹出来彻底解决方案...
  18. 一次从 APP 逆向到 Getshell 的过程
  19. ObjectMapper实现将Java对象转为json字符串
  20. 手游联运平台是什么?

热门文章

  1. 你需要这样一个Ros软路由—— 路由器+外网+一号通ip线路=动态ip的WiFi信号
  2. 化学计算机专业就业方向,女生就读数学专业、计算机类或化学专业怎么样?考研方向,就业前景?...
  3. 楼市回暖有赖于经济复苏
  4. Python数据科学环境配置
  5. mini2440硬件篇之IIC
  6. 深拷贝和浅拷贝的几种方法
  7. oracle dbms是什么意思,什么是Oracle特殊包和DBMS?
  8. Flask框架(一)flak视图和URL
  9. 我如何为我的第一个自由客户构建第一个React Native应用程序
  10. 俄罗斯android课程设计,基于Android的俄罗斯方块的设计与实现毕业设计报告.docx...