Chương 2 CễNG NGHỆ IP
3.1.6.3 Bảng SNMP MIB
Bảng SNMP SMI là sự định nghĩa những bảng cĩ cấu trúc đ-ợc sử dụng để nhĩm lại những thể hiện khác nhau của đối t-ợng để xếp thành bảng (các đối t-ợng chứa đựng nhiều biến). Những bảng đ-ợc biên soạn với zero hoặc nhiều hàng, đ-ợc chỉ số hố theo cách mà cho phép SNMP cĩ thể gọi ra hoặc thay đổi một hay tồn bộ các hàng của bảng chỉ với một lệnh đơn Get, GetNext hoặc Set.
Liên hệ với tập lệnh của giao thức SNMP, 1 Client cĩ thể đ-a ra 3 lệnh cơ bản đến server. Hai trong các lệnh này là hiển nhiên và địi hỏi việc ánh xạ trực tiếp. Client gửi Set request để gán 1 giá trị cho 1 biến. Nĩ gửi Get-request để lấy giá trị hiện đang l-u trữ trong 1 biến. Tr-ớc khi cĩ thể thực hiện yêu cầu, server phải ánh xạ tên ASN.1 đ-ợc mã hĩa theo ký số (cĩ trong yêu cầu gửi đến) thành các biến nội bộ thích hợp để l-u giữ các giá trị đối với tên này, với lệnh Set-request server cịn kiểm chứng rằng mỗi biến khơng đ-ợc thiết kế theo loại read-only. Đối với biến MIB dạng bảng, client đ-a ra lệnh get-next-request. Khơng giống nh- lệnh set-request hay get-request, lệnh get-next-request khơng xác định tên của phần tử cần lấy giá trị. Thay vì thế, nĩ xác định 1 tên và yêu cầu server đáp lời bầng tên và giá trị của biến kế tiếp (theo thứ tự ngữ pháp). Lênh get- next-request đặc biệt hữu dụng trong việc truy xuất các giá trị trong bảng khi khơng biết kích th-ớc.
Hỡnh 3.8. Mơ tả cấu trỳc Logic và Vật lý của MIB
Để cĩ thể thực hiện đ-ợc lệnh get-next-request, một số tên MIB t-ơng ứng với tồn bộ bảng thay vì từng phần tử riêng biệt. Các tên này khơng cĩ các giá trị riêng biệt, và Client khơng thể sử dụng chúng trực tiếp trong lệnh get-request. Tuy nhiên, Client cĩ thể xác định tên của bảng trong lệnh get-next-request để lấy phần tử đầu tiên trong bảng. Lấy ví dụ, MIB định nghĩa tên:
Iso.org.dod.internet.mgmt.mid.ip.ipAddrTable
để chỉ bảng các địa chỉ IP-từ đây ta biết đ-ợc máy của server. Cách biểu diễn ký số t-ơng đ-ơng
là: 1.3.6.1.2.1.4.20
tử đầu tiên trong bảng mà khơng cần biết tên của biến MIB tr-ớc. Client đ-a ra lệnh get-next- request với tên bảng để trích ra phần tử đầu tiên trong bảng.
3.1.7 Khuụn dạng gúi tin SNMP[4]
Khuơn dạng gĩi tin SNMP gồm 2 phần: header của gĩi tin và PDU (protocol data unit)
Hỡnh 3.9. Khuơn dạng gĩi tin SNMP.
a. Header của gĩi tin
Header của gĩi tin gồm 2 tr-ờng: là Số hiệu phiên bản (Version Number) và Tên cộng đồng (Community Name):
Số hiệu phiên bản(Version number) - chỉ ra phiên bản SNMP sử dụng.
Tên cộng đồng (Community name) - định nghĩa một mơi tr-ờng truy nhập cho một nhĩm NMSs. NMS với cùng Community name sẽ cĩ khả năng quản lý đối t-ợng giống nhau. Community name là một kiểu chứng thực của hệ thống. Tuy nhiên kiểu chứng thực này rất yếu, bởi vì Community name thích hợp cĩ thể đ-ợc biết bằng những thao tác thử loại trừ.
b. Giao thức đơn vị dữ liệu PDU
Mỗi PDU (Protocol Data Unit) bao gồm 1 lệnh đặc thù (Get, Set, ..) và một bảng các tốn hạng để xác định đối t-ợng cần quản lý và các tham số liên quan tới giao dịch.
Các tr-ờng này đều đ-ợc mơ tả theo kiểu ASN.1 (Abstract Syntax Notation One - Ngơn ngữ cú pháp trừu t-ợng) gồm kiểu, chiều dài và giá trị.
Hỡnh 3.10. Khuơn dạng lệnh Get, Get-Next, Set Request và Get Response
Kiểu PDU (PDU Type) - chỉ rõ kiểu PDU truyền. Cĩ 5 kiểu PDU là Get-Request, Get-Next-Request, Set-Request, Get-Response và Trap.
Số hiệu yêu cầu (Request ID) - dùng để xác định t-ơng ứng giữa yêu cầu và câu trả lời.
Trạng thái lỗi (Error Status) - báo trạng thái lỗi xảy ra. Chỉ trong lệnh Agent trả lời (Get-Response) giá trị này mới cĩ thể đ-ợc đặt, cịn trong các lệnh khác giá trị này luơn đặt là 0.
Chỉ số lỗi (Error Index) - xác định t-ơng ứng giữa lỗi và đối t-ợng bị lỗi. Chỉ trong lệnh Agent trả lời Get-Response đặt giá trị cho tr-ờng này, cịn trong các lệnh khác giá trị này luơn đặt là 0.
Khối các biến (Variable Bindings) - Khối các biến là 1 tr-ờng của PDU. Khối các biến xác định đối t-ợng cần quản lý cùng với giá trị của đối t-ợng đĩ (trừ với lệnh Get-Request, Get-Next-Request giá trị của đối t-ợng là rỗng).
c. Khuơn dạng bẫy PDU
Hỡnh 3.11. Khuơn dạng lệnh Trap
Tổ chức (Enterprise) - xác định kiểu của đối t-ợng cần quản lý phát sinh bẫy.
Địa chỉ của Agent (Agent Address) - cung cấp địa chỉ IP của đối t-ợng cần quản lý phát sinh bẫy.
Kiểu bẫy chung (Generic Trap Type) - báo một trong số một số kiểu bẫy chuẩn.
Mã bẫy đặc thù (Specific Trap Code) - báo một trong số một số mã bẫy đặc biệt, do nhà cung cấp tự định nghĩa.
Thời gian (Time Stamp) - cho biết thời gian trơi qua từ khi mạng khởi tạo lần cuối cùng cho tới khi phát sinh bẫy.
Khối các biến (Variable Bindings) - tr-ờng dữ liệu của bẫy PDU, th-ờng là các thơng tin thêm.