3.2.1 Yêu cầu phát lại tự động (ARQ)
Sử dụng ARQ, gói mất đƣợc đầu phát phát lại. Cơ chế ARQ bao gồm ba phần:
Đầu phát hoặc đầu thu phát hiện đƣợc dữ liệu mất (timeout).
Khôi phục mất gói
Thực hiện ở đầu phát Thực hiện ở đầu thu
Thực hiện ở đầu phát Yêu cầu phát lại tự động (ARQ) Mã sửa lỗi trƣớc (FEC ) Bảo vệ mức không đều (ULP) Ghép xen (Interleavin g) UDP cải tiến (UDP Lite)
Gửi xác nhận: Đầu thu gửi bản tin để xác nhận dữ liệu đã nhận đƣợc hoặc bị mất
Phát lại: Nó sẽ quyết định dữ liệu đƣợc đầu phát phát lại.
Cơ chế này đảm bảo truyền dữ tin cậy, chống đƣợc mất cụm nhƣng nó không thể sử dụng cho các ứng dụng thời gian thực nhạy cảm với trễ nhƣ thoại IP bởi vì phát lại gây ra trễ lớn và yêu câu thêm băng thông.
3.2.2 Sử dụng mã sửa lỗi trước(FEC)
Sử dụng mã sửa lỗi FEC, dữ liệu mất sẽ đƣợc khôi phục ở đầu thu mà không cần phát lại của đầu phát. Cả dữ liệu gốc và thông tin dƣ thừa đƣợc gửi đến đầu thu. Có hai kiểu thông tin dƣ thừa là: luồng thông tin độc lập và phụ thuộc.
Thông tin độc lập FEC không cần biết kiểu dữ liệu gốc (thoại, audio, video). Trong thông tin độc lập FEC, dữ liệu gốc cùng với dữ liệu dƣ thừa đều đƣợc gửi tới đầu thu.
Dữ liệu dƣ thừa nhận đƣợc từ dữ liệu gốc nhờ sử dụng toán tử exclusive-OR (XOR) hoặc sử dụng mã Reed-Solomon. Mã Reed-Solomon cho phép bảo vệ lỗi tối ƣu nhƣng giá thành xử lý cao hơn cơ chế dựa trên toán tử XOR.
Nguyên lý của FEC là truyền đi k gói dữ liệu gốc và kèm theo h gói chẵn lẻ dƣ thừa. Ví dụ k = 3 và h = 2, nhƣ vậy các gói truyền đi có 3 gói dữ liệu D1, D2, D3 và hai gói chẵn lẻ P1, P2. Giả sử, một gói dữ liệu D3 và một gói chẵn lẻ P1 bị rớt, thì tại bộ thu có thể khôi phục gói dữ liệu D3 bằng từ các gói dữ liệu nhận đƣợc D1, D2 và P2.
FEC làm việc hiệu quả ngay cả khi tỷ lệ h/k nhỏ. Ở bộ giải mã FEC, mất gói liên tiếp có thể sửa đƣợc với giá trị k lớn, vì bộ mã hoá không chỉ sử dụng các bít chẵn lẻ mà còn sử dụng các bit dữ liệu cho việc sửa lỗi. Tuy nhiên, nếu k
tăng, trễ tái tạo ở bộ thu cũng tăng. Mã FEC có ƣu điểm (+) và nhƣợc điểm (-) đó là:
+ Hoạt động của FEC không phụ thuộc và vào nội dung của dữ liệu gốc và các gói mất có thể sửa chữa chính xác.
3.2.3 Bảo vệ mức không đều (ULP)
URL đƣợc dựa trên thực tế các phần khác nhau của dữ liệu có mức quan trọng không đều nhau để chất lƣợng đƣợc bảo đảm. Ví dụ, nếu thoại đƣợc mã hoá sử dụng CELP thì "pitch" và các tham số bộ lọc dự đoán trƣớc đƣợc xem xét là quan trọng hơn các ký hiệu trong khối mã hoá kích thích. Một lỗi trong tham số bộ lọc dự đoán trƣớc có thể dẫn đến giảm chất lƣợng, trong khi một lỗi trong khối ký hiệu sẽ ảnh hƣởng ít thậm trí gần nhƣ không ảnh hƣởng tới chất lƣợng cảm nhận thoại. Đây là điểm mấu chốt thúc đẩy sử dụng bảo vệ không đều cho dữ liệu mà có độ quan trọng không đều. Các khối dữ liệu đƣợc sắp xếp trong gói RTP giảm dần theo độ quan trọng và nhƣ vậy dữ liệu ở phần đầu (quan trọng) sẽ đƣợc bảo vệ tốt hơn. Định dạng của tải dữ liệu bao gồm thông tin của các khối dữ liệu đƣợc bảo vệ trong gói và các mức bảo vệ, chiều dài bảo vệ của mỗi một mức.
3.2.4 Ghép xen (Interleaving)
Ghép xen là một kỹ thuật khôi phục mất gói đƣợc sử dụng cho các ứng dụng mà trễ là vấn đề quan trọng thứ yếu. Nếu cỡ của khối dữ liệu đƣợc tạo ra ở một thời điểm bởi một bộ mã hoá mà nhỏ hơn cỡ của tải dữ liệu cho phép trong gói thì một vài khối dữ liệu có thể kết hợp trong một gói. Tuy nhiên, để giảm ảnh hƣởng của mất gói (nhất là mất cụm), các khối dữ liệu gốc đƣợc ghép xen trƣớc khi phát đi nhƣ minh hoạ trên hình 3.3.