Sie sind auf Seite 1von 35

Hoҥt đӝng cӫa SNMP

Sinh viên thӵc hiӋn: Trҫn Quang Huy - ĐT7


Ngô Hҧi Nam - ĐT7
Nӝi dung
1. Giӟi thiӋu chung vӅ SNMP
2. Hoҥt đӝng cӫa SNMP
Giӟi thiӋu chung vӅ SNMP
‡ SNMP là gì?
‡ Các phiên bҧn SNMP
‡ Các khái niӋm cơ bҧn cӫa SNMP
± SNMP manager - SNMP agent
± MIB
± SMI
SNMP là gì?
‡ SNMP: Simple Network Management
Protocol - giao thӭc quҧn lý mҥng đơn
giҧn
‡ SNMP là thuӝc nhóm các giҧi pháp quҧn
lý mҥng cӫa bӝ giao thӭc TCP/IP, chӏu
trách nhiӋm trao đәi thông tin giӳa các
thiӃt bӏ trong mҥng
Các phiên bҧn SNMP
‡ SNMP có tiӅn thân là SGMP (Simple Gateway
Monitoring Protocol), SNMPv1 là phiên bҧn hoàn thiӋn
cӫa SGMP, phù hӧp làm viӋc vӟi MIB
‡ SNMPv2 ra đӡi vӟi sӵ phân chia SNMP thành 2 phҫn:
Protocol Operations và Transport Mappings. Sӵ phân
chia này cũng đưӧc duy trì ӣ bҧn SNMPv3
Các phiên bҧn SNMPv2 bao gӗm:
+ original SNMPv2 (SNMPv2p)
+ comunity-based SNMPv2 (SNMPv2c)
+ user-based SNMPv2 (SNMPv2u)
+ SNMPv2 star (SNMPv2*)
‡ SNMPv3 là phiên bҧn cҧi tiӃn cӫa SNMPv2, giҧi quyӃt
vҩn đӅ phát sinh quá nhiӅu object cӫa SNMPv2 và cũng
linh hoҥt hơn trong viӋc đӏnh nghĩa thông sӕ, phương
thӭc bҧo mұt, cho phép nhiӅu phương thӭc bҧo mұt
cùng đưӧc sӱ dөng
Các khái niӋm cơ bҧn trong SNMP
‡ các thành phҫn trong SNMP gӗm: thành
phҫn quҧn lý mҥng (Network Management
Station) và thành tӕ mҥng (Network
Element)
± Network Management Station (NMS) hay còn
gӑi là ›  : thưӡng là các máy
tính chҥy ӭng dөng SNMP, dùng đӇ giám sát
hoһc điӅu khiӇn các network element
± Network Element hay còn gӑi là › 
:
là các thiӃt bӏ mҥng tương thích SNMP
Các khái niӋm cơ bҧn trong SNMP
‡ MIB (Management Infomation Base): cơ
sӣ thông tin quҧn lý. SNMP thay vì phҧi
đӏnh nghĩa các câu lӋnh cho tӯng thiӃt bӏ
cө thӇ, nó đӏnh nghĩa ra các biӃn thông tin
(đӕi tưӧng). Mӛi đӕi tưӧng sӁ mang các
đһc trưng riêng cӫa tӯng thiӃt bӏ. Tұp hӧp
các đӕi tưӧng này gӑi là MIB
‡ Các đӕi tưӧng MIB đưӧc đӏnh nghĩa dӵa
trên chuҭn SMI (Structure of Management
Infomation)
Hoҥt đӝng cӫa SNMP
‡ Các phương thӭc giao tiӃp
‡ Các loҥi bҧn tin
‡ Đӏnh dҥng bҧn tin, đӏnh dҥng PDU
‡ Quá trình trao đәi thông tin giӳa SNMP
manager và agent
Các phương thӭc giao tiӃp trong
SNMP
‡ Poll-driven: manager sӁ hӓi các agent đӇ lҩy
thông tin vӅ chúng
‡ Interrupt-driven: agent sӁ gӱi thông tin vӅ cho
manager khi có sӵ kiӋn xҧy ra.
Hai phương thӭc này đӅu có nhӳng ưu điӇm và
nhưӧc điӇm riêng, vì vұy, SNMP sӱ dөng cҧ hai
phương thӭc này: SNMP thưӡng xuyên thu thұp
trҥng thái cӫa agent (poll), và SNMP agent gӱi
thông báo (traps) khi có sӵ kiӋn xҧy ra cho
manager.
Các loҥi bҧn tin trong SNMP
<   

 
 

