王星海
(中國電信股份有限公司楚雄分公司,云南 楚雄 675000)
計(jì)算機(jī)網(wǎng)絡(luò)設(shè)備芯片來源單一,斯諾登事件、芯片禁售事件給我們敲響了警鐘。芯片成為信息安全的重要隱患,是“卡脖子”的問題[5]?,F(xiàn)有網(wǎng)絡(luò)上的設(shè)備構(gòu)架過于復(fù)雜,體積大,功耗高,成本高。只有重新設(shè)計(jì)網(wǎng)絡(luò)設(shè)備的芯片構(gòu)架、簡(jiǎn)化網(wǎng)絡(luò),解決以上問題[4]。本文的方案專門應(yīng)用于政企網(wǎng)絡(luò),非運(yùn)營(yíng)商骨干網(wǎng)。
現(xiàn)有的網(wǎng)絡(luò)設(shè)備,是“專用集成電路”構(gòu)架,我們稱為A型構(gòu)架,以三層交換機(jī)為主導(dǎo)組建網(wǎng)絡(luò)?;谧灾髌胀呻娐罚瑏碓炊?,我們稱為B型構(gòu)架。怎樣重新構(gòu)建交換機(jī)、路由器、防火墻呢?
交換機(jī),是普通、簡(jiǎn)單的二層交換機(jī),使用自主成熟的芯片體系,設(shè)備結(jié)構(gòu)較為簡(jiǎn)單,無需操作系統(tǒng)、配置參數(shù),本文不再論述。
路由器、防火墻,使用成熟的簡(jiǎn)潔的芯片系統(tǒng)。使用多個(gè)網(wǎng)絡(luò)適配器的計(jì)算機(jī)平臺(tái)構(gòu)建,或使用帶多個(gè)網(wǎng)口的嵌入式平臺(tái)構(gòu)建。路由器、防火墻使用相同的芯片結(jié)構(gòu),設(shè)備上安裝不同的操作系統(tǒng)區(qū)別功能[1]。設(shè)備結(jié)構(gòu)是普通計(jì)算機(jī)結(jié)構(gòu),它擁有多個(gè)網(wǎng)卡。芯片體系構(gòu)架如下圖1。
圖1 路由器、防火墻結(jié)構(gòu)圖(Router、Firewall structure)
筆者在中國瑞芯微RK3399芯片的工程機(jī),該芯片基于ARM64構(gòu)架,開發(fā)了路由器、防火墻操作系統(tǒng)實(shí)現(xiàn)路由器、防火墻功能。軟件系統(tǒng)由開源技術(shù)改良、修改、內(nèi)核調(diào)整形成。
路由器設(shè)備支持的功能為:靜態(tài)路由;RIP(使用最廣泛的距離向量協(xié)議)OSPF(開放式最短路徑優(yōu)先路由協(xié)議);BGP(邊界網(wǎng)關(guān)協(xié)議,自治系統(tǒng)間的協(xié)議);VRRP(虛擬冗余路由協(xié)議);telnet、ssh網(wǎng)管;consle配置口。
防火墻設(shè)備支持的功能為:網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT);包過濾功能;pptp服務(wù)器;ipsec隧道功能;web網(wǎng)管;速率控制等功能。
路由器軟件系統(tǒng)基于開源Linux、Xorp。當(dāng)然,也可基于其他開源軟件開發(fā)。瑞芯微RK3399開發(fā)板支持Debian 9 Linux,該軟件可從網(wǎng)上下載[8],在windows 7系統(tǒng)下,使用軟件physdiskwrite 0.5.4,將Debian9寫入sd卡[9],在開發(fā)板上啟動(dòng)后,SSH登錄。依次執(zhí)行以下步驟:
重啟后,以用戶admin登錄,執(zhí)行命令cli,即可對(duì)設(shè)備進(jìn)行配置。
防火墻軟件也是以開源Linux、freeBSD為基礎(chǔ)開發(fā)。是通過網(wǎng)頁進(jìn)入,對(duì)操作系統(tǒng)的核心進(jìn)行控制,實(shí)現(xiàn)配置。詳細(xì)過程,本文不在論述。
在B型構(gòu)架的網(wǎng)絡(luò)中,采用“B構(gòu)架路由器+二層交換機(jī)”替代現(xiàn)網(wǎng)的三層交換機(jī)、路由器。
1.3.1 醫(yī)院、校園內(nèi)網(wǎng)
單位組建內(nèi)網(wǎng),用于內(nèi)部信息化、云計(jì)算、大數(shù)據(jù)等應(yīng)用[3],網(wǎng)絡(luò)構(gòu)架如下圖2所示。
圖2 醫(yī)院、校園網(wǎng)(Hospital、campus network)
在整個(gè)網(wǎng)絡(luò)圖中,淘汰了三層交換機(jī)。使用了B型構(gòu)架的路由器[10]、防火墻、普通交換機(jī)構(gòu)建網(wǎng)絡(luò)。云計(jì)算、大數(shù)據(jù)中心也是基于路由器、交換機(jī)的結(jié)構(gòu)。由防火墻網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)連接至其他專網(wǎng)或外網(wǎng)[2]。對(duì)于稍小的單位,也可組建簡(jiǎn)單的星型網(wǎng)絡(luò),本文不再描述。
1.3.2 覆蓋全國的黨政軍、企業(yè)、事業(yè)單位內(nèi)網(wǎng)
本解決方案以某大型企業(yè)內(nèi)網(wǎng)為例,詳細(xì)描述組網(wǎng)的范例,本范例還適用于覆蓋全國的黨政軍、企事業(yè)單位專網(wǎng)。
某大型企業(yè)A(以后簡(jiǎn)稱A公司),其業(yè)務(wù)遍布全國各地,其內(nèi)網(wǎng)也遍布全國各地,內(nèi)網(wǎng)從企業(yè)總部延伸至各省公司、州市公司、縣公司、鄉(xiāng)鎮(zhèn),使用內(nèi)網(wǎng)辦理業(yè)務(wù),辦公系統(tǒng)應(yīng)用等。網(wǎng)絡(luò)構(gòu)架如圖3所示。
圖3 廣域網(wǎng)(Wide area neiwork)
網(wǎng)絡(luò)由三級(jí)構(gòu)成:核心節(jié)點(diǎn);匯聚節(jié)點(diǎn);邊緣節(jié)點(diǎn)。核心節(jié)點(diǎn)設(shè)備用于連接各省間網(wǎng)絡(luò),在每省配備主備二臺(tái)路由器,和臨近的省對(duì)接,線路中斷、設(shè)備故障,設(shè)備自動(dòng)切換,保障網(wǎng)絡(luò)的暢通。匯聚節(jié)點(diǎn)用于匯聚省內(nèi)州市網(wǎng)絡(luò)。邊緣節(jié)點(diǎn)部署于縣市機(jī)構(gòu)。對(duì)于分支節(jié)點(diǎn)較多的情況,使用端口匯聚的方式和傳輸設(shè)備對(duì)接,以降低網(wǎng)絡(luò)維護(hù)的復(fù)雜度。
OSPF(Open Shortest Path First開放式最短路徑優(yōu)先)路由協(xié)議,是一種典型的鏈路狀態(tài)(Link-state)的路由協(xié)議,自治系統(tǒng)(Autonomous System),即AS內(nèi)的協(xié)議,它能在任意組成的網(wǎng)絡(luò)構(gòu)架找到路由,轉(zhuǎn)發(fā)信息。包括網(wǎng)狀網(wǎng)、星型、樹形網(wǎng)等,線路中斷、設(shè)備故障,能自動(dòng)計(jì)算路由,恢復(fù)網(wǎng)絡(luò)暢通。
所有的OSPF路由器都維護(hù)一個(gè)相同的描述這個(gè)AS結(jié)構(gòu)的數(shù)據(jù)庫,該數(shù)據(jù)庫中存放的是路由域中相應(yīng)鏈路的狀態(tài)信息,OSPF路由器是通過這個(gè)數(shù)據(jù)庫計(jì)算出其OSPF路由表的。作為一種鏈路狀態(tài)的路由協(xié)議,OSPF將鏈路狀態(tài)廣播數(shù)據(jù)包LSA(Link State Advertisement)傳送給在某一區(qū)域內(nèi)的所有路由器。
RIP(Routing Information Protocols,路由信息協(xié)議)是使用最廣泛的距離向量協(xié)議,其實(shí)現(xiàn)原理還是配置方法,都非常簡(jiǎn)單。RIP的版本分為版本2和版本1。
RIP的度量是基于跳數(shù)(hops count)的,每經(jīng)過一臺(tái)路由器,路徑的跳數(shù)加一。跳數(shù)越多,路徑就越長(zhǎng),RIP算法優(yōu)先選擇跳數(shù)少的路徑。RIP支持的最大跳數(shù)是15,跳數(shù)為16的網(wǎng)絡(luò)被認(rèn)為不可達(dá)[6]。
BGP(Border Gateway Protocol邊界網(wǎng)關(guān)協(xié)議)主要用于互聯(lián)網(wǎng)AS(自治系統(tǒng))之間的互聯(lián),是一種在自治系統(tǒng)之間動(dòng)態(tài)交換路由信息的路由協(xié)議。而自治系統(tǒng)的經(jīng)典定義是在一個(gè)管理機(jī)構(gòu)控制之下的一組路由器。
靜態(tài)路由是指由網(wǎng)絡(luò)管理員手工配置的路由信息。當(dāng)網(wǎng)絡(luò)的結(jié)構(gòu)或鏈路狀態(tài)發(fā)生變化時(shí),網(wǎng)絡(luò)管理員需要手工去修改路由信息,網(wǎng)絡(luò)方能暢通。復(fù)雜的網(wǎng)絡(luò)環(huán)境通常不宜采用靜態(tài)路由。網(wǎng)絡(luò)管理員難以全面地了解整個(gè)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu);當(dāng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)和鏈路狀態(tài)發(fā)生變化時(shí),路由器中的路由信息需要大范圍調(diào)整,提高了維護(hù)難度。
基于自主芯片的設(shè)備經(jīng)歷以下測(cè)試:
(1)時(shí)延,單臺(tái)設(shè)備0.2ms,包大小32字節(jié)。
(2)小包丟包率,0%,包大小32字節(jié),發(fā)包數(shù)1000。
(3)大包丟包率,0%,包大小1024字節(jié),發(fā)包數(shù)1000。
(4)BC工具大流量、多進(jìn)程網(wǎng)頁下載測(cè)試。
(5)多廠商路由協(xié)議對(duì)接測(cè)試,包括靜態(tài)路由rip、OSPF、BGP等。
(6)處理能力,數(shù)據(jù)轉(zhuǎn)發(fā)能力為最高為10G。
(7)在網(wǎng)運(yùn)行,生產(chǎn)環(huán)境穩(wěn)定性測(cè)試,時(shí)間一年。
測(cè)試結(jié)果,滿足現(xiàn)有內(nèi)網(wǎng)的網(wǎng)絡(luò)需求,可規(guī)?;逃?。
穩(wěn)定性依賴于操作系統(tǒng)的路由協(xié)議實(shí)現(xiàn)網(wǎng)絡(luò)自動(dòng)倒換,設(shè)備故障自動(dòng)切換。保證生產(chǎn)環(huán)境下7*24小時(shí)無故障運(yùn)行。開發(fā)商業(yè)應(yīng)用的設(shè)備時(shí),增強(qiáng)穩(wěn)定性,可使用雙電源、延長(zhǎng)在網(wǎng)試運(yùn)行時(shí)間、降低設(shè)備運(yùn)行溫度等方法。
通過計(jì)算機(jī)串口配置路由器,使用隨機(jī)配備的配置線,連接計(jì)算機(jī)串口和路由器的CONSOLE口,對(duì)于windows7電腦,可安裝軟件CRT對(duì)設(shè)備進(jìn)行配置。COM口設(shè)置為“9600/8/N/1/N”。
連接后,輸入用戶名/密碼“admin/a123456”,進(jìn)入配置,屏幕提示:
login: admin
Password:
Welcome to Router!
type command “cli” configure router
Welcome to router
鍵入命令“cli”,進(jìn)入路由器配置。
$ cli
Welcome to router.
查看可執(zhí)行的命令
admin@H.R > ?
Possible completions:
configure Switch to configuration mode
exit Exit this command session
help Provide help with commands
ping Ping a hostname or IP address
ping6 Ping an IPv6 hostname or IPv6 address
quit Quit this command session
show Display information about the system
traceroute Trace the IP route to a hostname or IP address
traceroute6 Trace the IPv6 route to a hostname or IPv6 address
進(jìn)入配置模式后,提示符變?yōu)椤?”
admin@H.R>configure (敲“空格”鍵補(bǔ)齊)
Entering configuration mode.
User admin is also in configuration mode.
[edit]
#set interfaces interface eth0 vif eth0 address 192.168.2.1 prefix-length 24
設(shè)置IP地址“192.168.2.1”,掩碼為24位,即:255.255.255.0。
#set protocols static route 192.168.8.0/24 next-hop 192.168.1.6
設(shè)置靜態(tài)路由,目標(biāo)地址為“192.168.8.0/24”,下一跳地址為“192.168.1.6”
#set protocols ospf4 area 192.168.2.1
設(shè)置OSPF為192.168.2.1區(qū)域
#set protocols ospf4 router-id 192.168.2.1
設(shè)置OSPF的router-id為192.168.2.1
# commit //使路由器配置生效
# save /r/run.conf //保存配置
admin@H.R# show //查看設(shè)備配置。
admin@H.R# show pro //配置時(shí),可采用“空格”鍵,對(duì)指令進(jìn)行補(bǔ)齊。
admin@H.R# show protocols
配置時(shí),可采用“PAGE UP”、“Page Down”鍵上翻、下翻已執(zhí)行過的指令。
筆者開發(fā)、測(cè)試時(shí),路由協(xié)議和多種設(shè)備對(duì)接成功,以下為和H3C路由器對(duì)接時(shí)的范例,使用的路由協(xié)議為OSPF,設(shè)備連接如下:
計(jì)算機(jī)--(eth1)路由器A(eth0)--(eth0/0)H3C路由器B(eth0/1)--計(jì)算機(jī)
路由器A為B型構(gòu)架設(shè)備,執(zhí)行的配置指令如下:
set interfaces interface eth1 vif eth1 address 192.168.6.1 prefix-length 24
set interfaces interface eth0 vif eth2 address 192.168.3.2 prefix-length 30
set protocols ospf4 area 0.0.0.0
set protocols ospf4 router-id 192.168.6.1
set protocols ospf4 area 0.0.0.0 interface eth0 vif eth0 address 192.168.3.9
set protocols ospf4 area 0.0.0.0 area-range
192.168.6.0/24
set policy policy-statement a1 term a1 from protocol connected
set protocols ospf4 export a1
路由器B為H3C路由器,配置如下:
interface Ethernet0/0
ip address 192.168.3.1 255.255.255.252
port link-mode route
#
interface Ethernet0/1
ip address 192.168.1.1 255.255.255.0
port link-mode route
#
ospf 100 router-id 192.168.1.1
import-route direct
area 0.0.0.0
network 192.168.3.0 0.0.0.7
綜上所述,本文實(shí)現(xiàn)了通過軟件匹配、構(gòu)架調(diào)整,搭建基于自主芯片的計(jì)算機(jī)網(wǎng)絡(luò),它結(jié)構(gòu)簡(jiǎn)單、節(jié)能、體積小,是唯一不受制約的通信系統(tǒng),可大幅提高行業(yè)信息安全水平,有良好的應(yīng)用前景。