2.6 SNMPv3
2.6.3 Nguyờn tắc hoạt động của giao thức SNMPv3
i, Gửi một bản tin hoặc một yờu cầu
Quỏ trỡnh gửi một bản tin hoặc một yờu cầu gồm cỏc bước sau: Tạo ra cỏc yờu cầu ứng dụng
- Nếu giỏ trị messageProcessingModel khụng miờu tả một mụ hỡnh xử lý bản
tin được biết tới từ bộ điều vận thỡ giỏ trị errorIndication được trả lại cho ứng
dụng gọi tới và khụng cú hành động nào được xử lý nữa.
Bộ điều vận tạo ra sendPduHandle cho quỏ trỡnh xử lý tiếp theo.
- Bộ điều vận bản tin gửi yờu cầu tới module xử lý bản tin phiờn bản đặc trưng
- Nếu statusInformation biểu thị lỗi, thỡ giỏ trị errorIndication được trả lại cho
ứng dụng gọi tới và khụng cú hành động nào được xử lý nữa.
- Nếu statusInformation biểu thị sự chấp thuận, thỡ sendPduHandle được trả về
ứng dụng và outgoingMessage được gửi đi. Truyền thụng được sử dụng để
gửi outgoingMessage được trả về qua destTransportDomain và địa chỉ mà nú gửi được trả về qua destTransportAddress.
Quỏ trỡnh xử lý một bản tin gửi đi hoàn tất.
ii, Gửi một đỏp ứng tới mạng
Quỏ trỡnh gửi một đỏp ứng một bản tin diễn ra như sau: Tạo ra một ứng dụng chứa yờu cầu sử dụng
Bộ điều vận bản tin sẽ gửi yờu cầu tới mụ hỡnh xử lý bản tin thớch hợp được
nhận biết qua giỏ trị messageProcessingModel. Khi đú một đỏp ứng chuẩn bị được gửi đi
Nếu kết quả (result) là errorIndication thỡ errorIndication sẽ trả lại ứng dụng gọi tới và khụng cú hành động nào được xử lý nữa.
Nếu kết quả được chấp nhận thỡ outgoingMessage được gửi đi. Truyền thụng được sử dụng để gửi outgoingMessage được trả về qua destTransportDomain và địa chỉ mà nú gửi được trả về qua destTransportAddress.
iii, Quỏ trỡnh điều phối bản tin của bản tin SNMP nhận được
Giỏ trị snmpInPkts được tăng lờn.
Nếu gúi tin khụng phõn tỏch được đầy đủ phiờn bản của bản tin SNMP hoặc nếu phiờn bản khụng được hỗ trợ thỡ giỏ trị snmpInASNParseErrs được tăng lờn và bản tin nhận được bị loại bỏ và khụng xử lý nữa.
Nguồn gốc của transportDomain và transportAddress được xỏc định.
Bản tin chuyển qua mụ hỡnh xử lý bản tin và thành phần dữ liệu trừu tượng được trả về bởi bộ điều vận:
Nếu result là errorIndication khụng thớch hợp thỡ bản tin bị huỷ bỏ và quỏ trỡnh xử lý kết thỳc.
Tiếp theo, tuỳ vào giỏ trị của sendPduHandle là rỗng hay khụng rỗng ta cú hai
hướng xử lý tiếp.
Nếu sendPduHandle là rỗng thỡ bản tin nhận được là một yờu cầu hoặc một bản tin. Quỏ trỡnh xử lý như sau:
Giỏ trị của contextEngineID và pduType được phối hợp để quyết định xem ứng dụng đó đăng ký cho một bản tin hay một yờu cầu.
Nếu khụng cú ứng dụng nào được đăng ký: o snmpUnknownPDUHandlers được tăng lờn. o Một đỏp ứng được chuẩn bị tạo ra
o Nếu kết quả là thành cụng thỡ bản tin chuẩn bị được gửi đi. Quỏ trỡnh xử lý kết thỳc.
Trường hợp cũn lại: Pdu được xử lý
Bản tin đến là một đỏp ứng:
Giỏ trị sendpduHandle được xỏc định. Ứng dụng đang đợi đỏp ứng này được xỏc định thụng quan sendpduHandle.
Nếu khụng cú ứng dụng nào đợi, bản tin bị huỷ bỏ và quỏ trỡnh xử lý kết thỳc.
stateReference được giải phúng. snmpUnknownPDUHandlers được tăng lờn. Quỏ trỡnh
xử lý kết thỳc.
Nếu xuất hiện ứng dụng đang đợi thỡ đỏp ứng được trả về.