新華三:2022 PCEP技術白皮書(12頁).pdf

編號:125617 PDF 12頁 305.94KB 下載積分:VIP專享
下載報告請您先登錄!

新華三:2022 PCEP技術白皮書(12頁).pdf

1、SNMP 技術白皮書 Copyright 2019 新華三技術有限公司 版權所有,保留一切權利。非經本公司書面許可,任何單位和個人不得擅自摘抄、復制本文檔內容的部分或全部,并不得以任何形式傳播。除新華三技術有限公司的商標外,本手冊中出現的其它公司的商標、產品標識及商品名稱,由各自權利人擁有。本文中的內容為通用性技術信息,某些信息可能不適用于您所購買的產品。i 目 錄 1 概述 1 1.1 產生背景 1 1.2 技術優點 1 2 SNMP 技術實現 1 2.1 SNMP 網絡架構 1 1.2.1 NMS 簡介 1 1.2.2 Agent 簡介 2 1.2.3 MIB 簡介 2 2.2 SNMP

2、版本 3 1.2.4 SNMPv1 4 1.2.5 SNMPv2c 4 1.2.6 SNMPv3 4 2.3 SNMP 操作 4 2.4 SNMP 報文 4 1.2.7 SNMPv1 報文 5 1.2.8 SNMPv2c 報文 6 1.2.9 SNMPv3 報文 6 2.5 SNMP 協議原理 7 1.2.10 SNMPv1 和 SNMPv2c 實現機制 7 1.2.11 SNMPv3 實現機制 8 2.6 SNMP 靜默功能 9 2 H3C 實現的技術特色 9 3 典型組網應用 10 3.1 組網圖 10 4 參考文獻 10 1 1 概述概述 1.1 產生背景 如今,網絡與人們的生活和工作聯

3、系越來越緊密,但隨著網絡的普及引發了兩大問題:網絡規模逐漸增大,網絡設備的數量成級數增加,網絡管理員很難及時監控所有設備的狀態、發現并修復故障。網絡設備可能來自不同的廠商,如果每個廠商都提供一套獨立的管理接口(比如命令行),將使網絡管理變得越來越復雜。為解決以上兩大問題,一套覆蓋服務、協議和管理信息庫的標準(SNMP)應運而生。1.2 技術優點 SNMP 是管理進程(NMS)和代理進程(Agent)之間的通信協議。它規定了在網絡環境中對設備進行監視和管理的標準化管理框架、通信的公共語言、相應的安全和訪問控制機制。網絡管理員使用 SNMP 功能可以查詢設備信息、修改設備的參數值、監控設備狀態、自

4、動發現網絡故障、生成報告等。SNMP 具有以下技術優點:基于 TCP/IP 互聯網的標準協議,傳輸層協議一般采用 UDP。自動化網絡管理。網絡管理員可以利用 SNMP 平臺在網絡上的節點檢索信息、修改信息、發現故障、完成故障診斷、進行容量規劃和生成報告。屏蔽不同設備的物理差異,實現對不同廠商產品的自動化管理。SNMP 只提供最基本的功能集,使得管理任務與被管設備的物理特性和實際網絡類型相對獨立,從而實現對不同廠商設備的管理。簡單的請求應答方式和主動通告方式相結合,并有超時和重傳機制。報文種類少,報文格式簡單,方便解析,易于實現。SNMPv3 版本提供了認證和加密安全機制,以及基于用戶和視圖的訪

5、問控制功能,增強了安全性。2 SNMP 技術實現技術實現 2.1 SNMP網絡架構 SNMP 網絡架構由三部分組成:NMS、Agent 和 MIB。1.2.1 NMS簡介 NMS 是網絡中的管理者,是一個利用 SNMP 協議對網絡設備進行管理和監視的系統。NMS 既可以指一臺專門用來進行網絡管理的服務器,也可以指某個設備中執行管理功能的一個應用程序。NMS 可以向 Agent 發出請求,查詢或修改一個或多個具體的參數值。同時,NMS 可以接收 Agent主動發送的 Trap 信息,以獲知被管理設備當前的狀態。2 1.2.2 Agent簡介 Agent 是網絡設備中的一個應用模塊,用于維護被管理

6、設備的信息數據并響應 NMS 的請求,把管理數據匯報給發送請求的 NMS。Agent 接收到 NMS 的請求信息后,完成查詢或修改操作,并把操作結果發送給 NMS,完成響應。同時,當設備發生故障或者其他事件的時候,Agent 會主動發送 Trap 信息給 NMS,通知設備當前的狀態變化。1.2.3 MIB簡介 1.MIB 任何一個被管理的資源都表示成一個對象,稱為被管理的對象。MIB 是被管理對象的集合。它定義了被管理對象的一系列屬性:對象的名稱、對象的訪問權限和對象的數據類型等。每個 Agent 都有自己的 MIB。MIB 也可以看作是 NMS 和 Agent 之間的一個接口,通過這個接口,

7、NMS 可以對 Agent中的每一個被管理對象進行讀/寫操作,從而達到管理和監控設備的目的。NMS、Agent 和 MIB 之間的關系如圖 1 所示。圖1 NMS、Agent 和 MIB 關系圖 2.MIB 視圖 MIB視圖是MIB的子集合,配置Agent時用戶可以將團體名/用戶名與MIB視圖綁定,從而限制NMS能夠訪問的 MIB 對象。用戶可以配置 MIB 視圖內的對象為 excluded 或 included。excluded 表示當前視圖不包括該 MIB 子樹的所有節點;included 表示當前視圖包括該 MIB 子樹的所有節點。3.OID 和子樹 MIB 是以樹狀結構進行存儲的。樹的

8、節點表示被管理對象,它可以用從根開始的一條路徑唯一地識別,這條路徑就稱為 OID)。如圖 2 所示。管理對象 system 可以用一串數字1.3.6.1.2.1.1唯一標識,這串數字就是 system 的 OID。子樹可以用該子樹根節點的 OID 來標識。如以 private 為根節點的子樹的 OID 為 private 的 OID1.3.6.1.4。AgentNMSMIBGet/Set operationsTraps and informs 3 圖2 MIB 樹結構示意圖 4.子樹掩碼 子樹掩碼可以和子樹 OID 共同來確定一個視圖的范圍。子樹掩碼用十六進制格式表示,轉化成二進制后,每個比特

9、位對應 OID 中的一個小節,其中,1 表示精確匹配,即要訪問的節點 OID 與 MIB 對象子樹 OID 對應小節的值必須相等;0 表示通配,即要訪問的節點 OID 與 MIB 對象子樹 OID 對應小節的值可以不相等。例如:子樹掩碼為 0 xDB(二進制格式為 11011011),子樹 OID 為 1.3.6.1.6.1.2.1,則對應關系如圖 3 所示,所確定的視圖就包括子樹 OID 為 1.3.*.1.6.*.2.1(*表示可為任意數字)的子樹下的所有節點。圖3 子樹 OID 與子樹掩碼對應關系圖 若子樹掩碼的 bit 數目大于子樹 OID 的小節數,則匹配時,子樹掩碼的第一位與子樹

10、OID 的第一小節對齊,第二位與第二小節對齊,以此類推,子樹掩碼中多出的 bit 位將被忽略 若子樹掩碼的 bit 數目小于子樹 OID 的小節數,則匹配時,子樹掩碼的第一位與子樹 OID 的第一小節對齊,第二位與第二小節對齊,以此類推,子樹掩碼中不足的 bit 位將自動設置為 1;如果沒有指定子樹掩碼,則使用缺省子樹掩碼(全 1)。2.2 SNMP版本 SNMP 主要有 SNMPv1、SNMPv2c、SNMPv3 幾種最常用的版本。ccit(0)iso(1)joint-iso-ccit(2)org(3)dod(6)internet(1)directory(1)mgmt(2)experimen

11、tal(3)private(4)mib-2(1)1.3.6.1.2.1enterprises(1)system(1)interface(2)at(3)ip(4)icmp(5)tcp(6)udp(7)4 1.2.4 SNMPv1 SNMPv1 是 SNMP 協議的最初版本,提供最小限度的網絡管理功能。SNMPv1 的 SMI 和 MIB 都比較簡單,且存在較多安全缺陷。SNMPv1 采用團體名認證。團體名的作用類似于密碼,用來限制 NMS 對 Agent 的訪問。如果 SNMP報文攜帶的團體名沒有得到 NMS/Agent 的認可,該報文將被丟棄。1.2.5 SNMPv2c SNMPv2c 也采用

