PHẦN I CƠ SỞ LÝ THUYẾT VỀ KIỂM SOÁT LỖI I HỆ THỐNG THÔNG TÍN SỐ Hệ thống thông tin số là hệ thống mà tín hiệu ñược truyền ñược truyền dưới dạng số nhị phân.Sơ ñồ tổng quát của hệ thống
Trang 1TRƯỜNG ðH TÔN ðỨC THẮNG
KHOA ðIỆN-ðIỆN TỬ
NHIỆM VỤ ðỒ ÁN 2
KHOA : ðIỆN-ðIỆN TỬ
NGÀNH: ðIỆN TỬ VIỄN THÔNG
GIÁO VIÊN HƯỚNG DẪN: TS HOÀNG THU HÀ
SINH VIÊN THỰC HIỆN: HỒ THANH TÀI MSSV:910512D
NGUYỄN NAM VŨ MSSV:
ðỀN TÀI: TÌM HIỂU KỸ THUẬT KIỂM SOÁT LỖI ARQ
Nhận xét của giáo viên hướng dẫn:
………
………
………
………
………
………
………
………
………
………
………
Ngày tháng năm 2009
(ký tên)
Trang 2Mục lục:
II) CÁC PHƯƠNG PHÁP PHÁT HIỆN LỖI 5
II.1 Phương pháp truyền phản hồi 6
II.2 Phương pháp truyền dư thừa 7
II.3 Phương pháp kiểm tra chẳn lẽ 7
II.4 Phương pháp CRC 8
II.5 Phương pháp kiểm tra tổng khối 9
III LỖI DỮ LIỆU KÊNH TRUYỀN 11
PHẦN II KỶ THUẬT KIỂM SOÁT LỔI ARQ 12
I )ðẶC ðIỂM ARQ 12
I.1 Vấn ñề khi trao ñổi dữ liệu 13
I.2PHÂN KHUNG 14
II )PHÂN LOẠI KỸ THUẬT KIỂM SOÁT LỖI ARQ 19
Các cơ chế phát lại ñược chia ra làm 3 loại chính: -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 (Selective repeat ARQ)
II.1 Stop–and–Wait 19
*Cửa sổ trượt ARQ 24
II.2 Go–back–N 25
III.3 Selective Repeat ARQ 28
So sánh giữa Stop and Wait, Go-back-n và Selective-reject ARQ 31 PHẦN III ỨNG DỤNG ARQ 31
Trang 3Lờ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 ựã 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 ựề ựặ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 những lổi, sai sót trên ựường truyền, ựảm bảo sự 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 ta cần hiểu về hệ thống thông tin
Nhóm em trân trọng cảm ơn sự giúp ựỡ tận tình của quý thầy cô cũng như Khoa điện Ờ điện Tử trường ựại học Tôn đức Thắng Và ựặc biệt chúng em xin gửi lời cảm ơn sâu sắc ựến giáo viên hướng dẫn của chúng em ỜTS Hoàng Thu Hà Nhờ sự hướng dẫn tận tình của thầy mà chúng em có thể hoàn thành tốt ựề tài này
Trang 4PHẦN I CƠ SỞ LÝ THUYẾT VỀ KIỂM SOÁT LỖI
I )HỆ THỐNG THÔNG TÍN SỐ
Hệ thống thông tin số là hệ thống mà tín hiệu ñược truyền ñược truyền dưới dạng số nhị phân.Sơ ñồ tổng quát của hệ thống số ñược trình bày ở hình:
Nguồn tin: là nơi tạo ra hay chứa các tập tin truyền ñi.Nguồn tin có thể là tương tự hoặc số
ðịnh dạng:có chứa năng tạo ra tập hợp các tín hiệu rời rạc,riêng biệt Khi nguồn tin là tương tự thì ñịnh dạng sẽ rời rạc hóa tín hiệu tương tự thành các giá trị ñiện áp tại các khoản thời gian lấy mẫu
Mã hóa nguồn:biến ñổi các tin tức,ký tự thành các bit nhị phân.Có rất nhiều loại mã dùng ñể mã hóa nguồn như:mã ACSII,mã BCD,mã tối ưu Huffman,mã tối ưu Shannon,mã tối ưu Fano
Trang 5Mã bảo mật:mục ñích là bảo mật nguồn thông tin,chống lại sự ăn cắp hay sự làm nhiểu làm sai lệch thông tin của các yếu tố bên ngoài tại bất kỳ một vị trí trên ñường truyền
Mã hóa kênh:mục ñích làm giảm thiểu xác suất sai thông tin khi
truyền qua kênh truyền ñảm bảo ñộ tin cậy của thông tin,có thể sửa lỗi ñược khi thông tin ñến phía thu bị lỗi
Việc giảm thiểu xác suất sai dựa vào việc phát hiện sai và sửa sai có thể dẩn ñến việc giảm tỉ số tín hiệu trên nhiễu(SNR) cần thiết,nhờ ñó sẽ 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,ñây là mục ñích quan trọng của truyền thông
Ghép kênh: ghép các nguồn tin lại với nhau ñể truyền trên một kênh chung
ðiều chế: biến ñổi tín hiệu thích ứng với kênh truyền,nhằm nâng cao chất lượng và ñộ tin cậy của quá trình thông tin
Trải phổ: biến ñổi tín hiệu băng hẹp thành tín hiệu băng rộng,nhằm bảo mật thông tin và sử dụng băng tần một cách có hiệu quả
ða truy cập: cho phép nhiều user có thể truy cập vào
Kênh truyền: hữu tuyến (dùng các loại cáp ñồng trục,cáp quang…ñể truyền dẩn) và vô tuyến
Hai vấn ñề chính cơ bản của hệ thống thông tin :
-Vấn ñề hiệu suất,nói cách khác là tốc ñộ truyền tin của hệ thống
-Vấn ñề ñộ chính xác,nói cách khác là khả năng chống nhiễu của hệ thống
II) CÁC PHƯƠNG PHÁP PHÁT HIỆN LỖI
Phát hiện lỗi là quá trình kiểm tra và giám sát và xác ñịnh xem giữ liệu thu có bị lỗi 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 ñó có bị lỗi hay không mà không cần biết bit lỗi cụ thể
Trang 6Do ñó cần có cơ chế phát hiện lỗi nhằm mục truyền lại hoặc sữa lỗi.Cơ chế thứ nhất là kiểm soát lỗi thuận và cơ chế thứ hai là kiểm soát lỗi phản hồi
• Kiểm soát lỗi thuận thường không yêu cầu truyền lại chỉ nhằm phát hiện lỗi hoặc có khả năng sửa hạn chế các bit 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ới thời gian trể
là quan trọng,hoặc áp dụng 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
Sau ñây là một số phương pháp phát hiện lỗi ñơn giản
II.1 Phương pháp truyền phản hồi
Hay còn gọi là phương pháp dội.Trong phương pháp này phía phát sẽ truyền phía thu thông ñiệp hay ñoạn tin,khi phía thu nhận ñược thông ñiệp hay ñoạn tin,khi phía thu nhận ñược thông ñiệp sẽ phát lại bản sao về phía phát:
Bản sao Thông ñiệp
Trang 7◄Nhược ñiểm: phương pháp này cho hiệu suất ñường truyền thấp vì cùng một thông ñiệp truyền 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ể truyền lại phía phát bị lỗi
II.2 Phương pháp truyền dư thừa
Hay còn gọi là phương pháp truyền lặp lại.Phía phát sẽ truyền thông ñiệp
và kèm theo bản sao của nó
Ở bộ thu sẽ so sánh bản thông ñiệp và bản sao,nếu không giống nhau tức lỗi truyền suất hiện
◄Ưu ñiểm: phương pháp này có khả năng phát 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 sai trùng nhau rất bé
◄Nhược ñiểm: phương pháp này có hiệu suất ñường truyền thấp vì cùng một thông 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 sẽ trở thành truyền bị lỗi
II.3 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 sai dữ liệu
truyền.Việc kiểm tra chẳn lẽ một ñoạn tin truyền có thể kiểm tra theo hàng ngang hoặc kiểm tra theo cột dọc.Một bit ñơn ñược gọi là bit kiểm tra ñược thêm vào hàng hoặc cột ñể thực hiện việc kiểm tra.Phụ thuộc vào số bit 1 có
Thông ñiệp Bản sao
Trang 8trong hàng và phương thức kiểm tra lẻ hoặc chẳn mà giá trị bit kiểm tra P có giá trị là o hoặc 1
◄Ưu ñiểm: phương pháp kiểm tra chẳn lẽ là ñơn giản và rất thích hợp ñường truyền ngắn hoặc môi trường có nhiễu ít và có khả năng phát hiện tất
cả các bit sai
◄Nhược ñiểm: nếu như có một số chẳn các bit lổi thì phương pháp kiểm tra chẳn lẽ không phát hiện ñược
II.4 Phương pháp CRC
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 ñược sử dụng, nó sẽ ñược kiểm thử bằng cách sinh ra mã CRC và so khớp với mã CRC trong dữ liệu
CRC rất phổ biến, vì nó rất ñơn giản ñể 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
Giải thuật ñơn giản nhất cho việc sửa sai là tự ñộng lặp lại thông ñiệp:
- ðầu thu tính toán CRC của thông ñiệp và so sánh với CRC ñã nhận ñược
- Nếu kết quả không khớp thì ñầu thu sẽ không xác nhận dữ liệu hợp
Trang 9một "ña thức") vào bên dưới bên trái ở cuối hàng Sau ñây là phép tính ñầu
Nếu dãy nhị phân ñầu vào bên trên có bít cực tả (ñầu tiên bên trái) là
0, không làm gì hết và dịch số chia sang phải một bít Nếu dãy nhị phân ñầu vào bên trên có bít cực tả là 1, lấy dãy số ñầu vào trừ ñi số chia (hay nói cách khác, lấy từng bít ở dãy số ñầu vào trên trừ ñi từng bít ở số chia) Số chia sau ñó dịch vị trí 1 bít sang phải, quá trình cứ tiếp diễn như vậy ñến khi
số chia chạm tới tận cùng bên phải của dãy số ñầu vào ðây là phép tính cuối cùng:
00000000001110 < - Kết quả của phép nhân
1011 < - Số chia
-
00000000000101 < - Số dư (3 bits)
Do cực tả của số chia sẽ làm các bít tương ứng của dãy số ñầu vào trở
về 0 qua mỗi lần dịch, khi quá trình này kết thúc, chỉ còn những bít ở dãy ñầu vào có thể không là 0 trở thành n bit cuối bên phải của dãy số n bit này
là số dư của bước chia, và cũng sẽ là giá trị hàm CRC (trừ khi hàm CRC ñược chọn ñặc biệt ñược gọi cho một số công ñoạn tiền xử lý)
II.5 Phương pháp kiểm tra tổng khối
ðể khắc phục nhược ñiểm của kiểm tra chẳn lẽ là không thể phát hiện ñược tổng số bit sai là chẳn.Hơn nữa thường dữ liệu thường ñược truyền thành từng khối tự nên,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 ñược sử dụng
Phương pháp kiểm tra tổng khối thực hiện kiểm tra chẳn lẽ trên cả hàng ngang lẩn cột dọc
Trang 10• Kiểm tra theo cột dọc : là mạch 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 ký tự.Theo phương pháp VRC (vertical redundancy checking) thì mỗi bit ký tự ñược
cộng thêm bit P trước khi truyền.Việc cộng thêm bit P ñó có thể là
kiểm tra chẳn hoặc kiểm tra lẽ
• Kiểm tra theo hàng ngang (HRC-hozontal redundancy checking) là
một 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.Ở phương pháp HRC thì ứng với
mỗi vị trí bit có một bit kiểm tra Các bit b0 của các từ mã khác nhau trong ñoạn tin cũng ñược XOR với nhau.Tương tự như vậy các bit
b1,b2,b3…b6 của các từ mã trong ñoạn tin cũng ñược XOR với
nhau.Kết quả sẽ cho bit kiểm tra HRC.Dãy bit HRC ñược thực hiện ở phía phát trước khi truyền dữ liệu.Tại phía thu,bit HRC cũng sẽ ñược kiểm tra so sánh giống như kiểm tra so sánh lổi bit ký tự bit
◄Ư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
Frame Data
Hướng Truyền
Vị trí tổ hợp lỗi không
phát hiện ñược
Trang 11-Có khả năng sửa ñược một bit sai,vì nếu chỉ có một bit sai thì hàng và cột tương ứng sẽ chỉ ra tọa ñộ bit sai
◄Nhược ñiểm: không phát hiện ñược lỗi truyền nếu như trong ñoạn tin còn số chẳn các ký tự có vị trí lỗi bit giống nhau
III 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 ,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 hoàn hảo.Sai hoặc lổi xuất hiện trong quá trình truyền dữ liệu là không 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,các lổi trong kenh truyền nhị phân ñó có thể chia làm 2 loại:
-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.xá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 1 số bít liên tiếp hay 1 cụm bit nào ñó bị sai lệt
* Kiểm soát lổi
Khi nhập dữ liệu ñược nhập vào máy tính bằng bàn phím thì chương trình sẽ ñọc và chứ ký tự nhận ñược rồi gửi lên màn hình.Như vậy nếu ký tự nhập bị sai thì người sử dụng có thể dùng các ký tự ñiều khiển như “delete” hoặc “backspace” ñể loại bỏ lý tự sai và nhập lại.Công việc như vậ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 1 ñường truyền nối tiếp ñến các thiết bị ñầu cuối khác,chương trình bên phía thu sẽ thực 1 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 phía thu sẽ kiểm tra các khung vừa nhận ñược và trả về phía phát một thông ñiệp ñể xác nhận là
Trang 12ñúng hoặc yêu cầu gửi một bản sao khác.Loại kiểm soát lỗi như vậy gọi là ARQ(AUTOMATIC REPEAT REQUEST)
PHẦN II KỸ THUẬT KIỂM SOÁT LỖI ARQ
I )ðẶC ðIỂM ARQ
Trong thực tế có 2 loại cơ sở ARQ ñó là idle RQ ñược dùng với
truyền ñịnh hướng ký tự ,continious 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
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à các 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 hai cách:
-Sửa lỗi trực tiếp bên 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 ðể có thể 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
Trang 13ARQ (Automatic Repeat Request) , có thể dịch là cơ chế tự ñộng 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
I.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
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 dữ liệu 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
Trang 14*Mô hình truyền khung
I.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
Phương pháp ñơn giản nhất
ðược dùng chủ yếu trong các ứng dụng oriented)
Sử dụng kênh truyền hoạt ñộng trong chế ñộ half-duplex
Trang 15
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
Thời gian tổng cộng TD= n(2tprop + tframe)
Hiệu suất ựường truyền
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 có kắch thước nhỏ
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ỏ
Trang 16 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
đánh số thứ tự cho các frame
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)