TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ VIỄN THÔNG BÁO CÁO BÀI TẬP LỚN Tổ Chức Quy Hoạch Mạng Viễn Thông Đề tài Thiết Kế Phần Mềm Tính Toán Mạng Viễn Thông Giảng Viên Hướng Dẫn TS Trần Thị Ngọc L[.]
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ - VIỄN THÔNG BÁO CÁO BÀI TẬP LỚN Tổ Chức Quy Hoạch Mạng Viễn Thông Đề tài: Thiết Kế Phần Mềm Tính Tốn Mạng Viễn Thơng Giảng Viên Hướng Dẫn: TS Trần Thị Ngọc Lan Học Kì: 20182 Nhóm: Mã Đề Tài : Nguyễn Xuân Lưu 20152346 ĐT 08 – K60 Nguyễn Phương Nam 20152577 ĐT 10 – K60 Bùi Thị Ngọc Ánh 20150211 ĐT 06 – K60 Hà Nội, 5-2019 Tổ Chức Quy Hoạch Mạng Viễn Thông – Nhóm – 20182 Yêu Cầu Đề Tài Đề 1: Cho mạng gồm 100 nút Khoảng cách nút tính khoảng cách đề Biết nút đặt cách ngẫu nhiên mặt phẳng kích thước 1200x1200 Sử dụng giải thuật MENTOR để tìm nút backbone nút truy nhập tương ứng với nút Backbone Biết W=2, R=0,35 dung lượng liên kết C=12 Biết lưu lượng nút i i+3 1, Lưu lượng nút i i+4 Lưu lượng nút i i +6 2, Lưu lượng nút 10 nút 34 10 Lưu lượng nút 35 67 14, lưu lượng nút 48 70 14, lưu lượng nút 18 76 10, lưu lượng nút 25 73 14 2.Sử dụng giải thuật E-W để tính truy nhập Với giả sử W=8, W8xi =2 với i=1 10 w khác =1 Đưa kết hình Hiệu chỉnh kết cho trường hợp giới hạn số nút truy nhập Nhận Xét Đánh Giá Tổ Chức Quy Hoạch Mạng Viễn Thơng – Nhóm – 20182 Lời Giới Thiệu Chúng em khóa sinh viên K60 theo học chuyên ngành kỹ thuật thông tin truyền thông viện điện tử viễn thông Môn học tổ chức quy hoạch mạng viễn thông môn học cuối mà chúng em học trường Càng năm học cuối, chúng em cảm thấy việc học tập trở nên dễ dàng thú vị Những kiến thức năm trước bổ sung cho năm sau, kì trước bổ sung cho kì sau Giống chơi trò chơi ghép tranh, mảnh ghép cuối kì diệu, đẹp thú vị Một kiệt tác hoàn thành, đáng trân trọng hi vọng! Dưới giảng dạy từ cô Trần Thị Ngọc Lan, nhà giáo thân thiện tâm huyết, chúng em học nhiều kiến thức, may mắn lớn đời sinh viên chúng em Xin chân thành cảm ơn cô, kiến thức học từ cô theo chúng em nhiều năm tháng Tổ Chức Quy Hoạch Mạng Viễn Thơng – Nhóm – 20182 Mục Lục Yêu Cầu Đề Tài Nhận Xét Đánh Giá Lời Giới Thiệu Mục Lục .3 Danh Mục Hình Ảnh Danh Mục Bảng Biểu Danh Mục Từ Viết Tắt .5 Phân Công Công Việc .6 Nội Dung Dẫn nhập 1.1 Tổng quan môn học [1] 1.2 Thuật toán MENTOR [2] 1.3 Thuật toán Esau Williams [3] .7 1.4 Phân tích yêu cầu đề tài Cơ sở lý thuyết .9 2.1 Thuật toán MENTOR 2.2 Thuật toán Esau Williams 13 Thiết kế 16 3.1 Sơ đồ khối 16 3.2 Topology Generator Module .17 3.3 Mentor Algorithm Module 17 3.4 Esau Williams Module 18 3.5 Lựa chọn môi trường phát triển 19 Tổ Chức Quy Hoạch Mạng Viễn Thơng – Nhóm – 20182 Mô 20 4.1 Kiểm thử hoạt động module 20 4.2 Thực thi toán phân tích kết 21 4.3 Đóng gói chương trình viết hướng dẫn sử dụng .25 Kết Luận .26 Danh Mục Tài Liệu Tham Khảo 27 Tổ Chức Quy Hoạch Mạng Viễn Thơng – Nhóm – 20182 Danh Mục Hình Ảnh Hình 3.1 Sơ đồ khối chức .16 Hình 4.1 Các nút tạo với vị trí ngẫu nhiên .21 Hình 4.2 Tìm Backbone 21 Hình 4.3 Tìm truy nhập 22 Hình 4.4 Các nút tạo với vị trí 22 Hình 4.5 Tìm Backbone 23 Hình 4.6 Tìm truy nhập 23 Hình 4.7 Tìm nút backbone .24 Hình 4.8 Tìm truy nhập 24 Danh Mục Bảng Biểu Bảng 3.1 Thuộc tính liệu nút .17 Bảng 3.2 Thủ tục thuật toán MENTOR 18 Bảng 3.3 Thủ tục thuật toán Esau William 19 Danh Mục Từ Viết Tắt Từ Viết Tắt EW NW TH btl IEEE IBM IDE Tiếng Anh Esau Williams Normalized Weight Institute of Electrical and Electronics Engineers International Business Machines Integrated Development Environment Tiếng Việt Tên thuật tốn Esau Williams Trọng số chuẩn hóa Thỏa hiệp Bài tập lớn Hiệp hội kỹ sư điện điện tử Tên tập đồn cơng nghệ máy tính Mỹ Mơi trường phát triển (phần mềm) tích hợp Tổ Chức Quy Hoạch Mạng Viễn Thơng – Nhóm – 20182 Phân Công Công Việc STT NV_1 NV_2 NV_3 NV_4 NV_5 NV_6 NV_7 NV_8 NV_9 NV_10 Nhiệm Vụ Tổng quan tổ chức quy hoạch mạng viễn thông (mục tiêu môn học, tham khảo slide cô) Giới thiệu thuật tốn mentor (mục đích,lịch sử, ứng dụng) Giới thiệu thuật tốn esau william(mục đích,lịch sử, ứng dụng) Các bước thực thuật tốn mentor kèm ví dụ (trình bày lại ví dụ lớp) Các bước thực thuật tốn esau william kèm ví dụ ( trình bày lại ví dụ lớp) Phân tích yêu cầu đề tài btl thành ý chi tiết Triển khai thuật tốn ngơn ngữ lập trình python Xây dựng chương trình Xây dựng giao diện hiển thị cho chương trình Tổ chức, giám sát kiểm sốt hoạt động nhóm Người Thực Hiện Bùi Thị Ngọc Ánh Bùi Thị Ngọc Ánh Bùi Thị Ngọc Ánh Nguyễn Phương Nam Nguyễn Phương Nam Nguyễn Phương Nam Nguyễn Xuân Lưu Nguyễn Xuân Lưu Nguyễn Xuân Lưu Nguyễn Xuân Lưu Tổ Chức Quy Hoạch Mạng Viễn Thơng – Nhóm – 20182 Nội Dung Dẫn nhập 1.1 Tổng quan môn học [1] Đối với kỹ sư điện tử viễn thông chuyên ngành kỹ thuật thông tin truyền thông, học phần Tổ chức quy hoạch mạng viễn thông cung cấp kiến thức sau: Cung cấp kiến thức tổng quan mạng viễn thông, mạng cung cấp dịch vụ viễn thông, Các công nghệ viễn thông mới, xu hướng phát triển mạng … Miêu tả kỹ thuật giải pháp thích hợp để thiết kế loại mạng khác Đưa phương pháp để đánh giá thiết kế mạng 1.2 Thuật toán MENTOR [2] Thuật toán định tuyến MENTOR thuật toán để sử dụng việc định tuyến mạng xương sống Nó phát triển Aaron Kershenbaum, Parviz Kermani George A Grove xuất IEEE vào tháng năm 1991 với báo tiêu đề “MENTOR an algorithm for mesh network topological optimization and routing” IEEE Transactions on Communications Journal Thuật toán đời tạo chế xây dựng mạng xương sống với độ phức tạp tính tốn giảm xuống, giảm thời gian tính tốn thiết kế mạng đáng kể (theo nhóm tác giả gấp hàng trăm lần phương pháp thời giờ) Nguyên năm 1991 máy vi tính thời chưa cho hiệu tính tốn mơ cao Đồng thời, thuật tốn xây dựng thành cơng mạng có chi phí thấp, hiệu cao liên kết dung lượng lớn 1.3 Thuật toán Esau Williams [3] Thuật toán Esau Williams hai nhà khoa học Esau Williams đề xuất năm 1966 báo mang tên “A method for approximating the optimal network” IBM System Journal Trong báo có đoạn viết “A teleprocessing system may include many lowspeed terminals at great distances from the computing center Specification of a communication network for connecting the remote terminals to the central computer Tổ Chức Quy Hoạch Mạng Viễn Thơng – Nhóm – 20182 constitutes an important design problem An iterative method for obtaining an approximate solution to an optimum network is presented The method assumes that an acceptable line utilization factor is given.” [3] Mục tiêu thuật toán tạo mạng truy nhập có hiệu cao dựa việc tính hàm thỏa hiệp 1.4 Phân tích yêu cầu đề tài Dựa u cầu đề tài, nhóm định chia cơng việc thành pha Pha 1: Tìm hiểu kiến thức dẫn nhập môn học lịch sử, ứng dụng sở lý thuyết sử dụng tập lớn Pha 2: Củng cố sở lý thuyết học lớp để làm tảng cho việc thiết kế, triển khai tập lớn Pha 3: Thiết kế phần mềm để thực thi yêu cầu tập lớn Kế đó, trực tiếp triển khai thiết kế lên môi trường phát triển phần mềm để thực hóa thiết kế Riêng pha thứ chia thành pha ứng với ý nhỏ đề tài tập lớn Pha 1: Tạo thông tin nút mạng, cập nhật thông tin khởi tạo Pha 2: Dựa liệu pha 1, chạy thuật toán MENTOR Pha 3: Dựa liệu pha 2, chạy thuật toán Esau Williams Tổ Chức Quy Hoạch Mạng Viễn Thơng – Nhóm – 20182 Cơ sở lý thuyết 2.1 Thuật toán MENTOR Thuật toán MENTOR nhằm xác định nút Backbone nút truy nhập nút Backbone Thực thuật tốn qua bốn bước sau [4]: Bước 1: Xác định nút Backbone dựa 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 nút Backbone tìm Bước 4: Xác định nút Backbone nút truy nhập cho nút lại dựa giá trị thưởng Dưới trình bày chi tiết bước thực 1.1 Xác định nút Backbone dựa ngưỡng lưu lượng Trọng số nút W(i) tổng lưu lượng vào nút Liên kết dung lượng C Trọng số chuẩn hóa nút i NW (i ) = W (i) C Nếu nút i có NW (i)>W nút i chọn nút Backbone, với W tham số cho trước 1.2 Tính MaxCost Maxcost =Maxcost ( N i , N j) 1.3 Xác định nút truy nhập nút Backbone tìm Bán kính mạng truy nhập: Cost ( N i ) < R Maxcost Ta có R ∈[0:1] Từ nút Backbone i, vẽ đường trịn bán kính R.Maxcost, phủ nút nút thành nút truy nhập nút Backbone i 1.4 Xác định nút Backbone nút truy nhập cho nút lại dựa giá trị thưởng Ấn định tọa độ nút Tổ Chức Quy Hoạch Mạng Viễn Thơng – Nhóm – 20182 2.2 Thuật tốn Esau Williams Mục đích [4]: Tìm bao trùm có trọng số nhỏ (CMST), nút Để ghép nối được, ta tính thỏa hiệp nút theo công thức: TH ( N i )=mincost ( N i , N j )−cost (comp ( N i ) , N ) Trong đó: mincost ( N i , N j ) giá nhỏ nút i tới nút hàng xóm khác nút gốc, cost ( comp ( N i ) , N ) giá nút i tới nút gốc Quan tâm tới thỏa hiệp âm, thỏa hiệp âm xét để nối trước, trước nối phải kiểm tra điều kiện trọng số, cho phép ghép nối khi: w ( comp ( N i ) ) + w(comp ( N j ) ) ≤ w Bài toán minh họa: Cho hệ thống mạng dưới, nút D nút trung tâm, w=3 , w c =2, w F =2, trọng số nút cịn lại Tìm B C A 10 D 5 H E G F Tính Tốn Đầu tiên ta tính thỏa hiệp nút: Thỏa hiệp nút A: TH ( A )=cost ( A , H )−cost ( A , D )=3−3=0 Thỏa hiệp nút B:TH ( B ) =cost ( B , C ) −cost ( B , D )=3−2=1 13 Tổ Chức Quy Hoạch Mạng Viễn Thơng – Nhóm – 20182 Thỏa hiệp nút C: TH (C )=cost ( C , B )−cost ( C , D ) =3−7=−4 Thỏa hiệp nút E: TH ( E )=cost ( E , F )−cost ( E , D )=2−10=−8 Thỏa hiệp nút F: TH ( F )=cost ( F , E ) −cost ( F , D )=2−9=−7 Thỏa hiệp nút G: TH (G )=cost ( G, A ) −cost ( G , D )=3−8=−5 Thỏa hiệp nút H: TH ( H )=cost ( H , A ) −cost ( H , D )=3−5=−2 Ta thấy thỏa hiệp nút E âm đồng thời thỏa mãn điều kiện w E + w F=3, nên ta đoạn nối EF, bỏ đường từ E gốc D, giá trị thỏa hiệp E F thay đổi Cập nhật thỏa hiệp: Thỏa hiệp nút F: TH ( F )=cost ( F ,G )−cost ( F , D ) =5−9=−4 Thỏa hiệp nút E: TH ( E )=cost ( E , C )−cost ( F , D ) =4−9=−5 Các thỏa hiệp lại giữ nguyên:TH ( A )=0 ;TH ( B ) =1; TH (C )=−4 ; TH ( E )=−5 TH ( F )=−4 ; TH (G )=−5; TH ( H )=−2 Ta thấy TH(G) bé nhất, thỏa mãn điều kiện trọng số w G +w a=2 ≤ 3, nên nối đường GA, bỏ đường từ G D Thỏa hiệp nút G bị thay đổi Cập nhật thỏa hiệp: Thỏa hiệp nút G:TH (G )=cost ( G, H )−cost ( A , D )=6−3=3 Thỏa hiệp lại:TH ( A )=0 ; TH ( B ) =1; TH (C )=−4 ; TH ( E )=−5 ; TH ( F )=−4 TH ( H )=−2; Ta thấy TH(E) TH(F) đạt thỏa hiệp âm nhất, nhánh EF đạt tối đa số w, nên nhánh EF thêm nút, tránh dài dòng, ta bỏ xét Xét nút C có thỏa hiệp âm nhất, thỏa mãn điều kiện w C +w B=3 ≤ 3, nên ta có thêm C nối với B bỏ đường từ C D Nhận xét, nhánh CB đạt tối đa u cầu w, nên khơng có nút thêm vào nhánh 14 Tổ Chức Quy Hoạch Mạng Viễn Thơng – Nhóm – 20182 Cập nhật thỏa hiệp: Ta TH ( H )=−2, lại có w A + wG +w H =3≤ 3, nên nối đường AH bỏ đường từ H D Vậy sau xét hết nút với điều kiện ta hoàn thành sau: B C A D E H G F 15 Tổ Chức Quy Hoạch Mạng Viễn Thơng – Nhóm – 20182 Thiết kế 3.1 Sơ đồ khối Xây dựng cấu trúc phần mềm dựa sơ đồ khối chức hình Data Result Visualization Topology Generator Node Node Information … … Mentor Algorithm Backbone BackBone Terminal 37 … Terminal … Esau Williams Algorithm Node … Backbone Adjacent Node Terminal … Hình 3.1 Sơ đồ khối chức Dựa kết phân tích yêu cầu đề tài, mục tiêu giai đoạn thiết kế tạo thiết kế chi tiết khối chức cần thiết để thực yêu cầu đề tài Ở đây, ta cần thiết kế khối thực chức năng: Topology Generator: Tạo liệu thông tin nút mạng, liệu lưu lượng liên kết nút Mentor Algorithm: Dựa liệu mạng, tiến hành xác định nút backbone mạng nhóm nút đầu cuối lại nút backbone tương ứng thơng qua thuật tốn MENTOR Esau Williams Algorithm: Dựa liệu nhóm nút (bao gồm nút backbone nút đầu cuối), áp dụng thuật toán Esau Williams để xác định truy nhập 16 Tổ Chức Quy Hoạch Mạng Viễn Thơng – Nhóm – 20182 3.2 Topology Generator Module Mục tiêu khối tạo thông tin nút mạng Để làm điều này, khối thực nhiệm vụ: Xây dựng cấu trúc liệu cho nút mạng Cập nhật liệu dựa yêu cầu cho nút mạng Cấu trúc liệu cho nút thể theo bảng Tên thuộc tính Tên biến Tên nút name Tọa độ trục hoành x Tọa độ trục tung y Thuộc tính MENTOR Lưu lượng nút traffic Trọng số nút weight Giá trị thưởng awardPoint Khoảng cách tới nút trung tâm distanceToCenter Thuộc tính Esau Williams Trọng số EW weight_EW Trọng số nhóm weight_of_group Nút nối tâm nhóm group_node_to_center Giá trị thỏa hiệp thoa_hiep Giá nút trung tâm (backbone) cost_to_center Nút xét liên kết (nếu chấp nhận thỏa hiệp) next_connect Danh sách nút hàng xóm ListConnect Bảng 3.1 Thuộc tính liệu nút Sau xây dựng danh sách liên kết nút, tiến hành cập nhật thông số nút dựa yêu cầu đề tập lớn 3.3 Mentor Algorithm Module Khối đảm nhiệm nhiệm vụ tìm nút backbone chia nút đầu cuối nhóm nút với backbone tương ứng Xây dựng khối dựa thuật toán MENTOR cấu trúc liệu nút cung cấp 17 Tổ Chức Quy Hoạch Mạng Viễn Thơng – Nhóm – 20182 Thủ tục thực thuật toán chi tiết trình bày theo bảng Bước Thực Hiện Tính tốn lưu lượng chuẩn hóa nút Nút đạt ngưỡng backbone chuyển thành nút backbone đưa vào danh sách nút backbone loại Đối với nút cịn lại (khơng chứa backbone loại 1), tiến hành quét vét cạn để tìm khoảng cách lớn (ứng với giá trị MaxCost) tính tốn bán kính mạng truy nhập Xây dựng hàm cập nhật nút đầu cuối cho nút backbone Hàm tìm nút đầu cuối nằm bán kính quét nút backbone tính bước 2, kiểm tra điều kiện giới hạn số nút Sau đó, cập nhật nút đầu cuối hợp lệ cho nút backbone Chạy hàm cập nhật nút đầu cuối cho tất nút backbone loại Đối với danh sách chứa nút lại, đưa vào vịng lặp Tìm trung tâm trọng lực giá trị trọng số lớn Tính giá trị thưởng cho nút tìm nút có giá trị thưởng lớn Chạy hàm cập nhật nút đầu cuối cho nút có giá trị thưởng lớn Kiểm tra danh sách nút chưa xét xem có bị trống khơng, khơng trống, quay loại bước Bảng 3.2 Thủ tục thuật toán MENTOR 3.4 Esau Williams Module Module đảm nhiệm việc tìm truy nhập nhóm nút Việc thực thuật toán Esau Williams thể theo bước bảng bên Bước Thực Hiện Xây dựng ma trận giá thành liên kết cách tính tốn giá liên kết EW nút dựa khoảng cách Cập nhật giá nút trung tâm cho nút Xây dựng ma trận quản lý trọng số nhóm hàm cập nhật nhóm Hàm làm nhiệm vụ gộp nhóm vào nhóm khác thỏa hiệp âm chấp nhận Việc cập nhật thay đổi trọng số nhóm nút nối trung tâm nhóm Xây dựng hàm cập nhật thỏa hiệp thực hiệp cập nhật thỏa hiệp lần 18 Tổ Chức Quy Hoạch Mạng Viễn Thơng – Nhóm – 20182 đầu Hàm tính tốn giá trị thỏa hiệp cho nút dựa tất nút ngoại trừ nút thuộc nhóm với nút Kiểm tra danh sách nút để phát thỏa hiệp âm, cịn nút có thỏa hiệp âm, thực vịng lặp Tìm nút thỏa hiệp âm Kiểm tra điều kiện tổng trọng số Thực cập nhật nhóm điều kiện tổng trọng số thỏa mãn Xóa liên kết điều kiện tổng trọng số không thỏa mãn Bảng 3.3 Thủ tục thuật toán Esau William 3.5 Lựa chọn môi trường phát triển Dựa đề xuất thành viên nhóm, nhóm lựa chọn ngơn ngữ Python IDE PyCharm 2019.1 để phát triển phần mềm 19 ... Lưu Tổ Chức Quy Hoạch Mạng Viễn Thơng – Nhóm – 20182 Nội Dung Dẫn nhập 1.1 Tổng quan môn học [1] Đối với kỹ sư điện tử viễn thông chuyên ngành kỹ thuật thông tin truyền thông, học phần Tổ chức quy. .. dụng tập lớn Pha 2: Củng cố sở lý thuyết học lớp để làm tảng cho việc thiết kế, triển khai tập lớn Pha 3: Thiết kế phần mềm để thực thi yêu cầu tập lớn Kế đó, trực tiếp triển khai thiết kế. .. 3.1 Sơ đồ khối chức Dựa kết phân tích yêu cầu đề tài, mục tiêu giai đoạn thiết kế tạo thiết kế chi tiết khối chức cần thiết để thực yêu cầu đề tài Ở đây, ta cần thiết kế khối thực chức năng: