42
LỜI NÓI ĐẦU Cùng với sự phát triển mạnh mẽ của khoa học kỹ thuật, ngành viễn thông đã có nhiều bước tiến vượt bậc, nhiều hệ thống thông tin hiện đại đã được ra đời nhằm đáp ứng nhu cầu trao đổi thông tin và giải trí của con người. Đặc biệt là hệ thống thông tin số với các đường truyền tốc độ cao, đã dần thay thế hệ thống thông tin tương tự. Vấn đề được đặt ra vơi hệ thống thông tin số là truyền với khoảng cách xa mà vẫn đảm bảo độ chính xác thông tin hay chất lượng dịch vụ của hệ thống. Đó là sự ra đời của các phương pháp phát hiện và sửa lỗi, nhằm sửa chữa được những lỗi thông tin sai sót trên đường truyền nhằm đảm bảo độ tin cậy, độ chính xác

Kiem Soat Loi Arq - Co Trinh Ha (2)

Embed Size (px)

Citation preview

Page 1: Kiem Soat Loi Arq - Co Trinh Ha (2)

LỜI NÓI ĐẦU

Cùng với sự phát triển mạnh mẽ của khoa học kỹ thuật, ngành viễn thông đã có

nhiều bước tiến vượt bậc, nhiều hệ thống thông tin hiện đại đã được ra đời nhằm

đáp ứng nhu cầu trao đổi thông tin và giải trí của con người. Đặc biệt là hệ thống

thông tin số với các đường truyền tốc độ cao, đã dần thay thế hệ thống thông tin

tương tự. Vấn đề được đặt ra vơi hệ thống thông tin số là truyền với khoảng cách

xa mà vẫn đảm bảo độ chính xác thông tin hay chất lượng dịch vụ của hệ thống.

Đó là sự ra đời của các phương pháp phát hiện và sửa lỗi, nhằm sửa chữa được

những lỗi thông tin sai sót trên đường truyền nhằm đảm bảo độ tin cậy, độ chính

xác thông tin. Để hiểu thêm về quá trình phát hiện lỗi và sửa lỗi của thông tin trước

hết chúng ta cần hiểu biết về hệ thống thông tin.

Page 2: Kiem Soat Loi Arq - Co Trinh Ha (2)

CHƯƠNG I:

CƠ SỞ LÝ THUYẾT VỀ KIỂM SOÁT LỖI.

1.1Hệ thống thông tin số và mục đích của kiểm soát lỗi.

Hệ thống thông tin số là hệ thống mà tín hiệu được truyền đi dưới dạng số nhị phân.

Sơ đồ tổng quát của hệ thống thông tin số:

- Nguồn tin là nơi tạo ra hay chứa các tập tin truyền đi. Nó có thể là số hoặc tương tự.

TẠO DẠNG

MÃ HÓA NGUỒN

MÃ KÊNH

GIẢI MÃ

MẬT

GIẢI ĐIỂU CHẾ

PHÂN KÊNH

MÃ BẢO MẬT

TẠO DẠNG

GIẢI MÃ

KÊNH

GIẢI MÃ NGUỒN

GHÉP KÊNH

ĐIỀU CHẾ

TRẢI PHỔ

ĐA TRUY NHẬP

PHÁT

THU

GIẢI ĐA

TRUY NHẬP

GIẢI TRẢI PHỔ

KÊNH THÔNG

TIN

NGUỒN KHÁC

ĐỒNG BỘ

ĐÍCH NHẬN

TIN

ĐÍCH KHÁC

NGUỒN TIN

Page 3: Kiem Soat Loi Arq - Co Trinh Ha (2)

- Khối tạo dạng có chứa chức năng tạo dạng tín hiệu, biến đổi tin tức cần truyền thể hiện ở dạng tín hiệu liên tục hay số có dạng chuỗi bit nhị phân.

- Mã nguồn: biến đổi các tin tức, kí hiệu… thành các bit nhị phân. Các mà dùng để mã hóa nguồn:ACSII, BCD, mã tối ưu Fano….

- Mã bảo mật: bảo mật nguồn thông tin chống lại việc đánh cắp thông tin, sự làm nhiễu, sai lệch thông tin truyền đi từ các yếu tố bên ngoài tại bất kì vị trí nào trên đường truyền. Mã hóa tin tin dưới dạng khóa nhằm bảo vệ tin tức.

- Mã hóa kênh: làm giảm thiểu xác suất sai thông tin qua kênh truyền đảm bảo độ tin cậy của thông tin, sửa lỗi hướng đi FEC,chống nhiễu và các tác động xấu khác của kênh truyền.

Việc giảm thiểu xác suất sai dực vào phát hiện lỗi và sửa lôi dẫn đến việc giảm tỉ số tín hiệu nhiễu (SNR), nhờ đó làm thuận lợi cho việc bảo mật, trải phổ và tăng độ chính xác của thông tin nhận -> mục đích quan trọng của truyền thông.

- Ghép kênh: ghép các nguồn tin khác nhau lại để truyền trên cùng một hệ thống truyền dẫn.

- Điều chế: biến đổi chuỗi tín hiệu số thành các tín hiệu phù hợp với kệnh truyền nhằm nâng cao chất lượng và độ tin cậy cao cho quá trình truyền tin.

- Trải phổ: biến đổi tín hiệu băng thông hẹp thành tín hiệu băng thông rộng, nhằm bảo mật thông tin sử dụng băng tần một cách có hiệu quả và bảo mật tin tức.

- Đa truy nhập: Cho phép nhiều đối tượng có thể truy nhập mạng thông tin để sử dụng hệ thống truyền dẫn theo yêu cầu.

Khi môi trường truyền dẫn bị nhiễu và các vấn đề khác xảy ra trên đường truyền thì dữ liệu nhận được sẽ bị lỗi vì thế mục đích của kiểm soát lỗi ARQ là nhằm nhận biết được thông tin nhận được là đúng hay sai. Nếu sai thì có thể là truyền lại hoặc sửa lỗi…. cho đến khi nhận được tin thông tin chính xác.

Mục đích: ARQ (Yêu cầu phát lặp tự động) đảm bảo dòng dữ liệu được phân phối tới người sử dung bất chấp các lỗi xảy ra trong quá trình truyền.

1.2: Các phương pháp phát hiện lỗi.

Page 4: Kiem Soat Loi Arq - Co Trinh Ha (2)

Phát hiện lỗi là quá trình kiểm tra và xác định xem dữ liệu thu được có bị lỗi hay không. Việc phát hiện lỗi có khi chỉ cần biết đoạn từ mã hoặc đoạn tin truyền đi có bị lỗi hay không mà không cần biết lỗi cụ thể.

Như vậy cần có cơ chế phát hiện lỗi nhằm mục đích nhận được thông tin chính xác bằng cách truyền lại hoặc sửa lỗi. Có hai cơ chế kiểm soát lỗi:

- Kiểm soát lỗi thuận thường không yêu cầu truyền lại thông tin mà chỉ phát hiện lỗi hoặc có khả năng sửa hạn chế các bít lỗi. Phương pháp này thường áp dụng cho các đường truyền có cự ly rất xa và trường hợp truyền đơn công.

- Kiểm soát lỗi phản hồi nhằm mục đích phát hiện sai và yêu cầu phía phát gửi lại cho đến khi nhận được là chính xác.

1.2.1 Phương pháp kiểm tra chẵn lẻ.

Kiểm tra chẵn lẻ (parity) là phương pháp đơn giản nhất thường được áp dụng trong các hệ thống truyền dữ liệu để phát hiện dữ liệu bị truyền sai. Việc kiểm tra chẵn lẻ một đoạn tin có thể kiểm tra theo hàng ngang hoặc hàng dọc với nguyên tắc:

Kiểm tra bổ sung bit 1 hoặc bit 0 vào dữ liệu sao cho bit 1 trong khối dữ liệu đó là chẵn hoặc là lẻ. Bit thêm vào là bit parity(chẵn –lẻ).

Hệ thống bên gửi và bên nhận cùng sử dụng một loại parity (chẵn – lẻ) để nhận biết được dữ liệu truyền. Nếu dữ liệu truyền sai thì bên thu sẽ từ chối nhận khối dữ liệu đó.

Gọi M là tổng số bit 1 có trong thông tin cần kiểm tra lỗi. P là giá trị parity . Bit parity có thể là 0 hoặc 1 tùy thuộc vào parity chẵn hay

lẻ. Bit parity chẵn thì tổng số bit trong (M+P) phải là 1 số chẵn. Bit parity lẻ thì tổng số bit trong (M+P) phải là một số lẻ.

- Ưu điểm: phương pháp này khá đơn giản và rất thích hợp với đường truyền ngắn hoặc trong môi trường có nhiễu ít.

- Nhược điểm: Không định vị được bit lỗi nên không thể tự sử lỗi mà phải yêu cầu truyền lại. Hiệu suất truyền thông tin bị kém. Phương pháp này không phát hiện ra các lỗi không phải là bit đơn.

Ví dụ: phát: 10110|0 # 10010|1 (nhận)

Page 5: Kiem Soat Loi Arq - Co Trinh Ha (2)

10110|0 11010|0(nhận và phát trùng nhau cùng thêm bit parity là 0)

1.2.2 Phương pháp kiểm tra tổng khối (Block check sum – BCS)Để khắc phục nhược điểm của phương pháp kiểm tra chẵn lẻ là không phát

hiện được số bít sai là chẵn. Mà dữ liệu thường được truyền đi dưới dạng từng khối cho nên để cải thiện khả năng phát hiện lỗi thì phương pháp kiểm tra tổng khối là lựa chọn.

Mỗi khối được phân thành parity cột và hàng , mỗi bit được kiểm tra 2 lần. Phương pháp này hiệu quả đáng kể so với phương pháp parity chẵn lẻ hàng và cột.

Kiểm tra theo cột dọc: là phát hiện lỗi sử dụng phương pháp kiểm tra chẵn lẻ để xác định lỗi truyền đi trong một kí tự.

Kiểm tra theo hàng ngang: là kiểu phát hiện lỗi sử dụng phương pháp kiểm tra chẵn lẻ để xác định lỗi truyền trong một đoạn tin.

Ví dụ: cho khối tin được truyền đi trong quá trình truyền bị lỗi ở bit thứ 2,3 của hàng thứ nhất.

Page 6: Kiem Soat Loi Arq - Co Trinh Ha (2)

1 0 1 1|1 (P- chẵn) ------> 1 1 0 1|1 (P-chẵn)0 1 1 0|0 (P- chẵn) ------> 0 1 1 0|0 (P-chẵn)1 0 0 1|0 (P- chẵn) ------> 1 0 0 1|0 (P-chẵn)

(P- lẻ) 1 0 1 1 1 1 0 1 (P- lẻ)

- Ưu điểm:

- Có khả năng phát hiện tất cả các bit sai lẻ.

- Có khẳ năng phát hiện tất cả các bit lỗi chẵn thậm chí cùng hàng cùng cột.- Đơn giản, dễ thiết kế.- Trong trường hợp đơn lỗi có thể định vị được vị trí của bit lỗi nên tự sửa

được lỗi mà không cần truyền lại- Trong trường hợp lỗi kép hàng và cột thì mã này có thể phát hiện lỗi để yêu

cầu truyền lại.- Nhược điểm: hiệu suất đường truyền không cao.

1.2.3 Phương pháp CRC (mã dư vòng).CRC (cyclic redundancy check) là một loại hàm băm, được dùng để sinh ra giá

trị kiểm thử, của một chuỗi bit có chiều dài ngắn và cố định của các gói tin vận chuyển qua mạng hay một khối nhỏ của tệp dữ liệu. Giá trị kiểm thử được dùng để dò lỗi khi dữ liệu được truyền hay lưu vào thiết bị lưu trữ. Giá trị của CRC sẽ được tính toán và đính kèm vào dữ liệu trước khi dữ liệu được truyền đi hay lưu trữ. Khi dữ liệu dược sử dụng , nó sẽ được kiểm thử bằng cách sinh ta mã CRC và so khớp với mã CRC trong dữ liệu.

Nguyên lý làm việc của CRC: Biết m-bit thông tin và đa thức sinh cho trước(hay còn gọi là khóa). Bên phát tạo ra chuỗi r-bit FCB(frame check sequeence) sao cho frame gửi đi

bao gồm (m + r)bit chia hết cho đa thức sinh. Bên thu chia khung dữ liệu nhận được cho cùng đa thức sinh và nếu không có

phần dư thì có khả năng không có lỗi.

Page 7: Kiem Soat Loi Arq - Co Trinh Ha (2)

Cách tạo mã CRC và frame cần truyền

Cho r bằng bậc của đa thức sinh G(x), gắn r bit 0 vào cuối của thông tin sau bit có trọng số thấp nhất vì thế ta có (m + r) bit , tương ứng với đa thức x^r.M(x)

Chia sâu bit tương ứng với x^r.M(x) cho đa thức sinh G(x). Dùng phép thica modul 2 (phép chia không nhớ). Phần dư chính là CRC cần tìm.

Lấy x^r.M(x) trừ đi phần dư (luôn có số bit nhỏ hơn hoặc bằng r) dùng phép trừ modul 2. Kết quả nhận được là frame cần tìm (checksuned frame).

Ví dụ: cho một máy phát trong hệ thống đồng bộ tuyến một bản tin:110101 + CRC. Giả sử bít tin chỉ dùng các tin + CRC. Đa thức sinh dùng trong mạch kiểm soát lỗi G(x)= x^3 + 1. Hãy tìm bản tin mà máy phát truyền đi.

Giải

B1: G(x) =x^3 + 1 => r = 3 ( thêm 3 bit 0 ở sau bản tin)

x^3M(x) = 110101000 = x^8 +x^7 + x^5 + x^3

B2: (M(x)x^r)/G(x)= x^5 =x^4 +x + 1 dư x + 1

R(x) = x + 1 CRC = 011

Q(x) = x^5 + x^4 +x^2 +1 B3: 110101000 - 011 = 110101011

Vậy chuỗi thông tin cần truyền là 110101011.

CRC rất phổ biến vì đơn giản dễ lắp đặt trong các máy tính sử dụng hệ cơ số nhị phân, dễ dàng phân tích tính đúng và rất phù hợp để dò các lỗi gây ra bởi nhiễu trong khi truyền dữ liệu.

Thu và kiểm tra CRC:

Để kiểm tra sai số khi truyền, bên thu đem khối thông tin thu được chia cho G(x) theo modul2.

Nếu phần dư còn lại là 0 thì từ mã nhận được không sai. Nếu phần dư còn lại khác 0 thì từ mã nhận được không đúng.

1.2.4 Phương pháp truyền phản hồi

Page 8: Kiem Soat Loi Arq - Co Trinh Ha (2)

Phương pháp này còn gọi là phương pháp dội. Trong phương pháp này bên phát sẽ truyền sang bên thu thông điệp hay một đoạn tin, khi bên thu nhận được sẽ phát lại một bản sao về bên phát:

Như vậy

Như vậy bên phát sẽ so sánh dữ liệu nằm trong vùng đệm để biết là dữ liệu truyền đúng hay truyền sai.

Ưu điểm: phương pháp này có khả năng phát hiện sai rất chính xác từ trường hợp các bit thông điệp và bản sao sai trùng nhau. Tuy nhiên khả năng để có sai trùng nhau là rất nhỏ.

Nhược điểm:phương pháp này có hiệu suất đường truyền thấp do cùng một thông điệp truyền phải truyền hai lần. trong trường hợp bên thu nhận được thông tin đúng nhưng khi truyền lại có thể bên phát nhận được bị lỗi.

1.2.5 Phương pháp truyền dư thừa.

Phương pháp này còn gọi là phương pháp truyền lặp lại. Bên phát sẽ truyền thông điệp và kèm theo bản sao của nó sang bên thu.

BỘ PHÁT BỘ THU

BẢN SAO

THÔNG ĐIỆP

Page 9: Kiem Soat Loi Arq - Co Trinh Ha (2)

Ở bộ so sánh bản sao thông điệp và bản sao nếu không giống nhau tức lầ bị lỗi khi truyền.

Ưu điểm: phương pháp này có khả năng phát hiện sai rất chính xác trừ trường hợp các bit ở thông điệp và bản sao sai trùng nhau, tuy nhiên khả năng để có các bit sai trùng nhau là rất ít.

Nhược điểm: phương pháp này có hiệu suất đường truyền thấp do cùng một thông tin phải truyền hai lần. Trong trường hợp ở phía thu nhận được ký tự đúng nhưng có thể bản sao bị lỗi, như vậy việc truyền đúng lại là truyền sai.

1.3 Lỗi dữ liệu kênh truyền.

Các đường truyền dữ liệu có thể có khoảng cách ngắn vài m và cũng có thể dài hàng nghìn km, môi trường truyền dữ liệu có thể là hệ thống dây đồng hay vi ba, vệ tinh, sợi cáp quang hoặc vô tuyến. Do các đặc tính không lý tưởng của kênh truyền cũng như tác động của các yếu tố can nhiễu bên ngoài. Trong thực tế không bao giờ đạt được độ tin cậy hoàn toàn. Sai hoặc lỗi xuất hiện trog quá trình truyền dữ liệu là không thể tránh khỏi.

Trong các kênh truyền tin số, nếu như xem rằng các chuỗi ký hiệu truyền vẫn được giữ nguyên trật tự và chỉ sai số ở dạng bit, các lỗi kênh truyền nhị phân có thể chia làm hai loại sau:

- Lỗi xác suất có ký hiệu một xảy ra ở các kênh truyền có tốc độ thấp, độ tin cậy truyền tin lớn. Các lỗi thường độc lập không phụ thuộc vào nhau.

- Lỗi có tính chất cụm: thường do các yếu tố tạp nhiễu bên ngoài tác động làm cho một số bit liên tiếp hay một cụm bit nào đó bị sai lệch.

Kiểm soát lỗi: khi chúng ta nhập dữ liệu vào máy tính bằng bàn phím thì chương trình sẽ đọc kí tự nhận được rồi gửi ra màn hình. Như vậy nếu ký tự ngập bị sai thì người sử dụng có thể dùng các kí tự điểu khiển: delete hoặc backcpace để loại bỏ kí tự sai và nhập lại. Công việc này gọi là kiểm soát lỗi bằng tay.

Đối với việc truyền dữ liệu, khi 1 thiết bị đầu cuối chuyển các khối ký tự hay là khung dọc theo một đường truyền nối tiếp đến các thiết bị đầu cuối khác, chương trình bên thu sẽ thực hiện một thủ tục kiểm soát lỗi tự động trong suốt đối với người sử dụng. Thông thường bên thu sẽ kiểm tra các khung vừa nhận được và

Page 10: Kiem Soat Loi Arq - Co Trinh Ha (2)

trả về bên phát một thông điệp để xác định là đã nhận được đúng hoặc yêu cầu gửi lại một bản sao khác. Loại khiểm soát lỗi này gọi là ARQ (Automatic Repeat Request).

CHƯƠNG II:

KỸ THUẬT KIỂM SOÁT LỖI ARQ

2.1 : Đặc điểm ARQ

Trong thực tế có 2 loại cơ sở ARQ đó là Idle RQ được dung với truyền định hướng ký tự, continuous RQ được dùng với các loại truyền lại selective repeat hoặc goback N. Loại RQ liên tục thường dùng với truyền định hướng bit.

Page 11: Kiem Soat Loi Arq - Co Trinh Ha (2)

Nguyên lý kiểm soát lỗi idle RQ được định nghĩa để cho phép các khung của ký tự được truyền một cách tin cậy. Để phân biệt phía gửi ( nguồn ),và phía nhận đích các thuật ngữ P ( primary ) và S ( secondary ) sẽ được sử dụng. Để phân biệt các khung dữ liệu và khung giám sát ta thường dùng các thuật ngữ I-Frame và ACK hay NAK Frame.

Idle RQ hoạt động ở chế độ mode bán song công, bởi vì sau khi P gửi một I-Frame nó phải chờ bên S báo cho biết là khung trước đó đã nhận đúng hay sai. Và P sẽ truyền một khung mới nếu thông tin nhận được là đúng, và yêu cầu gửi lại khung cũ nếu thông tin nhận được là sai.

Có 2 cách thực hiện nguyên lý này là truyền hiểu ngầm và truyền tường minh.

Khi truyền thông tin trong mạng, thông tin truyền từ phía phát sang phía thu có thể bị sai lỗi hoặc mất.Trong trường hợp thông tin bị mất, cần phải thực hiện truyền lại thông tin. Với trường hợp thông tin bị sai, có thể sửa sai bằng một trong 2 cách:

- Sửa lỗi trực tiếp bên phía thu: phía thu sau khi phát hiện lỗi có thể sửa lỗi trực tiếp ngay bên thu mà không yêu cầu phải phát lại. Để thực hiện được điều này, thông tin trước khi truyền đi phải được cài các mã sửa lỗi ( bên cạnh việc có khả năng phát hiện lỗi, cần có khả năng sửa lỗi ).

- Yêu cầu phía phát truyền lại: phía thu sau khi kiểm tra và phát hiện có lỗi sẽ yêu cầu phía phát truyền lại thông tin.

ARQ ( Automatic Repeat Request ), có thể dịch là cơ chế phát lại, ở giao thức TCP có sử dụng đến cơ chế này. Nó dùng để điều khiển luồng và điều khiển chống tắc nghẽn.

2.1.1 : Vấn đề khi trao đổi dữ liệu

Một số vấn đề khi hai thiết bị kết nối trực tiếp truyền nhận dữ liệu :

○ Đồng bộ khung.

○ Điều khiển tốc độ truyền dữ liệu.

Page 12: Kiem Soat Loi Arq - Co Trinh Ha (2)

○ Xử lý lỗi gặp phải trên đường truyền.

○ Định vị địa chỉ ( trong cấu hình multipoint ).

○ Phân biệt điều khiển và thông tin điều khiển.

○ Quản lý liên kết.

Nội dung:

Điều khiển dòng dữ liệu

Điểu khiển lỗi

Một số nghi thức điều khiển liên kết dữ liệu

Điều khiển dòng dữ liệu

Bên nhận thường có bộ đệm để nhận dữ liệu.

Khi dữ liệu đến, bên nhận thường thực hiện một số xử lý trước khi gửi

lên lớp cao hơn.

Điều khiển dòng: đảm bảo bên phát không gửi dữ liệu quá nhanh. Ngăn ngừa việc tràn bộ đệm.

* Mô hình truyền khung:

Page 13: Kiem Soat Loi Arq - Co Trinh Ha (2)

2.1.2: Phân khung.

Khối lớn dữ liệu có thể chia thành các khung nhỏ.

Phù hợp với bộ nhớ đệm giới hạn.

Phát hiện các lỗi nhanh hơn ( khi cả khung được nhận xong).

Trong trường hợp lỗi, chỉ cần truyền lại các khung nhỏ hơn.

