一种路由器域名访问方法与流程

文档序号:12009178阅读:1145来源:国知局
本发明涉及计算机网络技术,特别涉及一种路由器域名访问方法。

背景技术:
域名(DomainName),是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置),一个域名,它定义的行政自主权,权力或控制互联网的境界。域名是一个IP地址上的“面具”。一个域名的目的是便于记忆和沟通的一组服务器的地址(网站,电子邮件,FTP等)。域名作为力所能及难忘的互联网参与者的名称,如电脑,网络和服务。路由器(Router)是连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号的设备。路由器是互联网络的枢纽、"交通警察"。目前路由器已经广泛应用于各行各业,各种不同档次的产品已成为实现各种骨干网内部连接、骨干网间互联和骨干网与互联网互联互通业务的主力军。路由器(Router)又称网关设备(Gateway)是用于连接多个逻辑上分开的网络,所谓逻辑网络是代表一个单独的网络或者一个子网。当数据从一个子网传输到另一个子网时,可通过路由器的路由功能来完成。因此,路由器具有判断网络地址和选择IP路径的功能,它能在多网络互联环境中,建立灵活的连接,可用完全不同的数据分组和介质访问方法连接各种子网,路由器只接受源站或其他路由器的信息,属网络层的一种互联设备。路由器分本地路由器和远程路由器,本地路由器是用来连接网络传输介质的,如光纤、同轴电缆、双绞线;远程路由器是用来连接远程传输介质,并要求相应的设备,如电话线要配调制解调器,无线要通过无线接收机、发射机。路由器是互联网的主要结点设备。路由器通过路由决定数据的转发。转发策略称为路由选择。作为不同网络之间互相连接的枢纽,路由器系统构成了基于TCP/IP的国际互联网络Internet的主体脉络,也可以说,路由器构成了Internet的骨架。它的处理速度是网络通信的主要瓶颈之一,它的可靠性则直接影响着网络互连的质量。因此,在园区网、地区网、乃至整个Internet研究领域中,路由器技术始终处于核心地位,其发展历程和方向,成为整个Internet研究的一个缩影。在当前我国网络基础建设和信息建设方兴未艾之际,探讨路由器在互连网络中的作用、地位及其发展方向,对于国内的网络技术研究、网络建设,以及明确网络市场上对于路由器和网络互连的各种似是而非的概念,都有重要的意义。常用的路由器,为了能够有效的满足各种功能,采用了网络功能强大的linux为其内核进行开发,针对各种上网功能的需求,我们需要对路由器功能进行访问、设置、管理。这些需求中,访问路由器管理界面是一个不可或缺的需求,在访问界面中,用户总是希望简单、好记,且不容易出错。常用的IP地址,枯燥且不容易记,用户而且有可能修改后自己忘记,这就需要我们的路由具有域名访问功能。且另有一些情况是,上行DHCP给关闭,这时需要一个有一定技术知识的用户才能访问到路由,这就给用户带来不便。动态主机设置协议(DynamicHostConfigurationProtocol,DHCP)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。同一个路由器一般可以通过设置来划分静态地址和动态地址的IP段,比如一般家用TP-LINK路由器,常见的是从192.168.1.100~192.168.1.254,这样如果你的电脑是自动获得IP的话,一般就是192.168.1.100,下一台电脑就会由DHCP自动分到为192.168.1.101。而192.168.1.2~192.168.1.99为手动配置IP段。DHCP客户端第一次从DHCP服务器端租用到IP地址之后,并非永久的使用该地址,只要租约到期,客户端就得释放(release)这个IP地址,以给其它工作站使用。当然,客户端可以比其它主机更优先的更新(renew)租约,或是租用其它的IP地址。目前,我们常用的域名访问,也仅仅是在DHCP开启的情况下进行访问,这种域名访问,利用的是开源代码dns-dproxy进行处理,将发往本地的DNS数据进行获取判断,如果是本地的域名,则进行解析,返回路由器的管理IP,然后可以进行访问。但是,上面的访问,存在一个很明显的漏洞,在上行DHCP被人为、或者不小心关闭的情况下,忘记管理IP,如何登陆管理界面。

