SNMP là gì?
SNMP (Simple Network Management Protocol) là giao thức tầng ứng dụng được sử dụng để quản lý và giám sát những thiết bị mạng cũng như chức năng của chúng. SNMP cung ứng tiếng nói chung cho những thiết bị mạng để chuyển tiếp thông tin quản lý trong cả môi trường single-vendor và multi-vendor trong mạng cục bộ (LAN) hoặc mạng diện rộng (WAN). Phiên bản sắp đây nhất nhất của SNMP, version 3, bao gồm những cải tiến bảo mật để xác thực và mã hóa tin nhắn SNMP cũng như bảo vệ những gói trong khi truyền.
Một trong những giao thức được sử dụng rộng rãi nhất, SNMP được hỗ trợ trên một loạt những loại phần cứng – từ những thiết bị mạng thông thường như bộ định tuyến (router), bộ chuyển mạch (switch) và điểm truy cập không dây (wireless access point) tới những điểm cuối như máy in, scanner và thiết bị IoT (Internet of Things). Ngoài phần cứng, SNMP có thể được sử dụng để giám sát những dịch vụ như Dynamic Host Configuration Protocol (DHCP). những software agent trên những thiết bị và dịch vụ này giao tiếp với hệ thống quản lý mạng (NMS), còn được gọi là trình quản lý SNMP, thông qua SNMP để chuyển tiếp thông tin trạng thái và thay đổi cấu hình.
Mặc dù SNMP có thể được sử dụng trong một mạng có quy mô bất kỳ, nhưng trị giá lớn nhất của nó là rõ ràng là trong những mạng rộng lớn. Đăng nhập thủ công và riêng lẻ vào hàng trăm hoặc hàng nghìn node sẽ vô cùng mất thời gian và tốn nhiều tài nguyên. Trong lúc đó, sử dụng SNMP với một NMS cho phép người quản trị mạng quản lý và theo dõi tất cả những node từ một giao diện duy nhất, mà thường có thể hỗ trợ hàng loạt những lệnh và cảnh báo tự động. SNMP được mô tả trong IETF/RFC 1157 và trpng một số RFC khác có liên quan.
những thành phần của SNMP

Có bốn thành phần chính trong mạng do SNMP quản lý:
- SNMP Agent: Chương trình này chạy trên phần cứng hoặc dịch vụ đang được giám sát, thu thập dữ liệu về những số liệu khác nhau như tình trạng sử dụng băng thông hoặc dung lượng ổ đĩa. Khi được người quản lý SNMP truy vấn, agent sẽ gửi thông tin này lại cho trình quản lý. Một agent cũng có thể chủ động thông báo cho NMS nếu như xảy ra lỗi. Hầu hết những thiết bị đi kèm với một SNMP Agent được cài đặt sẵn; Thông thường nó chỉ cần được bật lên và cấu hình.
- những thiết bị và tài nguyên do SNMP quản lý: Đây là những node mà một agent chạy trên đó.
- Trình quản lý SNMP (còn gọi là NMS): Nền tảng phần mềm này hoạt động như một bảng điều khiển tập trung mà những agent cung ứng thông tin. Nó sẽ chủ động yêu cầu những agent gửi thông tin cập nhật qua SNMP theo định kỳ. Những gì người quản lý mạng có thể làm với thông tin đó phụ thuộc rất nhiều vào số lượng tính năng của NMS. Có một số trình quản lý SNMP miễn phí đang được cung ứng, nhưng chúng thường bị giới hạn về khả năng hoặc số lượng node mà chúng có thể hỗ trợ. Ở mức độ cao hơn, những nền tảng cấp doanh nghiệp cung ứng những tính năng tăng cho những mạng phức tạp hơn, với một số sản phẩm hỗ trợ lên tới hàng chục nghìn node.
- Cơ sở thông tin quản lý (Management information base – MIB): Cơ sở dữ liệu này là một file văn bản (.mib) phân loại và mô tả tất cả những đối tượng được sử dụng bởi một thiết bị cụ thể có thể được truy vấn hoặc kiểm soát bằng SNMP. Cơ sở dữ liệu này phải được tải vào NMS để có thể xác định và theo dõi trạng thái của những tính chất này. Mỗi mục MIB được gán một định danh đối tượng (OID).
SNMP hoạt động thế nào?
SNMP thực hiện vô số chức năng, dựa trên sự pha trộn giữa truyền tin push-and-pull giữa những thiết bị mạng và hệ thống quản lý. Nó có thể ra lệnh đọc hoặc ghi, chẳng hạn như đặt lại mật khẩu hoặc thay đổi cài đặt cấu hình. Nó có thể báo cáo lại mức độ sử dụng băng thông, CPU và bộ nhớ, với một số trình quản lý SNMP tự động gửi cho người quản trị một email hoặc thông báo tin nhắn văn bản nếu như vượt quá ngưỡng xác định trước.
Trong hầu hết những trường hợp, SNMP hoạt động trong một mô phỏng đồng bộ, với giao tiếp được khởi tạo bởi người quản lý SNMP và tác nhân gửi phản hồi. những lệnh và thông báo này, thường được vận chuyển qua giao thức UDP hoặc TCP/IP, được gọi là đơn vị dữ liệu giao thức (PDU):
- GET: Được tạo bởi trình quản lý SNMP và được gửi tới một agent để lấy trị giá của một biến số nào đó, được xác định bởi OID của nó, trong một MIB .
- RESPONSE: Được gửi bởi agent cho người quản lý SNMP, được phát đi để trả lời yêu cầu GET. Chứa những trị giá của những biến được yêu cầu.
- GETNEXT: Được gửi bởi người quản lý SNMP tới agent để lấy những trị giá của OID tiếp theo trong hệ thống phân cấp của MIB.
- GETBULK: Được gửi bởi người quản lý SNMP cho agent để có được những bảng dữ liệu lớn bằng cách thực hiện nhiều lệnh GETNEXT.
- SET: Được gửi bởi người quản lý SNMP cho agent để đưa ra những cấu hình hoặc lệnh.
- TRAP: Một cảnh báo không đồng bộ được gửi bởi agent tới trình quản lý SNMP để chỉ ra một sự kiện quan trọng, chẳng hạn như lỗi hoặc sự cố, đã xảy ra.
Tìm hiểu thêm: Tổng hợp những chuẩn giao tiếp & giao thức truyền thông công nghiệp