4G转以太网用到什么技术原理

想要实现一个4G转以太网的设备,使用的是stm32+4G模块+phy芯片

期望实现的功能是 :原本不能访问公网的电脑通过网线连接设备后,电脑能访问公网

现在的问题是
一、MCU和4G模块通过串口通信,一般的MCU是通过AT指令和4G模块进行交互的,进行网络通信一般是知道要和什么ip进行通信,通过AT指令建立TCP连接后发送数据,但是想这个要实现4G数据转网口,网口数据转4G,根本就确定不了电脑端要发来什么样的数据(比如进行TCP连接,http请求等,AT指令模式下有相关的AT指令能操作),显然用不了AT指令的方式和模块进行通信,我是要对4G模块进行Ppp拨号么,然后把以太网口来的数据帧直接发给模块

二:MCU和以太网口:一般的应用都是路由器接入设备,路由器给设备分配ip的,然后本设备能上网,现在是反过来了,本设备要让其他设备能上网,那本设备是不要要给其他接入的设备分配ip,那ip要怎么分配

三:以太网口的数据和模块数据的转发:怎么实现对以太网的数据转发到4G,网口出来的数据帧应该是链路层的数据,数据带有MAC地址IP地址等,我是直接把这一串数据转发给4G模块么?

总体系统框图如下:

img

一, 肯定不能用AT,PPP可以,拨号后作为一个网络连接使用,但更方便的是RNDIS接口模式,4G模块自己实现了拨号,同时通过一个RNDIS接口提供给下面的设备用
二,需要实现DHCP服务器功能。
三,参考NAT原理。
如果是做产品,建议用路由器(比如MT7620)+4G模块,STM32做这个,成本高,性能低。
用支持RNDIS的4G模块接到路由,在路由器上,它的就相当于一个网口,作为路由的WAN口使用。

当然如果你只是做着玩,一定要用STM32做,也是类似的,用USB接RNDIS接口的设备,STM32驱动RNDIS,是有现成驱动的。
然后你得用STM32实现路由器的NAT转发功能,分配IP使用DHCP服务器,这个也要STM32去实现。

实际上,如果你只是给一台电脑用,把具有RNDIS接口的4G模块直接插到电脑USB上就可以了。

比如移远ec20模块就可以(不是广告)
有些4G模块本身就带了以太网接口。