Kiến trúc Manager và Agent

Một phần của tài liệu 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 (Trang 35)

Như trên đã trình bày, kiến trúc hệ thống quản lý mạng cơ bản là kiến trúc Manager/Agent. Kiến trúc Manager/Agent gồm bốn thành phần chính:

- Một hệ thống quản lý (Management System) - Một hệ thống được quản lý (Managed System)

- Một cơ sở dữ liệu thông tin quản lý (Management Database) - Giao thức mạng

Kiến trúc này được thể hiện như hình 2.1.

* Hệ thống quản lý có nhiệm vụ cung cấp giao diện giữa người quản trị mạng và các thiết bị được quản lý. Nó cũng cung cấp các tiến trình quản lý mạng. Tiến trình quản lý thực hiện các công việc như đo lường lưu thông trên các phần mạng LAN hoặc ghi các tốc độ truyền và địa chỉ vật lý của giao tiếp mạng trên bộ định tuyến LAN. Hệ thống quản lý cũng cung cấp một vài loại kết xuất báo cáo để trình diễn dữ liệu quản lý như dạng đồ hoạ hay các trạng thái tĩnh,…

Một hệ thống quản lý có thể có một vài trạm quản lý mạng, đây chính là Manager. Manager thường là một máy chủ chạy các phần mềm hệ thống để có thể thực hiện các chức năng quản lý các tác vụ cho một mạng. Thông thường Manager được đặt trên các máy có cấu hình tốt để xử lý thông tin và

hiển thị các thông tin thời gian thực về hệ thống mạng mà nó quản lý. Thành phần này có nhiệm vụ cơ bản là liên tục thực hiện truy vấn (poll), các sự kiện bẫy (trap) từ tác tử quản lý (Agent), xử lý các thông tin đó và hiển thị kết quả tới người dùng. Manager có thể được hiểu như thành phần trung gian mà qua đó người quản trị mạng có thể thực hiện các chức năng quản lý mạng. Hiện nay, giao diện người dùng hầu hết là dạng đồ hoạ GUI (GUI – Graphic User Interface) hoặc Web. Thông thường một Manager có các chức năng sau:

- Cài đặt một giao thức quản lý mạng (ở đây là giao thức SNMP). - Làm chức năng của một trung tâm giám sát và quản lý mạng.

- Thực hiện các chức năng: yêu cầu các Agent cung cấp thông tin quản lý, nhận trả lời từ Agent, thiết lập các thông số trong Agent, nhận các sự kiện trap từ Agent.

* Hệ thống được quản lý gồm tiến trình tác tử quản lý (Agent) và các đối tượng được quản lý. Tiến trình Agent thực hiện các thao tác quản lý mạng như thiết lập các tham số cấu hình, các trạng thái của đối tượng quản lý… Các đối tượng quản lý bao gồm các máy trạm làm việc, máy chủ, hub, switch, máy in, hoặc cũng có thể là phần mềm… Các đối tượng này có các thuộc tính có thể được định nghĩa tĩnh (như tốc độ giao diện mạng), động (như bảng định tuyến), hoặc các thông tin đo lường (như số lượng gói tin truyền lỗi).

Agent thực chất là các môđun chương trình thực hiện các chức năng quản lý mạng trên những thực thể được quản lý. Các Agent này truy cập đến các thực thể được quản lý trong phạm vi nó phụ trách để lấy các thông tin cần thiết, sau đó tập hợp lại và gửi tới Manager theo yêu cầu thông qua giao thức quản lý mạng đơn giản SNMP. Ngày nay, Agent đã được phát triển và tích hợp vào hầu hết các thiết bị phần cứng như các Switch, Router, UPS…, hệ điều hành như Unix, Window 2000 Server,… Thông thường Agent cần có các tính năng sau:

- Cài đặt giao thức (ở đây là giao thức SNMP)

- Lưu trữ dữ liệu thông tin quản lý trong cơ sở thông tin quản lý và tìm kiếm các thông tin này khi cần thiết.

- Có khả năng thông báo các sự kiện theo những điều kiện được xác lập trước đến Manager.

- Có thể thực hiện quản lý đối với các thực thể không tuân theo chuẩn giao thức SNMP (thực thể “ngoại lai”) với cơ chế uỷ quyền (Proxy). * Cơ sở dữ liệu thông tin quản lý mạng còn được gọi là Management Information Base – MIB. MIB được kết nối với cả Manager và Agent. Để định nghĩa cấu trúc dữ liệu trong MIB, người ta sử dụng cách tổ chức thông tin logic gọi là kiến trúc thông tin quản lý SMI (SMI – Structure of Management Information). SMI được tổ chức thành một cây cấu trúc, bắt đầu từ gốc (root) với các nhánh là các đối tượng được quản lý tổ chức như các mục logic. MIB thể hiện các đối tượng quản lý như các lá của nhánh.

* Giao thức quản lý cung cấp cách thức cho Manager, các đối tượng quản lý và các Agent có thể liên lạc truyền thông được với nhau. Để thiết lập quá trình kết nối, giao thức sẽ định nghĩa các thông điệp. Các thông điệp này có thể hiểu như các lệnh, các trả lời và các thông báo. Manager dùng các thông điệp này để yêu cầu các thông tin quản lý và Agent dùng chúng để trả lời. Giao thức phổ biến nhất hiện này là giao thức quản lý mạng đơn giản SNMP.

Trong kiến trúc quản lý mạng dựa trên SNMP thì mô hình tổng quan sẽ có dạng như Hình 2.2. Trong mô hình này, NMS (Network Management

Hình 2.2 - Tổng quan mô hình quản lý mạng dựa trên SNMP

MIB NMS Network Agent MIB MIB NMS Agent Agent

Station) là trạm quản lý, đây chính là Manager, và được gọi là SNMP Manager. Còn tác tử quản lý sẽ là SNMP Agent.

Để hình dung rõ mối quan hệ giữa Manager và Agent dựa trên SNMP, ta xem xét mô hình trong hình 2.3.

SNMP Agent cung cấp các thông tin quản lý bằng cách lưu dấu vết hàng loạt các hoạt động của thực thể nó quản lý. Ví dụ, một Agent trên Router có thể lưu dấu các trạng thái của mỗi giao tiếp mạng: trạng thái kích hoạt (Up), trạng thái không kích hoạt (Down)... Khi đó Manager có thể truy vấn để lấy trạng thái về các giao tiếp mạng trên Router này, và nếu có một giao tiếp mạng nào ở trạng thái Down thì nó có thể có các hành động phù hợp để xử lý, như kích hoạt hoặc báo lỗi.

Trong trường hợp, SNMP Agent phát hiện một lỗi bất thường xẩy ra, nó sẽ phát sinh một thông điệp trap và gửi đến SNMP Manager. Sau khi các sự cố được khắc phục, thì SNMP Agent sẽ gửi thông điệp trap mang nội dung là “All clear”, điều này rất hữu ích để chỉ ra rằng các trạng thái lỗi đó đã được khắc phục. Như mô hình quan hệ trên, ta có thể thấy các thông điệp trên (poll

trap) có thể xẩy ra đồng thời. Không có một hạn chế nào khi mà SNMP Manager truy vấn hoặc SNMP Agent gửi thông điệp trap.

Trong trường hợp có các trạm cần quản lý nhưng lại không tuân theo các chuẩn mà giao thức SNMP cung cấp, khi đó SNMP Agent có thể thiết lập để hoạt động như một dạng uỷ quyền (Proxy). Mô hình được thể hiện trên hình 2.4.

Hình 2.3 - Mối quan hệ giữa Manager và Agent

SNMP Manager

(NMS)

SNMP Agent

Trap gửi tới NMS Truy vấn đến Agent Trả lời truy vấn từ Agent

Trong kiến trúc uỷ quyền này, trạm quản lý liên lạc với Agent uỷ quyền và chỉ ra định danh của thực thể không thuộc chuẩn hỗ trợ. Tiếp đó Agent uỷ quyền chuyển các tương tác mà nó nhận được từ trạm quản lý đến thực thể đó. Trong trường hợp này, cơ sở thông tin quản lý (MIB) trong Agent uỷ quyền tương ứng với thông tin quản lý hiện tại của thực thể “ngoại lai”. (adsbygoogle = window.adsbygoogle || []).push({});

Hình 2.4 - Kiến trúc Manager/Agent với cơ chế uỷ quyền

Hình 2.5 – Tổng thể mô hình Manager/Agent MIB NMS Proxy SNMP Agent Network None SNMP Manageable node (managed by proxy) Các thông điệp riêng Các thông điệp SNMP

Trong môi trường mạng thực tiễn kiến trúc quản lý mạng Manager/Agent dựa trên SNMP tổng thể có thể được thể hiện như hình 2.5. Trong mô hình thực tiễn này, ta có các trạm quản lý SNMP Manager, trạm SNMP Agent và Proxy Agent. Ngoài ra, trong hình cũng thể hiện các cơ sở dữ liệu quản lý MIB cho Agent của máy trạm thông thường và Agent cho các thiết bị mạng như Router.

Hiện nay có rất nhiều hãng phát triển các phần mềm quản lý mạng nổi tiếng như Hewlett-Packard OpenView, Novell’s ManageWise, Sun Microsystems’ Solstice Domain Manager, Tivoli System’s TME 10 NetView, Castle Rock SNMPc,… Những sản phẩm này đều là những sản phẩm thương mại và có giá thành rất cao. Tuy nhiên, hiện nay cũng có những sản phẩm mã nguồn mở cho phép ta phát triển hoặc sử dụng hoàn toàn miễn phí như: NINO, GxSNMP, OpenNMS,…

2.1.3. Giao thức SNMP

SNMP sử dụng giao thức UDP để truyền thông tin giữa các Manager và Agent. UDP là giao thức không hướng kết nối, tức là sẽ không có kết nối nào được thiết lập giữa Manager và Agent khi chúng trao đổi dữ liệu cho nhau. Vấn đề này đã từng được coi là dấu hiệu không tin cậy khi truyền tin với giao thức UDP. Tuy nhiên, với các ứng dụng của SNMP điều này đã hoàn toàn được khắc phục. Khi Manager gửi một gói tin UDP đến Agent, nó sẽ đợi trả lời (thời gian đợi này tuỳ thuộc vào việc cấu hình). Nếu hết thời gian mà Manager vẫn không nhận được trả lời thì nó sẽ gửi lại gói tin đó (số lần gửi lại này cũng tuỳ thuộc vào việc cấu hình). Trường hợp Agent lỗi, sau khi khôi phục nó sẽ tự động gửi lại tín hiệu trap thông báo cho Manager. Tất nhiên cũng có thể có trường hợp xấu nhất là khi gói tin mà NMS gửi không thể đến được Agent và trap mà Agent gửi cũng không đến được NMS. Tuy nhiên, thực tiễn đã cho thấy là SNMP hoạt động hiệu quả và hầu như không ảnh hưởng đến hiệu suất của mạng.

Trong mô hình truyền thông TCP/IP, mô hình hoạt động lý thuyết của SNMP được thể hiện như hình sau:

Trong đó:

Bẫy (trap) gửi tới cổng 162 trên NMS

Trả lời yêu cầu gửi từ Agent đến cổng 161 của NMS Các yêu cầu gửi từ NMS đến Agent trên cổng 161

Khi NMS hoặc Agent muốn thực hiện một chức năng của SNMP thì nó sẽ thực hiện tuần tự như sau:

- Tầng ứng dụng: đây là tầng đầu tiên sẽ phải xác định cần phải làm gì, tức là tầng ứng dụng SNMP sẽ cho phép người dùng cuối thực hiện các dịch vụ mà nó cung cấp. Ví dụ như thao tác yêu cầu thông tin về trạng thái của một giao tiếp mạng trên một bộ định tuyến. - Tầng UDP: là tầng tiếp theo cho phép hai trạm làm việc có thể

