虚拟专用拨号网业务数据包的转发方法

文档序号:7923242阅读:469来源:国知局
专利名称:虚拟专用拨号网业务数据包的转发方法
技术领域
本发明涉及通讯领域,更具体地说,涉及用于虚拟专用拨号网中业务数据包的转发方法。
当建立了VPDN的隧道和会话后,就开始从拨号端(即用户端,例如用户1)向LAN内部主机传送VPDN数据包。其流程如图2所示(1)、从LNS到LAC的数据包到达LAC后,首先要根据数据包中的隧道号确定L2TP数据包所在隧道;(2)、然后根据会话号在所在隧道中找到相应的会话;(3)、然后将数据包转发给拨号用户。
从LAC到LNS的数据包到达LNS后,也是根据隧道号和会话号首先找到相应的会话,然后将数据包转发给对应的局域网内部用户。这个过程中数据包所在会话的查询是VPDN数据包转发效率高低的关键。
在L2TP协议中,为了安全性并降低由于会话分配的可预测性导致受到插入攻击的威胁,要求隧道号和会话号的分配具有随机性。而信息包的转发是通过查询隧道号和会话号来实现的。如果采用通常的先查找隧道号、再查找会话号方法来进行VPDN会话查找,要想一步到位地查找到相应的数据区,则至少要占用4G的索引空间。之所以需要4G的索引空间,是因为L2TP协议中VPDN的隧道号和会话号都占两个字节,隧道号和会话号的取值范围均是从1到65535,而隧道号的取值方式是在这个范围内的不重复随机数,因此,如果按照先查找隧道、再在隧道中查找会话的方法来查找会话,要想一步定位到相应的会话数据区,就至少需要4G的索引空间。如果没有足够的隧道、会话索引空间,会话查询速率就会与隧道中分配的会话数、会话分配的会话号相关而变得不确定,并且当有大量VPDN会话存在时,就可能导致VPDN的会话查询效率不高,这将直接导致VPDN业务数据包的转发效率大大低于普通PPP数据包的转发效率,从而影响L2TP业务的开展。
本发明可通过以下技术方案实现,一种虚拟专用拨号网业务数据包的转发方法,其特征在于,包括以下步骤a、将每一路会话的PPP随机端口号与VPDN的会话号绑定,生成不重复的随机会话号;b、当LAC端收到从LNS端传输到拨号客户端的VPDN数据包的时,从所述数据包中取出其会话号;c、分解所述VPDN会话号,得到相应的端口号;d、根据所述端口号找到VPDN会话所在PPP会话链路和相应的VPDN会话区;e、将VPDN数据包通过相应的PPP端口转发到拨号客户端。
根据本发明所述的方法,当采用分布式系统时,在所述步骤a中,将会话所在的设备号也加入会话号,使端口号与设备号结合起来,生成全局唯一的会话号;在所述步骤c中,分解所述VPDN会话号,得到相应的设备号和端口号;在所述步骤d中,先根据所述设备号找到VPDN会话所在设备,再根据所述端口号找到VPDN会话所在PPP会话链路和相应的VPDN会话区。
根据本发明所述的方法,在所述步骤b中,还从所述数据包中取出其隧道号,相应地,在所述步骤d与步骤e之间,还包括根据隧道号作会话合法性检验的步骤。
本发明的方法具有以下优点1、保持会话号分配的随机性由于PPP链路的端口是随机分配的,当为每个端口都绑定一块会话号的区间时,对每一条链路来说,会话号也就有了一定的随机性;2、快速的转发对于采用本发明中的VPDN的会话号分配方式分配的VPDN会话号,本发明可以根据VPDN会话号,直接从会话号中分离出会话所在设备号和端口号,从而不论有多少VPDN会话同时存在,都能根据会话号快速查到相应的会话区,然后再进行隧道号的检验,这样只要一次通过会话号的快速定位,就能确定数据包所在链路,转发速度不低于普通的PPP数据包的转发数率(LAC端),IP数据包转发数率(LNS端);3、最小的索引空间由于信息含在会话号中,直接运算就可以确定,所以不要任何会话索引表。
下面将结合附图
及实施例对本发明作进一步说明。
会话号分配方法如图4所示,前8位为分配的随机端口号,后8位为会话所在设备号,具体会话号的分配要根据具体的硬件设备而定,这里的多少位只是为了说明方便而举的一个例子。
利用本发明这种会话号可以大大提高VPDN会话查询效率,VPDN会话的转发流程如图3所示,具体流程如下(1)、LAC端收到从LNS端传输到拨号客户端的VPDN的数据包;(2)、从数据包中取出VPDN数据包的会话号和隧道号;(3)、分解VPDN会话号,得到相应的设备号和端口号;(4)、根据设备号可以一步找到VPDN会话所在设备;(5)、根据端口号可以一步找到VPDN会话所在PPP会话链路和相应的VPDN会话区;(6)、根据隧道号作会话合法性检验,具体是指用从数据包中取出的隧道号与会话数据区中保留的隧道号作比较,如果相同,则认为数据包合法,否则视为不合法;(7)、将VPDN数据包通过相应的PPP端口转发到拨号客户端。
利用本发明的会话号进行相应会话的快速查询,可以一步定位到相应的VPDN数据区,故查询效率高。由于通过这种方式进行的VPDN会话的查询效率与存在的隧道数、相应隧道中的会话数、分配的隧道号和分配的会话号无关,所以查询具有效率稳定的特点。
终上所述,通过采用这种特殊的VPDN会话的分配方法,从而使得基于会话号的数据区查寻的查询效率稳定、高效,而与会话的数量无关,并且不需要再专门分配额外的索引空间,其转发速率与普通的PPP数据包的转发速率相当。
权利要求
1.一种虚拟专用拨号网业务数据包的转发方法,其特征在于,包括以下步骤a、将每一路会话的PPP随机端口号与VPDN的会话号绑定,生成不重复的随机会话号;b、当LAC端收到从LNS端传输到拨号客户端的VPDN数据包的时,从所述数据包中取出其会话号;c、分解所述VPDN会话号,得到相应的端口号;d、根据所述端口号找到VPDN会话所在PPP会话链路和相应的VPDN会话区;e、将VPDN数据包通过相应的PPP端口转发到拨号客户端。
2.根据权利要求1所述的方法,其特征在于,当采用分布式系统时,在所述步骤a中,将会话所在的设备号也加入会话号,使端口号与设备号结合起来,生成全局唯一的会话号;在所述步骤c中,分解所述VPDN会话号,得到相应的设备号和端口号;在所述步骤d中,先根据所述设备号找到VPDN会话所在设备,再根据所述端口号找到VPDN会话所在PPP会话链路和相应的VPDN会话区。
3.根据权利要求1或2所述的方法,其特征在于,在所述步骤b中,还从所述数据包中取出其隧道号,相应地,在所述步骤d与步骤e之间,还包括根据隧道号作会话合法性检验的步骤。
全文摘要
本发明涉及一种虚拟专用拨号网(VPDN)业务数据包的转发方法,在系统中为每一路L2TP会话都分配内部端口号,该端口号可以采用PPP的端口号;根据端口号及会话所在设备号,生成全局唯一的会话号。当LAC端收到从LNS端传输到拨号客户端的VPDN数据包的时,从数据包中取出其会话号和隧道号;然后分解VPDN会话号,得到相应的设备号和端口号;先根据设备号找到VPDN会话所在设备,再根据端口号找到VPDN会话所在PPP会话链路和相应的VPDN会话区;最后将VPDN数据包通过相应的PPP端口转发到拨号客户端。利用本发明的会话号进行相应会话的快速查询,可以快速定位到相应的VPDN数据区,查询效率较高。
文档编号H04L29/06GK1471283SQ0213628
公开日2004年1月28日 申请日期2002年7月26日 优先权日2002年7月26日
发明者许志军, 王怀滨, 孟宪民 申请人:深圳市中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1