華為和思科路由器串口對接故障探討
時間:2022-06-13 14:39:24
導語:華為和思科路由器串口對接故障探討一文來源于網友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
單位規(guī)劃使用華為AR路由器通過互聯(lián)調制解調器1上聯(lián)衛(wèi)星,然后通過衛(wèi)星下聯(lián)調制解調器2互聯(lián)遠端站點思科路由器,以此實現(xiàn)數據業(yè)務的遠程連接。AR和思科路由器以IP?over?HDLC的方式實現(xiàn)三層互通,衛(wèi)星調制解調器起協(xié)議轉換和二層透傳功能,AR和思科路由器都是以V.35接口和衛(wèi)星調制解調器互聯(lián),且都是DTE側。DTE側的速率為256?Kbps。??????華為AR設備串口配置為:interface?Serial?2/0/1;link-protocol?hdlc;?ip?address?X.X.X.155?255.255.255.248;virtual?baudrate?256000。思科路由器串口配置為:interface?Serial0/0/1;bandwidth?256;ip?address?X.X.X.156?255.255.255.?248。
問題描述
所有設備連接正常并運行后,筆者發(fā)現(xiàn)華為AR路由器的Serial串口物理層一直為Down。查看華為AR路由器?Serial口狀態(tài)(display?interface?serial?2/0/1),發(fā)現(xiàn)“DCD=DOWN”,即接口物理層不啟。處理過程查看華為AR路由器serial口狀態(tài)(display?interface?serial?2/0/1),發(fā)現(xiàn)“DCD=DOWN?DTR=?UP?DSR=UP?RTS=UP?CTS=UP”。DCD(Data?Carrier?Detect)信號用于監(jiān)視通信線路和DCE設備的工作狀態(tài)。AR設備默認使能同步方式Serial接口的DCD信號檢測功能,該DCD信號檢測功能和同步方式Serial接口的DSR(Data?Set?Ready)和DTR(Data?Terminal?Ready)信號檢測功能配合使用,用于判斷同步串口的狀態(tài)。1.使能同步方式下Serial接口的DSR和DTR信號檢測功能,系統(tǒng)在判斷同步方式下Serial接口的狀態(tài)(Up或Down)時,缺省情況下將同時檢測DSR信號、DCD信號以及接口是否外接電纜。只有當DSR信號和DCD信號有效且接口外接電纜時,系統(tǒng)才認為同步方式下Serial接口處于Up狀態(tài),否則為Down狀態(tài)。2.未使能同步方式下Serial接口的DSR和DTR信號檢測功能,系統(tǒng)在判斷同步方式下Serial接口的狀態(tài)(Up或Down)時,只要系統(tǒng)檢測到外接電纜,就可以判斷同步方式下Serial接口處于Up狀態(tài)。也就是說,DCD必須有效時,同步方式下Serial接口才處于Up狀態(tài),而DCD如果使能,那么必須由DCE側發(fā)送DCD有效的信號才可以判斷為有效,否則判斷無效。所以在沒有收到DCE的有效DCD信號前,華為AR路由器的Serial接口不會UP。
問題處理
明確了Serial串口工作原理后,檢查和調試衛(wèi)星調制解調器設備,使其發(fā)送有效的DCD信號,隨后華為AR路由器的串口物理層Up。華為AR路由器串口物理Up后,協(xié)議上仍然不Up。查看華為AR路由器?Serial接口的狀態(tài),發(fā)現(xiàn)接口input方向接收到的報文有很多“errors”報文計數,而output方向沒有“errors”報文計數。筆者開始懷疑是和時鐘同步有關,因而嘗試設置接收時鐘翻轉(根據是入口有errors報文計數),在華為AR路由器串口Serial2/0/1下添加invert?receive-clock設置后錯誤報文計數沒有增加,接口的協(xié)議層Up,且能Ping通對端思科路由器的IP地址。
原因分析
華為AR路由器作為DTE設備和對端DCE設備衛(wèi)星調制解調器互聯(lián),由于其默認使能同步方式下Serial接口的DCD信號檢測功能,沒有收到DCE端的DCD信號,導致物理層不Up。又由于華為AR路由器和調制解調器時鐘不同步,導致華為AR路由器協(xié)議層不Up。因此,解決方案為:華為AR路由器串口物理層不Up,判斷為接口沒有收到DCE設備發(fā)送的DCD信號,檢查衛(wèi)星調制解調器并發(fā)出DCD信號,AR接收和檢測出信號后,接口物理Up。華為AR路由器串口協(xié)議層無法Up。筆者通過分析,判斷為時鐘不一致引起,在接口下添加invert?receive-clock配置,強行使串口接收時鐘翻轉,協(xié)議層Up。
建議與總結
判斷設備是否需要設置時鐘翻轉的步驟如下。1.缺省情況下,串口不配置時鐘翻轉功能,如果協(xié)議能Up,則不需要對配置做修改。如果協(xié)議不能Up,則查看端口計數。如果DTE端接收報文有error,特別是報文數與字節(jié)數沒有整數倍對應關系的時候(如100個packets,105?Bytes),此時接在口下配置invert?receive-clock,將接收時鐘翻轉。如果DTE端接收報文沒有error,但是DCE端接收報文還是有error,則在接口下配置invert?transmit-clock,將時鐘翻轉。2.如果將invert?receive-clock和invert?trans?mit-clock都配置后接收報文error仍然有增長,則可能與時鐘翻轉無關。
作者:申杰