12、團體名認證。在兼容 SNMPv1 的同時又擴充了 SNMPv1 的功能:它提供了更多的操作類型(GetBulk 操作等);支持更多的數據類型(Counter32 等);提供了更豐富的錯誤代碼,能夠更細致地區分錯誤。1.2.6 SNMPv3 SNMPv3 主要在安全性方面進行了增強,它采用了 USM 和 VACM 技術。USM 提供了認證和加密功能,VACM 確定用戶是否允許訪問特定的 MIB 對象以及訪問方式。1.USM(基于用戶的安全模型)USM 引入了用戶名和組的概念,可以設置認證和加密功能。認證用于驗證報文發送方的合法性,避免非法用戶的訪問;加密則是對 NMS 和 Agent 之間傳輸的

13、報文進行加密,以免被竊聽。通過有無認證和有無加密等功能組合,可以為 NMS 和 Agent 之間的通信提供更高的安全性。2.VACM(基于視圖的訪問控制模型)VACM 技術定義了組、安全等級、上下文、MIB 視圖、訪問策略五個元素,這些元素同時決定用戶是否具有訪問的權限,只有具有了訪問權限的用戶才能管理操作對象。在同一個 SNMP 實體上可以定義不同的組,組與 MIB 視圖綁定,組內又可以定義多個用戶。當使用某個用戶名進行訪問的時候,只能訪問對應的 MIB 視圖定義的對象。2.3 SNMP操作 SNMP 支持多種操作,主要為以下幾種基本操作:Get 操作:NMS 使用該操作從 Agent 獲取

14、一個或多個參數值。GetNext 操作:NMS 使用該操作從 Agent 獲取一個或多個參數的下一個參數值。Set 操作:NMS 使用該操作設置 Agent 一個或多個參數值。Response 操作:Agent 返回一個或多個參數值。該操作是前面三種操作的響應。Trap 操作:Agent 主動發出的操作,通知 NMS 有某些事情發生。Inform操作:Agent主動發出的操作,通知NMS有某些事情發生。NMS收到Inform報文后,需要給 Agent 發送確認報文。缺省情況下,執行前四種操作時設備使用 UDP 協議采用 161 端口發送報文,執行 Trap 和 Inform操作時設備使用 UD

15、P 協議向 NMS 的 162 端口發報文。由于收發采用了不同的端口號,所以一臺設備可以同時作為 Agent 和 NMS。2.4 SNMP報文 根據 SNMP 的不同版本和不同操作,定義了以下報文格式:5 1.2.7 SNMPv1報文 圖4 SNMPv1 報文格式 從圖 4 可以看出,SNMP 消息主要由 Version、Community、SNMP PDU 幾部分構成。其中,報文中的主要字段定義如下:Version:SNMP 版本。Community:團體名,用于 Agent 與 NMS 之間的認證。團體名有可讀和可寫兩種,如果是執行 Get、GetNext 操作,則采用可讀團體名進行認證;

16、如果是執行 Set 操作,則采用可寫團體名進行認證。Request ID:用于匹配請求和響應,SNMP 給每個請求分配全局唯一的 ID。Error status:用于表示在處理請求時出現的狀況,包括 noError、tooBig、noSuchName、badValue、readOnly、genErr。Error index:差錯索引。當出現異常情況時,提供變量綁定列表(Variable bindings)中導致異常的變量的信息。Variable bindings:變量綁定列表,由變量名和變量值對組成。enterprise:Trap 源(生成 Trap 信息的設備)的類型。Agent addr:

17、Trap 源的地址。Generic trap:通用 Trap 類型,包括 coldStart、warmStart、linkDown、linkUp、authenticationFailure、egpNeighborLoss、enterpriseSpecific。Specific trap:企業私有 Trap 信息。Time stamp:上次重新初始化網絡實體和產生 Trap 之間所持續的時間,即 sysUpTime 對象的取值。SNMP messageGet/GetNext/Set PDUResponse PDUTrap PDUVariable bindingsVersionCommunityS

