发明名称 一种实现嵌入式路由器的方法
摘要 本发明公开了一种实现嵌入式路由器的方法。该方法包括如下步骤:1)对不同的网络进行识别;2)对识别的不同网络分配网络参数;3)对网络数据包进行过滤;4)对需要发送或接收的数据包的网络地址进行转换,发送或接收数据包。所述步骤1)中是对以太网和PPPoE网络进行识别。本发明是ADSL接入方式下的嵌入式路由器,降低传统嵌入式路由器系统实现复杂度,降低成本,路由算法设计简洁,代码开销小,是应用于嵌入式操作系统的低成本路由器方案。
申请公布号 CN101179477B 申请公布日期 2010.12.08
申请号 CN200610114491.8 申请日期 2006.11.10
申请人 中国科学院声学研究所;北京中科智网科技有限公司 发明人 王劲林;邓峰;张建东;叶晓舟;王玲芳;孙鹏
分类号 H04L12/56(2006.01)I;H04L29/06(2006.01)I 主分类号 H04L12/56(2006.01)I
代理机构 北京泛华伟业知识产权代理有限公司 11280 代理人 高存秀
主权项 一种实现嵌入式路由器终端的方法,包括如下步骤:1)对不同的网络进行识别;2)对识别的不同网络分配网络参数;3)对网络数据包进行过滤;其中,设置过滤数据包的规则为:(1)对于私网到公网数据包的转发,首先进行私网到公网的网络地址转换,然后转发至外部网络;(2)对于公网到私网数据包的转发,首先进行公网到私网的网络地址转换,然后转发外部网络分组至对应的私有IP地址终端;(3)对于到达嵌入式路由器终端的来自另外私网终端的以太网分组,根据嵌入式路由器终端的网络应用确定是否应该接收;其中,在嵌入式VoIP适配器中,需要向用户提供Web接口实现配置和升级,针对这样的网络应用,就需要接收来至内网的端口为特定端口的TCP分组;(4)对于到达嵌入式路由器终端的来自外部网络的网络分组,根据嵌入式路由器终端的网络应用确定外部网络分组是否应该接收;其中,在嵌入式VoIP适配器中,如果使用SIP协议,需要接收UDP分组即完成注册和通话功能,因此,仅需要接收SIP协议端口以及RTP协议端口的UDP分组;4)对需要发送或接收的数据包的网络地址进行转换,发送或接收数据包;其中,具体包括如下步骤:(1)与嵌入式路由器相连的各终端的私有IP地址均通过网络端口映射为嵌入式终端公网IP地址;占用端口映射列表中的外部端口范围设置为2049~61184,根据最大支持子网终端数目分为N组,第i组包含端口的数值x为{x|2049+m*i+j,m=INT(59136/N),0≤j≤m)};(2)当嵌入式路由器接收到来自内部终端IP地址和端口的数据包时,网络地址转换模块将根据IP地址查询相应的占用端口映射链表中是否存在该端口的映射关系,如果存在,则按照存在的映射关系,将内部IP地址和端口转换为嵌入式终端的公网IP地址和映射的外部端口,并通过PPPoE链路进行转发;如果不存在,则按照查找过程中,获取到该组最小的未占用端口,生成端口映射关系,存入该端口占用映射链表中,并按照该映射关系将内部IP地址和端口转换为嵌入式终端的公网IP地址和映射的外部端口,并通过PPPoE链路进行转发;(3)当嵌入式路由器接收到来自外网的网络分组时,网络地址转换模块根据目的端口,计算出接收的内部子网终端的IP地址,并查找相应的占用端口映射链表中是否存在该外部端口的映射关系,如果不存在端口映射的匹配信息,不进行向内网的数据包转发,并丢弃该数据包;如果存在端口映射关系,则将数据包目标字段中的外部IP地址和外部端口替换为内网对应的私有IP地址和内部端口,从而将外网数据包转发到内网终端;(4)当网络地址转换模块改变了某个网络分组的IP地址和端口号时,需要重新计算该网络分组IP校验和,UDP校验和和TCP校验和,并给予更新。
地址 100080 北京市海淀区北四环西路21号