XML (Extensible Markup Language) là siêu ngôn ngữ đánh dấu mở rộng, đƣợc chuẩn hóa bởi W3C cho việc chuyển đổi dữ liệu trên Web, sử dụng rộng rãi trong kinh doanh, chuyển đổi dữ liệu, thƣơng mại điện tử và tạo các ứng dụng cụ thể. Nó hỗ trợ một vài chuẩn cụ thể nhƣ lƣợc đồ XML, mô hình đối tƣợng tài liệu (DOM), API (Application Programming Interfaces), XPath (XML Path language), XSL (Style-sheet Language)… Có rất nhiều giải pháp mang tính hiệu quả cho việc áp dụng các kỹ thuật liên quan đến XML cũng nhƣ những bổ sung để việc mở rộng quản trị mạng có thể thực hiện tốt hơn. Việc sử dụng XML trong quản trị mạng hiện nay có rất nhiều lợi ích nhƣ:
Lƣợc đồ XML có thể đƣợc sử dụng để định nghĩa cấu trúc thông tin quản trị theo nhiều cách mềm dẻo.
Giao thức của XML phát triển rộng giống nhƣ HTTP đƣợc sử dụng để truyền dữ liệu chính xác.
Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
DOM APIs đƣợc sử dụng để dễ dàng truy cập và quản lý đa dạng dữ liệu từ các ứng dụng.
Biểu thức XPath đƣợc sử dụng để truy cập các đối tƣợng địa chỉ hiệu quả mà không cần quản lý dữ liệu.
XSLT đƣợc sử dụng để xử lý dữ liệu quản trị một cách dễ dàng và tạo ra các tài liệu HTML với đa dạng các giao diện ngƣời dùng.
WSDL và SOAP đƣợc sử dụng để định nghĩa dịch vụ Web với các thao tác quản trị ở bậc cao.
Với sự phát triển mạnh mẽ của các hệ thống mạng, đặc biệt là mạng Internet cùng với sự phát triển của các thiết bị mạng kèm theo, quản trị mạng dựa trên XML đƣợc xem là một giải pháp phù hợp, có tiềm năng mở rộng, phát triển lớn trong tƣơng lai.
1.4. Kết luận chƣơng
Quản trị mạng đã sớm hình thành và phát triển khi mạng máy tính ra đời, nó là yếu tố quan trọng với các hệ thống mạng. Hệ thống có đƣợc vận hành, khai thác và phát triển tốt khi quản trị mạng đƣợc chú trọng đầu tƣ phát triển. Hiện nay xu hƣớng phát triển của quản trị mạng là công nghệ quản trị dựa trên Web. Với những ƣu điểm của công nghệ Web, công việc quản trị mạng trở lên đơn giản, mang lại hiệu quả cao, giúp tiết kiệm thời gian, giảm thiểu chi phí cho các hệ thống. Chƣơng 2 trình bày một số mô hình và công nghệ quản trị mạng dựa trên Web.
Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
CHƢƠNG 2 - CÔNG NGHỆ QUẢN TRỊ MẠNG DỰA TRÊN WEB
Với sự ra đời của công nghệ Web, ngƣời sử dụng dễ dàng tìm kiếm và tiếp cận với các thông tin mà mình quan tâm. Công nghệ Web đã nhanh chóng trở lên phổ biến và đƣợc ứng dụng rộng rãi trong nhiều lĩnh vực của cuộc sống. Các hệ thống mạng và hệ thống quản trị mạng cũng không phải là ngoại lệ. Sự ra đời và phát triển của nó đã mang lại lợi ích to lớn cho xã hội. Bằng việc sử dụng công nghệ Web, chúng ta có thể sử dụng trình duyệt để truy cập, quản lý các tài nguyên, các thiết bị phần cứng của hệ thống mạng từ bất kì đâu và bất kì thời gian nào, giúp tiết kiệm chi phí về tài chính, thời gian và nhân lực. Với công nghệ quản trị mạng dựa trên nền Web, ngƣời quản trị có cái nhìn tổng quan về hệ thống mình quản lý, điều khiển các thiết bị từ xa mà không cần phải đến từng thiết bị để xử lý. Các thông tin, trạng thái của toàn hệ thống và của từng thiết bị sẽ đƣợc ghi lại, gửi đến cho quản trị viên giúp cho việc quản trị hệ thống trở lên linh hoạt và dễ dàng.
Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
2.1. Mô hình Pull (Pull Model) 2.1.1. Tổng quan 2.1.1. Tổng quan
Trong kỹ thuật phần mềm, mô hình Pull và mô hình Push đƣợc biết đến là hai phƣơng pháp tiếp cận và trao đổi dữ liệu giữa các thực thể. Việc mua một tờ báo mới là một ví dụ minh họa cụ thể cho hai công nghệ này. Nếu muốn đọc tờ báo yêu thích hàng ngày, ta có thể đi đến nơi bán và mua nó vào mỗi buổi sáng hoặc đặt mua nó tại đại lý, sau đó chỉ việc ngồi ở nhà và chờ báo đến.Việc hàng ngày đi mua báo minh họa cho mô hình Pull, còn đặt mua báo và sau đó chờ báo đến là mô hình Push. Mô hình Pull đƣợc dựa trên mô hình request/response, gọi là data polling, hay đơn giản là polling. Mỗi khi cần thông tin, máy khách gửi một yêu cầu đến máy chủ, sau đó máy chủ trả lời, đồng bộ hoặc không đồng bộ. Trong phƣơng pháp này, việc chuyển giao dữ liệu luôn luôn bắt đầu là máy trạm, tức là ngƣời quản lý.
Mô hình Push thì ngƣợc lại, nó đƣợc dựa trên cơ chế publish/subscribe/distribute (xuất bản/đăng ký/phân phối). Trong mô hình này các thiết bị mạng (Agent) sẽ cho biết những MIB mà nó hỗ trợ và nó có thể gửi những SNMP cảnh báo nào. Các máy trạm sẽ đăng ký các thông tin mà nó quan tâm tới hệ thống quản lý (NMS), thông báo tần xuất mà nó muốn đƣợc nhận dữ liệu và ngắt kết nối. Sau đó, mỗi Agent sẽ chuẩn bị các thông tin và đẩy tới ngƣời quản trị một cách thƣờng xuyên theo lịch đã đặt hay không thông báo trƣớc.
2.1.2. Phƣơng pháp quản lý mạng Ad hoc
Cách đơn giản và hiệu quả để sử dụng mô hình Pull là sử dụng Applet và phƣơng pháp quản lý mạng Ad hoc. Sự bùng nổ, phát triển của các thiết bị không dây, thiết bị ngoại vi đã làm cho hệ thống mạng trở nên đa dạng, không đồng nhất về thiết bị và cách quản lý. Vấn đề đặt ra là cần có một chuẩn chung quản lý hệ thống mạng với các thiết bị khác nhau, của các hãng khác nhau. Phƣơng pháp quản lý mạng Ad hoc đã ra đời từ nhu cầu thực tế đó. Phƣơng pháp quản lý Ad hoc đƣợc cộng đồng quan tâm, thảo luận, nghiên cứu và phát triển trong nhiều năm qua.
Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Công việc quản lý mạng luôn là một nhiệm vụ khó khăn và thách thức ngay từ khi hình thành mạng máy tính. Các vấn đề nhƣ mất liên kết, tắc nghẽn băng thông, bị đột nhập, tấn công,... gây ảnh hƣởng đến hiệu quả của công việc quản lý. Trong những năm qua, sự phát triển mạnh mẽ của Internet kết hợp với sự phức tạp ngày càng tăng của hệ thống mạng viễn thông đã đƣợc cả cộng đồng cũng nỗ lực nghiên cứu, phát triển hệ thống quản trị. Kết quả của những nỗ lực này là những hệ thống quản lý hiệu quả, thông minh, đạt đƣợc mức độ quản lý chất lƣợng nhất định. Phƣơng pháp quản lý Ad hoc về cơ bản khác với phƣơng pháp quản lý mạng thông thƣờng vì tính chất đa dạng của nó. Các liên kết trong mạng Ad hoc là liên kết không liên tục và không cố định. Việc thƣờng xuyên mất các liên kết trong mạng là chuyện bình thƣờng, vì vậy việc sửa chữa liên kết không phải là vấn đề trọng tâm của quản lý Ad hoc. Tài nguyên, các nút trong mạng có thể tự ý up hoặc down. Do đó để quản lý một cách có hiệu quả, ta cần thiết phải đánh dấu những vấn đề tồn tại và đƣa ra giải pháp phù hợp. Các vấn đề chính trong quản lý Ad hoc là:
• Mô hình tổ chức.
• Tính không đồng nhất và phân loại thiết bị.
• Ngƣời dùng kiểm soát và nâng cao nhận thức bối cảnh. • Quản lý giao thức.
• Dịch vụ khám phá. • Bảo mật.
Với cách quản lý mạng thông thƣờng ta sẽ phải kết nối thƣờng xuyên đến thiết bị, giám sát, xử lý các sự cố liên quan đến thiết bị. Việc này đòi hỏi phải có kết nối liên tục, làm giảm hiệu năng của thiết bị. Còn với Ad hoc yêu cầu ngƣời sử dụng (quản trị viên hoặc ngƣời điều hành) tƣơng tác với phần mềm quản lý thông qua một giao diện đồ họa, kết nối với thiết bị khi cần thiết để lấy thông tin của thiết bị. Hiện nay quản lý Ad hoc đang đƣợc ứng dụng rộng rãi trong các công ty, tổ chức.Với các tổ chức lớn, họ có thể xây dựng lực lƣợng nhân viên quản lý hệ thống mạng tinh nhuệ, có đủ khả năng khai thác, vận hành hệ thống, nhƣng việc này đòi hỏi chi phí cao để duy trì bộ máy quản lý đó. Với Ad hoc, quản trị viên có thể sử
Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
dụng giao diện đồ họa để cấu hình một router, ngƣời điều hành có cái nhìn tổng quan về hệ thống, về trạng thái của các thiết bị trong mạng một cách nhanh chóng mà với cách quản lý thông thƣờng sẽ mất nhiều thời gian và tiền bạc. Còn với các công ty, tổ chức có quy mô nhỏ, Ad hoc thay thế việc quản lý thƣờng xuyên, không cần phải có ngƣời điều hành và hệ thống quản trị mạng chuyên nghiệp. Các phần mềm quản lý chỉ sử dụng đến khi cần thiết với những yêu cầu nhất định. Quản lý Ad hoc thƣờng bao gồm xử lý sự cố (các sự cố của mạng) hay quản lý cấu hình (thiết lập router mới, kiểm tra cấu hình của router,…)
2.1.3. Java Applet với quản trị mạng trên Web
Java Applet là các đối tƣợng đƣợc thực hiện trên trình duyệt Web. Khi thực hiện trên các trình duyệt Web, Java Applet cũng tạo ra các hiệu ứng nhƣ một ứng dụng bình thƣờng, tuy nhiên các thông tin cho phép Java Applet thực hiện lại đƣợc đƣa từ các trang Web. Ngƣời sử dụng dùng trình duyệt Web (browser) để xem các trang thông tin, trong đó có nhúng đối tƣợng Java Applet. Khi trình duyệt Web truy cập đến trang thông tin này, Java Applet sẽ đƣợc tải về trình duyệt Web và đƣợc thực hiện thông qua một cơ chế gọi là Java Virtual Machine (JVM) đã đƣợc cài sẵn trong trình duyệt. Việc sử dụng Applet trong quản trị mạng trên Web giúp giải quyết một số vấn đề mà quản trị mạng theo mô hình SNMP chƣa làm đƣợc. Nó làm giảm chi phí phát triển các phần mềm quản lý mạng, giải quyết vấn đề phiên bản MIB khác nhau trong cùng mạng, làm giảm thời gian quản lý, không phụ thuộc vào phần cứng và hệ điều hành (có thể chạy trên máy cài hệ điều hành Windows, Linux, Mac hay Unix,...)
Quá trình đẩy dữ liệu của Applet đƣợc mô tả trong hình 2.1. Giống nhƣ với các nền tảng quản lý mạng truyền thống, các điểm truy cập cho ngƣời sử dụng (quản trị viên hay ngƣời điều hành) là một bản đồ mạng đƣợc lấy từ một trình duyệt Web nội bộ. Bản đồ này có thể là một Applet chuyên biệt, hay đơn giản hơn là một hình ảnh GIF đƣợc sử dụng nhƣ bản đồ: khi ngƣời dùng nhấp chọn biểu tƣợng của một thiết bị mạng, các tọa độ (x, y) đƣợc ánh xạ tới các Agent bằng một CGI script, và URL tƣơng ứng đƣợc yêu cầu từ các Agent đã chọn. Các máy chủ
Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
khi nhận đƣợc thông tin yêu cầu từ Agent sẽ lấy Applet mà nó quản lý và gửi trở lại trình duyệt Web. Khi Applet đƣợc tải lên bởi trình duyệt, ta có hai cách để xử lý: Sử dụng SNMP hoặc HTTP.
Nếu sử dụng SNMP, sự tƣơng tác giữa ngƣời quản lý (trình duyệt chạy trên máy) và các Agent (các thiết bị mạng) đƣợc mô tả nhƣ hình 2.1. Bƣớc 1 và bƣớc 2 diễn ra một lần để chuyển Applet, trong khi bƣớc 3 và bƣớc 4 là một quá trình lặp đi lặp lại. Mũi tên ở bƣớc 2 cho ta thấy Applet đƣợc chuyển từ Agent đến ngƣời quản lý. Trên thực tế, quá trình chuyển này diễn ra giữa ngƣời dùng HTTP của trình duyệt Web và máy chủ HTTP của Agent. Khi Applet đƣợc tải lên, ngƣời sử dụng sẽ có thể quản lý thiết bị mạng đó. Giao diện đồ họa đƣợc dịch ra lệnh SNMP của Applet (Ví dụ: click chuột vào nút reset có thể ánh xạ thành câu lệnh set của SNMP)
Hình 2.1. Mô hình Pull: HTTP và SNMP
Vấn đề đặt ra là làm thế nào để nạp SNMP vào trình duyệt, một phƣơng pháp đƣợc đƣa ra khá hiệu quả đó là đóng gói các thành phần của SNMP vào một Applet, mô hình bảo mật dữ liệu của Applet sẽ giúp bảo vệ dữ liệu. Do vậy, mỗi khi Applet quản lý lấy dữ liệu từ một thiết bị mạng, các thành phần SNMP phải đƣợc di chuyển cùng. Điều này rõ ràng là không hiệu quả, đặc biệt là nếu chuyển giao này diễn ra trong mạng WAN. Một cải tiến đƣợc đƣa ra để lấy các giá trị
Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
SNMP là thông qua socket. Với mô hình bảo mật Applet, socket chỉ có thể đƣợc mở giữa một Applet và máy chủ gốc của nó, vì thế ta cần một proxy để hoạt động nhƣ máy chủ. Các Applet quản lý sẽ yêu cầu (request) thông qua proxy của trình duyệt, sau đó proxy liên lạc với các thiết bị trong mạng và lấy Applet mà không cần các giá trị SNMP. Applet đƣợc đẩy lên trình duyệt để xử lý, sau đó Applet mở socket đến proxy. Các giá trị SNMP sẽ đƣợc chuyển qua socket. Sau đó tất cả lƣu lƣợng truy cập SNMP giữa ngƣời quản lý và thiết bị chỉ đơn giản là chuyển tiếp dữ liệu qua proxy.
Cách tiếp cận này vẫn còn hạn chế vì bằng cách mã hóa dữ liệu MIB (biến MIB) hay nhúng nó vào một tài liệu có cấu trúc HTML, vấn đề bảo mật sẽ đƣợc cải thiện. Hình 2.2 minh họa cho giải pháp này. SNMP không còn đƣợc sử dụng giữa ngƣời quản lý và thiết bị, do đó không cần phải có SNMP client trong trình duyệt Web và ta không cần proxy nữa.
Hình 2.2. Mô hình Pull: HTTP thay thế SNMP
Trong hình 2.2 MIB của thiết bị đại diện cho MIB của một nhà cung cấp thiết bị mạng cụ thể. Khi một biến MIB đƣợc Applet truy vấn, yêu cầu này đƣợc thực trên HTTP của thiết bị. HTTP này sẽ đƣa ra một HTTP-to-SNMP gateway để truy cập vào MIB của thiết bị. Tùy thuộc vào mức độ tối ƣu của mã đƣợc quản lý, gateway này có thể trực tiếp truy cập vào cấu trúc dữ liệu MIB trong bộ nhớ hoặc thực hiện lệnh get, set trong SNMP.
Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Hình 2.3. Mô hình Pull: Quản lý Ad hoc dựa trên HTTP
Hình 2.3 mô tả mô hình Pull đƣợc xây dựng trên cơ sở kết hợp giữa phƣơng pháp quản lý Ad hoc với Applet dựa trên HTTP. Ngƣời quản trị chỉ cần ngồi tại một máy tính có kết nối Internet, truy cập vào máy chủ Web yêu cầu truy vấn thông tin thiết bị mình quản lý. Các máy chủ web có thể đƣợc đặt ở bất kỳ đâu trên Internet hoặc mạng nội bộ. Các MIB trong thiết bị mạng đại diện cho tất cả các MIB chung đƣợc hỗ trợ bởi thiết bị, cộng với nhà cung cấp cụ thể của nó.
2.2. Mô hình Push (Push Model)
2.2.1. Tổng quan
Mô hình Push nhƣ đã nói ở phần trƣớc, đƣợc dựa trên cơ chế publish/subscribe/distribute . Nó tổng hợp các thông tin, theo dõi hệ thống, thu thập dữ liệu theo các thông báo SNMP đƣợc lọc và phân phối đến. Mặc dù mô hình Push
Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
vẫn đƣợc biết đến trong lĩnh vực phần mềm nhƣng khi áp dụng công nghệ này sang lĩnh vực quản trị mạng, nó cũng mang lại hiệu quả cao. Lợi thế của việc sử dụng công nghệ chính là bảo tồn băng thông mạng, giảm gánh nặng xử lý cho CPU của thiết bị. Hầu hết các hệ thống mạng bị quá tải là do quá trình thu thập thông tin lặp đi lặp lại nhiều lần của các thiết bị, thu thập các thông tin không cần thiết. Một ví dụ là trong quá trình theo dõi trạng thái của hệ thống mạng, theo cách thông thƣờng để