Luận văn giới thiệu chung về chức năng và mô hình kiến trúc của các hệ quản trị mạng. Giới thiệu tổng quan về kiến trúc các hệ quản trị mạng dựa trên SNMP và mô hình kiến trúc các hệ quản trị mạng dựa trên XML. Tích hợp tác tử SNMP với các hệ quản trị mạng dựa trên XML: Giới thiệu cổng chuyển đổi XML/SNMP tích hợp các tác tử SNMP với các hệ quản trị mạng dựa trên XML.
Trang 1Tích hợp tác tử SNMP với các hệ thống quản trị
mạng dựa trên XML Integrating SNMP agents with XML-based network management systems
NXB H : ĐHCN, 2012 Số trang 106 tr +
Nguyễn Thanh Hương
Trường Đại học Công nghệ Luận văn ThS ngành: Mạng và Truyền số liệu; Mã số: 60 48 15 Cán bộ hướng dẫn khoa học: PGS TS Nguyễn Văn Tam
Năm bảo vệ: 2012
Abstract Luận văn giới thiệu chung về chức năng và mô hình kiến trúc của các hệ quản trị mạng
Giới thiệu tổng quan về kiến trúc các hệ quản trị mạng dựa trên SNMP và mô hình kiến trúc các
hệ quản trị mạng dựa trên XML Tích hợp tác tử SNMP với các hệ quản trị mạng dựa trên XML: Giới thiệu cổng chuyển đổi XML/SNMP tích hợp các tác tử SNMP với các hệ quản trị mạng dựa trên XML
Keywords: Công nghệ thông tin; Mạng truyền thông; Quản trị dữ liệu; Mạng máy tính
- Quản trị lỗi: Phát hiện, phân lập, thông báo, và chỉnh sửa lỗi gặp phải trong mạng
- Quản trị cấu hình: Quản trị những phần cấu hình của các thiết bị mạng như quản trị tập tin cấu
hình, quản trị tài nguyên, và quản trị phần mềm
- Quản trị hiệu năng: Giám sát và đo lường các phần thực thi khác nhau của mạng, qua đó có thể
duy trì hiệu năng tổng thể của mạng ở mức chấp nhận được
- Quản trị an ninh: Cung cấp quyền truy cập vào thiết bị mạng và các nguồn tài nguyên của các
công ty, cá nhân đã đăng ký bản quyền
- Quản trị tài khoản: Quản trị việc sử dụng thông tin tài nguyên mạng và việc thanh toán
1.3 Định nghĩa một hệ quản trị mạng
Hệ quản trị mạng, hay còn gọi là mô hình Manager/Agent, bao gồm một hệ quản trị, một hệ bị quản trị, một cơ sở dữ liệu chứa thông tin quản trị và các giao thức quản trị mạng
Trang 2- Hệ quản trị bao gồm tiến trình manager (manager process): cung cấp giao diện giữa người quản trị
mạng và các thiết bị được quản trị, đồng thời thực hiện các nhiệm vụ như: đo lượng lưu thông trên một đoạn mạng cục bộ ở xa, hoặc ghi tốc độ truyền và địa chỉ vật lý của giao diện LAN trên một router
- Hệ bị quản trị bao gồm tiến trình agent (agent process) và các đối tượng quản trị Tiến trình
agent thực hiện các thao tác quản trị mạng như: đặt các tham số cấu hình, thống kê hoạt động Các đối tượng quản trị gồm: các server, router, hub, kênh truyền
- Cơ sở dữ liệu chứa thông tin quản trị mạng được gọi là sơ sở thông tin quản trị (MIB) Tổ chức
logic của MIB được gọi là cấu trúc của thông tin quản trị (SMI -Structure of Management Information)
- Giao thức quản trị mạng cung cấp phương thức liên lạc giữa các manager, các đối tượng quản trị
và các agent
1.4 Cấu hình một hệ quản trị mạng
Thực thể quản trị mạng (NME): NME bao gồm một tập hợp phần mềm dành cho nhiệm vụ quản
trị mạng, thường được coi như là một "agent quản trị" Mỗi nút mạng đều phải có NME
Hình 1.1: Mô hình kiến trúc một hệ quản trị mạng điển hình Ứng dụng quản trị mạng (NMA): NMA bao gồm một giao diện điều hành, cho phép người dùng
có thẩm quyền quản trị mạng NMA được coi như là một "network manager" Nó đáp ứng các lệnh của
người quản trị bằng cách hiển thị thông tin và phát hành các yêu cầu đến các NME trên toàn mạng
Comm: Các phần mềm truyền thông trong mạng
Appl: Các ứng dụng
OS: Hệ điều hành
Máy chủ kiểm soát mạng được chỉ định là máy quản trị (manager) Nó bao gồm cả NME và
NMA Manager giao tiếp và kiểm soát các NME ở các hệ thống khác Agent bao gồm các máy dịch vụ,
máy trạm, router, bridge Các agent đều có NME đáp ứng yêu cầu từ hệ manager
1.5 Kiến trúc của một hệ quản trị mạng
Hệ điều hành quản trị mạng có thể sử dụng các kiến trúc khác nhau để cung cấp các chức năng quản trị mạng Hiện có 3 phương pháp phổ biến để xây dựng kiến trúc một hệ quản trị mạng:
NMA NME Appl Comm
OS
NME Appl Comm
OS
Máy chủ kiểm soát mạng (Manager)
Máy dịch vụ (Agent)
Máy trạm
(Agent)
Router (Agent)
Trang 3- Hệ thống tập trung để điều khiển toàn mạng
- Hệ thống phân cấp, có thể phân chia được chức năng quản trị mạng
- Hệ thống phân tán, kết hợp cả hai phương pháp trên
Hình 1.2: Kiến trúc hệ quản trị phân tán Kiến trúc tập trung: Là kiến trúc mà hệ điều hành quản trị mạng chỉ đặt trên một hệ thống máy tính,
tức là chỉ có duy nhất một manager Trong dự phòng, hệ thống này phải được hỗ trợ bởi một hệ thống khác
Kiến trúc phân cấp: Là kiến trúc sử dụng nhiều hệ thống máy tính, trong đó có một hệ thống hoạt
động như một server trung tâm còn các hệ thống khác hoạt động như các client Server trung tâm sẽ chịu trách nhiệm sao lưu dự phòng
Kiến trúc phân tán: Sử dụng nhiều hệ thống quản trị mạng (manager) ngang hàng, có thể phân tán
theo chức năng hoặc theo địa lý Mỗi hệ thống có một cơ sở dữ liệu đầy đủ Mỗi manager có thể thực hiện các nhiệm vụ khác nhau và báo cáo lại cho một hệ thống trung tâm
1.6 Kiến trúc các phần mềm quản trị mạng
Các phần mềm sử dụng trong quản trị mạng có thể được chia thành ba loại sau:
- Phần mềm trình diễn dành cho người dùng
- Phần mềm quản trị mạng
- Phần mềm hỗ trợ truyền thông và cơ sở dữ liệu
Tài nguyên mạng với các agent quản trị (swicht, router, )
Các client quản trị (PC, máy trạm)
Thiết bị được quản trị
Các thiết bị với các giao thức quản trị khác nhau
Mỗi client có thể truy cập đến một hoặc nhiều server quản trị
Trang 4Hình 1.3: Mô hình kiến trúc phần mềm một NMS
1.7 Kết luận
Tóm lại, một hệ quản trị mạng được mô hình hóa với năm thành phần như sau:
- Một hoặc nhiều nút là trạm quản trị, hay còn gọi là manager Trên nút này có các ứng dụng quản trị mạng
- Một hoặc nhiều nút được quản trị, mỗi nút có một tác nhân hay còn gọi là agent
-Thực thể mạng có vai trò kép; vừa hoạt động như tác nhân, vừa có chức năng như người quản trị
- Giao thức quản trị mạng; Giao thức này được cài đặt trên manager và nút tác nhân agent nhằm trao đổi thông tin
- Cơ sở dữ liệu quản trị MIB nhằm lưu trữ thông tin quản trị mạng
SNMP được thiết kế để đơn giản hóa quá trình quản lý các thành phần trong mạng Nhờ đó các phần mềm dựa trên SNMP có thể được phát triển nhanh và tốn ít chi phí SNMP được thiết kế để có thể hoạt động độc lập với các kiến trúc và cơ chế của các thiết bị hỗ trợ SNMP Các thiết bị khác nhau có hoạt động khác nhau nhưng đáp ứng SNMP là giống nhau
SNMP có 3 phiên bản: SNMPv1, SNMPv2 và SNMPv3 Các phiên bản này khác nhau một chút ở định dạng bản tin và phương thức hoạt động Hiện tại SNMPv1 là phổ biến nhất do có nhiều thiết bị tương thích nhất và có nhiều phần mềm hỗ trợ nhất Trong khi chỉ có một số thiết bị và phần mềm hỗ trợ SNMPv3
2.2.2 Mô hình SNMP
Quản trị mạng SNMP dựa trên mô hình Manager/Agent như thể hiện trong hình 2.1
Ứng dụng quản trị mạng Ứng dụng quản trị mạng Thành tố ứng dụng Thành tố ứng dụng Thành tố ứng dụng
Dịch vụ giao vận dữ liệu quản trị mạng
giao thức truyền thông Các mạng được quản trị
Cơ sở dữ liệu thông tin quản trị (MIB)
Mô tả thông tin quản trị đến người dùng Giao diện người dùng thống nhất
Trang 5Hình 2.1: Mô hình quản trị mạng dựa trên SNMP Manager thường là một máy tính chạy các ứng dụng quản trị SNMP (SNMP manager), dùng để
giám sát và điều khiển tập trung các agent
Agent là các thiết bị, máy tính, hoặc phần mềm tương thích SNMP, thường là các thành phần như
máy chủ, bộ nối, bộ định tuyến và hub được gắn các SNMP agent để có thể được quản trị bởi manager
Giao thức SNMP: dùng để liên kết manager và agent SNMP bao gồm ba toán tử SET, GET,
TRAP
SNMP manager là tiến trình chạy trên manager, có nhiệm vụ quản lý, theo dõi và kiểm soát
agent
SNMP agent là tiến trình chạy trên agent, có nhiệm vụ cung cấp thông tin của agent cho manager,
nhờ đó manager có thể quản lý được agent Thực tế thì SNMP manager và SNMP agent mới là 2 tiến trình SNMP trực tiếp liên hệ với nhau
2.2.3 SMI và MIB
2.2.3.1 Cơ sở thông tin quản trị MIB
MIB là một cấu trúc dữ liệu gồm các đối tượng được quản trị, được dùng cho việc quản lý các thiết bị chạy trên nền TCP/IP MIB được thể hiện thành một tệp tin MIB (MIB file) và có cấu trúc dạng cây bao gồm các biến cụ thể Đối tượng trong MIB được nhận diên thông qua OID của nó Có 2 loại MIB:
- MIB chuẩn định nghĩa các đối tượng quản trị dùng chung cho hầu hết các hệ thống được định nghĩa bởi IETF MIB chuẩn của SNMPv1 là MIB-II và MIB chuẩn của SNMPv2 là SNMPv2-MIB
- MIB riêng dùng để định nghĩa thông tin quản trị riêng cho từng công ty
2.2.3.2 Cấu trúc thông tin quản trị SMI
SMI mô tả cấu trúc thông tin quản trị của tệp tin MIB SMI cung cấp các tiêu chuẩn kỹ thuật để định nghĩa cấu trúc MIB đặc biệt, các đối tượng đơn lẻ (bao gồm cú pháp và giá trị mỗi đối tượng), và
mã hoá các giá trị đối tượng
Có 2 phiên bản SMI:
- SMIv1: mô tả cách trình bày một tệp tin MIB
- SMIv2, mở rộng của SMIv1; định nghĩa nhánh mib nằm dưới iso.org.dod.internet.mgmt.mib-2 Theo SMIv1, mỗi đối tượng bao gồm 3 thuộc tính cơ bản:
Tên (Name): Name là định danh của đối tượng, có kiểu OBJECT IDENTIFIER (OID)
Cú pháp (Syntax): mô tả kiểu của đối tượng thông qua ASN.1
Trang 6Mã hóa (Encoding): Một trong 3 hệ thống luật mã hóa trong ASN.1 là BER BER định nghĩa các
các đối tượng được mã hóa và giải mã để chúng có thể truyền đi thông qua môi trường Ethernet BER được SNMP dùng làm phương pháp mã hóa dữ liệu
Để định nghĩa đối tượng quản trị, SMI cung cấp kiểu dữ liệu OBJECT-TYPE
Hình 2.4: Cây SMIv1 2.2.3 ASN.1
ASN.1 - Ký hiệu cú pháp trừu tượng một, là một ngôn ngữ hình thức, được dùng để
- Định nghĩa các cú pháp trừu tượng cho dữ liệu ứng dụng;
- Định nghĩa cấu trúc của ứng dụng và đưa ra các đơn vị dữ liệu giao thức (PDU);
- Định nghĩa cơ sở thông tin quản trị cho cả hệ quản trị mạng SNMP lẫn OSI
2.3 Kiến trúc giao thức SNMP
Hình 2.5: Kiến trúc quản trị mạng dựa trên SNMP
Theo RFC1157, SNMP được thiết kế là một giao thức tầng ứng dụng, một phần của bộ giao thức TCP/IP Nó được cài đặt trên giao thức UDP
SNMP có 05 bản tin cơ bản (Get, GetNext, GetResponse, Set, và Trap) để kết nối giữa manager và agent Bản tin Get và GetNext cho phép manager yêu cầu thông tin của một biến cụ thể Bản tin Trap cho phép agent tự phát thông tin cho manager trong hoàn cảnh “đặc biệt” Các bản tin Get,GetNext và Set thường chỉ được phát ra bởi SNMP manager vì bản tin Trap chỉ được khởi tạo bởi agent Trap là bản
IP Các giao thức phụ thuộc mạng
SNMP agent UDP
IP Các giao thức phụ thuộc mạng
Các bản tin SNMP
Ứng dụng quản trị đối tƣợng
Mạng hoặc liên mạng
Trang 7tin sử dụng cho các RTU (Remote Telemetry Unit) 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
2.3.1 Kiểm soát theo Trap
2.3.2 Uỷ quyền (Proxy)
Hình 2.6 thể hiện dạng cấu trúc giao thức của một SNMP agent hoạt động như một hệ thống uỷ quyền cho một hoặc nhiều 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 manager và thiết bị uỷ quyền đều được truyền thông qua agent của nó Agent sẽ 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
Hình 2.6: Kiến trúc SNMP ủy quyền 2.3.3 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: trạm quản trị nhận một giá trị của đối tượng vô hướng từ trạm bị quản trị
Set: trạm quản trị cập nhập giá trị của đối tượng vô hướng cho trạm bị quản trị
Trap: trạm quản trị gửi giá trị của đối tượng vô hướng không được yêu cầu tới trạm quản trị
2.4 Phương thức hoạt động của SNMP
2.4.1 Mô tả giao thức SNMP
Giao thức SNMPv1 có 5 phương thức hoạt động, tương ứng với 5 loại bản tin (còn được gọi là các PDU - Protocol Data Unit) như sau:
GetRequest: Bản tin GetRequest được manager gửi đến agent để yêu cầu agent cung cấp thông tin
nào đó dựa vào OID Trong GetRequest có chứa OID của đối tượng muốn lấy Trong một bản tin GetRequest có thể chứa nhiều OID, nghĩa là dùng một GetRequest có thể lấy về cùng lúc nhiều thông tin
Tiến trình quản trị SNMP UDP
IP Các giao thức phụ thuộc mạng
Chức năng ánh xạ Tiến trình Agent
SNMP UDP
IP Các giao thức phụ thuộc mạng
Kiến trúc giao thức được thiết bị ủy quyền
sử dụ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ị
ủy quyền sử dụng
Các giao thức phụ thuộc mạng
Trang 8Hình 2.7: Các phương thức của SNMPv1
GetNextRequest: Bản tin GetNextRequest cũng dùng để lấy thông tin và cũng có chứa OID, tuy
nhiên nó dùng để lấy thông tin của đối tượng nằm kế tiếp đối tượng được chỉ ra trong bản tin
SetRequest: Bản tin SetRequest được manager gửi cho agent để thiết lập giá trị cho đối tượng của
agent dựa vào OID
GetResponse: Mỗi khi SNMP agent nhận được các bản tin GetRequest, GetNextRequest hay
SetRequest thì nó sẽ gửi lại bản tin GetResponse để trả lời Trong bản tin GetResponse có chứa OID của đối tượng được yêu cầu và giá trị của đối tượng đó
Trap: Bản tin Trap được agent tự động gửi cho manager mỗi khi có sự kiện xảy ra bên trong
agent, các sự kiện này không phải là các hoạt động thường xuyên của agent mà là các sự kiện mang tính biến cố
Đối với các phương thức Get/Set/Response thì SNMP agent sẽ nghe ở cổng UDP 161, còn phương thức Trap thì SNMP Trap Receiver sẽ nghe ở cổng UDP 162
Trang 92.5.2 View
Khi manager có read-community thì nó có thể đọc toàn bộ OID của agent Tuy nhiên agent có thể quy định chỉ cho phép đọc một số OID có liên quan nhau, tức là chỉ đọc được một phần của MIB Tập con của MIB này gọi là view Trên agent có thể định nghĩa nhiều view
Một view phải gắn liền với một community string Tùy vào community string nhận được là gì mà agent xử lý trên view tương ứng Vệc định nghĩa các view như thế nào tùy thuộc vào từng SNMP agent khác nhau Có nhiều hệ thống không hỗ trợ tính năng view
2.5.3 SNMP access control list
SNMP ACL là một danh sách các địa chỉ IP được phép quản lý/giám sát agent, nó chỉ áp dụng riêng cho giao thức SNMP và được cài trên agent Nếu một manager có IP không được phép trong ACL gửi request thì agent sẽ không xử lý, dù request có community string là đúng
2.6 RMON
Mục đích:
Quản lý, giám sát tập trung toàn mạng từ xa
Giúp mạng có thể tự hoạt động và các thiết bị riêng lẻ có thể hoạt động đồng bộ trong mạng
Không chỉ dùng cho việc giám sát lưu lượng trong LAN mà còn cho cả các giao diện WAN RMON bổ sung MIB-RMON cho MIB-II và cung cấp thông tin quan trọng về liên mạng cho quản trị viên Các Monitor tạo ra các thông tin tóm tắt, gồm số liệu thống kê lỗi và số liệu thống kê hiệu năng mạng…
2.7 Kết luận
Những hạn chế của quản trị mạng dựa trên SNMP:
- Tính mở rộng và hiệu quả
- Bảo mật
- Mô hình thông tin quản trị kém
- Khó triển khai quản trị chức năng
3.1 Giới thiệu
3.2 Các công nghệ liên quan đến XML
XML - Ngôn ngữ đánh dấu mở rộng, là một ngôn ngữ siêu đánh dấu, được chuẩn hóa bởi Hiệp
hội World Wide Web (W3C) vào năm 1998 nhằm trao đổi tài liệu trên World-Wide Web XML là một tập con của ngôn ngữ đánh dấu chung chuẩn (SGML - Standard Generalized Markup Language) Các công nghệ liên quan đến XML được mô tả trong hình 3.1
Trang 10Hình 3.1: Các công nghệ XML
XML có hai phương pháp cơ bản để xác định cấu trúc tài liệu XML: Định nghĩa kiểu tài liệu (DTD) và Lược đồ XML (XML Schema)
DTD được dùng để chỉ ra mô hình nội dung cho mỗi thành tố Tuy nhiên, các DTD không hỗ trợ
mô hình thông tin phức tạp
XML Schema về cơ bản được tái cấu trúc và tái mở rộng từ những khả năng được tìm thấy trong
các DTD, hỗ trợ sự tạo thành các kiểu dữ liệu mới
DOM - Mô hình đối tượng tài liệu: là một một giao diện lập trình để truy cập và thao tác các tài
liệu XML
SAX - Giao diện lập trình ứng dụng chung dành cho XML là một cơ chế hướng sự kiện và truy
cập liên tiếp dành cho việc truy cập các tài liệu XML
XSL - Ngôn ngữ định kiểu mở rộng là một ngôn ngữ đánh dấu được thiết kế để minh họa các
phương pháp hiển thị các tài liệu XML trên web
XSLT - Ngôn ngữ định kiểu chuyển đổi mở rộng: là công nghệ định kiểu để chuyển đổi các tài
liệu XML, một tập con của công nghệ XSL
XPath - Ngôn ngữ đường dẫn XML: là ngôn ngữ phi XML được dùng để ghi địa chỉ các phần
của một tài liệu XML
XQuery - Ngôn ngữ truy vấn XML: được thiết kế để áp dụng một cách rộng rãi cho tất cả các
nguồn dữ liệu XML
XUpdate là một ngôn ngữ cập nhật, cung cấp các tiện tích cập nhật linh hoạt và có tính mở để
chèn, cập nhật, và xóa dữ liệu trong các tài liệu XML
SOAP - Giao thức truy cập đối tượng đơn giản: là một giao thức đơn giản giúp trao đổi thông
tin trong môi trường phân tán SOAP định nghĩa việc sử dụng XML và HTTP hoặc SMTP để truy cập các dịch vụ, đối tượng, trong các máy chủ độc lập về hệ điều hành và ngôn ngữ
WSDL - Ngôn ngữ mô tả dịch vụ web: là một ngôn ngữ dựa trên XML được dùng để xác định các
dịch vụ Web và mô tả cách truy cập đến các dịch vụ đó