Tải bản đầy đủ (.doc) (14 trang)

Viết phần mềm thiết kế mạng onpology sử dụng thuật toán men tor

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (375.43 KB, 14 trang )

ĐẠI HỌC BÁCH KHOA HÀ NỘI
ĐIỆN

TỬ

-

VIỄN

BÀI TẬP LỚN
TỔ CHỨC VÀ QUY HOẠCH VIỄN THÔNG

Đề tài :

Viết phần mềm thiết kế mạng TOPOLOGY
sử dụng thuật toán MenTor

Giảng viên hướng dẫn : T.S Nguyễn Văn Thắng

Hà Nội 11 – 2010

1

THÔNG


MỤC LỤC

I.GIỚI THIỆU CHUNG.
2



Công nghệ viễn thông điện tử đã tiếp tục tiến bộ nhanh chóng kể từ khi
có phát minh hệ thống điện tín và điện thoại đến mức nó đã cách mạng hoá
các phương tiện thông tin truyền thông khoảng một thế kỷ trước đây . Ngày
nay hệ thống thông tin viễn thông điện tử được xem như các phương tiện
kinh tế nhất có được để trao đổi tin tức và số liệu. Ngoài ra, song song với sự
phát triển, tăng trưởng của kinh tế về việc hình thành các phương tiện cần
thiết cho viễn thông điện tử đang tăng về các dịch vụ có chất lượng và dịch
vụ viễn thông tiên tiến. Do đó, việc tổ chức một mạng viễn thông nhằm tạo
ra một mạng viễn thông có đủ khả năng đáp ứng các yêu cầu trên đóng vai
trò quan trọng. Đồng thời, tổ chức mạng lưới này phát triển trở thành một
phần cơ bản quan trọng của xã hội thông tin hóa cao trong tương lai.
Hệ thống mạng viễn thông là tập hợp các trang bị thiết bị kỹ thuật để
cung cấp dịch vụ viễn thông cho người sử dụng.

Các bộ phận cấu thành hệ thống mạng viễn thông
Nhìn từ quan điểm phần cứng, hệ thống viễn thông bao gồm các thiết bị:
+ Thiết bị đầu cuối thông tin: để đưa thông tin của người sử dụng vào mạng
và nhận thông tin của mạng cho người sử dụng.
+ Thiết bị chuyển mạch : để liên hệ giữa các đầu cuối theo yêu cầu
+ Thiết bị truyền dẫn : để liên kết nhóm a và nhóm b.
( a-b ) : đường dây thuê bao.
( b-b ) : đường trục ( trung kế ).
( a-b ) : mạng AN và mạng lõi có LE làm biên giới phân cách .

Các phần mềm ( Kỹ thuật mạng )
+ Cho biết các phần cứng liên hệ với nhau như thế ---> Topo mạng .
Với Topo mạng ta sẽ phân biệt được rõ về mạng AN và mạng lõi AN
(a-b), lõi (b-b).
+ Các giao thức mạng : Cung cấp dịch vụ viễn thông cho người sử dụng.

+ Giao thức để liên kết
+ Giao thức để trao đổi thông tin, giữa hai giao thức này có thể tách rời, có
thể kết hợp với nhau.
+ Quản lý và khai thác mạng
Về phần mềm thì việc tổ chức mạng viễn thông ngày nay đã trở thành
một phần quan trọng trong hệ thống viễn thông trên thế giới. Để xây dựng
mạng thì ta phải xây dựng được cấu hình của các phần tử trong mạng.
MENTOR Mesh Network Topology Optimization Routing là một thuật toán
rất thích hợp cho việc thiết kế mạng thông tin vì nó không phụ thuộc vào đặc
điểm của bất kỳ công nghệ hay kiến trúc mạng nào thay vào đó nó chỉ phụ
thuộc vào nguyên tắc thiết kế mạng. MENTOR có thể ứng dụng nhiều loại
mạng, đặc biệt là mạng ATM.
3


Chương trình MENTOR là một ứng dụng tin học trong việc thiết kế
Topology cho mạng bằng thuật toán cùng tên. Tất nhiên do còn nhiều hạn
chế nên chương trình vẫn mang tính chất mô phỏng, các giả thiết , điều kiện
chưa thể giống hoàn toàn như yêu cầu thực tế nhưng nó giúp chúng ta nắm
được quá trình xây dựng Topology cho mạng.

II.

YÊU CẦU CỦA BÀI TOÁN.
+Thiết kế mạng Topology theo thuật toán MenTor.
4


+Viết một phần mềm tạo topology mạng viễn thông theo thuật toán Mentor .
+ INPUT :

