báo cáo Thiết kế mạng topology
Trang 1MỤC LỤC
1.Yêu cầu đề tài………2
2.Giới thiệu đề tài ………3
I Lý thuyết ……… 5
II.Thuật toán Krunkal……… 6
III.Thuật toán Mentor……… 7
IV Thiết kế chương trình………9
V Giới thiệu về nhóm và hướng dẫn sử phần mền……… 11
Trang 2YÊ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
Cmax[n x n]: Giá trị tối đa dung lượng của lien 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 ở dạng MST hay PST, Mentor
Tổng chiều dài cây, chiều dài đường đi
Directlink: 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 hiển thị
Trang 3GIỚI THIỆU ĐỀ TÀI
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 hóa 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 ti 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 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à các 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 nhu cầu trên đóng một vai trò hết sức 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 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ị chuyển mạch: Để liên kết nhóm a với nhóm b và nhóm b với nhau (a - b): đường dây thuê bao
(b -b): đường trục (trung kế) (a -b) Mạng AN và mạng lõi 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
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
Trang 4Chươ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 Tuy còn nhiều hạn chế, nhưng phần mềm đã thực hiện được những chức năng cơ bản của một phần mô phỏng mạng.Thông qua bài tập này, nhóm chúng em xin gửi lời cảm ơn đến thày Nguyễn Xuân Dũng, người đã hướng dẫn chúng em làm đề tài này
Trang 5I Lý thuyết
Trong mạng viễn thông chúng ta có các nút mạng lien kết với nhau tạo thành một 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 lien hệ với nhau thông qua mạng đường trục (Bạckbone 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ó một nút Backbone và các nút Accees khác, các nút Access muốn kết nối với các nút ở mạng truy nhập thì phải thông qua nút Backbone và các nút access khác, các nút muốn kết nối với các nút access ở mạng truy nhập khác phải thông qua các 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 nút Backbone
Các chỉ tiêu, yêu cầu kĩ thuật và tính chất của hai loại 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 hóa về một số mặt 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ẽ sử dụng thuật toán Kruskal, để thiết lập mạng Backbone ta dùng thuật toán Mentor Ta có các thông số và giả định 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ự lien 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[N x N] Đâ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[N x N] 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ị yêu cầu từ nút i đến nút j
• Ma trận dung lượng tối đa Cmax [N x N] 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 lien 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à:
Wj =
II Thuât toán Kruskal.
Trang 61. Các tham số và yêu cầu của bài toán.
Thuật toán dùng để thiết lập mạng truy nhập, tạo cây CMST (Capacitied Minimun 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ó
có chiều dài nhỏ nhất
Đầu vào (Input) gồm:
Cho trước nút mạng trung tâm N0 (Nút Backbone)
Tập hợ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 hợ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 một nút gốc N0
Tổng trọng lượng các cây không vượt quá W
Tổng độ dài 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:
Bước 1: Sắp xếp tất cả các lien 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
• Nếu đúng: Kết thúc thuật toán
• Thêm liên kết vừa kiểm tra vào cây
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 xem nếu liên kết thêm vào tạo thành chu trình hay lien kết vừa tạo ra có tổng trọng số các nút trên cây vượt quá giới hạn W hay không?
• Nếu đúng: Xóa liên kết vừa tạo, quay lại bước 2
• Nếu sai: Thêm liên kết vừa kiểm tra vào cây
III Thuật toán MENTOR.
Thuật toán dùng để thiết lập mạng của nút Backbone Thuật toán gồm 4 bước:
1. Bước 1 Tìm tâm C của mạng.
Trang 7Ta tính Mi = nút C là tâm của mạng nếu có giá trị Mc 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 dung lượng (Wij 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ố 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 là không phải là Backbone mà 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 + (1 - Pc) .
Với :
Cjc : Là chi phí từ mộ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 hai 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 1 Chọn nút j nào 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 2 vừa rồi ho đến khi tất cả các nút được chọn
3. 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 như bước 1
Gọi N là tập hợ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
Trang 8Thự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, Li là chi phí từ nút i đến tâm, dij là chi phí i đến j)
Chọn các nút j mà Lj nhỏ nhất thêm vào tập N, bà 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 Bạckbone
Nếu α = 1 thì đây là thuật toán Dijkistra tìm cây PST
Nếu α = 0 thì đây là thuật toán Prim tìm cây MST
4. Bước 4 Thêm Direct Link
Tìm tập hợ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à : γ.Cmax ij
Trong đó γ là hệ số sử dụng băng thông có liên kết Thường lấy γ = 80%
Trang 9IV Thiết kế chương trình.
Chương trình được thiết kế bằng ngôn ngữ lập trinh VC++ 6.0
Hinh1 Giao diện chính
Các chức năng cơ bản:
Nhập 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 γ
Trang 10Sau 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 là 1 và giá trị Wk đượ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 kì với nhau (đường đi được hiển thị màn tím )
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 hiệu chỉnh thông số.
Hình 2 Giao diện hiệu chỉnh thông số
Khi thay đổi một trong các tham số như R, W, γ, Pc, α thì topology mạng sẽ tự thay đổi theo thuật toán đã lập trình sẵn
Trang 11Khi thay đổi R
Trang 12Ngoài ra, phần menu còn có phần giới thiệu đề tài bài tập lớn này.
Trang 13Hình 3 Giao diện giới thiệu thành viên.
V Giới thiệu thành viên trong nhóm và hướng dẫn cài đặt phần mềm.
1 Giới thiệu về thành viên trong nhóm.
1.1 Thành viên
Nhóm bao gồm 5 thành viên bao gồm
Trần Quốc Toản : nhóm trưởng
Lê Mạnh Toàn: thành viên
Đỗ Thị Ngân: thành viên
Nguyễn Văn Vinh: thành viên
Hoàng Anh Dũng: thành viên
1.2 Phân công nhiệm vụ
Trần Quốc Toản: Chỉ đạo công việc chung, phân công nhiệm vụ, thiết
kế giao diện
Lê Mạnh Toàn: Lập trình thuật toán xây dụng cây Mentor
Đỗ Thị Ngân: Lập trình giao diện Nguyễn Văn Vinh: Tìm hiểu lý thuyết, tìm tài liệu và lựa chọn công
cụ lập trình, đóng gói sản phẩm
Hoàng Anh Dũng: Viết báo cáo, lập trình thuật toán cây CMST Hướng dẫn cài đặt.
Phần mền được viết bởi ngôn ngữ C++, và được đóng gói bởi phần mền InstallShield Do đó cần thực hiện các bước sau đây khi tiến hành cài đặt:
Trang 14 Bước 1: Copy 3 file MFC42D.DLL ; MFCO42D.DLL; MSVCRTD.DLL vào thư mục C:// Window/ system/
Bước 2 : Mở gói project_topology PROJECT_ASSISTANT
SINGLE_EXE_IMAGE DiskImages DISK1 Setup exe
Bước 3: Kích đúp file Setup exe Thực hiện các bước cài đặt và khi kết thúc thì màn hình sẽ hiện thị Shortcut
là OK