无线USB网卡Rndis设备

时间:2021-05-15 16:10:58

首先说明几个概念:

无线网卡:无线网卡就是不通过有线连接,采用无线信号进行连接的网卡。无线网卡根据接口不同,主要有PCMCIA无线网卡、PCI无线网卡、MiniPCI无线网卡、USB无线网卡、CF/SD无线网卡几类产品。

USB无线网卡:一种以内置无线WIFI芯片,并通过USB接口传输的网卡,连接电脑USB接口,安装完成驱动以后,电脑网卡列表中会出现新的无线网卡设备。通过USB无线网卡上网。

RNDIS:Remote Network Driver Interface Specification,既是RemoteNDIS,既是远程网络驱动接口规范。基于USB实现RNDIS实际上就是TCP/IP over USB,就是在USB设备上跑TCP/IP,让USB设备看上去像一块网卡。

所以USB 无线Rndis设备就是通过USB接口传输的网卡,该网卡采用的驱动协议是Rndis。本文的无线指的是移动数据网络如2G、3G、LTE等。基带芯片可以通过USB连接PC做无线路由器使用,若是智能手机做PC无线路由则需要应用处理器支持bypass功能。

USB Rndis设备枚举成功后,主机上的Rndis驱动会与设备进行一连串的控制命令交互以获取设备的网络连接类型、linkespeed、media state等(其中linkespeed、media state的交互会周期性的不断进行),当media state connected后(向运营商注册成功并建立了数据会话)主机即通过DHCP服务向服务器申请IP地址,这时候的无线USB网卡就相当于一个DHCP服务器代理,最终将从运营商那获取的IP地址、DNS配置等分发给PC。其后PC通过ARP协议验证该IP地址的有效性,若有效则接收该IP地址,连接上了网络。

DHCP和ARP的过程请参考DHCP和ARP分析。

DHCP:深入剖析DHCP服务IP地址自动分配原理

ARP:ARP概述及ARP工作原理

另外Wireshark的学习请参考(来自伯乐在线,CSDN不允许插入链接)

一站式学习Wireshark(一):Wireshark基本用法

一站式学习Wireshark(二):应用Wireshark观察基本网络协议

一站式学习Wireshark(三):应用Wireshark IO图形工具分析数据流