Quan ly mang

Màu nền
Font chữ
Font size
Chiều cao dòng

Giao thức SNMP   (Simple Network Management Protocol)

Tổng quan về SNMP

SNMP là một tập hợp các giao thức không chỉ cho phép kiểm tra nhằm đảm bảo các thiết bị mạng như router, switch hay server đang vận hành mà còn vận hành một cách tối ưu, ngoài ra SNMP còn cho phép quản lý các thiết bị mạng từ xa.

SNMP có thể dùng để quản lý các hệ thống Unix, Window, máy in, nguồn điện… Nói chung, tất cả các thiết bị có thể chạy các phần mềm cho phép lấy được thông tin SNMP đều có thể quản lý được. Không chỉ các thiết bị vật lý mới quản lý được mà cả những phần mềm như web server, database.

Các thiết bị mạng chứa thông tin về bản thân chúng, các thông tin này có thể là các tham số lựa chọn cấu hình thiết bị, trạng thái hoạt động hiện tại của thiết bị, các thông tin về thống kê như lưu lượng vào ra của các gói thông tin hoặc các thông tin về lỗi của thiết bị.

Để có thể quản lý được hệ thống hoặc mạng thì cần phải có những thiết bị có khả năng biết được các thông tin của các thiết bị khác tồn tại xung quanh nó. Như vậy, thực chất của việc quản lý các thiết bị chính là việc quản lý các thông tin mà các thiết bị bị quản lý lưu trữ. Tất cả các thông tin này là trung tâm của giao thức SNMP.

SNMP là một giao thức chỉ ra cách đặt tên biến và cách lấy thông tin, cách thay đổi thông tin của thiết bị bị quản lý.

Các chuẩn SNMP:

IETF (Internet Engineering Task Force) là tổ chức đã đưa ra chuẩn SNMP thông qua các RFC

SNMP version 1 chuẩn của giao thức SNMP được định nghĩa trong RFC 1157 và là một chuẩn đầy đủ của IETF. Vấn đề bảo mật của SNMP v1 dựa trên nguyên tắc cộng đồng, không có nhiều password, chuổi văn bản thuần và cho phép bất kỳ một ứng dụng nào đó dựa trên SNMP có thể hiểu các hiểu các chuổi này để có thể truy cập vào các thiết bị quản lý. Có 3 tiêu chuẩn trong: read-only, read-write và trap.

- SNMP version 2: phiên bản này dựa trên các chuổi “community”. Do đó phiên bản này được gọi là SNMPv2c, được định nghĩa trong RFC 1905, 1906, 1907, và đây chỉ là bản thử nghiệm của IETF. Mạc dù chỉ là thử nghiệm nhưng nhiều nhà sản xuất đã đưa nó vào thực nghiệm.

- SNMP version 3: là phiên bản tiếp theo được IETF đưa ra bản đầy đủ. Nó được khuyến nghị làm bản chuẩn, được định nghĩa trong RFC 1905, RFC 1906, RFC 1907, RFC 2571, RFC 2572, RFC 2573, RFC 2574 và RFC 2575. Nó hổ trợ các loại truyền thông riêng tư và có xác nhận giữa các thực thể.

Thành phần của SNMP:

Trong SNMP có 3 vấn đề cần quan tâm: Manager, Agent và MIB (Management Information Base). MIB là cơ sở dữ liệu dùng phục vụ cho Manager và Agent.

Manager là một server có chạy các chương trình có thể thực hiện một số chức năng quản lý mạng. Manager có thể xem như là NMS (Network Manager Stations). NMS có khả năng thăm dò và thu thập các cảnh báo từ các Agent trong mạng. Thăm dò trong việc quản lý mạng là “nghệ thuật” đặt ra các câu truy vấn đến các agent để có được một phần nào đó của thông tin. Các cảnh báo của agent là cách mà agent báo với NMS khi có sự cố xảy ra. Cảnh bảo của agent được gửi một cách không đồng bộ, không nằm trong việc trả lời truy vấn của NMS. NMS dựa trên các thông tin trả lời của agent để có các phương án giúp mạng hoạt động hiệu quả hơn. Ví dụ khi đường dây T1 kết nối tới Internet bị giảm băng thông nghiêm trọng, router sẽ gửi một thông tin cảnh báo tới NMS. NMS sẽ có một số hành động, ít nhất là lưu lại giúp ta có thể biết việc gì đã xảy ra. Các hành động này của NMS phải được cài đặt trước.

Agent là một phần trong các chương trình chạy trên các thiết bị mạng cần quản lý. Nó có thể là một chương trình độc lập như các deamon trong Unix, hoặc được tich hợp vào hệ điều hành như IOS của Cisco trên router. Ngày nay, đa số các thiết bị hoạt động tới lớp IP được cài đặt SMNP agent. Các nhà sản xuất ngày càng muốn phát triển các agent trong các sản phẩm của họ công việc của người quản lý hệ thống hay quản trị mang đơn giản hơn. Các agent cung cấp thông tin cho NMS bằng cách lưu trữ các hoạt độn khác nhau của thiết bị. Một số thiết bị thường gửi một thông báo “tất cả đều bình thường” khi nó chuyển từ một trạng thái xấu sang một trạng thái tốt. Điều này giúp xác định khi nào một tình trạng có vấn đề được giải quyết.