Tránh trường hợp một trạm bất kì chiếm đường truyền quá lâu.

Điều kiện giả định:

Tất cả frame đều đến đích

Không có frame lỗi

Các frame đến đúng thứ tự

Nghi thức Idle RQ ( stop – and – Wait )

- Đặc điểm:+ Phương thức đơn giản nhất

Page 14: Kiem Soat Loi Arq - Co Trinh Ha (2)

+ Được dùng chủ yếu trong các ứng dụng character-oriented.( byte-oriented)+ Sử dụng kenh truyền hoạt động trong chế độ half-duplex

- Cơ chế hoạt động:

+ Nguồn phát dữ liệu ( dưới dạng các frame )

+ Đích nhận dữ liệu và trả lời bằng ACK

+ Nguồn phải đợi ACK trước khi phát tiếp dữ liệu

+ Đích có thể ngưng truyền dữ liệu bằng cách không gửi ACK

Idle RQ- Hiệu suất

- Thời gian truyền ( tframe ) : thời gian cần thiết để gửi tất các bit dữ liệu trên đường truyền.

- Thời gian lan truyền ( tprop ) : thời gian cần thiết để 1 bit đi từ nguồn đến đích.

- Thời gian tổng cộng: TD=n(2tprop + tframe).- Hiệu suất đường truyền:

Vấn đề kích thước Frame:

- Hiệu quả đường truyền cao nếu frame kích thước lớn.- Thực tế dữ liệu lớn được chia thành các frame nhỏ.

Page 15: Kiem Soat Loi Arq - Co Trinh Ha (2)

- Kích thước bộ đệm có giới hạn.- Frame kích thước nhỏ khó xảy ra lỗi.- Lỗi được phát hiện sớm.- Khi có lỗi chỉ cần truyền lại frame nhỏ.- Ngăn ngừa tình trạng 1 trạm làm việc chiếm đường truyền lâu Sliding

windows.

Cơ chế hoạt động:

- Cho phép nhiều frame có thể truyền đồng thời.- Bên thu có bộ đệm với kích thước W ( có thể nhận W frame).- Bên phát có thể truyền tối đa W-1 frame mà không cần đợi ACK.- ACK có chứa số thứ tự của frame kế tiếp có thể truyền.

Số thứ tự được quay vòng bởi kích thước của sổ ( modulo 2k)

Page 16: Kiem Soat Loi Arq - Co Trinh Ha (2)

Cải tiến:

- Bên thu có thể gửi ACK mà không cho phép bên phát gửi tiếp dữ liệu

( Receive Not Ready ).

- Trong trường hợp này, bên thu phải gửi ACK để bình thường hóa việc truyền nhận dữ liệu khi nó sẵn sằng.

- Nếu đường truyền là full-duplex, dùng cơ chế “ piggybacking” : tích hợp ACK vào frame dữ liệu.

- Nếu có dữ liệu để truyền nhưng không có ACK để truyền, gửi lại ACK cuối cùng, hoặc có cờ ACK hợp lệ (TCP).

Page 17: Kiem Soat Loi Arq - Co Trinh Ha (2)

Hiệu suất- Full-Duplex

Điều khiển lỗi là gì?

- Điều khiển lỗi là các kỹ thuật để phát hiện và sửa lỗi xảy ra trong quá trình truyền các frame.

- Đảm bảo truyền nhận dữ liệu chính xác.

Kỹ thuật điều khiển lỗi

- Phân loại đối với lỗi frame.- Mất frame: frame không đến đích hoặc đến nhưng thông tin điều khiển trên

frame bị hư ( bên nhận không thể xác định là frame nào ).- Frame hỏng: thông tin điều khiển trên frame xác định được, nhưng dữ liệu

trong frame bị lỗi.- Phát hiện lỗi ( CRC, Parity…).- Positive ACK - xác nhận các frame nhận được.- Negative ACK ( NAK ) - yêu cầu truyền lại cho các frame bị hỏng .- Truyền lại sau một thời gian time-out.

Page 18: Kiem Soat Loi Arq - Co Trinh Ha (2)

Cơ chế:

- Dựa trên điều khiển dòng.- Kỹ thuật ARQ ( Automatic Repeat Request)

Cho phép các nghi thức liên kết dữ liệu quản lý và yêu cầu truyền lại.- Phân loại:

+ Idle RQ ( stop-and-wait)Dùng với cơ chế điều khiển dòng stop-wait.

+ Continuous RQDùng với cơ chế điều khiển dòng silding-windows.Selective repeat.Go – back – N .

∆ → Idle RQ

- Cơ chế hoạt động:A gửi một I-frame ( Information Frame ) đến BA đợi phản hồi từ B trước khi gửi tiếp frameACK-frame – A gửi dữ liệu mớiNAK-frame – A gửi lại dữ liệuKhông nhận được trả lời – A gửi lại sau thời gian time-out

- Ưu / khuyết điểm:+ Đơn giản+ Độ hiệu quả đường truyền thấp

Page 19: Kiem Soat Loi Arq - Co Trinh Ha (2)

2.2 : Phân loại kỹ thuật kiểm soát lỗi ARQ

Các cơ chế phát lại được chia làm 3 loại :

- Cơ chế phát lại dừng và đợi ( Stop – and – wait ARQ ) .- Cơ chế phát lại theo nhóm ( Go – back – N ARQ ) .- Cơ chế phát lại có lựa chọn ( Selecive repeat ARQ ) .

2.2.1: Cơ chế phát lại dừng và đợi ( Stop – and – wait ARQ ).

Stop – and – wait ARQ là một dạng của điều khiển dòng truyền dừng và đợi đã mở rộng để chứa các chức năng truyền lại dữ liệu trong trường hợp dữ liệu bị mất hoặc bị hư hỏng, để việc truyền lại có thể thực hiện được bổ sung vào cơ cấu dòng truyền 4 tính chất sau:

- Thiết bị gửi lưu bản copy khung được truyền cuối cùng cho đến khi nó nhận được ACK của khung đó. Việc này cho phép thiết bị gửi truyền lại khung bị mất hoặc khung bị hư hỏng đến khi chúng được nhận đúng.

Page 20: Kiem Soat Loi Arq - Co Trinh Ha (2)

- Để nhận dạng đúng, cả khung dữ liệu lẫn khung ACK được đánh số luân phiên 0 và 1. Khung dữ liệu 1 được nhận biết bởi khung ACK1 có nghĩa là thiết bị nhận đã nhận được dữ liệu 1 và bây giờ đang chờ nhận dữ liệu 0, việc đánh số này cho phép nhận dạng khung dữ liệu trong trường hợp dữ liệu truyền 2 lần ( điều này là quan trọng khi các khung ACK bị mất ) .

- Nếu một lỗi được phát hiện trong khung dữ liệu thì nơi nhận gửi khung NAK. Các khung NAK không được đánh số, thiết bị tự hiểu cần phải truyền lại khung cuối. Stop – and – wait ARQ đòi hỏi thiết bị gửi đợi đến khi nhận ACK khung cuối, trước khi truyền khung tiếp theo. Khi thiết bị gửi nhận khung NAK nó gửi lại khung đã được truyền sau ACK cuối mà bỏ qua số khung của nó.

- Thiết bị gửi được trang bị đồng hồ. Nếu chờ khung NAK trong một thời gian xác định mà không thấy thì cho rằng khung dữ liệu cuối đã bị mất và gửi lại khung đó.

Cơ chế hoạt động:

• Nghi thức điều khiển lỗi đơn giản nhất.

• Máy phát gửi một frame sau đó dừng và chờ một xác nhận từ máy thu.

• Nếu xác nhận là ACK thì frame kế tiếp sẽ được gửi đi.

• Nếu xác nhận là NAK thì truyền lại frame vừ truyền.

• Nếu nhận một frame hỏng thì bỏ đi.

• Máy phát có time out.

• Nếu không có ACK trả về trong thời gian time out thì truyền lại.

• Nếu ACK bị hỏng, máy phát không nhận ra.

• Máy phát sẽ truyền lại.

• Máy thu nhận 2 bản copy của khung.

• Dùng ACK0 và ACK1.

Page 21: Kiem Soat Loi Arq - Co Trinh Ha (2)
Page 22: Kiem Soat Loi Arq - Co Trinh Ha (2)

Các loại lỗi:

- E1: I-Frame không đến được bên nhận.- E2: I-Frame đến được bên nhận nhưng nội dung I-Frame bị sai.- E3: ACK-Frame không đến được bên gửi hay ACK-Frame đến được bên gửi

nhưng nội dung ACK-Frame bị sai.

Cách sửa lỗi:

→ Sửa lỗi E1:

Sử dụng timer: bên gửi sau khi gửi một I-Frame thì khởi động bộ đếm thời gian , sau khoảng thời gian đợi T mà chưa nhận được tín hiệu ACK/NAK báo về thì xem như I-Frame chưa tới và gửi lại Frame này.

Page 23: Kiem Soat Loi Arq - Co Trinh Ha (2)

→ Sửa lỗi E2:

Khi một khung dữ liệu nhận được bị lỗi thì thiết bị nhận sẽ gửi khung NAK và truyền lại khung cuối.

→ Sửa lỗi E3:

Trong trường hợp khung dữ liệu nhận đúng ở bên nhận. Khung ACK (NAK) mà thiết bị nhận gửi bị mất trên đường truyền thì:

- Thiết bị gửi dợi hết thời gian quy định, sau đó truyền lại khung dữ liệu cuối. Thiết bị nhận kiểm tra số khung dữ liệu mới. Nếu khung bị mất là NAK thiết bị nhận nhận khung mới này và trả lời ACK ( khung mới không bị hỏng).

Page 24: Kiem Soat Loi Arq - Co Trinh Ha (2)

- Nếu khung mất là ACK thì thiết bị nhận nhận khung mới này như bản sao khác nữa sau đó gửi ACK rồi bỏ qua những bản sao này và đợi khung tiếp theo.

** Cửa sổ trượt ARQ

Trong nhiều cơ cấu điều khiển lỗi truyền thông , có 2 thủ tục phổ biến nhất Go-Back-N ARQ và chọn lựa từ chối ARQ. Cả 2 đều dựa vào điều khiển dòng cửa sổ trượt. Để mở rộng cửa sổ trượt cho truyền lại các khung bị mất hoặc bị hỏng phải bổ sung thêm 3 điểm vào điều khiển dòng truyền:

- Thiết bị gửi lưu bản copy tất cả các khung đã được truyền cho đến khi nhận được khung ACK. Nếu các khung từ 0 đến 6 đã được truyền và nhận biết cuối cùng cho khung 2 ( chờ khung 3) thì thiết bị gửi lưu bản copy của khung 3 đến khung 6 cho đến khi nó biết rằng những khung này đã được nhận đúng.

- Bên cạnh các khung ACK thiết bị nhận còn gửi các khung NAK nếu dữ liệu nhận được bị lỗi. Bởi cửa sổ trượt là cơ cấu truyền liên tục, cả khung ACK và NAK đều được đánh số để nhận diện. Các khung ACK mang số của khung sẽ gửi tiếp theo.Các khung NAK mang số của chính khung hỏng. Trong cả 2 trường hợp đều cho biết số khung mà thiết bị nhận đang chờ đợi. Nếu ACK trước đó được đánh số 3, thì ACK 6 hiện thời cho biết đã nhận tốt

Page 25: Kiem Soat Loi Arq - Co Trinh Ha (2)

các khung 3,4,5 . Nếu NAK 4 có nghĩa là tất cả các khung nhận được trước khung 4 đều đúng.

