Kiến trúc RTS/CTS của DCF

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu cải thiện giao thức SCTP trong mạng MANET luận văn ths công nghệ thông tin 60 08 15 (Trang 51 - 60)

Trong hình trên TRTS, TCTS, TDATA và TACK là thời gian thể hiện tƣơng ứng truyền gói tin của RTS, CTS, DATA và ACK. NAV là kênh thời gian phục vụ đƣợc giành cho RTS hoặc CTS. Tcontention là độ trễ cho cơ hội truyền dữ liệu đƣợc bao gồm cả thời gian quay lui (backoff). SIFS và DIFS là 2 ke thời gian đƣợc định nghĩa trƣớc trong chuẩn và

SIFS<DIFS.

Một máy trạm sẽ cảm nhận trƣớc kênh truyền xem có rỗi không để lấy đƣợc cơ hội truyền. Nếu kênh truyền là rỗi trong khoảng thời gian DIFS, trạm sẽ gọi cơ chế backoff để làm giảm thiểu xung đột trƣớc khi gửi gói tin đi. Nếu kênh truyền bận trong suốt quá trình backoff, máy trạm sẽ dừng quá trình backoff. Nếu kênh truyền rỗi và biến đếm backoff bằng 0 thì máy trạm sẽ bắt đầu truyền theo cách ―cơ sở‖ nếu kích thƣớc gói tin nhỏ hơn RTSThreshold. Ngoài ra, máy trạm sẽ trao đổi gói tin RTS và CTS với địa chỉ đích trƣớc khi gửi gói tin dữ liệu. Các nút hàng xóm sẽ sử dụng thông tin lƣu trong hai gói tin RTS và CTS để biết đƣợc thời gian kênh truyền sẽ bận. Việc truyền tin đƣợc coi là thành công nếu nút gửi nhận đƣợc biên nhận từ nút nhận.

Trong [3] tác giả đã đề xuất phƣơng pháp điều kiển tốc độ truyền bằng phƣơng pháp BMRC (Bi-Metric Rate Control) trong mạng MHWN. BMRC đƣợc thiết kế dựa trên 2 thông số đó là: Độ trễ trung bình MAD (Medium Access Delay) để phát hiện mức độ tranh chấp trong mạng và thời gia truyền trung bình ATT (Average Transmission Time) đƣợc sử dụng để ƣớc lƣợng ảnh hƣởng của tốc độ gửi mà mạng sẽ không bị quá tải.

Thời gian truyền trung bình ATT đƣợc tính dựa trên giá trị thời gian phục vụ (Tsrv) tại tầng MAC, là khoảng thời gian tính từ thời điểm bắt đầu cạnh tranh cho việc truyền gói tin đến thời điểm nút gửi nhận đƣợc gói tin MACK của gói tin đó hoặc hủy bỏ gói tin này sau một loạt lần truyền thất bại.

ATT=∑Tsrv/Nsp

Trong đó Nsp là số gói tin đƣợc truyền thành công, theo định nghĩa này thì ATT sẽ đƣợc dùng để chỉ mức độ cạnh tranh trong mạng.

MAD là giá trị trung bình của tổng độ trễ cạnh tranh trong một khoảng thời gian của một gói tin tại tầng MAC trƣớc khi nó đƣợc truyền đi thành công hoặc bị hủy bỏ sau một loạt lần truyền thất bại. Giá trị MAD đƣợc tính nhƣ sau

ap N i backoff N T MAD ap   1

Ở đây Nap là số gói tin xuống tầng MAC trong một khoảng thời gian và Tibackoff là thời gian backoff cho lần truyền thứ i. MAD đã đƣợc sử dụng trong giao thức MAD-TP [32] nhƣ một cảnh báo sớm về tình trạng tăng lên của mức độ cạnh tranh. Nút gửi trong MAD-TP điều chỉnh tốc độ phát gói tin dựa trên giá trị trung bình của tổng giá trị MAD trên toàn tuyến đƣờng đƣợc mang về bởi gói tin phản hồi (ACK). Dựa vào kết quả so sanh giữa giá trị MAD nhận đƣợc và một giá trị ngƣỡng MADTH, nút gửi sẽ xác định xem mạng đang ở trong tình trạng quá tải hay không và từ đó điều chỉnh tốc độ truyền phù hợp. Kết quả mô phỏng trong [32] cho thấy MAD-TP hoạt động tốt hơn hẳn TFRC và LATP về độ trễ đầu cuối (End-to- End Delay) và tỉ lệ mất gói tin là hai chỉ số quan trọng đối với các ứng dụng streaming. Trong luận văn này tôi sẽ chỉ tập trung vào nghiên cứu và áp dụng cách tính giá trị MAD trong mạng MANET với giao thức SCTP. Dựa trên đề xuất của tác giả trong [2][3] tôi sẽ chỉnh sửa mã nguồn của bộ mô phỏng giao thức NS-2, thêm một số tham số để có thể lấy đƣợc giá trị MAD tại tầng MAC và truyền thông số này lên tầng giao vận của giao thức SCTP giúp cho việc quyết định tuyến đƣờng tại tầng transport.

3.4 Phƣơng pháp cải tiến trong giao thức SCTP

3.4.1 Tính năng Multi-homing trong SCTP [33]

Multi-homing là tính năng cho phép cho một máy trạm chạy giao thức SCTP có thể có nhiều hơn một địa chỉ IP. Lợi ích của Multi-homing giúp thực thể SCTP vẫn hoạt động tốt ngay cả khi kết nối mạng tới một IP bị lỗi, IP còn lại sẽ đƣợc thay thế trong trƣờng hợp này. Trong trƣờng hợp thực thể kết nối chỉ có thể chạy với 1 địa chỉ IP nếu lỗi kết nối với IP đó xảy ra thì dẫn tới lỗi toàn bộ và không có khả năng khôi phục trong một thời gian ngắn, điều này đặc biệt nguy hiểm với các nút mạng là các phần tử chính (core) của mạng, việc lỗi một địa chỉ IP có thể dẫn tới làm tê liệt toàn bộ hệ thống.

Với các thực thể SCTP đƣợc thiết lập tính năng Multi-homing thì theo mặc định dữ liệu chỉ đƣợc truyền trên đƣờng chính (primary path) và cũng phản hồi các chunk SACK, HEARTBEAT, ACK ... cùng với địa chỉ đích của tầng giao vận mà nó nhận đƣợc gói tin.

Khi nút có nhiều địa chỉ IP và chạy tính năng Multi-homing thì mỗi giao tiếp mạng (interface network) đƣợc gắn với một IP khác nhau sẽ đƣợc gán riêng một giá trị RTO (Retransmission Timeout) độc lập với nhau [33]. Quá trình phát hiện tuyến đƣờng bị lỗi sẽ diến ra nhƣ sau: Mỗi khi bộ đếm thời gian T3-rtx bị timeout trên bất kì một địa chỉ nào hoặc khi HEARTBEAT đƣợc gửi đi tới một địa chỉ chƣa đƣợc sử dụng (idle) mà không đƣợc biên nhận trong một khoảng thời gian RTO, biến đếm lỗi của mỗi địa chỉ sẽ đƣợc tăng lên. Khi giá trị của biến đếm này vƣợt quá giá trị tham số ‗Path.Max.Retrans‘ đƣợc thiết lập trong giao thức thì địa chỉ đích sẽ đƣợc đánh dấu là không hoạt động và sẽ gửi thông báo lên tầng cao hơn. Khi một gói tin đƣợc biên nhận hoặc một HEARTBEAT đƣợc gửi tới địa chỉ đích và đƣợc biên nhận bằng gói bản tin HEARTBEAT ACK thì thực thể SCTP sẽ xóa biến đếm số lần lỗi cho mỗi địa chỉ đó. Khi tuyến đƣờng chính bị đánh dấu là không hoạt động, phía gửi sẽ tự động truyền dữ liệu mới sang địa chỉ đích dự phòng nếu địa chỉ này vẫn đƣợc đánh dấu là hoạt động. Ở đây chúng ta thấy rằng chỉ khi nào tuyến đƣờng chính thực sự không hoạt động thì thực thể SCTP mới chuyển sang tuyến đƣờng dự phòng. Trong rất nhiều trƣơng hợp tuyến đƣờng chính vẫn hoạt động tuy nhiên chất lƣợng tuyến đƣờng này không tốt nhƣng vẫn không đƣợc thay thế và trong nhiều trƣờng hợp nó sẽ ảnh hƣởng lớn tới hiệu năng của mạng đặc biệt là trong mạng không dây khi mà chất lƣợng tuyến đƣờng là không ổn định và thay đổi theo thời gian và không gian hoạt động.

Thực thể SCTP sẽ duy trì giám sát các địa chỉ đích trên tầng transport bằng cách định kì gửi đi các bản tin HEARTBEAT tới các địa chỉ này. Khoảng thời gian định kì này

có thể đƣợc thiết lập bởi tầng cao hơn (HB.interval). Khi các địa chỉ này nhận đƣợc bản tin HEARTBEAT phải ngay lập tức phản hồi lại bằng một bảng tin HEARTBEAT ACK để thông báo trạng thái của mình với phía gửi. Nhƣ vậy HEARTBEAT đƣợc coi nhƣ là sợi dây để duy trì trạng thái kết nối của các thực thể SCTP. Bản tin HEARTBEAT là bản tin 64 bit, lƣợng thông tin trong bản tin này cũng không nhiều (bao gồm thời gian hiện tại gửi gói tin, địa chỉ đích của gói tin).

Trong phần tiếp theo đây tôi sẽ trình bày về phƣơng pháp cải tiến của mình với tính năng Multi-homing dựa trên các thông tin đƣợc bổ sung thêm vào bản tin HEARTBEAT.

3.4.2 Đề xuất cải tiến tính năng Multi-homing

Nhƣ phân tích ở trên chúng ta thấy rằng chỉ khi nào tuyến đƣờng chính thực sự đƣợc đánh dấu là không hoạt động (inactive) thì thực thể giao thức SCTP mới bắt đầu có hành động chuyển lƣu lƣợng sang tuyến đƣờng dự phòng. Nếu trong trƣờng hợp tuyến đƣờng chính không thực sự lỗi nhƣng hoạt động rất chập chờn và thông lƣợng xuống rất thấp thì thực thể SCTP vẫn sẽ cố gắng duy trì kết nối đó điều này sẽ làm cho hiệu năng của mạng sẽ giảm đi trong khi đó đƣờng dự phòng hoàn toàn có thể đƣợc sử dụng để thay thế. Dựa trên ý tƣởng đó trong luận văn sẽ đề xuất phƣơng án cải tiến tính năng Multi- Homing trong SCTP đó là ―Chuyển sang tuyến đƣờng dự phòng khi tốc độ gửi tin ở tuyến đƣờng chính bị chậm‖. Luận văn sử dụng lại thông số độ trễ trung bình MAD đã phân tích ở mục 3.3 để xác định độ trễ của từng tuyến đƣờng. Tuyến đƣờng nào có giá trị MAD cao là tuyến đƣờng có chất lƣợng kém. Giá trị MAD đƣợc tính là tổng giá trị MAD trung bình của tất cả các tuyến đƣờng giữa 2 thực thể SCTP tham gia quá trình truyền dữ liệu. Để mô tả rõ ràng chúng ta sử dụng một ví dụ nhƣ sau: Hai thực thể SCTP nguồn và đích có nhiều hơn một giao tiếp mạng (interface) và các giao tiếp này sẽ đƣợc dùng để thiết lập tính năng Multi-homing. Tại một thời điểm nút nguồn sẽ chỉ coi tuyến đƣờng đến 1 giao tiếp mạng của nút đích là tuyến đƣờng chính, các tuyến đƣờng đến các giao tiếp mạng còn lại là tuyến đƣờng dự phòng. Toàn bộ lƣu lƣợng lúc này sẽ đƣợc truyền trên tuyến đƣờng chính trên. Khi mỗi gói tin đƣợc truyền đi theo tuyến đƣờng đó thì tại mỗi giao tiếp mạng sẽ tính toán đƣợc độ trễ trung bình MAD của các bản tin mà chúng xử lý. Các thông số này đƣợc tính toán tại tầng MAC sau đó đƣợc truyền lên tầng transport. Thực thể SCTP sẽ quản lý việc sắp xếp và lƣu trữ các giao tiếp mạng mà các đƣờng từ nguồn đến đích

qua đó có tổng độ trễ trung bình từ thấp đến cao. Sau mỗi khoảng thời gian định kì bản tin HEARTBEAT sẽ đƣợc gửi đi với cả nút nguồn và đích. Khi đó trong bản tin HEARTBEAT sẽ bổ sung thêm thông tin để thông báo với thực thế SCTP nguồn tuyến đƣờng nào có giá trị độ trễ trung bình thấp nhất để thực thể nguồn quyết định việc thay đổi tuyến đƣờng cho phù hợp.

