Giao thức SNMP Simple Network Management là gì?

Tác giả NetworkEngineer, T.Bảy 05, 2019, 02:50:56 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Giao thức SNMP Simple Network Management là gì?


1. Giới thiệu.

SNMP là "giao thức quản lý mạng đơn giản", dịch từ cụm từ "Simple Network Management Protocol". Là giao thức được sử dụng rất phổ biến để giám sát và điều khiển thiết bị mạng như switch, router, server...


Giao thức SNMP được thiết kế để cung cấp một phương thức đơn giản để quản lý tập trung mạng TCP/IP. Nếu bạn muốn quản lý các thiết bị từ 1 vị trí tập trung, giao thức SNMP sẽ vận chuyển dữ liệu từ client (thiết bị mà bạn đang giám sát) đến server nơi mà dữ liệu được lưu trong log file nhằm phân tích dễ dàng hơn

SNMP dùng để quản lý tức là có thể theo dõi, có thể lấy thông tin, có thể được thông báo, và có thể tác động để hệ thống hoạt động như ý muốn. VD một số khả năng của phần mềm SNMP:

  • Theo dõi tốc độ đường truyền của một router, biết được tổng số byte đã truyền/nhận.
  • Lấy thông tin máy chủ đang có bao nhiêu ổ cứng, mỗi ổ cứng còn trống bao nhiêu.
  • Tự động nhận cảnh báo khi switch có một port bị down.
  • Điều khiển tắt (shutdown) các port trên switch.

2. Hoạt động của SNMP.

Có 2 nhân tố chính trong SNMP: Manager và Agent. Các SNMP agent sẽ giữ một sơ sở dữ liệu, được gọi là Management Information Base (MIB), trong đó chứa các thông tin khác nhau về hoạt động của thiết bị mà agent đang giám sát. Phần mềm quản trị SNMP Manager sẽ thu thập thông tin này qua giao thức SNMP.

Ưu điểm khi thiết kế hệ thống quản trị với SNMP sẽ giúp đơn giản hóa các quá trình quản lý các thành phần trong mạng, giảm chi phí triển khai.SNMP được thiết kế để có thể mở rộng các chức năng quản lý, giám sát. SNMP được thiết kế để có thể hoạt động độc lập với các kiến trúc và cơ chế của các thiết bị hỗ trợ SNMP.

3. Các cơ chế bảo mật cho SNMP.

Một SNMP management station có thể quản lý/giám sát nhiều SNMP element, thông qua hoạt động gửi request và nhận trap.

Tuy nhiên một SNMP element có thể được cấu hình để chỉ cho phép các SNMP management station nào đó được phép quản lý/giám sát mình.

Các cơ chế bảo mật đơn giản này gồm có: community string, view và SNMP access control list.

3.1. Community String.

Community string là một chuỗi ký tự được cài đặt giống nhau trên cả SNMP manager và SNMP agent, đóng vai trò như "mật khẩu" giữa 2 bên khi trao đổi dữ liệu. Community string có 3 loại: Read-community, Write-Community và Trap-Community.
View

Một view phải gắn liền với một community string. Tùy vào community string nhận được là gì mà agent xử lý trên view tương ứng.

3.2. SNMP access control list.

SNMP ACL là một danh sách các địa chỉ IP được phép quản lý/giám sát agent, nó chỉ áp dụng riêng cho giao thức SNMP và được cài trên agent. Nếu một manager có IP không được phép trong ACL gửi request thì agent sẽ không xử lý, dù request có community string là đúng.

Đa số các thiết bị tương thích SNMP đều cho phép thiết lập SNMP ACL.

4. Các phiên bản SNMP.

SNMP có 4 phiên bản : SNMPv1, SNMPv2c, SNMPv2u và SNMPv3. Các phiên bản này khác nhau một chút ở định dạng bản tin và phương thức hoạt động.

Mô tả phiên bản SNMP:

  • 1 Dùng SMIv1 dùng phương thức xác thực đơn giản với community nhưng chỉ dùng MIB-I.
  • 2 ùng SMIv2. Loại bỏ việc sử dụng communities thêm vào các thông điệp Getbulk và Inform nhưng đã bắt đầu với phiên bản MIB-II.
  • 2c Phiên bản giả cho phép SNMPv1 giao tiếp với SNMPv2. Tương đương với SNMPv2.
  • 3 Phần lớn tương tự như SNMPv2 nhưng thêm vào các tính năng bảo mật. Hỗ trợ tương thích ngược. Dùng MIB-II.

5. Các phương thức SNMP.

Các giao thức SNMPv1 và SNMPv2 định nghĩa cách thức mà một phần mềm manager và một tác nhân agent có thể giao tiếp với nhau. Ví dụ, một manager có thể dùng ba thông điệp khác nhau để lấy các thông tin MIB từ các tác nhân agents với một thông điệp SNMP response được trả về từ tác nhân agent. SNMP dùng UDP để truyền thông tin, dùng thông tin SNMP response để cung cấp thông tin và công nhận (ack) việc nhận các thông điệp khác.

6. Các phương thức và tác dụng.

  • GetRequest Manager gửi GetRequest cho agent để yêu cầu agent cung cấp thông tinnào đó dựa vào ObjectID (trong GetRequest có chứa OID)
  • GetNextRequest Manager gửi GetNextRequest có chứa một ObjectID cho agent để yêu cầu cung cấp thông tin nằm kế tiếp ObjectID đó trong MIB.
  • SetRequest Manager gửi SetRequest cho agent để đặt giá trị cho đối tượng của agent dựa vào ObjectID.
  • GetResponse Agent gửi GetResponse cho Manager để trả lời khi nhận được GetRequest/GetNextRequest
  • Trap Agent tự động gửi Trap cho Manager khi có một sự kiện xảy ra đối với một object nào đó trong agent.