1. Trang chủ
  2. » Luận Văn - Báo Cáo

nghiên cứu phương pháp điều khiển tắc nghẽn trong NGN 4.doc

16 706 2
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 16
Dung lượng 633,5 KB

Nội dung

Tài liệu tham khảo đồ án tốt nghiệp chuyên ngành viễn thông nghiên cứu phương pháp điều khiển tắc nghẽn trong NGN

Trang 1

Chương 4

CHƯƠNG TRÌNH MÔ PHỎNG ĐIỀU KHIỂN TẮC NGHẼN DÙNG THUẬT TOÁN TĂNG GIẢM

4.1 Giới thiệu chương

Nội dung chương 4 mô phỏng thuật toán tăng giảm Mục đích chính là phân tích sự hội tụ đến tính bình đẳng và hiệu quả của các thuật toán Ở đây ta chỉ đề cập đến thuật toán tăng giảm tuyến tính, từ đó thấy rằng AIMD là thuật toán đảm bảo hội tụ đến tính hiệu quả và bình đẳng so với các thuật toán tăng giảm khác Mô phỏng cho thuật toán này được phân tích trong 4.3.1 Ngoài ra chương 4 còn mô phỏng tính bình đẳng, hiệu quả của giao thức điều khiển tắc nghẽn TCP và XCP Trên thực tế tính bình đẳng, hiệu quả còn chịu nhiều ảnh hưởng khác nhau như thời gian vòng truyền RTT không đồng nhất, sử dụng các dịch vụ khác nhau, số lượng luồng đang truyền dữ liệu, Công cụ mô phỏng là NS2, kết quả mô phỏng là các đồ thị và minh họa mạng NAM được phân tích trong 4.3.2.

4.2 Phương pháp và công cụ mô phỏng

4.2.1 Phương pháp phân tích

Trong đề tài này, sinh viên chọn phương pháp mô phỏng trên máy tính với CAVT và NS-2 (Network Simulation v.2) CAVT [12] là ứng dụng Java nhỏ được Michael Welzl xây dựng dựa trên biểu đồ vectơ Chiu/Jain [7] đã được đề cập trong chương 2, nó cung cấp giao diện người dùng mà ta có thể thiết lập điểm bắt đầu và quan sát quỹ đạo tương ứng bằng cách kích chuột vào biểu đồ

NS-2 là phần mềm mã nguồn mở, mô phỏng các sự kiện rời rạc nhằm mục đích nghiên cứu mạng, nó hỗ trợ các giao thức mạng như TCP, UDP, hoạt động của những tài nguyên mạng như FPT, Telnet, Web, CBR và VBR, các cơ chế quản lý

Trang 2

hàng đợi như Drop Tail, RED và CBR, các thuật toán định tuyến NS-2 được viết bằng C++ và OTcl.

Hình 4.1 Tổng quan về NS dưới góc độ người dùng

tượng

• Event Scheduler Objects Các đối tượng Bộ lập lịch Sự kiện

• Network Component Objects Các đối tượng Thành phần Mạng

• Network Setup Helping Modules Các mô đun Trợ giúp Thiết lập Mạng

Để thiết lập và chạy một mạng mô phỏng, người dùng phải viết một tập lệnh OTcl Script và khởi động một lịch trình sự kiện, thiết lập cấu hình mạng sử dụng các đối tượng mạng và các hàm chức năng trong thư viện, chỉ cho tài nguyên lưu lượng biết khi nào thì bắt đầu và kết thúc việc truyền gói thông qua lập biểu.

Trang 3

Khi mô phỏng kết thúc, NS-2 sẽ xuất hiện một hay nhiều file text, ở đó có chứa các dữ liệu kết quả mô phỏng chi tiết nếu chúng ta yêu cầu trong tập lệnh Tcl Các file này lại là dữ liệu đầu vào cho một chương trình hiển thị mô phỏng trực quan gọi là Network Animator (NAM) Các số liệu kết quả mô phỏng cũng được dùng để vẽ các đồ thị phân tích bằng chương trình Xgraph theo các yêu cầu người dùng.

4.2.2 Chuẩn bị công cụ mô phỏng

NS-2 được thiết kế để chạy trong môi trường Unix Tuy nhiên, ta vẫn có thể cài đặt NS-2 trong Windows bằng cách dùng thêm chương trình Cygwin Ở đây, sinh viên cài NS-2 trên Windows XP với Cygwin v1.5.24.

Cài đặt gói phần mềm ns-allinone-2.32 phát hành ngày 03/09/2007 tại website

http://nsnam.isi.edu/nsnam Trong gói phần mềm này đã bao gồm ns-2.32, nam-1.13, otcl-1.13 và tclcl-1.19 Trong thư viện đã hỗ trợ cho mô phỏng của sinh viên.

4.3 Nội dung và kết quả mô phỏng4.3.1 Mô phỏng thuật toán tăng giảm

Như trong chương 2, tài nguyên phân bố của 2 người dùng bất kỳ {x1(t),x2(t)}có thể biểu diễn như điểm {x1, x2 } trong không gian 2 chiều Khi chúng ta đang hoạt động tại hay gần điểm gãy (Knee) (mạng có tài nguyên Xgoal) mọi tài nguyên yêu cầu bởi người dùng đều được chấp nhận Thuật toán tăng giảm mong muốn hội tụ đến bình đẳng và hiệu quả, tức là x1+x2=Xgoal /2

Trang 4

Hình 4.2 Sơ đồ thuật toán tăng giảm

Trong hình 4.3, trục Y (trục đứng) mô tả phân phối (allocation) cho người dùng 1 x1, và trục X (trục ngang) mô tả phân phối cho người dùng 2 x2 Tất cả sự

Bắt đầu

SaiDùng thuật toán tăngx’1=aI+bI.x1

Dùng thuật toán giảmx’1=aD+bD.x1x’2=aD+bD.x2

x1=x’1 x2=x’2

Kết thúcĐúng

ĐúngNhập phân phối cho người dùng 1 (x1), người dùng 2 (x2), mức lưu lượng đưa vào tại điểm knee (Xgoal), các hệ số trong thuật toán tăng giảm aI, aD, bI, bD

Sai

Trang 5

phân phối với x1+x2=Xgoal là phân phối có hiệu quả Nó tương ứng với đường thẳng là “đường hiệu quả” (đường màu đỏ) Tất cả phân phối mà x1= x2 là phân bố bình đẳng Nó tương ứng với đường thẳng được gọi là “đường bình đẳng” (đường màu xanh) Hai đường này cắt nhau tại điểm (Xgoal/2, Xgoal/2) là điểm tối ưu Mục tiêu của phương pháp điều khiển là làm cho hệ thống đến hoạt động tại điểm này mà không quan tâm đến vị trí bắt đầu Tất cả các điểm bên dưới đường hiệu quả mô tả hệ thống “không đủ tải” và một cách lý tưởng hệ thống sẽ yêu cầu người dùng tăng tải Tương tự, tất cả các điểm trên đường hiệu quả mô tả hệ thống quá tải.

Hình 4.3 Giao diện công cụ mô phỏng thuật toán tăng giảm

Khi ta chọn đồng bộ ngõ vào tức là 2 người dùng sử dụng thuật toán như nhau Ta có thể thay đổi các hệ số tăng giảm a, b, thay đổi thời gian vòng truyền (là tổng thời gian mất do mạng khi phát gói đi từ luồng đến phía nhận và phát phúc đáp đến phía gởi) Phụ thuộc vào thuật toán lựa chọn, các hệ số thay đổi đến các giá trị cho phép Thêm vào đó ta có thể vẽ đồ thị tốc độ người dùng theo thời gian, khoảng cách đến điểm tối ưu và tạo ra file dưới dạng text để dùng với các công cụ vẽ đồ thị thông thường như xgraph hay gnuplot.

Trang 6

Mô phỏng thuật toán AIMD và MIAD với 2 người dùng có cùng thời gian vòng truyền RTT=1s, khoảng thời gian mô phỏng là 50s, các hệ số a=0.1 và b=0.5 Giá trị x, y lần lượt là tốc độ của người dùng.

Hình 4.4 Biểu đồ vector của thuật toán AIMD

Hình 4.5 Đồ thị biểu diễn theo thời gian

Như vậy hình 4.4 và 4.5 cho ta thấy AIMD hội tụ nhanh đến điểm tối ưu và dao động quanh điểm này

Trang 7

Hình 4.6 Biểu đồ theo vector thuật toán MIAD

Hình 4.7 Đồ thị biểu diễn tốc độ theo thời gian

Theo kết quả trong hình 4.6 cho ta thấy thuật toán MIAD có thể hội tụ đến hiệu quả nhưng không hội tụ đến bình đẳng Tương tự cũng như đối với thuật toán MIMD trong hình 4.8 nhưng ta thấy MIMD đảm bảo hội tụ đến hiệu quả nhanh hơn Kết quả mô phỏng trong hình 4.7 càng cho thấy rõ tốc độ của 2 người dùng càng lúc càng chênh lệch và do đó khoảng cách đến điểm tối ưu càng xa.

Trang 8

Hình 4.8 Thuật toán MIMD hội tụ nhanh đến đường hiệu quả

