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

đồ án kỹ thuật điện điện tử Thiết kế mạng Topology theo thuật toán MenTor.DOC

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 (129.78 KB, 12 trang )

Bài tập : Thiết kế mạng topology Giáo viên hướng dẫn : NGUYỄN XUÂN DŨNG
MỤC LỤC
Yêu cầu đề tài 2
Giới thiệu đề tài 3
I.Lý thuyết 6
II. Thuật toán Kruskal 8
III. Thuật toán Mentor 10
IV. Thiết kế chương trình 13
YÊU CẦU CỦA BÀI TẬP
Thiết kế mạng Topology theo thuật toán MenTor
Viết một phần mềm tạo topology mạng viễn thông theo thuật toán Mentor .
INPUT :
nn : 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 .
Req : Ma trận [ n x n ] 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
Nhóm SV thực hiện : LÊ TRƯỜNG GIANG- NGUYỄN NGỌC THUỶ
LỚP ĐT 10-K46
1
1
Bài tập : Thiết kế mạng topology Giáo viên hướng dẫn : NGUYỄN XUÂN DŨNG
Cmax[ n x 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ạ .
Giới Thiệu


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ế việc hình thành các phương tiện cần thiết
Nhóm SV thực hiện : LÊ TRƯỜNG GIANG- NGUYỄN NGỌC THUỶ
LỚP ĐT 10-K46
2
2
Bài tập : Thiết kế mạng topology Giáo viên hướng dẫn : NGUYỄN XUÂN DŨNG
cho viễn thông điện tử đã trở nên phức tạp hơn và có khuynh hướng kỹ thuật
cao nhằm đáp ứng nhu cầu đang tăng về các dịch vụ có chất lượng cao 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
một vai trò rất 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 hoá cao trong tương
lai .
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 .
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ớ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 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
) ,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
Nhóm SV thực hiện : LÊ TRƯỜNG GIANG- NGUYỄN NGỌC THUỶ
LỚP ĐT 10-K46
3
3
Bài tập : Thiết kế mạng topology Giáo viên hướng dẫn : NGUYỄN XUÂN DŨNG
+ 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ử mạng. MENTOR-
Mesh Network Topology Optimization Routing là một thuật toán rất thích
hợp cho việc cá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ỳ một 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 cho
nhiều loại mạng, đặc biệt là mạng ATM.
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ó cũng giúp chúng ta
nắm được quá trình xây dựng Topology cho mạng.
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 Nguyễn Văn Thắng cũng như nỗ lực của bản
thân mà chúng em đã hoàn thành được bài tập 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 này nói riêng và môn học này nói chung .
Em xin chân thành cảm ơn sự giúp đỡ của thầy Nguyễn Văn Thắng
Nhóm SV thực hiện : LÊ TRƯỜNG GIANG- NGUYỄN NGỌC THUỶ
LỚP ĐT 10-K46
4
4
Bài tập : Thiết kế mạng topology Giáo viên hướng dẫn : NGUYỄN XUÂN DŨNG
I.Lý Thuyết
I. 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.
Nhóm SV thực hiện : LÊ TRƯỜNG GIANG- NGUYỄN NGỌC THUỶ
LỚP ĐT 10-K46
5
5
Bài tập : Thiết kế mạng topology Giáo viên hướng dẫn : NGUYỄN XUÂN DŨNG
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ị là 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 C
MAX
[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 C
MAX
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à
N 1
j ij j
j=0
W = C .W


Nhóm SV thực hiện : LÊ TRƯỜNG GIANG- NGUYỄN NGỌC THUỶ
LỚP ĐT 10-K46

6
6
Bài tập : Thiết kế mạng topology Giáo viên hướng dẫn : NGUYỄN XUÂN DŨNG
II.Thuật toán Kruskal.
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 N
0
. ( Nút Backbone ).
− Tập các nút Access { N
1
,N
2
, ,N
n
}
− Trọng số các nút w
i
− 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 T
1
, T
2
, T
k
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 N
0
− 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. Các bước tiến hành thuật toán.
Thuật toán gồm 4 bước :
Nhóm SV thực hiện : LÊ TRƯỜNG GIANG- NGUYỄN NGỌC THUỶ
LỚP ĐT 10-K46
7
7
Bài tập : Thiết kế mạng topology Giáo viên hướng dẫn : NGUYỄN XUÂN DŨNG
• 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. Thuật toán MENTOR.
Nhóm SV thực hiện : LÊ TRƯỜNG GIANG- NGUYỄN NGỌC THUỶ
LỚP ĐT 10-K46
8
8
Bài tập : Thiết kế mạng topology Giáo viên hướng dẫn : NGUYỄN XUÂN DŨNG

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.
1. Bước 1:Tìm tâm C của mạng.
Ta tính
iji i
j
M C W=

. Nút C là tâm của mạng nếu có giá trị M
C
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é ( C
ij
nhỏ ) và có khả
năng xử lý thêm nhiều lưu lượng ( W
j
nhỏ )
2.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
j
≥ 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ị.
( )

jc j
j c C
C W
F =F . 1 P
D W
+ −
Với :
• C
jc
: 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 )
• P
C
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ó F
j 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.
Nhóm SV thực hiện : LÊ TRƯỜNG GIANG- NGUYỄN NGỌC THUỶ
LỚP ĐT 10-K46
9
9
Bài tập : Thiết kế mạng topology Giáo viên hướng dẫn : NGUYỄN XUÂN DŨNG
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 L
j
= d
ij
+ αL
i
( i là các nút đã nằm trong
tập L, L
i
là chi phí từ nút i đến nút tâm , d
ij
là chi phí từ i đến j )
− Chọn các nút j mà L
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 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à : γ.C
MAX ij
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.
Giao diện chính của 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++ 6.0
Nhóm SV thực hiện : LÊ TRƯỜNG GIANG- NGUYỄN NGỌC THUỶ
LỚP ĐT 10-K46
10
10
Bài tập : Thiết kế mạng topology Giáo viên hướng dẫn : NGUYỄN XUÂN DŨNG
Với 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.
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.
Để đơn giản khi thực hiện thuật toán Kruskal ta coi trọng số các nút đều
bằng 1 và giá trị giới hạn là W
K
được nhập bởi người sử dụng.
Sau đó ta có thể thiết lập các Direct link và hiển thị ra màn hình bằng
cách đánh dấu vào ô hiển thị trong phần Direct Link.
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 tím ).
Nhóm SV thực hiện : LÊ TRƯỜNG GIANG- NGUYỄN NGỌC THUỶ

LỚP ĐT 10-K46
11
11
Bài tập : Thiết kế mạng topology Giáo viên hướng dẫn : NGUYỄN XUÂN DŨNG
Nhóm SV thực hiện : LÊ TRƯỜNG GIANG- NGUYỄN NGỌC THUỶ
LỚP ĐT 10-K46
12
12

×