56
BK TP.HCM 2008 dce Chương 5 Điều khiển ở lớp liên kết dữ liệu Điều khiển dòng dữ liệu Điều khiển lỗi Giao th ức điều khiển liên kết dữ liệu cấp cao HDLC

Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

BKTP.HCM

2008dce

Chương 5Điều khiển ở lớp liên kết dữ liệu

Điều khiển dòng dữ liệu Điều khiển lỗi Giao thức điều khiển liên kết dữ liệu cấp cao HDLC

Page 2: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 2Data Communication and Computer Networks

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

• Dữ liệu được gửi dưới dạng các frame• Thời điểm bắt đầu và kết thúc một frame

– Điều khiển tốc độ truyền dữ liệu (Flow control)– Xử lý lỗi gặp phải trên đường truyền (Error control)– Định vị địa chỉ trong cấu hình multipoint (addressing)– Phân biệt dữ liệu và thông tin điều khiển

• Dữ liệu và thông tin điều khiển truyền chung– Quản lý kết nối

• Thiết lập, duy trì, ngắt kết nối

• Lớp vật lý không thể thực hiện các chức năng trên

Page 3: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 3Data Communication and Computer Networks

Đ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 nhằm đả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

Page 4: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 4Data Communication and Computer Networks

Mô hình truyền khung• Dùng để phân

tích quá trình truyền nhận dữ liệu thành từng khung (frame)

Page 5: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 5Data Communication and Computer Networks

Khái niệm• Thời gian truyền (tframe): thời gian cần thiết để

gởi tất cả các bit của frame dữ liệu lên đường truyền

• Thời gian lan truyền (tprop): thời gian cần thiết để dữ liệu đi từ nguồn đến đích

Page 6: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 6Data Communication and Computer Networks

Điều kiện giả định• Tất cả frame đều đến đích, không bị mất• Không có frame l ỗi• Các frame đến đúng thứ tự

Page 7: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 7Data Communication and Computer Networks

Idle RQ (Stop–and–Wait)• 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

(acknowledgement)– “Nguồn” phải đợi ACK trước khi phát tiếp dữ liệu

• “Đích” có thể dừng quá trình bằng cách không gởi ACK

• Đặc điểm– Phương pháp đơn giản nhất– Được dùng chủ yếu trong các ứng dụng character-

oriented.(byte-oriented)– Sử dụng kênh truyền hoạt động trong chế độ half-

duplex

Page 8: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 8Data Communication and Computer Networks

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

Idle RQ – Hiệu suất

Page 9: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 9Data Communication and Computer Networks

Vấn đề kích thước frame• Phương pháp Stop-and-wait sử dụng đường

truyền hiệu quả nếu kích thước (chiều dài) frame lớn

• Nhưng 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ỏ – Ngăn ngừa tình trạng 1 trạm làm việc chiếm

đường truyền lâu

Page 10: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 10Data Communication and Computer Networks

Sliding windows

• 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 frame (có

thể nhận W frame)• Bên phát có thể truyền tối đa W frame mà không

cần đợi ACK• Các frame được đánh số thứ tự• ACK có chứa số thứ tự của frame kế tiếp có thể

truyền• Số thứ tự thường được giới hạn bởi k bit trong

frame– Đánh số quay vòng modulo 2k

Page 11: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 11Data Communication and Computer Networks

Sliding windows

Page 12: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 12Data Communication and Computer Networks

Sliding windows – Ví dụ

Page 13: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 13Data Communication and Computer Networks

Sliding windows – Cải tiến• “Đích” có thể gởi ACK không cho phép

“Nguồn” gởi tiếp dữ liệu (Receive Not Ready)– Trong trường hợp này, sau đó “Đích” gởi ACK để

tiếp tục 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 không có dữ liệu để truyền, dùng ACK frame– Nếu có dữ liệu để truyền nhưng không có ACK

mới để truyền: gởi lại ACK cuối cùng, hoặc có cờ ACK hợp lệ (TCP)

Page 14: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 14Data Communication and Computer Networks

• Hiệu suất– Full- Duplex

Sliding windows – Hiệu suất

Page 15: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 15Data Communication and Computer Networks

Điều khiển lỗi• Đ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• Phân loại lỗi đối vớ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ư: thông tin điều khiển trên frame xác định được, nhưng dữ liệu trong frame bị lỗi

• Kỹ thuật điều khiển lỗi– Kỹ thuật 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ư– Truyền lại sau một thời gian time-out

Page 16: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 16Data Communication and Computer Networks

Cơ chế điều khiển lỗi• Dựa trên điều khiển dòng• Kỹ thuật Automatic Repeat Request (ARQ)

– Cho phép các nghi thức liên kết dữ liệu quản lý lỗi và yêu cầu truyền lại

– Phân loại• Idle RQ (stop-and-wait ARQ)

– Dùng với cơ chế điều khiển dòng stop-wait• Continuous RQ

– Dùng với cơ chế điều khiển dòng sliding-window– Selective-reject ARQ– Go-back-N ARQ

Page 17: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 17Data Communication and Computer Networks

Các loại lỗi• 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

Page 18: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 18Data Communication and Computer Networks

Stop-and-wait ARQ• Cơ chế hoạt động

– “Nguồn” chỉ gởi 1 I-Frame (Information Frame) đến “Đích”

– “Nguồn” đợi phản hồi từ “Đích” • ACK-Frame: “Nguồn” gởi frame mới• NAK-Frame: “Nguồn” gởi lại frame• Không nhận được trả lời: “Nguồn” 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: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 19Data Communication and Computer Networks

Stop–and–wait - Giải quyết lỗi• I-Frame không tới được bên nhận

– Sử dụng timer: bên gởi sau khi gởi đi một I-Frame thì khởi động một 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 bị mất và gởi lại frame này.

Page 20: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 20Data Communication and Computer Networks

Stop–and–wait - Giải quyết lỗi• I-Frame bị hư

– Bên nhận gửi NAK để yêu cầu truyền lại– Bên nhận bỏ Frame bị hư, bên gửi sau thời gian

time-out gửi lại frame

Page 21: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 21Data Communication and Computer Networks

Stop–and–wait - Giải quyết lỗi• ACK-Frame bị hư hoặc mất

– “Nguồn” không nhận được ACK-frame: gửi lại sau thời gian time-out– “Đích” nhận I-Frame trùng: dùng ch ỉ số tuần tự frame (sequential

number) ACK0, ACK1 đ ể “Đích” có thể loại bỏ các frame trùng lặp

Page 22: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 22Data Communication and Computer Networks

Go–back–N • Cơ chế hoạt động

– Điều khiển• RR = receive ready = ACK = acknowledgement• REJ = reject = NAK = negative acknowledgement

– 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ế điề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ừ Frame sai đầu tiên trở

đi

Page 23: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 23Data Communication and Computer Networks

Go–back–N – Các trường hợp lỗ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 24: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 24Data Communication and Computer Networks

Go–back–N - Giải quyết lỗi • Sửa lỗi mất frame

– Giả sử frame i mất– Nếu “Nguồn” gửi tiếp frame i+1– “Đích” nhận frame i+1, không đúng chỉ số tuần tự– “Đích” bỏ frame này và gửi lại REJ i– “Nguồn” nhận được REJ i sẽ gửi lại tất cả frame từ

frame I– Đòi hỏi “Nguồn” sử dụng danh sách truyền lại

(Retransmission list) lưu các I-Frame đã gởi nhưng chưa có ACK

Page 25: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 25Data Communication and Computer Networks

Go–back–N - Giải quyết lỗi• Sửa lỗi mất frame (tt)

– Giả sử frame i mất– “Nguồn” không gửi tiếp frame nào– “Đích” không nhận được gì nên sẽ không có phản

hồi– “Nguồn” bị time-out, khi đó sẽ gửi ACK -frame

thăm dò với bit P được set lên 1– “Đích” nhận được sẽ gửi ACK-frame báo đang

chờ frame i– “Nguồn” gửi lại frame i

Page 26: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 26Data Communication and Computer Networks

Go–back–N - Giải quyết lỗi • Sửa lỗi frame hư

– “Đích” phát hiện lỗi ở frame i– “Đích” báo cho “Nguồn” bằng REJ (i)– “Đích” loại bỏ các frame sau i– “Nguồn” nhận được REJ (i) sẽ gởi lại các frame từ