Giống như Stop – and – Wait ARQ ở đây thiết bị gửi theo dõi thời gian để điều khiển khi ACK và NAK bị mất.

2.2.2: Cơ chế phát lại theo nhóm (Go – Back – N ).

- Cơ chế hoạt động

• Điều khiển

• RR= receive ready = ACK =acknowledge.

• REJ = reject = NAK = negative acknowledge.

• Dựa trên cơ chế sliding window

• A gửi liên tục các I-Frame đến B ( trong khi cơ chế diều khiển dòng còn cho phép ).

• B chỉ nhận I-Frame theo đúng chỉ số tuần tự.

• Truyền lại tất cả các Frame kể từ khi Frame sai đầu tiên trở đi.

• Các kiểu lỗi tương tự như trong Idle RQ ( có thể xảy ra đồng thời trên nhiều Frame ).

- E1: I-Frame không đến được bên nhận .- E2: I-Frame đến được bên nhận, nội dung I-Frame sai.- E3: ACK – Frame không đến được bên gửi.

Page 26: Kiem Soat Loi Arq - Co Trinh Ha (2)

Cách sửa lỗi:

→ Sửa lỗi E1:

Thủ tục cửa sổ trượt yêu cầu các khung dữ liệu phải truyền 1 cách tuần tự. Thiết bị nhận kiểm tra số số nhận diện trên mỗi khung và nhận thấy rằng một hoặc nhiều khung bị mất, nó sẽ gửi khung NAK cho khung bị mất đầu tiên và yêu cầu truyền lại.

Dữ liệu 0 và 1 truyền đến chính xác nhưng dữ liệu 2 bị mất .Khung tiếp theo truyền đến thiết bị nhận là khung 3. Thiết bị nhận đang chờ khung 2 và nó coi dữ liệu 3 là lỗi và bỏ qua, nó sẽ gửi khung NAK2 báo rằng khung 0,1 đã nhận nhưng khung 2 bị lỗi ( khung 2 bị mất ).

Thiết bị gửi đã truyền khung 3,4,5 trước khi nhận NAK2, khi thiết bị gửi nhận được NAK2 nó truyền lại cả 4 khung 2,3,4,5.

Page 27: Kiem Soat Loi Arq - Co Trinh Ha (2)

→ Sửa lỗi E2:

- Bên nhận phát hiện lỗi ở Frame i.- Bên nhận báo cho bên gửi bằng NAKi và loại bỏ các frame sau i.- Bên gửi gửi lại các frame từ frame i.- Thời gian đáp ứng nhanh hơn so với dùng time out.

Page 28: Kiem Soat Loi Arq - Co Trinh Ha (2)

ACK3 báo cho thiết bị gửi biết rằng khung 0,1,2 đã nhận đúng. Khung 3 phát hiện có lỗi, nên NAK3 được gửi tức thì và các khung 4,5 bị bỏ qua khi chúng đến bên nhận.

Thiết bị gửi truyền lại cả 3 khung (3,4,5 ) đã được gửi từ khi có nhận biết cuối và quá trình cứ tiếp tục.

→ Sửa lỗi E3:

- ACKi bị mất.- Nếu sau đó có ACKi +1, ACKi+2…thì truyền bình thường.- Nếu hết time out bên gửi sẽ gửi lại I-Frame.- Bên nhận phát hiện Frame truyền lại này đã nhận nên sẽ báo lại ACK ( hoặc

NAK ) tương ứng.- Khi nhận ACK, bên phát không truyền lại tất cả các frame mà có thể truyền

frame từ chỉ số trong ACK.

Page 29: Kiem Soat Loi Arq - Co Trinh Ha (2)

2.2.3: Cơ chế phát lại có lựa chọn ( Selective – repeat ARQ ).

Phương pháp này chỉ truyền lại những khung bị hỏng hoặc bị thất lạc. Nếu

khung bị hỏng thiết bị gửi nhận được khung NAK và khung đó sẽ được truyền lại

ngoài tuần tự thông thường. Thiết bị nhận phải sắp xếp lại các khung và chèn chính

xác khung vào vị trí thích hợp của nó theo đúng tuần tự. Để có được khả năng chọn

lựa đó hệ thống Selective – repeat ARQ khác hệ thống Go – Back – N ARQ những

điểm sau:

Thiết bị nhận phải chứa các cổng logic sắp xếp để sắp xếp tuần tự các khung

được nhận lại. Nó cũng phải sắp xếp các khung nhận sau khi đã gửi khung NAK

cho đến khi khung hỏng đươc sửa lỗi.

Thiết bị nhận phải có cơ cấu tìm kiếm, cho phép nó tìm và chọn chỉ khung

yêu cầu truyền lại.

Đệm trong thiết bị nhận phải giữ tất cả các khung nhận được cho đến khi tất

cả các khung truyền lại đều được sắp xếp và bỏ qua các khung nhận được lần 2.

Page 30: Kiem Soat Loi Arq - Co Trinh Ha (2)

Để giúp cho việc chon lựa, các số ACK cũng như các số NAK phải gán cho

các khung nhận ( hoặc bị mất ) mà không gán cho khung chờ nhận tiếp theo.

Kích thước cửa sổ theo phương pháp này nhỏ hơn kích thước cửa số của

phương pháp Go – Back – N ARQ. Kích thước đó bằng hay nhỏ hơn (n+1)/2 trong

khi đó cửa sổ của Go – Back – N ARQ là (n – 1 ).

- Cơ chế hoạt đông:

• Tương tự như Go – Back – N

• Chỉ gửi lại các Frame bị NAK hoặc time out.

• Bên nhận có thể nhận I-Frame không theo đúng chỉ số tuần tự.

• Bên nhận phải có Buffer để lưu lại các Frame đến không theo đúng chỉ số tuần tự.