N(nxn)
: Số lượng nút trong mạng .
Cost
: Ma trận [ n x n ] chi phí kết nối giữa các nút .
W
: Ma trận lưu lượng [ n x n ] .
Pc ,W , R ,D
: các tham số xác định nút BACKBONE.
α
: Tham số xác định cây.
Cmax[ nx n]
: Giá trị tối đa dung lượng của liên kết giữa các nút (hiệu dụng
).
+Tìm cây kết nối các nút. α cho biết cây là dạng MST hay PST, MenTor. Tổng
chiều dài cây , chiều dài đường đi.
+Direct link : Tìm kết nối Direct link.
+Đường đi trên cây.
+Tất cả thể hiện trên màn hình đồ hoạ.
III. TỔNG QUAN VỀ THUẬT TOÁN MENTOR.
III.1 LÝ THUYẾT CHUNG.
Trong mạng viễn thông chúng ta có các nút mạng liên kết với nhau tạo thành hệ
thống mạng. Trong hệ thống mạng chúng ta có nhiều mạng truy nhập ( Access
Network ) và các mạng access liên hệ với nhau thông qua mạng đường trục ( Backbone
Network ). Vì vậy các nút mạng chia làm 2 loại, nút truy nhập (Access) và nút
Backbone. Trong mạng truy nhập (AN) thì chỉ có 1 nút Backbone và các nút Access
khác, các nút Access muốn kết nối với các nút ở mạng truy nhập khác phải thông qua nút
Backbone. Mạng Backbone là cầu nối để các mạng truy nhập kết nối với nhau, là một
mạng được thiết lập qua các nút Backbone.
Các chỉ tiêu, yêu cầu kĩ thuật và tính chất của hai mạng này khác nhau, chính vì vậy
bài toán đặt ra ở đây là thiết lập hệ thống mạng trên các nút mạng cho trước để đảm bảo

một số tiêu chuẩn, yêu cầu nhất định và tối ưu hoá về một số mặt là cần thiết.
Chương trình sẽ sử dụng thuật toán MENTOR để giải quyết bài toán này.
để thiết lập mạng Backbone ta dùng thuật toán Mentor. Ta có các thông số và giả thiết
sau.
+ Tổng số nút mạng trong toàn bộ hệ thống mạng kí hiệu là N và được đánh số
từ 0 ÷ ( N – 1).
+ Để biểu diễn sự liên hệ giữa các nút mạng với nhau ta có các ma trận sau :
+ Ma trận chi phí Cost[NxN]. Đây là ma trận 2 chiều đối xứng, chứa chi phí kết nối
giữa các nút. Hàng i và cột j chứa giá trị là chi phí đi từ nút i đến nút j.
5


+ Ma trận lưu lượ n g W[NxN]. Là ma trận 2 chiều đỗi xứng, chứa mức độ yêu cầu
liên lạc giữa các nút với nhau. Hàng i cột j chứa giá trị là yêu cầu từ nút i đến nút j.
+ Ma trận dung lượng tối đa CMAX[NxN]. Cũng là ma trận đối xứng 2 chiều. Chứa
giá trị ( hiệu dụng ) tối đa dung lượng của kênh liên kết giữa các nút.
+ Từ ma trận yêu cầu CMAX và ma trận chi phí Cost ta có thể xây dựng được ma trận
trọng số W của các nút. Là ma trận một chiều, và trọng số nút thứ i được tính theo công
thức là:

III.2 CÁC BƯỚC TIẾN HÀNH THUẬT TOÁN.
Thuật toán gồm 4 bước :

Bước 1. Xắp xếp tất cả các liên kết tăng dần theo chi phí, và lưu vào một danh
sách có thứ tự.


Bước 2. Kiểm tra xem nếu tất cả các nút đều đã được kết nối.
o Nếu đúng : Kết thúc thuật toán.
o Nếu sai : Thực hiện bước 3.



Bước 3. Chọn kết nối đầu tiên trong danh sách ( kết nối có chi phí nhỏ nhất còn
lại trong danh sách ).

Bước 4. Kiểm tra nếu liên kết thêm vào tạo thành chu trình hay liên kết vừa tạo
có làm cho tổng trọng số của các nút trên cây vượt quá mức giới hạn W hay không ?
o Nếu đúng : Xoá liên kết vừa tạo, quay lại bước 2.
o Nếu sai : Thêm liên kết vừa kiểm tra vào cây.

III.3 THUẬT TOÁN MENTOR.
+ Thuật toán dùng để thiết lập mạng các nút Backbone. Thuật toán gồm 4
6


bước chính :
Bước 1:Tìm tâm C của mạng.
Ta tính:

+ Nút C là tâm của mạng nếu có giá trị

tương ứng là nhỏ nhất trong

