开始时,RPU板的网口地址为202.2.68.56,通过以太网口对RPU板上的软件和数据进行加载,RPU板运行正常,程序和数据全部正确;改变RPU板的地址(10.2.68.56),进行用户呼叫接入测试,发现用户正确输入的用户名和口令不能验证通过,在RPU板的telnet窗口中打开RADIUS调试开关,显示认证请求报文和计费报文发往正确的RADIUS服务器,但是一直没有收到应答,局方维护人员查看RADIUS服务器,也找不到任何记录,验证和计费始终不能成功。
接下来通过以下几个途径尝试定位问题:
1、在另一块RPU板上加载老版本的程序(注意这块RPU板的地址已经是10.2.68.57),重新测试,认证和计费正常进行,没有出现以上问题,可以排除对方RADIUS服务器存在问题的可能。
2、可能出现问题的地方是RADIUS报文的发送和接受,考虑到RADIUS报文是以UDP包的方式传送,所以在RPU的telnet中打开UDP报文的调试开关,跟踪RADIUS报文,发现RADIUS报文已经发送,但是在其填充的源地址(Source IP Address)字段的值是202.2.68.56,由此可以定位问题,是RADIUS模块在填充发送的RADIUS报文的源地址时仍然用RPU板改变地址前的老地址,导致RADIUS服务器发送的应答报文不能正确返回。
问题已经定位,时间紧迫,不可能立即修改程序,所以只能采取重新复位所有的RPU板的方法来暂时回避问题再次发生。
启 示:
1、软件全局变量的更改,要考虑到每一个模块受其影响的可能;
2、测试人员在测试中要尽可能地多考虑到各种情况下的边缘取值。