truyền thông với nhau. Định dạng HEADER của gói tin UDP sẽ chứa số hiệu cổng dịch vụ đích mà gói tin sẽ được gửi đến đó.

- Tầng IP: truyền gói tin SNMP đến đích bằng việc gán địa chỉ IP đích.

- Tầng MAC (Medium Access Control): là tầng cuối cùng thực hiện truyền vật lý gói tin đến đích.

SNMP Application

UDP

IP

Network Access Protocol

SNMP Application

UDP

IP

Network Access Protocol

NMS Agent

Và quá trình nhận gói tin được thực hiện ngược lại, bắt đầu từ tầng MAC đến tầng ứng dụng. Sau đây ta sẽ xem xét chi tiết kỹ thuật truyền tin của SNMP dựa trên UDP. Trước hết là định dạng thông điệp SNMP thể hiện trên Hình 2.7a.

Định dạng thông điệp SNMP được chia thành hai phần cơ bản:

- Trường phiên bản SNMP và trường Community thể hiện các tên định danh (read-only, read-write, trap)

- Phần PDU chứa dữ liệu (Protocol Data Unit). Các trường của phần PDU này sẽ khác nhau tuỳ theo từng lệnh.

Thông điệp SNMP này sẽ được đóng gói thành gói tin UDP, rồi thành Frame trước khi truyền đi. Kích cỡ gói tin tối đa phụ thuộc vào kích cỡ của gói tin UDP, còn kích cỡ gói tin UDP tối thiểu chứa thông điệp SNMP sẽ phải là 484 octet (ở đây có thể hiểu là byte).

Hình 2.7b – Thông tin SNMP được bao gói trong Frame truyền (adsbygoogle = window.adsbygoogle || []).push({});

Theo chuẩn SNMP, Agent sẽ lắng nghe trên số hiệu cổng dịch vụ 161 UDP, số hiệu cổng này là do Agent đăng ký với hệ điều hành. Khi Manager khởi tạo việc truyền tin, nó sẽ được hệ điều hành cung cấp một số hiệu cổng dịch vụ động (thông thường trong khoảng 1024 ÷ 65535). Do đó, trả lời yêu cầu từ Agent sẽ được gửi tới số hiệu cổng động này trên Manager. Sau phiên giao dịch, số hiệu cổng động này sẽ được hệ điều hành giải phóng.

Trên Hình 2.8 thể hiện Manager gửi thông tin từ cổng 1961 đến cổng 161 trên Agent, và thông tin trả lời từ cổng 161 trên Agent trở lại cổng 1961 trên Manager.

Riêng tín hiệu trap do Agent phát sinh và gửi đến Manager, nên Manager phải đăng ký lắng nghe trên một số hiệu cổng cố định, theo chuẩn SNMP sẽ phải là cổng 162 UDP. Tức là Agent sẽ gửi tín hiệu trap từ cổng 161 UDP đến cổng 162 UDP trên Manager.

Như vậy, nguyên lý trao đổi thông tin của Manager và Agent dựa trên giao thức SNMP là khá đơn giản. Vì nó chỉ có ba sự trao đổi: một là lệnh yêu cầu từ Manager đến Agent; hai là trả lời yêu cầu của Manager từ Agent; và ba là bẫy phát sinh từ Agent. Hơn nữa, vì dựa trên giao thức không hướng kết nối UDP nên định dạnh thông điệp cũng như cách thức trao đổi gói tin hết sức đơn giản, do đó rất hiệu quả và hầu như không ảnh hưởng đến hiệu suất hoạt động chung của toàn mạng.

Hình 2.8 – Trao đổi thông tin giữa Manager và Agent UDP port 161

MIB

SNMP Manager SNMP Agent

Network

Gói tin SNMP được bao gói trong gói tin UDP UDP port 1961

Một phần của tài liệu 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 (Trang 35)