一种可以减少用户终端地址续约频率的系统及其方法与流程

文档序号:30753137发布日期:2022-07-13 09:42阅读:88来源:国知局
一种可以减少用户终端地址续约频率的系统及其方法与流程

1.本发明涉及网络通信技术领域,具体涉及一种可以减少用户终端地址续约频率的系统以及应用该系统的方法。


背景技术:

2.随着网络的不断发展,越来越多的终端需要接入互联网。当网络规模达到一定程度后,变得难以管理。特别是在手工分配ip地址的网络中,最常见的问题就是ip地址冲突和ip地址管理,处理这样的问题的一个解决方法就是使用dhcp协议为客户端动态分配ip地址。
3.dhcp基于客户端/服务器通信模式,为网络设备动态地分配互联网协议(ip,internetprotocol)地址等网络配置参数。dhcp协议采用客户端(client)/服务器(server)方式工作,dhcp服务器负责ip地址的分配和管理,dhcp client为需要分配ip地址的设备(如pc、手机、平板电脑或其它设备)。在dhcp过程中,dhcp client动态的向dhcp服务器请求网络配置信息,dhcp服务器根据配置策略向dhcp client返回相应的配置信息。其中,dhcp服务器返回给dhcp client的配置信息称为租约,包括分配的ip地址、网关ip地址、使用该地址的时间和域名服务器(dns,domainname server)地址等信息。dhcp client收到dhcp服务器返回的租约信息后,配置其ip地址、网关地址以及dns信息,即可进行网络访问。
4.现如今,在一个网络上,当客户端连接到服务器时,服务器根据其上配置的dhcp协议自动为客户端分配ip地址等信息(其中含租约时间t),客户端要在租约时间t到达前跟服务器续租。
5.目前,在现有技术中,传统的续约方式需要用户终端定时启动,计算并发送dhcp renew信息,极其耗费能源。同时,针对在同一个中转设备下有多个终端(几十到上百个设备),信道的使用率低,信道之间干扰性强,而造成信道的效率偏低,存在使用限制,不具备通用性。


技术实现要素:

6.为了克服现有技术的不足,本发明的目的在于提供一种在不改动dhcp服务器情况下可以减少用户终端地址续约频率系统及其方法,该系统和方法可以解决现有技术中存在的各种不足,通过代理模块代替客户端续租,不仅能够大大减少网关跟客户端的信息量,也可以大大减少客户端运算、发射和接收信息的次数。
7.为解决上述问题,本发明所采用的技术方案如下:
8.一种可以减少用户终端地址续约频率的系统,包括:dhcp服务器、中转设备、用户终端,在中转设备上运行有代理模块,当确定用户终端达到租约时间t的一半后,由中转设备的代理模块向dhcp服务器发起更新用户终端的dhcp renew报文,向dhcp服务器请求分配ip,在dhcp服务器接收到dhcp renew报文后向用户终端发送ack数据包,由中转设备的代理模块截获dhcp服务器向用户终端发送的ack数据包,确认信息后转发至用户终端。
9.进一步的方案是,在中转设备中设置有一dhcp租约表,该dhcp租约表中记录包括有用户终端的mac地址、hostname、ipaddress、dhcp leasttime、rxif和last renewtime。
10.更进一步的方案是,当dhcp服务器向用户终端发送dhcp offer报文时,中转设备在dhcp租约表中对应的mac地址中记录该报文中的mac address、ip address、dhcp least time和rxif;由中转设备的代理模块设置dhcp offer报文的dhcp leasttime为t2。
11.更进一步的方案是,当dhcp服务器向用户终端发送ack数据包时,由中转设备的代理模块设置ack数据包的dhcp least time为t2。
12.一种可以减少用户终端地址续约频率的方法,该方法应用于上述的一种可以减少用户终端地址续约频率的系统来实现,该方法包括以下步骤:在中转设备创建代理模块;由代理模块设置dhcp offer报文或ack数据包的dhcp least time为t2;当确定用户终端达到租约时间t的一半后,由代理模块向dhcp服务器发起更新用户终端的dhcp renew报文,向dhcp服务器请求分配ip,在dhcp服务器接收到dhcp renew报文后向用户终端发送ack数据包,由中转设备截获dhcp服务器向用户终端发送的ack数据包,确认信息后转发至用户终端。
13.进一步的方案是,所述由代理模块向dhcp服务器发起更新用户终端的dhcp renew报文,包括:通过代理模块找出dhcp租约表中第一项已过期的项目,假设找到的过期项目是第k项;代替第k项对应的用户,通过界面if#k向dhcp服务器发出dhcp renew报文,并在发送完dhcp renew报文后,把#k的last renewtime设置为当前时间。
14.更进一步的方案是,若没有找出dhcp租约表中第一项已过期的项目,判断有没有接收到dhcp offer报文,如是,假设该报文为message#x,把该报文对应的mac地址、host name、ipaddress、dhcp least time存进dhcp租约表对应位置;搜索mac地址,如已经存在该mac地址,则覆盖已有资料。
15.更进一步的方案是,将接收到dhcp offer报文中的dhcp leasttime改成最大值,并在其原有的界面上送出,再返回执行找出dhcp租约表中其他已过期的项目。
16.更进一步的方案是,所述由代理模块设置dhcp offer报文或ack数据包的dhcp least time为t2,包括:在代理模块接收到dhcp offer报文时,检测接入用户终端的设备名称或mac地址,当确认为该用户终端为指定设备后,对该用户终端执行包括:当dhcp服务器向用户终端发送dhcp offer报文时,中转设备在dhcp租约表中对应的mac地址中记录该报文中的mac address、ipaddress、dhcp least time和rxif;由代理模块设置dhcp offer报文的dhcp leasttime为t2。
17.更进一步的方案是,当dhcp服务器向用户终端发送ack数据包时,由代理模块设置ack数据包的dhcp leasttime为t2。
18.由此可见,本发明使用dhcp服务器到客户端所经过的任一中转设备上的代理模块代替客户端续租,可以减少连接到网络上的客户端的续租次数,从而大大减少了客户端运算、发射和接收信息的次数,减少了网关跟客户端的信息量而提高信道的使用率,减少了传送接口(有线、无线)碰撞机率。
19.此外,由于减少了信息量,对用电池运作的客户端,起到省电的功用,也进一步延长了物联网客户端电池寿命。
20.下面结合附图和具体实施方式对本发明作进一步详细说明。
附图说明
21.图1是本发明一种可以减少用户终端地址续约频率的系统实施例的原理图。
22.图2是本发明一种可以减少用户终端地址续约频率的方法实施例的原理图。
23.图3是本发明一种可以减少用户终端地址续约频率的方法实施例中所实现方法的流程图。
24.图4是本发明一种可以减少用户终端地址续约频率的方法实施例中关于代理模块和用户终端的交互的流程图。
具体实施方式
25.一种可以减少用户终端地址续约频率系统实施例:
26.如图1所示,一种可以减少用户终端地址续约频率系统,包括:dhcp服务器、中转设备、用户终端,在中转设备上运行有代理模块,当确定用户终端达到租约时间t的一半后,由中转设备的代理模块向dhcp服务器发起更新用户终端的dhcp renew报文,向dhcp服务器请求分配ip,在dhcp服务器接收到dhcp renew报文后向用户终端发送ack数据包,由中转设备的代理模块截获dhcp服务器向用户终端发送的ack数据包,确认信息后转发至用户终端。
27.在本实施例中,在中转设备中设置有一dhcp租约表,该dhcp租约表中记录包括有用户终端的mac地址、host name、ipaddress、dhcp least time、rxif和last renewtime。
28.进一步的,当dhcp服务器向用户终端发送dhcp offer报文时,中转设备在dhcp租约表中对应的mac地址中记录该报文中的mac address、ip address、dhcp leasttime和rxif。
29.进一步的,由中转设备的代理模块设置dhcp offer报文的dhcp least time为t2,t2为一个比t大的值,如2^32