18、NMP PDUPDU typeRequest ID00Variable bindingsPDU typeRequest IDError statusError indexPDU typeenterpriseAgent addrGeneric trapSpecific trapTime stampVariable bindingsName1Value1Name2Value2NamenValuenVariable bindings 6 1.2.8 SNMPv2c報文 圖5 SNMPv2c 報文格式 比較 SNMPv1 而言,SNMPv2c 新增了 GetBulk 操作報文。GetBulk 操作所對

19、應的基本操作類型是GetNext 操作,通過對 Non repeaters 和 Max repetitions 參數的設定,高效率地從 Agent 獲取大量管理對象數據。SNMPv2c 修改了 Trap 報文格式。SNMPv2c Trap PUD 采用 SNMPv1 Get/GetNext/Set PDU 的格式,并將 sysUpTime 和 snmpTrapOID 作為 Variable bindings 中的變量來構造報文。1.2.9 SNMPv3報文 SNMPv3 修改了消息的格式,但是 PDU 部分的格式同 SNMPv2c 是保持一致的。圖 6 只列出消息格式。圖6 SNMPv3 消息

20、格式 其中,整個 SNMPv3 消息可以使用認證機制,并對 EngineID、ContextName、PDU 消息體部分進行加密。RequestID、MaxSize、Flags、SecurityModel、SecurityParameters 構成 SNMPv3 消息頭。報文中的主要字段定義如下:RequestID:請求報文的序列號。MaxSize:消息發送者所能夠容納的消息最大字節,同時也表明了發送者能夠接收到的最大字節數。Flags:消息標識位,占一個字節,只有最低的三個比特位有效,比如 0 x0 表示不認證不加密,0 x1 表示認證不加密,0 x3 表示認證加密,0 x4 表示發送 re

21、port PDU 標志等。SecurityModel:消息的安全模型值,取值為 03。0表示任何模型,1表示采用 SNMPv1安全模型,2 表示采用 SNMPv2c 安全模型,3 表示采用 SNMPv3 安全模型。ContextEngineID:唯一識別一個 SNMP 實體。對于接收消息,該字段確定消息該如何處理;對于發送消息,該字段在發送一個消息請求時由應用提供。ContextName:唯一識別在相關聯的上下文引擎范圍內部特定的上下文。SecurityParameters 又包括以下主要字段:AuthoritativeEngineID:消息交換中權威 SNMP 的 snmpEngineID,

22、用于 SNMP 實體的識別、認證和加密。該取值在 Trap、Response、Report 中是源端的 snmpEngineID,對 Get、GetNext、GetBulk、Set 中是目的端的 snmpEngineID。Variable bindingsValue1snmpTrapOID.0Value2Variable bindingsTrap PDU(SNMPv2c)PDU typeRequest ID00GetBulk PDUPDU typeRequest IDNon repeatersMax repetitionssysUpTime.0SNMPv3 messageVersionRequ

23、estIDMaxSizeFlagsSecurity ModelSecurity ParametersContextEngineIDContext NamePDU 7 AuthoritativeEngineBoots:消息交換中權威 SNMP 的 snmpEngineBoots。表示從初次配置時開始,SNMP 引擎已經初始化或重新初始化的次數。AuthoritativeEngineTime:消息交換中權威 SNMP 的 snmpEngineTime,用于時間窗判斷。UserName:用戶名,消息代表其正在交換。NMS 和 Agent 配置的用戶名必須保持一致。AuthenticationPara

24、meters:認證參數,認證運算時所需的密鑰。如果沒有使用認證則為空。PrivacyParameters:加密參數,加密運算時所用到的參數,比如 DES CBC 算法中形成初值IV 所用到的取值。如果沒有使用加密則為空。2.5 SNMP協議原理 1.2.10 SNMPv1和SNMPv2c實現機制 SNMPv1/SNMPv2c 實現機制基本一致,SNMPv2c 豐富了錯誤碼,新增了 GetBulk 操作。下面以在 SNMPv1 版本環境執行 Get、GetNext 和 Set 操作為例來描述 SNMPv1/SNMPv2c 的實現機制。1.Get 操作 NMS想要獲取被管理設備MIB節點sysNa

