|
stm3利用enc28j60模块,通过路由器与远程主机通信时数据封装的问题,有些迷惑,不知道这样理解对不对,请大家帮忙
1.stm32给远程主机发送数据:比如发送一个数据0x23
首先:stm32利用uip协议将数据0x23封装成相关的IP数据包,通过spi接口将该数据包传给ENC28J60模块
其次:ENC28J60利用硬件将IP数据包封装成相关MAC帧,通过网线传给路由器
再次:路由器将以太网模块发来的MAC帧封装成相关IP包给远程主机
uip协议作用:将发送给网络的数据通过协议栈封装成IP数据包,或者将以太网模块(ENC28J60)发来的MAC帧按照协议向上层解析得到数据
以太网模块作用:将stm32通过uip协议封装的IP数据包封装成MAC帧,或者将路由器发来的IP数据包封装成MAC帧
不知道以上理解对不对,由于基础水平太差,看原子哥的以太网程序有些困难,所以先向大家请教数据封装过程的问题,之后再一点一点弄懂,希望大家不吝赐教 |