Việc bổ sung thông tin tuyến đƣờng tốt nhất vào trong bản tin HEARTBEAT đƣợc thực hiện bằng cách sau: Trƣớc hết bổ sung thêm một số trƣờng thông tin trong bản tin HEARTBEAT chunk. Các trƣờng thông tin này sẽ lƣu trữ giá trị MAD tốt nhất và giao tiếp mạng tƣơng ứng của thực thể SCTP. Định kì trƣớc khi gửi bản tin HEARTBEAT đi thì thực thể SCTP sẽ thu thập thông tin giá trị MAD của từng giao tiếp mạng của nó, sau đó sẽ lấy giá trị MAD thấp nhất trong tất cả các giao tiếp mạng để đƣa vào bản tin HEARTBEAT. Khi nhận đƣợc bản tin HEARTBEAT phía nguồn sẽ xử lý và lấy ra thông tin về tuyến đƣờng tốt nhất và thực hiện thay đổi tuyến đƣờng chính đồng thời toàn bộ lƣu lƣợng sẽ đƣợc chuyển sang đƣờng truyền mới có độ trễ thấp hơn.

Nhƣ vậy, với phƣơng pháp đề xuất này tôi sẽ luôn luôn chọn đƣợc tuyến đƣờng có độ trễ thấp nhất để truyền, đồng thời chúng ta cũng thấy rằng giá trị tuyến đƣờng tốt nhất sẽ đƣợc cập nhật định kì theo thời gian mà các bản tin HEARTBEAT đƣợc gửi đi và do vậy giá trị này sẽ là giá trị tốt nhất ở thời điểm đó.

Trong phần tiếp theo tôi sẽ sử dụng bộ mô phỏng NS-2 để thực hiện mô phỏng và đánh giá kết quả phƣơng pháp đề xuất của mình với 2 mô hình mạng truyền thống là mô hình chuối (chain) và mô hình lƣới (grid).

CHƢƠNG 4: CÀI ĐẶT MÔ PHỎNG VÀ ĐÁNH GIÁ

4.1 Công cụ mô phỏng NS-2

NS-2 là một hệ mô phỏng máy tính đƣợc xây dựng và phát triển bởi dự án VINT (Virtual InterNetwork Testbed) của phòng thí nghiệm quốc gia Lawrence Berkeley, Hoa Kỳ, với mục đích ban đầu nhằm xây dựng một bộ mô phỏng công cộng với một tập rất lớn các mô h.nh để nghiên cứu về mạng, cung cấp cho các nhà nghiên cứu nhiều khả năng mới trong thực nghiệm, giúp các nhà nghiên cứu đánh giá đƣợc các giao thức trong các điều kiện khác nhau. NS đƣợc phát triển từ bộ mô phỏng REAL (Realistic and large) của S.Keshav năm 1989. Các phiên bản 2.xx của NS ra đời sau năm 1997. Phiên bản mới nhất hiện nay là 2.35 (năm 2014) .

NS-2 là bộ mô phỏng đƣợc xây dựng trên hai ngôn ngữ là OTCL và C++, là một máy mô phỏng vận hành bởi các sự kiện rời rạc, có tính tuần tự. Nhờ vậy, NS2 có thể đƣợc mở rộng bởi ngƣời sử dụng, nhƣ cho phép ngƣời dùng lập trình thay đổi cấu hình và mở rộng mô hình mạng mô phỏng trên nền của NS-2. Với cách tiếp cận này, ta có thể coi mỗi một mô phỏng là một chƣơng trình hơn là các mô hình cứng nhắc, tĩnh và không thể thay đổi, với các đối tƣợng có thể cấu hình tuỳ ý để đạt đƣợc mục đích của mô phỏng đề ra. Ban đầu, NS-2 đƣợc thiết kế để chạy trên nền hệ điều hành Unix/Linux.

Nói thêm ở đây là NS-2 là một bộ mô phỏng mạng đƣợc sử dụng rất nhiều trong các nghiên cứu về mạng trên thế giới hiện nay. Chúng ta chọn NS-2 vì độ tin cậy đó.

4.2Cấu hình cài đặt mô phỏng

