嵌入式操作系统
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.5 实例:一个简单的IP路由器的实现

1.5.1 概述

下面我们以一个IP路由器的实现为例,来说明如何在嵌入式操作系统环境下开发一个具体的应用。IP路由器是IP网络的核心部件,完成不同IP网段之间IP报文的转发工作,比如,一个IP地址202.16.0.0,掩码是24位的网段,与另外一个IP地址210.92.0.0,掩码是24位的网段之间进行互通,就需要用到路由器,因为这两个网段不属于同一个网段(IP地址跟掩码进行与运算,得到网络地址,若网络地址相同,则是同一个网段,否则不属于同一个网段,不同网段之间的通信,需要经过路由器进行转接)。其中,路由器中维护一个重要的数据结构作为转发的依据,这个数据结构就是路由表。一旦一个IP报文从路由器的一个接口到达,路由器会就接收这个IP报文,并从IP报文头中得到其目的IP地址,然后根据目的IP地址查找路由表,查找的结果一般是另外一个接口,这样路由器就会把这个IP报文从查找到的接口发送出去,从而完成IP报文的路由功能。

路由表是由路由协议计算出来并实时更新的(也可以通过手工配置方式形成),这样在路由器上,就必须有路由协议进程在运行才能完成路由表的维护工作。IP路由器的功能非常复杂,上面介绍的只是路由器主要功能的一个概述,如果读者对路由器感兴趣,可参考数据通信相关的书籍。掌握路由器的工作原理及路由协议,是深入理解数据通信网络的基础。