Tải bản đầy đủ (.pdf) (23 trang)

Kỹ Thuật Truyền Số Liệu Chương 4

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.1 MB, 23 trang )

CHƯƠNG 4
KIỂM SOÁT ĐƯỜNG NỐI DỮ LIỆU
MẠNG TRUYỀN SỐ LIỆU

GV: Th.s Lương Hoài Thương


Các chức năng của lớp kết nối dữ liệu






Hạng mục đường dây: xác định thiết bị nào
được phát và thiết bị nào được thu.
Điều khiển lưu lượng: điều phối lượng thông
tin có thể truyền được trước khi nhận được tin
chấp nhận.
Kiểm tra lỗi tức là phát hiện và sửa lỗi: điều
phối việc truyền lại dữ liệu của máy phát.


HẠNG MỤC ĐƯỜNG DÂY
(LINE DISCIPLINE)




Yêu cầu/chấp nhận (ENQ/ACK) : dùng trong thông tin đồng
cấp.


Hỏi vòng / lựa chọn (Poll/select): thông tin sơ cấp-thứ cấp


ENQ/ACK

ENQ: mã ASCII 0000101; enquiry
ACK: mã ASCII 0000110; acknowledgment
NAK: mã ASCII 0010101; negative acknowledgment
EOT: mã ASCII 0000100; end of transmission.


Poll/select

Thiết bị sơ cấp muốn nhận dữ liệu thì phải hỏi thứ cấp có gởi dl
(polling).
Thiết bị sơ cấp muốn gởi dữ liệu, thì phải báo cho thứ cấp biết để chuẩn
bị sẵn sàng nhận tin (selecting).

Poll: chứa trường địa chỉ của thiết bị thứ cấp và ACK;
SEL: chứa trường địa chỉ của thiết bị thứ cấp+ENQ;


Điều khiển dòng dữ liệu




Bảo đảm cho việc bên phát không gởi dữ liệu quá
nhanh
 Ngăn ngừa việc tràn bộ đệm

Khái niệm thời gian
 Thời gian truyền (tframe): thời gian cần thiết để gởi
tất cả các bit dữ liệu lên đường truyền.
 Thời gian lan truyền (tprop): thời gian cần thiết để 1
bit đi từ nguồn đến đích.


Điều khiển dòng dữ liệu
Mô hình
truyền khung

Điều khiển dòng
(Flow Control)

Idle RQ
(Stop and Wait)

Sliding windows


Idle RQ (Stop–and–Wait)


Đặc điểm





Cơ chế hoạt động









Đượ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

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
Nguồn đợi ACK trước khi phát tiếp dữ liệu
Đích có thể ngưng bằng cách không gởi ACK
Thích hợp khi chỉ có vài frame có kích thước lớn

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

 Stop-and-wait protocol không thích hợp



Idle RQ (Stop–and–Wait)

Animation


Chia nhỏ gói tin




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
 Lỗi được phát hiện sớm (khi cả gói dữ liệu đã
nhận được)
 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
Stop and wait trở nên không thích hợp


Điểu khiển dòng theo cửa sổ trượt (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
Bên phát có thể truyền tối đa W frame mà không cần đợi ACK
Cơ chế đánh số thứ tự cho các frame
ACK có chứa số của frame kế tiếp đang được mong đợi
Số thứ tự được quay vòng bởi kích thước cửa sổ (modulo 2k)


Ví dụ cửa sổ trượt


Phát hiện lỗi





Thêm các bit để có thể phát hiện ra lỗi trên đường
truyền
Sử dụng Parity
Sử dụng CRC


Kiểm soát lỗi





Bảo đảm dữ liệu nhận được đúng và chính xác

Mất frame: frame không đến đích
Frame sai: dữ liệu trong frame bị sai
Cung cấp cơ chế cho việc truyền dữ liệu trong trường hợp dữ liệu bị
mất hay sai sót trên đường truyền




Positive ACK – xác nhận các frame nhận được
Truyền lại sau một thời gian time-out
Negative ACK (NAK) và truyền lại – yêu cầu truyền lại (NAK) cho các frame bị hư


Điều khiển lỗi


ARQ (Automatic Repeat Request)




Cơ chế 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)






Dùng với cơ chế điều khiển dòng stop-wait
Được dùng chủ yếu trong truyền dữ liệu là ký
tự hay byte thông tin (character-oriented or
byte-oriented)

Continuous RQ




Điều khiển lỗi
(Error Control)

ARQ
Stop and Wait

Dùng với cơ chế điều khiển dòng slidingwindow
Được dùng chủ yếu trong truyền dữ liệu là bit
thông tin (bit-oriented)
Được chia làm hai loại tùy theo cách thức sửa
lỗi: selective reject và go-back-N

ARQ
Sliding windows

Go Back N

Selective reject



Stop–and–Wait


Cơ chế hoạt động




A gởi một I-Frame (Information Frame) đến B
A đợi trả lời








Lặp lại các bước trên

Ưu/khuyết điểm





ACK-Frame – A gới tiếp dữ liệu
NAK-Frame – A gời lại dữ liệu

Không nhận được trả lời – A gởi lại
sau thời gian time-out

Đơn giản
Không hiệu quả

Vấn đề



I-Frame nhận được, nhưng ACK bị mất/hư?
Có dùng được cho cơ chế sliding-window không?



Primary (P)

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




Điều khiển





I(N)


I(N+1)

I(N+2)

I(N)

I(N)
Secondary (S)

I(N+3)

I(N+4)

I(N+5)

ACK(N)

I(N+1)

I(N+2)

I(N+3)

I(N+4)

I(N+5)

RR = receive ready = ACK = acknowledge
REJ = reject = NAK = negative acknowledge


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ự ? thứ tự I-Frame truyền
được bảo đảm
Truyền lại tất cả các Frame sai kể từ Frame sai đầu tiên trở đi, bất kể các
I-Frame sau là đúng hay sai
I-Frame hư






ACK hư






A gởi frame i, B phát hiện lỗi và gới NAKi, A gởi lại các frame, kể từ frame i
Frame i bị mất nhưng frame i+1 nhận được, B gởi NAKi, A gởi lại các frame kể
từ frame i

Frame i bị mất và sau i, không còn frame nào được gởi. A không nhận được
trả lời, sẽ gởi lại frame I sau một thời gian time-out
B nhận được frame i, gởi ACKi, nhưng ACK này bị mất
A đợi hoài, sẽ gởi lại các frame, kể từ frame i
A gởi frame i, i+1, i+2. B gởi ACKi+2, được hiểu như bao gồm ACKi, ACKi+1

NAK hư


A đợi hoài, sẽ gởi lại các frame, kể từ frame i


Go–back–N


Khái niệm




Giả sử dòng các I-Frame đi theo
một chiều và chiều kia chỉ dùng
cho ACK
Các frame thông tin điều khiển
đủ chỗ để chứa ACK
(piggybacked acknowledgment),
do đó việc trao đổi dữ liệu fullduplex sẽ chứa ACK.





NAK thường được gởi riêng,
không theo kiểu piggyback

ACKN xác nhận cho frame N-1


Selective Reject


Cơ chế hoạt động





Tương tự như Go-Back-N, ngoại trừ việc chỉ gởi lại các frame bị
NAK hoặc time-out
Bên nhận có thể nhận frame thông tin không theo đúng chỉ số
tuần tự  thứ tự frame thông tin truyền không được bảo đảm và
bên nhận phải có buffer để lưu lại các frame đến không theo
đúng chỉ số tuần tự

Vấn đề kích thước cửa sổ


Tình huống










A gởi 0-6 đến B
B xác nhận tất cả, nhưng tất cả ACK đều bị mất
A đợi hoài, nên gởi lại 0
B đã dịch cửa sổ nhận, nên có thể nhận 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
Kích thước cửa sổ tối đa là ½(2n), tức 2n-1


Selective Reject






Cho một kênh truyền dữ liệu có khả năng truyền
dẫn là 0.6Mbps và thời gian trễ trên đường truyền
là 172ms. Nếu kích thước gói tin là 1193 bit. Hãy
tính số lượng bit tối đa có thể truyền qua kênh
truyền bỏ đi kích thước các gói tin ACK trong thời
gian 15 phút
Với giao thức stop and wait, go back N



A gửi cho B: 8 frame và frame thứ 2 bị sai, biết vòng
lập N=5 hãy vẽ
- ARQ stop and wait
- ARQ go back n
- ARQ Selective Reject .



×