TỔNG QUAN VỀ ĐIỀU KHIỂN LUỒNG VÀ CHỐNG TẮC NGHẼN TRONG MẠNG VIỄN THÔNG
Vấn đề chính trong điều khiển luồng chống tắc nghẽn trong viễn thông
Hiện nay, nhu cầu trao đổi thông tin mọi lúc mọi nơi đang gia tăng mạnh mẽ, trong khi tài nguyên mạng lại có hạn, dẫn đến tình trạng tắc nghẽn không thể tránh khỏi Để khắc phục vấn đề này, cần áp dụng các biện pháp chống tắc nghẽn hiệu quả Một trong những phương pháp quan trọng là điều khiển luồng, giúp kiểm soát thông tin giữa hai thiết bị đầu cuối và tối ưu hóa lưu lượng giữa các thiết bị thu và phát Để hiểu rõ hơn về nguyên nhân và cơ chế tắc nghẽn, cần xem xét hoạt động của mạng trong điều kiện không có sự kiểm soát.
Hình 1.1 Hoạt động của mạng khi không có sự kiểm soát
Với các số trên hình thể hiện tốc độ truyền dữ liệu trên các đường Ký hiệu tốc độ truyền từ A đến B là , từ C đến D là
Bài toán đặt ra ta xét các trường hợp với tốc độ truyền giữa các điểm:
Trong trường hợp 1, lưu lượng dữ liệu từ B đến A sẽ được mạng trung chuyển mà không xảy ra tắc nghẽn Tốc độ thông tin đến nút A sẽ tương đương với tốc độ mà nút B đưa vào mạng, với các đường B-Y, Y-X và X-A đều có tốc độ 7 Kbps.
Trong trường hợp tốc độ thông tin từ B đến A lớn hơn tốc độ hoạt động của đường từ X đến A, thông tin từ Y đến X sẽ nhiều hơn từ X đến A, dẫn đến bộ đệm của X bị đầy và tràn, làm mất mát các gói thông tin từ Y Đồng thời, bộ đệm của Y cũng bị đầy do lưu trữ các gói tin chưa được xác nhận Nút X chỉ có khả năng chuyển 8 Kbps khi lưu lượng đầu vào lớn hơn 8 Kbps, vì vậy nó sẽ hủy 2 Kbps trong quá trình truyền Kết quả là, đường Y-X sẽ hoạt động với tốc độ 56 Kbps, tương tự như đường kết nối từ B đến Y cũng sẽ đạt tốc độ tương ứng.
16 Kbps (bao gồm cả các gói mới và các gói được phát lại). Ở đây để giải quyết vấn đề thì người ta đưa ra hai cách giải quyết:
Để xây dựng một hệ thống mạng hiệu quả, cần đảm bảo tốc độ thông tin từ X đến A đạt tối thiểu 8+ Kbps, phù hợp với yêu cầu tốc độ của B Giải pháp này chỉ khả thi khi tốc độ phát tin của B ổn định trong thời gian dài; nếu không, việc đầu tư vào một hệ thống mạng có khả năng xử lý lưu lượng lớn sẽ trở nên kém hiệu quả khi chỉ đáp ứng các yêu cầu trao đổi lưu lượng nhỏ.
Giới hạn tốc độ truyền tin của B xuống còn 8 Kbps là một phương án khả thi, đặc biệt khi yêu cầu truyền tin của B chủ yếu dưới 8 Kbps và chỉ thỉnh thoảng vượt quá mức này trong thời gian ngắn.
Trong trường hợp 3, mạng không gặp phải tắc nghẽn Thông tin được truyền tải đến các nút A và D với tốc độ 7Kbps cho mỗi nút, và tất cả các liên kết trong mạng đều hoạt động với tốc độ 7Kbps.
Trường hợp 4: Kbps và Kbps ( > 0) Trong trường hợp này, đường đi từ C đến D có đủ dung lượng để đáp ứng yêu cầu cho kết nối C-
D, tuy nhiên yêu cầu truyền thông tin trên đường B-A vượt quá khả năng xử lý của tuyến truyền này Trong trường hợp này, hai kết nối B-A và C-D chia sẻ bộ đệm của nút X Như đã xét trong trường hợp 2, lưu lượng thông tin từ B đến A làm tràn bộ đệm của X, điều này dẫn đến thông tin từ B và C khi đến X đều bị hủy Hiện tượng này xảy ra đối với tất cả các gói tin cho dù nguyên nhân gây ra là do B Hệ quả là nút Y và Z cũng bị tràn bộ đệm và tất cả các đường liên kết sẽ hoạt động với tốc độ cực đại của chúng.
Trước khi chuyển gói tin từ B và C đến A và D, nút X cần lưu các gói tin này vào bộ đệm để xử lý Nếu bộ đệm của X bị tràn, X sẽ gặp phải vấn đề trong việc tiếp nhận và xử lý các gói tin mới.
X cần hủy các gói tin từ Z do tốc độ thông tin từ Y đến X gấp đôi tốc độ từ Z đến X Cụ thể, X sẽ chấp nhận các gói tin từ Y và Z theo tỷ lệ 2:1 Đồng thời, thông tin từ B đến A hoạt động với tốc độ 8 Kbps, trong khi thông tin từ C đến D chỉ đạt 4 Kbps So với trường hợp 3, sự khác biệt này rõ ràng hơn.
- Thông lượng tổng cộng của mạng giảm từ 14Kbps xuống còn 12Kbps.
Tại nút C, tốc độ truyền thông tin đến D giảm từ 7KBps xuống 4KBps, trong khi nút B, nơi xảy ra tắc nghẽn, chỉ giảm nhẹ từ 8+ Kbps xuống 8Kbps Để khắc phục tình trạng này, có thể phân bổ một phần dung lượng bộ đệm tại X cho các gói tin.
C đi đến Việc này trái với nguyên tắc chuyển mạch gói khi tài nguyên trong mạng được chia sẻ bởi tất cả các nút và người dùng.
Hình 1.2 Hiệu quả của việc có điều khiển
Nếu hệ thống mạng thiếu kiểm soát và cơ chế điều khiển, nó sẽ chuyển tất cả các gói tin khi lưu lượng thấp hơn một ngưỡng nhất định Tuy nhiên, khi lưu lượng vượt quá ngưỡng này, mạng có thể rơi vào tình trạng bế tắc (deadlock), khiến việc chuyển gói tin gần như không thể thực hiện được.
Khi thực hiện điều khiển luồng và điều khiển tắc nghẽn, hệ thống mạng có thể hoạt động ổn định ngay cả khi xảy ra tình trạng quá tải Tuy nhiên, do yêu cầu các thông tin điều khiển, thông lượng thực tế của mạng sẽ nhỏ hơn so với trường hợp lý tưởng hoặc không có điều khiển, ngay cả khi mạng chưa quá tải.
Mục tiêu đặt ra đối với điều khiển luồng và chống tắc nghẽn
Điều khiển luồng và chống tắc nghẽn là các phương pháp quan trọng để quản lý tài nguyên giữa người sử dụng và điểm truy cập mạng, cũng như giữa các thiết bị mạng Những kỹ thuật này giúp kiểm soát thông tin trên mạng, đặc biệt được áp dụng phổ biến tại các lớp liên kết dữ liệu, lớp mạng và lớp giao vận.
Do đó mục đích sử dụng của điều khiển luồng và chống tắc nghẽn được nêu ra:
Tối ưu hóa thông lượng mạng là rất quan trọng, đặc biệt trong các hệ thống có nhiều nút mạng tham gia trao đổi thông tin Khi thông tin chỉ được truyền giữa hai người dùng, việc tối ưu hóa tốc độ truyền không phải là vấn đề cần thiết Tuy nhiên, trong môi trường mạng phức tạp, việc tối ưu hóa thông lượng trở thành một thách thức lớn hơn.
Giảm trễ gói khi truyền tải qua mạng là một yếu tố quan trọng đối với người sử dụng, với mục tiêu là giảm thiểu trễ từ đầu cuối đến đầu cuối Tuy nhiên, việc điều khiển luồng ở lớp mạng không hoàn toàn tập trung vào việc giảm thiểu trễ này, mà chủ yếu nhằm đảm bảo mức độ trễ của các gói tin trong quá trình truyền tải.
Việc kiểm soát lưu lượng mạng có thể đạt hiệu quả chấp nhận được bằng cách giới hạn gói tin vào mạng Tuy nhiên, điều này không hiệu quả với các ứng dụng yêu cầu độ trễ thấp trên hạ tầng tốc độ thấp Mục tiêu chính của việc giảm độ trễ gói là nhằm tiết kiệm tài nguyên bằng cách hạn chế việc truyền lại gói tin.
Đảm bảo tính công bằng trong việc trao đổi thông tin trên mạng là yếu tố then chốt trong kỹ thuật mạng, giúp mọi người dùng có cơ hội sử dụng mạng một cách bình đẳng.
Để đảm bảo mạng hoạt động hiệu quả, cần tránh hiện tượng tắc nghẽn, khi lưu lượng giảm và độ trễ tăng do lượng thông tin gia tăng Việc điều khiển luồng giúp giới hạn lượng thông tin vào mạng, từ đó ngăn chặn tình trạng tắc nghẽn xảy ra.
Kết luận chương 1
Mạng viễn thông tại Việt Nam và toàn cầu đang phát triển mạnh mẽ, với nhu cầu dịch vụ mạng ngày càng đa dạng và phong phú, đòi hỏi nhiều mức độ dịch vụ khác nhau Xu hướng hiện nay là hội tụ về mạng và dịch vụ Tuy nhiên, tài nguyên mạng có hạn trong khi nhu cầu truyền thông tin tăng cao, dẫn đến hiện tượng tắc nghẽn khó tránh khỏi Do đó, cần thiết phải có cơ chế điều khiển chống tắc nghẽn hiệu quả, kết hợp với việc điều khiển luồng để kiểm soát thông tin trên mạng.
ĐIỀU KHIỂN LUỒNG
Định nghĩa
Điều khiển luồng là cơ chế nhằm đảm bảo việc truyền thông tin của phía phát không vượt quá khả năng xử lý của phía thu.
Cơ chế điều khiển luồng được thiết kế nhằm quản lý dòng dữ liệu giữa người nhận và người gửi, đảm bảo rằng vùng đệm của người nhận không bị tràn Khi xảy ra tình trạng tràn, các khung hoặc gói dữ liệu có thể bị mất Điều khiển luồng được áp dụng trong tầng liên kết dữ liệu để quản lý các liên kết điểm-điểm và trong tầng chuyển tải để điều chỉnh luồng end-to-end trên mạng có định tuyến.
Các kỹ thuật điều khiển luồng
Khi truyền thông tin qua mạng, dữ liệu có thể bị sai lệch hoặc mất mát trong quá trình từ nguồn phát đến đích nhận Nếu thông tin bị mất, cần phải thực hiện việc truyền lại, trong khi đó, nếu thông tin bị sai, cần xác định nguyên nhân để tiến hành sửa chữa Có hai phương pháp chính để khắc phục lỗi thông tin.
Sai do bên thu và sửa lỗi trực tiếp bên thu yêu cầu thông tin được cài mã sửa lỗi trước khi truyền Số lượng bít thông tin có thể sửa sai phụ thuộc vào số mã sửa lỗi và số bít thông tin bổ sung Khi số bít thông tin thêm vào tăng lên, khả năng sửa sai cũng tăng, nhưng hiệu suất thông tin sẽ giảm.
Sửa sai bằng cầu bên phát là phương pháp truyền lại thông tin hiệu quả Phương pháp này chỉ cần bổ sung các bít thông tin nhằm mục đích phát hiện lỗi, từ đó nâng cao độ chính xác trong quá trình truyền tải dữ liệu.
Trong trường hợp xảy ra lỗi với khung thông tin, toàn bộ khung thông tin cần phải được truyền lại, mặc dù có 10 suất truyền thông tin cao hơn so với trường hợp trước đó.
Cơ chế điều khiển luồng và điều khiển tắc nghẽn theo phương pháp cửa sổ hoạt động tương tự như các cơ chế phát lại ARQ (Automatic Repeat Request - yêu cầu lặp lại tự động) Các cơ chế phát lại này được phân thành ba loại, mỗi loại có những đặc điểm và cách hoạt động riêng biệt.
2.2.2 Điều khiển luồng kết hợp ARQ – Stop-and- wait (dừng và đợi)
Stop-and-wait là một phương thức điều khiển dòng truyền, được mở rộng để bao gồm các chức năng truyền lại dữ liệu khi xảy ra mất mát hoặc hư hỏng dữ liệu.
Hình vẽ mô tả nguyên tắc hoạt động cơ bản của cơ chế phát lại dừng và đợi:
Hình 2.1 Nguyên tắc hoạt động cơ bản của cơ chế phát lại dừng và đợi
Phía phát sẽ gửi một khung thông tin và chờ phản hồi từ phía thu Khi phía thu nhận được khung thông tin và xử lý xong, họ sẽ gửi lại báo nhận (ACK - Acknowledgement) cho phía phát Sau khi nhận được báo nhận, phía phát sẽ tiếp tục gửi khung thông tin tiếp theo.
Khi phía thu nhận khung thông tin và phát hiện sai sót, họ sẽ gửi báo sai (NACK – Negative Acknowledgement) trở lại phía phát Sau khi nhận được thông báo này, phía phát sẽ tiến hành phát lại khung thông tin Để đảm bảo quá trình truyền thông suôn sẻ, phía phát sử dụng cơ chế timeout để phát lại nếu không nhận được hồi âm từ phía thu Để phân biệt các khung thông tin, mỗi khung cần được đánh số khác nhau bằng cách sử dụng một bít (0 hoặc 1) Số thứ tự khung thông tin từ phía phát sang phía thu được ghi trong trường SN (Sequence number), trong khi số thứ tự của báo nhận từ phía thu sang phía phát nằm trong trường RN (Request number).
Hoạt động của cơ chế Stop- anh- wait ARQ khi sử dụng SN và RN:
Khi phía phát tại thời điểm ban đầu SN = 0.
1 Nhận gói tin từ lớp phía trên và gán SN cho gói tin này.
2 Gửi gói tin SN này trong khung thông tin có số thứ tự là SN.
3 Chờ khung thông tin(không có lỗi, đóng vai trò là khung báo nhận) từ phía thu.Khi khung nhận được không có lỗi, và trong trường hợp Request có RN>SN thì đặt giá trị SN = RN và quay lại bước 1 Khi không nhận được khung thông tin trong khoảng thời gian định trước(time out) thì thực hiện bước 2.
Tại đầu thu: ban đầu RN = 0
4 Khi nhận được một khung thông tin( không có lỗi) từ phía phát, chuyển khung này lên lớp phía trên và tăng RN lên 1.
5 Khi nhận được khung thông tin có lỗi, gửi lại một khung thông tin cho phía phát với RN được giữ nguyên ( khung báo sai- NAK) Khung được gửi từ phía thu này có thể chứa cả thông tin từ phía thu sang phía phát chứ không đơn thuần chỉ dùng cho mục đích báo sai.
Hình mô tả nguyên tắc hoạt động của cơ chế Stop- and- Wait:
Hình 2.2: Stop-and-Wait ARQ có dùng SN/RN
Trong quá trình hoạt động thì hiệu suất của phương pháp là rất quan trọng, nó đánh giá khả năng hoạt động của phương pháp đó.
Hiệu suất truyền tin giữa phía phát và thu được xác định bằng tỷ lệ thời gian mà phía phát cần để hoàn thành việc truyền tải một lượng thông tin so với tổng thời gian cần thiết để truyền tải lượng thông tin đó.
Tổng thời gian truyền bao gồm thời gian trễ tín hiệu giữa thiết bị phát và thu, thời gian xử lý thông tin, cùng với thời gian chờ nhận tín hiệu từ thiết bị thu.
Hình 2.3: Giản đồ thời gian khi truyền từ phát sang thu, không có lỗi
T F = thời gian phát khung thông tin
T D = trễ truyền sóng giữa phía phát và phía thu
TP = thời gian xử lý khung thông tin ở phía thu
T ACK = thời gian phát khung ACK
T P’ = thời gian xử lý khung ACK ở phía phát
Bỏ qua các khoảng thời gian rất nhỏ hiệu suất được tính:
Xét trường hợp đường truyền có lỗi: Xác suất lỗi p (0 ≤ p ≤ 1) là xác suất phía thu nhận được bit 0 khi phía phát truyền đi bit 1(hoặc ngược lại).
Khi 0,5 < p < 1, khả năng nhận được thông tin sai lầm cao hơn thông tin chính xác Trong tình huống này, chỉ cần đảo bít luồng thông tin sẽ chuyển đổi thành trường hợp 0 < p < 0,5 Do đó, chỉ cần xem xét khoảng 0 < p < 0,5.
Gọi N R là số khung thông tin phải truyền cho đến khi đúng (1 ≤ N R ≤ ∞), khi ấy hiệu suất của trường hợp không lý tưởng sẽ là:
Giả thiết ACK và NCK không bị lỗi(kích thước gói nhỏ), với p là xác suất lỗi thì:
Xác suất để truyền khung thành công ngay lần đầu là: 1- p ;
Xác suất để truyền khung đến lần thứ 2 mới thành công là: p(1-p);
Do đó xác suất để truyền khung đến lần thứ i mới thành công là: p i – 1 (1-p);
Do đó hiệu suất của phương pháp dừng và đợi ARQ trong thực tế :
Khi a càng nhỏ, hiệu suất càng lớn, nhưng a lại khó thay đổi Vì vậy, phương pháp truyền theo cơ chế dừng và đợi không được ưa chuộng do hiệu quả sử dụng đường truyền không cao.
Cần thiết phải có cơ chế mới để phía phát tận dụng thời gian rảnh trong khi chờ báo nhận từ phía thu Dựa trên yêu cầu này, các cơ chế truyền mới đã được phát triển nhằm nâng cao hiệu quả truyền tải, bao gồm truyền lại theo nhóm (Go-back-N) và cơ chế phát lại theo yêu cầu (Selective Repeat ARQ).
2.2.3 Phương pháp điều khiển luồng Go back – N
CHỐNG TẮC NGHẼN TRONG MẠNG VIỄN THÔNG
Khái niệm chung điều khiển tắc nghẽn
Trong mạng viễn thông, thông tin di chuyển qua các bộ đệm và thiết bị chuyển mạch, với đặc điểm quan trọng là nguồn thông tin đến từ nhiều nguồn khác nhau Khi lưu lượng vượt quá kích thước bộ đệm, các gói tin sẽ bị loại bỏ, và việc tăng kích thước bộ đệm không phải là giải pháp do có thể gây ra độ trễ lớn Tắc nghẽn xảy ra khi nhiều tuyến lưu lượng đổ dồn về một tuyến không đủ khả năng xử lý, hoặc ngay trong các router khi chúng nhận lưu lượng vượt quá thiết kế Nếu không được xử lý kịp thời, tắc nghẽn có thể dẫn đến hậu quả nghiêm trọng như gói tin không được chuyển đến đích, gây ùn tắc trong mạng và thậm chí làm hỏng các thành phần của mạng Do đó, việc kiểm soát tắc nghẽn là rất quan trọng, bao gồm cả hành động phòng ngừa và xử lý khi tắc nghẽn đã xảy ra.
Trong các mạng viễn thông, việc tối ưu hóa lưu lượng là rất quan trọng để đảm bảo các ứng dụng yêu cầu tính thời gian thực có thể hoạt động hiệu quả cùng nhau trên cùng một đường truyền dữ liệu Khi mạng được thiết kế để hỗ trợ nhiều loại lưu lượng khác nhau, việc áp dụng các kỹ thuật điều khiển tắc nghẽn sẽ giúp đảm bảo sự công bằng trong việc xử lý các gói dữ liệu khác nhau giữa các router.
3.1.1 Mô hình tổng quan điều khiển chống tắc nghẽn Đầu phát
Hình 3.1: Mô hình tổng quát cho điều khiển chống tắc nghẽn
Bộ giám sát mạng có nhiệm vụ theo dõi tình trạng mạng để phát hiện tắc nghẽn, được đặt ở đầu thu để thu thập thông tin về việc truyền tải gói tin từ đầu phát đến đầu nhận Qua đó, bộ này giúp xác định độ mất gói, mức sử dụng tài nguyên mạng và tình trạng tắc nghẽn thông qua các tham số thời gian gửi và nhận Các trễ T1 và T2 phản ánh thời gian truyền tải và phản hồi, liên quan đến việc các gói tin chờ trong bộ đệm Dựa trên thông tin phản hồi từ bộ giám sát, khối điều khiển sẽ đưa ra quyết định điều khiển thích ứng, với thời gian điều khiển được tính toán dựa trên các trễ này.
Hệ thống 34 mạng cho phép đo lường hiệu số giữa thời gian thu phát và thông tin phản hồi Qua sự hợp tác chặt chẽ giữa bộ giám sát và khối điều khiển, có khả năng phát hiện lỗi mất gói do tắc nghẽn hoặc môi trường truyền một cách hiệu quả, điều mà ít thuật toán hiện nay có thể thực hiện.
3.1.2 Nguyên nhân gây tắc nghẽn
- Tràn bộ đệm: đây cũng là nguyên nhân giống như trong mạng truyền thống.
- Lỗi do đường truyền vô tuyến: Các hiệu ứng môi trường như di động, che chắn, pha đinh…., gây ra mất gói và ảnh hưởng đến tắc nghẽn mạng.
Tắc nghẽn cổ chai xảy ra tại các điểm kết nối giữa mạng tốc độ thấp và mạng tốc độ cao, tạo ra những hạn chế trong hiệu suất truyền tải dữ liệu Đây là một trong những vấn đề nổi bật trong môi trường mạng NGN hỗn tạp, ảnh hưởng đến trải nghiệm người dùng và hiệu quả hoạt động của hệ thống mạng.
Nhu cầu băng thông cao từ các dịch vụ đa phương tiện và các loại hình dịch vụ mới đang gia tăng, với dữ liệu, âm thanh và hình ảnh được tích hợp truyền tải qua mạng NGN ALL_IP Điều này dẫn đến tình trạng tắc nghẽn tại các đường truyền có băng thông hạn chế.
Trong mạng NGN, các ứng dụng mới thường được thiết kế để đáp ứng nhu cầu truyền tải lưu lượng lớn, đặc biệt là các ứng dụng liên quan đến cơ sở dữ liệu phân tán, VoIP, video và IPTV Tuy nhiên, các ứng dụng đa phương tiện lại có đặc điểm lưu lượng biến đổi động, khó dự đoán trước.
Tính biến động của nút mạng là một đặc điểm nổi bật của mạng thế hệ mới (NGN) so với các mạng truyền thống Sự dịch chuyển của các nút mạng dẫn đến sự thay đổi trong hình trạng mạng, từ đó ảnh hưởng đến việc phân chia lưu lượng trên toàn hệ thống.
3.1.3 Nguyên lý điều khiển tắc nghẽn
Hình 3.2: Quá trình xảy ra tắc nghẽn
Quá tải gây ra sự suy giảm thông lượng, như thể hiện trong hình 3.2 Đồ thị này minh họa mối quan hệ giữa thông lượng và lưu lượng đưa vào, cho thấy rằng ở mức lưu lượng đưa vào thấp, thông lượng vẫn duy trì ổn định trước khi xảy ra điểm gãy.
Thông lượng mạng tăng tuyến tính với lưu lượng đầu vào cho đến khi đạt gần băng thông thắt cổ chai, tại đó thông lượng lớn nhất được ghi nhận Khi lưu lượng tiếp tục tăng, thông lượng giảm đột ngột xuống mức rất thấp do hiện tượng tắc nghẽn, dẫn đến mất gói dữ liệu Để giải quyết vấn đề này, cần áp dụng các biện pháp chống tắc nghẽn, với nguyên tắc chính là duy trì hoạt động của mạng bên trái điểm Knee và đảm bảo các bộ đệm của bộ định tuyến luôn được quản lý hiệu quả.
Điều khiển chống tắc nghẽn giúp đảm bảo việc gửi dữ liệu diễn ra nhanh chóng trong khi phía nhận vẫn có khả năng xử lý, từ đó tối ưu hóa việc sử dụng tài nguyên mạng hiệu quả nhất.
Một số phương pháp chống tắc nghẽn
DECbit là một trong những mô hình điều khiển tắc nghẽn đầu tiên, sử dụng phản hồi ẩn để điều chỉnh lưu lượng mạng Mạng cung cấp thông tin phản hồi cho phép phía gửi điều chỉnh lưu lượng, trong khi các bộ định tuyến giám sát kích thước trung bình của hàng đợi Khi độ dài trung bình của bộ đệm vượt quá ngưỡng, bộ định tuyến sẽ thiết lập một bit chỉ dẫn chống tắc nghẽn (DECbit) trong các gói tin để thông báo về tình trạng tắc nghẽn Phía nhận sẽ gửi lại bit này trong thông báo đến phía gửi, giúp phía gửi điều chỉnh kích thước cửa sổ gửi Cụ thể, nếu xảy ra tắc nghẽn, kích thước cửa sổ sẽ giảm theo phép nhân với 0,875; ngược lại, nếu không có tắc nghẽn, kích thước cửa sổ sẽ được tăng lên.
DECbit là một phương pháp đơn giản nhưng không hiệu quả, do lưu lượng bị giảm đáng kể với hệ số 0,875, dẫn đến thông lượng thấp Hơn nữa, các tiêu chí về tính bình đẳng, độ hội tụ và độ mịn điều khiển cũng không được đáp ứng, khiến thuật toán này không phù hợp cho các ứng dụng mới trong mạng thế hệ tiếp theo (NGN).
3.2.2 Phương pháp điều khiển tắc nghẽn trong TCP
TCP (Transmission Control Protocol) là giao thức phổ biến nhất hiện nay, thực hiện chức năng khôi phục dữ liệu đã mất và quản lý kết nối Điều khiển tắc nghẽn trong TCP là kiểu điều khiển vòng kín phản hồi ẩn, dựa vào việc phát hiện mất gói để nhận diện tắc nghẽn Có hai cơ chế phát hiện mất gói: đầu tiên, khi gói được gửi, TCP khởi tạo bộ định thời; nếu bộ định thời hết hiệu lực trước khi gói được xác nhận, TCP coi gói đã bị mất Thứ hai, khi nhận gói không đúng thứ tự, phía nhận sẽ gửi xác nhận ACK cho gói gần nhất Ví dụ, nếu phía nhận nhận gói từ 1 đến 5 và gói 6 bị mất, khi nhận gói 7, nó sẽ gửi dupack cho gói 5 TCP phía gửi xem 3 bản sao phúc đáp (3 dupack) như dấu hiệu của một gói bị mất.
Kết nối TCP qua 2 pha: khởi đầu chậm và pha AIMD Hình 3.1 cho ta thấy quỹ đạo điển hình của cửa sổ chống tắc nghẽn.
TCP bắt đầu với mô hình khởi đầu chậm khi thiết lập kết nối, trong đó phía gửi tăng tốc độ gửi theo hàm mũ Cửa sổ tắc nghẽn ban đầu được thiết lập là 1 đoạn (MSS) và phía gửi chỉ gửi 1 đoạn dữ liệu, chờ xác nhận (ACK) từ phía nhận Khi ACK được nhận, phía gửi tăng cửa sổ tắc nghẽn lên 1, gửi 2 đoạn, và tiếp tục gấp đôi số đoạn gửi mỗi khi nhận được ACK Quá trình này dẫn đến sự gia tăng nhanh chóng của cửa sổ tắc nghẽn theo hàm mũ TCP sẽ thoát khỏi giai đoạn khởi đầu chậm khi xảy ra mất mát dữ liệu, lúc này phía gửi sẽ giảm cửa sổ tắc nghẽn của mình.
1 nửa và đi vào giai đoạn AIMD.
Hình 3.3: Cửa sổ tắc nghẽn
AIMD: Trong mô hình này, miễn là không có đoạn nào bị mất, phía gởi
TCP điều chỉnh cửa sổ tắc nghẽn bằng cách tăng thêm 1 MSS cho mỗi RTT và giảm một nửa khi xảy ra mất gói Kết quả là thông lượng thể hiện một chuỗi tăng trưởng liên tiếp, sau đó là sự giảm sút, được gọi là "TCP sawtooth" Tuy nhiên, cơ chế kiểm soát tắc nghẽn trong TCP vẫn tồn tại những nhược điểm cơ bản.
Thông tin phản hồi là ẩn và vì vậy cửa sổ gửi luôn giảm đi một nửa khi xảy ra tắc nghẽn là không thực sự hiệu quả.
TCP không chia sẻ thông tin điều khiển, dẫn đến việc các kết nối đồng thời đến cùng một đích phải cạnh tranh, gây lãng phí băng thông mạng Trong mạng đa dịch vụ, thuật toán điều khiển chống tắc nghẽn của TCP không đảm bảo tính bình đẳng cho các ứng dụng khác nhau Hơn nữa, trong môi trường có lưu lượng biến đổi nhanh, cơ chế điều khiển tắc nghẽn của TCP thường trở nên bất ổn định và không đạt được sự hội tụ mong muốn.
3.2.3 Phương pháp EWA và FEWA
Phương pháp EWA (Explicit Window Adaptation) cung cấp thông tin rõ ràng về băng thông còn khả dụng từ các bộ định tuyến đến phía gửi, sử dụng cơ chế điều khiển lưu lượng tương tự như TCP Trong bộ định tuyến, EWA tính toán thông tin phản hồi định kỳ dựa trên dung lượng rỗi của hàng đợi, nhân với biến α, biến này phụ thuộc vào giá trị khởi tạo và kích thước hàng đợi hiện tại, được điều khiển theo thuật toán AIMD Mặc dù EWA hoạt động hiệu quả trong các bộ định tuyến có tải lớn, nhưng gặp vấn đề trong các bộ định tuyến hoạt động dưới mức tải thường xuyên, do α quá phụ thuộc vào tải trọng trước đó, dẫn đến phản ứng chậm với thay đổi tải Để khắc phục hạn chế này, FEWA - Fuzzy EWA đã được phát triển, sử dụng bộ điều khiển mờ để tính toán α dựa trên giá trị hiện tại và giá trị gần nhất của bộ đệm bộ định tuyến.
3.2.4 Phương pháp ETCP ( Enhanced TCP ) Ý tưởng của ETCP là sử dụng phản hồi FEWA (dựa trên sự điều khiển thích ứng lưu lượng-AWND) để tính cửa sổ gởi mới (SWND) ETCP phía gởi không thực hiện chu trình bắt đầu chậm (slow start) và tránh tắc nghẽn
(congestion avoidance), mà bắt đầu với 1 cửa sổ gởi khởi tạo và cập nhật cửa sổ gởi theo các cách sau:
Nếu cửa sổ gởi hiện tại lớn hơn cửa sổ điều khiển lưu lượng, thì cửa sổ gởi mới sẽ được thiết lập bằng cửa sổ điều khiển lưu lượng, tức là SWND = AWND.
- Nếu cửa sổ gởi hiện tại nhỏ hơn cửa sổ điều khiển lưu lượng thì cửa sổ gởi được tính như sau: SWND SWND AWND / SWND 1/ SWND
Cửa sổ phía gởi ETCP được điều chỉnh theo hàm mũ để gần gũi hơn với cửa sổ điều khiển lưu lượng Những thay đổi nhỏ này mang lại sự cải thiện đáng kể trong khả năng thực hiện.
3.2.5 Phương pháp XCP (Explicit Control Protocol)
XCP (eXplicit Control Protocol) là một giao thức truyền thông tương tự như TCP, nhưng khác biệt ở chỗ nó cung cấp phản hồi chống tắc nghẽn rõ ràng từ router đến phía gửi Nhờ vào khả năng này, XCP cho phép phía gửi điều chỉnh cửa sổ gửi một cách hiệu quả hơn, nhằm đạt được tính hiệu quả, bình đẳng và khả năng mở rộng trong việc kiểm soát tắc nghẽn, đồng thời đảm bảo sự ổn định cho toàn bộ mạng.
Thuật toán điều khiển chống tắc nghẽn phản hồi XCP trong router được chia thành hai phần chính: thuật toán hiệu quả và thuật toán bình đẳng Phương pháp này cho phép quản lý một cách tách biệt giữa tính hiệu quả và tính bình đẳng của các kết nối XCP trong cùng một router.
Phân bổ băng thông hợp lý cho TCP (FBA-TCP) là một phương pháp hiệu quả trong việc điều khiển lưu lượng TCP, sử dụng thông tin phản hồi từ mạng thông qua CSFQ Phương pháp này giúp tối ưu hóa việc sử dụng băng thông, đảm bảo sự công bằng trong phân phối tài nguyên mạng cho các kết nối TCP.
FBA-TCP sử dụng cơ cấu CSQB để cải thiện điều khiển chống tắc nghẽn trong kết nối TCP Tại router biên của vùng mạng, FBA-TCP áp dụng thuật toán tương tự như CSFQ để ước lượng tốc độ luồng và gán nhãn cho các gói trong luồng dựa trên tốc độ ước lượng Trong các router biên và lõi, tốc độ phân bổ bình đẳng được ước lượng, và các gói của luồng sẽ bị giảm theo đẳng thức nếu nhãn của chúng vượt quá mức phân bổ cân bằng.
Kết nối TCP đơn đi qua vùng router hỗ trợ CSFQ cho phép router biên ở phía nhận giữ lại nhãn của mỗi gói mà không xóa Nhãn này được đặt vào trong mào đầu Ipv4 hoặc mào đầu mở rộng của Ipv6, giúp truyền tải thông tin qua mạng không hỗ trợ CSFQ đến TCP phía nhận.
Kết luận chương 3
Sự phát triển không ngừng của mạng viễn thông hiện nay đã làm cho các phương pháp điều khiển chống tắc nghẽn truyền thống trở nên lỗi thời Các phương pháp mới xuất hiện cũng mang theo những ưu và nhược điểm riêng Do đó, cần thiết phải nghiên cứu và phát minh ra các phương pháp chống tắc nghẽn tối ưu hơn nhằm đáp ứng nhu cầu phát triển nhanh chóng của ngành viễn thông.