技术实现要素:
本发明的目的是为了解决以上问题,本发明提供一种路由器域名访问方法。本发明的技术方案是:一种路由器域名访问方法,该方法适合于使用操作系统为windows系统的终端中,终端开始域名访问时包括以下步骤,步骤A、检测上行路由的DHCP是否开启,若DHCP开启了则按正常的域名访问方式进行域名访问,若DHCP没有开启,则转向步骤B;步骤B、检测本地hosts文件或者netbios缓存是否有对应的域名,若有,则返回该域名对应的IP地址,否则转向步骤C;步骤C、发出DNS包向网络查询是否有域名对应的IP,如果有则返回该IP地址;否则转向步骤D;步骤D、对同一网段发送NBNS协议包,检测是否有所述的域对应的IP地址;若有,则返回对应的路由管理IP地址,否则,即可判断网络没有路由设备或者不是此方案路由设备。进一步的,上述的路由器域名访问方法中:所述的方法是基于realteck芯片平台,路由设备的管理IP是169.254.***.***。。本发明解决了路由器上行DHCP关闭,忘记了管理IP的情况下,访问路由器管理界面的问题。下面结合具体实施例对本发明作较为详细的描述。附图说明图1是使用本方法的整体流程图。具体实施方式实施例1,如图1所示,本实施例是一种基于realteck芯片平台,路由设备的管理IP是169.254.***.***的终端域名访问的流程,主要考虑到有时上行DHCP在由于某些原因没有开启时的情况,目前,终端在进行域名访问时,一般都没有考虑到DHCP可能会没开启,如图所示:主要包括以下步骤:1、终端计算机开始进行域名访问。2、检查上行DHCP是否开启,如果开启则按正常的访问模式获得该域名对应的IP地址,并利用该域名对应的IP地址访问,域名访问流程结束。否则转向下一步继续。目前,判断DHCP是否开启,只需要PC拿到IP地址,即可判断上行DHCP开启,否则,没有拿到地址,则可认为DHCP没有开启,这个时候电脑的本地连接图标会有一个感叹号出现,这些都是自动判断的过程,不需要我们路由器去判断。3、检测本地hosts文件或者netbios缓存是否有对应的域名,若有,则返回该域名对应的IP地址,并利用该域名对应的IP地址访问,域名访问流程结束。否则转向下一步继续。4、发出DNS包向网络查询是否有域名对应的IP,如果有则返回该IP地址;并利用该域名对应的IP地址访问,域名访问流程结束。否则转向下一步继续。步骤3和步骤4在DHCP开启时进行域名解析也可能经过的步骤。5、对同一网段发送NBNS协议包,检测是否有所述的域对应的IP地址,若有,则返回对应的路由管理IP地址,并利用该域名对应的IP地址访问,域名访问流程结束。否则,即可判断网络没有路由设备或者不是此方案路由设备。通过第5个步骤,基本上不会出现这种域名访问失败情况。因为这里的管理IP是169.254.***.***,这个正是PC分配不到地址时默认分配的一个临时的IP网段,这样PC端发出的NBNS包会被收到,我们路由器会给它响应。除非出现路由死机、PC机死机、本地连接接口异常等之类的异常情况,才会返回失败。在RTL方案的路由器中,当上行给PC端分配地址后,我们采用常用的opensource开源代码dproxy-nexgen,在应用层中,我们添加hosts文件,将管理IP和域名构成对应关系。这就可以实现常规的域名访问功能。这里Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统再会将网址提交DNS域名解析服务器进行IP地址的解析。dns-dproxy的意思是域名代理;dproxy-nexgen是一种域名代理的开源代码。在上行DHCP关闭的情况下,windows实际给分配了默认网段169.254.***.***,这个网段和我们路由器的IP是同一网段的,这时候,实际DNS请求是不响应的,根据windows的对域名的处理方式:首先会查找本地Hosts文件和NetBIOS缓存,其次会去联系DNS服务器进行解析。如果这几种方式都无法完成解析,则计算机会发出NBNS数据包。NBNS包是对它同一网段的所有IP主机都发数据包。但是,由于NBNS包不会转发到dproxy-nexgen模块,所以无法进行域名访问。NBNS:网络基本输入/输出系统(NetBIOS)名称服务器(NBNS)协议是TCP/IP上的NetBIOS(NetBT)协议族的一部分,它在基于NetBIOS名称访问的网络上提供主机名和地址映射方法。这就需要程序重新拉起一个子进程来处理nbns模块,在本实施例中,专门有一个nbns子进程来取数据包。但是,这些还不够,考虑到上行路由器会连上外网,NBNS数据包目的地址并非是路由器,这样,NBNS模块会在桥入口转发到路由器上行,导致无法访问,因此,我们需要用原始套接字来读取数据包,原始套接字可以取到数据链路层的数据,但是在链路层,如果发现目的地址不是本路由器,会修改目的MAC,导致数据包无法被正确接收,为了做到正常接收,本实施例在8192cd_tx.c的rtl8192cd_tx_clientMode函数中,判断到协议头端口号是137的包,不修改mac地址,137即是NBNS端口号。接收到数据包后,要对数据包进行处理,先解析、后回应。在接收到数据包的nbns的协议时,要解析名字,需要进行编码解码。这个有相关资料可供参考。在处理数据包时,要逐个解析MAC层、IP层、UDP层、应用层。然后在根据UDP数据包,逐个对MAC\IP\UDP\应用层组包,回应给PC端,PC端将名字解析的结果存到netbios的缓存中,10分钟内访问,速度较快,但是过一段时间后,缓存被更新,需要较长时间再次获得回应。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1