Không có sự hạn chế nào khi NMS gửi một câu truy vấn đồng thời agent gửi một cảnh báo.

MIB: Không có sự hạn chế nào khi NMS gửi một câu truy vấn đồng thời agent gửi một cảnh báo. MIB có thể xem như là một cơ sở dữ liệu của các đối tượng quản lý mà agent lưu trữ được. Bất kỳ thông tin nào mà NMS có thẻ truy cập được đều được định nghĩa trong MIB. Một agent có thể có nhiều MIB nhưng tất cả các agent đều có một lọa MIB gọi là MIB-II được định nghĩa trong RFC 1213. MIB-I là bản gốc của MIB nhưng ít dùng khi MIB-II được đưa ra. Bất kỳ thiết bị nào hổ trợ SNMP đều phải hổ trợ MIB-II. MIB-II định nghĩa các tham số như tình trạng của interface (tốc độ của interface, MTU, các octet gửi, các octet nhận. ...) hoặc các tham số gắn liền với hệ thống (định vị hệ thống, thông tin liên lạc với hệ thống, ...). Mục đích chính của MIB-II là cung cấp các thông tin quản lý theo TCP/IP.

Có nhiều kiểu MIB giúp quản lý cho các mục đích khác nhau:

v      ATM MIB (RFC 2515)

v      Frame Relay DTE Interface Type MIB (RFC 2115)

v      BGP Version 4 MIB (RFC 1657)

v      RDBMS MIB (RFC 1697)

v      RADIUS Authentication Server MIB (RFC 2619)

v      Mail Monitoring MIB (RFC 2249)

v      DNS Server MIB (RFC 1611)

Nhưng nhà sản xuất cũng như người dùng có thể định nghĩa các biến MIB riêng cho họ trong từng tình huống quản lý của họ.

Thông tin quản lý SMI (The Structure of Management Information)

SMI cung cấp cho chúng ta cách định nghĩa, lưu trữ các đối tượng quản lý và các thuộc tính của chúng (cấu tru). SMI đơn giản gồm có 3 đặc tính sau:

- Name hay OID (object identifier): định nghĩa tên của đối tượng. Tên thường ở 2 dạng: số hay các chữ có ý nghĩa nào đó về đối tượng. Trong dạng này hay dạng kia, tên thường khó nhớ hay bất tiện

- Kiểu và cú pháp: Kiểu dữ liệu của object cần quản lý được định nghĩa trong ASN.1( Abstract Syntax Notation One). ASN.1 chỉ ra cách dữ liệu được biểu diển và truyền đi giữa Manager và agent. Các thông tin mà ASN.1 thông báo là độc lập với hệ điều hành. Điều này giúp một may chạy WindowNT có thể liên lạc với một máy chạy Sun SPARC dễ dàng.

- Mã hóa: mã hóa các đối tượng quản lý thành các chuổi octet dùng BER (Basic Encoding Rules). BER xây dựng cách mã hóa và giải mã để truyền các đối tượng qua các môi trường truyền như Ethernet.

Tên hay OID được tổ chức theo dạng cây. Tên của một đối tượng được thành lập từ một dãy các số nguyên hay chữ dựa theo các nút trên cây, phân cách nhau bởi dấu chấm.

Mô hình quản lý SNMP

Giao thức SNMP ban đầu được phát triển để quản lý mạng TCP/IP, do vậy các thông tin thường liên quan đến mạng TCP/IP như các thông tin liên quan đến chuyển đổi địa chỉ IP và TCP/IP ra địa chỉ vật lý, lưu lượng IP datagram đến và đi, số các kết nối TCP,...Sau đây là mô hình quản lý mạng TCP/IP.

Hình: mô hình quản lý SNMP

Từ mô hình quản lý, ta thấy một hệ thống quản lý bao gồm ít nhất hai đối tượng, chủ thể quản lý (trạm quản lý) và đối tượng quản lý (agent).

Phần mềm agent được cài đặt tại mỗi thiết bị. Agent nhận các bản tin yêu cầu từ trạm quản lý. Các bản tin yêu cầu này là các bản tin yêu cầu lấy thông tin hoặc yêu cầu thay đổi thông tin của các thiết bị. Các agent thực hiện các yêu cầu đó và gửi trả lại các đáp ứng chứa các thông tin thích hợp mà trạm quản lý yêu cầu. Tuy nhiên agent không phải luôn luôn phải đợi các yêu cầu gửi đến mới gửi thông tin về trạm quản lý, mà khi xảy ra một vấn đề nghiêm trọng nào đó xảy ra trong thiết bị thì agent gửi một bản tin (được gọi là bản tin trap) tới một hoặc nhiều trạm quản lý.