frame i– Thời gian đáp ứng nhanh hơn so với dùng timeout

(“Đích” có thể loại bỏ các frame bị hư và xem như chưa nhận được).

Page 27: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 27Data Communication and Computer Networks

Go–back–N - Giải quyết lỗi • Sửa lỗi ACK bị mất

– “Đích” nhận frame i, gửi ACK(i+1) và bị mất• “Nguồn” gửi tiếp các frame i+1, i+2, “Đích” sẽ gửi lại

ACK(i+2), ACK(i+3) hoặc NAK tương ứng– Nếu “Nguồn” nhận ACK(i+2), ACK(i+3)...trước khi time-out thì

truyền bình thường– Nếu time-out “Nguồn” sẽ gửi ACK thăm dò với bit P được set

lên 1 (như gi ải quyết lỗi mất frame)• “Nguồn” không gửi tiếp frame nào → time-out

– “Đích” nhận ACK thăm dò với bit P được set, nhưng không đáp ứng lại

• Hết thời gian time-out “Nguồn” gửi lại ACK thăm dò• Sau một số lần gửi lại không thành công “Nguồn” sẽ

reset lại đường truyền

Page 28: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 28Data Communication and Computer Networks

Go-back-N - Ví dụ

Page 29: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 29Data Communication and Computer Networks

Vấn đề kích thước cửa sổ• Kích thước cửa sổ tối đa là 2k-1, với k là số bit đánh

số thứ tự• Tình huống: window kích thước 8, số thứ tự được

đánh bằng 3 bit– Trong kênh truyền fullduplex, sử dụng piggybacking thì

ACK có thể được gởi lại cho dù đã gởi rồi.– Trường hợp “nguồn” gởi frame 0, sau đó nhận được RR1,

và tiếp tục gởi 7 frame 1, 2, 3, 4, 5, 6, 7, 0.– “Nguồn” tiếp tục nhận được RR1. Thì RR1 cũng có thể

được hiểu theo 2 nghĩa là: RR1 của frame 0 trước đó (gởi lại ACK) và RR1 cũng có thể hiểu là frame 0 của 7 frame vừa mới gởi.

– Vì vậy mà kích thước cửa sổ lớn nhất là 2k-1

Page 30: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 30Data Communication and Computer Networks

Selective Reject• Còn được gọi là Selective retransmission• 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– “Đích” có thể nhận I-frame không theo đúng chỉ số

tuần tự– “Đích” phải có buffer để lưu lại các frame đến

không theo đúng chỉ số tuần tự và có cơ chế sắp xếp lại thứ tự các frame

Page 31: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 31Data Communication and Computer Networks

Vấn đề kích thước cửa sổ• Tình huống: window kích thước 7, số thứ tự được

đánh bằng 3 bit– “Nguồn” gởi các frame từ 0 đến 6 qua “Đích”– “Đích” gửi ACK7 nhưng bị mất– “Nguồn” bị time-out nên gởi lại frame 0– “Đích” lúc này đã dịch cửa sổ nhận, có thể 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ửa sổ gởi và cửa sổ nhận

• Do đó kích thước cửa sổ tối đa đối với phương pháp này chỉ là 2k-1

Page 32: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 32Data Communication and Computer Networks

Selective Reject - Giải quyết lỗi • Sửa lỗi mất I-Frame

– Sử dụng danh sách truyền lại (Retransmission list) lưu các I-Frame gởi nhưng chưa có ACK

– Khi gởi mỗi I-Frame thì khởi động một bộ đếm thời gian tương ứng với I-Frame đó

– Sau khoảng thời gian đợi T mà chưa nhận được frame ACK thì gởi lại frame này

Page 33: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 33Data Communication and Computer Networks

Selective Repeat• Sửa lỗi I-Frame bị hư

– 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– 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

Page 34: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 34Data Communication and Computer Networks

Selective Repeat• Sửa lỗi ACK-Frame bị mất

– 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 timeout bên gởi sẽ gởi lại I-Frame này

Page 35: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 35Data Communication and Computer Networks

Selective Repeat ví dụ

Page 36: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 36Data Communication and Computer Networks

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

