1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Bài giảng Kỹ thuật truyền số liệu - Chương 5: Điều khiển ở lớp liên kết dữ liệu

56 28 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Điều Khiển Ở Lớp Liên Kết Dữ Liệu
Tác giả Dr. Dinh Duc Anh Vu
Trường học Bách Khoa TP.HCM
Chuyên ngành Kỹ thuật truyền số liệu
Thể loại bài giảng
Năm xuất bản 2008
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 56
Dung lượng 683,54 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài giảng Kỹ thuật truyền số liệu - Chương 5: Điều khiển ở lớp liên kết dữ liệu cung cấp cho người học các kiến thức: Đ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. Hi vọng đây sẽ là một tài liệu tham khảo hữu ích dành cho các bạn sinh viên dùng làm tài liệu tham khảo phục vụ học tập và nghiên cứu.

Trang 1

Đ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

Trang 2

dce

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

Trang 3

dce

Đ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

Trang 4

dữ liệu thành

từng khung (frame)

Trang 5

dce

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

Trang 6

dce

Đ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ự

Trang 7

• “Đí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ế độ duplex

Trang 8

dce

• Th ời gian tổng cộng TD= n(2tprop + tframe)

• Hi ệu suất đường truyền

Idle RQ – Hi ệu suất

Trang 9

dce

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

Trang 10

dce

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ó

Trang 11

dce

Sliding windows

Trang 12

dce

Sliding windows – Ví d ụ

Trang 13

dce

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ữ

Trang 15

dce

Đ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

Trang 16

dce

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

Trang 18

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

Trang 19

dce

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.

Trang 21

dce

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

Trang 22

• 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

Trang 23

dce

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

Trang 24

dce

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

Trang 25

dce

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

Trang 26

dce

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)

Trang 27

dce

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

Trang 28

dce

Go-back-N - Ví d ụ

Trang 29

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à 2 k -1

Trang 30

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

Trang 31

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

Trang 32

dce

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

Trang 33

dce

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

Trang 34

dce

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

Trang 35

dce

Selective Repeat ví d ụ

Trang 36

dce

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

Trang 37

dce

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

Trang 38

• Đ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ụ

Trang 39

dce

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

Trang 40

dce

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

Trang 41

dce

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

Trang 42

dce

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ệu

Trang 43

dce

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

Trang 44

• 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

Trang 45

dce

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

Trang 46

dce

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

Trang 47

dce

Trường điều khiển

• Bit Poll/Final: ý ngh ĩa tùy theo ngữ cảnh

– Trong khung lệnh (command frame)

Trang 48

dce

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

Trang 50

dce

T ổng kết Frame format

• HDLC frame format

Trang 52

dce

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

Trang 53

• 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)

Trang 54

dce

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)

Trang 56

dce

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

Ngày đăng: 12/04/2021, 08:40

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm