Các chức năng sau ñây ñược cung cấp ñể tạo ñiều kiện thiết lập kết nối và kết thúc kết nối trong một RPC ñộc lập thời gian.
2.3.3.1. Thiết lập kết nối
Chi tiết của thiết lập kết nối sử dụng RPC ñược xử lý bằng cách sử dụng lệnh gọi. Kết quả của lệnh gọi này trả về một Xử lý gắn kết (Handle Binding). Ngoài việc lưu trữ thông tin lỗi, Xử lý gắn kết chứa thông tin về quản lý xử lý ñược tạo ra tại giao diện gốc của lệnh gọi RPC khi giao diện chức năng hỗ trợ MI kích hoạt từ xa chức năng DMI ñại diện cho ứng dụng quản lý. Xử lý quản lý ñược sử dụng trong DmiRegister và lệnh DMI tiếp
theo.
Cơ cấu DmiIndicationFuncs chứa ñịa chỉ của chức năng gọi lại (callback function) ñể nhận các chỉ báo ñược cung cấp bởi các ứng dụng quản lý. Ứng dụng quản lý sẽ xử lý các chỉ báo tại mục nhập. Mỗi một mục nhập có một chỉ báo của DMI. Nếu ứng dụng không quan tâm ñến một loại chỉ báo cụ thể, nó có thể gán một giá trị NULL cho ñịa chỉ ñối với giao diện Chức năng hỗ trợ MI.
Ứng dụng quản lý sử dụng các chức năng DmiBind ñể gắn kết với giao diện chức năng hỗ trợ MI và xác ñịnh cụ thể máy muốn giao tiếp, sử dụng giao thức vận chuyển và chuẩn RPC nào trên các kết nối. ðổi lại, ưng dụng quản lý nhận ñược một Handle Binding.
2.3.3.2. Kết thúc kết nối
Lệnh này ñược sử dụng ñể ñóng và giải phóng các tài nguyên ñã cấp phát trong quá trình thiết lập kết nối.
2.3.3.3. Danh sách các thông số giao vận
Các thông số giao vận trong thiết lập kết nối, kết thúc kết nối và ñiểm vào ñăng ký chỉ báo là một tham số chuỗi không rõ ràng thông qua việc thực hiện RPC cơ bản ñể lựa chọn giao thức giao vận quan tâm. Ví dụ giao thức hướng kết nối TCP hay không kết nối UDP.
2.3.3.4. Liên kết thời gian chạy
Thực hiện Chức năng hỗ trợ MI có thể tĩnh sử dụng một danh sách chuẩn RPC ñược xác ñịnh trước, hoặc có thể áp dụng liên kết trong thời gian chạy ñể truy cập mã RPC khác. Gắn kết tới RPC ñược thực hiện bằng cách sử dụng các cuộc gọi DmiBind ().
Ví dụ liên kết thời gian chạy
Một ví dụ thú vị của liên kết thời gian chạy có thể ñược sử dụng ñể mở rộng DMI ñể sử dụng RPC khác là trường hợp của một thực hiện cực bộ không sử dụng lời gọi từ xa. Một thực hiện cực bộ cần phải cung cấp một thư
viện liên kết ñộng, ñúng cách ñặt tên theo hệ ñiều hành ñược sử dụng (ví dụ, thực hiện Win16 sẽ sử dụng DMILOC16.DLL.) Thư viện này, trình bày một giao diện DMI tương thích, sẽ ñược liên kết theo các Chức năng hỗ trợ MI, và do ñó sẽ có thể truy cập vào bất kỳ ứng dụng Quản lý / Khách hàng.
Ứng dụng quản lý, trong mọi trường hợp sẽ chỉ thấy giao diện MI (Chức năng người sử dụng dịch vụ DMI), một DLL. DLL này là chịu trách nhiệm tải và quản lý tất cả các chức năng RPC bên dưới nó. Không chỉ DLL chức năng người dùng chịu trách nhiệm tải các file DLL RPC khi cần thiết, mà nó cũng có trách nhiệm quản lý các chức năng bảng ñịnh tuyến ñược yêu cầu ñể chuyển các lời gọi tới ñúng DLL RPC.
2.4. Ứng dụng và mở rộng chuẩn DMI trong Hệñiều hành Window
Chuẩn DMI ñược các nhà sản xuất thiết bị, nhà sản xuất hệ ñiều hành, nhà sản xuất phần mềm ứng dụng, sử dụng ñể thực thi các công cụ (Tools) tạo ñiều kiện dễ dàng cho việc xây dựng các chương trình ứng dụng quản lý và ñiều khiển. Luận văn giới thiệu tóm lược về một công cụ này của hệ ñiều hành Microsoft Windows ñặc biệt trong phiên bản mới nhất Window 2008.
2.4.1. Giới thiệu
WMI (Microsoft Windows Management Instrumentation) là công nghệ của thực hiện công tác quản lý phân tán (DMTF) dựa trên Web Quản lý doanh nghiệp (WBEM) sáng kiến mở rộng mô hình thông tin thông thường (CIM) ñể ñại diện cho các ñối tượng quản lý trong môi trường hệ ñiều hành Windows. Mô hình thông tin thông thường, cũng là một tiêu chuẩn DMTF, là một mô hình dữ liệu mở rộng ñể tổ chức các ñối tượng quản lý một cách nhất quán, thống nhất, trong một môi trường ñược quản lý.
Dựa trên mô hình thông tin thông thường, WBEM là một sáng kiến DMTF và công nghệ thiết lập các tiêu chuẩn quản lý cơ sở hạ tầng và cung cấp một cách chuẩn hóa ñể truy cập thông tin từ các phần cứng khác nhau và
các hệ thống phần mềm quản lý trong một môi trường doanh nghiệp. Sử dụng tiêu chuẩn WBEM, các nhà phát triển có thể tạo ra các công cụ và công nghệ giảm sự phức tạp và chi phí quản lý doanh nghiệp.
WBEM cung cấp một ñiểm hội nhập qua ñó dữ liệu từ các nguồn quản lý có thể ñược truy cập, và nó bổ sung và mở rộng giao thức quản lý hiện có và thiết bị ño ñạc như SNMP (Simple Network Management Protocol), DMI (Desktop Management Interface).
2.4.2 Windows Management Instrumentation Technology
WMI là một công nghệ quản lý cơ sở hạ tầng hỗ trợ các cú pháp của CIM, ñịnh dạng ñối tượng quản lý MOF (Managed Object Format ) và một giao diện lập trình phổ biến. Cú pháp MOF xác ñịnh cấu trúc và nội dung của lược ñồ CIM ở dạng con người và máy có thể ñọc ñược. WMI cung cấp một tập hợp mạnh mẽ của các dịch vụ, bao gồm cả truy tìm thông tin dựa trên truy vấn và thông báo sự kiện. Các dịch vụ và quản lý dữ liệu ñược truy cập thông qua một giao diện lập trình COM (Component Object Model). Giao diện kịch bản WMI cũng cung cấp kịch bản hỗ trợ.
Công nghệ WMI cung cấp:
Truy cập ñể theo dõi, ra lệnh và kiểm soát bất kỳ ñối tượng bị quản lý nào thông qua một tập hợp chung, thống nhất các giao diện, không phụ thuộc vào cơ chế hoạt ñộng bên dưới. WMI là một cơ chế truy cập.
• Một mô hình vững chắc cho hoạt ñộng, cấu hình trạng thái của hệ ñiều hành Windows.
• Một giao diện lập trình (API) COM cung cấp một ñiểm truy cập duy nhất cho tất cả các thông tin quản lý.
• Khả năng tương tác với các dịch vụ quản lý Windows khác. Cách tiếp cận này có thể ñơn giản hóa quá trình tạo ra các giải pháp quản lý tích hợp, có kiến trúc tốt.
• Một kiến trúc linh hoạt, dễ mở rộng. Các nhà phát triển có thể mở rộng mô hình thông tin bao gồm các thiết bị mới, các ứng dụng và như vậy bằng cách viết các mô-ñun mã ñược gọi là các nhà cung cấp WMI.
• Mở rộng cho mô hình chương trình ñiều khiển của Window WDM (Windows Driver Model) ñể thu thập các dữ liệu ño ñạc
và các sự kiện từ các trình ñiều khiển thiết bị và các thành phần trong hạt nhân hệ ñiều hành.
• Một kiến trúc hướng sự kiện mạnh mẽ. ðiều này cho phép thông tin quản lý ñược thay ñổi ñể xác ñịnh, tổng hợp, so sánh, và kết hợp với thông tin quản lý khác. Những thay ñổi này cũng có thể ñược chuyển tiếp ñến các ứng dụng quản lý cục bộ hoặc từ xa. • Một ngôn ngữ truy vấn phong phú cho phép truy vấn chi tiết của
mô hình thông tin.
• Cung cấp một API có thể kịch bản hóa giúp các nhà phát triển có thể sử dụng ñể tạo ra các ứng dụng quản lý. Các kịch bản API hỗ trợ nhiều ngôn ngữ, bao gồm cả Microsoft Visual Basic, Visual Basic for Applications (VBA) Visual Basic Scripting Edition (VBScript), phát triển phần mềm Microsoft JScript. Bên cạnh VBScript và JScript, thông qua API này, các nhà phát triển có thể sử dụng bất kỳ thực hiện ngôn ngữ kịch bản hỗ trợ công nghệ kịch bản Microsoft ActiveX (ví dụ, một kịch bản ñộng cơ Perl). Ngoài ra, bạn có thể sử dụng Windows Script Host hoặc Microsoft Internet Explorer ñể viết kịch bản bằng cách sử dụng giao diện này. Windows Script Host, cũng như Internet Explorer, phục vụ như là một công cụ ñiều khiển kịch bản ActiveX. Windows Script Host hỗ trợ các script viết bằng VBScript và JScript.
2.4.3. Kiến trúc WMI
Kiến trúc công nghệ WMI bao gồm:
• Cơ sở hạ tầng quản lý, bao gồm Bộ quản lý ñối tượng CIM (Object Manager CIM), cung cấp cho ứng dụng truy cập một các thống nhất vào dữ liệu quản lý và Trung tâm lưu trữ dữ liệu quản lý ñược gọi là kho lưu trữ các ñối tượng quản lý của CIM.
• Nhà cung cấp WMI-SP - Những chức năng là trung gian giữa Bộ quản lý ñối tượng CIM và các ñối tượng ñược quản lý. WMI-SP lấy dữ liệu từ các ñối tương quản trị ñệ trình cho Bộ quản lý ñối tượng CIM và xử lý các yêu cầu thay mặt cho các ứng dụng quản lý, hay tạo ra các thông báo sự kiện.
Cơ sở hạ tầng quản lý bao gồm Bộ quản lý ñối tượng CIM và kho lưu trữ các ñối tượng quản lý CIM. Ứng dụng dựa vào Bộ quản lý ñối tượng ñể xử lý các giao diện giữa các ứng dụng quản lý và cung cấp dữ liệu. WMI tạo ñiều kiện cho các thông tin liên lạc bằng cách cung cấp một giao diện lập trình phổ biến cho các dịch vụ quản lý Windows bằng cách sử dụng COM. Giao diện ứng dụng lập trình COM cung cấp thông báo sự kiện và các dịch vụ xử lý truy vấn, và có thể ñược sử dụng trong một số môi trường ngôn ngữ lập trình như C và C +.
ðối tượng quản lý: là các thành phần logic hoặc vật lý ñược mô hình hóa CIM… ñược mô hình hóa bằng cách sử dụng CIM. Ví dụ, một ñối tượng quản lý có thể là phần cứng như một dây cáp, hoặc phần mềm chẳng hạn như một ứng dụng cơ sở dữ liệu. Ứng dụng quản lý có thể truy cập các ñối tượng ñược quản lý thông qua Bộ quản lý ñối tượng CIM.
Ứng dụng quản lý: các ứng dụng hoặc dịch vụ của Windows sử dụng hoặc xử lý thông tin có nguồn gốc từ các ñối tượng ñược quản lý. Ứng dụng quản lý có thể truy cập thông tin ñối tượng quản lý bằng cách thực hiện một
yêu cầu của bộ quản lý ñối tượng CIM thông qua một trong các phương pháp giao diện lập trình của WMI.
Các nhà cung cấp WMI-SP: sử dụng tiêu chuẩn COM và DCOM (Distributed Component Object Model), có chức năng là trung gian giữa các ñối tượng ñược quản lý và Bộ quản lý ñối tượng CIM. Nếu Bộ quản lý ñối tượng CIM nhận ñược một yêu cầu dữ liệu từ một ứng dụng quản lý mà không có sẵn trong kho lưu trữ CIM hoặc thông báo sự kiện không ñược hỗ trợ bởi Bộ quản lý ñối tượng CIM, nó chuyển tiếp yêu cầu ñến một WMI-SP. WMI-SP sẽ cung cấp dữ liệu hay thông báo sự kiện cho ứng dụng quản lý. ðể xây dựng một WMI-SP, bạn nên sử dụng một trong các loại dịch vụ hỗ trợ sau ñây:
• Dịch vụ, cục bộ hoặc từ xa của Microsoft Windows 2008.
• Các chương trình chuẩn thực thi ñược (file exe), cục bộ hoặc từ xa. • Các thư viện liên kết ñộng (DLL).
WMI-SP Các nhà cung cấp dịch vụ ñược xây dựng trong bao gồm: Ngoài ra WMI-SP có thể sử dụng các dịch vụ ñã xây dựng bên trong Windows bao gồm: Active Directory, Windows Installer, System Monitor, Registry … và SNMP. SNMP hoạt ñộng như là một cổng cho các hệ thống và các thiết bị sử dụng SNMP ñể quản lý. Các biến ñối tượng của MIB trong SNMP, có thể ñược ñọc và viết. Các Trap của SNMP có thể ñược tự ñộng ánh xạ tới các sự kiện của WMI.
Kết luận
Giao diện quản lý Desktop (DMI) tạo ra một khung tiêu chuẩn ñể quản lý và theo dõi các thành phần trong một máy tính ñể bàn, máy tính xách tay hoặc máy chủ, bằng cách tóm tắt các thành phần này từ các phần mềm quản lý chúng. Sự phát triển của DMI ñánh dấu bước ñi ñầu tiên của công tác quản lý phần (DMTF) vào máy tính ñể bàn quản lý tiêu chuẩn [1].
Chương 3
ỨNG DỤNG GIAO THỨC QUẢN TRỊ MẠNG ðỂ XÂY DỰNG CHƯƠNG TRÌNH QUẢN TRỊ MẠNG
3.1. Giới thiệu chung về hệ thống
Hiện nay các phần mềm mang tính thương mại phục vụ cho việc quản trị hệ thống mạng từ xa dựa trên giao thức SNMP, DMI ñược ứng dụng rất phổ biến. Các thiết bị phần cứng cũng hỗ trợ giao thức này rất nhiều, do ñó việc quản trị một cách tập trung nhiều thiết bị với các chủng loại khác nhau trên cùng một hệ thống là hết sức cần thiết. Một số phần mềm thương mại như: Solarwinds, PRTG, MG-SOFT...ñược sử dụng rất nhiều trong các cơ quan, bên cạnh ñó những phần mềm mã nguồn mở như Cacti với khả năng mở rộng ñể hỗ trợ nhiều loại thiết bị phần cứng cho thấy sức mạnh và ñộ khả chuyển, ñộc lập với phần cứng và platform của SNMP, DMI.
Trong chương này, tôi sẽ sử dụng các thư viện hỗ trợ giao thức SNMP, DMI ñể phát triển một phần mềm quản trị mạng giải quyết bài toán thường ñược ñặt ra tại các trung tâm tích hợp dữ liệu và quản trị hạ tầng công nghệ thông tin, ñó là: giám sát hệ thống máy chủ ñể theo dõi ñược các dịch vụ, chương trình ứng dụng trên máy chủ, cũng như quản lý lưu lượng băng thông qua các giao diện mạng trên thiết bị, giám sát và thông báo một cách kịp thời trước những vấn ñề liên quan tới bộ nhớ lưu trữ trên máy chủ.
3.2. Các chức năng chính của phần mềm
1) Hệ thống cho phép người quản trị theo dõi và thống kê ñược danh sách các thiết bị ñược kết nối tới một máy tính bất kì trong mạng.
2) Hệ thống cho phép hiển thị và liệt kê các chương trình ứng dụng ñang thực thi trên máy tính trong mạng.
3) Hệ thống sẽ cho phép người quản trị biết ñược thông tin liên quan tới bộ nhớ của máy tính, không gian lưu trữ và liệt kê các ổ ñĩa có trên ñó.
4) Chức năng của hệ thống còn cho phép thống kê ñược lưu lượng sử dụng mạng của máy tính, số gói tin gửi và nhận của thiết bị trong khoảng thời gian nhất ñịnh.
5) Cho phép người quản trị thiết lập thông tin cấu hình liên quan tới giao thức SNMP, DMI như ñịa chỉ máy Agent, mật khẩu kết nối, cổng logic của giao thức, phiên bản của giao thức ñược sử dụng...
3.3 Xây dựng hệ thống
3.3.1 Công cụ sử dụng
Hệ thống ñược xây dựng dựa trên thư viện lập trình ActiveSoket Lib, ñây là một bộ ñiều khiển truyền thông mạng cho các nhà phát triển Windows. Thư viện này cung cấp một giao diện lập trình ứng dụng cho rất nhiều các giao thức mạng khác nhau như: DNS, FTP, HTTP, HTTPS, ICMP Ping, IP- to-Country, MSN, NTP, RADIUS, RSH, SCP, SFTP, SNMP, DMI v1/v2c (Get, GetNext, Set), SNMP, DMI Traps, SNMP, DMI MIB, SSH, TCP, Telnet, TFTP, UDP, Telnet, Wake-On-LAN...Bên cạnh ñó, thư viện activeSocket hỗ trợ các nền tảng: Windows 2008, Windows Vista, Windows 2003, Windows 7, Windows XP, Windows 2000, hỗ trợ cả Hệ ñiều hành Windows 32 - và 64 bit. Ngoài các ứng dụng thực thi trên nền desktop, activeSocket còn hỗ trợ xây dựng các chương trình ứng dụng chạy trên nền Web, làm việc tốt với các ngôn ngữ như Php, ASP, ASPX…
Với ActiveSocket, dữ liệu có thể truyền thông qua mạng IP, bao gồm cả mạng Internet. ActiveSocket cung cấp một interface dạng kịch bản dễ sử