Trao đổi thông tin là một nhu cầu bức thiết và không thể thiếu của con người. Mạng máy tính ra đời đã giải quyết được phần nào nhu cầu này. Hơn nữa, để tồn tại và phát triển con người phải từng bước khám phá được thiên nhiên thông qua việc giải những bài toán rất phức tạp. Chỉ một vài nhà khoa học và chỉ bằng những máy tính đơn lẻ làm công cụ sẽ không thể nào xử lý và giải quyết được những bài toán phức tạp đó. Việc kết nối các máy tính thành mạng máy tính giúp cho con người sử dụng được sức mạnh tổng hợp của trí tuệ nhân loại cũng như sức mạnh tổng hợp của công cụ xử lý thông tin. Sự kết hợp của mạng máy tính với các hệ thống truyền thông đã tạo một sự chuyển biến có tính cách mạng trong vấn đề tổ chức khai thác và sử dụng các hệ thống máy tính. Mô hình tập trung dựa trên các máy tính lớn với phương thức xử lý đã được thay thế bởi một mô hình tổ chức sử dụng mới, trong đó các máy tính đơn lẻ được kết nối lại để cùng thực hiện công việc. Một môi trường làm việc nhiều người sử dụng phân tán đã hình thành, cho phép nâng cao hiệu quả khai thác tài nguyên chung từ những vị trí địa lý khác nhau.
Trang 1MỤC LỤC
MỞ ĐẦU 1
NỘI DUNG 3
I.TỔNG QUAN VỀ PHÁT HIỆN VÀ SỬA LỖI 3
1 Các khái niệm về lỗi 3
2 Các kiểu lỗi 4
2.1 Lỗi bit đơn – Single bit error 5
2.2 Lỗi bit chùm – Burst Error 5
3 Phát hiện sai trong truyền số liệu 6
II CÁC KĨ THUẬT PHÁT HIỆN LỖI 8
1 Phương pháp kiểm tra bit chẵn lẻ (Parity bit) 8
2 Kiểm tra tổng khối BSC ( Block Sum Check ) 12
3 Kiểm tra CRC (Cyclic Redundancy Check) 13
KẾT LUẬN 17
TÀI LIỆU THAM KHẢO 19
Trang 2MỞ ĐẦU 1.Tính cấp thiết của đề tài
Trao đổi thông tin là một nhu cầu bức thiết và không thể thiếu của con người Mạng máy tính ra đời đã giải quyết được phần nào nhu cầu này Hơn nữa, để tồn tại và phát triển con người phải từng bước khám phá được thiên nhiên thông qua việc giải những bài toán rất phức tạp Chỉ một vài nhà khoa học và chỉ bằng những máy tính đơn
lẻ làm công cụ sẽ không thể nào xử lý và giải quyết được những bài toán phức tạp đó Việc kết nối các máy tính thành mạng máy tính giúp cho con người sử dụng được sức mạnh tổng hợp của trí tuệ nhân loại cũng như sức mạnh tổng hợp của công cụ xử lý thông tin
Sự kết hợp của mạng máy tính với các hệ thống truyền thông đã tạo một sự chuyển biến có tính cách mạng trong vấn đề tổ chức khai thác và sử dụng các hệ thống máy tính Mô hình tập trung dựa trên các máy tính lớn với phương thức xử lý đã được thay thế bởi một mô hình tổ chức sử dụng mới, trong đó các máy tính đơn lẻ được kết nối lại để cùng thực hiện công việc Một môi trường làm việc nhiều người sử dụng phân tán đã hình thành, cho phép nâng cao hiệu quả khai thác tài nguyên chung từ những vị trí địa lý khác nhau
Mạng máy tính ra đời cần có khả năng truyền dữ liệu một cách chính xác Một hệ thống không đảm bảo được tính năng này thì không sử dụng được Trong quá trình truyền dữ liệu luôn bị tác động bởi nhiều yếu tố, làm sai lệch dữ liệu truyền và nhận Vì vậy hệ thống cần có độ tin cậy tốt với cơ chế phát hiện và sửa lỗi Đó chính là lý do bản
thân lựa chọn đề tài tiểu luận: Một số kĩ thuật phát hiện lỗi khi truyền và nhận dữ liệu
trong mạng máy tính.
Thực ra, việc phát hiện và sửa lỗi là một lĩnh vực đã được nghiên cứu sâu và ứng dụng mạnh mẽ Tuy nhiên, tiểu luận được trình bày có tính cơ bản và tổng quan Tiểu luận chỉ nhằm tóm tắt lại những tri thức mà bản thân đã thu nhận được qua một thời gian học tập ngắn và qua tham khảo một số tài liệu
Tiểu luận gồm hai phần Phần 1: giới thiệu một cách tổng quan về phát hiện và sửa lỗi trên mạng máy tính Phần 2: giới thiệu một số kĩ thuật phát hiện lỗi và đưa ra một số nhận xét, đánh giá về các kĩ thuật này
Trang 32.Mục đích, nhiệm vụ nghiên cứu
2.1 Mục đích nghiên cứu
Bài tiểu luận đưa ra một số kĩ thuật phát hiện lỗi khi truyền dữ liệu trong mạng máy tính nhằm đảm bảo độ tin cậy trong việc truyền dữ liệu giữa các thiết bị đầu cuối
2.2 Nhiệm vụ nghiên cứu
Để đạt được mục đích trên, bài tiểu luận cần thực hiện các nhiệm vụ sau:
- Làm rõ các kiểu lỗi khi truyền và nhận dữ liệu
- Phân tích một số kĩ thuật nhằm phát hiện lỗi khi truyền dữ liệu
3.Đối tượng, phạm vi nghiên cứu
3.1 Đối tượng nghiên cứu
Bài tiểu luận nghiên cứu về vấn đề phát hiện lỗi khi truyền dữ liệu giữa các thiết
bị đầu cuối
3.2 Phạm vi nghiên cứu
Bài tiểu luận nghiên cứu việc phát hiện và sửa lỗi được thiết lập ở lớp kết nối dữ liệu hoặc lớp vận chuyển trong mô hình OSI
4.Phương pháp luận và phương pháp nghiên cứu
4.1 Phương pháp luận nghiên cứu
Bài tiểu luận dựa trên cơ sở lý thuyết về mạng máy tính, nghiên cứu mạng máy tính thông qua các nguồn tài liệu, kết hợp phương pháp tìm kiếm, phân tích, so sánh, tổng hợp
4.2 Phương pháp nghiên cứu
Bài tiểu luận sử dụng các phương pháp nghiên cứu như: tìm kiếm, phân tích, so sánh, tổng hợp…
Trang 4NỘI DUNG I.TỔNG QUAN VỀ PHÁT HIỆN VÀ SỬA LỖI
Khi dữ liệu được truyền đi giữa 2 DTE (Data Terminal Equipment – thiết bị đầu cuối
xử lý số liệu) đây là thiết bị lưu trữ và xử lý thông tin Trong hệ thống truyền số liệu hiện đại thì DTE thường là máy tính hoặc máy fax hoặc là trạm cuối (terminal) Như vậy tất cả các ứng dụng của người sử dụng (chương trình, dữ liệu) đều nằm trong DTE Chức năng của DTE thường lưu trữ các phần mềm ứng dụng, đóng gói dữ liệu rồi gửi ra DCE (thiết bị đầu cuối kênh dữ liệu – Data circuit terminal equipment) hoặc nhận gói dữ liệu từ DCE theo một giao thức xác định DTE trao đổi với DCE thông qua một chuẩn giao tiếp nào đó Như vậy mạng truyền số liệu chính là để nối các DTE lại cho phép chúng ta phân chia tài nguyên, trao đổi dữ liệu và lưu trữ thông tin dung chung đặc biệt nếu các đường dây truyền dẫn ở trong môi truyền xuyên nhiễu như mạng điện thoại công cộng, thì những tín hiệu điện đại diện luồng bit rất dễ bị thay đổi do ảnh hưởng của các thiết bị điện gần đó Điều đó có nghĩa là tín hiệu đại diện cho bit 1 bị máy thu dịch
ra như bit nhị phân 0 và ngược lại
Có hai phương pháp cho vấn đề này, đó là:
Kiểm soát lỗi hướng tới (FEC-Forward Error Control): trong mỗi ký tự hay mỗi
frame dữ liệu được truyền đi có chứa thông tin bổ sung cần thiết để bên thu phát hiện lỗi và có thể dò tìm vị trí của các bit lỗi Sau đó chỉ cần đảo ngược các bit
lỗi để nhận được dữ liệu đúng
Kiểm soát lỗi quay lui (Backward Error Control): Trong mỗi ký tự hay mỗi frame
dữ liệu được truyền đi chỉ chứa thông tin cần thiết để bên thu chỉ có thể phát hiện ra lỗi Một bộ điều khiển sẽ yêu cầu bên phát phát lại bản dữ liệu đúng.
Trong thực tế, số lượng bit thêm vào để đạt được độ tin cần thiết trong điều khiển hướng tới sẽ gia tăng nhanh chóng khi số lượng bit thông tin tăng lên Do đó, phương pháp điều khiển lỗi quay lui được sử dụng nhiều hơn trong các dạng truyền số liệu và các hệ thống mạng
1 Các khái niệm về lỗi
Về bản chất, lỗi truyền số liệu là lỗi bit Nếu tín hiệu mang dữ liệu nhị phân được mã hóa, những thay đổi như thế có thể làm thay đổi ý nghĩa của dữ liệu
Trang 5 Các quá trình vật lý sinh ra: đó là các lỗi xảy ra trong quá trình truyền số liệu trên đường truyền vật lý Bất cứ khi nào một tín hiệu điện từ di chuyển từ một điểm này tới điểm khác, nó dễ bị nhiễu không đoán trước từ sức nóng, từ tính và các dạng của điện Sự nhiễu này có thể làm thay đổi hình dạng và thời gian của tín hiệu
Các thiết bị truyền thông gây ra: là các lỗi xẩy ra do chính các thiết bị tham gia truyền số liệu gây ra
Để xác định xác suất lỗi bit sử dụng Pb
Xác định tỉ suất lỗi bit – BER (Bit Error Rate)
BER £ 10-9 – đường truyền được xem là tốt
BER £ 10-4 – đường truyền chấp nhận được
Ngoài ra còn một số đơn vị đo khác, ít được sử dụng hơn:
FER (Frame Error Rate)
PER (Packet Error Rate)
Để xác định xác suất lỗi gói số liệu sử dụng công thức:
Pf = 1 – (1 – Pb) N với N – độ dài gói số liệu, đo bằng bit
Pf ≈ N.Pb, nếu N.Pb <<1
Thí dụ minh họa: cho N = 1000 bit, Pb = 10-6
Pf = 1 – (1 – Pb)N = 1 – (1-10-6)1000 = 0.00095
Hay Pf ≈ N.Pb, ≈ 1000.10 – 6 ≈ 0.001
2 Các kiểu lỗi
Về bản chất, lỗi có thể được chia thành 2 loại: là lỗi đơn và lỗi chùm Trong một lỗi đơn bit, một bit 0 được thay đổi thành 1 hoặc 1 thành 0 Trong một lỗi bit chùm bit, nhiều bit bị thay đổi ví dụ một nhiều xung hàng hoạt kéo dài 0.01 giây trên đường truyền cùng với một tốc độ dữ liệu 1200 bps có thể thay đổi tất cả hoặc một vài bit trong
12 bit thông tin
2.1 Lỗi bit đơn – Single bit error
Errors
Trang 6Thuật ngữ lỗi bit đơn có nghĩa là các lỗi bit riêng lẻ, phân bố ngẫu nhiên trong gói số liệu
Để hiểu tầm ảnh hưởng của thay đổi đó hình dung rằng mỗi nhóm 8 bit là một ký tự ASC với một bit 0 được bổ sung vào bên trái Trong hình vễ, 00000010 (ACSII STX) được gửi đi, có nghĩa là ký tự bắt đầu, nhưng bên nhận lại nhận được 00001010 (ACSCII LF – line feed)
Các lỗi bit đơn là kiểu lỗi ít xảy ra trong truyền dữ liệu nối tiếp Để hiểu lí do tại sao, ta hãy hình dung người gửi thực hiện gửi dữ liệu với tốc độ 1 Mbps Điều đó có nghĩa là một bit chỉ kéo dài trong khoảng 1/1.000.000 giây hay 1 micro giây Để lỗi bit đơn xảy ra, nhiều phải nằm trong khoảng 1 micro giây, điều đó ít khi xảy ra, nhiễu thường kéo dài hơn nhiều so với khoảng đó
Tuy nhiên, lỗi bit đơn có thể xảy ra nếu gửi dữ liệu sử dụng truyền dữ liệu song song Ví dụ, nếu có 8 đường song song được sử dụng để gửi tất cả 8 bit của một byte ở cùng một thời điểm, một trong những đường đó bị nhiễu, một bit có thể bị thay đổi trong mỗi byte Ví dụ như thực hiện truyền dẫn song song trong một máy tính giữa CPU và bộ nhớ
2.2 Lỗi bit chùm – Burst Error
Thuật ngữ lỗi bit chùm nghĩa là có 2 hay nhiều bit trong đơn vị dữ liệu có thay đổi bit 1 thành bit 0 và từ 0 thành 1
Trong trường hợp này, 0100010001000011 được gửi, nhưng bên nhận thì nhận được
0101110101000011 Chú ý là lỗi bit hàng loạt không phải luôn luôn có nghĩa là xảy ra ở các bit liên tiếp nhau Một số bít nằm giữa có thể không bị ảnh hưởng
Trang 7Các khái niệm liên quan:
Gap (kẽ hở): là vùng nằm giữa 2 vùng lỗi
Burst (Bùng nổ): là vùng trong đó BER cục bộ vượt quá một giá trị ngưỡng nhất định Burst bắt đầu và kết thúc bằng các lỗi
Burst interval (khoảng lỗi chùm): vùng giữa 2 vùng lỗi chùm liên tiếp
Cluster: vùng không có bất kì một bit đúng nào xen giữa
Ký hiệu: 1 là bit đị lỗi, 0 là bit đúng (không bị lỗi), 0x là một dãy liên tiếp x bit đúng
Lỗi ở một số môi trường có khuynh hướng bùng nổ
- Mặt dễ giải quyết: số liệu máy tính luôn được gửi thành các khối bit Giả sử rằng kích thước khối là 1000 bit, và tỉ lệ là 0.001 Nếu các lỗi là độc lập thì hầu hết các khối đều chứa lỗi Nếu các lỗi xuất hiện một cách bùng nổ trong 100 khối, thì tính trung bình chỉ có một hoặc hai khối trong 100 khối bị ảnh hưởng khi đó việc giải quyết các khối bit bị lỗi sẽ trở nên đơn giản
- Mặt khó: khó phát hiện và sửa hơn so với các lỗi cô lập
3 Phát hiện sai trong truyền số liệu
Phương pháp để phát hiện sai trong truyền số liệu là do dung dư thừa Một cơ chế dò tìm lỗi phải thảo mãn những yêu cầu đặt ra cần phải gửi tất cả dữ liệu 2 lần Thiết bị nhận sau đó sẽ có thể thực hiện công việc so sánh bit-bit giữa hai phiên bản dữ liệu Bất
kỳ sự khác nhau nào sẽ chỉ báo một lỗi và một cơ chế sửa lỗi phù hợp sẽ được thiết lập tại đó Hệ thống này sẽ hoàn thành một cách chính xác (các lỗi bit lẻ được đưa ra bằng đúng các bit trong cả hai tập dữ liệu là rất nhỏ), nhưng cách này cũng khá chậm, không chỉ mất gấp đôi thời gian cho việc truyền dẫn mà còn mất thời gian cho quá trình so sánh từng đơn vị bit-bit
Khái niệm bao gồm thông tin bổ sung trong truyền dẫn chỉ dành cho mục đích so sánh là một cách tốt Nhưng thay vì lặp lại toàn bộ dòng dữ liệu, một nhóm nhỏ hơn các bit có thể được ghép thêm vào cuối mỗi đơn vị Kỹ thuật này được gọi là dư thừa –
Trang 8redundancy bởi vì các bit phụ thêm là dư thừa đối với dữ liệu thông tin; chúng sẽ bị loại
bỏ ngay khi độ chính xác của truyền dẫn được xác nhận
Dò tìm lỗi sử dụng khái niệm về dư thừa có nghĩa là ghép thêm các bit phụ thêm cho việc dò tìm lỗi tại thiết bị nhận
Một khi dòng dữ liệu được tạo ra, nó truyền qua một thiết bị và thiết bị này thực hiện phân tích dòng dữ liệu, bổ sung một mã kiểm tra dư thừa một cách hợp lý Đơn vị
dữ liệu giờ có chiều dài được mở rộng thêm nhiều bit (trong hình minh họa là 7 bit
thêm), đi qua đường kết nối tới bệnh nhân Bên nhận chuyển toàn bộ dòng dữ liệu đó
qua một bộ phận chức năng kiểm tra Nếu dòng bit nhận được kiểm tra dựa vào các tiêu chuẩn xác định, phần dữ liệu của đơn vị dữ liệu được chấp nhận và các bit dư thừa được loại bỏ
Như vậy phương pháp này có thể hiểu:
- Bên gửi bổ sung thêm các thông tin dư thừa vào số liệu cần gửi đi một cách thích hợp (theo quy luật = thật toán nhất định)
- Bên nhận dựa trên các thông tin dư thừa để xác định xem gói tin nhận được có bị lỗi hay không
Các phương pháp kiểm tra:
Có ba dạng kiểm tra lỗi cơ bản dung mã thừa trong truyền dữ liệu:
II CÁC KĨ THUẬT PHÁT HIỆN LỖI
1 Phương pháp kiểm tra bit chẵn lẻ (Parity bit)
Phương pháp kiểm tra
Kiểm tra bit chẵn lẻ (Prarity bit) Kiểm tra tổng khối BSC (Block sum check) ( Cyclic redundancy check)Kiêm tra CRC
Trang 9Đây là phương pháp thông dụng nhất để dò tìm các bit lỗi trong truyền bất đồng
bộ và đồng bộ hướng ký tự
Với lược đồ này, máy phát sẽ thêm vào mỗi ký tự truyền đi một bit kiểm tra parity (được tính toán trước khi truyền) Khi tiếp nhận thông tin, máy thu sẽ thực hiện các thao tác tính toán tương tự trên các ký tự thu được và so sánh kết quả với bit parity thu được Nếu chúng bằng nhau, thì không có lỗi xảy ra, nếu chúng không bằng nhau thì
có lỗi xảy ra Gồm 3 phương pháp:
+ Phương pháp kiểm tra ngang
+ Phương pháp kiểm tra dọc
+ Kết hợp 2 phương pháp
Nguyên lý:
- Thêm vào mã cần truyền 1 tập bit kiểm tra nào đó để bên dẫn có thể kiểm soát lỗi
- Trước khi truyền dữ liệu đi, người ta thêm vào cuối bit 1 gọi là parity bit
- Nếu tổng số bit 1 của xâu truyền đi là chẵn thì bit thêm vào là 0
- Nếu tổng số bit 1 của xâu truyền đi là lẻ thì bit thêm vào là 1
Ví dụ: Truyền xâu CDSPHD
C(67) = 1000011 D(68) = 1000100 S(83) = 1010011 P(80) = 1010000 H(72) = 1001000 + Phương pháp kiểm tra ngang:
(1) C D S P H D
1 1 1 1 1 1 0
0 0 0 0 0 0 0
0 0 1 1 0 0 0
0 0 0 0 1 0 1
0 1 0 0 0 1 0
1 0 1 0 0 0 0
(2) C D S P H D Lỗi do mạng truyền thông
1 1 1 1 1 1 0 sinh ra
0 0 0 0 0 0 0
Trang 100 1 1 0 0 0
0 0 0 0 1 0 1
0 1 0 0 0 1 0
1 0 1 0 0 0 0
(3) C D S P H D
1 1 1 1 1 1 0
0 0 0 0 0 0 0
1 1 0 0 0
0 0 0 0 1 0 1
0 1 0 0 0 1 0
1 0 1 0 0 0 0
=> Phương pháp này chỉ kiểm tra được số bit trên cùng 1 hàng bị lỗi là lẻ, nếu số bit trên cùng 1 hàng bị lỗi là chẵn thì không kiểm tra được
+ Phương pháp kiểm tra dọc:
(1) C D S P H D
1 1 1 1 1 1
0 0 0 0 0 0
0 0 1 1 0 0
0 0 0 0 1 0
0 1 0 0 0 1
1 0 1 0 0 0
1 0 1 0 0 0
1 0 0 0 0 0
(2) C D S P H D Lỗi do mạng truyền thông
1 1 1 1 1 1 sinh ra
0 0 0 0 0
1 1
1
Trang 110 0 1 1 0 0
0 0 0 0 1 0
0 1 0 0 0 1
1 0 1 0 0 0
1 0 1 0 0 0
0 0 0 0 0 0
(3) C D S P H D
1 1 1 1 1 1
0 0 0 0 0
0 1 1 0 0
0 0 0 0 1 0
0 1 0 0 0 1
1 0 1 0 0 0
1 0 1 0 0 0
1 0 0 0 0 0
+ Kết hợp 2 phương pháp:
(1) C D S P H D
1 1 1 1 1 1 0
0 0 0 0 0 0 0
0 0 1 1 0 0 0
0 0 0 0 1 0 1
0 1 0 0 0 1 0
1 0 1 0 0 0 0
1 0 0 0 0 0 1
(2) C D S P H D
1 1 1 1 1 1 0
0 0 0 0 0 1
1
1
1
1
Trang 120 1 1 0 0 1
0 0 0 0 1 0 1
0 1 0 0 0 1 0
1 0 1 0 0 0 0
1 0 0 0 0 0 1
(3) C D S P H D
1 1 1 1 1 1 0
0 0 0 0 0 0 0
1 1 0 0 0
0 0 0 0 1 0 1
0 1 0 0 0 1 0
1 0 1 0 0 0 0
0 1 0 0 0 0 1
(4) C D S P H D
1 1 1 1 1 1 0
0 0 0 0 0 0 0
1 1 0 0 0
0 0 1 0 1 0
0 1 0 0 0 1 0
1 0 1 0 0 0 0
1 0 0 0 0 0 1
=> Phát hiện các lỗi đơn và lỗi ghép, không phát hiện tất cả các lỗi đặc biệt lỗi tạo ra hình chữ nhật như trường hợp (4)
2 Kiểm tra tổng khối BSC ( Block Sum Check )
Block Sum Check (BSC): kết hợp parity hàng và cột
1
1 1
1 1