嵌入式Web技术因其跨平台的特点得到了广泛的应用[1]。用户只需要登录浏览器即可实现对嵌入式设备状态的查看与控制。随着物联网技术的发展,网络地址的需求量剧增,未来IPv6将在嵌入式领域发挥巨大的作用[2]。然而,目前IPv4技术还无法完全被新的IPv6技术所取代,这使得现有的应用程序必须同时兼容IPv4地址与IPv6地址。如何在嵌入式Web服务器中同时使用IPv4地址和IPv6地址则成为了嵌入式领域中的一个重要问题[3]。本文从实际应用出发,设计了一个能够同时支持IPv4与IPv6双协议栈的嵌入式Web服务器。
基本原理
嵌入式Web服务器的基本原理是:用户在浏览器中输入嵌入式设备的IP地址,随后浏览器向嵌入式Web服务器发出HTTP请求,嵌入式Web服务器针对该请求作出HTTP响应,最后浏览器对响应的内容进行解析,以网页的形式呈现给用户。嵌入式Web服务器原理如图1所示。
HTTP请求和响应的报文是通过网络进行传输的。浏览器向Web服务器请求网页数据的具体流程如图2所示[4]。
浏览器和Web服务器之间是通过TCP协议进行通信的,TCP协议是一种面向连接的、可靠的、基于字节流的传输层通信协议。Web服务器监听特定的网络端口,当浏览器向Web服务器发出请求时,两者之间通过TCP协议建立连接,然后传输HTTP请求报文和HTTP响应报文。Web服务器实际上也是一个TCP服务器,典型的TCP服务器的架构如图3所示。
针对现代农业物联网技术的应用需求,为了使系统中的嵌入式Web服务器在支持IPv4地址访问的基础上,还能支持IPv6地址的访问,本文按照图3所示的典型TCP服务器架构设计了一个同时支持IPv4地址与IPv6地址访问请求的嵌入式Web服务器,具体实现过程如下。