Bài giảng Mạng máy tính - Chương 4: Data Link - Vũ Quốc Oai

Điều khiển luồng

• Là kỹ thuật nhằm đảm bảo rằng bên phát

không làm tràn dữ liệu bên nhận

• Hai phương pháp được sử dụng:

– Phương pháp dừng và chờ (Stop and Wait)

• Đơn giản nhất,

• Kém hiệu quả, chỉ có một khung tin được truyền tại một

thời điểm

– Phương pháp cửa sổ trượt –(Sliding Window Flow

Control)

• Hiệu quả

• Cho phép truyền nhiều khung tin cùng một lúc trên kênh

truyền

Bài giảng Mạng máy tính - Chương 4: Data Link - Vũ Quốc Oai trang 1

Trang 1

Bài giảng Mạng máy tính - Chương 4: Data Link - Vũ Quốc Oai trang 2

Trang 2

Bài giảng Mạng máy tính - Chương 4: Data Link - Vũ Quốc Oai trang 3

Trang 3

Bài giảng Mạng máy tính - Chương 4: Data Link - Vũ Quốc Oai trang 4

Trang 4

Bài giảng Mạng máy tính - Chương 4: Data Link - Vũ Quốc Oai trang 5

Trang 5

Bài giảng Mạng máy tính - Chương 4: Data Link - Vũ Quốc Oai trang 6

Trang 6

Bài giảng Mạng máy tính - Chương 4: Data Link - Vũ Quốc Oai trang 7

Trang 7

Bài giảng Mạng máy tính - Chương 4: Data Link - Vũ Quốc Oai trang 8

Trang 8

Bài giảng Mạng máy tính - Chương 4: Data Link - Vũ Quốc Oai trang 9

Trang 9

Bài giảng Mạng máy tính - Chương 4: Data Link - Vũ Quốc Oai trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 23 trang xuanhieu 3420
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Mạng máy tính - Chương 4: Data Link - Vũ Quốc Oai", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Mạng máy tính - Chương 4: Data Link - Vũ Quốc Oai

