Nội dung:3 Chương 1: Tổng quan về truyền số liệu Chương 2: Kỹ thuật điều khiển luồng, kiểm soát lỗi, phương pháp phát hiện và sửa lỗi I.. Điều khiển luồng nhằm đảm bảo việc truyền thông
Trang 2Sinh viên thực hiện
Đoàn Việt Huy 18200120 Trịnh Đình Huy 18200131 Hoàng Thế Đại Huynh 18200133 Nguyễn Tuấn Huỳnh 18200134
Lê Nguyễn Anh Kiệt 18200151
Lê Ngọc Lâm 18200155
2
Trang 3Nội dung:
3
Chương 1: Tổng quan về truyền số liệu
Chương 2: Kỹ thuật điều khiển luồng, kiểm soát lỗi, phương pháp phát hiện và sửa
lỗi
I Kỹ thuật điều khiển luồng
II.Kiểm soát lỗi, phương pháp phát hiện và sửa lỗi
Trang 4Chương 1: Tổng quan về
số liệu
4
Trang 6I Một số vấn đề
cơ bản:
Tần số • Tần số (f) của tín hiệu là số dao động của tín hiệu trong một đơn vị thi gian
Chu kỳ: • Chu kỳ (T) của tín hiệu là khoảng thời gian để tín hiệu lặp lại một lần.
Trang 7II Cách truyền thông tin trên đường dây:
Khi truyền thông tin trên đường dây:
• Các bit phải được truyền liên tiếp theo thứ tự tăng dần từ b1 đến bn
• Bít kiểm tra phải được truyền sau cùng
Phương thức truyền:
Việc truyền một dãy bit dữ liệu qua đường truyền liên quan đến nhiều vấn đề hoạt động và
sự tương thích nhau giữa các thiết bị tham gia
Trang 8II Cáchtruyền thông tin trên đường dây:
Kỹ thuật truyền: Cả tín hiệu tương tự và tín hiệu số đều có thể được truyền đi bằng các thiết bị phù hợp Đường truyền: cho phép kết nối vật lý giữa hai điểm mà ở đó có đặt các DTE, gồm hai loại: hữu tuyến và vô
tuyến
DCE phát: mã hóa, điều chế biến đổi dữ liệu thành tín hiệu tương thích với đường truyền sử dụng
DCE thu: ngược lại với DCE phát, chức năng của DCE thu là giải điều chế và
giải mã tín hiệu
Giao tiếp:
• DCE thu – phát
• DCE - đường truyền
Các kỹ thuật truyền số liệu: truyền dữ liệu ở băng tần cơ sở; truyền dữ liệu qua điều biên, điều tần và điều
pha; truyền nối tiếp đồng bộ; truyền không đồng bộ(ATM)
Trang 9Chương 2: Kỹ thuật điều khiển
luồng,kiểm soát lỗi, phương pháp phát hiện lỗi và sửa lỗi
Trang 10I Kỹ thuật điều khiển luồng
10
Trang 11Điều khiển luồng 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ế được thiết kế để điều khiển luồng dữ liệu giữa người nhận và người gửi sao cho vùng đệm của người nhận không bị tràn Nếu bị tràn, các khung hoặc gói dữ liệu bị mất
- Dùng trong tầng liên kết dữ liệu để điều khiển các liên kết điểm-điểm và trong tầng chuyển tải để điều khiển luồng end-to-end trên mạng có định tuyến
Định nghĩa
Trang 12Các kỹ thuật điều
khiển luồng
Khi truyền thông tin trong mạng có thể bị sai lỗi hoặc mất
Việc thông tin bị mất thì cần phải thực hiện truyền lại thông tin.
Việc thông tin bị sai thì cần phải tìm hiểu nguyên nhân để sửa sai bằng hai cách:
- Sai do bên thu và sửa lỗi trực tiếp bên thu với điều kiện là thông tin cài các mã sửa lỗi
- Sửa sai bằng yêu cầu bên phát truyền lại thông tin
Cơ chế điều khiển luồng theo phương pháp cửa sổ được 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)
Trang 13Điều khiển luồng kết hợp ARQ – Stop-and- wait (dừng và đợi)
Trang 14Điều khiển luồng kết hợp ARQ
– Stop-and- wait (dừng và đợi)
Hoạt động 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 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 B1
Khi không nhận được khung thông tin trong khoảng thời gian định trước thì thực hiện B2.
Trang 15Điều khiển luồng kết hợp ARQ
– Stop-and- wait (dừng và đợi)
Hoạt động khi sử dụng SN và RN:
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 (NAK)
Khung được gửi có thể chứa cả thông tin từ phía thu sang phát chứ không đơn thuần chỉ dùng cho báo sai
Trang 16Phía phát sẽ được phát nhiều hơn một khung thông tin trước khi nhận được báo nhận từ phía thu Số khung max là W hay kích thước cửa sổ
Cơ chế này được gọi là cơ chế cửa sổ trượt
Mỗi khi phát xong một khung phía phát giảm kích thước của sổ, khi kích thước cửa sổ bằng 0, phía phát sẽ không được phát nữa
Mỗi khi phía thu nhận được khung thông tin đúng và xử lý xong sẽ gửi lại một báo nhận ACK cho phía phát Khi đó phía phát tăng kích thước cửa sổ Như vậy tổng số khung mà phía thu phải
xử lý tại một thời điểm vẫn không vượt quá W
Để phân biệt các khung, cần đánh số thứ tự Nếu dùng k bit thì tổng số khung được đánh số sẽ
là 2k và kích thước cửa sổ tối đa Wmax = 2^K
Nguyên
Tắc
Phương pháp điều khiển luồng Go back –N
Trang 17back –N
Dùng 3 bit để đánh số các khung thông tin Wmax là 7 Ban
đầu cả phía phát và thu đều có kích thước cửa sổ là 7
Sau khi đã phát 3 khung và chưa nhận ACK, phía phát giảm
kích thước cửa sổ xuống 4
Phía thu sau khi đã nhận đúng và xử lý xong 3 khung thì sẽ gửi
ACK3, đồng thời tăng kích thước cửa sổ lên 7 Phía phát sau
khi nhận ACK3 tăng kích thước cửa sổ lên 7.
Phía phát thực hiện phát F3 đến F6, sau đó giảm cửa sổ đi 4
Phía thu gửi lại ACK4 Vì bên phát đã phát đi khung F4,F5,F6
nên khi nhận được ACK4 sẽ phát được tối đa 4 khung bắt đầu
từ F7.
Ví dụ:
Trang 18Selective repeat cũng sử dụng kỹ thuật cửa sổ trượt
Nếu không có lỗi xảy ra, quá trình diễn ra giống với Go-back-N
Nếu có lỗi xảy ra, chỉ những gói lỗi được phát lại Cơ chế này giúp tăng hiệu quả sử dụng đường truyền so với cơ chế Go-back-N
Cần có bộ đệm để sắp xếp lại các gói thông tin được gửi lại
Các gói tin được gửi lại khi nhận sai hoặc không nhận được thông báo trong một khoảng thời gian
Trang 19Điều khiển luồng theo phương pháp cửa sổ
(Window Flow Control)
Cơ chế điều khiển luồng và chống tắc nghẽn dựa trên phương pháp cửa sổ được thực hiện bởi việc giới hạn số lượng gói tin được truyền ở phía phát nhằm đảm bảo thông tin này không vượt quá khả năng xử lý của phía thu.Theo cơ chế này, phía phát sẽ không thực hiện phát tin chừng nào phía thu còn chưa xử lý xong gói tin trước đó Khi phía thu xử lý xong thông tin do phía phát gửi đến thì nó sẽ báo cho phía phát biết và lúc này, phía phát sẽ tiếp tục gửi các gói tin tiếp theo Cơ chế này đảm bảo việc truyền tin không bao giờ vượt quá khả năng xử lý của phía thu
Trang 20Điều khiển luồng theo phương pháp cửa sổ
(Window Flow Control)
• Phương pháp điều khiển luồng theo cửa sổ trượt là phương pháp được sử dụng phổ biến nhất
• Phương pháp điều khiển luồng theo cơ chế End-to-end: là điều khiển luồng giữa điểm phát và điểm thu trong mạng
• Phương pháp điều khiển luồng theo cơ chế Hop-by-hop: Là điều khiển luồng giữa hai nút mạng liên tiếp
• Phương thức Isarithmic: Phương thức này cũng được coi là một biến thể của cơ chế điều khiển luồng theo cửa sổ với một cửa sổ duy nhất được dùng cho toàn mạng
Trang 21II Kiểm soát lỗi, phương pháp phát hiện và sửa lỗi
21
Trang 22Dữ liệu có thể bị sai lệch trong quá trình truyền Đối với một truyền thông đáng tin cậy, các lỗi phải được dò tìm và sửa chữa.
Dò tìm và sửa lỗi được thực hiện ở tầng liên kết dữ liệu hoặc tầng giao vận của mô hình OSI.
Có 2 dạng lỗi: Lỗi một bit và lỗi nhiều bit (burst)
+ Lỗi một bit: Chỉ có một bit bị sai trong một đơn vị dữ liệu (byte, ký tự, đơn vị dữ
liệu, hay gói)
+ Lỗi burst: có hai hoặc nhiều bit sai trong đơn vị dữ liệu.
Trang 23• Thay vì lặp lại toàn bộ dòng dữ liệu, nhóm nhỏ các bit được ghép vào cuối mỗi đơn
vị Bên nhận nhận được dữ liệu sẽ thực hiện kiểm tra theo tiêu chuẩn xác định, phần dữ liệu của đơn vị dữ liệu sẽ được chấp nhận và bỏ phần bit dư thừa
Có bốn dạng kiểm tra lỗi cơ bản dùng mã thừa trong truyền dữ liệu:
• VRC (vertical redundancy check): kiểm tra tính chẵn lẻ của tổng bit ‘1’ trong một đơn
vị dữ liệu
• LRC (longitudinal redundancy check): kiểm tra tính chẵn lẻ của tổng các bit ‘1’ trong một khối
• CRC (cyclic redundancy check) : kiểm tra chu kỳ dư
• Checksum: kiểm tra tổng
lớp kết nối dữ liệu Dạng checksum thường được dùng trong các lớp trên
Trang 24- Cơ chế phổ biến và chi phí ít nhất cho dò tìm lỗi
- Trong kỹ thuật này, một bit dư thừa được gọi là bit
chẵn lẻ được ghép vào mọi đơn vị dữ liệu sao cho tổng số các bit 1 trong đơn vị dữ liệu đó (bao gồm cả bit chẵn lẻ) trở thành chẵn
- Một bit chẵn lẻ được bổ sung vào tất cả các đơn vị
dữ liệu sao cho tổng số bit 1 trong đơn vị dữ liệu trở thành một số chẵn
Trang 25khối Sau đó có thể đính kèm 8 bit chẵn lẻ vào dữ liệu gốc và gửi chúng tới bên nhận.
- Một khối các bit được chia thành các hàng và một hàngcác bit
dư thừa được thêm vào toàn khối
Trang 26- dựa trên phép chia nhị phân: Các bit dư thừa được
sử dụng bởi CRC lấy được từ phép chia đơn vị dữ
liệu theo số chia đã xác định trước; phần dư của
phép chia sẽ là CRC
- Có số bit nhỏ hơn số bit bộ chia một bit
- Được gắn vào cuối chuỗi dữ liệu
Tại máy thu:
• Dữ liệu đến máy thu với phần đầu là dữ liệu tiếp đến
là CRC Máy thu xem toàn chuỗi này là một và đem chia chuỗi cho cùng số chia đã được dùng tạo CRC
• Khi chuỗi dữ liệu đến máy thu không lỗi, thì bộ kiểm tra CRC có số dư là 0 và chấp nhận đơn vị dữ liệu này
• Khi chuỗi bị thay đổi trong quá trình truyền, thì số dư
sẽ khác không và bộ thu không chấp nhận đơn vị này
Trang 27Bộ tạo CRC: Bộ CRC dùng phép chia modulo–2
Trong bước đầu, bộ chia bốn bit được trừ đi Mỗi bit trong bộ chia được trừ với các bit tương ứng mà không ảnh hưởng đến bit kế tiếp
Bộ kiểm tra CRC: Bộ này hoạt động giống hệt như bộ phát
Sau khi nhận được giữa liệu có gắn thêm phần CRC, mạch thực hiện lại phép chia modulo – 2
Nếu kết quả là 0, cắt bỏ phần CRC và nhận dữ liệu, ngược lại thì loại bỏ dữ liệu và yêu cầu gởi lại Giả sử là không có lỗi, dư số là 0 và dữ liệu được chấp nhận.
Trang 28Ở bên gửi, bộ sinh checksum chia nhỏ đơn vị dữ liệu thành các phân đoạn bằng nhau n bit (thường là 16)
Các phân đoạn này được cộng vào với nhau sử dụng phép tính phần bù số học sao cho tổng số cùng là n bit
Tổng đó sau đó được lấy phần bù và được ghép vào cuối đơn vị dữ liệu gốc với vai trò là các bit dư thừa và được gọi là trường checksum
Đơn vị dữ liệu được mở rộng được truyền qua mạng Vì thế nếu tổng của đơn vị dữ liệu là T thì checksum sẽ là –T
Trang 29Bên gửi sẽ thực hiện các bước sau:
• Đơn vị dữ liệu được chia thành k phần, mỗi phần n bit
• Tất cả các phần được cộng với nhau sử dụng phép lấy phần
bù để lấy được tổng
• Tổng được lấy phần bù và trở thành checksum
• Checksum được gửi đi cùng với dữ liệu
Bên nhận thực hiện các bước sau:
• Đơn vị dữ liệu được chia thành k phần, mỗi phần n bit
• Tất cả các phần được cộng với nhau sử dụng phép lấy phần
bù để lấy được tổng
• Tổng đó được lấy phần bù
• Nếu kết quả bằng 0, dữ liệu được chấp nhận, bằng không chúng bị loại bỏ
Trang 30SỬA LỖI
Có hai cách sửa lỗi là:
• Khi phát hiện một lỗi, máy thu phải yêu cầu máy phát truyền lại dữ liệu.
• Máy thu dùng các mã sửa lỗi, để sửa tự động một số lỗi.
Theo lý thuyết, có thể sửa bất kỳ lỗi mã nhị phân nào một cách tự động
Tuy nhiên các mã sửa lỗi phức tạp hơn nhiều so với các mã dò tìm lỗi và đòi hỏi nhiều bit thừa hơn
Số các bit cần để sửa một lỗi nhiều bit quá lớn nên phần lớn các phương pháp sửa lỗi chỉ giới hạn sửa lỗi cho một, hai hoặc ba bit lỗi
Trang 31a.Lỗi bit đơn
Để tính số bit dư (r) cần có để có thể sửa lỗi một số bit dữ liệu (m), ta cần tìm ra quan hệ giữa m và r Trong hình sau cho thấy m bit dữ liệu và r bit dư Độ dài của mã có được là m+r
r có khả năng chỉ ra ít nhất m+r+1 trạng thái khác nhau: một trạng thái là không có lỗi và m+r trạng thái chỉ thị vị trí của lỗi trong mỗi vị trí m+r
Giá trị của r có thể được xác định từ cách gắn vào trong giá trị của m
Trang 32a.Lỗi bit đơn
Mã Hamming
Định vị của các bit dư r
Mã Hamming có thể được áp dụng vào đơn vị dữ liệu có chiều dài bất kỳ dùng quan hệ giữa dữ liệu và các bit dư đã được khảo sát trước đây
Tiếp đó tính toán các giá trị r để kiểm tra chuỗi dữ liệu đã được mã hóa.
Trang 33b Sửa lỗi hàng loạt bit
Mã Hamming có th ể được thi t k s a các l i hàng lo t bit có chi u dài c th ế ế để ử ỗ ạ ề ụ ể
S các bit d th a c n thi t t o ra nh ng s a l i này là l n h n r t nhi u so v i s a l i bit n ố ư ừ ầ ế để ạ ữ ử ỗ ớ ơ ấ ề ớ ử ỗ đơ
Ví d , s a l i bit ôi, chúng ta c n ph i xem xem hai bit ó có th là t h p c a b t k 2 bit b t k trong toàn ụ để ử ỗ đ ầ ả đ ể ổ ợ ủ ấ ỳ ấ ỳ
b chu i bit hay không S a l i 3 bit c a ngh a là b t k 3 bit nào trong toàn b chu i bit, vân vân…Vì th , gi i ộ ỗ ử ỗ ủ ĩ ấ ỳ ộ ỗ ế ảpháp n gi n đơ ả đượ ử ục s d ng mã Hamming s a các l i bit n ph i để ử ỗ đơ ả được thi t k l i có th áp d ng cho s a ế ế ạ để ể ụ ử
l i a bit.ỗ đ
Trang 34TÓM TẮT CHƯƠNG 2
- L i có th ỗ ể được chia ra thành: +L i m t bitỗ ộ +Burst: sai hai hay nhi u bitề
- Redundancy là ý ni m nh m g i thêm các bit d dùng trong phát hi n l iệ ằ ở ư ệ ỗ
Có b n ph ng pháp ki m tra l i thông th ng là:ố ươ ể ỗ ườ
- Trong VRC, m t parity bit ộ được thêm vào n v d li u VRC ch có th phát hi n m t bit và các bit l b l i; đơ ị ữ ệ ỉ ể ệ ộ ẻ ị ỗkhông th phát hi n s bit ch n.ể ệ ố ẵ
- Trong LRC, có m t d li u th a theo sau m t n v d li u n bitộ ữ ệ ừ ộ đơ ị ữ ệ
- CRC, ph ng pháp m nh nh t trong ph ng pháp ki m tra l i dùng bit d , có c s là phép chia nh phânươ ạ ấ ươ ể ỗ ư ơ ở ị
- Checksum được dùng trong giao th c c p cao h n (TCP/IP) phát hi n l i ứ ấ ơ để ệ ỗ
T i máy thu, khi dùng ph ng pháp checksum, d li u và checksum ph i ạ ươ ữ ệ ả được c ng l iộ ạ
thành giá tr 0 khi không có l iị ỗ
- Mã Hamming là ph ng pháp s a l i m t bit dùng các bit th a S bit là hàm c a dài n v d li uươ ử ỗ ộ ừ ố ủ độ đơ ị ữ ệ
- Trong mã Hamming, m t n v d li u m bit thì dùng công th c xác nh r, s bit d c n có.ộ đơ ị ữ ệ ứ để đị ố ư ầ
Trang 35Tài liệu tham
Trang 36thank you