Đồng thời, chúng tôi cũng sẽ khámphá sự phát triển mới nhất và các xu hướng tiên tiến trong lĩnh vực này.Bài tiểu luận sẽ bao gồm các kiến thức về chuyển mạch gói, một số giao thứcdùng k
Trang 1Tiểu luận môn: Mậng Viển Thông
TIỂU LUẬN MÔN: MẬNG VIỂN
Trang 2Nôi dung
LỜI MỞ ĐẦU 4
I CÁC PHƯƠNG PHÁP QUẢN LÝ HÀNG ĐỢI TRONG CHUYỂN MẠCH GÓI 5
1.1 FIFO(First In First Out) 5
1.1.1 Phương pháp nhập trước xuất trước FIFO 5
1.1.2 Phương pháp FIFO thường được áp dụng cho những doanh nghiệp như thế nào 6
1.1.3 phương pháp FIFO so với các phương pháp định giá khác 6
1.2 Priority Queue 7
1.2.1 Priority Queue là gì? 7
1.2.2 Priority Queue ADT 8
Các Operations phụ trợ trên Priority Queues 8
1.2.3 Ứng dụng của Priority Queue 8
1.2.4 Triển khai Priority Queue 9
1.3 Round Robin 10
1.3.1 Round Robin là gì? 10
1.3.2 Các đặc điểm của round robin 11
1.3.3 Nguyên lý giải thuật toán Round Robin 11
1.3.4 Điều kiện giải thuật toán 12
1.3.5 ưu nhược điểm của thuật toán 13
1.3.6 Tăng giá trị lượng tử thời gian 14
1.3.7 Giảm giá trị lượng tử thời gian 15
1.3.8 Lập trình FCFS 15
1.3.9 Hiêu suất 15
1.3.10 Thuật toán weights round robin 15
1.3.11 Thuật toán weights least connection 15
Trang 31.3.12 Thuật toán least response time 16
1.4 Weighted Fair Queuing 16
1.4.1 Kỹ thuật hàng đợi Weighted Fair Queuing(WFQ) 16
1.4.2 Định hướng và chính sách 18
II ỨNG DỤNG CỦA CƠ CHẾ HÀNG ĐỢI TRONG CHUYỂN MẠCH GÓI 19
2.2 Trong mạng Internet và hệ hống điện thoại di động 19
2.2.1 Truyền dữ liệu 19
2.2.2 VoIP 19
2.2.3 Video streaming 19
2.2.4 Truyền tải dữ liệu trực tuyến 19
2.2.5 IoT 20
2.2.6 ví dụ cụ thể 20
2.2.7 Các biến thể của queue 21
III KẾT LUẬN 26
3.1 Tầm quan trọng của cơ chế hàng đợi trong chuyển mạch gói 26
3.2 Đề xuất các hướng phát triển trong việc quản lý hàng đợi trong chuyển mạch gói 27
Trang 4LƠ$I MƠ6 ĐẬ?U
Mạng viễn thông là một lĩnh vực quan trọng và hấp dẫn trong ngành Côngnghệ thông tin và Truyền thông Trong thời đại kỹ thuật số ngày nay, mạngviễn thông đóng vai trò trung tâm trong việc kết nối và truyền tải thông tingiữa các thiết bị, hệ thống và người dùng trên toàn cầu Với sự phát triểnnhanh chóng của Internet, di động, và các ứng dụng truyền thông khác, mạngviễn thông đã trở thành cột mốc quan trọng trong sự phát triển của xã hộihiện đại
Bài tiểu luận này nhằm tìm hiểu và phân tích các khía cạnh quan trọng củamạng viễn thông nói chung và “cơ chế hàng đợi trong chuyển mạch gói” nóiriêng, từ cơ sở lý thuyết đến các công nghệ và ứng dụng thực tế Tôi sẽ xemxét các khái niệm cơ bản về mạng viễn thông, kiến trúc mạng, giao thứctruyền thông, bảo mật và quản lý mạng Đồng thời, chúng tôi cũng sẽ khámphá sự phát triển mới nhất và các xu hướng tiên tiến trong lĩnh vực này.Bài tiểu luận sẽ bao gồm các kiến thức về chuyển mạch gói, một số giao thứcdùng kỹ thuật và cơ chế hàng đợi trong chuyển mạch gói Tìm hiểu và phântích các cách thức xử lý hàng đợi hiện tại, đồng thời đề xuất các phươngpháp tối ưu hóa cơ chế hàng đợi trong mạng chuyển mạch gói để đảm bảohiệu suất và chất lượng dịch vụ
Bằng cách tìm hiểu về chuyển mạch gói trong mạng viễn thông, tôi hy vọngrằng bài tiểu luận này sẽ đóng góp vào việc nâng cao nhận thức và hiểu biết
về mạng viễn thông cũng như tầm quan trọng của nó trong cuộc sống hàngngày Ngoài ra, bài tiểu luận cũng sẽ cung cấp một cái nhìn tổng quan về các
xu hướng và tiềm năng phát triển trong tương lai của mạng viễn thông
Trang 5I CÁC PHƯƠNG PHÁP QUẢN LÝ HÀNG ĐỢI TRONG CHUYỂN
MẠCH GÓI
1.1 FIFO(First In First Out)
1.1.1 Phương pháp nhập trước xuất trước FIFO
H1.1 phương pháp FIFO
Ở Việt Nam, chúng ta thường gọi FIFO là cách quản lý kho theo phương thức xuất trước nhập trước Theo đó những hàng hóa (lô) được nhập vào kho đầu tiên sẽ là những hàng hóa đầu tiên đầu tiên được xuất ra khỏi kho đó Những hàng hóa còn tồn lại sẽ là những hàng hóa mới được nhập gần đầy nhất.
Ví dụ nếu 100 mặt hàng được mua với giá $10 và 100 mặt hàng khác được muatiếp theo với giá $15 , thì FIFO sẽ chỉ định chi phí cho mặt hàng đầu tiên đượcbán lại là mặt hàng có giá $10 Sau khi 100 mặt hàng được bán, chi phí mới sẽtrở thành mặt hàng có giá $15, dù có mua hàng tồn kho bổ sung nào thêm.Phương pháp FIFO tuân theo logic rằng, để tránh lỗi thời, một công ty sẽ báncác mặt hàng tồn kho ở trong kho lâu nhất trước tiên và duy trì các mặt hàngmới nhất trong kho
Trang 6Mặc dù phương pháp định giá hàng tồn kho thực tế được sử dụng không cầnphải theo luồng hàng tồn kho thực tế, nhưng công ty phải có khả năng cho biết
lí do tại sao công ty chọn sử dụng phương pháp định giá hàng tồn kho đó
1.1.2 Phương pháp FIFO thường được áp dụng cho những doanh nghiệp như thế nào
H1.2 FIFO ứng dụng trong doanh nghiệpPhương pháp FIFO thường được các doanh nghiệp sản xuất – kinh doanhnhững mặt hàng có thời hạn sử dụng như: thực phẩm, các sản phẩm có vòngđời ngắn như thời trang, đồ công nghệ, … Những hàng hóa được sản xuất vànhập kho đầu tiên sẽ được xuất trước và đưa ra thị trường, đáp ứng nhanhchóng xu hướng và thị hiếu đám đông, từ đó đảm bảo lợi nhuận cũng nhưdoanh thu cho tổ chức thu được là cao nhất
Ngược lại nếu áp dụng LIFO với các sản phẩm nói trên, doanh nghiệp có thểthua lỗ do những rủi ro hết hạn hay sự thay đổi đột ngột về nhu cầu hay xuhướng của thị trường, …
Trang 7I.1.3 phương pháp FIFO so với các phương pháp định giá khác
Phương pháp LIFO
Phương pháp định giá hàng tồn kho ngược lại với FIFO là LIFO, trong đó mặthàng cuối cùng được mua hay nhập kho là mặt hàng đầu tiên được xuất khotrước Trong các nền kinh tế lạm phát, điều này dẫn đến chi phí thu nhậpròng giảm phát và số dư cuối kì hàng tồn kho thấp hơn khi so sánh vớiphương pháp FIFO
Phương pháp chi phí bình quân gia quyền
Phương pháp chi phí bình quân gia quyền chỉ định cùng một chi phí chotừng mục Phương pháp chi phí bình quân gia quyền được tính bằng cáchchia giá vốn hàng tồn kho cho tổng số mặt hàng có sẵn để bán Điều nàydẫn đến thu nhập ròng và số dư hàng tồn kho cuối kì nằm giữa khoảng FIFO
và LIFO
Phương pháp theo dõi hàng tồn kho cụ thể
Cuối cùng, phương pháp theo dõi hàng tồn kho cụ thể được sử dụng khi tất
cả các thành phần qui cho một thành phẩm đã biết Nếu tất cả các phầnkhông được biết đến, việc sử dụng bất kì phương pháp nào trong số FIFO,LIFO hoặc chi phí trung bình đều phù hợp
I.2 Priority Queue
1.2.1 Priority Queue là gì?
Trong một số trường hợp, chúng ta có thể cần tìm phần tử tối thiểu/tối đatrong một tập hợp các phần tử chúng ta có thể làm điều này với sự trợ giúpcủa Priority Queue ADT Một priority queue ADT là một cấu trúc dữ liệu hỗ trợcác thao tác Insert và DeleteMin (trả về và loại bỏ phần tử nhỏ nhất) hoặcDeleteMax (trả về và loại bỏ phần tử lớn nhất)
Các thao tác này tương đương với thao tác EnQueue và DeQueue của một hàngđợi Sự khác biệt là, trong hàng đợi ưu tiên, thứ tự mà các phần tử vào hàng đợi
có thể không giống với thứ tự mà chúng được xử lý Một ứng dụng ví dụ củahàng đợi ưu tiên là job scheduling(bài toán lập lịch), được ưu tiên thay vì phục
vụ theo thứ tự đến trước phục vụ trước
Trang 8Tương tự, một hàng đợi ưu tiên được gọi là descending —priority queue(hàngđợi ưu tiên giảm dần) nếu phần tử có key lớn nhất có mức ưu tiên cao nhất(luôn xóa phần tử lớn nhất) Vì hai loại này đối xứng nên chúng ta sẽ tập trungvào một trong số chúng: ascending-priority queue(hàng đợi ưu tiên tăng dần).
1.2.2 Priority Queue ADT
Các Operations chính trên Priority Queues Hàng đợi ưu tiên là một thùng chứa
các phần tử, mỗi phần tử có một key được liên kết
Insert (key, data): Thêm dữ liệu cùng key vào priority queue
DeleteMin/DeleteMax: Xóa và trả về phần tử có key nhỏ nhất/lớn nhất
GetMinimum/GetMaximum: Trả về phần tử có khóa nhỏ nhất/lớn nhất
mà không xóa nó
Các Operations phụ trợ trên Priority Queues
kth – Smallest/kth – Largest: Trả về khóa thứ k – Nhỏ nhất/Lớn nhấttrong hàng đợi ưu tiên
Size: Trả về số phần tử trong hàng đợi ưu tiên
Heap Sort: Sắp xếp các phần tử trong hàng đợi ưu tiên dựa trên mức độ
ưu tiên (khóa)
1.2.3 Ứng dụng của Priority Queue
Hàng đợi ưu tiên có nhiều ứng dụng – mình sẽ liệu kê một vài trong số chúng:
Nén dữ liệu: thuật toán Huffman Coding
Thuật toán đường đi ngắn nhất: Thuật toán Dijkstra
Thuật toán cây bao trùm tối thiểu: Thuật toán Prim
Mô phỏng theo hướng sự kiện: khách hàng xếp hàng
Bài toán lựa chọn: Tìm phần tử nhỏ thứ k
Trang 91.2.4 Triển khai Priority Queue
Triển khai Unordered Array(mảng không có thứ tự)
Các phần tử được chèn vào mảng mà không cần quan tâm đến thứ tự Việc xóa(DeleteMax) được thực hiện bằng cách tìm kiếm khóa và sau đó xóa
Insertions complexity: O(1) DeleteMin complexity: O(n)
Triển khai Unordered List (List không có thứ tự)
Nó rất giống với triển khai mảng, nhưng thay vì sử dụng mảng, danh sách liênkết được sử dụng
Insertions complexity: O(1) DeleteMin complexity: O(n)
Triển khai Ordered Array(mảng có thứ tự)
Các phần tử được chèn vào mảng theo thứ tự được sắp xếp dựa trên trườngkhóa Việc xóa chỉ được thực hiện ở một đầu
Insertions complexity: O(n) DeleteMin complexity: O(1)
Triển khai Ordered List(List có thứ tự)
Các phần tử được chèn vào danh sách theo thứ tự được sắp xếp dựa trêntrường key Việc xóa chỉ được thực hiện ở một đầu, do đó duy trì trạng thái củahàng đợi ưu tiên Tất cả các chức năng khác được liên kết với linked list ADTđược thực hiện mà không cần sửa đổi
Insertions complexity: O(n) DeleteMin complexity: O(1)
Triển khai Ordered List(List có thứ tự)
Các phần tử được chèn vào danh sách theo thứ tự được sắp xếp dựa trêntrường key Việc xóa chỉ được thực hiện ở một đầu, do đó duy trì trạng thái củahàng đợi ưu tiên Tất cả các chức năng khác được liên kết với linked list ADTđược thực hiện mà không cần sửa đổi
Trang 10Insertions complexity: O(n) DeleteMin complexity: O(1).
Triển khai Binary Search Trees
Cả việc thêm và xóa đều lấy trung bình O(logn) nếu việc thêm vào là ngẫu nhiên(các bạn có thể tham khảo các bài về Tree mình đã trình bày ở phần trước)
Triển khai Balanced Binary Search Trees
Cả thao tác thêm và xóa đều lấy O(logn) trong trường hợp xấu nhất
Triển khai Binary Heap
Trong các phần tiếp theo, chúng ta sẽ thảo luận chi tiết về điều này Hiện tại, giả
sử rằng việc triển khai heap nhị phân mang lại độ phức tạp O(logn) cho tìmkiếm, chèn và xóa và O(1) để tìm phần tử lớn nhất hoặc nhỏ nhất
1.3 Round Robin
1.3.1 Round Robin là gì?
Trang 11H3.1 round robin được triển khai ở các hệ điều hànhThuật toán lập trình Round Robin là giải thuật định thời CPU Mỗi tiến trình sẽđược gán một thời gian giữa CPU nhất định.
Round Robin được xuất phát từ nguyên tắc vòng tròn Mỗi người lận lượt sẽnhận được một phần bằng nhau của một thứ gì đó Giải thuật này có khả năngthực thi các quy trình miễn phí
1.3.2 Các đặc điểm của round robin
Round Robin là giải thuật ưu tiên, thuộc danh sách giải thuật mở đầu Đây làmột trong những giải thuật đơn giản, tồn tại lâu đời và tiêu thức công bằngnhất
Khi giải trình Round Robin, khoảng thời gian cần phải đặt ở mức tối thiểu Nó
sẽ gán cho một tác vụ công cụ cần để xử lý Thế nhưng, chúng có thể khácnhau hệ điều hành
Được phát triển theo mô hình Hybrid và điều hành bằng đồng hồ trong tựnhiên Giải thuật sử dụng thời gian thực, khoản hồi sẽ được giới hạn trong mộtkhoảng thời gian nhất định Đa phần, hệ điều hành truyền thống đều sử dụngphương pháp lập lịch Round Robin
1.3.3 Nguyên lý giải thuật toán Round Robin
Mỗi tiến trình Round Robin trước khi bắt đầu đưa vào CPU xử lý sẽ được cấpcho một đơn vị thời gian chiếm dụng nhất định
Dưới đây là nguyên lý giải thuật toán Round Robin:
Đầu tiên, cần có một hàng đợi Trong đó, các quy trình sẽ được sắp xếptheo thứ tự đến trước xử lý trước
Một giá trị lượng tử được cấp phát để thực hiện một quá trình
Tiến trình đầu tiên được thực hiện đến khi kết thúc giá trị lượng tử Tiếpđến, mỗi ngắt sẽ được tạo ra và trạng thái được lưu
Từ CPU chuyển sang quy trình tiếp theo, phương pháp tương tự và đượcthực hiện tuần hoàn
Các bước tương tự được lặp đi lặp lại đến khi quá trình kết thúc
Trang 12H3.2 nguyên lý giải thuật toán round robin
1.3.4 Điều kiện giải thuật toán
Để giải được thuật toán Round Robin cần đáp ứng những điều kiện:
phải hoàn thành công việc phải thực hiện
Thời gian quay vòng: Dùng để phân biệt giữa thời gian đến với thời gian
hoàn thành
Công thức tính: Thời gian vòng = Thời gian hoàn thành – Thời gian đến
Thời gian chờ: Phân biệt giữa thời gian liên tục với thời gian vòng.
Công thức tính: Thời gian chờ = Thời gian quay vòng – Thời gian nổ
Trang 13H3.4 điều kiện giải toán
1.3.5 ưu nhược điểm của thuật toán
Ưu điểm
Thuật toán lập lịch Round Robin có những ưu điểm nổi trội sau:
Giúp quá trình phân bổ công việc cho CPU diễn ra một cách hợp lý
Toàn bộ quy trình được xử lý, không có bất cứ ưu tiên nào
Trong giải thuật toán lập lịch không đối mặt với các vấn đề thiếu hụt hayhiệu ứng bảo vệ
Thêm quy trình mới tạo vào cuối hàng đợi
Mang đến hiệu suất cao cho thời gian phản hồi trung bình
Không mang tính chu kỳ
Mỗi quá trình có cơ hội lên lịch sau một thời gian lượng tử nhất định
Trong quá trình thực hiện, một lượng tử thời gian cụ thể sẽ được phân
Trang 14 Thông thường, thuật toán lập lịch thường sử dụng tính năng chia sẻ thờigian Điều này giúp cung cấp cho mỗi công việc một khe thời gian haylượng tử.
H3.5 ưu điểm của thuật toánn
Nhược điểm
Hiệu suất phụ thuộc nhiều vào lượng tử thời gian
Khi thời gian ngắt của hệ điều hành ở mức thấp Đầu ra của bộ xử lý sẽ bịgiảm thiểu đáng kể
Tiêu tốn nhiều thời gian cho việc chuyển đổi ngữ cảnh
Gặp không ít khó khăn trong việc tìm kiếm một lượng tử thời gian chínhxác
Khi lượng tử thời gian ở mức thấp có thể dẫn đến tình trạng quá trìnhchuyển đổi ngữ cảnh trong hệ thống tăng cao
Khả năng hiểu bị suy giảm
Không đặt được mức độ ưu tiên
1.3.6 Tăng giá trị lượng tử thời gian
Lượng tử thời gian ngày càng tăng đồng nghĩa với số lượng chuyển đổi ngữcảnh giảm đi Từ đó, thời gian phản hồi sẽ tăng mạnh và tỷ lệ thiếu hụt cũng
Trang 15tăng Khi cao hơn về lượng tử thời gian, Round Robin sẽ tốt hơn về số lượngchuyển đổi ngữ cảnh.
1.3.7 Giảm giá trị lượng tử thời gian
Khi giá trị thời gian giảm sẽ gây ra tình trạng số lượng chuyển đổi ngữ cảnh giatăng Trong trường hợp này, thời gian phản hồi sẽ giảm, tỷ lệ thiếu hụt sẽ giảmtheo Giá trị nhỏ hơn của lượng tử thời gian giúp cho Round Robin tốt hơn vềthời gian phản hồi
1.3.10 Thuật toán weights round robin
Bản chất của thuật toán này giống như Round Robin Thế nhưng, bạn có thểcấu hình cho một máy chủ nào đó được sử dụng thường xuyên hơn
1.3.11 Thuật toán weights least connection
Thuật toán này dựa vào số lượng kết nối để thực hiện cân bằng tải cho máychủ Nó tự động lựa chọn máy chủ với số lượng kết nối đang hoạt động ở mứcnhỏ nhất
Trang 161.3.12 Thuật toán least response time
Là thuật toán sử dụng phương pháp thời gian đáp ứng ít nhất Nó lựa chọndịch vụ máy chủ với thời gian đáp ứng thấp nhất Ngoài ra còn có các thuậttoán cân bằng tải dựa vào phần mềm hoặc phần cứng được sử dụng
1.4 Weighted Fair Queuing
1.4.1 Kỹ thuật hàng đợi Weighted Fair Queuing(WFQ)
+ WFQ không cho phép cấu hình phân loại WFQ phân loại gói tin theo luồng(flow), một luồng bao gồm tất cả các gói tin có cùng đích đến và cùng nguồn,cùng port đích và port nguồn
+ Tính năng lập lịch: WFQ dựa vào luồng, do vậy những luồng nào có độ ưutiên cao hơn thì sẽ được phát trước
+ Mỗi luồng là một hàng đợi, vì vậy số hàng đợi trong WFQ có thể lên tới 4096hàng đợi lớn hơn rất nhiều so với PQ hay FIFO
H4.1 Hàng đợi WFQ
Khi gói tin vào interface, nó sẽ được phân loại thành các luồng theo các thông
số trong gói tin: