Juniper的路由器分爲兩個部分——RE和PFE。不過貌似大部分路由器都分爲這兩個部分。。。。web
Routing Engine:數據庫
當密碼受權經過以後,用戶就進入了RoutingEngine中,在其中能夠進行軟件升級,配置,ping,telnet等操做。這是邏輯存儲JunOS的位置,路由器經過Routing Engine操做各類路由協議,比對各個路由以後選出最佳路由。而後將最佳路由裝載進ForwardingTable,並將Forwarding Table拷貝進Packet Forwarding Engine,在PacketForwarding Engine中的轉發表才能夠真正轉發用戶數據。併發
包括組件:app
Routing Engine2:存在於M系列路由器中,333MHz處理器和768MB內存,80MB的flash存儲和6.4GB的硬盤。M40包括LS 120 外部存儲硬盤,其餘型號爲可移除的PCMCIA閃存卡做爲外部存儲。dom
Routing Engine3:存在於T系列路由器中(T320,T640),最新的JunOS可讓M系列路由器也加載該引擎。660MHz的處理器,2GB內存,128MB內部flash,30GB硬盤,可移除PCMCIA閃存卡做爲外部存儲。測試
Routing Engine中的內存是用來存儲路由表,轉發表,鏈路狀態數據庫和操做系統內存的。ui
內部的flash存儲了JunOS的操做系統和configuration file,spa
硬盤是用來存儲,JunOS的備份,日誌文件,debug信息和用戶文件的操作系統
JunOS適用於全系列的RoutingEngine,不須要由於Routing Engine更換而換JunOSdebug
Packet Forwarding Engine
負責轉發數據,包含一系列的ASIC,加速數據轉發。與Routing Engine比,不智能
主要部件:
PIC(Physical interface card),FlexiblePIC concentrator, switchingcontrol board
每一個部件上都有IBM製造的ASIC
Switching control board(FEB,SSB,SCB,SFM,MMB) 包含了一個PPC CPU,64MB的內存,可是不會參與包轉發。×××AM中8MB(16MB)包含了轉發表——8MB有45萬條轉發條目。Switching control board上的internet processorASIC進行路由查找,上面還有一個ASIC會進行包存儲的內存管理
Flexible PIC concentrator:鏈接PIC和SCB,其中有個PPC的CPU,64MB內存跑一個嵌入式系統,不參加數據轉發,可是FPC上有個ASIC會和出站和進站的數據包互動
PCI:在FPC上有4個獨立的PIC.
在JunOS中包括如下幾個daemon:
1、routingprotocol daemon(rpd):控制路由協議,包括了協議信息,路由表更新和路由策略。
2、Device ControlDaemon(dcd):配置和維護路由器接口所用,控制了接口的物理和邏輯屬性
3、ManagementDaemon(mgd): 控制了用戶進入路由器。CLI就是一個MGD的客戶端
4、ChassisDaemon(chassisd):控制了路由器自己的屬性,好比midplane,FPC等
5、PacketForwarding Engine Daemon(PFED):聯繫routing engine和packet forwarding engine的進程。
JunOS包括的軟件:
jkernel:包括了基本的JUNOS組件
jbase:和jkernel相比,包括了一些附加軟件
jroute:包括了在routingengine上操做的軟件,如單播協議,組播協議,MPLS等。還包括了一些daemons,如mgd
jpfe:包含了控制PacketForwarding Engine的嵌入式系統。
jdocs:包括了徹底的JUNOS軟件文檔集
jcrypto:包括了IPSec和SSH
jbundle:包括了以上全部軟件
JUNOS軟件命名:
File list jbundle*
/var/home/user/jbundle-5.2R1.4-domestic-signed.tgz
5.2爲主版本號
R表明公開發行(A——alpha version,B——Beta,I——internal or test)
1.4——releaseversion
domestic——包括jcrypto
signed——可使用MD5
軟件升級:
Show version brief
Request system software addjbundle-5.3R2.4-domestic-signed.tgz(新的軟件名稱)
啓動順序:
可移除存儲(作災備,會還原到出廠環境)——>內部flash——>硬盤(先要用requst system snapshot來作鏡像,會有警告信息)——>systemhalt
CLI
有兩個模式:
Operation mode:至關於enable,登陸路由器後首先進入該模式, >表示。
Configuration mode:至關於config terminal
有補全功能——tab或空格
幫助:?
快捷鍵:
Ctrl+P:上一條命令
Ctrl+N:下一條命令
Ctril+B:命令提示符向左移一位
Ctrl+F:向右移一位
Esc+B:向左移一個單詞
Esc+F:向右移一個單詞
Ctrl+A:移到行首
Ctrl+E:移到行尾
Ctrl+W:刪除左邊的一個單詞
Ctrl+X:刪除整行
Ctrl+L:整行變紅
能夠用|符來作更多的操做
Count
display
Except
Find
Hold
Match
No-more
Resolve
Save
Trim
Show interfaces terse 查看路由器上的邏輯接口
Show interfaces terse | match inet 查看接口IP地址
Show interfaces terse | match inet |count 看有幾個接口有IP地址
當show命令輸出過多,顯示--More時,能夠按h鍵,輸入命令
/鍵位查找。
Configuration Mode
輸入configure進入該模式
Run
至關於cisco中的do,run showinterfaces ter
Run show route
Edit 模式
用來修改Juniper的各項參數。樹狀列表以下所示
如須要編輯bgp,則在頂部菜單輸入
Edit protocols bgp
或edit protocols , 而後 edit bgp.
如需返回上層菜單,則輸入up,如需返回頂部,則輸入top。
改變值,用命令set. 如設置系統名:
Edit system
Set host-name XX
或set system host-name XX.
而後用show查看,show system
用delete命令來刪除配置。
Delete system host-name XX.
CandidateConfiguration:
當配置改變時,不會立刻生效,由於改變的是cadidateconfiguration。須要用commit來確認配置以後,才能生效
用show | compare能夠查看如今運行的configuration和candidate configuration的區別。
+說明在candidateconfiguration但不在active configuration
-說明在candidateconfig中將其刪除了
保存和讀取配置
在top下:save comm(comm爲文件名)
Load comm來讀取文件。
load overrid comm 覆蓋現有配置
load merge comm 把如今的配置和comm合併
Show | find ospf
Load merge terminal,而後將其餘路由器上的配置粘帖上去,而後按ctrl+D,保存配置
Commit
只有在輸入commit以後,配置才能生效。當輸入commit以後,JunOS首先檢查語法和邏輯錯誤,好比應用策略卻沒有建立這個策略。若是沒有錯誤,路由器應用該配置文件而且搭建該配置所需的環境。最後保存。
Commit and-quit 退出配置模式,若是commit成功
Commit at 在某時執行commit
Commit check 只作檢查操做,不該用commit
Commit confirmed 若是沒確認,自動回滾——>至關於rollback 1, commit
Commit synchronize 在全部的RE上同步commit
恢復
JunOS一共能保存9個文件供恢復使用。
當前使用的配置文件爲juniper.conf,最近一次更改的爲juniper.conf.1.gz
Commit 發現配置不對
Rollback 1
Commit 再次確認配置
JUNOS上的存儲目錄
/config 在內部flash上,保存JUNOS的active configuration(juniper.conf)和回退文件1,2,3
/var/db/config 在路由器的內部硬盤中,包括了回退文件4-9
/var/temp 在內部硬盤中,由守護進程啓動失敗後釋放的一些文件,用來分析
/var/log 在內部硬盤內,由路由器的日誌功能和追蹤(traceoption)功能釋放的文件
/var/home 在內部硬盤上,包含了登陸用戶的文件夾,其內有各類junos軟件命令
/altroot 在內部硬盤上,有拷貝自flash上的root文件結構,用於災難恢復。
/altconfig 在內部硬盤上,有/config的拷貝(從flash中的拷貝),作災難恢復用。
RE的冗餘
M20,M40e,M160支持RE的冗餘,一個爲主,一個爲備。
默認狀況下,當主REdown掉,備份RE不會自動切換爲主,須要配置。
Set chassis redundancy failover on-loss-of-keealives
Set chassis redundancy keepalive-time 30默認20s以後切換
PFE組件
PIC I/O Manager ASIC——數據幀校驗,負責將報文移動到傳輸介質
I/O Manager ASIC——對二三層頭部完整性信息校驗,若是有效,將報文分紅定長64字節的J-cell,併發送給DBM ASIC
Distributed Buffer Manager ASIC——InboundASIC中收到J-cell,生成通知信元,發給Internet Processor ASIC,並將J-cell經過I/O manager ASIC放到每一個FPC的共享內存池中。
Internet Processor ASIC——將通知信元經過查詢轉發錶轉換成結果信元,告知outbound distributed buffer manager ASIC如何處理J-cell。再將J-cell發到outboundI/O manager ASIC中,再發到outbound PIC I/O manager ASIC上,完成數據轉發。
單播包流程:
多播包流程:
只有一點不一樣,結果信元檢查後有多個出口,會將包複製成多分,發到出口出去。
列外流量:
發到RE的流量,通常是路由器維護自身進程的流量,如ICMP,PING,TELNET,SSH,包含IP OPTION字段的流量,回覆目標不可達信息的流量等。
總結
RE:操縱路由並構成路由轉發表,將其複製一份到PFE,
PFE:實現數據的真正轉發
JunOS軟件存儲在內部flash,內部硬盤,可移除閃存中。啓動順序:可移除閃存——>內部flash——>內部硬盤
知道commit,rollback,save,load的用法
知道ASIC在PFE中的做用,四種ASIC:PICI/O Manager ASIC,I/O Manager ASIC,DistributedBuffer Manager ASIC,Internet Processor ASIC
簡述數據包在PFE中的流程:
接口收到一個數據包,I/OManager 將其分解成J-cell,DistributedBuffer Manager ASIC 將該包儲存到共享內存池中,Internet ProcessorASIC完成路由查找並將結果發送給Distributed Buffer ManagerASIC,DBMA將J-cell轉發給出站I/Omanager ASIC。在通過隊列調整後,I/O manager ASIC從共享內存池中收到J-cell,並將其重組,而後發到出站PICI/O Manager ASIC
例外流量:路由器維護自身進程的,或者一些測試流量,終止於路由器自己。控制面板的CPU會轉發這些流量,不會經由PFE處理。