Tải bản đầy đủ - 39 (trang)
CƠ BẢN VỀ GIAO THỨC SNMP

CƠ BẢN VỀ GIAO THỨC SNMP

Tải bản đầy đủ - 39trang





Mỗi object có một tên gọi riêng và một mã số Oject ID (OID) để



nhận dạng object đó. Ví dụ: tên thiết bị được gọi là sysName, OID là

1.3.6.1.2.1.1.5.





Mỗi oject chỉ có duy nhất một OID nhưng có thể có nhiều tên gọi



nên người ta sử dụng một chỉ số sub-id dể phân biệt các object. Ví dụ:

Tên thiết bị được gọi là sysName, OID là 1.3.6.1.2.1.1.5; nếu thiết bị có

2 tên thì chúng sẽ.





được gọi là sysName.0 và sysName.1 và có OID lần lượt là



1.3.6.1.2.1.1.5.0 và 1.3.6.1.2.1.1.5.1.





Một số object phổ biến thì được chuẩn hóa OID, riêng các object



mới được tạo ra theo yêu cầu của cá nhân thì phải được mô tả OID. Để

lấy một thông tin có OID đã chuẩn hóa thì ứng dụng SNMP phải gửi

một gói tin SNMP có chứa OID của object đó cho SNMP agent, SNMP

agent khi nhận được thì nó phải trả lời bằng thông tin ứng với OID đó.





Object access quy định quyền truy cập của mỗi object là



READ_ONLY (chỉ cho phép đọc object) hoặc READ_WRITE (cho

phép đọc và thay đổi giá trị object). Ví dụ: tên của một thiết bị

(sysName) thì ta có thể thay đổi nên có quyền READ_WRITE, còn giá

tổng số cổng của thiết bị (ifNumber) là READ_ONLY thì khổng thể

đổi.





MIB (Management Information Base) là một cấu trúc dữ liệu gồm



các object được quản lý, được dùng cho việc quản lý các thiết bị chạy

trên nền TCP/IP. MIB được thể hiện thành 1 tập tin (MIB file) và có

thể biểu diễn thành 1 cây (MIB tree). Muốn hiểu được một OID thì cần

có tập tin MIB mô tả OID đó. Các thiết bị được quản lý bằng SNMP

chỉ khi các ứng dụng SNMP manager và SNMP agent cùng hỗ trợ một

MIB. Các ứng dụng này cũng có thể hỗ trợ cùng lúc nhiều MIB.

2.2. Phương thức hoạt động của giao thức SNMP

21



SNMPv2 hoạt động dựa trên 7 loại thông điệp:

SNMPv2 PDU

GetRequest



Mô tả tác dụng

Manager gửi GetRequest (chứa một hoặc nhiều OID)

đến agent để lấy một hoặc nhiều giá trị của object trong

MIB.

Manager gửi GetNextRequest đến agent dùng để lấy



GetNextRequest



GetBulkRequest

InformRequest



SetRequest



giá trị của object nằm kế tiếp object được chỉ ra trong

MIB.

Manager gửi GetBulkRequest đến agent để lấy nhiều

giá trị của nhiều object.

Manager gửi InformRequest đến manager nhằm trao

đổi thông tin với nhau.

Manager gửi SetRequest đến agent để thiết lập giá trị

cho oject dựa vào OID. Chỉ những oject có quyền

READ_WRITE mới có thể thiết lập giá trị được.

Sau khi Agent nhận được các thông điệp GetRequest,



SetResponse



Trap



GetNextRequest



hay



SetRequest



thì







sẽ



gửi



GetResponse để trả lời. Trong GetResponse có chứa OID

của object được yêu cầu và giá trị của object đó.

Trap được agent tự động gửi đến manager để thông báo

trong agent có sự kiện hay biến cố xảy ra. Ví dụ: khi có

một cổng bị tắt, người dùng đăng nhập thất bại. Việc gửi

hay không gửi khi biến cố xảy ra do hãng sản xuất thiết bị

agent quy định.

SNMP request/reponse dùng để quản lý còn SNMP trap

dùng để cảnh báo. Nguồn gửi trap được gọi là Trap Sender

và nơi nhận trap được gọi là Trap Receiver. Mỗi trap

sender có thể gửi nhiều trap đến nhiều trap receiver cùng

lúc.

Trap gồm 2 loại chính: generic trap (được qui định

22



trong các chuẩn SNMP) và specific trap (do hãng sản xuất

tự định nghĩa). Có thể phân biệt loại trap dựa vào mã số là

một số nguyên chứa trong gói tin trap. Theo SNMPv1,

generic trap có 7 loại sau: coldStart(0), warmStart(1),

linkDown(2),



linkUp(3),



authenticationFailure(4),



egpNeighborloss(5), enterpriseSpecific(6).



Hình 2 - . Mô tả phương thức hoạt động của SNMPv2.

2.3. Cấu trúc gói tin SNMP



23



Hình 2 - . Cấu trúc gói tin SNMPv2.

Theo cấu trúc trên:

-



Get/set header:







Request id: ID của request được manager gửi đến cho agent.







Error status: có các giá trị noError(0), tooBig(1), noSuchName(2),



badValue(3), readOnly(4), genErr(5). Giá trị noError(0) là gửi thành

công.





Error index: số thứ tự của OID có lỗi (nếu có).



-



Variables to get/set: chứa danh sách các cặp OID/value cần lấy



thông tin.

-



Trap header:







Enterprise: nhận dạng thiết bị gửi trap (nhận dạng chi tiết hãng sản



xuất, chủng loại, model).





Agent address: địa chỉ IP của nguồn gửi trap.







Trap type hay generic trap: kiểu giá trị của loại trap.







Specific trap: kiểu giá trị của trap do người dùng định nghĩa.



