程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> vc教程 >> TCP/IP學習筆記(7)

TCP/IP學習筆記(7)

編輯:vc教程

  一、SNMP:簡單網絡管理協議

  基於TCP/IP的網絡管理包括兩部分:網絡管理站(manager)和被管理的網絡單元(被管設備)。這些被管設備的共同點就是都運行TCP/IP協議。管理進程和代理進程之間的通信有兩種方式,一種是管理進程向代理進程發出請求,詢問參數值,另一種方式是代理進程主動向管理進程報告某些重要的事件。

  基於TCP/IP的網絡管理包含3個組成部分:

  (1) 一個管理信息庫(MIB)。管理信息庫包含所有代理進程的所有可被查詢和修改的參數。

  (2) 關於MIB的公用結構和表示符號,叫做管理信息結構SMI。例如:SMI定義計數器是一個非負整數,它的計數范圍是0-4294967295,當達到最大值後,又從0開始。

  (3) 管理進程和代理進程之間的通信協議,叫做簡單網絡管理協議SNMP。SNMP包括數據交換的格式等,主要采用UDP協議。

  1、協議:SNMP定義了5種報文:

  (1) get-request操作:從代理進程處提取一個或多個參數值。

  (2) get-next-request操作:從代理進程處提取一個或多個參數的下一個參數值。

  (3) set-request操作:設置代理進程的一個或多個參數值。

  (4) get-response操作:由代理進程發出的一個或多個參數值。它是3種的響應操作。

  (5) trap操作:代理進程主動發出的報文,通知管理進程由事情發生。

  前面3個操作是由管理進程向代理進程發出的,後兩個是代理進程發給管理進程的。

  說明:◆前4種操作是簡單的請求-應答方式,由於采用UDP協議,因此一定要有超時和重傳機制。

  ◆ 管理進程采用UDP的161端口,代理進程使用UDP的162端口,因此一個系統可以同時為管理進程和代理進程。

  ◆ 下面是UDP數據報5種操作的SNMP報文:

  IP首部UDP首部版本0共同體PDU類型(0-3)請求標識差錯狀態(0-5)差錯索引名稱值名稱值...

  PDU類型4企業代理地址Trap類型(0-6)特定代碼時間戳名稱值...

  

  (1) SNMP報文的長度取決域變量的類型和值。

  (2) 版本字段為0,表示為SNMP V1。

  (3) PDU為協議數據單元,即分組。

  PDU類型名稱0Get-request1Get-next-request2Get-response3Set-request4Trap

  (4) 共同體為一個字符串,這是管理進程和代理進程之間的口令,是明文格式,默認為public。

  (5) 對於get、get-next和set操作,請求標識由管理進程設置,然後由代理進程在get-response中返回。這個字段的作用是使客戶進程(目前是管理進程)能夠將服務器進程(即代理進程)發出的響應和客戶進程發出的查詢進行匹配。這個字段允許管理進程對一個或多個代理進程發出多個請求,並且從返回的應答中分類。

  (6) 差錯狀態字段是一個整數,由代理進程設置,指明有錯誤發生。

  差錯狀態名稱描述0NoError沒有錯誤1TooBig代理進程無法把響應放在一個SNMP消息中發送2NoSuchName操作一個不存在的變量3BadValueSet操作的值或語法有錯誤4ReadOnly管理進程試圖改變一個只讀變量5genErr其他錯誤

  • 首頁
  • 上一頁
  • 1
  • 2
  • 3
  • 下一頁
  • 尾頁
  • 共3頁
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved