Để thuận tiện cho việc thực hiện mô phỏng và đánh giá, tất cả các bài mô phỏng trong đề tài này đều thống nhất sử dụng một topology mạng gồm 2 nút router (r1 và r2 ) và các host (s1, s2, s3, s4) như hình dưới đây:
Hình 29: Topology vật lý mạng dùng để thực hiện mô phỏng.
+ Liên kết giữa các host s1, s2 với router r1; s3, s4 với r2 sử dụng hàng đợi DropTail.
+ Các link giữa các nút đều là duplex với thời gian trễ và băng thông như biểu diễn trên hình vẽ ( Liên kết giữa hai router r1, r2 với các host s1, s2, s3, s4 có kiến trúc, băng thông, tốc độ tương đương mạng LAN. Còn liên kết giữa r1 với r2 có băng thông, tốc độ tương đương mạng WAN ).
Sau đây là nội dung và kết quả các bài mô phỏng mà sinh viên đã thực hiện. Mã nguồn OTcl Script của các bài mô phỏng này có trong phần phụ lục của bài báo cáo. 4.3.1 Mô phỏng tổng quan mạng có sử dụng giải thuật RED để quản lý tắc nghẽn: 4.3.1.a Mục đích:
Mục đích của bài mô phỏng này là quan sát mối tương quan giữa 2 giá trị độ dài hàng đợi tức thời và độ dài hàng đợi trung bình của giải thuật RED qua đó nhận xét về giải thuật.
Đánh giá việc quản lý hàng đợi tại một nút router sử dụng giải thuật RED.
4.3.1.b Mô hình:
Topo mạng như biểu diễn ở hình 29 . Liên kết giữa router r1 và r2 sử dụng giải thuật RED. Kích thước hàng đợi tối đa là 25 packet. Các tham số minth , maxth và wq của giải thuật RED ở bài này lần lượt là minth = 5 , maxth =12, wq = 0.002, maxp = 0.02.
Có 2 nguồn lưu lượng FTP ( fpt1 và fpt2 ) được gắn vào hai nút s1 và s2. Tương ứng có 2 đích nhận lưu lượng được gắn vào nút s3. Độ trễ và băng thông các mối liên kết như trên hình 29.
4.3.1.c Thực hiện và kết quả:
Thực hiện mô phỏng với lịch trình quy định trong script của chương trình: Thời điểm 0.0s : Luồng 1 ( luồng ftp1 từ nút s1 đến sink là nút s3 ) bắt đầu truyền.
Thời điểm 3.0s : Luồng 2 ( luồng ftp2 từ nút s2 đến sink là nút s3 ) bắt đầu truyền.
Thời điểm 30.0s : Cả 2 luồng ngưng truyền. Kết quả :
Sau khi chạy chương trình trên NS-2 ta có một đồ thị được vẽ trên Xgraph biểu thị 2 giá trị chiều dài hàng đợi tức thời và hàng đợi trung bình của topo mạng trong vòng 30 giây của quá trình mô phỏng như hình 30.
Ngoài đồ thị biểu diễn trên Xgraph, ta còn nhận được một hình mô phỏng trực quan sự rớt gói trong quá trình truyền dữ liệu của mạng như ở hình 32.
Hình 30. Kết quả biểu diễn giá trị độ dài hàng đợi tức thời (queue) và độ dài hàng đợi trung bình ( ave_queue) nhận được ở bài 1.
Hình 32: Quan sát trực quan việc thả gói trong mạng sử dụng RED. 4.3.1.d. nhận xét :
Qua kết quả mô phỏng trực quan một topo mạng xử dụng giải thuật RED để quản lý nghẽn giữa 2 router, ta đã thấy được những ưu điểm của giải thuật RED khi được áp dụng.
Hình 30 biểu diễn chiều dài hàng đợi hiện thời và chiều dài hàng đợi trung bình theo thời gian của hàng đợi tại gateway sử dụng giải thuật RED. Đường cong màu đỏ là kích thước hàng đợi hiện thời của router; đường cong mầu xanh lục biểu diễn kích thước
hàng đợi trung bình được tính bằng công thức:
Avgi = (1-wq )*avgi-1 + wq*q
Ở đây, avg là chiều dài hàng đợi trung bình; wq là trọng số dùng để tính toán và ở bài mô phỏng này được lấy bằng 0.002; q là kích thước hàng đợi tức thời. Giá trị minth = 5 và maxth = 12.
Nhìn vào đồ thị ở hình 30 ta thấy có những thời điểm độ lớn hàng đợi tức thời tăng một cách mạnh mẽ, thậm trí vượt qua cả ngưỡng maxth ( đoạn từ 3s đến khoảng 4.5s ). Nhưng giá trị độ lớn hàng đợi trung bình vẫn ở mức thấp hơn rất nhiều, thậm trí ở thời điểm đó nó còn chưa chạm tới ngưỡng tối thiểu minth. Và ta nhận thấy trong suốt khoảng thời gian thực hiện mô phỏng, chiều dài hàng đợi trung bình vẫn giữ ở mức rất thấp, gần như là nó chỉ dao động xung quanh giá trị minth. Mà theo lý thuyết, giải thuật RED loại bỏ gói tin chỉ dựa vào độ lớn của chiều dài hàng đợi trung bình chứ không dựa vào chiều dài hàng đợi tức thời.
Khi kích thước hàng đợi trung bình nhỏ hơn ngưỡng minth, RED hoàn toàn không loại bỏ hay đánh dấu (mark) gói tin; khi đó, xác suất loại bỏ gói của nó là 0 và mọi gói đến hàng đợi đều được xếp vào hàng.
Hình 31 cho chúng ta quan sát một cách rõ ràng hơn những thời điểm mà giá trị hàng đợi trung bình đạt cao nhất. Bằng đồ thị ta thấy, những thời điểm này là rất ít, và giá trị hàng đợi trung bình cũng không vượt quá cao so với giá trị minth. Tuy nhiên, ở những thời điểm này, RED cũng loại bỏ gói tin với một xác suất thấp nhất định để đảm bảo tránh né tắc nghẽn thật an toàn. Và ta có thể thấy một cách trực quan trên màn hình NAM, có những gói tin trong hàng đợi sẽ ngẫu nhiên được thả ra khỏi hàng đợi.
Trong suốt quá trình thực hiện mô phỏng ở bài này, ta thấy không có một thời điểm nào chiều dài hàng đợi trung bình vượt quá ngưỡng cực đại maxth nên tắc nghẽn đã hoàn toàn không xảy ra.
Quan sát đường cong biểu diễn chiều dài hàng đợi tức thời ở hình 30, ta thấy rằng càng về cuối quá trình mô phỏng, đường cong này càng ổn định, nó dao động với một biên độ thấp dần và ổn định dần hơn. Điều này là rất có ý nghĩa với giao thông mạng, nó giúp mạng ổn định và tránh được những sự bùng nổ dữ liệu trong router. Điều này có được do RED đã loại bỏ gói tin một cách ngẫu nhiên và nó luôn theo dõi sát sự ra tăng của tắc nghẽn trong quá trình thực hiện.
Kết luận chung của bài mô phỏng này là ta thấy được điểm mạng của cơ chế RED khi mạng mô phỏng sử dụng nó luôn giữ được tình trạng ổn định trong suốt quá trình mô phỏng, tỷ lệ loại bỏ gói là rất thấp.
Tuy nhiên, bài mô phỏng này mới chỉ đánh giá được tác dụng của giải thuật RED để quản lý hàng đợi tại một nút router chứ chưa đánh giá được đầy đủ hiệu năng TCP ở những mối liên kết đầu cuối. Vấn đề này sẽ được giải quyết ở hướng phát triển tiếp theo của đồ án.
4.3.2 Mô phỏng giải thuật RED với các cách thiết đặt tham số điều khiển minth và maxth khác nhau: maxth khác nhau:
4.3.2.1 Mục đích:
Ở bài mô phỏng trên, ta đã thấy được hiệu quả của giải thuật quản lý tắc nghẽn RED. Một hiệu quả rất thuyết phục. Nhưng không phải lúc nào RED cũng làm việc tốt như thế. Bằng các tính toán lý thuyết [8] [9] [10] người ta đã chứng minh được rằng RED chỉ hoạt động thật tốt khi nó được thiết lập các tham số đầu vào một cách hợp lý.
Ở phần này, ta sẽ đi tìm hiểu hiệu suất của giải thuật RED với các cách thiết đặt các tham số đầu vào khác nhau. Bằng cách: Giữ nguyên 2 tham số điều khiển maxp = 0.02 và wq = 0.02. Ban đầu chạy chương trình mô phỏng ví dụ ở bài 1. Sau đó giữ nguyên giá trị maxth =12, thay đổi lần lượt minth = 2 và minth = 10. Kế tiếp, giữ nguyên minth = 5 như ở bài 1, thay đổi maxth lần lượt với maxth = 7 và maxth = 30. Qua đó có thể so sánh và rút ra nhận xét về sự phụ thuộc vào việc thiết lập các tham số điều khiển minth và maxth của
RED và trường hợp tối ưu nhất. 4.3.2.2 Mô hình:
Ở phần này ta vẫn sử dụng topology mạng như ở hình 29, chỉ khảo sát hiệu suất của RED thông qua việc cài đặt lại các tham số đầu vào như maxth , minth, wq.
Liên kết giữa 2 router r1 và r2 với các host và giữa 2 router này với nhau vẫn giữ nguyên. Các nguồn phát và thu dữ liệu vẫn giữ nguyên như ở bài mô phỏng [4.3.1].
Giải thuật RED được sử dụng với kích thước hàng đợi tối đa queue-limit là 20 packet.
4.2.2.3 Giải thuật RED với tham số minth = 2, maxth =12: Thực hiện :
Thực hiện thiết lập các giá trị tham số điều khiển của giải thuật RED như sau: minth = 2
maxth = 12 wq = 0.002
Lịch trình thực hiện mô phỏng quy định trong script mô phỏng:
Thời điểm 0.0s : Luồng 1 ( luồng ftp1 từ nút s1 đến sink là nút s3 ) bắt đầu truyền.
Thời điểm 3.0s : Luồng 2 ( luồng ftp2 từ nút s2 đến sink là nút s3 ) bắt đầu truyền.
Thời điểm 30.0s : Cả 2 luồng ngưng truyền. Kết quả:
Sau khi hoàn tất quá trình mô phỏng, ta nhận được đồ thị Xgraph biểu diễn giá trị chiều dài hàng đợi hiện thời và chiều dài hàng đợi trung bình như trên hình 33.
Hình 34 biểu diễn một phần của đồ thị hình 33, cho một cái nhìn rõ ràng hơn về những khoảng thời gian mà chiều dài hàng đợi trung bình lớn hơn giá trị minth.
Nhận xét sơ bộ:
+Chiều dài hàng đợi trung bình vượt quá giới hạn chặn dưới minth trong hầu hết thời gian thực hiện mô phỏng, nhưng nó lại có giá trị thấp .
Hình 33: Đồ thị của hàng đợi tức thời (queue) và hàng đợi trung bình (ave_queue) của RED theo thời gian với minth=2, maxth=12..
4.3.2.4 Giải thuật RED với tham số minth = 10 ; maxth =12: Thực hiện:
Thực hiện thiết lập các giá trị tham số điều khiển của giải thuật RED như sau: minth = 10
maxth = 12 wq = 0.002
Lịch trình thực hiện mô phỏng quy định trong script mô phỏng:
Thời điểm 0.0s : Luồng 1 ( luồng ftp1 từ nút s1 đến sink là nút s3 ) bắt đầu truyền.
Thời điểm 3.0s : Luồng 2 ( luồng ftp2 từ nút s2 đến sink là nút s3 ) bắt đầu truyền.
Thời điểm 30.0s : Cả 2 luồng ngưng truyền.
Kết quả:Sau khi kết thúc quá trình mô phỏng, ta thu được đồ thị biểu diễn hàng đợi tức thời và hàng đợi trung bình như trong hình 35.
Hình 35 : Đồ thị của hàng đợi tức thời (queue) và hàng đợi trung bình (ave_queue) của RED theo thời gian với min =10, max =12.
Nhận xét sơ bộ:
+Chiều dài hàng đợi trung bình ave_queue tuy giữ ở mức độ dưới giá trị minth rất nhiều. Nhưng giá trị của nó lại rất cao như ở hình 36.
+Chiều dài hàng đợi tức thời cũng ở mức cao (lớn nhất lên đến khoảng gần 14 ) và giao động mạnh, liên tục trong suốt quá trình mô phỏng.
4.3.2.5 Giải thuật RED với tham số minth = 5 và maxth = 7: Thực hiện :
Thực hiện thiết lập các giá trị tham số điều khiển của giải thuật RED như sau: minth = 5
maxth = 7 wq = 0.002
Lịch trình thực hiện mô phỏng quy định trong script mô phỏng:
Thời điểm 0.0s : Luồng 1 ( luồng ftp1 từ nút s1 đến sink là nút s3 ) bắt đầu truyền.
Thời điểm 3.0s : Luồng 2 ( luồng ftp2 từ nút s2 đến sink là nút s3 ) bắt đầu truyền.
Thời điểm 30.0s : Cả 2 luồng ngưng truyền.
Kết quả:Kết thúc quá trình mô phỏng, nhận được một đồ thị biểu diễn như trong hình 36.
Hình 36: Đồ thị biểu diễn hàng đợi tức thời(queue) và hàng đợi trung bình(ave_queue) của RED với minth=5 và maxth =7
Nhận xét sơ bộ:
+Chiều dài hàng đợi trung bình (ave_queue) rất thấp, dao động khoảng từ 3 đến 4, không vượt quá minth .
+Chiều dài hàng đợi tức thời cũng ở mức thấp ( trong hầu hết các thời điểm của quá trình mô phỏng, giá trị của nó nhỏ hơn 10).
4.3.2.6 Giải thuật RED với tham số minth = 5 và maxth = 30: Thực hiện :
Thực hiện thiết lập các giá trị tham số điều khiển của giải thuật RED như sau: minth = 5
maxth = 7 wq = 0.002
Thời điểm 0.0s : Luồng 1 ( luồng ftp1 từ nút s1 đến sink là nút s3 ) bắt đầu truyền.
Thời điểm 3.0s : Luồng 2 ( luồng ftp2 từ nút s2 đến sink là nút s3 ) bắt đầu truyền.
Thời điểm 30.0s : Cả 2 luồng ngưng truyền.
Kết quả:Kết thúc quá trình mô phỏng, nhận được một đồ thị biểu diễn như trong hình 37.
Nhận xét:
+ Giá trị hàng đợi trung bình (ave_queue) tăng vượt giá trị minth trong suốt quá trình mô phỏng và đạt giá trị rất cao ( giá trị cực đại lên đến 8 ).
+ Giá trị hàng đợi tức thời (queue) cũng dao động và đạt những giá trị rất cao.
Hình 37. Đồ thị biểu diễn hàng đợi tức thời (queue) và hàng đợi trung bình(ave_queue) của RED với minth = 5, maxth =30.
4.3.2.7 Nhận xét và đánh giá chung: a. Tóm lược lại thuật toán RED.
Ta tóm lược lại giải thuật RED đã trình bày cụ thể ở mục [3.2] để làm cơ sở lý thuyết cho quá trình nhận xét và đánh giá các kết quả mô phỏng đã thực hiện ở trên.
for each packet arrival
calculate the avegare queue size avg if minth avg < maxth
calculate probability Pa with probability Pa:
mark the arriving packet else if maxth avg
mark the arriving packet
Hình 9: Giải thuật RED truyền thống.
Kích thước hàng đợi trung bình được tính theo công thức: avgi = (1- Wq )*avgi + Wq*q.
Wq là
Giải thuật tính toán xác suất đánh dấu các gói tin Pa theo công thức: Pb = maxp*(avg - minth)/ (maxth - minth)
Và:
Pa = Pb/(1-count*Pb)
Giải thuật RED được điều khiển bởi các tham số điều khiển như maxth , minth, maxp, Wq.
Ở bài mô phỏng của mình, tôi giữ nguyên 2 tham số điều khiển là maxp = 0.02 và Wq = 0.02 mà chỉ thay đổi 2 tham số điều khiển maxth và minth như đã trình bày cụ thể ở mỗi bài mô phỏng trên.
Những đánh giá dưới đây dựa trên việc quan sát và phân tích các đồ thị biểu diễn hàng đợi tức thời và hàng đợi trung bình ở các bài mô phỏng được vẽ bằng Xgraph trong chương trình mô phỏng NS-2.
+ Trường hợp minth = 2 và maxth =12.
Phân tích kết quả, ta thấy, khi giảm minth xuống bằng 2, giá trị của hàng đợi tức thời và hàng đợi trung bình đều ở mức thấp và thấp hơn so với kết quả mô phỏng ở hình 30 của bài1( minth =5, maxth =12). Nhìn trên hình 38, ta thấy khi minth =2, giá trị hàng đợi trung bình gần như chỉ dao động trong khoảng giá trị bằng 4 đến 5. Giá trị hàng đợi trung bình vượt trên ngưỡng minth trong gần như toàn bộ quá trình mô phỏng.
+ Trường hợp minth = 10 và maxth = 12.
Khi minth tăng lên 10, ta thấy giá trị hàng đợi trung bình và hàng đợi tức thời tăng lên. Hàng đợi trung bình lúc này ở mức cao, nó dao động trong khoảng từ 5 đến 6 và có thời điểm đạt đến 6 nhưng trong toàn bộ quá trình mô phỏng, nó đều thấp hơn minth.
Hình 38: So sánh sự thay đổi của hàng đợi trung bình khi thay đổi minth trong giải thuật RED.
Kết luận:
Khi thay đổi minth lần lượt ở 3 giá trị 2, 5, 10; ta thấy khi minth tăng dần lên thì hàng đợi tức thời và hàng đợi trung bình cũng tăng dần lên.
Ở trường hợp minth= 2, đây là trường hợp đặt minth quá thấp. Khi đó, giá trị hàng đợi trung bình luôn nhỏ hơn minth. Điều này dẫn đến cơ chế hoạt động của RED quá "nhạy cảm" với các gói tin. Người ta gọi đây là trường hợp "phản ứng quá vội" của RED. minth có giá trị quá thấp, dẫn đến hàng đợi trung bình luôn cao hơn ngưỡng tối thiều, và các gói tin khi đến hàng đợi sẽ bị đánh dấu với một xác suất cao. Điều này làm giảm đáng kể lưu lượng mạng và không tận dụng hết khả năng của hàng đợi khi RED đã "phản ứng quá vội" với những gói tin khi mà độ lớn hàng đợi thực tế chưa cao và nó hoàn toàn còn khả năng tiếp tục nhận và xếp hàng các gói tin khác tới hàng đợi.
Khi tăng minth lên 10 thì hàng đợi trung bình và hàng đợi thực tế đều tăng lên. Ở trường hợp này RED cho phép các gói tin tiếp tục đến và xếp hàng vào hàng đợi vì dù hàng đợi trung bình ở mức cao nhưng nó vẫn thấp hơn ngưỡng tối thiểu minth. Điều này dẫn đến sự gia tăng của hàng đợi tức thời. Sự tăng minth quá cao này dẫn đến một sự bất ổn trong hàng đợi khi các gói tin đến hàng đợi vẫn được xếp hàng vào và đợi được chuyển qua router. Việc ta "tham lam" tăng minth lên quá cao để giảm số lượng gói tin bị đánh dấu và loại bỏ đã đem lại hậu quả là hàng đợi không được kiểm soát chặt chẽ . Vì lưu lượng trên mạng đi theo từng đợt, gây ra những dao động quá nhanh của hàng đợi trong bộ định