2seconds。
30.进一步的,当dhcp服务器向用户终端发送ack数据包时,由中转设备的代理模块设置ack数据包的dhcp least time为t2,如2^32

2seconds。
31.具体的,在中转设备(ap)接收到dhcp offer时,ap检测接入设备名称(host name)或mac=地址,若接入设备是指定设备,如iot设备(如:温度计,烟雾检测器等),进行以下步骤;如果是非iot设备则使用常规dhcp相关办法。
32.首先,在ap中存在一张表格(database),在表格中记录所述的iot设备sta的mac地址、host name、ipaddress、dhcp least time(t1)、rxif(收到dhcp offer包的界面)和last renew time(最近一次renew ip时间);当dhcp服务器向该iot设备发送(
‑‑
3.dhcp offer
‑‑
》)时,ap在表格中对应的mac地址中记录该报文中的mac address、ipaddress、t1和rxif。
33.在(
‑‑
4.dhcp offer
‑‑
》)中ap修改其中的leasttime=2^32

2seconds或比原来的t1更大的值,可以是多天或多个月;并且在(
‑‑
8.dhcpack
‑‑
》)中ap也修改其中的leasttime为相同值。
34.因此,本发明通过代理模块代替iot设备向dhcp服务器做dhcp renew;这样,iot设备就不用花算力和电力去定期做dhcp renew(9&12)了,同时也减少了iot设备和ap/switch/gateway间的信息量,进而增加了该网络的利用率。
35.一种可以减少用户终端地址续约频率的方法实施例:
36.一种可以减少用户终端地址续约频率的方法,该方法应用于上述的一种可以减少
用户终端地址续约频率的系统来实现,如图2所示,该方法包括以下步骤:
37.首先,在中转设备创建代理模块。
38.然后,由代理模块设置dhcp offer报文或ack数据包的dhcp least time为t2,t2为一个比t大的值,如2^32

