Quá trình chuyển mạch gói giúp chô việc tối ưu hóa việc sử dụng tài nguyên mạng và cải thiện hiệu suất truyền tải.Để làm được những viện trên thì các cơ chế hàng đợi một phần không nhỏ..
Trang 1TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA ĐIỆN TỬ - VIỄN THÔNG
BÁO CÁO BÀI TẬP NHÓM <MẠNG VIỄN THÔNG>
Đề bài: Tìm hiểu về các cơ chế hàng đợi trong mạng chuyển mạch gói
Sinh viên thực hiện:
Sinh viên 1 : Lê Văn Mạnh
Trang 2MỤC LỤC
Trang
MỤC LỤC 1
MỞ ĐẦU 2
I, TỔNG QUAN VỀ MẠNG CHUYỂN MẠCH GÓI VÀ HÀNG ĐỢI 3
I,1 Mạng chuyển mạch gói 3
b, Hàng đợi trong mạng chuyển mạch gói 4
II, CÁC CƠ CHẾ HÀNG ĐỢI TRONG MẠNG CHUYỂN MẠCH GÓI 5
II,1 Hàng đợi FIFO (First In First Out) Queuing 5
II,2 Hàng đợi ưu tiên PQ (Priority Queue) 5
II,3 Hàng đợi cân bằng có trọng số WFQ (Weighted Fair Queuing) 7
II,4 Hàng đợi cân bằng có trọng số dựa trên Class CBWFQ (Class Based Weighted Fair Queuing) 10
II,5 Hàng đợi độ trễ thấp LLQ (Low Latency Queuing) 11
KẾT LUẬN 13
Trang 3MỞ ĐẦU
Hiện này, trong lĩnh vực mạng truyền thông dữ liệu, chuyển mạch gói là một công nghệ cực kì quan trọng trong việc truyền tải dữ liệu Quá trình chuyển mạch gói giúp chô việc tối ưu hóa việc sử dụng tài nguyên mạng và cải thiện hiệu suất truyền tải.Để làm được những viện trên thì các cơ chế hàng đợi một phần không nhỏ Các cơ chế hàng đợi đóng vai trò then chốt trong việc quản lý lưu lượng dữ liệu trong hệ thống mạng chuyển mạch gói, đảm bảo tính công bằng, tính chính xác và hiệu quả của quá trình truyền,tả dữ liệu Trong bài tiểu luận này, chúng em muốn nêu rõ khái niệm hàng đợi và đưa ra một số cơ chế hàng đợi cho mạng chuyển mạch gói mà chúng em đã tìm hiểu
Trang 4I, TỔNG QUAN VỀ MẠNG CHUYỂN MẠCH GÓI VÀ HÀNG ĐỢI I,1 Mạng chuyển mạch gói
a, Khái niệm
Mạng chuyển mạch gói là à một phương pháp truyền dữ liệu trong đó dữ liệu được chia thành các phần nhỏ có độ dài thay đổi và sau đó được truyền đến đường truyền mạng Các phần dữ liệu bị hỏng được gọi là các gói Sau khi nhận được các gói dữ liệu hoặc dữ liệu bị hỏng đó, tất cả sẽ được tập hợp lại tại đích và do đó tạo thành một tệp hoàn chỉnh Do phương pháp này, dữ liệu được truyền nhanh chóng và hiệu quả Trong phương pháp này, không cần thiết lập trước hoặc đặt trước tài nguyên như phương pháp chuyển mạch kênh
Phương pháp này sử dụng kỹ thuật Store và Forward Vì vậy, mỗi bước nhảy sẽ lưu trữ gói tin trước và sau đó chuyển tiếp các gói tin đến máy chủ lưu trữ đích tiếp theo Mỗi gói chứa thông tin điều khiển, địa chỉ nguồn và địa chỉ đích Do đó, các gói tin có thể sử dụng bất kỳ tuyến đường hoặc đường dẫn nào trong mạng hiện có
b, Thành phần của mạng chuyển mạch gói
+ Gồm các đường truyền và các chuyển mạch gói + Có hai chế độ hoạt động
- Không kết nối - Mạch ảo c, Chức năng
+ Kết nối tự động các đầu vào với các đầu ra + Cho phép chia sẻ động tài nguyên đường truyền + Chuyền tải các gói giữa các người dùng
I,2 Hàng đợi a, Khái niệm
Hàng đợi (queue) là một cấu trúc dữ liệu hoạt động theo cơ chế FIFO (First In First Out), tạm dịch là “vào trước ra trước” Có nghĩa là phần tử nào được thêm hàng đợi trước thì sẽ được lấy ra trước
Có thể hình dung hàng đợi như một đoàn người xếp hàng mua vé Người nào xếp hàng trước sẽ được mua vé trước và ra khỏi hàng để nhường vị trí cho người xếp hàng ngay phía sau
Có thể xem hàng đợi (queue) là một kiểu danh sách có 2 phép toán đặc trưng là:
- Bổ sung một phần tử vào cuối danh sách (rear) - Loại bỏ một phần tử ở đầu danh sách (front)
Trang 5b, Hàng đợi trong chuyển mạch gói
Hệ thống hàng đợi trong mạng chuyển mạch gói là một cơ chế quản lý và điều tiết
các gói tin dữ liệu khi chúng đến tại các thiết bị mạng như router, switch, hoặc firewall trước khi được chuyển tiếp đến đích cuối cùng Trong mạng chuyển mạch gói, dữ liệu được chia nhỏ thành các gói tin và gửi qua mạng theo từng đoạn nhỏ Khi các gói tin đến tại các thiết bị mạng, hệ thống hàng đợi sẽ lưu trữ chúng tạm thời trong các hàng đợi (queues) để xử lý theo thứ tự hoặc ưu tiên nhất định trước khi chúng được chuyển tiếp đi
Các Đặc Điểm Chính của Hệ Thống Hàng Đợi:
- Lưu trữ tạm thời: Hệ thống hàng đợi giữ các gói tin dữ liệu tạm thời tại các thiết bị mạng trước khi chúng được xử lý và chuyển tiếp
- Điều Tiết Lưu Lượng: Hệ thống hàng đợi điều tiết lưu lượng dữ liệu để tránh tình trạng quá tải và mất mát dữ liệu
- Phân Loại Ưu Tiên: Có thể cấu hình hệ thống hàng đợi để ưu tiên xử lý các gói tin theo các tiêu chí như độ ưu tiên, loại dịch vụ, hay đích đến
- Kiểm soát Độ Trễ: Quản lý hàng đợi cũng giúp kiểm soát độ trễ trong mạng bằng cách xử lý các gói tin theo thứ tự và đúng lúc
- Phát hiện và Xử lý Lỗi: Các hệ thống hàng đợi thông minh có thể phát hiện và xử lý các gói tin lỗi hoặc không hợp lệ một cách hiệu quả
+ Hệ thống hàng đợi đóng vai trò quan trọng trong việc tối ưu hóa hiệu suất và chất lượng dịch vụ của mạng chuyển mạch gói bằng cách điều tiết lưu lượng, ưu tiên xử lý dữ liệu và kiểm soát độ trễ, đồng thời giúp ngăn chặn các tình trạng quá tải và mất mát dữ liệu không mong muốn
Trang 6II, CÁC CƠ CHẾ HÀNG ĐỢI TRONG MẠNG CHUYỂN MẠCH GÓI II,1 Hàng đợi FIFO (First In First Out) Queuing
FIFO là hàng đợi mặc định được sử dụng trong hầu hết các router FIFO không có sự phân loại vì tất cả các gói đều thuộc về cùng một lớp Các gói đến từ các luồng khác nhau được đối xử công bằng bằng cách đưa vào hàng đợi theo trật tự đến (gói nào đến trước sẽ được đưa vào trước và được phục vụ trước)
Hàng đợi FIFO sử dụng một hàng đợi đơn cho bộ giao tiếp Vì chỉ có một hàng đợi nên không cần phân lớp để quyết định khi gói đi vào Và cũng không cần lập lịch ban đầu để cho hàng đợi lấy gói tiếp theo Ta chỉ quan tâm đến cách cấu hình chiều dài hàng đợi FIFO tránh tác động đến độ trễ và mất gói FIFO thường được dùng trên các interface tốc độ cao khó có khả năng xảy ra tắc nghẽn
- Không thể cung cấp các chất lượng phục vụ cho các gói khác nhau - Không có sự kiểm tra lại các thông tin bị hỏng hoặc mất
- Điều khiển truyền thông mạng khó
II,2 Hàng đợi ưu tiên PQ (Priority Queue)
Kĩ thuật này được sử dụng trong trường hợp đa hàng đợi, mỗi hàng đợi có một mức ưu tiên khác nhau, hàng đợi nào có mức ưu tiên cao nhất sẽ được ưu tiên phục vụ trước Khi có tắc nghẽn xảy ra thì các gói trong các hàng đợi có độ ưu tiên thấp sẽ bị loại bỏ Nói cách khác, lưu lượng quan trọng sẽ được gán các mức ưu tiên cao và lưu lượng có mức ưu tiên cao nhất được truyền trước, còn lại các lưu lượng ít
Trang 7quan trọng hơn
Các gói được phân loại dựa trên các tiêu chuẩn phân loại của người sử dụng, và được đặt ở một trong số các hàng đợi đầu ra với các độ ưu tiên: độ ưu tiên cao, trung bình, bình thường (không được ưu tiên), ưu tiên thấp Các gói không được ấn định độ ưu tiên sẽ được đưa tới các hàng đợi bình thường Khi các gói được gửi tới giao diện đầu ra, các hàng đợi ưu tiên tại giao diện đó được quét các gói theo thứ tự độ ưu tiên giảm dần Hàng đợi có độ ưu tiên cao nhất được quét đầu tiên, sau đó đến các hàng đợi trung bình và tiếp tục các hàng đợi có độ ưu tiên khác Gói đứng đầu hàng đợi có độ ưu tiên cao nhất được truyền đầu tiên
Thủ tục này được lặp lại mỗi khi có một gói được truyền Chiều dài lớn nhất của hàng đợi được định nghĩa theo chiều dài giới hạn Khi một hàng đợi dài hơn chiều dài hàng đợi giới hạn thì các gói đến sau sẽ bị loại bỏ PQ thường được dùng cho các interface băng thông thấp ở đó ta muốn gán mức ưu tiên tuyệt đối cho ứng dụng hay traffic trọng yếu
+ Ưu điểm:
Trang 8- Hiệu suất được cải thiện cho các gói tin quan trọng do việc ưu tiên truyền các gói tin cần thiết
→ Đảm bảo được rằng các gói tin cần thiết ít bị trễ hơn và có khả năng truyền tải thành công cao hơn
- Giảm tràn hàng đợi do loại bỏ các gói tin có mức độ ưu tiên thấp
→ Kích thước hàng đợi được duy trì, ngăn chặn tràn và mất các gói cho tất cả các gói tin
+ Nhược điểm:
- Mất các gói tin có mực độ ưu tiên thấp - Độ phức tạp tăng lên so với FIFO
II,3 Hàng đợi cân bằng có trọng số WFQ (Weighted Fair Queuing)
WFQ khác với các hàng đợi PQ và FIFO ở các điểm sau:
+ 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ó độ ưu tiê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 4096 hàng đợi lớn hơn rất nhiều so với PQ hay FIFO
Trang 9Khi 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:
+ IP source + IP destination + Port source + Port destination
+ Giá trị precedence của gói tin IP
Hai vấn đề quan trọng trong WFQ đó là :
- Đối xử công bằng với tất cả các luồng đang tồn tại: Giả sử ta có băng thông là 128 kbps và có 10 hàng đợi đang tồn tại, mỗi hàng đợi sẽ nhận được băng thông là 12.8 kbps Nếu số hàng đợi là 100 thì mỗi hàng đợi sẽ nhận băng thông là 1.28 kbps Một vấn đề tồn tại ở đây là sự quá công bằng của WFQ, giả sử trong số 10 hàng đợi trên hàng đợi thứ 1 cần băng thông là 5 kbps và hàng đợi thứ 2 cần băng thông là 30 kbps, nhưng vì WFQ chỉ cấp băng thông cho mỗi hàng đợi là 12.8 kbps, như vậy hàng đợi thứ 1 dư băng thông nó sẽ luôn được phục vụ tốt nhất, nghĩa là low delay, low jitter, low loss vì số gói tin trong hàng đợi của nó lúc nào cũng rất ít Với hàng đợi thứ 2 thiếu băng thông vì vậy delay, jitter và loss của nó
Trang 10sẽ rất lớn
- Cung cấp thêm băng thông cho những luồng có mức ưu tiên cao hơn (giá trị IP precedence cao hơn hay DSCP cao hơn) : Vẫn với giả sử trên 128 kbps cho 10 luồng Bây giờ giả sử có 5 luồng với IP precedence bằng 0, và 5 luồng với IP precedence bằng 1 5 luồng IP precedence 1 có mức ưu tiên cao hơn 5 luồng IP precedence 0 theo đó tỉ số băng thông phân phối là 2:1 Luồng IP precedence 1 sẽ nhận băng thông là 17 kbps gấp đôi luồng IP precedence 0 là 8.5 kbps, cách tính tỉ số này như sau:
Sau khi được phân loại gói tin sẽ được tính giá trị SN (Sequence number) như sau: SN = SN (trước đó) + Weight*length
+ SN : Sequence number
+ Weight : trọng số của gói tin , Weight = 32384 / (IP Precedence + 1) + Length : Chiều dài gói tin
Sau đó quyết định có drop gói tin hay không dựa vào 2 thông số (còn gọi là Tail drop):
- Hold-queue: Nếu gói tin là này là gói mà làm vượt mức hold-queue (tổng số gói tin trong tất cả các hàng đơi) thì nó sẽ bị drop
- CDT: (Congestion discard threshold) là số gói tin tối đa trong một hàng đợi, giá trị này có thể cấu hình cho phép từ 1 đến 4096 Tiếp theo các gói tin nếu không bị drop sẽ đưa vào hàng đợi và chờ phát đi
Khi nằm trong hàng đợi các gói tin sẽ được lập lịch (scheduler logic) Quá trình lập lịch dựa vào SN của gói tin, precedence và volume (Số gói tin đang có trong một
Trang 11II,4 Hàng đợi cân bằng có trọng số dựa trên Class CBWFQ (Class Based Weighted Fair Queuing)
Class-Based Weighted Fair Queuing (CBWFQ) là kĩ thuật hàng đợi ra đời sau WFQ Nó giống với WFQ ở chỗ cho phép sử dụng WFQ ngay bên trong một hàng đợi của nó, nhưng khác với WFQ ở chỗ: CBWFQ sử dụng Class để phân loại còn WFQ sử dụng flow CBWFQ có thể cấu hình băng thông thực sự cho một hàng đợi
Tiến trình gởi gói tin của CBWFQ Từ trái sang phải:
1 CBWFQ phân loại gói tin bằng ACLs, MPLS EXP, Port… 2 Quyết định drop gói tin bằng các kĩ thuật Tail drop hoặc WRED
3 Số hàng đợi tối đa là 64 và chiều dài hàng đợi tối đa là 64, các giá trị này là mặc định ta có thể set tùy theo ý muốn
4 Bên trong mỗi hàng đợi ta có thể dùng FIFO hoặc WFQ WRED là kĩ thuật hàng đợi dùng để chống nghẽn, nó tốt cho một số loại dữ liệu nhưng cũng không tốt cho các dữ liệu như Voice hay Video vì các dữ liệu này cần không bị rớt trong mọi trường hợp CBWFQ vượt trội hơn các hàng đợi WFQ ở chỗ: Nó phân loại gói tin theo Class chứ không theo flow, như vậy dễ dàng cho ta thiết kế hơn
Trang 12II,5 Hàng đợi độ trễ thấp LLQ (Low Latency Queuing)
Đối với những ứng dụng cần độ trễ thấp, Low-Latency Queuing (LLQ) là chọn lựa tốt LLQ tìm kiếm và hành động giống như CBWFQ trên hầu hết mọi phương diện, ngoài trừ yếu tố là LLQ cho phép một số hàng đợi hoạt động như các hàng đợi có độ trễ thấp LLQ cho phép các hàng đợi có độ ưu tiên cao (giống như PQ) LLQ luôn phục vụ các gói tin trong những hàng đợi này trước LLQ có thể được dùng trong các tình huống khác nhau
Nếu một chính sách policy map có ít nhất một LLQ, chính sách policy map đó có thể xem như đang hiện thực LLQ, và hàng đợi đó được gọi là LLQ Một hàng đợi LLQ còn được gọi là PQ vì đặc tính hoạt động giống PQ Khi LLQ thêm vào một hàng đợi có độ trễ thấp vào cơ chế CBWFQ, nó cũng giúp ngăn ngừa hiện tượng hàng đợi chết của PQ
LLQ kiểm soát hàng đợi dựa trên bandwidth được cấu hình Bandwidth cấp cho một hàng đợi LLQ vừa là mức bandwidth đảm bảo tối thiểu, vừa là mức bandwidth tối đa Kết quả là, các gói tin có thể được giải phóng khỏi hàng đợi để có độ trễ thấp nhưng sẽ có vài gói tin bị loại bỏ để ngăn ngừa các hàng đợi khác rơi vào trạng thái chết vì không được xử lý Hoạt động của LLQ được thể hiện trong hình sau:
Trang 13LLQ cho phép nhiều hàng đợi được cấu hình như PQ LLQ đặt các gói tin từ các hàng đợi LLQ vào một hàng đợi bên trong Vì vậy, các gói tin trong các hàng đợi ưu tiên khác nhau vẫn được phục vụ trước những gói tin trong các hàng đợi không ưu tiên, nhưng nó sẽ được phục vụ dựa trên thời gian gói tin đến trong bất kỳ hàng đợi ưu tiên nào Dùng nhiều hàng đợi ưu tiên do policy kiểm soát bandwidth Khi kiểm soát bandwidth của một lớp ở một mức nào đó và với lớp lưu lượng khác ở mức khác, dẫn đến có nhiều mức hiệu chỉnh khác nhau cho LLQ Ví dụ nếu hoạch định cho dữ liệu video và voice, có thể đặt các loại dữ liệu này vào các hàng đợi LLQ riêng biệt và cả hai loại dữ liệu này sẽ có độ trễ thấp, đồng thời ngăn ngừa dữ liệu video chiếm bandwidth của voice và ngược lại
Trang 14KẾT LUẬN
Qua quá trình nghiên cứu, tìm hiểu về kỹ thuật chuyển mạch, nhóm em đã thực sự hiểu sâu, rộng về mạng viễnthông, sự kết nôi truyền thông trong mạng, đề tài đã giúp nhóm em nắm vũng về cơ bản các kỹ thuật chuyển mạchtrong mạng viễn thông nói chung, kỹ thuật truyên số liệu nói riêng
Các cơ sở chuyển mạch rất quan trọng đối vói viễn thông, là trái tim của các tổng đài trong mạng viễn thông;Sự ra đời của các công nghệ chuyển mạch điểu khiển tự động, số đã cải thiên tối đa về tính trung thực, tốc độ kếtnôi thông tin và truyên thông;Thu hẹp khoảng cách giữa các nguòi dùng, thuân tiên và không thể thiếu trong cuộc sống
Thông qua tìm hiểu đề tài này bản thận chúng em tự thấy rằng mình còn phải cố gắng rât nhiều, cần phải trang bịcho mình nhiều kiến thức để có thể hiểu sâu, rộng hơn nữa Với sự phát triển của công nghệ thông tin nhu hiện nay,nếu chúng ta không trang bị cho mình những kiến thức cơ bản và tiếp thu những kiến thức mới thì chúng ta sẽ không theo kịp sự phát triển ngày càng nhanh của công nghệ trên thê giói nói chung và trong nước ta nói riêng
Với đề tài đã được trình bày trong bài tập của nhóm, mặc dù chỉ dừng ở mức tìm hiểu, nhưng chúng em khẳng định rằng sau khi làm bài tập này đã giúp chúng em có thêm kiến thức tổng quan về các kỹ thuật chuyển mạch và tầm quan trọng của kỹ thuật chuyển mạch trong mạng viễn thông và việc truyền dữ liệu, số liệu Tuy chúng em đã cố gắng tìm hiểu tham khảo nhiều tài liệu nhung do kiến thức của đề tài rất rộng chúng em chưa hoàn toàn hiểu hết được, vì thế trong quá trình thực hiện chúng em không thê tránh khỏi thiêu sót Mong cô và cácbạn góp ý thêm cho đề tài duợc hoàn thiện hơn