SNMP là gì? Cách hoạt động và ưu điểm của SNMP

Hiếu
1915
29-06-2021
SNMP là gì? Cách hoạt động và ưu điểm của SNMP

SNMP có lẽ là khái niệm tương đối lạ lẫm với hầu hết mọi người, nhưng lại là giao thức phải biết với mọi quản trị viên hệ thống mạng. Vậy SNMP là gì và nó có tác dụng gì? Hãy cùng BizFly Cloud tìm hiểu trong bài viết hôm nay.

SNMP là gì?

SNMP là viết tắt của Simple Network Management Protocol, tiếng Việt là giao thức quản lý mạng đơn giản. Giống với tên gọi đã đề cập, SNMP là một giao thức cơ bản của Internet dùng để thu thập và tổ chức thông tin về các thiết bị trong mạng và thay đổi các thông tin đó để thay đổi trạng thái của thiết bị. Một số thiết bị hỗ trợ SNMP là modem, router, switch, server, workstation, printers,…

SNMP được sử dụng rộng rãi trong quản lý và giám sát mạng. SNMP hiển thị dữ liệu quản lý dưới dạng các biến trong cơ sở thông tin quản lý (MIB) mô tả trạng thái và cấu hình hệ thống. Các biến này sau đó có thể được truy vấn từ xa (và, trong một số trường hợp, có thể được thay đổi.

Ba phiên bản quan trọng của SNMP đã được phát triển và triển khai. SNMPv1 là phiên bản gốc của giao thức. Các phiên bản gần đây hơn, SNMPv2c và SNMPv3, có các cải tiến về hiệu suất, tính linh hoạt và bảo mật.

SNMPv1: Phiên bản ban đầu của giao thức. Nó rất dễ thiết lập và được định nghĩa trong RFC 1155 và 1157.

SNMPv2c: Phiên bản sửa đổi với các loại gói giao thức nâng cao, ánh xạ truyền tải và các phần tử cấu trúc MIB, trong khi vẫn sử dụng cấu trúc quản trị SNMPv1 có sẵn. Nó được định nghĩa trong RFC 1901, RFC 1905 và RFC 1906.

SNMPv3: Hỗ trợ cấu hình từ xa các thực thể SNMP. Nó cũng bổ sung cả mã hóa và xác thực, có thể được sử dụng cùng nhau hoặc riêng biệt, làm cho phiên bản này trở thành phiên bản an toàn nhất. SNMPv3 được định nghĩa bởi RFC 1905, RFC 1906, RFC 2571, RFC 2572, RFC 2574 và RFC 2575.

SNMP là một thành phần của Bộ giao thức Internet theo định nghĩa của Lực lượng Đặc nhiệm Kỹ thuật Internet (IETF). Nó bao gồm một tập hợp các tiêu chuẩn để quản lý mạng, bao gồm một giao thức lớp ứng dụng, một lược đồ cơ sở dữ liệu và một tập hợp các đối tượng dữ liệu.

Các thành phần của SNMP

SNMP bao gồm 4 thành phần chính: SNMP Manager, Managed Devices, SNMP Agent và MIB.

SNMP Manager

SNMP Manager hay trình quản lý SNMP (còn được gọi là NMS) là hệ thống trung tâm được sử dụng để giám sát mạng SNMP. trình quản lý SNMP chịu trách nhiệm giao tiếp với các thiết bị mạng do SNMP-agent thực hiện. Nó chạy trên một máy chủ trên mạng. Người quản lý truy vấn các tác nhân, nhận phản hồi, đặt các biến trong đó và ghi nhận các sự kiện từ chúng.

Managed Devices

Managed Devices – các thiết bị được quản lý là những thực thể trong mạng hỗ trợ SNMP được quản lý bởi trình quản lý SNMP. Đây thường là bộ định tuyến, thiết bị chuyển mạch, máy in hoặc thiết bị không dây.

SNMP Agent

SNMP Agent hay tác nhân SNMP là một quy trình phần mềm phản hồi các truy vấn SNMP để cung cấp trạng thái và số liệu thống kê về một nút mạng. Các SNMP Agent đóng vai trò quan trọng nhất trong quản lý, chúng được định vị cục bộ và được liên kết với các thiết bị mạng SNMP mà từ đó chúng thu thập, lưu trữ và truyền dữ liệu giám sát. Dữ liệu được truyền đến trình quản lý SNMP được chỉ định khi tạo truy vấn.

MIB - Management Information Base

MIB – Cơ sở thông tin quản lý là thành phần không thể thiếu của SNMP. SNMP MIB là một cấu trúc xác định định dạng trao đổi thông tin trong hệ thống SNMP. Mọi SNMP Agent đều duy trì một cơ sở dữ liệu thông tin mô tả các thông số của thiết bị mà nó quản lý. SNMP Manager là một hệ thống phần mềm sử dụng SNMP để thu thập dữ liệu nhằm quản lý lỗi, quản lý hiệu suất và lập kế hoạch năng lực. SNMP Manager lưu trữ dữ liệu thu thập được trong MIB dưới dạng cơ sở dữ liệu được chia sẻ chung giữa Agent và Manager. MIB được lưu dưới dạng tệp văn bản ở định dạng cụ thể mà trình soạn thảo MIB, trình tạo SNMP Agent, công cụ quản lý mạng và công cụ mô phỏng mạng có thể hiểu được, tạo điều kiện thuận lợi cho việc xây dựng, kiểm tra, triển khai và hoạt động mạng. Các đối tượng được quản lý trong MIB được gọi là định danh đối tượng (object ID hoặc OID, xem mục dưới).

Ở trên ta đã liệt kê 4 thành phần chính của SNMP, sau đây là định nghĩa về OID

OID

Định danh đối tượng (OID) được biểu diễn bằng các chuỗi số phân tách bằng dấu chấm. Có hai loại đối tượng được quản lý:

Scalar (Vô hướng): Các đối tượng được xác định bởi một cá thể đối tượng (tức là chỉ có thể có một kết quả.)

Tabular (Bảng): Các đối tượng được xác định bởi nhiều cá thể đối tượng có liên quan được nhóm trong các bảng MIB.

MIB tổ chức các OID theo thứ bậc, có thể được biểu diễn trong một cấu trúc cây có các số nhận dạng biến riêng cho từng OID. Cấu trúc cây này chứa tất cả các tính năng có thể quản lý của tất cả các sản phẩm được sắp xếp trong đó. Mỗi nhánh của cây này có một số và một tên, và mỗi điểm được đặt tên theo con đường hoàn chỉnh từ ngọn cây trở xuống dẫn đến điểm đó.

SNMP hoạt động như thế nào?

Lưu lượng dữ liệu di chuyển trong mạng qua mỗi thao tác di chuyển, duyệt, tải xuống dữ liệu,… SNMP trao đổi với mạng các thông tin liên quan đến hoạt động của thiết bị mạng trong quá trình đó, ví dụ: số byte, gói và lỗi được truyền và nhận trên bộ định tuyến, tốc độ kết nối giữa các thiết bị hoặc số lần truy cập mà máy chủ web nhận được,…

SNMP hoạt động bằng cách gửi các tin nhắn (messages), được gọi là đơn vị dữ liệu giao thức (PDU – Protocol Data Unit), đến các thiết bị trong mạng tương thích SNMP. Những thông báo này được gọi là SNMP Get-Request. Sử dụng các lệnh yêu cầu này, quản trị viên mạng có thể theo dõi hầu như mọi giá trị dữ liệu mà họ chỉ định. Tất cả các thông tin theo dõi SNMP có thể được cung cấp cho một phần mềm khác để hiển thị hoặc lưu trữ dữ liệu, tùy thuộc vào tùy chọn của quản trị viên.

Sau đây là danh sách các lệnh yêu cầu Get-Request trong SNMP:

GetRequest

GetRequest yêu cầu Agent cung cấp giá trị hiện tại của OID. SNMP Manager gửi thông báo này để yêu cầu dữ liệu từ SNMP Agent. SNMP Agent phản hồi với giá trị được yêu cầu thông qua thông báo phản hồi (Response).

GetNextRequest

Lệnh này yêu cầu đối tượng tiếp theo trong MIB. Điều này có nghĩa là bạn có thể duyệt MIB mà không cần chỉ định các OID cụ thể (giống như dùng vòng for để duyệt qua mọi phần tử mảng). Lệnh này có thể được gửi để khám phá dữ liệu nào có sẵn trên SNMP Agent. SNMP Manager có thể yêu cầu dữ liệu liên tục cho đến khi không còn dữ liệu nào nữa. Bằng cách này, SNMP Manager có thể nắm được tất cả dữ liệu có sẵn trên SNMP Agent.

GetBulkRequest

GetBulkRequest thực hiện nhiều yêu cầu GetNextRequest. Lệnh này được sử dụng bởi SNMP Manager để truy xuất lượng dữ liệu lớn cùng một lúc từ các SNMP Agent, nó được giới thiệu trong SNMPv2c.

SetRequest

SetRequest yêu cầu Agent thay đổi giá trị trên máy chủ từ xa, đây là thao tác ghi duy nhất trong toàn bộ giao thức SNMP.

Phản hồi của Agent:

Response

Đây là một tin nhắn phản hồi với dữ liệu đi kèm là thông tin được yêu cầu ở GetRequest, hoặc một giá trị xác nhận lệnh đặt giá trị SetRequest đã được thực hiện thành công trên Agent.

Trap

Trap là một thông báo "bẫy" không được yêu cầu bởi Manager, cung cấp thông tin về các sự kiện trên thiết bị. Các SNMP Trap đã được đổi tên thành “Notifications” trong các phiên bản SNMP sau này. Agent không gửi Trap theo yêu cầu từ Manager mà thực hiện tự động khi có lỗi xảy ra.

InformRequest

InformRequest được giới thiệu trong SNMPv2c, được sử dụng để xác định xem thông điệp Trap đã được nhận bởi SNMP Manager hay chưa. Các Agent có thể được cấu hình để gửi Trap liên tục đến khi có phản hồi.

Ưu điểm của SNMP

Ưu điểm chính của SNMP là nó là một tiêu chuẩn mở. Các giao thức mở được thiết kế để chống lại sự lãng phí công sức và chi phí khi một nhà sản xuất phát triển giao thức "độc quyền" của riêng mình mà chỉ hệ sinh thái sản phẩm của họ họ mới hỗ trợ. Ví dụ, bạn không thể dùng cáp USB-C vốn sạc tốt cho điện thoại Android, laptop, bộ sạc dự phòng của mình để sạc một thiết bị IPhone mà phải mua cáp chuẩn lightning độc quyền của Apple cho dù mức giá cao và gây nhiều bất tiện.

Tính mở cũng cho phép việc phát triển SNMP nhanh và hiệu quả hơn. Đồng thời, số lượng lớn các nhà phát triển tham gia đóng góp sẽ đảm bảo tính tương thích rộng cho nhiều loại phần cứng. Nhìn chung, sự “mở” trong lĩnh vực công nghệ luôn đem tới những hiệu ứng tốt.

SNMP đem lại những gì?

Mục tiêu cơ bản của SNMP là cung cấp khả năng theo dõi và quản lý trạng thái của các thiết bị mạng. Tuy nhiên, bản thân SNMP chỉ có chức năng cung cấp thông tin cơ bản về các thành phần mạng, quản trị viên sẽ cần các công cụ khác nhau để phân tích và xử lý các thông tin này phục vụ cho công việc của mình.

Thông qua các công cụ giám sát như PRTG, SNMP cung cấp một số tính năng:

  • Tổ chức cấu trúc mạng
  • Cảnh báo & thông báo đẩy: cung cấp thông tin thời gian thực về các trạng thái mạng để có phản ứng kịp thời
  • Báo cáo thống kê: giúp trực quan hóa quá trình theo dõi quản lý mạng
  • Lập kế hoạch: dựa trên dữ liệu thu thập để đưa ra các kế hoạch vận hành hệ thống mạng ổn định như dự phòng, cân bằng tải,…

Hi vọng bài viết của chúng tôi đã phần nào giải đáp cho các bạn những thắc mắc về SNMP và những đặc tính của nó. Là một phần của bộ giao thức Internet cơ bản, tầm quan trọng của SNMP có lẽ là điều không cần bàn cãi và sẽ còn được sử dụng trong quản trị mạng trong nhiều năm tới.

TAGS: SNMP
SHARE
Hỗ trợ kỹ thuật
Kinh doanh, CSKH