Bài giảng Quản trị mạng theo giao thức SNMPV1, SNMPV2 và SNMPV3

SMI hỗtrợmột dạng cấu trúc dữliệu: bảng hai chiều đơn giản, với các thực thể

là các giá trịvô hướng. Để định nghĩa các bảng ta sửdụng loại sequence và sequence-of của ASN.1 và indexPart của macro OBJECT-TYPE.

Xét kiểu đối tượng tcpconnTable có nhận diện đối tượng là 1.3.1.2.1.6.13. Đối

tượng này bao gồm các thông tin vềcác kết nối TCP đang duy trì tương ứng với các

thực thểbịquản trị.Với mỗi kết nối nhưthế, các thông tin sau được lưu trữvào bảng.

• state:trạng thái kết nối của TCP (giá trịchỉmục này có thểlà một trong 11 trạng

thái TCP đã định nghĩa theo chuẩn phản ánh kết nối, giá trị được thiết lập và

thay đổi bởi phần tửTCP. Hơn nữa , chỉmục có thểmang giá trịdeleteTCP- đây

là giá trịthiết lập bởi trạm quản trị. Khi giá trịnày được lập, phần tửhuỷbỏkhối

điều khiển giao vận do cậy huỷbỏkết nối, điều này tương tựnhưmột giao vận

chuyển vềtrạng thái CLOSE).

• Local address: địa chỉIP của một đầu cuối của kết nối.

• Local port: cổng TCP của một đầu cuối của kết nối.

• Remote address: địa chỉIP của một đầu cuối kia của kết nối

• Remote port: cổng TCP của một đầu cuối kia của kết nối.

