发明名称 一种基于用户IP地址路由的路由选择方法
摘要 本发明提出一种基于用户IP地址路由的路由选择方法,包括:1.根据设备允许接入的用户数初始化路由信息表;2.建立对应关系;3.判断是否添加用户关系,如否转步骤5;4.添加用户关系;5.判断是否查找用户关系,如否转步骤7;6.查找用户关系;7.判断是否删除用户关系,如否转步骤9;8.删除用户关系;9.结束。本发明通过设定三层空间存储用户IP路由地址,并采用静态索引表的方式,最多只需读三次就可以找到对应的路由表项,使得表项查找快速,同时降低了硬件复杂度和成本,具有和硬件搜索引擎完全相同的搜索效率,提高了整个系统的性能。
申请公布号 CN1330190C 申请公布日期 2007.08.01
申请号 CN01126456.X 申请日期 2001.08.14
申请人 中兴通讯股份有限公司 发明人 严超;蔡惊哲
分类号 H04Q3/42(2006.01);H04L12/24(2006.01) 主分类号 H04Q3/42(2006.01)
代理机构 代理人
主权项 1、一种基于用户IP地址路由的路由选择方法,包括以下步骤:第一步:根据设备允许接入的用户数初始化路由信息表,将用户IP地址的四个字段从高到低依次标记为a1,a2,a3,a4;第二步:建立对应关系:建立第一层空间,以用户IP地址的a3、a4字段唯一确定第一层空间中的一块存储空间,使用户IP地址的a3、a4字段和该第一层空间建立一一对应关系;第三步:判断是否有新活动用户加入,如果不是则转第五步;第四步:添加用户关系:(4.1)设置指针PTR(x)指向该新活动用户的路由表项信息;然后根据该新活动用户的IP地址的a3(x),a4(x)字段确定与其一一对应的存储空间N,如果该存储空间N没有另一个原活动用户的记录,则将指针PTR(x)存入该存储空间N;(4.2)如果该存储空间N已存有另一个原活动用户的记录,则建立第二层空间;同时在存储空间N里填入一个指向该第二层空间的信息;将新活动用户的IP地址a2字段与第二层空间建立一一对应关系;如果指针PTR(x)指向的位置没有一个或多个活动用户的信息,则把指向新活动用户路由表项信息的指针PTR(x)填入第二层空间中相应的位置;(4.3)如果指针PTR(x)指向的位置已经有一个或多个活动用户的信息,则建立第三层空间,将新活动用户的IP地址a1字段与第三层空间建立一一对应关系,填入指向新活动用户路由表项的信息;第五步:判断是否有活动用户的数据包进来,如果不是则转第七步;第六步:查找用户关系,根据数据包的用户IP地址来决定数据包的转发路径;(6.1)首先用该地址的a3、a4字段在第一层空间里找到对应的位置,如果该位置为空,说明该用户不存在,丢弃该数据包;(6.2)如果该位置已存有一个指向路由表项的指针,用该指针指向的路由表项里的用户IP地址进行精确匹配,如果符合,认为该指针指向的路由信息是该用户的,根据该信息来进行数据包的转发;(6.3)如果该位置存的是指向一个第二层空间的指针,则用该指针和该用户的a2字段定位的位置中取出另一指针,如果该另一指针是指向某用户路由表项信息,进行步骤6.2中的操作;(6.4)如果6.3中再次定位的指针是指向第三层空间的指针,则用该指针和a1字段继续定位,取出该位置存放的内容即为指向x用户的路由信息的指针;第七步:判断是否需要删除用户关系,如果不是,则转第九步;第八步:删除用户关系,当需要删除一个活动用户的记录时,首先用该用户的IP地址进行用户关系查找,找到该用户的路由表信息,标记为空;(8.1)如果该指针是在第一层空间找到的,删除过程结束;(8.2)如果该指针是在第二层空间或第三层空间,还需要判断这个空间里还存有多少个活动用户记录,在空间建立时用一个临时变量记录,在用户记录填加时加一,在记录删除时减一;(8.3)如果该临时变量为1,说明该空间已不需要,将记录取出,返回到上一层空间,将该记录存放在上一层空间的相应位置;第九步:结束。
地址 518057广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦法律部