24







Time stamp: thời gian từ lúc thiết bị khởi động đến khi gửi gói tin



trap, tính bằng centi giây.





Trap information hay variable-bidings: các cặp OID/value của các



object có liên quan đến trap.

2.4.



Cấu trúc gói tin SNMP GetRequest



Hình 2 - . Gói tin SNMP GetRequest.

-



Các trường của gói tin SNMP-GetRequest trên phần mềmWireshark



trong hình 2 - 3:

-



Version: phiên bản là 1



-



Community: chuỗi xác thực manager gửi agent là “private”. Chuỗi



này







3



dạng:



read



community



(chứa



trong



GetRequest/GetNextRequest PDU), write community (chứa trong

SetRequest PDU) và trap community (chứa trong Trap PDU).

-



request – id: id của request là 13438.



-



error-status: có giá trị 0 – không có lỗi, manager gửi GetRequest



thành công.

-



error-index: có giá trị 0 – không có OID bị lỗi.



-



variable – bindings: 1 item tương đương 1 cặp OID – value.



-



OID = 1.3.6.1.2.1.1.2.0 (tên object là sysObjectID). Value của



request ban đầu không có giá trị.

25



2.5. Cấu trúc gói tin SNMP GetReponse



Hình 2 - . Gói tin SNMP GetReponse.

Các trường của gói tin SNMP-GetReponse trong hình 2-4:

-



Version: phiên bản là 1.



-



Community: chuổi xác thực giữa manager và agent là “private”.



-



request – id: id của request là 2731.



-



error-status: có giá trị 0 nghĩa là không có lỗi, gữi trả lời về cho



request thành công.

-



error-index: có giá trị 0 nghĩa là không có OID bị lỗi.



-



variable-bindings: 1 cặp OID/value. OID bằng 1.3.6.1.2.1.1.2.0 và



value bằng 1.3.6.1.4.1.9.1.222 của agent gửi về cho manager.



26



CHƯƠNG 3:

PHÁT TRIỂN HỆ THỐNG GIÁM SÁT MẠNG DỰA TRÊN

OBSERVIUM

3.1. Giới thiệu phần mềm

Phần mềm Observium phiên bản mã mở số hiệu 0.2.1 được nhóm phát

triển do Adam Armstrong chủ trì cho ra đời năm 2007 với tính năng cơ

bản. Các phiên bản sau được cộng đồng hỗ trợ, phát triển để tương thích

với các chuẩn thư viện linux và mã nguồn PHP phiên bản mới và bổ sung

thêm các thuộc tính MIB (trong giao thức SNMP) của các hãng cung cấp

thiết bị. Phiên bản hiện tại, số hiệu 0.12.4.3049, ra đời ngày 18/04/2012

chạy được trên các phiên bản 3.x của Linux, phần mềm PHP phiên bản 5

và hỗ trợ nhiều dòng máy chủ, thiết bị của các hãng sản xuất khác nhau

như Cisco, Alcatel, MicroTik, Juniper, HP, … Trang web duy trì phát triển

ứng dụng, hỗ trợ ở địa chỉ http://www.observium.org. Mã nguồn có thể tải

trực tiếp từ website của nhóm phát triển

http://www.observium.org/svn/observer/trunk.

Observium được phát triển thành một công cụ dễ cấu hình dùng giám sát

tình trạng hoạt động của mạng máy tính với mục đích thu thập, lưu giữ

lịch sử hoạt động của các thiết bị mạng để tạo nên bức tranh về lịch sử

hoạt động, tình trạng của thiết bị một cách tự động. Hiện nay, Observium

là một trong các phần mềm mã mở ứng dụng giao thức SNMP trong quản

lý mạng tốt nhất và có thể giám sát các đặc tính thiết bị, bao gồm:

-



Tình trạng CPU, bộ nhớ, thiết bị lưu trữ, lưu lượng các cổng mạng, các



gói tin và thống kê các chi tiết lỗi.

-



Tình trạng các giao thức định tuyến như BGP hay OSPF, tình trạng các



VPN chuyển mạch nhãn MPLS.

-



Các tình trạng các gói tin IPv4, IPv6, TCP và UDP.

27



-



Tình trạng xử lý của thiết bị, tải của thiết bị, thời gian vận hành, nhiệt



độ, tốc độ quạt làm mát, điện thế, nguồn, độ ẩm, tần số.

-



Các tình trạng chuyển mạch, tình trạng IPSec VPN của các thiết bị



Cisco.

-



Tình trạng các mạch ảo ATM của thiết bị Juniper.



-



Lưu lượng thời gian thực của các cổng hay thiết bị.

Giám sát các tham số mạng khác như CDP, PagP và các dịch vụ



-



khác.

3.2. Cấu trúc các khối chức năng của ứng dụng Observium

- SNPM + Agent: Hỗ trợ giao thức SNMP để giám sát mạng.

- Discovery: Nhận biết thiết bị sau khi được khai báo trong chương



trình.

- Poller: Cơ chế hỏi để trích xuất các tham số SNMP từ các thiết bị



mạng.

- Billing Poller: Cơ chế hỏi vòng tính cước lưu lượng.

- Memcache: Bộ nhớ tăng tốc ứng dụng.

- RRD: Lưu trữ các đồ họa về lịch sử hoạt động.

- MySQL: Lưu giữ các quá trình về tình trạng mạng.

- WebGUI/Graphs: Phần hiển thị cho người dùng.



Hình 3 - . Mô hình sử dụng ứng dụng Observium.



Hình 3 - . Cấu trúc các khối chức năng của ứng dụng Observium.

28



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

CƠ BẢN VỀ GIAO THỨC SNMP

Tải bản đầy đủ ngay(39 tr)

×