④实现简单的应用层协议(如TELNET/SNMP协议),利用远程终端可以登录到运行嵌入式IPv6协议栈的单片机系统,以及进行简单的控制和管理操作。

嵌入式IPv6协议栈的分层与模块化设计

嵌入式IPv6协议栈采用分层结构进行没计,将整个协议栈(包括TCP及上层应用)分为4个层次:事件触发接口层、TCP/IP网络协议层、NIC网络接口核心层和网络设备驱动接口层。在协议栈的工作过程中使用上层调用相邻层的函数来实现相应的功能。

各层的功能简述如下:

①事件触发接口层。该层对应于TCP/IP模型的应用层协议(OSI模型的高层协议),主要功能是定义网络数据的格式以及网络的应用。

②TCP/IP网络协议层。该层对应于TCP/IP模型的传输层协议和网络层协议(OSI模型的3、4两层),主要功能是定义数据如何传输到目的地的。使用TCP协议在两台主机之间建立端到端的连接,保证可靠的传输;IP协议进行路由选择和基于IP的寻址。

③NIC网络接口核心层。该层是整个网络接口的关键部位,其上层是具体的网络协议,下层是驱动程序。它为上层提供统一的发送接口,屏蔽各种各样的物理介质;同时负责把来自下层的包向合适的协议发送。

④网络设备驱动接口层。该层是分层结构的最底层,其主要功能是控制具体物理介质,从物理介质接收和发送数据,并对物理介质进行诸如最大数据包之类的各种设置。

结合对嵌入式IPv6协议栈设计要求和分层结构的全面分析,将设计实现划分为4个模块。

各模块的功能简述如下:

①网络接口核心模块。该模块为网络协议提供统一的发送接口,屏蔽各种各样的物理介质;同时负责把来自下层的包向合适的协议配送。

②事件接口模块。嵌入式IPv6协议栈没有采用BSD套接口,而是采用了事件驱动接口。当特定TCP/IP事件发生时,将调用应用程序;而当应用程序产生输出数据时,也通过此接口发送出去。

③SNMP网管模块。该模块负责获取IPv6无线传感器网络节点的相关MIB信息。

④配置最示调试命令模块。该模块用于提供用户配置和调试的界面,包括配置IP地址、子网掩码、默认网关和MAC地址等。在程序正常运行前,由超级终端进入配置模式,由用户进行配置管理。


相关内容