–Nghi thức Binary synchronous communication (BSC)

– Nghi thức High-level data link control (HDLC)– Một số nghi thức tựa DLC khác

Page 37: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 46Data Communication and Computer Networks

High-level Data Link Control (HDLC)• Nghi thức liên kết dữ liệu quan trọng nhất• Được chuẩn hoá: ISO 33009, ISO 4335• Nhiều nghi thức liên kết dữ liệu khác tương tự (hoặc

dựa trên) nghi thức này• Nghi thức hướng đến bit (bit-oriented)• Đặc điểm

– Hoạt động ở chế độ full-duplex– Có thể hỗ trợ liên kết point-to-point hoặc multipoint– Truyền dẫn đồng bộ– Điều khiển lỗi “Continuous RQ”– Có thể dùng cho các liên kết với giá trị lớn và nhỏ của a

Page 38: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 48Data Communication and Computer Networks

Các đặc tính cơ bản• Định nghĩa 3 loại trạm (station)

– Trạm chính (primary station)• Điều khiển hoạt động của liên kết• Các khung (frame) phát ra được gọi là lệnh (command)• Giữa trạm chính và mỗi trạm phụ có một đường liên kết

luận lý riêng– Trạm phụ (secondary station)

• Hoạt động dưới sự điều khiển của trạm chính• Các khung phát ra được gọi là đáp ứng (response)

– Trạm tổ hợp (combined station)• Kết hợp đặc điểm của cả trạm chính và trạm phụ• Có thể phát ra các lệnh và đáp ứng

Page 39: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 49Data Communication and Computer Networks

Các đặc tính cơ bản (tt)• 2 cấu hình liên kết (link configuration)

– Không cân bằng (unbalanced)• Bao gồm một trạm chính và một hoặc nhiều trạm phụ• Hỗ trợ truyền half duplex và full duplex

– Cân bằng (balanced)• Bao gồm hai trạm tổ hợp• Hỗ trợ truyền half duplex và full duplex

Page 40: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 50Data Communication and Computer Networks

Các đặc tính cơ bản (tt)• 3 chế độ truyền (transfer mode)

– Normal Response Mode (NRM)• Được sử dụng trong cấu hình không cân bằng• Trạm chính khởi động việc trao đổi dữ liệu• Trạm phụ chỉ có thể truyền dữ liệu đáp ứng với lệnh từ trạm chính• Được dùng trong đường truyền multidrop

– Asynchronous Balanced Mode (ABM)• Được sử dụng trong cấu hình cân bằng• Một trong hai trạm có thể khởi động việc trao đổi dữ liệu• Được sử dụng phổ biến nhất

– Asynchronous Response Mode (ARM)• Được sử dụng trong cấu hình không cân bằng• Trạm phụ có thể khởi động quá trình truyền dữ liệu• Trạm chính vẫn chịu trách nhiệm cho đường truyền (khởi động, điều khiển

lỗi, ngắt kết nối … )• Ít được sử dụng

Page 41: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 51Data Communication and Computer Networks

Cấu trúc khung (frame structure)• HDLC sử dụng truyền dẫn đồng bộ• Tất cả dữ liệu đều truyền theo khung• Sử dụng một cấu trúc khung duy nhất cho tất

cả trao đổi dữ liệu và điều khiển

Page 42: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 52Data Communication and Computer Networks

Cờ điều khiển (flag)• Dùng để phân cách khung (đầu và cuối)

– Giá trị được định nghĩa: 01111110• Có thể dùng vừa là kết thúc khung này vừa là

bắt đầu khung khác• Sử dụng kỹ thuật chèn bit (bit stuffing) để tránh

xuất hiện cờ trong dữ liệu– Bit stuffing: 0 được chèn thêm mỗi khi xuất hiện

năm số 1 liên tiếp trong phần dữ liệu1111111111110111111011111101111101111101101111101011111010

Page 43: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 53Data Communication and Computer Networks

Ảnh hưởng nếu lỗi xảy ra với cờ

Page 44: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 54Data Communication and Computer Networks

Trường địa chỉ• Dùng để xác định trạm phụ đã gởi hoặc sẽ

