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

Báo cáo bài tập lớn: Viết một phần mềm tạo topology mạng viễn thông theo thuật toán Mentor

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 (1.02 MB, 14 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - VIỄN THÔNG
------*   *-----

BÁO CÁO BTL:

TỔ CHỨC VÀ QUY HOẠCH MẠNG
VIỄN THÔNG
Đề tài: Viết một phần mềm tạo topology mạng viễn thông
theo thuật toán Mentor
GV hướng dẫn:

TS. NGUYỄN XUÂN DŨNG

Sinh viên thực hiện:
Trần Khánh Hòa

20091116

Lớp : ĐT12 - K54

Phạm Thanh Tùng

20093151

Lớp : ĐT12 - K54

Nguyễn Đức Tài

20092298


Lớp : ĐT12 - K54

Trần Tiến

20093639

Lớp : ĐT2 - K54

Hà Nội, 11/2013


MỤC LỤC

MỤC LỤC .............................................................................................................. 3
NỘI DUNG BÀI TẬP ............................................................................................. 4
I.

GIỚI THIỆU ................................................................................................... 5

II.

CƠ SỞ LÝ THUYẾT ...................................................................................... 6
1.

Lý thuyết chung ........................................................................................ 6

2.

Thuật toán Kruskal. ................................................................................. 8
2.1 Các tham số và yêu cầu của thuật toán. ............................................... 8

2.2 Các bước tiến hành thuật toán. ............................................................ 8

3.
III.

Thuật toán MENTOR. ............................................................................. 9
THIẾT KẾ PHẦN MỀM ............................................................................. 12

1.

Tổng quan chức năng chính ................................................................... 12

2.

Một số hình ảnh chương trình ............................................................... 13

IV.

KẾT LUẬN ................................................................................................. 15

3


NỘI DUNG BÀI TẬP
Viết một phần mềm tạo topology mạng viễn thông theo thuật toán Mentor.
Đầu vào :
nn

: Số lượng nút trong mạng .


Cost

: Ma trận [ n xn ] chi phí kết nối giữa các nút .

Req

: Ma trận [ n xn ] yêu cầu

Pc ,W , R ,D : các tham số xác định nút BACKBONE
α

: Tham số xác định cây

γ

: Hệ số sử dụng băng thông

CMAX[n xn] : Giá trị tối đa dung lượng của liên kết giữa các nút (hiệu
dụng)
Chức năng của phần mềm:






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ạ .

4


I.

GIỚI THIỆU
Ngày nay, các hệ thống thông tin viễn thông được xem như phương tiện hiệu

quả nhất để trao đổi thông tin và truyền số liệu. Các mạng viễn thông điện tử đã trở
nên ngày càng phức tạp hơn và có khuynh hướng kỹ thuật cao nhằm đáp ứng nhu
cầu về gia tăng các dịch vụ viễn thông tiên tiến, có chất lượng cao. 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 một vai trò rất quan trọng.
Muốn xây dựng một mạng viễn thông thì ta phải thiết lập được mô hình phân
bố (Topology) của các phần tử mạng. Có nhiều thuật toán được sử dụng để thiết kế
Topology 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ế các mạng thông tin vì nó không phụ
thuộc vào đặc điểm của bất kỳ một công nghệ hay kiến trúc mạng nào mà chỉ phụ
thuộc vào nguyên tắc thiết kế mạng. MENTOR có thể ứng dụng cho nhiều loại
mạng, điển hình là mạng ATM.
Biết được tầm quan trọng của việc thiết kế Topology mạng, nhóm đã chọn và
hoàn thành đề tài “Viết một phần mềm tạo topology mạng viễn thông theo thuật
toán Mentor”. Tuy nhiên, do thời gian cũng như kiến thức còn hạn chế nên không
thể tránh khỏi một vài sai sót. Chúng em xin gửi lời cảm ơn tới thầy giáo Nguyễn
Xuân Dũng đã tận tình hướng dẫn giúp chúng em hoàn thành bài tập và mong nhận
được những lời góp ý của Thầy để đề tài của chúng em có thể hoàn thiện hơn.

5



II. CƠ SỞ LÝ THUYẾT
1. Lý thuyết chung
Hệ thống mạng viễn thông là tập hợp các trang thiết bị kỹ thuật để cung cấp
dịch vụ viễn thông cho người sử dụ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 : để đưa thông tin của người sử dụng vào mạng và nhận
thông tin từ 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ới nhóm b và nhóm b với nhóm b
(a - b) : Đường dây thuê bao
(b - b) : Đường trục (trung kế)
(a - b) : Mạng phụ trợ 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ế nào  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),
mạng 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
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
6


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 Access chúng ta sử dụng thuật toán Kruskal, và để 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ị chi phí đi từ nút i
đến nút j.
 Ma trận yêu cầu Req[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 1

nút thứ i được tính theo công thức : Wj   Cij .Wj
j 0

7



2. Thuật toán Kruskal.
2.1 Các tham số và yêu cầu của thuật toán.
Thuật toán dùng để thiết lập mạng truy nhập, tạo ra cây CMST (Capacitied
Minimum Spanning Tree), có đặc điểm giữa 2 nút luôn có đường đi, có dung lượng
giới hạn và có chiều dài nhỏ nhất. Đầu vào (Input) gồm :
− Cho trước nút trung tâm N0. (Nút Backbone).
− Tập các nút Access { N1,N2, … ,Nn}
− Trọng số các nút wi
− Giới hạn dung lượng là W
− Ma trận chi phí Cost
Yêu cầu đầu ra (Output): Tìm tập các cây T1, T2,... Tk sao cho
− Mỗi nút thuộc một cây duy nhất
− Tất cả các cây đều chứa nút gốc N0
− Tổng trọng lượng các nút trên cây không vuợt quá W.
− Tổng độ dài tất cả các cạnh là nhỏ nhất.
2.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: Sắ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).
8


 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.
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 bước chính:
 Bước 1: Tìm tâm C của mạng.
