Chương 3 : Đề xuất giải pháp nhằm cả thiện hiệu năng của SCTP trong mạng MHWN
3.2 Giải pháp sử dụng thông số STG và IDD
3.2.1. Giới thiệu bài báo
Trong bài báo [13] nói về việc tổn thất gói tin trong mạng MANET khơng chỉ do nguyên nhân tắc nghẽn mà do nhiều nguyên khác dẫn đến, như việc bị ngắt kết nối, tái kết nối, thay đổi tuyến đường khiến cho gói tin nhận được khơng theo thứ tự, trùn dẫn không dây sễ xảy ra tranh chấp. TCP không phân được các nguyên nhân gây ra việc mất mát gói tin và hiểu nhầm do tắc nghẽn, kích hoạt cơ chế chống tắc nghẽn, những không hiệu quả mà còn làm suy giảm hiệu suất của toàn mạng. Bài báo[13] này đề xuất một giải pháp mới đó là MME–TCP (Multi-metric Measurement based Enhancement of TCP), sử dụng nhiều thông số đo lường để đánh giá chất lượng đường truyền trong từng khoảng thời gian, và đưa ra các hành động phù hợp.
49
Tính di động gây ra việc ngắt kết nối:
Trong mạng không dây các nút mạng có tính di động thường hay xảy ra disconnections và reconnections, điều này gây ra ảnh hưởng lớn tới hiệu suất của TCP trong mạng MANET. Tính di động của nút mạng có thể gây vỡ liên kết gây thất bại trên luồng truyền giữa hai nút, khi một nút mạng di chuyển khỏi phạm vi truyền dẫn của nút này. Khi đó liên kết bị phá vỡ và gây ra tổn thất gói tin. TCP – khơng phân biệt được mất gói tin do lỡi đường truyền, nó sẽ hiểu nhầm sang tắc nghẽn và kích hoạt cơ chế kiểm soát tắc nghẽn, điều này dẫn tới giảm hiệu suất. Khám phá tuyến có thể mất thời gian lâu hơn nhiều RTO (thời gian truyền lại gói tin). Trong trường hợp này, cơ chế chống tắc nghẽn sẽ được kích hoạt lại sau thời gian chờ RTO timeout. Vì vậy sự mất kết nối và bị phá vỡ liên kết gây ra thất bại trong việc truyền tin là vấn đề đầu tiên cần phải được xác đinh và xử lý.
Trong MME-TCP, khi phát hiện ra disconnections, luồng truyền hiện tại được tạm ngưng, và các gói tin thăm dò được gửi định kỳ để kiểm tra xem tuyến đường đã được phục hồi hoặc một con đường mới được thành lập, do sự thỏa thuận của bên gửi và bên nhận, và trạng thái truyền trước khi kết nối được tái lưu trữ.
Thứ tự gói tin và tuyến đường bị thay đổi
Trái ngược với các mạng có dây mà cấu liên kết của mạng ít khi bị thay đổi, trong mạng manet, topology (cấu trúc liên kết) của mạng liên tục thay đổi vì tính di động, gây ra việc tính tốn lại lộ trình và sự thay đổi của tuyến đường theo thời gian, các gói tin thơng qua các tuyến đường ngắn hơn sẽ đến đích sớm hơn các gói tin được gửi theo thứ tự trước. Ở bên nhận, các gói tin được nhận khơng theo thứ tử, khiến bên nhận khơng thể nhận được gói tin, khiến gói tin bị mất. Khi xảy ra điều này sẽ có hai trường hợp xảy ra, một là nhận bản sao thứ tự gói tin thơng qua gói tin xác nhận, hai là sẽ có một khoảng thời gian trigger và TCP sẽ gọi cơ chế kiểm soát tắc nghẽn. Tuy nhiên trong trường hợp này, việc TCP phải làm đó là ước lượng băng thông của tuyến đường mới chứ không phải là giảm tắc nghẽn tại mỗi nút trung gian và cửa sổ cạnh tranh. Việc thay đổi tuyến đường và thăm dò tình trạng truyến đường mới là nhiệm vụ chính của giải pháp MME-TCP.
Tắc nghẽn
Giao thức TCP sử dụng trong tầng transports luôn cố gắng để sử băng thông của mạng lớn hơn. Ngoài ra do sự thay đổi lộ trình và khơng để đốn được của tầng MAC dẫ tới sự chậm trễ trong mạng MANET, mối quan hệ giữa tắc nghẽn, kích thước của sổ
50
cạnh tranh và thông lượng chấp nhận được trên một tuyến đường gây ra nhiều vấn đề bất ổn trong mạng MANET. Giải pháp MME-TCP dựa vào nhiều thông số đo lường để xác định được mạng khi nào rơi vào tình trạng tắc nghẽn, để có biện pháp điều chỉnh cho phù hợp.
3.2.1.2 Phương án giải quyết
Như đã đề cập bên trên việc disconnection và reconnectios có tác động rất lớn hiệu suất của TCP. Do đó việc phân biệt giữa tình trạng tắc nghẽn và mất kết nối là vấn đề ưu tiên hàng đầu. Trong MME-TCp việc mất mát gói tin do tắc nghẽn hay do nguyên nhận nào gây ra thì, việc tắc nghẽn vẫn được xử lý đầu tiên. Bước thứ hai, nếu các gói dữ liệu bị mất ngoài nguyên nhân do tắc nghẽn ra, thì MME-TCP tiếp tục xác định nguyên nhân gây ra là do việc thay đổi tuyến đường hay liên kết bị hỏng. Tình trạng của mạng được xác định như hình dưới:
Hình 3.6 : Xác định tình trạng của mạng dựa vào ACK, IDD và POR
Sau khi tình trạng mạng được xác định, hệ thống sẽ có hành động tương ứng thích hợp để xử lý các tình trạng đó. Bảng bên dưới mơ tả tóm tắt các sự kiên xảy ra và hạnh động tương ứng cửa giải pháp MME-TCP.
Network states and corresponding actions
Network states corresponding actions
Disconnection Tạm ngưng việc truyền tải TCP, gửi các gói tin thăm dò định kỳ để kiểm
51
tra xem một tuyến đường mới đã được thành lập hay chưa hoặc tuyến đường cũ được khôi phục và tiếp tục việc truyền tin.
Route change Thiết lập cửa sổ tắc nghẽn slow-start, bắt đầu kích hoạt cơ chế chống tắc nghẽn
Congestion Giảm kích thước cửa sổ tắc nghẽn cho, truyền lại các gói tin bị mất trong khoảng thời thời RTO.
Normal TCP hoạt động bình thường
Bảng 3.7: Network states and corresponding actions
Sử dụng thông số đo lường là một phương pháp hiệu quả để xác định được tình trạng của mạng. Việc xác định tình trạng mạng một cách chính xác là một điều rất quan trọng để hệ thống đưa ra biện pháp xử lý kịp thời, giải quyết những bất ổn trong mạng một cách chính xác. Việc đo lường end-to-end nhờ thơng số RTT và mất gói tin để phát hiện tắc nghẽn là chưa đủ, vì trong MANET bên cạnh tình trạng tắc nghẽn TCP còn gặp phải nhiều vấn đề khác như đã nêu ở bên trên. MME-TCP đề xuất ba thông số end-to- end để phân biệt những nguyên nhân gây ra tình trạng bất ổn của giao thức TCP trong mạng MANET.
STG (Short Term Goodput).
Thông lượng là một giá trị được sử dụng phổ biến để phản ánh tình trạng tắc nghẽn trong mạng. Trong tài liệu [13] cho thấy việc sử dụng thông lượng để xác định trạng thái của mạng là không thành công, nguyên nhân ở đây là do thông lượng là một giá trị phụ thuộc phần lớn vào lưu lượng đầu vào. Nếu tỷ lệ truyền tin cũng như lưu lượng ở nút nguồn thay đôi thường xun và nhanh chóng , thì thơng lượng khơng thể phản ánh được một cách chính xác tình trạng của mạng. MME-TCP đề xuất một thông lượng trong khoảng thời gian ngắn hạn gọi là Short Term Goodput, viết tắt là STG
STG được xác định bởi hai giá trị đó là Nr(T) và Ns(T). Nr(T) và Ns(T) đại diện cho số gói tin nhận được trong khoảng thời gian tương ứng T respec- tively.
52
(4)
Ns(T) = 𝐴𝐶𝐾𝑡2 - 𝐴𝐶𝐾𝑡1
(5)
Trong mỗi khoảng thời gian ngắn [t1, t2] người gửi có thể tính toán được Nr(T) và Ns(T) bằng cách ghi lại số thứ tự (sequence number) gửi đi và sự thừa nhận các gói tin trong khoảng thời gian này (nút đích trung gian nhận được dữ liệu và phản hồi ACK lại). t2
STG = 𝑁𝑟 (T)
𝑁𝑠 (T)
(6) STG được định nghĩa là tỷ lệ số các gói tin TCP gửi thành cơng trên tổng số lượng các gói tin TCP đã truyền đi trong khoảng thời gian T respec- tively. STG không bị phụ thuộc vào tác động của bên gửi hay nút nguồn và có thể phản ánh mức độ tắc nghẽn trong hệ thống một cách chính xác. Nếu giá trị STG giảm dần theo từng khoảng thời gian thăm dò, có nghĩa là các gói tin trùn đi thành cơng giảm mạnh dẫn tới hệ thống sẽ nhận biết được mạng đang trong tình trạng tắc nghẽn. Bên gửi sẽ giảm dần lưu lượng dữ liệu gửi đi, khi STG được tăng lên bên gửi lại tăng lưu lượng để đảm bảo thông lượng trong mạng luôn đạt mức tối đa và hạn chế xảy ra tắc nghẽn đến mức thấp nhất.
IDD (Inter-Packet Delay Difference)
Trong các nghiên cứu [13][14] chỉ ra rằng việc sử dụng thời gian chậm trễ nhận gói tin gửi đến để phát hiện tắc nghẽn, nhưng trong mạng MANET sự chậm trễ gói tin khơng còn chỉ ảnh hưởng bởi chiều dài hàng đợi mà còn bị ảnh hưởng bơi nhiều nguyên nhân khác, như mát mát gói tin ngẫu nhiên, định tuyến không ổn định và sự cạnh tranh ở tầng MAC. Trong MME-TCP đề xuất một thông số gọi là IDD (Inter-Packet Delay Difference), xác định thời gian chậm trễ (kể từ thời điểm các gói tin đã được gửi đến các thời điểm được nhận) của gói tin liên tiếp.
IDD phụ thuộc vào hai giá trị đó là Ai biểu thị cho thời gian gói tin nhận gói phản hồi từ bên nhận xác định gửi thành công và Si biểu thị cho thời gian gói tin gửi đi, IDD được xác định theo cơng thức sau:
53
(7) Không giống như IDA [14][15], IDD không bị ảnh hưởng bởi lỗi kênh ngẫu nhiên và các gói tin điều khiển vì nhờ trừ đi thời gian gửi gói tin. Khi giá trị của IDD tăng rõ rệt, xác suất cao là mạng bước vào trạng thái tắc nghẽn bởi vì kể từ khi gói i+1 bị ảnh hưởng bởi sự tắc nghẽn này, dẫn tới thời gian Ai+1−Si+1 là lớn hơn rất nhiều so với thời gian gói tin trước đó tới đích mà khơng bị ảnh hưởng bởi tình trạng tắc nghẽn .
POR (Packet Out of order Ratio)
TCP trong Manet gặp phải một vấn đề khi tuyến đường chính xảy ra lỡi, gói tin phải chuyển tuyến đường, do cấu trúc mạng thay đổi liên tục dẫn tới tuyến đường dài ngắn khác nhau, khiến các gói tin được trùn đến bên nhận khơng theo thứ tự, dẫn tới các gói tin bị hỏng. Để giải quyết vấn đề này, MME-TCP đề xuất một thông số POR (Packet Out of order Ratio) xác định được việc thay đổi tuyến đường. POR được định nghĩa là tỷ lệ số gói tin nhận được theo thứ tự trên tổng số các gói tin nhận được trong cùng một khoảng thời gian. No(T) biểu thị số lượng các gói tin theo thứ tự mà bên nhận nhận được trong khoảng thời gian thời gian T, Nr(T) biểu thị tổng số lượng các gói tin nhận được trong khoảng thời gian T. POR được xác định theo công thức.
POR = 𝑁𝑜 (T)
𝑁𝑟 (T))
(8)
3.2.2. Áp dụng cho SCTP
Trong q trình trùn tin tuyến đường chính có thể gặp phải những vấn đề như kết nối không ổn định hoặc tắc nghẽn, tắc nghẽn trong một khoảng thời ngắn có thể tác động tiêu cực đến chất lượng dịch vụ và không đảm bảo việc truyền tin thành công (mục 2.2). Áp dụng những lợi thế của giá trị tham số STG và IDD xác định thông lượng ngắn hạn và thời gian trễ của gói tin gửi đến vào trong SCTP để có thể xác định được tuyến đường đang gặp phải những vấn đề làm ảnh hưởng đến hiệu suất của mạng. SCTP ngay lập tức chuyển sang tuyến đường có chất lượng tốt hơn để đảm bảo không làm lãng phí tài nguyên của kênh truyền.
Thời gian cập nhật RTT và CDH, hay nói cách khác là chu kỳ cập nhật chất lượng đường truyền là chưa tối ưu nếu trong khoảng thời gian chờ đợi lần cập nhật đường truyền tiếp theo mà tuyến đường chính đang truyền tin đột ngột bị suy giảm hiệu suất. Do đó việc có cơ chế hỡ trợ SCTP để đảm bảo luôn cập nhật RTT và CDH sát với được tình trạng của đường truyền nhanh nhất và chính xác nhất, để có thể lựa chọn đường
54
truyền thay thế hoặc chuyển sang tuyến đường khác để đảm bảo hiệu suất của việc truyền tin. Để thực hiện điều đó tơi sử dụng STG và IDD.
Tương tự như trong TCP, việc xác định các tham số STG và IDD trong SCTP giống như bài báo [13], được trình ở mục 3.2.1.2. Trong khoảng thời gian chờ so sánh chất lượng đường truyền chính với đường truyền khác, đường truyền chính có STG đột ngột xuống thấp và IDD tăng cao thì chứng tỏ đường truyền có hiệu suất truyền tin giảm, ngay lập tức gửi thông báo cho nguồn và đích để lựa chọn đường truyền khác thay thế. Ngược lại nếu STG và IDD bình thường, thì việc cập nhật chất lượng đường truyền vẫn chờ đến lần thăm dò tiếp theo.
Thời gian cập nhật chu kì thăm dò chất lượng đường truyền sẽ phụ thuộc vào hai tham số STG và IDD. Do cấu trúc của mạng thay đổi liên tục nếu thời gian cập nhật chu kỳ thăm dò phụ thuộc vào việc đánh giá chất lượng đường truyền chính như thế, trong khoảng thời gian ngắn, bên nhận sẽ phải tính toán số lượng lớn các giá trị tham số và bên gửi sẽ phải xử lý hết tất cả các yêu cầu. Ngoài ra trong q trình thăm dò các gói tin heartbeat còn có thể bị mất, việc tối ưu thời gian tiếp theo để thực hiện việc thăm dò như vậy không những khơng làm tăng hiệu suất mà còn làm tình trạng của mạng rơi vào hỡn loạn.
Vì vậy thời gian cập nhật lại RTT và CDH hay nói cách khác là cập nhật chất lượng đường truyền sẽ để bằng hoặc ít hơn thời gian mặc định gửi gói tin thăm dò heartbeat, và thời gian đó là cố định. Việc xác định thời gian này phụ thuộc vào việc nghiên cứu và đánh giá thực nghiệm.
56