Như vậy với điều kiện mô phỏng ở trên (ngõ vào đồng bộ, RTT như nhau) trong tất cả các thuật toán tăng giảm tuyến tính, thuật toán AIMD là tốt nhất do nó bảo đảm hội tụ đến điểm tối ưu

Tuy nhiên, môi trường mạng thực tế rất phức tạp, các điều kiện trên khó xảy ra được Với RTT khác nhau thì sự hội tụ cũng là rất khó Trong hình 4.9 là mô phỏng thuật toán AIMD khi người dùng 1 có RTT gấp đôi RTT của người dùng 2, điều đó có nghĩa là mỗi lần người dùng 1 cập nhật tốc độ thì người dùng 2 cập nhật 2 lần

Trang 9

Hinh 4.9 Thuật toán AIMD khi RTT1 = 2 × RTT2

4.3.2 Mô phỏng XCP

Như trong chương 3, XCP là giao thức truyền thông liên quan đến TCP Không như TCP, XCP cung cấp phản hồi chống tắc nghẽn rõ từ router có khả năng XCP đến XCP phía gởi Do đó, XCP phía gởi có thể điều khiển cửa sổ gởi thích hợp hơn để đạt được tính hiệu quả, bình đẳng, điều khiển tắc nghẽn có thể mở rộng qui mô và ổn định trong toàn mạng.

Mục đích của phần này là mô phỏng để cho ta thấy rằng:

 XCP hội tụ nhanh đến lượng phân bổ băng thông bị thắt cổ chai hợp lý.

Trang 10

 XCP đạt hiệu quả sử dụng đường truyền cao. XCP duy trì số gói tại hàng đợi nhỏ.

Trong phần này ta sẽ mô phỏng 2 trường hợp: 3 luồng đều là XCP; 3 luồng XCP và 1 luồng TCP cùng tồn tại trong cùng một mạng có topo như hình 4.10.

Các thông số trong mô phỏng: Băng thông BW = 20Mb/s Độ trễ delay = 10 ms

 Kích thước hàng đợi qSize = 100 Kbytes

Trang 11

Hình 4.11 Mô phỏng 3 luồng XCP cùng chia sẻ đường truyền.

Hình 4.12 Hiệu quả sử dụng đường truyền cao

Trang 12

Hình 4.12 cho ta thấy hiệu quả sử dụng đường truyền của các luồng XCP trong mô phỏng trên là rất cao Khi có 1 đường truyền nhánh từ nút 0 đến router thắt cổ chai ngừng truyền thì hiệu quả vẫn được đảm bảo như trong hình 4.13

Hình 4.13 Hiệu quả vẫn bảo đảm khi 1 luồng ngừng truyền đột ngột.

Hình 4.14 cwnd hội tụ nhanh đến lượng chia sẻ hợp lý

Trang 13

Hình 4.15 Số gói tại hàng đợi nhỏ.

4.3.2.2 Khi XCP và TCP cùng tồn tại

Trong trường hợp này, ta có 3 luồng XCP xuất phát từ 3 nguồn 0, 1, 2 (lần lượt ứng với các node 0, 1, 2 trong topo mạng hình 4.10) và luồng TCP xuất phát từ nút 0 Trong đó, thời gian các luồng bắt đầu truyền các đoạn dữ liệu được đưa ra trong cửa sổ dưới cùng trong NAM Router có khả năng XCP sẽ phân biệt các luồng TCP và XCP và xếp hàng chúng 1 cách tách biệt nhau

Trang 14

Hình 4.16 Mô phỏng 3 luồng XCP và 1 luồng TCP cùng tồn tại trong mạng

Trang 15

Hình 4.17 Biểu diễn cwnd của 2 loại lưu lượng TCP và XCP.

Hình 4.18 Hiệu quả khi có 1 luồng TCP

Trang 16

Hình 4.19 Trạng thái hàng XCP.

Như vậy, qua các kết quả mô phỏng như trên ta thấy XCP cho ta hiệu quả sử dụng đường truyền cao trong khi đảm bảo số gói tại hàng đợi nhỏ Ngoài ra nó còn đảm bảo các luồng hội tụ nhanh đến điểm tối ưu Luồng XCP nhanh chiếm băng thông đường truyền nhanh hơn TCP.

4.4 Kết luận chương

Trong chương này, sinh viên mô phỏng thuật toán tăng giảm truyền thống để cho thấy thuật toán AIMD sử dụng trong các giao thức hiệu quả như thế nào Từ đó sinh viên mô phỏng XCP với các ưu điểm về tính bình đẳng và hiệu quả trong khi sự mất gói là rất hiếm Phần mô phỏng này được thực hiện với phần mềm nguồn mở ns2.

Các file OTcl Scripts thực hiện mô phỏng trình bày trong phần phụ lục của luận văn.

Ngày đăng: 21/11/2012, 09:01

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w