4.2.1 Mô hình mô phỏng dạng chuỗi (chain) a) Cấu hình a) Cấu hình

Trong mô hình này các nút đƣợc đặt trên cùng một đƣờng thẳng (cùng tọa độ Y). Ở 2 đầu là 2 thực thể SCTP có cài đặt và hỗ trợ tính năng Multi-homing, để đơn giản mỗi thực thể SCTP ở 2 đầu tôi chỉ sử dụng 2 giao tiếp mạng (interface) cho mỗi thực thể. Hai thực thể SCTP sẽ truyền dữ liệu qua 8 nút. Sử dụng 1 nguồn phát FTP để sinh lƣu lƣợng. Chi tiết các tham số cấu hình nhƣ bản bên dƣới:

Topo Chain Transmission Range 250m power monitor sensitivity 97.3dBm SlotTime 0.000009 SIFS 0.000016 packet size 1000 Heartbeat Interval 10s Node move No X dimension 2500 Y dimension 2500 number of nodes 10 routing protocol DSDV

Hình 15: Mô hình dạng chuỗi (chain) b) Kết quả thí nghiệm

Tôi đã tiến hành đo thử nghiệm 20 lần chạy với topo nói trên và so sánh giữa 2 kết quả thu đƣợc khi áp dụng phƣơng pháp crosslayer trong SCTP và không áp dụng phƣơng pháp này trong giao thức SCTP.

No NoCrossLayer(kbps) CrossLayer (kbps) 1 246.22 379.95 2 440.69 137.99 3 274.27 210.67 4 363.68 330.87 5 240.77 345.39 6 315.62 409.97 7 367.89 370.38 8 441.71 429.93 9 344.28 437.32 10 53.05 218.8 11 102.17 408.79 12 214.34 389.43 13 371.83 444.69 14 399.8 262.85 15 36.91 474.2 16 47.71 337.92 17 55.38 291.75 18 377.33 430.81 19 255.27 370.93 20 400.29 445.64 Total Throughput 5349.21 7128.28 Avg Throughput 267.46 356.41

Nhận xét: Khi không áp dụng phƣơng pháp crosslayer thì xuất hiện khá nhiều lần chạy mô phỏng thông lƣợng của toàn bộ đƣờng truyền xuống thấp, trong khi đó nếu áp dụng phƣơng pháp crosslayer thì chúng ta thấy lƣu lƣợng giữa các lần tƣơng đối đều và thông lƣợng trung bình của toàn bộ mạng cao hơn. Thông lƣợng trung bình sau 20 lần chạy mô phỏng của topo theo cấu hình trên nếu chƣa áp dụng phƣơng pháp cải tiến đề xuất là 267.46(kbps), sau khi áp dụng phƣơng pháp cải tiến thì thông lƣợng trung bình là 356.41 (kbps), tức là gấp khoảng 1,33 lần. Lý do trong một số thí nghiệm thông lƣợng của toàn bộ mạng thấp cũng lý giải một phần cho quá trình truyền tin của giao thức SCTP trong mạng MANET giống nhƣ giao thức TCP là luôn cố gắng giữ kết nối và kiểm soát tắc

nghẽn một cách ―cố gắng‖ trên cùng 1 tuyến đƣờng. Nếu sử dụng theo đề xuất của tôi thì sau một khoảng thời gian truyền heartbeat, nếu tuyến đƣờng nào tốt nhất thì nó sẽ đƣợc sử dụng để truyền tin và do vậy hiệu năng tận dụng tối đa đƣờng truyền.

4.2.2 Mô hình mô phỏng dạng lƣới (grid) a) Cấu hình a) Cấu hình

Trong thí nghiệm với mô hình dạng lƣới tôi sẽ mô phỏng thí nghiệm với 2 cấu hình mà số node lần lƣợt là 36 node và 64 node để đánh giá. Sử dụng 2 thực thể SCTP ở 2 cạnh chéo góc của mô hình, mỗi thực thể đƣợc gắn 2 interface và đƣợc gắn một nguồn phát FTP. Chi tiết cấu hình nhƣ bảng mô tả bên dƣới:

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu cải thiện giao thức SCTP trong mạng MANET luận văn ths công nghệ thông tin 60 08 15 (Trang 51 - 60)

Tải bản đầy đủ (PDF)

(65 trang)