4、 LwIP协议栈规范翻译——流程模型

4、流程模型

       协议实现的流程模型描述了系统被划分为不同的流程的方式。用于实现通信协议的一个流程模型是让每个协议作为一个独立的进程运行。有了这个模型,严格的协议分层被强制执行,并且协议之间的通信点必须严格定义。虽然这种方法有它的优点,比如可以在运行时添加协议,理解代码和调试通常也比较容易,但也有一些缺点。正如前面所描述的,严格的分层并不是实现协议的最佳方式。此外,更重要的是,对于每一层都要交叉,必须进行上下文切换。对于传入的TCP段,这将意味着三个上下文切换,从网络接口的设备驱动程序到IP进程,到TCP进程,最后到应用程序进程。在大多数操作系统中,上下文切换相当耗费性能的。


        另一种常见的方法是让通信协议驻留在操作系统的内核中。在通信协议的内核实现中,应用程序进程通过系统调用与协议进行通信。通信协议没有严格地划分,但是可以使用跨越协议层的技术。


       LwIP使用一个流程模型,其中所有协议都驻留在单个进程中,因此与操作系统内核分离。应用程序可能驻留在lwIP进程中,或者处于单独的进程中。通过对应用程序与lwIP共享一个进程的函数调用,或者通过一个更抽象的API的方法,可以通过对应用程序的调用来实现ip栈和应用程序之间的通信。

猜你喜欢

转载自www.cnblogs.com/liqinghan/p/10018567.html