(Luận văn thạc sĩ) nghiên cứu phương pháp xây dựng hệ quản lý thông tin trên mạng máy tính internet,intranet luận văn ths công nghệ thông tin 1 01 10

90 42 0
(Luận văn thạc sĩ) nghiên cứu phương pháp xây dựng hệ quản lý thông tin trên mạng máy tính internet,intranet  luận văn ths  công nghệ thông tin 1 01 10

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

-1- Mục lục DANH MỤC TỪ VIẾT TẮT DANH MỤC HÌNH VẼ MỞ ĐẦU CHƢƠNG – TỔNG QUAN VỀ QUẢN LÝ MẠNG 1.1 SỰ CẦN THIẾT 1.2 HỆ THỐNG QUẢN LÝ MẠNG OSI 1.2.1 Tổng quan hệ thống quản lý mạng 1.2.2 Các mô hình quản lý mạng OSI 14 1.2.3 Các chức quản lý mạng OSI .22 1.3 CÁC GIAO THỨC CƠ SỞ QUẢN LÝ MẠNG OSI 27 1.3.1 Giao thức CMOT 27 1.3.2 Giao thức SNMP 29 CHƢƠNG - HỆ QUẢN LÝ MẠNG DỰA TRÊN SNMP 31 2.1 KIẾN TRÚC HỆ THỐNG 31 2.1.1 Tổng quan 31 2.1.2 Kiến trúc Manager Agent .35 2.1.3 Giao thức SNMP 40 2.2 CƠ SỞ DỮ LIỆU THÔNG TIN QUẢN LÝ .44 2.2.1 Tổ chức thông tin quản lý 44 2.2.2 Cơ sở liệu thông tin quản lý MIB-II 47 2.3 BIỂU DIỄN THÔNG TIN QUẢN LÝ 49 2.3.1 Cấu trúc thông tin quản lý SMI 49 2.3.2 Định nghĩa liệu SMI ASN.1 52 2.3.3 Mã hố thơng điệp BER .55 CHƢƠNG – XÂY DỰNG HỆ TÁC TỬ QUẢN TRỊ TÍCH HỢP 60 3.1 YÊU CẦU CHUNG 60 3.2 THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG .62 3.2.1 Kiến trúc chức hệ thống .62 3.2.2 Cở liệu thông tin quản lý 66 3.2.3 Triển khai module .77 3.3 THỬ NGHIỆM VÀ ĐÁNH GIÁ 83 KẾT LUẬN 88 TÀI LIỆU THAM KHẢO 90 -2- DANH MỤC TỪ VIẾT TẮT Viết tắt Tiếng Anh ISO The International Standards Organization OSI Open System Interconnect tion MIB Managent Information Base SMI Structure of Management Information ASN.1 Abstract Syntax Notation One BER CMIS CMIP SNMP CMOT NMS Basic Encoding Rules Common Management Information Service Common Management Information Protocol Simple Network Management Protocol CMIP over TCP/IP Network Management Station Tiếng Việt Tổ chức tiêu chuẩn quốc tế Mơ hình kết nối hệ thống mở Cơ sở liệu thông tin quản lý Kiến trúc thông tin quản lý Ngôn ngữ mổ tả cú pháp trừu tượng Các quy tắc mã hố Dịch vụ thơng tin quản lý chung Giao thức thông tin quản lý chung Giao thức quản lý mạng đơn giản CMIP TCP/IP Trạm quản lý mạng -3- DANH MỤC HÌNH VẼ Hình 1.1 – Sự phát triển hệ thống mạng phức hợp tốc độ truyền Hình 1.2 – Các cơng việc quản lý mạng Hình 1.3 – Các thành phần hệ thống quản lý mạng Hình 1.4 – Phạm vi tổng thể hệ thống quản lý mạng Hình 1.5 – Quản lý mạng mơ hình OSI Hình 1.6 – Giao thức hệ thống quản lý mạng OSI Hình 1.7 – Mơ hình tổ chức trừu tượng mơi trường quản lý mạng Hình 1.8 – Cây thơng tin quản lý Hình 1.9 – Kiến trúc mơ hình quản lý OSI Hình 1.10 – Các phạm vi chức quản lý mạng OSI Hình 1.11 – Quy trình thực quản lý hiệu suất Hình 1.16 – Kiến trúc CMOT Hình 1.17 – Kiến trúc SNMP Hình 2.1 – Kiến trúc Manager/Agent tổng quan Hình 2.2 – Tổng quan mơ hình quản lý mạng dựa SNMP Hình 2.3 – Mối quan hệ Manager Agent Hình 2.4 – Kiến trúc Manager/Agent với chế uỷ quyền Hình 2.5 – Tổng thể mơ hình Manager/Agent Hình 2.6 – Mơ hình truyền thơng TCP/IP SNMP Hình 2.7a – Định dạng thơng điệp SNMP Hình 2.7b – Thơng tin SNMP bao gói Frame truyền Hình 2.8 – Trao đổi thơng tin Manager Agent Hình 2.9 – Mơ hình tổ chức logic sở thơng tin quản lý Hình 2.10 – Nhánh MIB-II Hình 2.11 – Nhánh snmpV2 Hình 2.12 – Mã hố trường Type Hình 2.13 – Mã hố trường Length Hình 2.14 – Mã hố kiểu liệu Interger Hình 3.1 – Kiến trúc tổng quan tác tử Hình 3.2 – Kiến trúc tác tử Hình 3.3 – Các tiến trình máy chủ Apache Hình 3.4 – Kết truy nhập theo chuẩn SNMP Hình 3.5 – Giám sát thời gian thực Hình 3.6 – Giám sát thời gian thực đồng thời nhiều giá trị Trang 10 11 14 15 16 19 20 21 22 25 28 29 35 37 38 39 39 41 42 42 43 45 48 52 56 57 58 63 64 84 85 86 87 -4- MỞ ĐẦU Ngày nay, với phát triển mạng máy tính Internet, ứng dụng độc lập máy tính có xu hướng phát triển sang tương tác môi trường mạng (Intranet Internet), ứng dụng quản lý tài chính, thương mại điện tử, trò chơi trực tuyến, Do vậy, ứng dụng khơng cịn người truy nhập sử dụng, mà có nhiều người truy nhập sử dụng có tương tác Việc hoạt động mơi trường mạng địi hỏi phải có giám sát đảm bảo chất lượng dịch vụ cho ứng dụng Đây khía cạnh cịn quan tâm việc phát triển ứng dụng loại này, nhà phát triển phần mềm thường cho đảm bảo chất lượng dịch vụ nhiệm nhà phát triển công nghệ mạng quản lý mạng Đảm bảo chất lượng dịch vụ vấn đề quan trọng dịch vụ ứng dụng mạng Chất lượng dịch vụ thể nhiều thành phần, nhiên hạ tầng mạng thiết bị phần cứng, việc giám sát nhằm điều chỉnh khả phục vụ ứng dụng mạng quan trọng Nếu không quan tâm đến vấn đề này, ứng dụng mạng thường gặp phải vấn đề tượng nghẽn hay tải ứng dụng không đáp ứng tức thời yêu cầu được, điều gây lỗi, chí sụp đổ hệ thống Sâu xa hơn, vấn đề không đảm bảo chất lượng dịch vụ dẫn đến việc phá sản người dùng (khách hàng) chán nản “quay lưng lại” Mặt khác, việc giám sát thành phần hệ thống ứng dụng cho phép người quản lý nắm bắt thông tin mà người dùng quan tâm, như: thành phần ứng dụng truy nhập nhiều nhất, thông tin người dùng quan tâm nhất, thành phần truy nhập, Từ thông tin này, người quản lý điều chỉnh thơng số nhằm phục vụ tốt hơn, thơng tin làm sở để đánh giá ứng dụng có hướng nâng cấp, phát triển phần mềm lương lai Đây vấn đề cốt yếu để đem lại thành công cho ứng dụng mạng Để giải tốn trên, giải pháp tích hợp hệ tác tử quản trị cho ứng dụng mạng giải pháp tối ưu hiệu Giải pháp cho phép người quản trị giám sát, điều khiển khả phục vụ ứng -5- dụng làm cho chất lượng dịch vụ đảm bảo Đồng thời, giải pháp cho phép thu thập thông tin liên quan đến việc sử dụng ứng dụng người dùng để phục vụ kế hoạch nâng cấp hay chiến lược phát triển tương lai Vấn đề tích hợp hệ tác tử quản trị mạng nghiên cứu phát triển nhiều giới, hầu hết cho thiết bị phần cứng (như Router, Switch, UPS, Printer, ) hệ thống chuẩn (như: hệ điều hành, ) Đối với ứng dụng mạng phổ thơng khơng nhiều, mà chủ yếu cho ứng dụng chuyên sâu hệ thống tuỳ theo hãng phát triển cụ thể Nguyên nhân tác tử quản trị phải tích hợp đối tượng quản lý, mà đối tượng quản lý chủ yếu hãng cung cấp thiết bị phát triển Do có tác tử đặc thù tuỳ theo hãng đó, như: tác tử cho thiết bị mạng hãng Cisco, IBM, Chính vậy, để quản lý đối tượng riêng buộc ta phải tự phát triển tác tử quản lý Hơn nữa, ứng dụng mạng phổ thông phát triển nhiều như: thương mại điện tử, trò chơi trực tuyến, vấn đề chưa quan tâm phát triển, bỏ ngỏ Với vấn đề trên, luận văn thực nhằm đưa phương pháp nghiên cứu xây dựng hệ tác tử quản trị mạng máy tính Intranet/Internet Mục đích cụ thể là: Về lý thuyết: Nghiên cứu hệ thống chuẩn quản lý mạng OSI, đặc biệt mơ hình chức kiến trúc Manager/Agent Phân tích hệ thống quản lý mạng dựa giao thức chuẩn SNMP, sở cho tất ứng dụng quản lý mạng tuân theo SNMP Về thực tiễn: Đưa phương pháp xây dựng hệ tác tử quản lý thơng tin mạng máy tính Internet/Intranet Ứng dụng phương pháp để xây dựng tác tử quản trị tích hợp vào máy chủ web Apache Luận văn chia làm ba phần tương ứng với ba chương: - Chương - Tổng quan quản lý mạng Chương trình bày khái niệm liên quan đến vấn đề quản lý mạng, mô hình quản lý -6- mạng tiếng OSI sơ lược giao thức quản lý mạng CMOT SNMP Trong đó, quan trọng mơ hình chức OSI kiến trúc Manager/Agent - Chương - Hệ quản lý mạng dựa SNMP Chương trình bày lý thuyết hệ quản lý mạng dựa giao thức quản lý mạng tiếng SNMP Hệ quản lý mạng dựa kiến trúc Manager/Agent, với cách thức tổ chức thông tin quản lý mạng sở liệu MIB lưu trữ đối tượng cần quản lý, cách thức biểu diễn thông tin kiến trúc thông tin quản lý SMI ngôn ngữ định nghĩa liệu quản lý ASN.1, cách mã hố thơng tin truyền/nhận quy tắc mã hố cở BER - Chương - Xây dựng hệ tác tử quản trị tích hợp Đây chương ứng dụng lý thuyết hai chương trước để xây dựng hệ tác tử quản trị cụ thể Hệ tác tử tích hợp cho máy chủ dịch vụ web Apache Ngồi ba chương chính, bố cục luận văn cịn có phần Mở đầu, Kết luận Tài liệu tham khảo Phần kết luận nêu tóm tắt vấn đề trình chương, đánh giá kết đạt chưa đạt được, đồng thời đưa định hướng nghiên cứu, phát triển Mặc dù cố gắng, song khuôn khổ thời gian nhận thức hạn hẹp nên luận văn hạn chế định, tác giả mong nhận góp ý để vấn đề nghiên cứu ngày hoàn thiện Qua đây, tác giả xin chân thành cảm ơn tới PGS.TS Vũ Duy Lợi, người thầy hướng dẫn bảo tận tình trình thực luận văn này, xin chân thành cảm ơn Thầy Cô dạy giúp đỡ suốt trình học tập trường Đại học Công nghệ - Đại học Quốc gia Hà Nội -7- CHƯƠNG – TỔNG QUAN VỀ QUẢN LÝ MẠNG 1.1 SỰ CẦN THIẾT Như ta biết, năm 70 thập kỷ trung tâm mạng với thống trị hệ thống máy tính lớn (Mainframe) Việc truyền liệu cho phép thiết bị đầu cuối giao tiếp với Mainframe Tuy nhiên, tốc độ thấp truyền thông không đồng làm hạn chế phát triển Các nhà cung cấp Mainframe IBM nhà cung cấp mạng truyền thông AT&T công ty điện thoại nội quản lý hệ thống mạng Ở thời điểm này, vấn đề quản lý mạng chưa đặt ra, vấn đề quản lý đơn giản tập trung máy tính lớn Hình 1.1 cho ta thấy tốc độ truyền thông tin tăng tỉ lệ thuận với phát triển cơng nghệ mạng Hình 1.1 - Sự phát triển hệ thống mạng phức hợp tốc độ truyền Những năm 1980 có ba thay đổi đáng kể công nghệ truyền thông liệu Các vi xử lý đời tạo bước tiến quan trọng đem lại nhiều tiện lợi nhiều so với máy tính lớn Số lượng mạng LAN (Local Area Network) với máy tính nhỏ tăng nhanh Các phương tiện truyền tốc độ cao diện rộng thúc đẩy phát triển kết nối LAN từ máy tính nhỏ Việc phát triển mạng LAN tạo điều -8- kiện cho việc xử lý phân tán chuyển ứng dụng từ hệ thống máy tính lớn vào máy tính để bàn Và việc truyền liệu chuyển sang mạng phân tán vấn đề phải giám sát nhằm đảm bảo cho hệ thống mạng hoạt động tốt trở thành yêu cầu cấp thiết Và năm 1980 lĩnh vực mạng phát triển nhanh, công ty nhận thức lợi ích đạt từ việc tạo công nghệ mạng, họ bắt đầu mở rộng phát triển thêm mạng, công nghệ mạng sản phẩm mạng phát triển nhanh Giữa năm 1980, công ty lớn trở thành chuyên gia phát triển công nghệ mạng Mỗi cơng ty lại tạo cơng nghệ, thiết bị sản phẩm mạng có nhiều khác Với phát triển đa dạng phát sinh vấn đề kết nối mở rộng mạng Nó làm ảnh hưởng đến việc quản trị mạng hàng ngày kế hoạch, chiến lược phát triển mạng Mỗi cơng nghệ mạng địi hỏi phải có nhiều nhà chuyên gia Tuy nhiên, năm 1980 việc bố trí nhân viên nên yêu cầu người quản lý tất hệ thống mạng Và thế, mạng máy tính phát triển phức tạp tạo khủng hoảng thực cho nhiều tổ chức Do đó, cần thiết phải có việc quản lý mạng tự động tích hợp qua nhiều loại mơi trường khác Đây lý chuẩn sản phẩm quản lý mạng đời Và thực tiễn ngày cho thấy, phức tạp mạng máy tính khơng đơn thể chủng loại thiết bị mạng, mà cịn thể quy mô mạng Hơn phức tạp thể đa dạng dịch vụ mạng Như vậy, giải vấn đề quản lý mạng tốn phức tạp Ngồi ứng dụng quản lý mạng, đòi hỏi người quản trị cần phải am hiểu sâu sắc tất vấn đề liên quan đến hệ thống mạng 1.2 HỆ THỐNG QUẢN LÝ MẠNG OSI 1.2.1 Tổng quan hệ thống quản lý mạng Trước vào nghiên cứu hệ thống quản lý mạng, ta tìm hiểu khái niệm vấn đề liên quan quản lý mạng Quản lý mạng (Network Management) định nghĩa khác nhiều người khác nhau, -9- vấn đề rộng lớn việc quản lý mạng máy tính Trong vài trường hợp, mạng đơn trợ giúp việc giám sát hoạt động mạng với phân tích giao thức Trong vài trường hợp khác, quản lý mạng bao gồm sở liệu phân tán, tự động truy vấn đối tượng mạng trạm cuối để kết sinh lược đồ đồ hoạ thời gian thực thay đổi mơ hình lưu thơng mạng Cịn trường hợp chung nhất, quản lý mạng dịch vụ sử dụng công cụ, ứng dụng thiết bị để trợ giúp nhà quản lý mạng việc giám sát bảo trì mạng Trong sách “Network and Distributed System Management”, Morris Sloman định nghĩa sau: “Quản lý hệ thống liên quan đến việc giám sát điều khiển hệ thống để thực yêu cầu người chủ sở hữu người sử dụng hệ thống” (Sloman 1994) [8] Dựa định nghĩa Sloman, ta thấy mục đích quản lý mạng giúp cho tổ chức đạt mục đích cơng việc việc sử dụng hệ thống quản lý mạng có Và cụ thể việc quản lý mạng bao gồm tất công việc nhằm cung cấp khả hệ thống mạng để giảm tối đa chi phí đem lại nhiều lợi ích khác Như thế, ta thấy khái niệm có điểm khác nhau, song có chung khía cạnh giám sát điều khiển Và tất nhiên mục đích việc quản lý mạng nhằm làm cho hệ thống mạng hoạt động theo ý đồ nhà quản lý Trong đó, ta hiểu: - Giám sát hoạt động theo dõi, phân tích trạng thái thành phần mạng - Điều khiển hoạt động làm thay đổi tham số thành phần mạng để chúng hoạt động theo yêu cầu nhà quản trị Việc quản lý mạng bao gồm hai công việc quản lý (Management) quản trị (Administration), tương ứng hoạt động Proactive hoạt động Reactive Ta mô tả công việc quản lý mạng hình 1.2 [8] - 10 - Hình 1.2 – Các công việc quản lý mạng Quản lý mạng bao gồm khối lượng lớn công việc hoạt động proactive reactive Trong đó, hoạt động reactive hiểu hoạt động hàng ngày mà cơng việc để cấu hình giải cố Ví dụ có báo cáo người dùng khơng thể in được, người quản trị mạng (Network LAN) người xử lý cố Người quản trị phải kiểm tra xem máy in hết giấy máy trạm khơng cấu hình đúng,… Thơng thường, người quản trị thực công việc cấu hình cho trạm làm việc mới, thêm người dùng, lưu hệ thống,… Còn hoạt động proactive hiểu hoạt động lập kế hoạch, cài đặt bảo trì mạng Người quản lý mạng thực công việc hoạt động kỹ sư chuyên gia để giải vấn đề hệ thống mạng khó Như hoạt động proactive có tính chất tổng quan rộng hoạt động reactive Việc phân chia có tính chất tương đối, thực tiễn nhiều trường hợp cơng việc có đan xen người thực Bây ta xem xét phạm vi thành phần hệ thống quản lý mạng Một hệ thống quản lý mạng tích hợp cơng cụ cần thiết bao gồm phần cứng phần mềm để bổ xung cho thành phần có mạng nhằm thực chức quản lý mạng Về lý thuyết, hệ thống quản lý mạng có bốn thành phần hình 1.3 - 76 - wwwMIBObjects OBJECT IDENTIFIER ::= { wwwMIB } Định nghĩa nhóm đối tượng OID: 1.3.6.1.2.1.65.1 wwwMIBConformance OBJECT IDENTIFIER ::= { wwwMIB } Gộp các đối tượng thành nhóm quản lý OID: 1.3.6.1.2.1.65.2 Phần định nghĩa kiểu liệu đối tượng, cách định nghĩa tương tự nên ta định nghĩa vài đối tượng tiêu biểu sau: wwwServiceName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "Tên máy chủ web, tên tất máy ảo (VirtualHost)." ::= { wwwServiceEntry } OID: 1.3.6.1.2.1.65.1.1.1.1.5 wwwSummaryInRequests OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Số lượng yêu cầu (Request) thành công." ::= { wwwSummaryEntry } OID: 1.3.6.1.2.1.65.1.2.1.1.1 wwwSummaryOutRequests OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Số lượng yêu cầu (Request) kết sinh." ::= { wwwSummaryEntry } OID: 1.3.6.1.2.1.65.1.2.1.1.2 wwwSummaryInBytes OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Số lượng byte nhận." ::= { wwwSummaryEntry } OID: 1.3.6.1.2.1.65.1.2.1.1.5 wwwSummaryOutBytes OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Số lượng byte truyền ra." ::= { wwwSummaryEntry } OID: 1.3.6.1.2.1.65.1.2.1.1.7 - 77 - Với cách định nghĩa tương tự, ta định nghĩa tất đối tượng cần quan tâm module Toàn định nghĩa đối tượng quản lý dịch vụ web tham khảo RFC 2594 Tuy nhiên, mục đích nghiên cứu nên nhiều đối tượng MIB không khởi tạo hệ tác tử ta Sau khởi tạo ta sử dụng lệnh SNMP để thu thập ghi thơng tin từ MIB Ví dụ lệnh công cụ NetSnmp: #snmpwalk –v1 127.0.0.1 –c public 1.3.6.1.2.1.65.1.1.1.1.5 SNMPv2-SMI::mib-2.65.1.1.1.1.5.1 = STRING: "mysite.com" SNMPv2-SMI::mib-2.65.1.1.1.1.5.2 = STRING: "myvirtualsite.com" 3.2.3 Triển khai module Đây công đoạn vất vả, buộc người phát triển phải nắm sâu lý thuyết giao thức SNMP, cách thức mã hoá BER dịng liệu cơng cụ kỹ lập trình để thực module Trước hết, ta xem xét thành phần Engine, thành phần mà nhiệm vụ khởi tạo tiến trình Trong mơi trường lập trình C hệ điều hành Linux, việc khởi tạo tiến trình chủ từ hàm trung tâm Agent thực sau: /* * Description */ void snmp_agt_main(server_rec *s, pool *p, pool *ptemp){ int count; int snmp_socket; int numfds; fd_set fdset; snmpagent_pid = fork(); if (snmpagent_pid == -1){ //Fork error ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, s, "SNMP: unable to fork agent"); } else if (snmpagent_pid > 0) { return; } //Open the network snmp_socket = snmp_open_connection(snmp_addr, snmp_port); if (snmp_socket == 0){ ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, s, "SNMP: cannot open socket"); exit(0); } ensure_communities(); init_SNMPv2_MIB(); init_WWW_MIB(); init_APACHE_CONFIG_MIB(); - 78 - init_APACHE_SCOREBOARD_MIB(); init_wwwServiceOperStatus(); init_wwwProtocolStatistics(s, p); www_services = s; ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_NOTICE, s, "SNMP: agent started and listens on port '%s:%d'", snmp_addr, snmp_port); //Listen to the network while(1){ numfds = 0; FD_ZERO(&fdset); FD_SET(snmp_socket, &fdset); FD_SET(http2snmp_socket, &fdset); if (snmp_socket > http2snmp_socket) { numfds = snmp_socket+1; } else { numfds = http2snmp_socket+1; } count = select(numfds, &fdset, 0, 0, 0); if (count > 0){ if (FD_ISSET(snmp_socket, &fdset)) { snmp_process_message(snmp_socket); } else if (FD_ISSET(http2snmp_socket, &fdset)) { snmp_log_lastDocument(http2snmp_socket); } } else switch(count){ case 0: break; case -1: if (errno == EINTR) { continue; } else { ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_NOTICE, s, "SNMP: select error '%s'\n", strerror(errno)); } default: ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_NOTICE, s, "SNMP: select returned %d\n", count); } } } Trong hàm trên, tham số truyền vào nhằm phục vụ cho thủ tục khác Agent Ta thấy hàm fork, hàm có nhiệm khởi sinh tiến trình có nhiều kết nối Tiếp theo hàm snmp_open_connection, hàm có nhiệm vụ khởi sinh dịch vụ giao thức UDP với địa IP số hiệu cổng dịch vụ UDP truyền từ biến toàn cục vào Tiếp theo hàm khởi tạo sở liệu MIB Cuối chu trình while quan trọng, cho phép khởi tạo tiến trình có nhiều kết nối, tiến trình sau hoạt động xong tự - 79 - huỷ Trong hàm snmp_agt_main ta thấy có nhiệm vụ gọi hàm khởi tạo trạng thái dịch vụ giao thức Một hàm quan trọng khác trình khởi tạo dịch vụ UDP hàm snmp_open_connection Hàm định nghĩa sau: /* * Descriptions */ int snmp_open_connection(char* snmp_addr, int snmp_port){ int socketDescriptor; struct sockaddr_in mySocketAddress; socketDescriptor = socket(AF_INET, SOCK_DGRAM, 0); if (socketDescriptor < 0){ perror("socket"); printf ("error calling \"socket()\"\n."); exit(2); } mySocketAddress.sin_family = AF_INET; mySocketAddress.sin_addr.s_addr = inet_addr(snmp_addr); if (sizeof (mySocketAddress.sin_port) == 2) { *(short*)&mySocketAddress.sin_port = htons((short) snmp_port); } else if (sizeof (mySocketAddress.sin_port) == 4) { *(long *)&mySocketAddress.sin_port = htonl(snmp_port); } else { abort (); } if (bind(socketDescriptor, (struct sockaddr *)&mySocketAddress, sizeof(mySocketAddress))){ perror("bind"); printf ("error calling \"bind()\"\n."); exit(2); } printf("Port %u succesfully opened.\n", snmp_port); return (socketDescriptor); } Trong thủ tục này, tham số truyền vào địa IP số hiệu cổng dịch vụ mà tiến trình lắng nghe Thơng thường thơng số truyền sau: snmp_open_connection("0.0.0.0", 161) tức tiến trình lắng nghe cổng 161 (cổng chuẩn giao thức SNMP) chấp nhận địa kết nối đến Hoặc ta định địa (ví dụ 192.168.1.100) hay lớp địa cụ thể để giới hạn truy nhập từ máy xa lạ - 80 - Hàm hệ thống socket có nhiệm vụ khởi tạo dịch vụ giao thức UDP (SOCK_DGRAM tương ứng giao thức UDP), hàm bind có nhiệm vụ kết nối địa IP số hiệu cổng dịch vụ giao thức UDP Phần ta triển khai thủ tục khởi tạo sở liệu thông tin quản lý MIB Do cách thức triển khai MIB tương tự nhau, nên ta xem xét Apache-Scoreboard-MIB làm mẫu Ta tổ chức thành hai tệp riêng biệt tệp tiêu đề scroreboard-mib.h tệp mã scroreboard-mib.c Tệp tiêu đề thể sau: /* * scoreboard-mib.h */ #ifndef #define _APACHE_SCOREBOARD_MIB_ _APACHE_SCOREBOARD_MIB_ void init_APACHE_SCOREBOARD_MIB(); void register_subtrees_of_APACHE_SCOREBOARD_MIB(); //Defined objects in this module //Nhánh scoreboardMIB = myApache, //Đặc tả nút (node) #define I_scoreboardMIB //Đặc tả nhánh (branch) #define O_scoreboardMIB 1, 3, 6, 1, 4, 1, 785, //MIB object myApache = enterprises, 785 #define I_myApache 785 #define O_myApache 1, 3, 6, 1, 4, 1, 785 //MIB object scoreboardMIBObjects = scoreboardMIB, #define I_scoreboardMIBObjects #define O_scoreboardMIBObjects 1, 3, 6, 1, 4, 1, 785, 5, //MIB object scoreBoardTable = scoreboardMIBObjects, #define I_scoreBoardTable #define O_scoreBoardTable 1, 3, 6, 1, 4, 1, 785, 5, 1, //MIB object scoreBoardEntry = scoreBoardTable, #define I_scoreBoardEntry #define O_scoreBoardEntry 1, 3, 6, 1, 4, 1, 785, 5, 1, 1, //MIB object scoreBoardIndex = scoreBoardEntry, #define I_scoreBoardIndex #define O_scoreBoardIndex 1, 3, 6, 1, 4, 1, 785, 5, 1, 1, 1, //MIB object scoreBoardProcessId = scoreBoardEntry, #define I_scoreBoardProcessId #define O_scoreBoardProcessId 1, 3, 6, 1, 4, 1, 785, 5, 1, 1, 1, //MIB object scoreBoardStatus = scoreBoardEntry, #define I_scoreBoardStatus - 81 - #define O_scoreBoardStatus 1, 3, 6, 1, 4, 1, 785, 5, 1, 1, 1, //MIB object scoreBoardStartTime = scoreBoardEntry, #define I_scoreBoardStartTime #define O_scoreBoardStartTime 1, 3, 6, 1, 4, 1, 785, 5, 1, 1, 1, //MIB object scoreBoardAccessCount = scoreBoardEntry, #define I_scoreBoardAccessCount #define O_scoreBoardAccessCount 1, 3, 6, 1, 4, 1, 785, 5, 1, 1, 1, //MIB object scoreBoardAccessBytes = scoreBoardEntry, #define I_scoreBoardAccessBytes #define O_scoreBoardAccessBytes 1, 3, 6, 1, 4, 1, 785, 5, 1, 1, 1, //MIB object scoreBoardClient = scoreBoardEntry, #define I_scoreBoardClient #define O_scoreBoardClient 1, 3, 6, 1, 4, 1, 785, 5, 1, 1, 1, //MIB object scoreBoardRequest = scoreBoardEntry, #define I_scoreBoardRequest #define O_scoreBoardRequest 1, 3, 6, 1, 4, 1, 785, 5, 1, 1, 1, //MIB object scoreBoardVirtualHost = scoreBoardEntry, #define I_scoreBoardVirtualHost #define O_scoreBoardVirtualHost 1, 3, 6, 1, 4, 1, 785, 5, 1, 1, 1, //MIB object scoreboardMIBConformance = scoreboardMIB, #define I_scoreboardMIBConformance #define O_scoreboardMIBConformance 1, 3, 6, 1, 4, 1, 785, 5, //MIB object scoreboardMIBCompliances = scoreboardMIBConformance, #define I_scoreboardMIBCompliances #define O_scoreboardMIBCompliances 1, 3, 6, 1, 4, 1, 785, 5, 2, //MIB object scoreboardMIBGroups = scoreboardMIBConformance, #define I_scoreboardMIBGroups #define O_scoreboardMIBGroups 1, 3, 6, 1, 4, 1, 785, 5, 2, //MIB object scoreBoardGroup = scoreboardMIBGroups, #define I_scoreBoardGroup #define O_scoreBoardGroup 1, 3, 6, 1, 4, 1, 785, 5, 2, 2, #endif //_APACHE_SCOREBOARD_MIB_ Tiếp theo, ta thực tệp mã scroreboard-mib.c Để hoàn thiện tệp mã ta cần có nhiều hàm phụ để thực chức cụ thể, sau mơ tả tóm tắt /* * scoreboard-mib.c */ #include "scoreboard-mib.h" //Phần đầu gồm nhiều tệp tiêu đề khác như: // http.h, asn1.h, snmp.h, snmpv2-mib.h, //Hàm khởi tạo sở liệu void init_APACHE_SCOREBOARD_MIB(){ - 82 - register_subtrees_of_APACHE_SCOREBOARD_MIB(); //insert the Object Resource in sysORTable { static struct sysOREntry_struct value = { NULL, 1, {8, {O_scoreboardMIB}}, "The Scoreboard MIB module", 0}; insert_sysOREntry(&value); } } //Định nghĩa biến, mảng static oid scoreBoardEntry_oid[] = { O_scoreBoardEntry }; static Object scoreBoardEntry_variables[] = { { SNMP_UINTEGER, (RONLY| COLUMN), var_scoreBoardEntry, {1, { I_scoreBoardProcessId }}}, { SNMP_INTEGER, (RONLY| COLUMN), var_scoreBoardEntry, {1, { I_scoreBoardStatus }}}, { SNMP_TIMETICKS, (RONLY| COLUMN), var_scoreBoardEntry, {1, { I_scoreBoardStartTime }}}, { SNMP_UINTEGER, (RONLY| COLUMN), var_scoreBoardEntry, {1, { I_scoreBoardAccessCount }}}, { SNMP_UINTEGER, (RONLY| COLUMN), var_scoreBoardEntry, {1, { I_scoreBoardAccessBytes }}}, { SNMP_STRING, (RONLY| COLUMN), var_scoreBoardEntry, {1, { I_scoreBoardClient }}}, { SNMP_STRING, (RONLY| COLUMN), var_scoreBoardEntry, {1, { I_scoreBoardRequest }}}, { SNMP_UINTEGER, (RONLY| COLUMN), var_scoreBoardEntry, {1, { I_scoreBoardVirtualHost }}}, { 0, 0, NULL, {0, {0}}} }; static SubTree scoreBoardEntry_tree = { NULL, scoreBoardEntry_variables, (sizeof(scoreBoardEntry_oid)/sizeof(oid)), scoreBoardEntry_oid }; //Hàm đăng ký nhánh MIB void register_subtrees_of_APACHE_SCOREBOARD_MIB(){ insert_group_in_mib(&scoreBoardEntry_tree); } Sau có tồn module này, ta tiến hành biên dịch với hệ thống Apache Trước hết ta cần phải có mã nguồn máy chủ web Apache, sau ta thực thao tác hệ điều hành Linux sau: - Giải nén tệp apache_1.3.33.tar.gz [13] lệnh: #tar –xvfz apache_1.3.33.tar.gz - Toàn mã nguồn Agent đưa vào thư mục: apache_1.3_33/src/modules/snmg_agt - Cấu hình máy chủ Apache: #CFLAGS=“-DSNMP –DUSE_DB” /configuare \ active-module=src/modules/snmp_agt/libsnmp_agt.a - 83 - Nếu khơng có lỗi, ta thực biên dịch lại mã nguồn hệ thống Apache lệnh sau: #make #make install - Sau cài đặt (mặc định thư mục “/usr/local”), ta cần sửa tệp “http.conf” thêm vào thông số cho Agent sau: SNMPbuckets logs SNMPcommunity public sysDescr Apache 1.3.33 HTTP/1.1 – SNMP module 1.3.6 sysContact admins@mysite.com sysLocation cntt.dhgqhn.vn Trong phần cấu hình “” thể phần cấu hình dành cho ứng dụng sử dụng từ khố SNMP (là Agent ta) 161 số hiệu cổng dịch UDP Agent Tiếp theo thông số dành cho nhật ký, điều kiện truy nhập thông tin (public) thông tin hệ thống Phần sau kết thử nghiệm đánh giá hoạt động toàn hệ thống tác tử 3.3 THỬ NGHIỆM VÀ ĐÁNH GIÁ Để thử nghiệm hệ thống này, mơ hình tối thiểu ta phải có máy cài đặt hệ điều hành Linux có đủ cơng cụ để biên dịch khởi tạo máy chủ Apache (công cụ gcc, automake thư viện libc) Thông thường cấu hình phần cứng tối thiểu cho máy PC là: HDD 1GB, CPU 300Mhz, RAM 64, có giao tiếp mạng Ngồi cần có cơng cụ phía Manager máy PC khác cài đặt hệ điều hành có hỗ trợ cơng cụ để kiểm thử thơng tin truy nhập Hai máy PC kết nối trực tiếp với dây mạng đấu chéo (cross-link) Các cơng cụ phía Manager sử dụng như: NINO, SNMPc Network Manager, Xratel (SNMP tool), Sau có đủ điều kiện khởi tạo hệ thống ta dùng cơng cụ hỗ trợ truy nhập theo giao thức SNMP để thực truy nhập thông tin Ở đây, hệ thống máy chủ web triển khai thử nghiệm phục vụ cho website phận An ninh an tồn thơng tin mạng máy tính - Cục Cơng - 84 - nghệ tin học nghiệp vụ - Bộ Công an Website kết nối thơng suốt tồn hệ thống mạng ngành Cơng an Như hình 3.3, sau khởi tạo dùng lệnh “ps –ax” liệt kê tiến trình hệ điều hành Linux ta thấy hệ thống khởi tạo tiến trình cho dịch vụ web, thể dịng “/home/apache/bin/httpd” Hình 3.3 – Các tiến trình máy chủ Apache Trong tiến trình có tiến trình chủ, tiến trình cho SNMP Agent tiến trình phục vụ web Số tiến trình khởi tạo tối thiểu tối đa định nghĩa tệp “http.conf” máy chủ Apache Sau khởi tạo máy chủ với địa IP “192.168.1.200”, sử dụng công cụ “SNMP-Simple tool” [16] ta thấy kết truy nhập hình 3.4 Các thơng tin chung hệ thống gồm: SysName, SysDescr, SysContac, SysLocation, SysUptime Ở đây, SysUptime thời gian (tính giây) từ khởi tạo hệ thống Ngoài ra, lệnh “snmpwalk” với OID 1.3.6.1.4.1.785.5.1.1.1.2 cho ta biết số tiến trình phục vụ web hệ thống với số ID hệ thống - 85 - Hình 3.4 – Kết truy nhập theo chuẩn SNMP Tham số số tiến trình thay đổi tức thời việc thực thao tác theo đối tượng Apache-Config-MIB với giá trị OID là: 1.3.6.1.4.1.785.6.1.6.0 cho MimSpareServers (mặc định 5) 1.3.6.1.4.1.785.6.1.7.0 cho MaxSpareServers (mặc định 10) Với công cụ “SNMP - Simple tool” ta thay đổi giá trị Ta việc nhập OID, giá trị cần thay đổi chọn kiểu giá trị, cuối nút “SnmpSet”, có thơng báo thành cơng giá trị thay đổi - 86 - Sự thay đổi có giá trị tức thời không lưu vào tệp “http.conf” Để giám sát theo dõi (thời gian thực) thông tin truy nhập web, ta sử dụng công cụ hệ thống Manager chuyên nghiệp Trên hình 3.5 kết giám sát số lượng byte gửi máy chủ web Ở đây, ta sử dụng phần mềm nguồn mở NINO phiên 4.1.9 cho hệ điều hành Windows (http://sourceforge.net/projects/nino) [18] Hình 3.5 – Giám sát thời gian thực Cịn hình 3.6 kết giám sát thời gian thực đồng thời tham số số yêu cầu (RequestIn) từ máy trạm số byte mà máy chủ web gửi trả yêu cầu Việc giám sát sử dụng phần mềm thương mại “SNMPc Network Manager” phiên 7.0 (http://www.castlerock.com) [20] - 87 - Hình 3.6 – Giám sát thời gian thực đồng thời nhiều giá trị Trên số kết thực hệ thống Hệ thống chạy ổn định đáp ứng yêu cầu tác tử quản lý mạng theo chuẩn SNMP Tuy nhiên, hệ thống cịn có hạn chế vấn đề bảo mật hệ thống uỷ quyền (proxy) chưa đề cập phát triển Tóm lại, nội dung chương thể kết nghiên cứu lý thuyết hai chương trước để ứng dụng vào việc thiết kế xây dựng hệ tác tử quản trị tích hợp cho máy chủ web Apache Tuy nhiên, chương mang tính ứng dụng nên ngồi kiến thức từ hai chương trước, yêu cầu ta cần phải nắm công cụ để triển khai ứng dụng thử nghiệm kết đạt Mặc dù ứng dụng hạn chế định, song thể yêu cầu tác tử quản trị dựa giao thức quản lý mạng SNMP - 88 - KẾT LUẬN Thực tiễn cho thấy, ứng dụng mạng ngày phát triển, đặc biệt ứng dụng lĩnh vực thương mại, văn hố, giải trí, Việc phát triển loại ứng dụng này, việc đảm bảo chất lượng địch vụ hạ tầng mạng, địi hỏi cần phải có việc giám sát đảm bảo chất lượng dịch vụ nội ứng dụng Giải pháp tích hợp hệ tác tử quản trị mạng giải pháp hiệu cho vấn đề Giải pháp không mặt kỹ thuật, song lại quan tâm phát triển nhà phát triển ứng dụng Luận văn thực với mục đích nghiên cứu đưa phương pháp xây dựng hệ tác tử quản trị mạng nói chung Ứng dụng phương pháp này, luận văn thực xây dựng hệ tác tử cụ thể tích hợp vào máy chủ web Apache Mặc dù hệ tác tử hạn chế định, song đáp ứng yêu cầu hệ tác tử quản trị dựa giao thức quản lý mạng SNMP Để xây dựng hệ tác tử quản trị mạng, ta cần nắm vững vấn đề sau: - Kiến trúc Manager/Agent - Tổ chức thông tin quản lý MIB - Cách thức biểu diễn thông tin quản lý SMI ngơn ngữ ASN.1 - Cách thức mã hố thơng tin quản lý quy tắc mã hố BER - Đặc biệt giao thức quản lý mạng SNMP Ngồi ra, ta cần có kiến thức khác hệ thống mà ta dự định tích hợp hệ tác tử, công cụ phát triển công cụ thử nghiệm, đánh giá hệ thống hoàn thành Với kiến thức đạt được, ta áp dụng phương pháp để xây dựng hệ tác tử quản trị mạng tích hợp cho ứng dụng mạng khác * Định hƣớng nghiên cứu phát triển Một hướng phát triển tiếp mà tác giả dự kiến thời gian tới xây dựng hệ tác tử tích hợp vào hệ thống tường lửa (Firewall) Đây - 89 - hệ thống triển khai nhiều quan Bộ Công an Công an tỉnh/thành nước Hiện tại, hệ thống Firewall chưa tích hợp hệ tác tử quản trị mạng nên trung tâm quản lý mạng khơng có cách để giám sát hoạt động dịch vụ mạng qua Đây số nguyên nhân làm cho việc hoạch định kế hoạch nâng cấp phần mềm phát triển mạng gặp khó khăn Chính vậy, việc tích hợp tác tử quản trị mạng cần thiết Một hướng phát triển tích hợp hệ tác tử quản trị mạng cho hệ thống phát cảnh báo xâm nhập IDS (Intrusion Detection System), hệ thống mạng riêng ảo (VPN – Virutal Private Network) Đây hai hệ thống nghiên cứu, phát triển thời gian tới - 90 - TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt [1] PGS.TS Vũ Duy Lợi (2005), Bài giảng “Một số vấn đề nâng cao công nghệ mạng máy tính” [2] PGS.TS Vũ Duy Lợi (2002), Mạng thơng tin máy tính, NXB Thế giới Tài liệu tiếng Anh [3] An Architecture for Describing SNMP Management Frameworks, RFC 2571 [4] Apache server survival guide (1996), Maniel Alberto Recard, Sams.Net [5] Cisco@ Internetworking and Troubleshooting (2000), McGraw-Hill Companies, Inc [6] Definitions of Managed Objects for WWW Services, RFC 2594 [7] Essential SNMP (2001), Douglas Mauro and Kevin Schmidt ,O’Reilly [8] Fundamentals of Network Management Instructor’s Guide (1996), Novell inc [9] Internetworking Technology Overview (1999), Second Edition, Cisco inc [10] Management Information Base (MIB-II), RFC 1213 [11] Managing Internetworks with SNMP, Mark A Miller, IDG Books Worldwide, Inc [12] SNMP – Simple Network (yoramco@radmail.rad.co.il) Management Protocol, Yoram Cohen [13] Structure of Management Information, SMIv1 RFC 1155, SMIv2 RFC 2578 [14] Transport Mappings for Version of the SNMPv2, RCF 1906 Phần mềm [15] Apache-1.3.33 (http://www.apache.org) (Open source) [16] MySNMP-1.0 (http://www.codeproject.com) (Open source) [17] Net-SNMP-5.1.3.1 (http://sourceforge.net/projects/net-snmp) (Open source) [18] NINO-4.1.9 (http://sourceforge.net/projects/nino) (Open source) [19] SMASH-1.0, Harrie Hazewinkel (Open source) [20] SNMPc Network Manager 7.0 (http://www.castlerock.com) (Trial 30 days) ... trường quản lý mạng Hình 1. 8 – Cây thơng tin quản lý Hình 1. 9 – Kiến trúc mơ hình quản lý OSI Hình 1. 10 – Các phạm vi chức quản lý mạng OSI Hình 1. 11 – Quy trình thực quản lý hiệu suất Hình 1. 16... vấn đề trên, luận văn thực nhằm đưa phương pháp nghiên cứu xây dựng hệ tác tử quản trị mạng máy tính Intranet/Internet Mục đích cụ thể là: Về lý thuyết: Nghiên cứu hệ thống chuẩn quản lý mạng OSI,... có trạng thái quản lý chung cho hầu hết tài nguyên, điều chuẩn hoá X.7 31/ ISO 10 146-2 - 13 - * Chức thông báo kiện quản lý kiện thể chuẩn X.734/ISO 10 164-4 X.734/ISO 10 164-5 Các thông báo phân

Ngày đăng: 05/12/2020, 11:33

Từ khóa liên quan

Mục lục

  • Mục lục

  • DANH MỤC TỪ VIẾT TẮT

  • DANH MỤC HÌNH VẼ

  • MỞ ĐẦU

  • CHƯƠNG 1 – TỔNG QUAN VỀ QUẢN LÝ MẠNG

  • 1.1. SỰ CẦN THIẾT

  • 1.2. HỆ THỐNG QUẢN LÝ MẠNG OSI

  • 1.2.1. Tổng quan về hệ thống quản lý mạng

  • 1.2.2. Các mô hình quản lý mạng OSI

  • 1.2.3. Các chức năng quản lý mạng OSI

  • 1.3. CÁC GIAO THỨC CƠ SỞ QUẢN LÝ MẠNG OSI

  • 1.3.1. Giao thức CMOT

  • 1.3.2. Giao thức SNMP

  • CHƯƠNG 2 - HỆ QUẢN LÝ MẠNG DỰA TRÊN SNMP

  • 2.1. KIẾN TRÚC HỆ THỐNG

  • 2.1.1. Tổng quan

  • 2.1.2. Kiến trúc Manager và Agent

  • 2.1.3. Giao thức SNMP

  • 2.2. CƠ SỞ DỮ LIỆU THÔNG TIN QUẢN LÝ

  • 2.2.1. Tổ chức thông tin quản lý

Tài liệu cùng người dùng

Tài liệu liên quan