Trong mạng truy nhập AN thì chỉ có một 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 thì phải thông qua nút Backbone.. Mạng Backbone
Trang 1BÁO CÁO BÀI TẬP LỚN
TỔ CHỨC VÀ QUY HOẠCH MẠNG
VIỄN THÔNG
GVHD: T.S Trần Thị Ngọc Lan Sinh viên thực hiện:
Nguyễn Đăng Thế Anh 20172405
Đỗ Đình Tuấn 20172896
Trịnh Ngọc Đông 20172474
Trương Văn Minh 20172695
Lê Công Phương Nam 20172706
Hà Nội, 12/2021
Trang 2Trong quá trình thực hiện đề tài này, chúng em đã rất cố gắng để hoàn thành tốt nhưng có lẽ do vốn kiến thức còn hạn hẹp cũng như những yếu tố khách quan khác mà không tránh khỏi những thiếu sót Chúng em rất mong sự đóng góp ý kiến, phê bình và hướng dẫn thêm của thầy cô cũng như bạn đọc để cho đề tài của chúng em hoàn thiện hơn Qua đây, chúng em cũng xin chân thành cảm ơn TS Trần Thị Ngọc Lan đã trực tiếp định hướng, tạo điều kiện cần thiết và tận tình hướng dẫn để chúng em có thể hoàn thành
đề tài của mình Chúng em xin chân thành cảm ơn!
Trang 3MỤC LỤC
MỤC LỤC 3
DANH SÁCH HÌNH ẢNH 4
ĐỀ BÀI 5
PHÂN CÔNG CÔNG VIỆC 6
I.NỘI DUNG 7
1.Tổng quan 7
2 Thuật toán MENTOR 8
3 Giải thuật Prim-Dijkstra 8
4 Phân tích đề tài 9
II CƠ SỞ LÍ THUYẾT 10
1 Thuật toán MENTOR 10
2.Giải thuật Prim – Dijkstra 11
3.Thêm liên kết 11
III.TRIỂN KHAI THỰC HIỆN 13
KẾT LUẬN 18
TÀI LIỆU THAM KHẢO 19
Trang 4DANH SÁCH HÌNH ẢNH
Hình 2 1: Chọn nút home 12
Hình 3 1 : Giao diện chương trình khi nhập các tham số đầu vào 13
Hình 3 2 : Sơ đồ kết nốt các nút Backbone và nút truy nhập 14
Hình 3 3 : Cây Prim_Dijkstra kết nối các nút truy cập với nhau 15
Hình 3 4 : Mạng backnone sau khi giảm giá trị umin 16
Trang 5DANG SÁCH BẢNG
Bảng 3 1 Độ sử dụng trên từng liên kết và giá của mạng backbone khi Umin = 0.95 17
Bảng 3 2 Độ sử dụng trên từng liên kết và giá của mạng backbone khi Umin = 0.9 18
Bảng 3 3 Độ sử dụng trên từng liên kết và giá của mạng backbone khi Umin = 0.85 (ban đầu) 18
Bảng 3 4 Độ sử dụng trên từng liên kết và giá của mạng backbone khi Umin = 0.8 19
Bảng 3 5 Độ sử dụng trên từng liên kết và giá của mạng backbone khi Umin = 0.7 19
Bảng 3 6 Độ sử dụng trên từng liên kết và giá của mạng backbone khi Umin = 0.5 20
Bảng 3 7 Độ sử dụng trên từng liên kết và giá của mạng backbone khi Umin = 0.3 21
Trang 6ĐỀ BÀI
Đề 8: Cho mạng gồm 100 nút Các nút được đặt một cách ngẫu nhiên trên mặt phẳng kích thước 1000x1000 Giá của mỗi liên kết được tính bẳng round (0.4x khoảng cách đề các)
1 Sử dụng giải thuật MENTOR để tìm nút backbone và các nút truy nhập tương ứng với nút Backbone Biết W=2, R=0,3 dung lượng liên kết C=12 Lưu lượng giữa nút i và i+4 là 2 và lưu lượng giữa i và i+87 là 3, lưu lượng giữa i và i+98
là 4, lưu lượng giữa nút 7 và 28 là 5, lưu lượng giữa 12 và 76 là 17 và lưu lượng giữa 27 và 48 là 4.
2 Hãy tính lưu lượng thực tế giữa các nút Backbone (ghi ra file)
3 Sử dụng giải thuật Mentor 1 để thiết kế toopology backbone biết umin = 85%.
α =0.4 Đưa ra kết quả ra file số đường sử dụng trên từng liên kết và độ sử dụng trên liên kết đó
4 Mạng backbone và giá của mạng backbone sẽ thay đổi như thế nào khi thay đổi giá trị umin
Trang 7PHÂN CÔNG CÔNG VIỆC Nguyễn Đăng Thế Anh -Xây dựng cây Prim-Dijkstra,
Prim-Dijkstra -Viết báo cáo
Prim-Dijkstra -Viết báo cáo
Trang 8I NỘI DUNG
1.Tổng quan
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 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) Do đó các nút mạng chia làm 2 loại là nút 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 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 thì 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, được thiết lập thông qua các nút Bacbone.
Để xây dựng mạng, 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 Optimiation Routing) là một thuật toán rất hữu ích 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ỳ một công nghệ hay kiến trúc mạng nà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 (Asynchronous Transfer Mode) Và chương trình MENTOR được ứng dụng thiết kế Topology mạng bằng chính 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 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:
Ma trận chi phí Cost[NxN]: 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 lưu lượng - Traffic [NxN]: ma trận hai chiều đối xứng, chứa lưu lượng giữa các nút với nhau.
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
Trang 9 Ma trận dung lượng tối đa Cmax[NxN]: cũng là ma trận đối xứng hai 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ừ các ma trận trên ta có thể xây dựng ma trận trọng số W giữa các nút.
2 Thuật toán MENTOR
Thuật toán định tuyến MENTOR là một thuật toán để sử dụng trong việc định tuyến các mạng xương sống Nó được phát triển bởi Aaron Kershenbaum, Parviz Kermani và George A Grove và được xuất bản bởi IEEE vào tháng 4 năm 1991 với bài báo tiêu đề
“MENTOR an algorithm for mesh network topological optimization and routing” trong
IEEE Transactions on Communications Journal.
Thuật toán này ra đời đã tạo ra cơ chế xây dựng mạng xương sống với độ phức tạp tính toán giảm xuống, giảm thời gian tính toán thiết kế mạng đi đáng kể (theo nhóm tác giả là gấp hàng trăm lần các phương pháp thời bấy giờ) Nguyên do là năm 1991 các máy
vi tính thời ấy chưa cho hiệu năng tính toán mô phỏng cao Đồng thời, thuật toán này xây dựng thành công mạng có chi phí thấp, hiệu năng cao và các liên kết dung lượng lớn.
3 Giải thuật Prim-Dijkstra
Cây Prim-Dijsktra, cây là một đồ thị vô hướng liên thông, không chứa chu trình và có
5 G liên thông và nếu bỏ đi một cạnh bất kỳ thì G mất tính liên thông;
6 Mỗi cặp đỉnh trong G được nối với nhau bằng đường đi duy nhất.
Thuật toán Prim: còn được gọi là phương pháp lân cận gần nhất.
Trang 10Đầu vào: đồ thi liên thông có trọng số G = (N,E).
Đầu ra: Cây bao trùm nhỏ nhất
U = Tập các nút trên MST
V = Tập tất cả các nút chưa thuộc MST nhưng nó là liền kề những nút thuộc U
1 Đặt bất kỳ nút nào vào U và cập nhật V
2 Tìm cạnh có trọng số nhỏ nhất nối nút thuộc V tới nút thuộc U
3 Thêm cạnh đó vào cây và cập nhật U và V
4 Lặp lại 2 & 3 cho đến khi tất cả mọi nút đều thuộc cây, | U | = | N|.
Thuật toán Dijsktra: Thuật toán tìm đường đi ngắn nhất.
1 Đánh dấu các nút chưa được xét, ấn định nhãn vô cùng 2.Thiết lập nhãn gốc bằng 0 và thiết lập predecessor(gốc)= nút gốc.
3 Lặp lại
4 Phân tích đề tài
Dựa trên yêu cầu đề tài, nhóm quyết định chia công việc thành các phần như sau:
Phần 1: Tìm hiểu các kiến thức dẫn nhập về môn học và lịch sử, ứng dụng của các
cơ sở lý thuyết được sử dụng trong bài tập lớn.
Phần 2: Củng cố cơ sở lý thuyết được học trên lớp để làm nền tảng cho việc thiết
kế, triển khai bài tập lớn.
Phần 3: Thiết kế phần mềm để thực thi yêu cầu bài tập lớn Kế đó, trực tiếp triển khai bản thiết kế lên một môi trường phát triển phần mềm để hiện thực hóa bản thiết kế:
1 Tạo thông tin các nút mạng, cập nhật thông tin khởi tạo
2 Dựa vào dữ liệu trên, chạy thuật toán MENTOR
Trang 11II CƠ SỞ LÍ THUYẾT
1 Thuật toán MENTOR
Thuật toán MENTOR nhằm xác định nút Backbone và những nút truy nhập của nút Backbone đó Thực hiện thuật toán qua bốn bước sau:
Bước 1: Xác định nút Backbone dựa trên ngưỡng lưu lượng Bước 2: Tính giá trị Maxcost
Bước 3: Xác định nút truy nhập của nút Backbone đã tìm được Bước 4: Xác định nút Backbone và nút truy nhập cho các nút còn lại dựa trên giá trị thưởng
Dưới đây trình bày chi tiết các bước thực hiện.
Bước 1: Xác định nút Backbone dựa trên ngưỡng lưu lượng
Trọng số của một nút W(i) là tổng lưu lượng vào ra của nút đó.
Liên kết dung lượng là C.
Trọng số chuẩn hóa của nút i là NW ( i ) =W (i) C
Nếu nút i có NW (i)>W thì nút i được chọn là nút Backbone, với W là tham số cho trước.
Bước 2: Tính MaxCost
Maxcost =Maxcost (N i ,N j )
Bước 3: Xác định nút truy nhập của nút Backbone đã tìm được
Bán kính mạng truy nhập: Cost ( N i ) <R Maxcost
Trang 12 Ấn định tọa độ của mỗi nút
Tìm nút trung tâm trọng lực có tọa độ là x tt = ∑ x i w i
∑ w i và y ii = ∑ y i w i
∑ w i
Tính dc i = √ ( x i −x tt ) 2 +( y i − y tt ) 2
Lấy maxdc=maxdc i và maxw=maxw i
Tính giá trị thưởng cho tất cả các nút GTT ( i ) =1
2
(maxdc i −dc i )
maxdc + 1 2
w i maxw
Nút i có giá trị thưởng lớn nhất sẽ được chọn là nút Backbone, tìm các nút truy nhập của nút này.
Lặp lại bước cho tới khi tất cả các nút được xét.
2.Giải thuật Prim – Dijkstra
Sau khi xác định được nút backbone và nút trung tâm, ta sử dụng cây Prim-Dijkstra với tham số α để xây dựng cây kết nối giữa các nút backbone với nhau.
Cây MST-Minimum Spanning Tree: cây bắc cầu tối thiểu, đại diện là thuật toán Prim, với tiêu chí Total Length = min, Total Path = max.
Cây SPT – Shorted Path Tree: cây theo đường ngắn nhất, đại diện là thuật toán Dijkstra với tiêu chí Total Length = max, Total Path = min.
Cây Prim-Dijkstra với tham số:
Nhãn Prim = min neighbor cost (node,neighbor)
Nhãn Dijkstra = min neighbor [cost ( s,neighbor ) +cost ( neighbor ,node ) ]
=> Nhãn Prim-Dijkstra:
Label = min neighbor [ α∗cost ( s,neighbor ) +cost ( neighbor ,node ) ]
Với α ∈[0,1] ( α = 0 => Prim, α = 1 => Dijkstra)
VD đỉnh hàng xóm là u và đỉnh đang xét là v, ta có nhãn như sau:
Trang 13L(v) = min [α*cost(s,u) + cost(u,v)]
3.Thêm liên kết
Ở bước này chúng ta sẽ đưa ra các khái niệm mới như dãy (Sequence) và nút Home (Homing) để thêm liên kết nhằm tối ưu thiết kế Bằng cách sử dụng cây Prim – Dijkstra ở trên, chúng ta có thể xác định dãy các nút thỏa mãn những tiêu chí sau:
Các nút được sắp xếp theo thứ tự từ ngoài vào trong.
Không xếp cặp nút (N1, N2) cho đến khi tất cả các cặp nút (N1*, N2*)
đã được xếp; trong đó N1, N2 nằm trên liên kết giữa N1* và N2*.
Những liên kết dài nhất sẽ được xếp đầu tiên.
Với mỗi cặp nút N1, N2 không liền kề nhau, ta chọn nút Home là nút trung gian
Hình 2 1: Chọn nút home
Trong trường hợp có nhiều nút có thể chọn làm nút Home, ví dụ như giữa N1
và N2 có hai nút trung gian N3 và N4 thì ta sẽ chọn nút Home là N3 nếu:
Cost ( N 1, N 3 ) +Cost ( N 3 ,N 2 ) <Cost ( N 1, N 4 ) +Cost ( N 4, N 2 )
Và ngược lại chúng ta sẽ chọn nút Home là N4 Xét từng cặp nút (N1,N2) một lần duy nhất, ta triển khai giải thuật sau:
Từ tham số dung lượng liên kết C mà đề bài đã cho, tính:
n=ceil ( Traffic N 1, N 2
Tính độ sử dụng (Utilization) của liên kết:
Trang 14U = Traffic N 1, N 2
n ×C
Thêm liên kết nếu U >U min , còn không thì di chuyển lưu lượng thông qua mạng (ví dụ như thêm lưu lượng Traffic N 1, N 2 cho cả Traffic N 1, Homing và Traffic Homing, N 2 , làm tương tự với Traffic N 2, N 1 ) Sẽ xảy ra trường hợp liên kết (N1,N2) thuộc cây Prim – Dijkstra ban đầu, khi đó ta chỉ việc thêm liên kết trực tiếp.
III.TRIỂN KHAI THỰC HIỆN
Giải thuật MENTOR được nhóm triển khai thực hiện trên phần mềm MATLAB Đây là công cụ khá quem thuộc và có tính ứng dụng cao, môi trường giao tiếp thân thiện tạo điều kiện cho nghiên cứu và phát triển.
Chương trình sẽ tạo ra 100 nút mạng ở các vị trí ngẫu nhiên Sau đó sử dụng giải thuật MENTOR đã trình bày ở phần trước để tìm ra các nút Backbone và các nút truy nhập tương ứng
Khi khởi chạy chương trình, thiết lập các thông số đầu vào như kích thước của ma trận, số lượng nút, ngưỡng, dung lượng, ta được giao diện như ở hình dưới đây.
Trang 15Hình 3 1 : Giao diện chương trình khi nhập các tham số đầu vào
Sau khi nhấn “OK”, chương trình sẽ cho ra mạng lưới các nút được tạo ngẫu nhiên trên mặt phẳng tọa độ
Tính toán đưa ra các nút Backbone và các nút truy nhập, thực hiện nối các nút với nhau Trong đó, nút Backbone trung tâm được biểu diễn dưới dạng hình vuông đặc màu tím, các nút Backbone khác được biểu diễn dưới dạng hình vuông đặc màu đỏ.
Trang 16Hình 3 2 : Sơ đồ kết nốt các nút Backbone và nút truy nhập
Tiếp theo chương trình sẽ xây dựng cây Prim – Dijkstra để kết nối các nút Backbone với nhau Để chuyển sang bước tiếp theo thì chúng ta sẽ nhấn nút bất kỳ trên bàn phím hoặc click chuột
Trang 17Hình 3 3 : Cây Prim_Dijkstra kết nối các nút truy cập với nhau
Trang 18Hình 3 4 : Mạng backbone sau khi giảm giá trị u min
Độ sử dụng trên từng liên kết và giá của mạng backbone tương ứng với các giá trị Umin được thể hiện ở các bảng sau:
Nút backbone 1 backbone 2 Nút Số đường sử dụng liên
kết
Độ sử dụng trên từng liên kết
Giá của liên kết kết * số đường Giá của liên
sử dụng liên kết
Giá của mạng backbone khi Umin = 0.95 5691.664
Bảng 3 1 Đ ộ sử dụng trên từng liên kết và giá của mạng backbone khi Umin = 0.95
Trang 19Nút backbone 1 backbone 2 Nút Số đường sử dụng liên
kết
Độ sử dụng trên từng liên kết
Giá của liên kết kết * số đường Giá của liên
sử dụng liên kết
Giá của mạng backbone khi Umin = 0.9 5691.664
Bảng 3 2 Độ sử dụng trên từng liên kết và giá của mạng backbone khi Umin = 0.9
Nút backbone 1 backbone 2 Nút dụng liên kết Số đường sử Độ sử dụng trên từng
liên kết
Giá của liên kết Giá của liên kết * số
đường sử dụng liên kết
Giá của mạng backbone khi Umin = 0.85 5096.162
Bảng 3 3 Độ sử dụng trên từng liên kết và giá của mạng backbone khi Umin = 0.85
(ban đầu)
Trang 20Nút backbone 1 backbone 2 Nút dụng liên kết Số đường sử Độ sử dụng trên từng
liên kết
Giá của liên kết Giá của liên kết * số
đường sử dụng liên kết
Giá của mạng backbone khi Umin = 0.8 5096.162
Bảng 3 4 Độ sử dụng trên từng liên kết và giá của mạng backbone khi Umin = 0.8
Nút backbone 1 backbone 2 Nút Số đường sử dụng liên
kết
Độ sử dụng trên từng liên kết
Giá của liên kết Giá của liên kết * số
đường sử dụng liên kết
Giá của mạng backbone khi Umin = 0.7 5127.849
Bảng 3 5 Độ sử dụng trên từng liên kết và giá của mạng backbone khi Umin = 0.7
Nút Nút Số đường sử Độ sử dụng Giá của liên Giá của liên
Trang 21kết liên kết đường sử
dụng liên kết
Giá của mạng backbone khi Umin = 0.5 5056.323
Bảng 3 6 Độ sử dụng trên từng liên kết và giá của mạng backbone khi Umin = 0.5
Nút backbone backbone Nút Số đường sử dụng trên từng liên Độ sử dụng Giá của liên kết Giá của liên kết * số
Trang 22Giá của mạng backbone khi Umin = 0.3 5028.923
Bảng 3 7 Độ sử dụng trên từng liên kết và giá của mạng backbone khi Umin = 0.3
4600 4800 5000 5200 5400 5600 5800
Biểu đổ mối quan hệ giữa giá của mạng và umin