嵌入式系统的网络互连技术
扫描二维码
随时随地手机看文章
由于越来越多的设备需要通过Internet进行通信或者控制,因此互连和安全功能成为除操作系统之外,设计者们所面临的主要设计需求
大部分设计者在设计嵌入式系统的时候都采用传统的设计步骤:首先选择RTOS(实时操作系统),然后在此基础上构建软件应用。至于其他组件,例如网络协议,再根据它们与所选的RTOS的兼容性进行选择。这种选择顺序对于今后的嵌入式系统设计就不太合适了。
嵌入式设备的互连与移动特性日益突出,从而增强了对互连和安全性的要求。今天,没有哪一个系统在设计的时候不考虑如何与其他系统进行互连。从家用报警设备、汽车监控设备到工控设备,嵌入式系统的OEM通过IP互连技术,为广大用户提供性能更强大、可用性更佳的产品。
过去,人们在选择操作系统的时候需要仔细评估该操作系统的优缺点以及可用的开发工具。设计工程师的工作就是确保所选的操作系统胜任最大范围的工作,并且满足未来工程开发的需要。
现在,由于越来越多的设备需要通过Internet进行通信或者控制,因此互连和安全功能成为除操作系统之外,设计者们所面临的主要设计需求。嵌入 式系统的工程师们在设计的前期就要仔细选择互连和安全协议栈,确保TCP/IP协议栈和相应的安全与移动特性能够在该嵌入式系统的生命周期内,满足大部分 功能升级和设计更新的需要。
例如,对于公司和政府的办公室、工厂和研发实验室内遍布的网络而言,通过Internet(或者Intranet、VPN)通信的设备越多,这些设备对用户就越方便实用。
但是,如果黑客通过无线设备在实验室高墙之外进行破坏行为,我们该如何应对呢?尤其对于政府和军队系统来说,这种破坏的后果可能是无法挽回的。
大量嵌入式设备用于通信的有线和无线网络规模不断增长,迫切需要可靠的互连和安全性能保证。漏洞百出的网络安全对于嵌入式系统设计的前端就意味着极大的风险。
根基:TCP/IP栈
正如RTOS在传统上是大多数嵌入式系统的基本组成模块一样,TCP/IP栈是网络互连与安全的基础。TCP/IP栈不仅负责设备之间的通信,而且是很多其他网络互连与安全模块赖以存在的核心软件。
TCP/IP栈实质上是层次化结构的软件模块,其实现的功能在于通过Internet传输信息。TCP/IP是一个误导的说法,因为TCP和IP仅 仅是TCP/IP栈用于通信的众多协议中的两种协议。栈的规模可大可小,小的例如移动电话和PDA,又大又复杂的例如那些处理跨国公司VPN通信的栈。
图1 与Interpeak的IPNET类似的TCP/IP协议栈,其中集成的组件
支持多种网络互连功能、IPv4/IPv6和多种安全功能
图1给出了一种集成了多个组件的协议栈。这个例子中的协议栈具有高度的安全性,能够实现无缝移动,支持IPv4和新型的IPv6协议。网络和传输层构成了这个栈的核心。
网络层负责消息处理,并把逻辑地址和名字转换成物理地址,传输层确保数据的完整性。这一层采用两种基本的协议:传输控制协议(TCP)和用户数据报 协议(UDP)。当传输出错时,TCP负责重新提交数据,并使主机同时保持多个连接。UDP是一种数据报服务,当不需要纠错的时候,UDP能够增强传输层 的网络流量。
复杂性:新的挑战
过去,网络互连是一个次要因素,很多系统设计者通常构建自己的网络协议栈,或者干脆简化这一工作。设备之间的通信通常比较简单,并且局限于很小的范围之内。
而现在,大量的设备都通过Internet实现了互连,互连协议栈变得越来越复杂。错综复杂的互连与安全协议成倍增长,全球化的网络标准也在快速发展,以应对Internet上大量设备相互通信而带来的最新安全挑战和困难。
除此之外,Internet出现的重大变化就是从目前的IPv4协议转变为IPv6协议。IPv4支持大约40亿个地址,同时人们还想出了一些办 法,在“私有”网络中开辟额外的地址空间。IPv6支持 3.4×1038个地址,也就是说足可以为地球上每平方毫米提供6.70×1017个地址。随着IPv6的逐步普及,很多设备需 要能够同时支持IPv4 和IPv6的通信。
根据Ipv6所需的设备类型和互连特性,从移动IP到QoS、虚拟路由、Ipv6管道以及越来越多的新型技术都需要更高的性能和标准兼容性,这些技术将随着网络系统功能的增长而同步发展。
对于大多数应用来说,现在的问题不再是构建自己的TCP/IP栈,而是选择一个合适的协议栈。我们将面临使用多个RTOS的挑战。在这种情况下,网络互连和安全协议栈需要移植到多个RTOS上。我们必须在系统开发的早期就意识到存在这种需求的可能性。
在某种程度上,嵌入式系统设计的发展道路与PC的发展之路非常类似。在20世纪80年代早期,PC的主要作用就是处理电子数据表和文字处理,人们都 是根据这些功能来选择PC。今天,许多终端用户需要通过Internet快速地传输数据,还需要具有多媒体功能。字处理和电子数据表的计算都成为了附属功 能。
类似地,在嵌入式领域,我们非常依赖十几年来一直沿用的各种RTOS的性能和可靠性。但是,我们必须转变注意力,要认识到:在网络互连和安全性问题上的任何折中都会损害整个嵌入式系统的价值。因此,应对网络互连和安全性的挑战成为系统设计需要考虑的首要问题。