25、me的值(sysName對象在允許訪問視圖內),使用public為可讀團體名,過程如下:(1)NMS 給 Agent 發送 Get 請求,請求報文主要字段將被設置為:Version 字段的值為 1,Community 字段的值為 public,PDU 里 Variable bindings 中 Name1 字段的值為sysName.0。(2)Agent 給 NMS 發送 Get 響應,說明是否獲取成功。如果成功,則 Response PDU 里 Variable bindings 中 Value1 字段的值為設備的名字(比如 Agent010-H3C);如果獲取失敗,則在 Error stat

26、us 字段填上出錯的原因,在 Error index 填上出錯的位置信息。圖7 Get 操作示意圖 2.GetNext 操作 NMS 想要獲取被管理設備 MIB 節點 sysName 的下一個節點 sysLocation 的值(sysName 和sysLocation 對象都在允許訪問視圖內),使用 public 為可讀團體名,過程如下:(1)NMS 給 Agent 發送 GetNext 請求,請求報文主要字段將被設置為:Version 字段的值為 1,Community 字段的值為 public,PDU 里 Variable bindings 中 Name1 字段的值為sysName.0。(

27、2)Agent 給 NMS 發送 GetNext 響應。如果成功,則 Response PDU 里 Variable bindings 中Name1 字段值為 sysName.0 的下一個節點 sysLocation.0,Value1 字段的值為(比如 Beijing China);如果獲取失敗,則在 Error status 字段填上出錯的原因,在 Error index 填上出錯的位置信息。請求獲取sysName節點的值Agent獲取sysName的值,并響應NMSNMSAgent 8 圖8 GetNext 操作示意圖 3.Set 操作 NMS 想要設置被管理設備 MIB 節點 sysNa

28、me 的值為 Device01,使用 private 為可寫團體名,過程如下:(1)NMS 給 Agent 發送 Set 請求,請求報文主要字段將被設置為:Version 字段的值為 1,Community字段的值為private,PDU里Variable bindings中Name1字段的值為sysName.0,Value1 字段的值填為 Device01。(2)Agent 給 NMS 發送 Set 響應,說明是否設置成功。如果成功,則 Response PDU 里 Variable bindings 中 Value1 字段的值填為設備的新名字(比如 Device01);如果設置失敗,則在

29、Error status 字段填上出錯的原因,在 Error index 填上出錯的位置信息。圖9 Set 操作示意圖 4.Trap 操作 當設備發生某些異常需要通知 NMS 時,Agent 會主動發出 Trap 報文。例如:設備某端口網線被拔出,Agent發送linkDown的Trap消息給NMS。Version字段的值為1,Community字段的值為public,PDU 中 enterprise 字段為 sysObjectID.0 的取值(比如為 enterprises.25506),Generic trap 字段值為 linkDown,Variable bindings 字段攜帶接口相

30、關信息。圖10 Trap 操作示意圖 1.2.11 SNMPv3實現機制 SNMPv3 各操作的實現機制同 SNMPv1 和 SNMPv2c 基本一樣,其主要區別在于 SNMPv3 新增加了認證和加密、解密的處理。下面以 SNMPv3 使用認證和加密方式執行 get 操作為例來描述其實現機制,過程如下:(1)NMS 首先發送不帶任何認證和加密參數的 Get 請求,Flags 字段設置為 0 x4,以獲取contextEngineID、contextName、AuthoritativeEngineID、AuthoritativeEngineBoots、AuthoritativeEngineTim

31、e 等相關參數的值。請求獲取sysName下一個節點的值Agent獲取sysLocation的值,并響應NMSNMSAgentNMS要求設置sysName節點的值為Device01Agent設置sysName節點的值為Device01,并響應NMSNMSAgent發送linkDown的trap消息,報文攜帶接口相關信息NMSAgent 9(2)Agent 解析消息,發送 report 報文,并攜帶上述相關參數的值。(3)NMS 再次給 Agent 發送 Get 請求,請求報文主要字段將被設置為:Version 字段的值為 3,將(2)獲取到的參數值填入相應字段,PDU 里 Variable b