pdf65 trang | Chia sẻ: maiphuongdc | Lượt xem: 3473 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Bài giảng Quản trị mạng theo giao thức SNMPV1, SNMPV2 và SNMPV3, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
được định nghĩa, nó cần 25 phải thực hiện với các loại nguyên. Có hai quy ước được kết hợp với sử dụng các dãy số: • Giá trị 0 có thể không sử dụng, điều này cho phép bắt các lỗi mã hoá chung. • Chỉ sử dụng các giá trị đếm được nguyên. Có thể dùng một giá trị đếm được đặt tên là other, dùng cho các trường hợp không thể đưa vào các nhãn đếm được khác. Nhận diện đối tượng là nhận diện duy nhất của đối tượng, gồm dãy các số nguyên, đọc thứ tự từ trái sang phải, định nghĩa vị trí của đối tượng trong MIB. Lớp APPLICATION của ASN.1 gồm các kiểu dữ liệu liên quan đến một ứng dụng cụ thể. Mỗi ứng dụng, gồm cả SNMP, phải định nghĩa các kiểu dữ liệu APPLICATION của riêng mình. Các kiểu dữ liệu sau phải được định nghĩa. • Networksaddress. • IpAddress: • Counter: • Gauge • Timestick • Opaque e) Định nghĩa đối tượng Một MIB bao gồm một tập các đối tượng. Mỗi đối tượng có một kiểu và một giá trị. Kiểu đối tượng (object type) định nghĩa loại đăc biệt của đối tượng quản trị. Một phiên bản đối tượng (object instance) là một phiên bản riêng của kiểu đối tượng được hạn chế bởi một giá trị cụ thể. ASN.1 bao gồm một số các kiểu phổ biến được định nghĩa trước đây và một ngữ pháp để định nghĩa các kiểu mới được lấy từ các kiểu đã có. Sự lựa chọn cách định nghĩa thích hợp nhất, và đã được sử dụng trong SNMP, là sử dụng một macro để định nghĩa một tập các kiểu liên quan được sử dụng để định nghĩa các đối tượng quản trị. Ta có các định nghĩa như sau: • Macro defition (định nghĩa marco): định nghĩa các phiên bản marco hợp pháp; mô tả cú pháp của một tập các loại liên quan. 26 • Macro instance (phiên bản macro): một phiên bản được tạo ra từ một định nghĩa macro cụ thể bằng cách cung cấp các đối số cho các tham số trong định nghĩa macro; mô tả một dạng cụ thể. • Macro instance value (giá trị phiên bản macro): đại diện cho một phần tử cụ thể bằng một giá trị cụ thể. f) Định nghĩa các bảng SMI hỗ trợ một dạng cấu trúc dữ liệu: bảng hai chiều đơn giản, với các thực thể là các giá trị vô hướng. Để định nghĩa các bảng ta sử dụng loại sequence và sequence- of của ASN.1 và indexPart của macro OBJECT-TYPE. Xét kiểu đối tượng tcpconnTable có nhận diện đối tượng là 1.3.1.2.1.6.13. Đối tượng này bao gồm các thông tin về các kết nối TCP đang duy trì tương ứng với các thực thể bị quản trị.Với mỗi kết nối như thế, các thông tin sau được lưu trữ vào bảng. • state:trạng thái kết nối của TCP (giá trị chỉ mục này có thể là một trong 11 trạng thái TCP đã định nghĩa theo chuẩn phản ánh kết nối, giá trị được thiết lập và thay đổi bởi phần tử TCP. Hơn nữa , chỉ mục có thể mang giá trị deleteTCP- đây là giá trị thiết lập bởi trạm quản trị. Khi giá trị này được lập, phần tử huỷ bỏ khối điều khiển giao vận do cậy huỷ bỏ kết nối, điều này tương tự như một giao vận chuyển về trạng thái CLOSE). • Local address: địa chỉ IP của một đầu cuối của kết nối. • Local port: cổng TCP của một đầu cuối của kết nối. • Remote address: địa chỉ IP của một đầu cuối kia của kết nối • Remote port: cổng TCP của một đầu cuối kia của kết nối. Chỉ có 5 mục này là có thể nhìn thấy trong bảng tcpConnTable. Điều này minh họa rằng SNMP quản trị mạng là đơn giản: chỉ có một tập con hữu hạn của thông tin trên một phần tử được quản lý được chứa trong đối tượng được quản lý tương ứng. c) Cấu trúc mã hoá Các luật mã hoá cơ bản (Basic Encoding Rules – BER) định nghĩa một hay nhiều cách để mã hoá bất kỳ giá trị ASN.1 nào như một cấu trúc octet dựa trên cơ sở sử dụng cấu trúc type – length – value (VLE). Tức là bất kỳ một ASN.1 nào cũng có thể được mã hoá như là một bộ ba các thành phần sau : 27 • Kiểu (type): thể hiện kiểu ASN.1 cũng như lớp của dạng đó. • Độ dài (length): thể hiện độ dài giá trị thực được đưa ra. • Giá trị (Value): đưa ra giá trị của dạng ASN.1 như là một chuỗi octet Mọi đối tượng trong SNMP được định nghĩa theo cách thông thường, định nghĩa mô tả dạng dữ liệu của đối tượng, dải giá trị và dạng mà nó chấp nhận, và quan hệ của nó đến các đối tượng khác trong MIB. Ký pháp ASN.1 được sử dụng để định nghĩa mỗi đối tượng đơn lẻ và và cũng để định nghĩa toàn bộ cấu trúc của MIB. 2.1.1.6 Managed Objects a) Managed object structure sysDescr: { system 1 } Syntax: OCTET STRING Definition: "A textual description of the entity. This value should include the full name and version identification of the system's hardware type, software operating-system, and networking software. It is mandatory that this only contain printable ASCII characters." Access: read-only Status: mandatory sysDescr OBJECT-TYPE SYNTAX DisplayString (SIZE (0..255)) ACCESS read-only STATUS mandatory DESCRIPTION “A textual description of the entity. This value shouldinclude the full name and version identification of thesystem’s hardware type, software operating-system, andnetworking software. It is mandatory that this only containprintable ASCII characters.” ::= {system 1 } b) aggregate object Một đối tượng tập hợp có thể là: một nhóm các đối tượng, hoặc cũng có thể gọi là các đối tượng bảng, nó được thể hiện thông qua hai thuộc tính của bảng là cột và dòng. Trong đó các cột định nghĩa các đối tượng (object), các dòng định nghĩa các giá trị cụ thể của đối tượng hay còn gọi là các đối tượng instances (Object instance). 28 Ví dụ một bảng địa chỉ IP bao gồm các đối tượng sau • IP address • Interface • Subnet mask (những subnet mà address này thuộc về) • Broadcast address (value of l.s.b. in IP broadcast address) • IP datagram lớn nhất nó chấp nhận Và nhiều đối tượng instances của những đối tượng khác liên quan đến node. Giá trị của NEW-MIB routeTablenext 5 là 3 Nếu tính theo giá trị cột thì giá trị NEW-MIB routeTablenext 5 là 2 29 ở đây giá trị OID của Table = 1. 3 , khi đó ta có: 1.3.1.5 => 5 1.3.2.5 => 2 1.3.1.9 => 9 1.3.2.9 => 3 1.3.2.7 => 2 1.3.1.1 => entry does not exist 1.3.2.1 => entry does not exist Với giá trị OID của Table = 1.3 1.3.1.130.89.16.23 => 130.89.16.23 1.3.2.130.89.16.23 => 130.89.16.1 1.3.1.193.22.11.97 => 193.22.11.97 1.3.2.193.22.11.97 => 130.89.16.4 1.3.2.130.89.19.121 => 130.89.16.1 Ngoài ra ta có thể sử dụng bảng với nhiều trường làm chỉ mục: 30 Khi đó ta có: 1.3.3.192.1.23.24.1 => 130.89.16.1 1.3.3.192.1.23.24.2 => 130.89.16.4 c) Định nghĩa TABLE --Definition of the route table routeTable OBJECT-TYPE SYNTAX SEQUENCE OF RouteEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This entity’s routing table" ::={NEW-MIB 3} routeEntry OBJECT-TYPE SYNTAX RouteEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A route to a particular destination" INDEX {dest, policy} ::={routeTable 1} 31 RouteEntry::= SEQUENCE{ Dest ipAddress, Policy INTEGER, Next ipAddress } dest OBJECT-TYPE SYNTAX ipAddress ACCESS read-only STATUS current DESCRIPTION "The address of a particular destination" ::={route-entry 1} policy OBJECT-TYPE SYNTAX INTEGER { costs(1)--lowest delay reliability(2)} --highest reliability ACCESS read-only STATUS current DESCRIPTION "The routing policy to reach that destination" ::={route-entry 2} Next OBJECT-TYPE SYNTAX ipAddress ACCESS read-write STATUS current DESCRIPTION "The internet address of the next hop" ::={route-entry 3} 2.1.2 Kiến trúc giao thức SNMP SNMP được thiết kế là một giao thức mức ứng dụng là một phần của bộ giao thức TCP/IP. Nó được cài đặt trên User Datagram Protocol (UDP). Hình 2.6 đưa ra cấu trúc điển hình SNMP. 32 Hình 2.6 Kiến trúc quản trị mạng SNMP SNMP có 05 message cơ sở (Get, GetNext, GetResponse, Set, và Trap) để kết nối giữa manager và agent. Message Get và GetNext cho phép manager yêu cầu thông tin của một biến cụ thể. Agent khi nhận được một message Get hoặc GetNext sẽ phát đi một message GetResponse tới manager với thông tin được yêu cầu hoặc một thông báo lỗi giải thích vì sao yêu cầu không được thực hiện. Tập hợp message cho phép manager yêu cầu thay đổi giá trị một biến cụ thể trong trường hợp cảnh báo từ xa sẽ có tác dụng sau một khoảng trễ. Agent sẽ phản hồi lại với một message GetRespone trong trường hợp đã bị thay đổi hoặc thông báo bị lỗi và giải thích vì sao không thể thay đổi. Message Trap cho phép agent tự phát thông tin cho manager trong hoàn cảnh “đặc biệt”. Hầu hết các message (Get,GetNext và Set) chỉ được phát ra bởi SNMP manager. Bởi vì message Trap chỉ được khởi tạo bởi agent, nó là message sử dụng cho Remote Telemetry Units (RTUs) khi có các cảnh báo. Và sẽ thông báo đến SNMP manager ngay sau khi có sự cố xảy ra thay vì phải chờ manager yêu cầu (hỏi). 33 Hình 2.7 Kiến trúc quản trị mạng SNMP a) Kiểm soát theo Trap Nếu một trạm quản trị, quản trị số lượng lớn các Agent, và nếu mỗi Agent duy trì một số lượng lớn các đối tượng, thì sẽ không thực tế khi các trạm quản trị kiểm soát theo kiểu “bỏ phiếu” tất cả các Agent với các đối tượng dữ liệu có thể đọc. Do vậy, SNMP và MIB liên quan được thiết kế sử dụng một kỹ thuật được gọi là kiểm soát theo Trap. Tại thời điểm ban đầu, và tại các khoảng thời gian theo chu kỳ như một lần trong ngày, trạm quản trị kiểm soát theo kiểu “bỏ phiếu” tất cả các Agent để biết vài thông tin mấu chốt như các đặc tính giao tiếp; một vài thống kê về tính năng giới hạn như là số lượng trung bình các gói tin gửi và nhận trên mỗi giao tiếp trong một khoảng thời gian. Khi các giới hạn này được xác lập, trạm quản trị ngừng kiểm soát theo kiểu “bỏ phiếu” và mỗi Agent có trách nhiệm thông báo cho trạm quản trị về các sự kiện không bình thường. Các sự kiện này được truyền trong thông báo SNMP và được gọi là Trap. Khi trạm quản trị được thông báo do điều kiện bất thường, nó sẽ thực hiện một vài hành động như: kiểm tra trực tiếp Agent vừa thông báo hoặc các Agent lân cận để phát hiện lỗi. Kỹ thuật kiểm soát Agent sẽ tiết kiệm năng lực mạng và thời gian xử lý Agent. b) Uỷ quyền (Proxy) Agen uỷ quyền Thiết bị được uỷ quyền 34 Trạm quản trị Tiến trình quản trị SNMP UDP IP Các giao thức phụ thuộc mạng Hình 2.8 Kiến trúc của Agent ủy quyền Việc sử dụng SNMP đòi hỏi các Agent, cũng như các trạm quản trị, cần phải hỗ trợ một giao thức chung phù hợp như là UDP và IP. Điều này hạn chế trực tiếp đến việc quản trị các thiết bị như modem hoặc bộ nối mà không hỗ trợ giao thức TCP/IP phù hợp. Hơn nữa có thể có nhiều hệ thống nhỏ (các máy tính cá nhân, workstation, các bộ điều khiển có thể lập trình ) phải thực hiện TCP/IP để hỗ trợ các ứng dụng của nó nhưng không muốn phải thêm gánh nặng của SNMP và việc duy trì MIB. Để các thiết bị như vậy không phải thực hiện SNMP, người ta đã đưa ra khái niệm uỷ quyền. Hình 2.8 thể hiện dạng cấu trúc giao thức của một Agent SNMP hoạt động như một thống kê uỷ quyền cho một hoặc nhiều các thiết bị khác, có nghĩa là một SNMP Agent hoạt động thay mặt cho các thiết bị được uỷ quyền. Mọi yêu cầu và trả lời giữa một trạm quản trị và một thiết bị uỷ quyền đều được chuyển thông qua Agent của nó. Agent chuyển đổi các yêu cầu và trả lời hoặc Trap thành dạng giao thức quản trị phù hợp. c) Các toán tử SNMP SNMP chỉ hỗ trợ các toán tử là sửa đổi và duyệt các biến. Đặc biệt, ba toán tử sau có thể được thực hiện trên các đối tượng vô hướng: • Get: một trạm quản trị nhận một giá trị của đối tượng vô hướng từ một trạm bị quản trị. Chức năng ánh xạ Tiến trình Agent Cấu trúc giao thức được thiết bị uỷ quyền sử dụng SNMP UDP IP Các giao thức phụ thuộc mạng Các giao thức phụ thuộc mạng Tiến hành quản trị Các giao thức được thiết bị uỷ quyền sử dụng Các giao thức phụ thuộc mạng 35 • Set: một trạm quản trị cập nhập một giá trị của đối tượng vô hướng cho một trạm bị quản trị. • Trap: một trạm quản trị gửi một giá trị của đối tượng vô hướng không được yêu cầu tới một trạm quản trị. Các toán tử này không có khả năng thay đổi cấu trúc của một MIB bằng cách thêm hoặc bớt các phiên bản đối tượng (thêm hoặc bớt một dòng trong bảng) nhưng có khả năng đưa ra các lệnh để thực hiện các hoạt động. Ngoài ra chúng chỉ cung cấp các khả năng truy cập vào các đối tượng “lá” trong cây nhận dạng đối tượng. Các giới hạn này làm đơn giản việc thực hiện của SNMP song cũng giới hạn khả năng của hệ thống quản trị mạng. d) Truyền thông SNMP Quản trị mạng có thể xem như là một ứng dụng phân tán, nó yêu cầu sự tương tác của một số phần tử ứng dụng mà được một giao thức ứng dụng hỗ trợ. Trong SNMP, các phần tử ứng dụng là các ứng dụng trạm quản trị và các ứng dụng khác mà sử dụng giao thức được hỗ trợ SNMP. Ta có thể coi SNMP là một liên hệ giữa một Agent SNMP và một tập các quản trị SNMP được định nghĩa cục bộ tại trạm bị quản trị do vậy có thể có nhiều Agent cùng sử dụng một tên. Nên trạm quản trị phải duy trì dấu vết của tên truyền thông hoặc tên liên quan với mỗi Agent mà nó muốn truy cập. Mỗi trạm quản trị điều khiển một MIB cục bộ của mình và phải có khả năng điều khiển việc sử dụng MIB đó của một số các trạm điều khiển. Có ba hướng cho việc điều khiển này: • Dịch vụ xác nhận: trạm bị quản trị muốn giới hạn việc truy cập vào MIB với các trạm quản trị cho phép. Trong SNMP, nó khẳng định rằng thông báo là từ nơi nó được yêu cầu. Mọi thông báo từ một trạm quản trị đến một Agent bao gồm cả tên truyền thông. Tên này được khoá mã và thông báo được coi là xác nhận khi người gửi biết khoá mã. • Chính sách truy cập: trạm bị quản trị có thể đưa ra quyền truy cập khác nhau cho các trạm quản trị khác nhau. Bằng cách định nghĩa một truyền thông, một Agent giới hạn việc truy cập vào MIB của nó với một tập các trạm quản trị. Bằng cách 36 dùng nhiều đường truyền thông, một Agent có thể cung cấp nhiều dạng truy cập MIB cho trạm quản trị khác nhau. • Dịch vụ uỷ quyền: một trạm quản trị có thể hoạt động như một uỷ quyền cho các trạm bị quản trị khác. Điều này có thể yêu cầu dịch vụ xác nhận hoặc chính sách truy cập cho các trạm bị quản trị khác trong hệ thống uỷ quyền e) Phiên bản nhận dạng Mọi đối tượng trong MIB có một nhận dạng kèm theo, được định nghĩa bởi vị trí của đối tượng đó trong cấu trúc hình cây của MIB. Khi thực hiện một truy cập vào một MIB, qua SNMP, nó là một phiên bản cụ thể của một đối tượng mà nó muốn. • Các đối tượng cột (colummar Object): với các đối tượng xuất hiện dưới dạng bảng, ta xem như là các đối tượng cột. Các đối tượng cột một mình nó không đủ để nhận dạng đối tượng nên cần có một phiên bản của mỗi đối tượng và một tập các giá trị của các đối tượng INDEX sẽ mô tả một đối tượng vô hướng nhất định trong một hàng nhất định trong bảng. • Các đối tượng hàng (row Objects): Vì đây không phải là các đối tượng “lá” nên không có nhận dạng phiên bản và SNMP không truy cập được. Trong định nghĩa MIB về các đối tượng này, đặc tính ACCESS của chúng được gán là “non- accessible”. • Các đối tượng vô hướng (scalar Objects): để phân biệt sự khác nhau giữa dạng đối tượng và phiên bản đối tượng, SNMP quy định nhận dạng phiên bản của đối tượng vô hướng theo bảng gồm nhận dạng của nó kết hợp với 0. f) Trật tự theo thứ tự Một nhận dạng đối tượng là một chuỗi các số nguyên thể hiện trật tự hoặc cấu trúc nhánh cây của các đối tượng trong MIB, vì vậy chúng thể hiện một trật tự theo thứ tự. Một trật tự của các nhận dạng đối tượng và phiên bản đối tượng là rất quan trọng vì trạm quản trị mạng có thể không biết chính xác cách sắp xếp của MIB mà một Agent đưa cho nó mà cần một cách để tìm kiếm và truy cập các đối tượng mà không cần chỉ rõ tên đối tượng. 2.1.3 Mô tả giao thức SNMP 37 Trong SNMP, thông tin trao đổi giữa một trạm quản trị và một Agent theo dạng thông báo SNMP. Mỗi thông báo bao gồm số hiệu phiên bản thể hiện phiên bản SNMP, Protocol Data Unit (PDU) là định dạng thông điệp mà các nhà quản lý và các đại lý sử dụng để gửi và nhận thông tin. SNMP định dạng PDU chuẩn: • get • getnext • getbulk (SNMPv2 (xem 2.2.1/a) và SNMPv3) • set • getresponse • trap • notification (SNMPv2 (xem 2.2.1/b) và SNMPv3) • inform (SNMPv2 (xem 2.2.1/c) và SNMPv3) • report (SNMPv2 (xem 2.2.1/d) và SNMPv3) Ngoài việc sử dụng các công cụ hỗ trợ thao tác bằng lệnh có những gói thực hiện các thao tác của SNMP, các lệnh set và get được sử dụng như sau: $/usr/sbin/tethereal -i lo -x -V -F libpcap -f "port 161" Lệnh trap sử dụng như sau: $/usr/sbin/tethereal -i lo -x -V -F libpcap -f "port 162" a) Get request Get request là yêu cầu từ NMS, NMS sẽ gửi một yêu cầu đến agent, khi agent nhận được yêu cầu này nó sẽ xử lý với năng lực tốt nhất có thể, nếu một thiết bị như router chẳng hạn nó không đủ tài nguyên để xử lý yêu cầu này thì nó sẽ bỏ qua yêu cầu, còn nếu thiết bị nào vẫn đáp ứng được việc xử lý yêu cầu nó sẽ trả về một getResponse cho NMS. Các đối tượng mà NMS yêu cầu được thể hiện trong 38 getrequest lưu trong biến rằng buộc (binding). Biến này lưu danh sách các đối tượng mà NMS muốn biết theo cú pháp OID=value. Ví dụ: $snmpget cisco.ora.com public .1.3.6.1.2.1.1.6.0 system.sysLocation.0 = "" Đây là một câu lệnh ”snmpget” trên Unix. “cisco.ora.com” là tên của thiết bị, “public” là chuỗi ra, chỉ đây là yêu cầu chỉ đọc (read-only), “.1.3.6.1.2.1.1.6.0” là OID. “.1.3.6.1.2.1.1” chỉ tới nhóm “system” trong MIB. “.6” chỉ tới một trường trong “system” là “sysLocation”. Trong câu lệnh này ta muốn truy vấn Cisco router rằng việc định vị hệ thống đã được cài đặt chưa. Câu trả lời system.sysLocation.0 = "" tức là chưa cài đặt. Câu trả lời của “snmpget” theo dạng của varbind: OID=value. Còn phần cuối trong OID ở “snmpget” là “.0” nằm trong quy ước của MIB. Khi truy vấn một đối tượng trong MIB ta cần chỉ rõ 2 trường “x.y’, ở đây là “.6.0”. “x” là OID thực tế của đối tượng. Còn y được dùng trong các đối tượng có hướng như một bảng và y xác định hàng nào của bảng, với trường hợp đối tượng vô hướng như trường hợp này “y” = “0”. Các hàng trong bảng được đánh số từ số 1 trở đi. Câu lệnh ”get” hữu ích trong việc truy vấn một đối tượng riêng lẻ trong MIB. Khi muốn biết thông tin về nhiều đối tượng thì ”get” tốn khá nhiều thời gian. Câu lệnh “getnext” giải quyết được vấn đề này. Hình 2.9 Trình tự xử lý yêu cầu Get b) getnetxt getnext đưa ra một dãy các lệnh để lấy thông tin từ một nhóm trong MIB. Agent sẽ lần lượt trả lời tất cả các đối tượng có trong câu truy vấn của getnext tương tự như get, cho đến khi nào hết các đối tượng trong dãy. Ví dụ ta dùng lệnh snmpwalk. snmpwalk tương tự như snmpget nhưng không chỉ tới một đối tượng cụ thể nào mà chỉ tới một nhánh nào đó: 39 $snmpwalk cisco.ora.com public system system.sysDescr.0="Cisco IOS Software, C2600 Software(C2600-IPBASE- M), Version 12.3(8)T3, RELEASE SOFTWARE (fc1) Technical Support: Copyright (c) 1986-2004 by Cisco Systems, Inc. Compiled Tue 20-Jul-04 17:03 by eaarmas" system.sysObjectID.0 = OID: enterprises.9.1.19 system.sysUpTime.0 = Timeticks: (27210723) 3 days, 3:35:07.23 system.sysContact.0 = "" system.sysName.0 = "cisco.ora.com" system.sysLocation.0 = "" system.sysServices.0 = 6 Hình 2.10 duyệt cây MIB với lệnh snmpwalk Ở đây ta muôn lấy thông tin của nhóm “system”, agent sẽ gửi trả toàn bộ thông tin của “system” theo yêu cầu. Quá trình tìm nhóm “system” trong MIB thực hiện theo cây từ gốc, đến một nút nếu có nhiều nhánh thì chọn nhánh tìm theo chỉ số của nhánh từ nhỏ đến lớn, system.1 (system.sysLocation), system.2,… 40 c) set request set để thay đổi giá trị của một đối tượng hoặc thêm một hàng mới vào bảng. Đối tượng này cần phải được định nghĩa trong MIB là “readwrite” hay “write-only”. NMS có thể dùng set để đặt giá trị cho nhiều đối tượng cùng một lúc. Hình 2.11 Trình tự thực hiện lệnh set $snmpget cisco.ora.com public system.sysLocation.0 system.sysLocation.0 = "" $snmpset cisco.ora.com private system.sysLocation.0 s "Atlanta, GA" system.sysLocation.0 = "Atlanta, GA" $snmpget cisco.ora.com public system.sysLocation.0 system.sysLocation.0 = "Atlanta, GA" Câu lệnh đầu là dung get để lấy giá trị hiện tại của “system.sysLocation”. Trong câu lệnh snmpset các trường cisco.ora.com và system.sysLocation.0 có ý nghĩa giống với ”get”, còn private để chỉ đối tượng “read-write’, và đặt giá trị mới bằng: s “Atlanta, GA”. Trong đó s tức là đặt giá trị của “system.sysLocation.0” thành kiểu string, và giá trị mới là "Atlanta, GA" . Varbind này được định nghĩa trong RFC 1213 là kiểu string tối đa 255 ký tự: sysLocation OBJECT-TYPE SYNTAX DisplayString (SIZE (0..255)) ACCESS read-write STATUS mandatory DESCRIPTION "The physical location of this node (e.g., 'telephone closet, 3rd floor')." ::= { system 6 } 41 SYNTAX của sysLocation là DisplayString (kích thước từ 0 đến 255). Lệnh snmpset thành công và báo cáo giá trị mới của sysLocation. Khi muốn biết đã thành công hay chưa chỉ cần chạy lại lệnh snmpget: $snmpget cisco.ora.com public system.sysLocation.0 system.sysLocation.0 = "Atlanta, GA" có thể cài đặt nhiều đối tượng cùng lúc, tuy nhiên nếu có một hành động bị lỗi, toàn bộ sẽ bị hủy bỏ. d) Thông báo lỗi của get, getnext, getbulk và set Một số lỗi báo thông dụng của agent xem bảng 2.2 sau: SNMPv1 error message Mô tả noError(0) Không có lỗi tooBig(1) Yêu cầu quá lớn để có thể trả lời được (nhiều yêu cầu trong một câu hỏi) noSuchName(2) OID yêu cầu không tìm thấy, tức OID không tồn tại ở agent badValue(3) Câu lệnh “set” dùng không đúng với các object “read-write” hay “write-only”. readOnly(4) Lỗi này ít dùng. Lỗi “noSuchName” tương đương với lỗi này genErr(5) Dùng cho tất cả các lỗi còn lại, không nằm trong các lỗi trên Bảng 2.2 Một số thông báo lỗi của SNMPv1 2.1.4 Truyền và nhận một Message SNMP a) Truyền Message SNMP Để truyền một trong năm dạng PDU cho một phần tử SNMP khác, phần tử SNMP phải thực hiện các hoạt động sau: • Sử dụng ASN.1 để tạo ra PDU. • PDU này được chuyển sang dịch vụ xác nhận cùng với các địa chỉ nguồn và đích của truyền thông và tên một truyền thông. Dịch vụ xác nhận thực hiện những biến đổi theo yêu cầu sau đó mã hoá hoặc thêm mã xác nhận và trả lại kết quả. 42 • Phần tử giao thức tạo ra một thông báo, thêm vào trường số hiệu phiên bản, tên truyền thông vào kết quả của bước trên. • Đối tượng ASN.1 mới này sau đó được mã hoá sử dụng BER và gửi đến dịch vụ giao vận. b) Nhận Message SNMP Khi nhận một thông báo từ một phần tử SNMP khác, một phần tử SNMP phải thực hiện các hoạt động sau: • Kiểm tra cú pháp cơ bản của thông báo và loại bỏ thông báo nếu cú pháp sai • Kiểm tra số hiệu phiên bản và loại bỏ thông báo nếu không tương hợp. Trong SNMP, chỉ có các đối tượng “lá” trong cây nhận dạng đối tượng, các đối tượng vô hướng là có thể truy cập. Tuy nhiên SNMP có khả năng nhóm các toán tử cùng dạng (get, set, trap) vào một thông báo, do vậy nếu một trạm quản trị muốn nhận các giá trị của tất cả các đối tượng trong một nhóm nhất định tại một Agent nhất định, nó có thể dùng một thông báo đơn, yêu cầu tất cả các giá trị và nhận lại một đáp ứng đơn các liệt kê tất cả các giá trị. Kỹ thuật này có thể làm giảm rất nhiều tải trọng truyền thông của quản trị mạng. Để thực hiện điều đó, các PDU của SNMP đều có trường variable-bindings (mục 2.1.1.4/b). Trường này bao gồm một thứ tự các tham chiếu đến các phiên bản đối tượng cùng với giá trị của các đối tượng đó. c) GetRequest PDU Một phần tử SNMP đưa ra GetRequestPDU thay mặt cho một ứng dụng trạm quản trị. Phần tử bao gồm các trường hợp sau trong PDU: • Dạng PDU: thể hiện một GetRequestPDU. • Request-id: phần tử gửi gán các số như vậy để người dùng mỗi yêu cầu gửi đi đến cùng một Agent là xác định duy nhất. Nó cho phép ứng dụng SNMP liên kết các đáp ứng truyền đến với yêu cầu còn lại, và cũng cho phép một phần SNMP loại bỏ các PDU kép được sinh ra do dịch vụ giao vận không tin cậy. • Variable bindings (các liên kết biến): liệt kê các phiên bản đối tượng có giá trị được yêu cầu. Phần tử SNMP nhận đáp ứng một GetRequestPDU bằng một GetResponsePDU có chứa cùng một request-id. Toán tử GetRequest có tính hạt nhân: hoặc lấy được tất 43 cả các giá trị hoặc không lấy bất cứ giá trị nào. Nếu phần tử đáp ứng có khả năng cung cấp tất cả các giá trị của các biến được liệt kê trong danh sách biến liên kết, thì GetResponsePDU bao gồm trường các liên kết biến với giá trị được cấp cho mỗi biến. Nếu ít nhất một biến không thể cấp giá trị thì sẽ không có giá trị nào được trả về. Các điều khiển sau có thể xảy ra: • Một đối tượng được đặt tên trong danh sách biến có thể không phù hợp với bất kỳ nhận dạng đối tượng nào trong MIB tương ứng, hoặc trên đối tượng là một dạng gộp mà không có giá trị phiên

Các file đính kèm theo tài liệu này:

  • pdftapbaigiang_sv_8932.pdf
Tài liệu liên quan