Uỷ quyền (Proxy)

Một phần của tài liệu bài giảng quản trị mạng (Trang 43 - 50)

44 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

45 • 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

46 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.

47 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 (adsbygoogle = window.adsbygoogle || []).push({});

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

48 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 đó:

49 $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: http://www.cisco.com/techsupport 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,…

50

Một phần của tài liệu bài giảng quản trị mạng (Trang 43 - 50)