- Vấn đề kích thước cửa sổ:

• Tình huống: window kích thước 7.

• A gửi các Frame từ 0 đến 6 qua B.

• B xác nhận tất cả nhưng tất cả các ACK đều bị mất.

• A đợi bị time out nên gửi lại Frame 0.

• B lúc này đã dịch cửa sổ nhận , có nhận các Frame 7.0,1… 5. Nó tưởng Frame 7

bị mất và 0 là Frame mới nên chấp nhận ( trùng Frame ).

• Đây là vấn đề trùng lặp giữa các cửa sổ gửi và cửa sổ nhận.

• Do đó kích thước cửa sổ tối đa là ½(N) ( N là chỉ số tuần tự lớn nhất ).

Cách sửa lỗi:

→ Sửa lỗi E1:

Nếu một khung bị mất, khung tiếp theo sẽ truyền tới ngoài tuần tự. Khi đó

thiết bị nhận sẽ sắp xếp lại những khung có mặt.

Tất nhiên, thiết bị nhận chỉ nhận ra sự mất khung nếu có các khung tiếp

theo.

→ Sửa lỗi E2:

I-Frame truyền đến bên nhận nhưng bị lỗi.

Bên nhận báo cho bên gửi biết thông qua NAK-Frame.

Bên nhận vẫn lấy các Frame tiếp theo vào bộ đệm ( nhưng chưa đưa lên lớp

trên ).

Bên gửi chỉ truyền lại I-Frame bị lỗi.

Page 31: Kiem Soat Loi Arq - Co Trinh Ha (2)

Bên nhận nhận đúng các frame theo trình tự thì có thể đưa dữ liệu lên lớp

trên.

→ Sửa lỗi E3:

Sử dụng chỉ số tuần tự Frame ( sequential number ):

Khi ACK-Frame bị lỗi hay không đến được bên gửi, sau thời gian time out bên gửi

sẽ gửi lại I-Frame này.

** So sánh giữa Stop – and – wait , Go – Back – N và Selective- reject ARQ:

Stop and wait là kỹ thuật kiểm soát lỗi đơn giản và hiệu quả nhất. Bên gửi chỉ gửi

Data và đợi xác nhận từ bên nhận. Nếu bên nhận xác nhận Data là đúng thì bên

phát sẽ tiếp tục phát tiếp những Data tiếp theo. Hiệu suất sử dụng đường truyền

thấp do phải chờ xác nhận bên nhận mới được phát tiếp theo hoặc sau thời gian của

bộ định thời.

Mặc dù chỉ truyền lại những khung bị mất và bị lỗi nhưng Selective- reject

ARQ không hiệu quả hơn việc truyền lại tất cả các khung. Sự phức tạp ở chỗ yêu

cầu thiết bị nhận phải sắp xếp, lưu trữ các khung và thiết bị gửi phải có cổng logic

Page 32: Kiem Soat Loi Arq - Co Trinh Ha (2)

ngoài để chọn ra những khung truyền lại nhất định. Selective- reject ARQ đắt hơn

và ít được sử dụng. Trong thực tế sử dụng Go – Back – N đơn giản và tiện lợi hơn.

2.3 Ứng dụng của ARQ trong công nghệ Wiremax di động.

Thuật toán ARQ trở nên phổ biến trong mạng không dây và mạng hữu tuyến để truyền lại những thông tin bị lỗi.Tuy nhiên, việc sử dụng ARQ yêu cầu sự lựa chọn chính xác về công suất phát và tốc độ dữ liệu trong quá trình truyền tải phát, về mặt khác đường truyền trở nên bị lỗi,khi quá trình duy trì các thiết lập tối ưu này trong môi trường thời gian không ổn định trở thành thách thức cho các nhà bẳng rộng di động. Kỹ thuật hyrid ARQ được phát hiện. H-ARQ trở thành một phần thông số wimax di động khối thu tập hợp thông tin từ một gói lỗi với hiện tượng tái truyền phát tín hiệu của cùng một gói tin cho tới khi thông tin tập hợp đầy đủ lại để lấy lại toàn bộ gói tin.

Khi vận hành HSDPA ở lân cận hiệu phổ cao nhất, ty lệ lỗi BLERsau lần truyền dẫn đầu tiên được khuyến nghị trong khoảng từ 10% - 20%. Cơ chế yêu cầu lặp tự động lại H-ARQ được ứng dụng trong HSDPA làm giảm trễ và tăng hiệu quả truyền tải truyền dẫn dữ liệu.Thực tế H-ARQ là một giao thức dừng lại và chờ SAW (stop and wait).

Trong cơ chế SAW, phía truyền dẫn luôn luôn ở quấ trình truyền dẫn các blog hiện hành cho tơi khi thiết bị người sử dụng hòan toàn nhận được dữ liệu. Để tận dụng khả năng khi node-B chò các báo nhận, có thể thiết lập N quá trình SAW-ARQ song song cho thiết bị người dùng. Do đó,các tiến trình khác nhau truyền dẫn trong các TTI riêng biệt. Số quá trình SAW-ARQ song song được thiết lập tối đa là 8. Tuy nhiên thông thương thì chọn từ 4-6.Thời gian trễ nhỏ nhất cho phép giữa quá trình truyền dữ liệu gốc so với quá trình tái truyền dẫn dữ liêu lần đâu tiên trong HSDPA là 12ms.

Điều khiển H-ARQ lớp 1 được đặt tại node-B.Do đó việc lưu trữ các gói dữ liệu phí báo nhận cùng với chức năng sắp xếp của các gói trong qua trình tái truyền dẫn là không phụ thuộc vào RNC. Như vậy sẽ tránh được tái truyền dẫn. Ngoài ra các trễ này sẽ thấp hơn trễ gây ra bơii quá tring RLC thông thường.

Page 33: Kiem Soat Loi Arq - Co Trinh Ha (2)