Trạm quản lý được cài đặt một phần mềm quản lý, gửi các yêu cầu tới các agent, thu các bản tin đáp ứng và bản tin trap do agent gửi đến.

Hoạt động của SNMP:

SNMP sử dụng UDP (User Datagram Protocol) như là giao thức truyền tải thông tin giữa các manager và agent. Việc sử dụng UDP, thay vì TCP, bởi vì UDP là phương thức truyền mà trong đó hai đầu thông tin không cần thiết lập kết nối trứơc khi dữ liệu được trao đổi (connectionless), thuộc tính này phù hợp trong điều kiện mạng gặp trục trặc, hư hỏng v.v.

SNMP có các phương thức quản lý nhất định và các phương thức này đuợc định dạng bởi các gói tin PDU (Protocol Data Unit). Các manager và agent sử dụng PDU để trao đổi với nhau.

Get: get được gửi từ NMS yêu cầu tới agent. Agent nhận yêu cầu và xử lý với khả năng tốt nhất có thể. Nếu một thiết bị nào đó đang bận tải nặng, như router, nó không có khả năng trả lời yêu cầu nên nó sẽ hủy lời yêu cầu này. Nếu agent tập hợp đủ thông tin cần thiết cho lời yêu cầu, nó gửi lại cho NMS một ”get-response”:

Để agent hiểu được NMS cần tìm thông tin gì, nó dựa vào một mục trong get là variable binding hay varbind. Varbind là một danh sách các đối tượng của MIB mà NMS muốn lấy từ agent. Agent hiểu câu hỏi theo dạng: OID=value để tìm thông tin trả lời

            Get-next: get-next đưa ra một dãy các lệnh để lấy thông tin từ một nhóm trong MIB. Agent sẽ lần lượt trả lời tất cả các đối tượng có trong câu truy vấn của get-next tương tự như get, cho đến khi nào hết các đối tượng trong dãy. Ví dụ ta dùng lệnh snmpwalk. snmpwalk tương tự như snmpget nhưng không chỉ tới một đối tượng mà chỉ tới một nhánh nào đó.

            Get-bulk: get-bulk được định nghĩa trong SNMPv2. Nó cho phép lấy thông tin quản lý từ nhiều phần trong bảng. Dùng get có thể làm được điều này. Tuy nhiên, kích thước của câu hỏi có thể bị giới hạn bởi agent. Khi đó nếu nó không thể trả lời toàn bộ yêu cầu, nó gửi trả một thông điệp lỗi mà không có dữ liệu. Với trường hợp dùng câu lệnh get-bulk, agent sẽ gửi cang nhiều trả lời nếu nó có thể. Do đó, việc trả lời một phần của yêu cầu là có thể xảy ra. Hai trường cần khai báo trong get-bulk là: nonrepeaters và max-repetitions. Nonrepeaters báo cho agent biết N đối tượng đầu tiên có thể trả lời lại như một câu lệnh get đơn. Mã repeaters  báo cho agent biết cần cố gắng tăng lên tối đa M yêu cầu get-next cho các đối tượng còn lại.

Set: để thay đổi giá trị của một đối tượng hoặc thêm một hàng mới vào bảng. Đối tượng này cần phải được định nghĩa trong MIB là ”read-write” hay ”write-only”. NMS có thể dùng ”set’ để đặt giá trị cho nhiều đối tượng cùng một lúc.

SNMP Traps: Trap là cảnh báo của agent tự động gửi cho NMS để NMS biết có tình trạng xấu ở agent

Khi nhận được một traps từ agent, NMS không trả lời lại bằng ACK. Do đó agent không thể nào biết được là lời cảnh báo của nó có tới được NMS hay không. Khi nhận được một trap từ agent, nó tìm xem trap number để hiểu ý nghĩa của trap đó.

SNMP Notification: Để chuẩn hóa định dạng PDU traps của SNMPv1 do PDU của get và set khác nhau, SNMPv2 đưa ra NOTIFICATION-TYPE. Định dạng PDU của NOTIFICATION-TYPE là để nhận ra get và set.

SNMP inform: SNMPv2 cung cấp cơ chế truyền thông giữa những NMS với nhau, gọi là SNMP inform. Khi một NMS gửi một SNMP inform cho một NMS khác, NMS nhận được sẽ gửi trả một ACK xác nhận sự kiện. Việc này giống với cơ chế của get và set.

SNMP report: được định nghĩa trong bản nháp của SNMPv2 nhưng không được phát triển. Sau đó được đưa vào SNMPv3 và hy vọng dùng để truyền thông giữa các hệ thống SNMP với nhau

Bạn đang đọc truyện trên: Truyen2U.Pro