Phiên DeviceConfiguration được định nghĩa khi XML Schema được chuyển đổi từ định nghĩa MIB của từng thiết bị như mô tả trong phần 3.5.1.1. Điều này dành cho tính nhất quán của thông tin quản trị XBM manager và SNMP manager tương tác thông qua các cổng XML/SNMP. MIB II được
chuyển đổi thành XML Schema dành cho thông tin quản trị cơ bản. Khi một thiết bị mới có nhúng SNMP agent được bổ sung, bộ chuyển đổi MIB2-XML sẽ chuyển đổi định nghĩa MIB riêng thành XML Schema và XML Schema đã chuyển đổi sẽ được bổ sung vào XML Schema của XBM manager như một thành tố con của DeviceConfiguration trong hình 3.9.
3.5.2.2. Giao thức quản trị
SOAP là giao thức trao đổi các bản tin dựa trên XML thông qua HTTP hoặc SMTP. Ở cấp độ chức năng cơ bản, SOAP có thể được sử dụng như là một giao thức nhắn tin đơn giản và cũng có thể được mở rộng thành giao thức RPC. XBM manager trao đổi một bản tin được mã hóa XML đến các điểm truyền thông, như XBM agent và cổng XML/SNMP. Điều này có nghĩa rằng bản tin yêu cầu từ manager và bản tin phản hồi từ cổng chuyển đổi tất cả được định dạng như một tài liệu XML. SOAP cung cấp một phương pháp chuẩn để truyền bản tin được mã hóa XML thông qua HTTP giữa manager và cổng chuyển đổi và giữa manager và agent.
Một số bản tin SOAP RPC giữa XBM manager và cổng XML/SNMP và giữa XBM manager và XBM agent sử dụng WSDL được định nghĩa ở mục 5.1.3. WSDL là một ngôn ngữ dựa trên XML nhằm xác định các Web Service và mô tả cách truy cập chúng. SOAP hiện đang trở thành giao thức chuẩn thực tế (không chính thức) cho các Web Service. Vì vậy, WSDL Schema sẽ được dùng để mô tả dịch vụ thay vì một cấu trúc XML độc quyền sử dụng XML Schema. Manager sẽ tìm thấy định nghĩa của phương pháp để gọi ra bằng cách sử dụng tài liệu WSDL.
3.5.2.3. Phân tích
Các chức năng quản trị như quản trị đối tượng, quản trị trạng thái, báo cáo sự kiện, kiểm soát đăng nhập, báo cáo cảnh báo,... có thể được chia thành một số hoạt động quản trị cơ bản như tạo, xóa, nhận, thiết lập, chọn lọc, và định phạm vi. Các chức năng quản trị dùng giao diện DOM để thực hiện các chức năng ứng dụng quản trị vì thông tin quản trị được mô tả trong dữ liệu XML.
Lõi DOM xác định 4 kiểu, 20 giao diện cơ bản, và 6 giao diện mở rộng. Trong phần này, chúng tôi chỉ đơn thuần là giải thích một số giao diện cơ bản để tìm hiểu các API cho các hoạt động cơ bản như tạo, xóa, tìm kiếm, và sửa đổi các đối tượng sau đây. Đặc tả lõi DOM mức 3 bao gồm các giao diện như Document, Node, Element, NamedNodeMap, và NodeList. Bảng 3.1 cho thấy giao diện DOM tương ứng với các hoạt động và chức năng quản trị.
Bảng 3.1: Giao diện DOM cho các hoạt động quản trị
Các hoạt động Các giao diện DOM
Tạo interface Document : Node
• Thành tố createElement(in DOMString tagName) → Tạo một thành tố theo kiểu được chỉ định. Lưu ý rằng trường hợp trả về thực hiện giao diện Thành tố để các thuộc tính có thể được chỉ định trực tiếp trên đối tượng trả về.
interface Node
• Nút appendChild(in Node newChild) raises(DOMException) → Thêm nút newChild vào cuối danh sách con của nút này. Nếu newChild đã có trong cây, nó sẽ bị gỡ bỏ trước tiên
• Nút insertBefore(in Node newChild, in Node refChild) raises(DOMException) → Chèn nút newChild vào trước nút con hiện tại refChild. Nếu refChild là null, chèn newChild vào cuối danh sách con.
Xóa interface Node
• Nút removeChild(Node oldChild) raises(DOMException) → Loại bỏ nút con được chỉ ra bởi oldChild khỏi danh sách con
Duyệt/ Tìm kiếm interface Node • Thuộc tính chỉ đọc ở nút parentNode • Thuộc tính chỉ đọc ở nút firstChild • Thuộc tính chỉ đọc ở nút lastChild • Thuộc tính chỉ đọc ở nút previousSibling • Thuộc tính chỉ đọc ở nút nextSibling
• Thuộc tính chỉ đọc ở NodeList childNodes
interface NamedNodeMap
• Node getNamedItem(in DOMString name) → Tìm kiếm nút theo tên được chỉ định.
interface Document
• NodeList getElementsByTagName(in DOMString tagname) → Trả về một NodeList gồm tất cả các thành tố với tên thẻ theo thứ tự duyệt trong duyệt theo thứ tự trước của cây Document.
Thiết lập các giá trị/sửa đổi
interface Node
• attribute DOMString nodeValue → Giá trị của nút này, tùy thuộc vào kiểu của nó; khi nó được định nghĩa là null, việc thiết lập nó không có tác dụng.
interface Element : Node
• void setAttribute(in DOMString name, in DOMString value) raises(DOMException) →
Thêm một thuộc tính mới. Nếu một thuộc tính với tên đó đã có trong thành tố, giá trị của nó sẽ được thay đổi thành tham số giá trị. Giá trị này là một chuỗi đơn giản.
Ngoài ra, đặc tả duyệt và phạm vi DOM mức độ 2 xác định khung tương tác cho việc lọc và điều hướng trong cây được lọc. Về cơ bản nó định nghĩa 4 giao diện: TreeWalker NodeIterator, NodeFilter, và DocumentTraversal. Các điều kiện lọc được định nghĩa trong các lớp cụ thể thực thi giao diện NodeFilter và DocumentTraversal trả về đối tượng duyệt như TreeWalker hoặc NodeIterator mô tả nút được lọc ra. Hoạt động cơ bản này cung cấp một bước duyệt dễ sử dụng, thiết thực, và có chọn lọc cho nội dung của tài liệu. Hơn nữa, các API DocumentTraversal như createNodeIterator() và createTreeWalker() và một số API khác của API lõi DOM cung cấp phạm vi chức năng cơ bản với nút gốc của cây.
Giao diện DOM có thể phân tích dữ liệu quản trị của các định dạng tài liệu XML. Như đã đề cập tại mục 3.4, XML DB bản địa sẽ lưu trữ thông tin quản trị. Điều này làm giảm các thao tác của tài liệu XML sử dụng giao diện DOM để chèn thông tin quản trị đến DB, vì tài liệu XML có thể được chèn trực tiếp vào XML DB bản địa. Khi một phân tích được yêu cầu, dữ liệu được lấy ra từ DB bằng cách lọc và giới hạn phạm vi sử dụng giao diện DOM và tính toán dữ liệu.
3.5.2.4. Trình diễn
Sau khi thông tin quản trị được phân tích, kết quả phân tích được trình diễn đến các quản trị viên. XSLT sẽ thực hiện việc trình diễn ở XBM manager. XSLT là một ngôn ngữ dựa trên XML có thể được sử dụng để chuyển đổi một lớp tài liệu XML thành một lớp khác. Một tài liệu XML có thể được chuyển đổi để nó có thể được trả về thành một loạt các định dạng phù hợp với các yêu cầu hiển thị khác nhau.
XBM manager phân loại các kiểu trình diễn. Thông tin tĩnh như cấu hình dữ liệu dịch vụ, không đặc trưng đối với các thiết bị quản trị, có thể được trả về bằng cách sử dụng XSLT được xác định trước. Một kiểu trình diễn khác là tạo ra một trang web động để cấu hình thiết bị, trong đó có các mục và các phong cách khác nhau biểu thị theo thiết bị và các MIB của chúng.
XBM manager duy trì các XML Schema cho các thiết bị quản trị, và cũng duy trị các mẫu XSL cho các tài liệu XML phù hợp với XML Schema. Mẫu XSLT dành cho mỗi MIB được tạo bởi XSLT Generator ở cổng XML/SNMP, và được tải đến XBM manager bất cứ khi nào MIB được chuyển đổi. Các đối tượng bảng định nghĩa trong MIB được trình bày như một bảng HTML bằng cách sử dụng các bản mẫu. XBM manager làm giảm các mã in-line để kiểm soát logic trình bày và mã HTML cho công việc lặp đi lặp lại bất cứ khi nào thiết bị được thêm vào hoặc một module MIB được biên dịch lại.
3.5.2.5. Kiến trúc XBM Manager
Hình 3.10: Kiến trúc XBM manager
Hình 3.10 minh họa kiến trúc của một XBM manager: Một dịch vụ web (Web server) được sử dụng để cung cấp cho các quản trị viên với một Web-MUI và dành cho việc nhận các yêu cầu từ các ứng dụng quản trị (management application) và đi qua chúng vào các thành phần quản trị thông qua các kịch bản quản trị (management script). Dịch vụ web được sử dụng để nhận các bản tin không đồng bộ cho các thông báo từ các thiết bị thông qua giao thức SOAP/HTTP. SOAP/HTTP client giữ vai trò trong các mô đun giao diện của thiết bị và trao đổi thông tin quản trị đồng bộ với agent. Cơ sở dữ liệu (DB) được sử dụng để lưu trữ thông tin quản trị nhằm phân tích dài hạn. Kho các mẫu XSL (XLS template repository) lưu trữ các tệp tin XSL để tạo ra các tài liệu HTML từ các tài liệu XML. Các thành phần quản trị, như trạm quản trị cấu hình thiết bị (Device config. manager) hoặc bộ phân tích (Analyzer), sử dụng giao diện DOM để thực hiện các chức năng ứng dụng quản trị vì thông tin quản trị được mô tả trong dữ liệu XML. Các chức năng này bao gồm tạo, xóa, lọc, nhận, thiết lập, logging,… và thu thập dữ liệu từ các agent.
Các thành phần cơ bản xử lý các chức năng quản trị là trạm dịch vụ quản trị (Mgmt server manager), trạm theo dõi (monitoring anager), trạm cấu hình thiết bị (device configuration manager), trạm phân tích (analyzer), trạm xử lý thông báo (notification handler), trạm quản lý đăng nhập (logging manager), trạm trình diễn (presenter), và trạm báo cáo sự kiện (event reporter). Trạm dịch vụ quản trị sẽ quản lý các thông số cấu hình cho việc quản trị môi trường xử lý và xử lý hình trạng các kiến trúc cây của các nhóm thiết bị/thiết bị đa cấp. Trạm dịch vụ
quản trị cũng quản lý một danh sách tài khoản quản trị. Trạm cấu hình thiết bị nhận và thiết lập cấu hình của thiết bị được quản lý; trạm theo dõi chứa các thông tin giám sát thiết bị, như trạng thái và lưu lượng truy cập vào/ra của thiết bị; còn trạm quản lý đăng nhập ghi lại những dữ liệu cần thiết và phân tích các dữ liệu đăng nhập được lưu trữ trong DB theo yêu cầu của quản trị viên.
Trạm xử lý thông báo nhận thông báo từ các thiết bị được quản trị, lưu trữ các thông báo này trong các bảng của DB, và gửi một thông báo có ý nghĩa cho trạm báo cáo sự kiện. Trạm báo cáo sự kiện sẽ tạo ra các sự kiện thích hợp và gửi chúng cho các quản trị viên qua email, tin nhắn... Trạm phân tích sẽ phân tích thông tin quản trị thu thập được. Trạm trình diễn xử lý tài liệu XML bằng XSLT và tạo ra một tài liệu HTML cho Web-MUI.
Có ba luồng thông tin điển hình trong XBM manager ở hình 3.11. Dòng dữ liệu đầu tiên là yêu cầu quản trị từ ứng dụng quản trị đến dịch vụ web. Dịch vụ web gọi kịch bản quản trị và chọn mô đun quản trị thích hợp. Nếu chức năng quản trị là để theo dõi một thiết bị, thủ tục sẽ như sau: Kịch bản quản trị sẽ gọi trạm theo dõi, trạm này sẽ gửi yêu cầu đến một agent thông qua HTTP client, sau đó kết quả sẽ trả về ứng dụng quản trị theo chiều ngược lại. Nếu kết quả cần phải được lưu trữ để phân tích sau này, trạm theo dõi sẽ lưu kết quả này trong DB. Luồng nhận thông tin này tương tự như hoạt động GET trong giao thức SNMP truyền thống. Luồng SET thông tin của phương pháp này cũng tương tự như hoạt động SET trong giao thức SNMP. Các agent có thể là một XBM agent hoặc một SNMP agent.
Luồng thứ hai, khi agent gửi một thông báo cho người quản trị, thông tin đi theo trình tự sau. Agent sẽ gửi một bản tin cảnh báo đến dịch vụ web của XBM manager thông qua giao thức HTTP. Dịch vụ web sẽ nhận thông báo và gọi cho trạm xử lý thông báo thông qua các kịch bản quản trị. Trạm xử lý thông báo gửi các sự kiện cụ thể đến trạm báo cáo sự kiện để trạm này tạo ra các sự kiện thích hợp và lưu thông báo vào trong DB để dành cho việc phân tích sau này. Luồng thông tin này tương tự như hoạt động của SNMP Trap.
Luồng dữ liệu cuối cùng từ ứng dụng quản trị, thông qua dịch vụ web, kịch bản quản trị, và giao diện DOM, đến DB để tạo ra một báo cáo phân tích dài hạn. Ví dụ, dịch vụ web đầu tiên sẽ gọi trạm phân tích thông qua kịch bản quản trị, sau đó trạm phân tích sẽ tìm kiếm dữ liệu từ DB nhờ giao diện DOM. Sau khi xử lý dữ liệu bằng cách lọc, sắp xếp, và đối chiếu, cuối cùng DB sẽ đưa ra kết quả. Sau đó, kết quả phân tích này sẽ được gửi đến ứng dụng quản trị.
3.6. Kết luận
Các vùng ứng dụng của XML là rất rộng: trình bày dữ liệu trên Internet, trình bày đa phương tiện, bảo lưu dữ liệu cho một số chương trình đặc biệt, thương mại điện tử, dùng trong nghiên cứu,... Trong tất cả các lĩnh vực này, XML tỏ ra là một giải pháp tuyệt vời để giải quyết các thách thức kỹ thuật. Tuy nhiên, việc dùng XML trong lĩnh vực quản trị mạng vẫn còn rất sơ sài và đang trong giai đoạn khởi điểm. Quản trị mạng dựa trên XML đã được xem như là một giải pháp thay thế hoặc một phương pháp bổ sung cho các khung quản trị hiện hành nhằm giải quyết các vấn đề quản lý mạng Internet và cải thiện môi trường quản trị nhờ các lợi thế của công nghệ XML.
Chương này trình bày cách mà công nghệ XML có thể được áp dụng cho nhiệm vụ quản trị mạng: mô hình hóa thông tin quản trị, hợp thức hóa các nguồn tài nguyên quản trị, các hoạt động quản trị, truyền thông giữa manager và agent, phân tích dữ liệu, và trình bày kết quả phân tích đến người sử dụng. Ngoài ra, chương này cũng trình bày các kiến trúc để phát triển các hệ thống quản trị mạng dựa trên XML gồm XBM agent và XBM manager. Các XBM agent, XBM manager này hoàn toàn sử dụng công nghệ XML, gồm XML Schema, DOM, XPath, XQuery, và XSLT, SOAP để thực hiện các nhiệm vụ quản trị mạng.
Tuy nhiên, SNMP hiện là giải pháp được sử dụng rộng rãi trong quản trị các thiết bị mạng Internet. Tính đơn giản của SNMP cho phép nó được triển khai thực hiện trên nhiều hệ điều hành nhỏ một cách dễ dàng. Đến nay, hầu hết các thiết bị mạng đều được trang bị với SNMP agent. Việc tích hợp giữa SNMP với quản trị mạng dựa trên XML mang lại những lợi thế cho quản trị mạng dựa trên XML mà không bị mất đi những tính năng của SNMP.
Công nghệ XML được xem như là một phương pháp tiếp cận mang tính cải cách để giải quyết các vấn đề tồn tại trong các chuẩn hiện hành và thực hành cho quản trị mạng và các hệ thống. Cần có nghiên cứu sâu hơn để chứng tỏ điều này bằng việc phát triển không chỉ các chuẩn mà còn áp dụng để quản trị các mạng và các hệ thống thực.
CHƯƠNG IV: TÍCH HỢP TÁC TỬ SNMP VỚI CÁC HỆ QUẢN TRỊ MẠNG DỰA TRÊN XML 4.1. Giới thiệu
Hiện nay, quản trị Internet phần nhiều dựa trên giao thức quản trị mạng đơn giản SNMP và các cơ sở thông tin quản trị MIB tạo thành cấu trúc thông tin quản trị SMI. Lý do thành công của kiến trúc SNMP thường đi đôi với nhược điểm đơn giản về cấu trúc dữ liệu và thao tác giao thức của nó.
Dần dần, nhiều nhược điểm của SNMP đã bộc lộ và mới chỉ được giải quyết ở một mức độ nào đó. Tuy nhiên, một số vấn đề vẫn đang để ngỏ: Chưa có định dạng chuẩn cho lưu trữ và xử lý dữ liệu quản trị. Việc truyền một lượng dữ liệu lớn vẫn khá thiếu so với chuyển giao khối dựa trên dòng (ví dụ như TCP). Quản trị cấu hình vẫn là một vấn đề để ngỏ và hiện đang được thảo luận trong IETF NETCONFWorking Group. Các chu trình phát triển phần mềm hiệu quả khó đạt được dựa trên công nghệ đơn giản như SNMP.
Ở mức độ nào đó, XML và công nghệ đi kèm mang lại cơ hội để giải quyết những vấn đề này. XML hỗ trợ bởi bản chất mã hóa và cú pháp được xác định rõ của nó. Mặc dù XML vẫn là mới so với SNMP, song hiện có một cộng đồng chuyên gia XML lớn và cũng có một số lượng lớn các công cụ phần mềm (phân tích, soạn thảo, xác nhận, các hệ thống cơ sở dư liệu, các công cụ chuyển đổi...) có thể khiến sự phát triển các ứng dụng quản trị hiệu quả hơn.