Khi nghiên cứu về mạng, có thể bạn sẽ gặp một ít rắc rối khi tìm hiểu về SNMP là gì? Hay bạn tìm thấy bài viết này của Tino Group khi bị thầy cô yêu cầu tìm hiểu về SNMP? Trong bài viết này, Tino Group sẽ đưa ra cho bạn một cái nhìn tổng quan nhất về SNMP là gì nhé!
Tìm hiểu về SNMP
Trong bài viết, từ message: sẽ được dịch thành thông báo, tin nhắn, thông điệp hoặc giữ nguyên tùy theo trường hợp.
SNMP là gì?
Simple Network Management Protocol (SNMP) là một giao thức mạng được sử dụng để quản lý và giám sát các thiết bị kết nối mạng trong mạng giao thức Internet. Giao thức SNMP thường được nhúng trong những thiết bị cục bộ như: router, switch, server, tường lửa hay điểm truy cập không dây có thể truy cập bằng địa chỉ IP của chúng.
Chúng ta có thể tóm tắt nhanh về SNMP qua 5 dòng ngắn gọn như sau:
- SNMP là viết tắt của Simple Network Management Protocol, tạm dịch là giao thức quản lý mạng đơn giản.
- Giao thức SNMP là một khuôn khổ dùng để quản lý các thiết bị
- SNMP cung cấp một tập hợp các hoạt động để giám sát và quản lý internet.
- Trong mô hình OSI, giao thức SNMP nằm ở tầng ứng dụng
- SNMP cung cấp cơ chế chung cho các thiết bị mạng trong môi trường LAN hoặc WAN.
Những phiên bản của SNMP
Tính đến năm 2024, SNMP có 3 phiên bản khác nhau bao gồm:
- SNMP phiên bản 1 (SNMPv1): Đây là lần triển khai đầu tiên, hoạt động trong đặc tả thông tin quản lý cấu trúc và được mô tả trong tài liệu RFC 1157.
- SNMP phiên bản 2 (SNMPv2): Phiên bản này đã được cải tiến để hỗ trợ xử lý lỗi hiệu quả hơn và được mô tả trong RFC 1901. Lần đầu tiên được giới thiệu trong RFC 1441 hay còn thường được gọi là SNMPv2c.
- SNMP phiên bản 3 (SNMPv3): Phiên bản này cải thiện tính bảo mật cũng như quyền riêng tư và được giới thiệu trong RFC 3410.
SNMPv2 là phiên bản giao thức SNMP phổ biến nhất trong thời điểm hiện tại. Trong khi đó, phiên bản SNMPv3 là gần nhất và được bổ sung hỗ trợ xác thực, mã hóa tập tin và các tin nhắn SNMP cũng như bảo vệ các gói tin trong quá trình truyền đi.
Những thành phần cơ bản của SNMP
Chúng ta có 4 thành phần chính trong mạng do SNMP quản lý:
- Agent SNMP
- Manager SNMP
- Các node do SNMP quản lý
- Management information base (MIB)
Agent SNMP
Agent SNMP thường sẽ nằm ở vị trí server.
Agent SNMP software chạy trên phần cứng hoặc dịch vụ giám sát thu thập dữ liệu về: dung lượng đĩa, băng thông đã sử dụng và các số liệu hiệu suất mạng khác. Khi Manager SNMP truy vấn, Agent SNMP sẽ gửi thông tin được yêu cầu trở lại hệ thống quản lý.
Một Agent SNMP cũng có thể chủ động báo trước cho Manager SNMP nếu xảy ra lỗi.
Phần lớn các thiết bị đều đã cài đặt sẵn Agent SNMP nhưng để sử dụng, bạn sẽ cần phải đăng nhập, bật và cấu hình cho chúng.
Manager SNMP
Manager SNMP SNMP thường sẽ nằm ở vị trí client.
Manager SNMP SNMP hay NMS là một nền tảng phần mềm có chức năng như một bảng điều khiển tập trung mà các Agent SNMP cung cấp thông tin. Manager SNMP sẽ chủ động yêu cầu các Agent SNMP gửi các bản cập nhật theo định kỳ.
Trong đó, lượng tính năng của Manager SNMP sẽ quyết định phạm vi hoạt động của người quản lý mạng với thông tin đang có..
Trên thị trường có sẵn một số phần mềm quản lý SNMP hoàn toàn miễn phí, nhưng chúng thường sẽ bị giới hạn tính năng hoặc giới hạn số lượng node có thể hỗ trợ. Khi sử dụng hết số node hoặc muốn mở rộng thêm tính năng, bạn sẽ cần phải mua phiên bản đầy đủ hơn của nhà cung cấp.
Các node do SNMP quản lý
Các node do SNMP quản lý là các thiết bị và dịch vụ mạng mà các Agent SNMP quản lý.
Management information base (MIB)
Management information base viết tắt: MIB, là một tệp văn bản (.mib) chia thành từng mục và mô tả tất cả các đối tượng trên một thiết bị cụ thể có thể được truy vấn hoặc kiểm soát bằng SNMP. Mỗi mục MIB được gán một mã định danh đối tượng (OID – Object Identifier).
Tìm hiểu về message trong SNMP
SNMP có thể thực hiện rất nhiều chức năng, sử dụng kết hợp push và pull giữa các thiết bị mạng và hệ thống quản lý. Bạn cũng có thể đưa ra các lệnh như đọc hoặc ghi chẳng hạn như thay đổi mật khẩu hoặc cài lại cấu hình.
Ngoài ra, SNMP còn có thể báo cáo lại lượng băng thông, CPU và bộ nhớ đang được sử dụng, với một số trình quản lý SNMP tự động gửi cho quản trị viên hoặc một email cảnh báo nếu số lượng message sắp hoặc đã vượt ngưỡng xác định.
Hầu hết thời gian, SNMP hoạt động theo môi hình đồng bộ với giao tiếp do Manager SNMP khởi xướng và Agent SNMP trả lời.
Trong đó, các lệnh và thông báo được truyền qua UDP hoặc giao thức TCP/IP hay còn biết đến với tên gọi là protocol data units (PDUs).
Giao tiếp từ phía Manager SNMP đến Agent SNMP
- GetRequest: thông báo GetRequest sẽ được gửi từ Manager SNMP (client) đến Agent SNMP (server) để truy xuất giá trị của một biến nào đó.
- GetNextRequest: tin nhắn GetNextRequest sẽ được gửi từ messenger đến Agent SNMP để truy xuất giá trị của một biến. GetNextRequest dùng để truy xuất giá trị trong mục nhập trong bản. Nếu Manager SNMP không biết chỉ mục của các mục nhập sẽ không thể truy xuất giá trị. Trong tình huống thế này, GetNextRequest sẽ dùng để xác định đối tượng.
- SetRequest: thông báo SetRequest gửi từ Manager SNMP đến Agent SNMP để đặt giá trị trong một biến.
- GETBULK Request: do Manager SNMP đến Agent SNMP để có yêu cầu và lấy về một lượng lớn dữ liệu tiềm năng một cách hiệu quả. Đặc biệt là các bảng lớn.
Giao tiếp từ phía Agent SNMP về Manager SNMP
- GetResponse: thông báo GetResponse do Agent SNMP gửi đến Manager SNMP để phản hồi lại thông báo GetRequest và GetNextRequest của Manager SNMP. Thông báo này chứa trị của một biến do Manager SNMP yêu cầu.
- Trap: dùng để gửi từ Agent SNMP đến Manager SNMP để báo cáo một sự kiện. VÍ dụ: khi Agent SNMP khởi động lại thì sẽ gửi tin nhắn cho Manager SNMP cũng như thời gian khởi động lại.
Vậy là chúng ta đã cùng nhau tìm hiểu về SNMP là gì cũng như rất nhiều thứ thú vị xung quanh rồi đấy! Có thể, bạn sẽ thấy SNMP đơn giản nhưng thật sự lại không đơn giản lắm :)) Nhưng Tino Group vẫn chúc bạn có thể làm việc thật tốt với SNMP.
Những câu hỏi thường gặp về SNMP
Cổng SNMP là gì?
Các cổng SNMP được sử dụng thông qua UDP 161 để Manager SNMP SNMP giao tiếp với Agent SNMP và UDP 162 khi Agent SNMP gửi các Trap không mong muốn đến Manager SNMP.
Có sự khác biệt về chế độ bảo mật trong mỗi phiên bản SNMP hay không?
Mỗi phiên bản phát triển sẽ có nhiều chức năng hơn và khía cạnh bảo mật sẽ được cải thiện trên mỗi bản nâng cấp. Sau đây là sự cái thiện và khác biệt chính về yếu tố bảo mật giữa các phiên bản:
- SNMPv1: Bảo mật dựa trên cộng đồng
- SNMPv2c: Bảo mật dựa trên cộng đồng
- SNMPv2u: Bảo mật dựa trên người dùng
- SNMPv2: Bảo mật dựa trên tổ chức
- SNMPv3: Bảo mật dựa trên người dùng
Nên thực hiện điều gì khi muốn quản lý mạng bằng SNMP?
Nếu muốn quản lý mạng bằng SNMP, trước tiên bạn sẽ cần phải bật SNMP trước. SNMP không tự động bật trước nhằm tránh các lý do liên quan đến bảo mật. Vì thế, để sử dụng, admin hệ thống phải đăng nhập và bật tính năng để cung cấp dữ liệu cho SNMP.
SNMPv1 có an toàn hay không?
Không. SNMPv1 có mức độ an toàn rất kém và bạn không nên sử dụng SNMPv1. Tốt nhất, bạn nên sử dụng SNMPv2 dù phát triển từ những năm 1993 nhưng đến thời điểm hiện tại vẫn là giao thức phổ biến nhất. Hoặc tốt hơn hết là bạn nên sử dụng SNMPv3 có mức độ an toàn cao hơn và tốt nhất.