欢迎光临
我们一直在努力

rndis usb驱动,rndis驱动xp系统

默认建议的接口都是ethernet的(会包含eth头部),但对于RNDIS又定义了一层44字节的封包头部需要插入了报文中(cdc-ecm没有),然后再提交给usb处理

即对于驱动来说,

cdc-ecm基本属于透传模式,tx报文直接透传给usb;rx报文透传给CPU

rndis需要增加44字节头部封装,tx报文在skb中扩展头部给usb;rx报文剥掉头部给CPU

cdc-ncm从驱动上看也是有自己的头部扩展

gobinet有些差异,gobinet可以配置2种模式(rawIPMode,即是否带有以太网头部),如果是rawIPMode,则

tx报文在skb中剥掉eth头部给usb;rx报文增加eth头部给CPU

对于剥掉头部的动作,在实现上只是指针偏移;但是增加头部的动作则会因为skb数据区域预留空间不够导致报文重新分配skb(skb_copy),这个动作比较容易降低性能美国高防vps并且可能触发报文拥塞导致丢包

从传输效率上来说:cdc-ecm和gobinet no-rawIPMode模式的效率更高(透传)

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。