Ta tính M i   CijWi Nút C là tâm của mạng nếu có giá trị MC tương ứng là
j

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é (Cijnhỏ) và có khả năng
xử lý thêm nhiều lưu lượng (Wjnhỏ)
 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ố Wj ≥ 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 được thiết lập. Ta tính giá trị.
Fj = Fc 

C jc
D

+ 1- Pc 

Wj

W

Với :

9


• Cjc : 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)
• PC 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ó FjMAX 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.
Thực hiện:
− Gán nhãn cho các nút còn lại Lj= dij + αLi
(i là các nút đã nằm trong tập L, Lilà chi phí từ nút i đến nút tâm, dij là
chi phí từ i đến j)
− Chọn các nút j mà Lj 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 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.

10


Thêm Direct Link (Link trực tiếp) cho các cặp nútnế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à : γ.CMAX ij
Trong đó γ là hệ số sử dụng băng thông có liên kết. (Thường lấy γ = 80%)

11


III. THIẾT KẾ PHẦN MỀM
1. Tổng quan chức năng chính
Chương trình được viết bằng ngôn ngữ C#, có tham khảo mã nguồn của các
bài tập tương tự viết bằng ngôn ngữ khác.
Các chức năng cơ bản:


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. Giá

giữa các node chính là khoảng cách vật lý giữa các node đó. Các ma trận lưu lương
và ma trận Cmax sẽ được sinh ngẫu nhiên trong khoảng (0,15).
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 γ.

Sau khi nhập các thông số đầu vào ta nhấn nút Thiết lập mạng để chương
trình thực hiện thuật toán MENTOR thiết lập mạng giữa các nút Backbone và thực
hiện thuật toán Kruskal để thiết lập mạng truy nhập.
Ta có thể kéo thả các thông số alpha, Pc, R/D và W để thay đổi các thông số
cho mạng. Khi kéo thả, mạng sẽ thay đổi theo các thông số mới ngay lập tức để ta
có cái nhìn tổng quan hơn.
Chức năng Find cho phép ta tìm kiếm đường đi giữa 2 nút bất kì, đồng thời

tính tổng chiều dài đường đi đó cũng như hiển thị trực quan trên màn hình.
Phần mềm còn có các checkbox để giúp ta hiền thị mạng một cách trực quan
hơn bằng cách hiền thị các thông số giữa các node với nhau.
Ta có thể xem và thay đổi các thông số của ma trận Req , CMAX và W bằng
cách vào MENU , chọn phần File -> Edit

12


2. Một số hình ảnh chương trình
2.1 Giao diện chính

2.2 Giao diện Edit

13


2.3 Hiển thị ma trận giá

2.4 Thông tin nhóm

14


IV. KẾT LUẬN
Quá trình xây dựng một mạng viễn thông là một công việc khó khăn và đòi
hỏi rất nhiều thời gian, công sức. Bài tập lớn này dù mang tính lý thuyết nhiều
nhưng đã giúp sinh viên hiểu sâu hơn về môn học. Việc thiết kế Topology mạng
thông qua bài tập này giúp chúng em phần nào nắm được kiến thức về quy trình cơ
bản và các thuật toán để triển khai cho việc thiết kế mạng.


15



×