2seconds。
39.当确定用户终端达到租约时间t的一半后,由代理模块向dhcp服务器发起更新用户终端的dhcp renew报文,向dhcp服务器请求分配ip,在dhcp服务器接收到dhcp renew报文后向用户终端发送ack数据包,由中转设备截获dhcp服务器向用户终端发送的ack数据包,确认信息后转发至用户终端。
40.在本实施例中,由代理模块向dhcp服务器发起更新用户终端的dhcp renew报文,包括:
41.通过代理模块找出dhcp租约表中第一项已过期的项目,假设找到的过期项目是第k项。
42.代替第k项对应的用户,通过界面if#k向dhcp服务器发出dhcp renew报文,并在发送完dhcp renew报文后,把#k的last renew time设置为当前时间。
43.若没有找出dhcp租约表中第一项已过期的项目,判断有没有接收到dhcp offer报文,如是,假设该报文为message#x,把该报文对应的mac地址、host name、ipaddress、dhcp least time存进dhcp租约表对应位置。
44.然后,搜索mac地址,如已经存在该mac地址,则覆盖已有资料。
45.在本实施例中,将接收到dhcp offer报文中的dhcp least time改t2,一个比t大的值,如最大值,并在其原有的界面上送出,再返回执行找出dhcp租约表中其他已过期的项目。
46.在本实施例中,由代理模块设置dhcp offer报文或ack数据包的dhcp least time为t2,如2^32

2seconds,包括:在代理模块接收到dhcp offer报文时,检测接入用户终端的设备名称或mac地址,当确认为该用户终端为指定设备后,对该用户终端执行包括:
47.当dhcp服务器向用户终端发送dhcp offer报文时,中转设备在dhcp租约表中对应的mac地址中记录该报文中的mac address、ipaddress、dhcp leasttime和rxif。
48.由代理模块设置dhcp offer报文的dhcp least time为t2,如2^32

2seconds。
49.当dhcp服务器向用户终端发送ack数据包时,由代理模块设置ack数据包的dhcp leasttime为t2,如2^32-2seconds。
50.在实际应用中,由中转设备的代理模块进行初始化,开始整个运行流程:
51.找出database中第一项已过期的项目,假设找到的是第k项。
52.判断有没有找到已过期的项目,如果有找到,就代替第k项对应的用户,通过界面if#k向dhcp服务器发出dhcp renew信息;当发送完后,把#k的last renewtime设成当下时间。
53.如果没有找到已过期的项目,判断有没有接收到dhcp offer信息,如果没听到,返回上述步骤继续寻找已过期的项目。
54.如果有接收dhcp offer信息,假设其为message#x,把它对应的mac、ip、t1和host name存进database对应位置,先搜索mac,如果已存在,就覆盖已有资料。
55.把收到的dhcp offer信息中的t1改成它的最大值,或一个比较大的值,如常地在
它原有的界面送出,再返回上述步骤继续寻找下一个已过期的项目。
56.例如,如图3所示,从数据库中找出第一个过期项目#k(超时:当前_时间+t1/2》上次续订时间)。
57.如果找到该项目,在rxif#k上发送设备#k的dchp续订消息,将“上次续订时间”设置为当前时间。
58.如果没有找到该项目,检测来自rx接口的dhcp offer消息,判断是否在rx接口#x上找到的,如是,将找到的dhcp offer消息命名为#x。
59.然后,将{ip#x、mac#x、t1#x、主机名#x}存储/更新到数据库,将“上次续订时间”设置为当前时间,并将接口rxif存储为rx#x。
60.将dhcp提供消息#x的t1#x更改为其最大值,并正常发送到所有tx接口。
61.在本实施例中,下面举例说明代理模块和用户终端的交互,如图4所示,其包括:
62.从rx接口获取数据包;
63.判断是否为ipv4/ipv6和udp,如是,判断是否为dhcp offer报文还是dhcpack数据包,如是,获取该数据的{mac、最少时间、客户端ip、服务器ip}。
64.然后,在dhcp租约表中搜索mac,如果不存在,则为此mac创建一条记录。
65.计算mac的t1_超时。
66.将租约时间更改为t2,如0x12cc0300(以秒为单位,约10年),并让dhcp ack/要约正常通过。
67.由此可见,本发明dhcp服务器到客户端所经过的任一中转设备上的代理模块代替客户端续租,可以减少连接到网络上的客户端的续租次数,从而大大减少了客户端运算、发射和接收信息的次数,减少了网关跟客户端的信息量而提高信道的使用率,减少了传送接口(有线、无线)碰撞机率。
68.此外,由于减少了信息量,对用电池运作的客户端,起到省电的功用,也进一步延长了物联网客户端电池寿命。
69.由用户终端在局域网内发起一个dhcp discover报文,中转设备用于接收dhcp discover报文并转发至dhcp服务器,由dhcp服务器下发dhcp offer报文,由中转设备截获dhcp服务器向用户终端发送的dhcp offer报文,并转发至用户终端,用户终端在接收到dhcp offer报文后,发送dhcp request包向dhcp服务器请求分配ip。
70.上述实施方式仅为本发明的优选实施方式,不能以此来限定本发明保护的范围,本领域的技术人员在本发明的基础上所做的任何非实质性的变化及替换均属于本发明所要求保护的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1