Làm thế nào một phần mềm như PRTG, Zabbix, SolarWinds hay Cisco DNA Center có thể biết router sắp quá tải, switch bị mất kết nối hay firewall đang đầy CPU? Câu trả lời chính là SNMP (Simple Network Management Protocol).
SNMP là giao thức quản lý và giám sát thiết bị mạng hoạt động ở tầng Ứng dụng (Application Layer), sử dụng UDP port 161. Nó cho phép quản trị viên theo dõi và quản lý hàng trăm, thậm chí hàng nghìn thiết bị từ một hệ thống trung tâm.
SNMP dùng để làm gì?
SNMP giúp thu thập nhiều thông tin quan trọng của thiết bị như:
Nhờ đó, quản trị viên có thể phát hiện sự cố sớm trước khi ảnh hưởng đến người dùng. Các phiên bản của SNMP
SNMPv1
Là phiên bản đầu tiên, sử dụng Community String để xác thực.
Do Community String được truyền dưới dạng Plain Text, SNMPv1 không còn đáp ứng yêu cầu bảo mật của các hệ thống hiện đại. SNMPv2
SNMPv2 cải thiện hiệu năng với các tính năng như:
Tuy nhiên, các vấn đề về bảo mật vẫn chưa được giải quyết triệt để. SNMPv3
Đây là phiên bản được khuyến nghị sử dụng hiện nay.
SNMPv3 bổ sung:
Nhờ đó, SNMPv3 trở thành tiêu chuẩn trong các hệ thống doanh nghiệp. Kiến trúc Manager – Agent
SNMP hoạt động theo mô hình Manager – Agent.
SNMP Manager (NMS) là máy chủ quản lý trung tâm, chịu trách nhiệm thu thập dữ liệu, phân tích và hiển thị kết quả.
SNMP Agent chạy trên router, switch, firewall hoặc server, có nhiệm vụ thu thập thông tin của thiết bị và phản hồi các yêu cầu từ Manager.
SNMP Manager
│
├── Router
├── Switch
├── Firewall
└── Server
Mỗi Agent đều quản lý thông tin của chính thiết bị mình đang chạy.
SMI và MIB
SNMP sử dụng hai thành phần quan trọng.
SMI (Structure of Management Information) quy định cách định nghĩa và mã hóa dữ liệu.
MIB (Management Information Base) là cơ sở dữ liệu lưu các thông tin về cấu hình, trạng thái và hiệu năng của thiết bị theo dạng cây phân cấp.
Một số nhóm MIB phổ biến gồm:
Get: Lấy giá trị của một đối tượng MIB.
GetNext: Lấy đối tượng tiếp theo trong cây MIB.
GetBulk: Thu thập nhiều đối tượng MIB chỉ với một yêu cầu.
Set: Thay đổi giá trị của một đối tượng trên thiết bị (nếu được phép).
Trap: Agent chủ động gửi cảnh báo về Manager khi xảy ra sự kiện như Interface Down, CPU quá cao, mất nguồn hoặc thiết bị khởi động lại. Đây là cơ chế giúp quản trị viên phát hiện sự cố gần như ngay lập tức.
Hạn chế của SNMP
SNMP vẫn tồn tại một số hạn chế.
Thứ nhất, giao thức chủ yếu hoạt động theo cơ chế Polling, nên dữ liệu luôn có độ trễ nhất định so với trạng thái thực tế.
Thứ hai, mỗi hãng có thể mở rộng MIB theo cách riêng, gây khó khăn khi quản lý môi trường đa nhà sản xuất.
Ngoài ra, SNMP chỉ hỗ trợ các kiểu dữ liệu tương đối đơn giản và chưa linh hoạt như các API hiện đại. Kết luận
Sau hơn ba thập kỷ, SNMP vẫn là nền tảng của hầu hết các hệ thống giám sát hạ tầng CNTT. Dù ngày càng nhiều nền tảng quản lý hỗ trợ REST API hay Telemetry, SNMP vẫn được triển khai rộng rãi nhờ tính đơn giản, ổn định và khả năng tương thích với hầu hết thiết bị mạng. Khi triển khai mới, SNMPv3 luôn là lựa chọn nên ưu tiên vì đáp ứng tốt các yêu cầu về bảo mật.
Câu hỏi ôn tập
Which SNMP operation is used by the manager to retrieve the value of a specific MIB object from a device?
Đáp án đúng: Get
Giải thích: Get được SNMP Manager sử dụng để lấy giá trị của một đối tượng MIB cụ thể trên thiết bị. GetNext dùng để duyệt đối tượng kế tiếp, GetBulk lấy nhiều đối tượng cùng lúc, còn GetMIB không phải là một thao tác hợp lệ trong SNMP.
SNMP là giao thức quản lý và giám sát thiết bị mạng hoạt động ở tầng Ứng dụng (Application Layer), sử dụng UDP port 161. Nó cho phép quản trị viên theo dõi và quản lý hàng trăm, thậm chí hàng nghìn thiết bị từ một hệ thống trung tâm.
SNMP dùng để làm gì?
SNMP giúp thu thập nhiều thông tin quan trọng của thiết bị như:
- Mức sử dụng băng thông
- CPU và bộ nhớ
- Trạng thái các cổng mạng
- Nhiệt độ, nguồn điện, quạt làm mát...
- Nhiều chỉ số hiệu năng khác
Nhờ đó, quản trị viên có thể phát hiện sự cố sớm trước khi ảnh hưởng đến người dùng. Các phiên bản của SNMP
SNMPv1
Là phiên bản đầu tiên, sử dụng Community String để xác thực.
Do Community String được truyền dưới dạng Plain Text, SNMPv1 không còn đáp ứng yêu cầu bảo mật của các hệ thống hiện đại. SNMPv2
SNMPv2 cải thiện hiệu năng với các tính năng như:
- Xử lý lỗi tốt hơn
- Hỗ trợ nhiều kiểu dữ liệu
- Thu thập hàng loạt thông tin bằng GetBulk
Tuy nhiên, các vấn đề về bảo mật vẫn chưa được giải quyết triệt để. SNMPv3
Đây là phiên bản được khuyến nghị sử dụng hiện nay.
SNMPv3 bổ sung:
- Xác thực người dùng
- Phân quyền truy cập
- Mã hóa dữ liệu truyền trên mạng
Nhờ đó, SNMPv3 trở thành tiêu chuẩn trong các hệ thống doanh nghiệp. Kiến trúc Manager – Agent
SNMP hoạt động theo mô hình Manager – Agent.
SNMP Manager (NMS) là máy chủ quản lý trung tâm, chịu trách nhiệm thu thập dữ liệu, phân tích và hiển thị kết quả.
SNMP Agent chạy trên router, switch, firewall hoặc server, có nhiệm vụ thu thập thông tin của thiết bị và phản hồi các yêu cầu từ Manager.
SNMP Manager
│
├── Router
├── Switch
├── Firewall
└── Server
Mỗi Agent đều quản lý thông tin của chính thiết bị mình đang chạy.
SMI và MIB
SNMP sử dụng hai thành phần quan trọng.
SMI (Structure of Management Information) quy định cách định nghĩa và mã hóa dữ liệu.
MIB (Management Information Base) là cơ sở dữ liệu lưu các thông tin về cấu hình, trạng thái và hiệu năng của thiết bị theo dạng cây phân cấp.
Một số nhóm MIB phổ biến gồm:
- System
- Interface
- IP
- TCP
- UDP
- ICMP
Get: Lấy giá trị của một đối tượng MIB.
GetNext: Lấy đối tượng tiếp theo trong cây MIB.
GetBulk: Thu thập nhiều đối tượng MIB chỉ với một yêu cầu.
Set: Thay đổi giá trị của một đối tượng trên thiết bị (nếu được phép).
Trap: Agent chủ động gửi cảnh báo về Manager khi xảy ra sự kiện như Interface Down, CPU quá cao, mất nguồn hoặc thiết bị khởi động lại. Đây là cơ chế giúp quản trị viên phát hiện sự cố gần như ngay lập tức.
Hạn chế của SNMP
SNMP vẫn tồn tại một số hạn chế.
Thứ nhất, giao thức chủ yếu hoạt động theo cơ chế Polling, nên dữ liệu luôn có độ trễ nhất định so với trạng thái thực tế.
Thứ hai, mỗi hãng có thể mở rộng MIB theo cách riêng, gây khó khăn khi quản lý môi trường đa nhà sản xuất.
Ngoài ra, SNMP chỉ hỗ trợ các kiểu dữ liệu tương đối đơn giản và chưa linh hoạt như các API hiện đại. Kết luận
Sau hơn ba thập kỷ, SNMP vẫn là nền tảng của hầu hết các hệ thống giám sát hạ tầng CNTT. Dù ngày càng nhiều nền tảng quản lý hỗ trợ REST API hay Telemetry, SNMP vẫn được triển khai rộng rãi nhờ tính đơn giản, ổn định và khả năng tương thích với hầu hết thiết bị mạng. Khi triển khai mới, SNMPv3 luôn là lựa chọn nên ưu tiên vì đáp ứng tốt các yêu cầu về bảo mật.
Câu hỏi ôn tập
Which SNMP operation is used by the manager to retrieve the value of a specific MIB object from a device?
Đáp án đúng: Get
Giải thích: Get được SNMP Manager sử dụng để lấy giá trị của một đối tượng MIB cụ thể trên thiết bị. GetNext dùng để duyệt đối tượng kế tiếp, GetBulk lấy nhiều đối tượng cùng lúc, còn GetMIB không phải là một thao tác hợp lệ trong SNMP.