tất cả các nút.
+ Tâm của mạng là nút có chi phí đến các nút khác bé ( Cij nhỏ ) và có
khả năng xử lý thêm nhiều lưu lượng ( Wj nhỏ ).
Bước 2: Tìm các nút Backbone.
Cho các giá trị :
− Ngưỡng ( threshold ) W
− Bán kính R

+ Tìm các nút Backbone là các nút có trọng số

W.

+ Sau đó dùng nút Backbone vừa tìm ra quay vòng tròn tâm R. Các nút
trong vòng tròn mà không phải là Backbone sẽ là nút Access của nút
Backbone này.
+ Đối với các nút còn lại chưa thiết lập. Ta tính giá trị :
+(1-

)

Với :


: là chi phí từ nút j đến nút tâm của mạng.

• D là đường kính của mạng ( là chi phí lớn nhất giữa 2 nút ).


là tham số điều khiển mối quan hệ tương đối trong việc chọn nút. Backbone

theo khoảng cách hay theo trọng số, có giá trị từ 0 đến 1.
Chọn nút j có Fj MAX là nút backbone. Và quay bán kính R để chọn thêm các
nút Access cho nút backbone này.
Lặp lại bước vừa rồi cho đến khi tất cả các nút được chọn.
Bước 3 : Tìm cây Mentor
Khởi tạo :
− Tìm lại tâm C trong các nút Backbone theo cách như bước 1
− Gọi N là tập các nút đã nằm trên cây. Khởi tạo N = {}.

− Thêm nút gốc C vào N.
7


Thực hiện :
− Gán nhãn cho các nút còn lại
tập L,

( i là các nút đã nằm trong

là chi phí từ nút i đến nút tâm,

− Chọn các nút j mà

là chi phí từ i đến j )

nhỏ nhất thêm vào tập N, và thêm cạnh ( j, nút

liền trước ) vào cây.
− Lặp lại đến khi N chứa tất cả các nút Backbone.


Nếu = 1 thì đây là thuật toán Dijkistra tìm ra cây PST.



Nếu = 0 thì đây là thuật toán Prim tìm ra cây MST.

Bước 4 : Thêm Direct Link
Tìm tập các nút không lân cận nhau

Thêm Direct Link ( Link trực tiếp ) cho các cặp nút nếu lưu lượng bị quá tải.
Lưu lượng một liên kết bị quá tải khi tổng lưu lượng qua liên kết ( tổng các
giá trị Req của các link khác đi qua liên kết này ) lớn hơn băng thông hiệu dụng
của liên kết là :
Trong đó :

là hệ số sử dụng băng thông có liên kết ( thường lấy =

80% ).

IV. THIẾT KẾ CHƯƠNG TRÌNH.
Vì chương trình đòi hỏi nhiều thuật toán, và sử dụng nhiều cấu trúc dữ liệu phức tạp nên
ta lựa chọn ngôn ngữ lập trình mạnh là Visual C# 2008
A. Giao diện chính của chương trình.

8


B.Với các chức năng cơ bản :
1. Nhập vào số lượng nút (N). Và nhấn nút tạo mới chương trình sẽ sinh ngẫu
nhiên N nút được đánh số từ 0 đến N-1 và hiển thị lên màn hình.
Sau đó ta nhập các thông số đầu vào :
+ Pc : Hệ số lựa chọn nút backbone.
+ Alpha : Là hệ số α dùng trong thuật toán Mentor
+ W ( threshold ) là giá trị ngưỡng để chọn nút Backbone.
+ R : Bán kính của mạng truy nhập.
+ Gamma : Là hệ số sử dụng băng thông γ.

9



2. Sau khi nhập các thông số đầu vào ta nhấn nút Make Topology để chương trình
hiển thị các node.

10


3. Để thực hiện thuật toán Mentor thiết lập mạng giữa các nút Backbone ta nhấn
nút Run
11


4.Chương trình còn có chức năng tìm đường đi giữa 2 nút bất kì với nhau (đường đi được
hiển thị màu ).
12


Sau đó ta có thể thiết lập các Quá tả i và hiển thị ra màn hình bằng cách đánh dấu
vào ô hiển thị trong phần Quá tải .

5. Thông tin về chương trình
13


V.

KẾT LUẬN.
Trong quá trình viết chương trình tuy có rất nhiều khó khăn nhưng nhờ sự
hướng dẫn tận tình của Thầy cũng như nỗ lực của bản thân mà chúng em đã hoàn
thành bài tập lớn này, nhưng do thời gian cũng như trình độ sinh viên có hạn nên

không thể tránh khỏi một vài sai sót. Chúng em mong nhận được những lời
khuyên của Thầy để chúng em có thể hiểu thêm về bài tập lớn nói riêng và môn
học nói chung.
Em xin chân thành cảm ơn sự giúp đỡ của Thầy.

14



×