32、indings 中 Name1 字段的值為sysName.0,并且根據配置的認證算法計算出 AuthenticationParameters,使用配置的加密算法計算出 PrivacyParameters,并使用配置的加密算法對 PDU 數據進行加密。(4)Agent 首先對消息進行認證,認證通過后對 PDU 報文進行解密。解密成功后,則獲取sysName.0 對象的值,并將 Response PDU 里 Variable bindings 中 Value1 字段的值填為設備的名字(比如 Agent010)。如果認證、解密失敗或者獲取參數值失敗,則在 Error status字段填上出錯的原因,

33、在 Error index 填上出錯的位置信息。最后對 PDU 進行加密,設置contextEngineID、contextName、AuthoritativeEngineID、AuthoritativeEngineBoots、AuthoritativeEngineTime、AuthenticationParameters、PrivacyParameters 等參數,發送響應報文。圖11 SNMPv3 Get 操作示意圖 2.6 SNMP靜默功能 設備使用 SNMP 靜默功能可以自動檢測并防御 SNMP 攻擊。其原理為:用戶開啟 SNMP 功能后,設備會自動創建 SNMP 靜默定時器,并統計

34、1 分鐘內收到的認證失敗的 SNMP 報文的個數:如果個數小于 100,則自動重新開始計數。如果個數大于等于 100,則認為設備受到了 SNMP 攻擊,SNMP 模塊會進入靜默狀態,設備將不再響應收到的任何 SNMP 報文。靜默時間為 5 分鐘,5 分鐘后,自動重新開始計數。2 H3C實現的技術特色實現的技術特色 H3C設備支持SNMPv1、SNMPv2c、SNMPv3三個版本,為了兼容SNMPv3,SNMPv1和SNMPv2c版本也可以配置組、用戶和視圖,這時,只需要將 NMS 側的團體名參數設置為設備上配置的用戶名即可。用戶可以同時使能多個版本,但需要和 NMS 側的版本一致。Get請求獲

35、取SecurityParameters參數返回SecurityParameters參數值NMSAgent使用獲取的參數對消息鑒別、數據加密發送Get請求,獲取sysName的值如果SecurityParameters參數合法,對消息鑒別、數據解密,獲取sysName的值,響應NMS 10 3 典型組網典型組網應用應用 3.1 組網圖 如圖 12 所示,網絡中存在不同廠商的設備,以及同一廠商的不同型號的設備。NMS 通過 SNMP 協議對 Agent 進行監控管理,Agent 只接受 IP 地址為 1.1.1.1 的 NMS 的管理,Agent 發生故障時能主動向 NMS 發送告警信息。圖12

36、SNMP 典型組網圖 4 參考文獻參考文獻 與 SNMP 相關的協議規范有:RFC 1155:Structure and Identification of Management Information for TCP/IP-based Internets RFC 2578:Structure of Management Information Version 2(SMIv2)RFC 2579:Textual Conventions for SMIv2 RFC 3411:An Architecture for Describing Simple Network Management Proto

37、col(SNMP)Management Frameworks RFC 3412:Message Processing and Dispatching for the Simple Network Management Protocol(SNMP)RFC 3414:User-based Security Model(USM)for version 3 of the Simple Network Management Protocol(SNMPv3)RFC 3415:View-based Access Control Model(VACM)for the Simple Network Management Protocol(SNMP)H3C Agent1.1.1.3/24H3C Agent1.1.1.2/24NMS1.1.1.1/24IP network

友情提示

1、下載報告失敗解決辦法
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站報告下載后的文檔和圖紙-無水印,預覽文檔經過壓縮,下載后原文更清晰。

本文(新華三:2022 PCEP技術白皮書(12頁).pdf)為本站 (匆匆忙忙) 主動上傳,三個皮匠報告文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。 若此文所含內容侵犯了您的版權或隱私,請立即通知三個皮匠報告文庫(點擊聯系客服),我們立即給予刪除!

溫馨提示:如果因為網速或其他原因下載失敗請重新下載,重復下載不扣分。
客服
商務合作
小程序
服務號
折疊
午夜网日韩中文字幕,日韩Av中文字幕久久,亚洲中文字幕在线一区二区,最新中文字幕在线视频网站