您好,登錄后才能下訂單哦!
XMODEM協議是一種使用撥號調制解調器的個人計算機通信中廣泛使用的異步文件運輸協議。
這種協議以128字節塊的形式傳輸數據,并且每個塊都使用一個校驗和過程來進行錯誤檢測。如果接收方關于一個塊的校驗和與它在發送方的校驗和相同時,接收方就向發送方發送一個認可字節。然而,這種對每個塊都進行認可的策略將導致低性能,特別是具有很長傳播延遲的衛星連接的情況時,問題更加嚴重。
使用循環冗余校驗的與XMODEM相應的一種協議稱為XMODEM-CRC。還有一種是XMODEM-1K,它以1024字節一塊來傳輸數據。
ZMODEM是最有效的一個XMODEM版本,它不需要對每個塊都進行認可。事實上,它只是簡單地要求對損壞的塊進行重發。ZMODEM對按塊收費的分組交換網絡是非常有用的。不需要認可回送分組在很大程度上減少了通信量。
YMODEM也是一種XMODEM的實現。它包括XMODEM-1K的所有特征,另外在一次單一會話期間為發送一組文件,增加了批處理文件傳輸模式。
相對于YMODEM,ZMODEM等其他文件傳送協議來說,XMODEM協議實現簡單,適合于那些存儲器有限的場合。
使用Xmodem和TFTP的主要區別就在于傳輸的途徑不一樣,TFTP的IOS傳輸必須經過以太網線,而Xmodem則是通過控制線來傳輸的,所以使用Xmodem恢復IOS就不必進行PC機和路由器的網線連接,也不需要IP地址方面的設置,省了不少事。但是Xmodem是通過控制線(console)來進行傳輸的,一般和cisco路由器相連的控制線波特率是9600,就是9.6k/s,速度很慢。幸好,我們可以在路由器上更改波特率,最大是115200,即115.2K/S,雖然相對100M/s的快速以太網相差甚遠,但是比9.6k/S的蝸牛速度爽多了吧,所以先進行默認波特率的修改,可以用confreg命令來修改,如下:
rommon1>confreg
ConfigurationSummary
enabledare:
loadromafternetbootfails
consolebaud:9600
boot:p_w_picpathspecifiedbythebootsystemcommands
ordefaultto:cisco2-C3600
doyouwishtochangetheconfiguration?y/n[n]:y
enable"diagnosticmode"?y/n[n]:
***pressing"Enter"acceptsthedefaultvaluebetweenthebrackets***
enable"usenetinIPbcastaddress"?y/n[n]:
disable"loadromafternetbootfails"?y/n[n]:
enable"useallzerobroadcast"?y/n[n]:
enable"break/aborthaseffect"?y/n[n]:
enable"ignoresystemconfiginfo"?y/n[n]:
changeconsolebaudrate?y/n[n]:y
enterrate:0=9600,1=4800,2=1200,3=2400,
4=19200,5=38400,6=57600,7=115200[7]:7
changethebootcharacteristics?y/n[n]:
ConfigurationSummary
enabledare:
loadromafternetbootfails
consolebaud:115200
boot:p_w_picpathspecifiedbythebootsystemcommands
ordefaultto:cisco2-C3600
doyouwishtochangetheconfiguration?y/n[n]:
Youmustresetorpowercyclefornewconfigtotakeeffect
改完了,你需要重啟一下,讓配置生效,注意,你的調試機器上的超級終端的連接波特率也要改為115200,不然你重起后你可能看見的就是一堆亂碼#^¥&%×^×^,呵呵。
接下就是用xmodem命令來做了,xmodem的使用方法如下:
rommon1>xmodem[-cyrx]
選項功能
-c傳輸過程中使用CRC-16檢查.缺省的是8-bitCRC
-yymodem-batch協議使用CRC-16錯誤檢查
-r讓軟件傳到DRAM中,缺省的是Flash中
注意:設備重啟后,DRAM中的文件會丟失,你還要進行一次恢復IOS
-x讓軟件傳到DRAM中,但是不執行,除非使用launch命令
-f擦除Flash里全部的文件
注意:這個選項是1600系列路由器指定的;在其他平臺上是缺省項
Examples:
rommon1>xmodem-cfc1600-nsy-mz_112-15a_P
或者
rommon1>xmodem-yc2500-js-mz_120-14
讓我們stepbystep來試試:
1.來執行xmodem命令:rommon1>xmodemc1600-nsy-mz_112-15a_P
2.等待ROMmon提示信息,類似下面:
Readytoreceivefilec1600-nsy-mz_112-15a_P...
3.ok,可以進行文件傳輸了,在超級終端界面,點擊鼠標右鍵,選擇發送文件,彈出的對話框,上面選擇你要傳送到路由器內的新的IOS,下面選擇Xmodem協議。然后點擊發送,就可以了。
4.接下來就是文件傳輸的界面了,耐心些等待吧……
5.當顯示:DownloadComplete!信息時,就差不多萬事大吉了,不過做為列行的檢查還是必要的,用命令:dirflash:看看文件是不是已經正確無誤的傳過去了。
rommon1>dirflash:
FilesizeChecksumFilename
2179331bytes(0x214103)0x7b95c1600-nsy-mz_112-15a_p
6.使用reset或者bootflash:[filename]命令,如下顯示:
rommon1>reset
或者
rommon1>bootflash:c1600-nsy-mz_112-15a_P
重起路由器,進入正常的配置界面,IOS恢復就成功了,你可以檢查一些看看:showversion;showflash等。但是別忘了,剛才你把默認的控制線波特率9600改為115200了,要記得進入console配置線程下修改回來:
Router#confter
Router(config)#lineconsole0
Router(config-line)#speed9600
參考文檔地址:
http://www.cisco.com/en/US/products/hw/routers/ps259/products_tech_note09186a008015bfac.shtml
http://baike.baidu.com/link?url=1NVk-fQm3gMeaVkM2soQH2k_bLRG6slvC4QAnwYqPr-PFFJJe6kGmX76M9Tg25EG1Ko6lfUV3ZG5rkV1VNlk3a
http://blog.csdn.net/djsl6071/article/details/1586970
http://cisco.chinaitlab.com/base/904517.html
歡迎來群一起交流:166684620
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。