‘  ӑ
 ӯ  ‘    ‘  

 ӱ ө
ơ   ‘     ‘  
Ӄ    ‘  

   ә 
   ‘    ‘  



‘   
ҧ ӡ    ‘   ‘  
!ҧ   

 "   #



ӱ 
!  %  % &
$ 
 ӱ ' "$‘  

ơ Ӄ
   
Đӏnh dҥng bҧn tin trong SNMP
‡ Đӏnh dҥng chung cӫa bҧn tin trong SNMP
± message header: chӭa các trưӡng sӱ dөng
cho viӋc xӱ lý bҧn tin, bҧo mұt
± message body (PDU)
‡ PDU Control Fields: các trưӡng mô tҧ PDU và nӝi
dung thông tin trao đәi
‡ PDU Variable Bindings: tұp các MIB object đưӧc sӱ
dөng trong bҧn tin. Mӛi MIB obiect đưӧc thӇ hiӋn
bӣi 1 cһp object ID và Value
Đӏnh dҥng bҧn tin trong SNMP
‡ Đӏnh dҥng chung cӫa bҧn tin trong SNMP
Đӏnh dҥng bҧn tin trong SNMP
‡ Đӏnh dҥng bҧn tin trong SNMPv1

± Comunity String: dùng cho cơ chӃ bҧo mұt, mӛi bҧn tin sӁ
đưӧc gӱi đi vӟi Comunity String (như là mӝt password),
các bҧn tin nhұn đưӧc sai Comunity String sӁ bӏ loҥi bӓ
Đӏnh dҥng bҧn tin trong SNMP
‡ Đӏnh dҥng PDU cӫa các bҧn tin GetRequest,
GetNextRequest, GetResponse và SetRequest
trong SNMPv1
Đӏnh dҥng bҧn tin trong SNMP
± PDU Type:
‡ 0 GetRequest-PDU
‡ 1 GetNextRequest-PDU
‡ 2 GetResponse-PDU
‡ 3 SetRequest-PDU
± Request Identifier: ID dùng đӇ đӗng đӝ giӳa bҧn tin
request cӫa bên gӱi và bҧn tin response cӫa bên
nhұn. ID đưӧc bên gӱi tҥo ra, và bên nhұn sӁ copy
lҥi vào bҧn tin GetResponse.
Đӏnh dҥng bҧn tin trong SNMP
± Error Status: sӱ dөng trong bҧn tin GetResponse-
PDU đӇ thӇ hiӋn kӃt quҧ thӵc hiӋn yêu cҫu cӫa
agent
‡ 0 noError - không có lӛi
‡ 1 tooBig- bҧn tin Response quá lӟn
‡ 2 noSuchName- object đưӧc yêu cҫu không tӗn tҥi
‡ 3 badValue-giá trӏ yêu cҫu không phù hӧp
‡ 4 readOnly-yêu cҫu thay đәi giá trӏ cho đӕi tưӧng chӍ cho
phép đӑc
‡ 5 genErr-lӛi không thuӝc các loҥi trên
± Error Index:
‡ khi trưӡng Error Status khác không (có lӛi), trưӡng này chӭa
đӏa chӍ cӫa object gây ra lӛi.
‡ có giá trӏ 0 trong bҧn tin Request
Đӏnh dҥng bҧn tin trong SNMP
‡ Đӏnh dҥng Traps-PDU trong SNMPv1
Đӏnh dҥng bҧn tin trong SNMP
‡ Đӏnh dҥng Traps-PDU trong SNMPv1
± PDU Type: 4
± Enterprise: Object ID, dҥng đӕi tưӧng xҧy ra trap
± Agent Address: đӏa chӍ IP cӫa agent xҧy ra trap
± Generic Trap Code: mã cӫa Trap loҥi đưӧc đӏnh nghĩa
sҹn trong SNMP
± Specific Trap Code: mã cӫa Trap loҥi đӏnh nghĩa bӣi
ngưӡi dùng
± Time Stamp: thӡi gian kӇ tӯ lҫn cuӕi agent gӱi bҧn tin
này cho manager
Đӏnh dҥng bҧn tin trong SNMP
‡ Đӏnh dҥng bҧn tin trong SNMPv2p

