SNMP là giao thức quản lý mạng đơn giản. Giao thức là một tập hợp các thủ tục mà các bên tham gia cần tuân theo để có thể giao tiếp được với nhau. Trong lĩnh vực thông tin, một giao thức quy định cấu trúc, định dạng (format) của dòng dữ liệu trao đổi với nhau và quy định trình tự, thủ tục để trao đổi dòng dữ liệu đó. Nếu một bên tham gia gửi dữ liệu không đúng định dạng hoặc không theo trình tự thì các bên khác sẽ không hiểu hoặc từ chối trao đổi thông tin. SNMP là một giao thức, do đó nó có những quy định riêng mà các thành phần trong mạng phải tuân theo. SNMP dùng để quản lý, nghĩa 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 : o Theo dõi tốc độ đường truyền của một router, biết được tổng số byte đã truyềnnhận. o 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. o Tự động nhận cảnh báo khi switch có một port bị down. o Điều khiển tắt (shutdown) các port trên switch.
Trang 1Bài 1: SNMP là gì?
Trả lời:
- SNMP là giao thức quản lý mạng đơn giản
- Giao thức là một tập hợp các thủ tục mà các bên tham gia cần tuân theo để có thể giao tiếp được với nhau Trong lĩnh vực thông tin, một giao thức quy định cấu trúc, định dạng (format) của dòng dữ liệu trao đổi với nhau và quy định trình tự, thủ tục để trao đổi dòng
dữ liệu đó Nếu một bên tham gia gửi dữ liệu không đúng định dạng hoặc không theo trình tự thì các bên khác sẽ không hiểu hoặc từ chối trao đổi thông tin SNMP là một giao thức, do đó nó có những quy định riêng mà các thành phần trong mạng phải tuân theo
- SNMP dùng để quản lý, nghĩa 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 :
o Theo dõi tốc độ đường truyền của một router, biết được tổng số byte đã
truyền/nhận
o 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
o Tự động nhận cảnh báo khi switch có một port bị down
o Điều khiển tắt (shutdown) các port trên switch
- SNMP dùng để quản lý mạng, nghĩa là nó được thiết kế để chạy trên nền TCP/IP và quản lý các thiết bị có nối mạng TCP/IP
- Sử dụng phần mềm SNMP, người quản trị mạng có thể quản lý, giám sát tập trung từ xa toàn mạng của mình
Bài 2: Các phiên bản SNMP giống và khác nhau?
Các phiên bản SNMP khác nhau những gì ?
+ Khác nhau ở phương thức hoạt động (operation) : SNMPv1 có 5 phương thức, tuy nhiên các version khác sau này được bổ sung thêm một số phương thức mới
+ Khác nhau ở cấu trúc bản tin SNMP (message format) : các phiên bản khác nhau sẽ khác nhau ở cấu trúc các bản tin
Trang 2thực sự SNMPv2c và SNMPv1 đều có cơ chế xác thực đơn giản bằng community giống nhau
+ SNMPv2u : đây là phiên bản SNMPv2 sử dụng cơ chế bảo mật có chứng thực bằng
băm1 và mã hóa đối xứng2 dữ liệu, gọi là User-based SNMPv2 hay SNMPv2u Sau này phiên bản SNMPv3 ra đời đã thay thế hoàn toàn SNMPv2u và người ta không còn ưu tiên dùng SNMPv2u nữa Do đó SNMPv2u sẽ không được trình bày trong tài liệu này
mà SNMPv3 sẽ được trình bày chi tiết Trong thực tế rất khó tìm thấy một thiết bị
còn hỗ trợ SNMPv2u
+ SNMPv3 : phiên bản bảo mật nhất của SNMP sử dụng mô hình bảo mật dựa trên
người dùng (User- based security model) với các cơ chế chứng thực bằng băm (MD5, SHA) và mã hóa (DES, AES) hiện đại Việc lập trình ứng dụng hỗ trợ được SNMPv3 phức tạp hơn, do đó hầu hết các phần mềm SNMP manager phiên bản có hỗ trợ
SNMPv3 đều có tính phí, trong khi phiên bản miễn phí chỉ hỗ trợ SNMPv1 và SNMPv2
Giao thức quản lý mạng đơn giản phiên bản 1 (SNMPv1):
Phiên bản đầu tiên của giao thức SNMP, SNMPv1 được xác định trong RFC 1157, giao thức quản lý mạng đơn giản (SNMP) Tính đơn giản của giao thức là sự rõ ràng rành mạch nhờ
sự thiết lập hoạt động là sẵn có Hình dưới chỉ ra các bản tin SNMP đơn giản được bộ quản lý
sử dụng để truyền dữ liệu từ các tác nhân ở phía các thiết bị quản lý Những bản tin này được miêu tả như sau:
+ GetRequest : lấy thông tin của object có OID trong bản tin
+ GetNextRequest : lấy thông tin của object nằm kế tiếp object có OID trong bản tin
+ SetRequest : thiết lập giá trị cho object có OID trong bản tin
+ GetResponse : trả về thông tin kết quả sau khi Get hoặc Set
+ Trap : thông báo có sự kiện xảy ra tại agent
Agent lắng nghe request ở cổng UDP 161 còn manager nhận trap ở cổng UDP 162
Trang 3Giao thức quản lý mạng đơn giản phiên bản 2 (SNMPv2):
Điển hình cho SNMPv2 đó chính là SNMPv2c, SNMPv2c có những khác biệt so
với SNMPv1 là :
- Có nhiều phương thức hơn so với SNMPv1
- Cấu trúc bản tin Trap PDU khác so với SNMPv1
- Có thêm bản tin Bulk PDU với cấu trúc riêng
Các phương thức của SNMPv2c, SNMPv2c có 8 phương thức gồm: GetRequest,
GetNextRequest, Response, SetRequest, GetBulkRequest, InformRequest, Trap vàReport Như vậy so với SNMPv1 thì v2c có thêm các phương thức GetBulk, Inform và Report
+ GetBulkRequest: phương thức này dùng để lấy một loạt nhiều object chỉ trong 1 bản tin GetBulk Các bản tin Get/GetNext vẫn có thể lấy cùng lúc nhiều object bằng cách đưa tất cả chúng vào danh sách variable-bindings trong bản tin request, nhưng GetBulk có thể lấy nhiều object mà chỉ cần chỉ ra 1 object trong variable-bindings
+ InformRequest: có tác dụng tương tự như trap, nhưng khi manager nhận được InformRequest thì nó sẽ gửi lại Response để xác nhận đã nhận được thông báo, còn Trap thì không có cơ chế xác nhận
+ Report: bản tin Report không được định nghĩa trong RFC3416, các hệ thống có sử dụng Report phải tự định nghĩa chúng, tuy nhiên bản tin Report vẫn có cấu trúc giống như các bản tin khác
Agent lắng nghe request ở cổng UDP 161 còn manager nhận trap & inform ở cổng UDP 162
Trang 4Giao thức quản lý mạng đơn giản phiên bản 3 (SNMPv3):
SNMPv2c ra đời tuy đã có phần bảo mật, tuy nhiên chính phần bảo mật này vẫn chưa nhận được sự đồng thuận của người sử dụng do tính tiện lợi và bảo mật của nó Để sửa chữa cho những thiếu hụt đó SNMPv3 được giới thiệu như chuẩn cho lĩnh vực quản trị mạng và được trình bày chi tiết lần đầu tiên vào năm 1998 với các tài liệu RFC2271-FRC2275 Chuẩn này đưa ra nhằm hoàn thiện hơn vấn đề quản trị và bảo mật
Mục đích chính của SNMPv3 là hỗ trợ kiến trúc theo kiểu module để có thể dễ dàng mở rộng Theo cách này, nếu các giao thức mới được mở rộng chúng có thể được hỗ trợ bởi SNMPv3 bằng các định nghĩa như là các mudun riêng Cơ sở thông tin quản trị và các dạng tin sử dụng trong SNMPv3 cũng hoàn toàn tương tự trong SNMPv2 Đặc điểm mới trong giao thức
SNMPv3:
SNMPv3 dựa trên việc thực hiện giao thức, loại dữ liệu này ủy quyền như SNMPv2 và cải tiến phần an toàn SNMPv3 cung cấp an toàn truy cập các thiết bị kết hợp sự xác thực và mã hóa các gói tin mạng Những đặc điểm bảo mật trong SNMPv3 là:
- Tính toàn vẹn thông báo: Đảm bảo các gói tin không bị sửa trong khi truyền
- Sự xác thực: xác nhận nguồn của thông báo đến
- Mã hóa: đảo nội dung của gói tin ngăn cản việc gửi thông báo từ nguồn không được xác nhận
Việc sử dụng SNMPv3 tuy rất phức tạp và cồng kềnh nhưng đây vẫn là sự lựa chọn tốt nhất cho vấn đề bảo mật mạng Việc sử dụng giao thức này sẽ tốn rất nhiều tài nguyên do trong bản tin
đi sẽ có phần mã hóa BER Nó sẽ chiếm một phần băng thông đường truyền do đó làm tăng phí tổn mạng