NHRP服务器是什么-编程知识网

NHRP服务器的概述

NHRP服务器(NHRP Server,NHS)NHRP允许源端站(主机或路由器)来确定通往目的端站的NBMA下一跳的网络层地址和NBMA地址(如ATM地址)。如果目的端站已经连接到NBMA子网上,那么NBMA的下一跳就是目的端站本身;否则,NBMA下一跳就是离目的端站最近的NBMA子网的输出路由器。

任何一个主机希望与另一主机建立直接$VC时,它必须知道目的主机的ATM地址。在LIS中,IP地址到ATM地址的映射是通过本地地址解析服务器来完成的。如果目的主机属于另一个LIS,则将向目的主机所在的LIS的有权服务器发送一个解析请求消息,并把对该请求的响应返回给发出请求的主机。为了使授权地址解析服务器能正确处理解析请求信息,它将利用IP路由器的路由选择信息。这些地址解析服务器/IP路由器被称为NHRP服务器(NHS)。

NHRP服务器和客户机

为了建立一条直接的SVC,NHRP客户机(NHC)向它的授权NHS发送NHRP请求,用来从IP地址中解析出ATM地址。如果NHS不知道IP-ATM地址对的映射关系,那么它将沿着由IP路由器中的路由信息所规定的通往目的地址的路径传播该请求。NHRP请求可能在中间(或转接)NHS中进行了解析,如果这些NHS在其高速缓存器中已缓存了相应的地址映射;该NHRP请求也可能穿过整个网络,到达目的NHC前面的最后一个NHS,则这个NHS将代表目的主机对请求做出响应。注意,目的NHC也可以作为输出NHS。

除了上面所述的一些基本功能外,如果NHRP要在两个路由器之间建立一个直接连接,则可能产生一个永久路由环路。这里有一个基本的假设,即IP路由选择信息不是通过数据传输通道发送的,直接路径只用于发送用户数据,因此没有建立路由的相邻关系。NHRP机制必须保证不产生永久环路,这可以通过清除由于拓扑改变而产生的所有相关的高速缓冲器信息来实现。

虽然主机和路由器都可以作为NHS,但NHS通常都配置在路由器上。每一个NHS可以为一系列目的主机提供服务,这些主机直接或间接地与NBMA网络相连接。这些NHS相互协作,以完成它们所服务的逻辑NBMA子网的下一跳解析功能。

NHS中保持一个高速缓存器,用于缓存互联网层地址(如IP地址)到NBMA子网地址(如ATM地址)的解析信息。构造高速缓存器时,可以根据NHRP登记分组、NHRP地址解析请求/响应分组或其他机制(如预先配置的表格)来构造。路由通道上的最后一个NHS被称作服务NHS(servingNHS)。应注意的是,虽然NHRP请求是发往目的端站(NHC)的,NHRP响应却是由服务NHS代表NHC发送的,每一个LIS必须至少有一个能够提供有权地址解析信息的NHS。NHC也保持了一个高速缓存器,用于存储NBMA地址与互联网层地址的映射,该高速缓存器中缓存的条目是根据从NHRP解析响应分组获得的信息构成的或是手工配置好的。

NHRP登记

如果一个端站想加入NHRP,它必须通知NHS有关它的NBMA信息,这可以通过NHRP登记请求来完成。每一个登记条目都有一个老化时间,如果该条目未被刷新,它就会超时无效,因此端站必须周期性地发送NHRP登记请求分组宋刷新登记条目。建议更新时间间隔值为保持时间的1/3。

NHRP操作

在进行NHRP地址解析时,应沿着通往为目的端站服务的NHS的路径传播NHRP解析请求分组。目的端站可能是与NBMA网络直接相连接的端系统或是与NBMA网络间接相连接的外部端站。对于直接与NBMA网络相连接的端站地址的解析请求,应由它的有权服务NHS做出响应;对于间接与NBMA网络相连接的外部网络地址的解析请求,应由与它相关的输出NHS做出响应。值得注意的是,输出路由器必须是输出NHRP服务器。

在NHRP解析请求到达可能响应的端站之前,它可能会在NBMA网络内跳过一跳或多跳,每一个中间NHS和源端站都会选择一个相邻的NHS,并向这个NHS发送NHRP解析请求。相邻NHS选择规程并根据目的互联网地址去查询路由表,以确定下一跳NHS,这种方法与传统IP路由器发送数据分组的方法很相似。对于不参与路由信息交换的主机NHS来说,下一跳就是默认的路由器。

当NHRP解析请求到达服务NHS之后,服务NHS将代表目的节点应答一个NHRP解析响应消息。在这种情况下,该NHRP响应被标识为授权应答,并沿相反的路径返回。这样接受到NHRP响应的转接NHS就可以在其高速缓存区中存储这些信息。对于后来的NHRP解析请求,转接NHS就可根据它的高速缓存区中存储的上述地址解析信息,对请求进行应答。这种根据缓存的地址解析信息进行的应答称为非授权响应。源端站可以选择发送一个授权NHRP解析请求,在这种情况下,转接NHS不能使用缓存的信息进行响应,NHRP解析响应中可以明确地指出不经过发送NHRP请求的转接NHS而直接返回。