± Destination Party, Source Party, Context dùng cho cơ


chӃ bҧo mұt (Party-Based Security)
Đӏnh dҥng bҧn tin trong SNMP
‡ Đӏnh dҥng bҧn tin trong SNMPv2c

± giӕng như SNMPv1


Đӏnh dҥng bҧn tin trong SNMP
‡ Đӏnh dҥng bҧn tin trong SNMPv2u
Đӏnh dҥng bҧn tin trong SNMP
‡ Đӏnh dҥng PDU trong SNMPv2
Các PDU đӅu giӕng nhau(ngoҥi trӯ GetBulkRequest-PDU)
và giӕng đӏnh dҥng cӫa SNMPv1, tuy nhiên có bә sung
thêm các mã cho trưӡng PDU Type và Error Status
Đӏnh dҥng bҧn tin trong SNMP
‡ Đӏnh dҥng PDU trong SNMPv2
- Error Status
0 - 5 : như SNMPv1 12: inconsistentValue
6: noAcess 13: resourceUnavailable
7: wrongType 14: commitFailed
8: wrongLength 15: undoFailed
9: wrongEncoding 16: authorizationError
10: wrongValue 17: notWritable
11: noCreation 18: inconsistentName
Đӏnh dҥng bҧn tin trong SNMP
‡ Đӏnh dҥng GetBulkRequest-PDU trong
SNMPv2
Đӏnh dҥng bҧn tin trong SNMP
‡ Đӏnh dҥng GetBulkRequest-PDU trong
SNMPv2
± PDU Type: 5
± Request Identifier: như SNMPv1
± Non Repeaters: sӕ lưӧng object đưӧc yêu cҫu lҩy thông
tin (không lһp lҥi)
± Max Repetitions: sӕ lҫn lһp lҥi cӫa các object còn lҥi
trong bҧng
VD: Gӱi GetBulkRequest vӟi Non Repeaters = 3, Max
Repetitions = 2, bҧn tin response sӁ mang thông tincӫa 3
object (tính tӯ object chӍ ra ӣ trưӡng Request ID) và lһp
lҥi 2 lҫn thông tin cӫa các object còn lҥi
Đӏnh dҥng bҧn tin trong SNMP
‡ Đӏnh dҥng bҧn tin trong SNMPv3
Đӏnh dҥng bҧn tin trong SNMP
‡ Đӏnh dҥng bҧn tin trong SNMPv3
± Msg Version Number = 3
± Msg ID: tương tӵ như Request ID, dùng đӇ bҧo mұt
± Max Msg Size: có đӝ lӟn nhӓ nhҩt = 484
± Msg Flags (1 byte):
‡ 5 bit dӵ trӳ
‡ 1 bit Reportable Flag: khi đưӧc set, bên nhұn phҧi gӱi
response-PDU
‡ 1 bit Priv Flag, 1 bit Auth Flag: các bit bҧo mұt
± Msg Security Model: chӃ đӝ bҧo mұt, giá trӏ mһc đӏnh = 3
(user-based security model)
± Msg Security Parameters: tұp các thông sӕ đӇ bҧo mұt
± Scoped PDU:
‡ Context Engine ID: chӍ ra ӭng dөng sӁ xӱ lý PDU
‡ Context Name: chӍ ra phҥm vi liên quan đӃn PDU
‡ PDU
Đӏnh dҥng bҧn tin trong SNMP
‡ Đӏnh dҥng PDU trong SNMPv3
± đӏnh dҥng PDU cӫa SNMPv3 hoàn toàn giӕng
vӟi SNMPv2
Trao đәi thông tin giӳa SNMP
manager và agent
‡ Quá trình trao đәi thông tin theo cơ chӃ Poll sӱ
dөng GetRequest/(Get)Response-PDU
Trao đәi thông tin giӳa SNMP manager
và agent
‡ Quá trình trao đәi bҧng thông tin sӱ dөng
GetNextRequest/GetBulkRequest-PDU
± cách lҩy thông tin như đã trình bày ӣ trên chӍ lҩy đưӧc các giá trӏ
đơn lҿ
± MIB chӭa thông tin dưӟi dҥng bҧng, mһt khác các object đưӧc
xӃp không có quy tҳc
=> cҫn thiӃt phҧi lҩy cҧ bҧng thông tin.
Cách thӭc trao đәi thông tin giӕng như trưӡng hӧp sӱ dөng
GetRequest-PDU, nhưng thay vì agent trҧ lӡi đúng giá trӏ cӫa
object, nó trҧ lӡi giá trӏ tiӃp theo trong bҧng. -> gӱi liên tiӃp các
bҧn tin GetNextRequest cho đӃn khi nhұn hӃt thông tin trong
bҧng.
Phiên bҧn SNMPv2/v3 đưa ra thêm bҧn tin GetBulkRequest-PDU
cho phép manager gӱi 1 bҧn tin, agent sӁ gӱi toàn bӝ bҧng
thông tin trong bҧn tin Response
Trao đәi thông tin giӳa SNMP manager
và agent
‡ Quá trình thay đәi thông tin cӫa agent sӱ dөng
SetRequest-PDU
Trao đәi thông tin giӳa SNMP manager
và agent
‡ Quá trình thông báo sӱ dөng traps và
InformRequest-PDU
± sӵ cҫn thiӃt cӫa traps (interrupt-driven): phương thӭc
poll-driven giúp cho manager đӏnh kǤ thu thұp thông
tin agent, tuy nhiên nó không phù hӧp trong các
trưӡng hӧp cҫn trao đәi thông tin mӝt cách nhanh
chóng, bӣi thông tin này có thӇ bӏ mҩt khi manager
hӓi đӃn.
=> traps cho phép SNMP agent chӫ đӝng tҥo ra các
bҧn tin thông báo cho manager khi có sӵ kiӋn xҧy ra.
Mӝt sӕ traps trong SNMPv1: kӃt nӕi thҩt bҥi, quá trình
login cӫa ngưӡi dùng không thành công, thiӃt bӏ khӣi
đӝng lҥi
Trao đәi thông tin giӳa SNMP manager
và agent
‡ Quá trình thông báo sӱ dөng traps và
InformRequest-PDU
± quá trình thông báo sӱ dөng bҧn tin
traps/trapsv2: SNMP agent gӱi bҧn tin này
cho manager đӇ thông báo vӅ sӵ kiӋn xҧy ra,
tuy nhiên manager không gӱi phҧn hӗi nào
cho agent, mà sӁ luôn bám sát hoҥt đӝng cӫa
agent gӱi traps
Các traps cho các đӕi tưӧng cө thӇ sӁ đưӧc
đӏnh nghĩa trong MIB, bao gӗm điӅu kiӋn xҧy
ra cũng như đӏa chӍ mà Trap-PDU sӁ gӱi đӃn
khi sӵ kiӋn xҧy ra.
Trao đәi thông tin giӳa SNMP manager
và agent
‡ Quá trình thông báo sӱ dөng traps và
InformRequest-PDU
± quá trình thông báo sӱ dөng bҧn tin
InformRequest (SNMPv2): giúp trao đәi thông
tin giӳa các SNMP manager, bҧn tin cũng
đưӧc gӱi đi mà không đӃn viӋc yêu cҫu tӯ
bên nhұn. Mӝt SNMP manager sӁ thông báo
cho manager bҵng cách gӱi đi
InformRequest-PDU, bên nhұn sӁ gӱi bҧn tin
Response-PDU đӇ xác nhұn.
=> InformRequest-PDU sӱ dөng đӇ quҧng bá
thông tin khi có trap xҧy ra.
Thanks for watching!

Das könnte Ihnen auch gefallen