nhận frame• Thường dài 8 bit• Có thể mở rộng thành bội số của 7 bit

– LSB của mỗi byte cho biết đây là byte cuối cùng (1) hay chưa (0)

• Giá trị “11111111” là địa chỉ broadcast (gửi đến tất cả các trạm phụ)

Page 45: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 55Data Communication and Computer Networks

Trường điều khiển• HDLC định nghĩa ba loại khung, tương ứng có

ba loại trường điều khiển– Khung thông tin (I-frame) chứa dữ liệu cần truyền

• Điều khiển dòng và điều khiển lỗi được gởi kèm trong các khung thông tin (piggybacked)

– Khung giám sát (supevisor frame, S-frame) dùng cho ARQ khi piggybacking không được dùng (không có dữ liệu cần truyền)

– Khung không số (unnumbered frame, U-frame) bổ sung các chức năng điều khiển liên kết

Page 46: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 56Data Communication and Computer Networks

Trường điều khiển• Hai bit đầu xác định loại khung• Các bit khác đư ợc định nghĩa như sau

Page 47: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 57Data Communication and Computer Networks

Trường điều khiển• Bit Poll/Final: ý ngh ĩa tùy theo ngữ cảnh

– Trong khung lệnh (command frame)• Ý nghĩa là bit P• 1 để mời gọi (poll) khung đáp ứng của các trạm ngang

hàng– Trong khung đáp ứng (response frame)

• Ý nghĩa là bit F• 1 để chỉ thị khung đáp ứng là kết quả của lệnh mời gọi

Page 48: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 58Data Communication and Computer Networks

Trường thông tin• Chỉ có trong các khung thông tin (I-frame) và

một số khung không số (U-frame)• Phải là một số nguyên các octet (8 bits)• Chiều dài có thể thay đổi, giới hạn tùy hệ

thống

Page 49: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 59Data Communication and Computer Networks

Trường FCS• Dùng để phát hiện lỗi• Được tính dựa trên các bit còn lại của khung

(ngoại trừ flag)• CRC 16 bit (CRC-CCITT)• Có thể dùng CRC 32 bit

Page 50: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 60Data Communication and Computer Networks

Tổng kết Frame format• HDLC frame format

Page 51: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 61Data Communication and Computer Networks

Hoạt động của HDLC• Trao đổi I-Frame, S-Frame và U-Frame giữa 2

bên• 3 giai đoạn

– Khởi tạo– Trao đổi dữ liệu– Ngắt kết nối

Page 52: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 62Data Communication and Computer Networks

Các lệnh và đáp ứng

Page 53: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 63Data Communication and Computer Networks

Khởi tạo• Gửi U-frame khởi tạo 1 trong 6 chế độ

– SNRM / SNRME– SARM / SARME– SABM / SABME– Chế độ truyền và số bit đánh chỉ số frame

• Nếu đồng ý kết nối gửi lại U-frame UA (unnumbered acknowledged)

• Nếu không đồng ý kết nối gửi lại U-frame DM(disconnected mode)

Page 54: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 64Data Communication and Computer Networks

Trao đổi dữ liệu• Sau khi đã kết nối• Cả hai bên đều có thể gửi I-frame (chỉ số tuần

tự bắt đầu từ 0)• Các S-frame có thể được dùng để điều khiển

dòng và điều khiển lỗi – RR : ACK– RNR : bên nhận bận, sau đó phải phát RR để tiếp

tục nhận dữ liệu– REJ: NACK (go-back-N)– SREJ: NACK (selective repeat)

Page 55: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 65Data Communication and Computer Networks

Ngắt kết nối• Một trong hai bên ngắt kết nối bằng cách gửi

U-frame DISC (disconnect)• Bên kia phải chấp nhận ngắt kết nối, gửi lại U-

frame UA(unnumbered acknowledgment)• Các khung quá đ ộ có thể bị mất (việc phục hồi

phải do các lớp trên)

Page 56: Chương 5 Điều khiển ở lớp liên kết dữ liệudulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loai-khac/file... · Giao thức điều khiển liên kết dữ

2008dce

©2008, Dr. Dinh Duc Anh Vu 66Data Communication and Computer Networks

Ví dụ quá trình hoạt động