Bài giảng Mạng máy tính - Chương 4: Data Link - Vũ Quốc Oai
CHƯƠNG 4: DATA LINK
• Điều khiển luồng (dòng)
• Phát hiện lỗi
• Xử lý lỗi
77
Điều khiển luồng
• Là kỹ thuật nhằm đảm bảo rằng bên phát 
không làm tràn dữ liệu bên nhận
• Hai phương pháp được sử dụng:
– Phương pháp dừng và chờ (Stop and Wait)
• Đơn giản nhất,
• Kém hiệu quả, chỉ có một khung tin được truyền tại một 
thời điểm
– Phương pháp cửa sổ trượt –(Sliding Window Flow 
Control)
• Hiệu quả
• Cho phép truyền nhiều khung tin cùng một lúc trên kênh 
truyền
78
Phương pháp dừng và chờ
• Truyền một gói tin và chờ báo nhận
– Bên phát truyền một khung tin
– Sau khi nhận được khung tin, bên nhận gửi lại xác nhận
– Bên phát phải đợi đến khi nhận được xác nhận thì mới 
truyền khung tin tiếp theo
• Không hiệu quả
– Bên nhận có thể dừng quá trình truyền bằng cách không 
gửi khung tin xác nhận
– Tại một thời điểm chỉ có một khung tin trên đường 
truyền chậm
– Trường hợp độ rộng của kênh truyền lớn hơn độ rộng 
của khung tin thì nó tỏ ra cực kỳ kém hiệu quả.
79
Phương pháp cửa sổ trượt
• Cho phép nhiều khung tin được truyền tại một thời 
điểm ->Truyền thông hiệu quả hơn.
• A và B được kết nối trực tiếp song công (full-duplex).
• B có bộ đệm cho n khung tin -> B có thể chấp nhận n 
khung tin, A có thể truyền n khung tin mà không cần 
đợi xác nhận từ bên B
• Mỗi khung tin được gán nhãn bởi một số thứ tự.
• B xác nhận khung tin đã được nhận bằng cách gửi xác 
nhận cùng với số thứ tự của khung tin tiếp theo mà nó 
mong muốn nhận
80
Phương pháp cửa sổ trượt
•A duy trì danh sách các số thứ tự được 
phép gửi
•B duy trì danh sách số thứ tự chuẩn bị 
nhận
- Gọi là cửa sổ của các khung tin
- Điều khiển dòng cửa sổ trượt
81
Phương pháp cửa sổ trượt
• Đối với đường truyền 2 chiều thì mỗi bên phải 
sử dụng hai cửa sổ:
– Một cho phát và một cho nhận
– Mỗi bên đều phải gửi dữ liệu và gửi xác nhận tới bên 
kia
• Số thứ tự được lưu trữ trong khung tin
– Bị giới hạn, trường k bit thì số thứ tự được đánh số 
theo Module của 2k
– Kích thước của cửa sổ không nhất thiết phải lấy là 
maximum ( ví dụ trường 3 bit, có thể lấy độ dài cửa 
sổ là 4)
82
Phát hiện lỗi
• Lý do một hay nhiều bit thay đổi trong 
khung tin được truyền:
– Tín hiệu trên đường truyền bị suy yếu
– Tốc độ truyền
– Mất đồng bộ
• Việc phát hiện ra lỗi để khắc phục, yêu 
cầu phát lại là cần thiết và vô cùng quan 
trọng trong truyền dữ liệu.
83
Phát hiện lỗi: Parity Check
• Là kỹ thuật đơn giản nhất.
• Đưa một bit kiểm tra tính chẵn lẻ vào sau khối 
tin.
• Giá trị của bit này được xác định dựa trên số 
các số 1 là chẵn (even parity), hoặc số các số 1 
là lẻ (odd parity).
• Lỗi sẽ không bị phát hiện nếu trong khung tin 
có 2 hoặc một số chẵn các bit bị đảo.
• Không hiệu quả khi xung nhiễu đủ mạnh.
84
Lớp Link & các mạng LAN 85
Kiểm tra Parity
Bit Parity đơn:
phát hiện các lỗi bit
Bit Parity 2 chiều:
phát hiện & sửa các lỗi bit
0 0
Phát hiện lỗi: Cyclic redundancy 
Check (CRC)
Mô tả:
• Khối dữ liệu k bit
• Mẫu n+1 bit (n<k) 
• Tạo ra dãy n bit gọi là dãy kiểm tra khung tin-
FCS, Frame Check Sequence
• Tao ra một khung tin k+n bit
• Bên nhận khi nhận được khung tin sẽ chia 
cho mẫu, nếu kết quả là chia hết, việc truyền 
khung tin này là không có lỗi
86
Phát hiện lỗi: 
CRC dưới dạng module của 2
M: Khối tin k bit
F: FCS n bit, n bit cuối của T
T: khung tin k+n bit
P: Mẫu n+1 bit, đây là một số chia được chọn 
trước.
Mục tiêu: xác định F để T chia hết cho P
T = 2nM + F
87
Phát hiện lỗi: Các bước tạo và 
kiểm tra CRC
• Các bước tạo CRC
– Dịch trái M đi n bit
– Chia kết quả cho P
– Số dư tìm được là F
• Các bước kiểm tra CRC
– Lấy khung nhận được (n+k) bit
– Chia cho P
– Kiểm tra số dư, nếu số dư khác 0, khung bị lỗi, ngược 
lại là không lỗi
88
Phát hiện lỗi: 
CRC- Dạng đa thức nhị phân
Cách thứ 2 để biểu thị CRC là biểu diễn các giá trị 
như là một đa thức với các hệ số là số nhị phân, 
đây là các bit của số nhị phân. Gọi T(X), M(X), 
Q(X), P(X), R(X) là các đa thức tương ứng với các 
số nhị phân T, M, Q, P, R đã trình bày ở trên, khi 
đó CRC được biểu thị:
89
CRC- Dạng đa thức nhị phân
Ví dụ:
Tạo CRC:
1. Cho tin M=1010001101 (10 bit)
Mẫu P:110101 (6 bit)
FCS R: được tính theo phương pháp CRC và sẽ 
có độ dài là 5 bit
2. Nhân M với 25 ta được:
M25=101000110100000
3. Chia kết quả cho P:
4. Số dư là: 01110, được đưa vào sau tin M.
Ta có tin T, được truyền đi là: 
101000110101110 
90
Một số đa thức P(X) tiêu biểu:
CRC-12: X12+X11+X3+X2+X+1 CRC-16: X16+X15+X2+1
CRC-CCITT: X16+X12+X5+1
CRC32: X32+X26+X23+X22+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1 
CRC- Dạng đa thức nhị phân
• Kiểm tra CRC:
• Giả sử bên thu nhận 
được T, khi đó để kiểm 
tra là phép truyền có lỗi 
không ta chia T cho P, số 
dư là 00000, vậy ta kết 
luận phép truyền tin M, 
không có lỗi. 
91
Xử lý lỗi
• Lỗi: Mất khung, hỏng khung
• Kiểm soát lỗi:
– Phát hiện lỗi
– Báo nhận: khung tin tốt 
– Truyền lại khi hết thời gian định trước
– Báo nhận: khung tin lỗi và truyền lại
92
Xử lý lỗi: ARQ dừng và chờ
• Trên cơ sở kĩ thuật điều khiển luồng dừng-
và-chờ
• Kiểm soát lỗi:
– Khung tin tới bên nhận bị hỏng: Truyền lại, sử 
dụng đồng hồ đếm giờ time-out
– Báo nhận bị hỏng: Time-out, bên phát gửi lại, 
sử dụng label 0/1 và ACK0/ACK1 phát hiện lỗi
93
94
Xử lý lỗi: ARQ dừng và chờ
Xử lý lỗi: ARQ Quay-lui-N
• Trên cơ sở kĩ thuật điều khiển luồng bằng Cửa sổ 
trượt
• Kiểm soát lỗi:
– Khung hỏng:
• Khung i-1 thành công, i lỗi, bên nhận gửi SREJ i, bên phát gửi lại
• Khung i mất, i+1 được nhận không đúng trình tự, REJ i, bên gửi 
phát lại i và các khung sau đó
• Chỉ khung i được truyền và bị mất, bên nhận không biết i đã 
được truyền đi, bên phát gửi time-out và gửi RR với P=1, khi 
bên phát nhận được RR từ bên nhận nó sẽ phát lại i
95
Xử lý lỗi: ARQ Quay-lui-N
– RR hỏng:
• B nhận khung i và gửi RR(i+1), RR(i+1) mất, A có thể 
nhận RR(>i+1) trước khi RR(i+1) time-out, và có nghĩa 
là khung i đã thành công.
• RR(i+1) time-out, A cố gắng gửi RR với P-bit cho đến 
khi nhận được RR từ B một số lần nhất định, nếu vẫn 
không nhận được thì Khởi động lại giao thức
– Reject hỏng:
• A time-out, A gửi RR với P=1 cho đến khi nhận được 
RRi từ B thì A sẽ gửi lại khung i
96
97
Xử lí lỗi: ARQ Quay-lui-N
Xử lý lỗi: ARQ Chọn-Hủy 
(Selective-Reject)
• Chỉ truyền lại những khung có báo nhận là 
lỗi (SREJ)
• Phải duy trì đủ bộ đệm độ lớn 
• Đảm bảo tính logic phức tạp để gửi và nhận 
các khung theo đúng trình tự.
• ARQ Chọn-Hủy phải giải quyết được sự 
chồng chéo giữa cửa sổ gửi và nhận.
98
Xử lý lỗi: ARQ Chọn-Hủy 
(Selective-Reject)
• Trạm A gửi các khung từ 0 đến 6 tới trạm B.
• Trạm B nhận tất cả 7 khung và báo nhận tích lũy với 
RR 7
• Vì lí do nào đó ví dụ như nhiễu làm RR 7 bị mất trên 
đường truyền.
• Đồng hồ ở A hết hạn và A truyền lại khung 0.
• B đã điều chỉnh trước cửa sổ nhận để có thể nhận 
các khung 7, 0, 1, 2, 3, 4 và 5. Do đó mà khung 7 
được coi là bị mất và khung nhận được này là khung 
số 0 mới, và được chấp nhận bởi B.
99

File đính kèm:

  • pdfbai_giang_mang_may_tinh_chuong_4_data_link_vu_quoc_oai.pdf