Giáo trình Thông tin dữ liệu và mạng máy tính - Chương 3: Cơ sở giao thức

Ở nội dung các chương trước đã đề cập đến các vấn đđề truyền khung thông tin từ phía

phát đến phía thu và các kỹ thuật để phía thu xác định xem có lỗi xảy ra trong quá

trình truyền dữ liệu hay không.

Nội dung chương này sẽ đề cập đến những nghi thức cơ sở làm nền tảng truyền dữ

liệu, và một phần giao thức điều khiển tuyến dữ liệu (data link control protocol)

Truyền dữ liệu được phân thành 2 kiểu: truyền thông không định hướng và truyền

thông có định hướng.

• Truyền thông không định hướng (connectionless mode transmission hay còn

gọi là best - try transmission). Với kiểu truyền này, nếu trong quá trình thu dữ

liệu mà phát hiện ra lỗi thì nội dung của cả khối dữ liệu sẽ bị bỏ qua.

• Truyền thông định hướng: còn gọi là truyền thông tin cậy (connection –

oriented hay reliable transmission). Với kiểu truyền này, sau khi phát hiện ra

lỗi thì cả hai phía thu và phát sẽ thực thi theo một qui luật thực hiện việc truyền

lại đảm bảo thông tin được thu một cách tin cậy. Để thực hiện điều này, thiết bị

điều khiển tại đích phải thông báo với máy phát khi phát hiện một lỗi truyền và

yêu cầu máy phát gởi lại một bản copy khác của khung bị lỗi. Chu kỳ phối hợp

phát hiện và sửa lỗi được gọi là kiểm soát lỗi.

 

pdf 19 trang kimcuc 3440
Bạn đang xem tài liệu "Giáo trình Thông tin dữ liệu và mạng máy tính - Chương 3: Cơ sở giao thức", để 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: Giáo trình Thông tin dữ liệu và mạng máy tính - Chương 3: Cơ sở giao thức

Giáo trình Thông tin dữ liệu và mạng máy tính - Chương 3: Cơ sở giao thức
Bài giảng thơng tin dữ liệu và mạng máy tính Chương 3: Cơ sở giao thức 
ĐH Kỹ thuật Công nghệ Trang 60 
Chương 3: CƠ SỞ GIAO THỨC (PROTOCOL BASICS) 
3.1. Tổng quan: 
Ở nội dung các chương trước đã đề cập đến các vấn đđề truyền khung thông tin từ phía 
phát đến phía thu và các kỹ thuật để phía thu xác định xem có lỗi xảy ra trong quá 
trình truyền dữ liệu hay không. 
Nội dung chương này sẽ đề cập đến những nghi thức cơ sở làm nền tảng truyền dữ 
liệu, và một phần giao thức điều khiển tuyến dữ liệu (data link control protocol) 
Truyền dữ liệu được phân thành 2 kiểu: truyền thông không định hướng và truyền 
thông có định hướng. 
• Truyền thông không định hướng (connectionless mode transmission hay còn 
gọi là best - try transmission). Với kiểu truyền này, nếu trong quá trình thu dữ 
liệu mà phát hiện ra lỗi thì nội dung của cả khối dữ liệu sẽ bị bỏ qua. 
• Truyền thông định hướng: còn gọi là truyền thông tin cậy (connection – 
oriented hay reliable transmission). Với kiểu truyền này, sau khi phát hiện ra 
lỗi thì cả hai phía thu và phát sẽ thực thi theo một qui luật thực hiện việc truyền 
lại đảm bảo thông tin được thu một cách tin cậy. Để thực hiện điều này, thiết bị 
điều khiển tại đích phải thông báo với máy phát khi phát hiện một lỗi truyền và 
yêu cầu máy phát gởi lại một bản copy khác của khung bị lỗi. Chu kỳ phối hợp 
phát hiện và sửa lỗi được gọi là kiểm soát lỗi. 
3.2. Kiểm soát lỗi: 
• Kiểm soát lỗi bằng tay: 
Khi nhập dữ liệu vào máy tính từ bàn phím, nếu ký tự hiện lên màn hình khác với ký 
tự đã ngõ. Khi đó, người dùng chỉ cần gõ vào một ký tự điều khiển xoá thích hợp thì 
chương trình điều khiển sẽ loại bỏ ký tự nhập vào và xoá khỏi màn hình. Chế độ kiểm 
soát lỗi này được gọi là kiểm soát lỗi bằng tay. 
• Kiểm tra dội lại ( echo checking): 
Khi một thiết bị đầu cuối kết nối đến máy tính ở xa thông qua mạng PSTN và một 
modem. Thay vì, mỗi ký tự được hiển thị một cách trực tiếp lên màn hình của thiết bị 
đầu cuối, trước tiên nó lại truyền đến máy tính đầu xa. Sau đó ký tự lại được máy tính 
đầu xa đọc, lưu giữ và truyền trở lại đầu cuối để hiển thị ra màn hình. Nếu ký tự hiện 
lên màn hình khác khác với ký tự đã gõ thì người dùng khởi động truyền một ký tự 
xóa thích hợp. Chế độ kiểm soát lỗi này được gọi là kiểm tra dội lại. 
• Kiểm soát lỗi tự động 
Đối với việc truyền dữ liệu, khi một thiết bị đầu cuối truyền các khối ký tự hay các 
khung dữ liệu qua một liên kết số liệu nối tiếp đến một thiết bị đầu cuối khác. Nếu 
thiết bị đầu cuối đích thực hiện việc kiểm soát lỗi một cách tự động mà không có sự 
can thiệp của người dùng thì được gọi là ARQ (Automatic Repeat Request). 
Bài giảng thơng tin dữ liệu và mạng máy tính Chương 3: Cơ sở giao thức 
ARQ được phân làm 2 loại chính như sau: 
Hình 3.1: phân loại các kiểu RQ 
+ Primary – P (phía sơ cấp): là phía phát các khung dữ liệu. 
+ Secondary – S (phía thứ cấp): phía thu nhận các khung dữ liệu từ P. 
+ I – frame (Information frame): khung thông tin là các khung chứa dữ liệu phía phát 
truyền cho phía thu. Trong mỗi khung thông tin chứa số thứ tự của khung thông tin đó 
– I(N). 
+ ACK – frame (Acknowledge frame): là những khung được S truyền đến P để báo là 
đã nhận được dữ liệu tốt (không bị lỗi) 
+ NAK – frame (Negative Acknowledge frame): là những khung được S truyền đến P 
để báo là nhận được khung dữ liệu bị lỗi 
Hình 3.2: chiều truyền tin của P và S 
3.3. Idle RQ: 
3.3.1 Đặc điểm: 
- Sử dụng trong kiểu truyền dữ liệu định hướng ký tự 
- Hoạt động theo chế độ bán song công, vì sau khi P gởi một I – frame, nó phải đợi 
 cho đến khi nhận một thông báo từ phía S cho biết I - frame đó nhận được thành 
 công hay không. Sau đó, P gởi I - frame kế tiếp nếu khung trước đó được nhận 
 đúng hoặc truyền lại khung cũ nếu I - frame không được nhận thành công. 
 Có 2 loại Idle RQ: 
+ Truyền lại ngầm định (không tường minh – Implicit retransmission): S báoACK - 
frame nếu nhận được I - frame đúng và sẽ không báo ACK - frame nếu nhận sai. 
Do đó, nếu P không nhận được ACK - frame thì hiểu là I - frame đã bị lỗi và phải 
ĐH Kỹ thuật Công nghệ Trang 61 
Bài giảng thơng tin dữ liệu và mạng máy tính Chương 3: Cơ sở giao thức 
truyền lại. Thời gian chờ ACK - frame của P được xác định trước và không được 
lâu hơn thời gian quá hạn (time expires) 
+ Truyền lại tường minh (yêu cầu rõ – Implicit retransmission) : S báoACK - frame 
nếu nhận I - frame đúng và báo NAK nếu nhận I - frame bị lỗi. 
3.3.2 Idle ngầm định: 
a./ 
b./ 
c./ 
 Hình 3.3: Idle RQ không tường minh 
 a./ Truyền đúng 
ĐH Kỹ thuật Công nghệ Trang 62 
Bài giảng thơng tin dữ liệu và mạng máy tính Chương 3: Cơ sở giao thức 
 b./ I – frame bị lỗi 
 c./ ACK – frame bị lỗi 
- P chỉ có một I - frame đang chờ ACK - frame tại một thời điểm. 
- Khi nhận một I - frame không bị lỗi. S truyền về P một ACK - frame. Khi P nhận 
được ACK - frame của khung I(N), P sẽ tiếp tục truyền đi khung kế tiếp I(N+1). 
- Khi S nhận được một I – frame bị lỗi, S sẽ bỏ qua và không gởi lạiACK - frame. 
- Khi P bắt đầu truyền I- frame, nó sẽ khởi động bộ định thời, nếu quá khoảng thời 
gian giới hạn thì P sẽ truyền lại I – frame đó. 
- Nếu P không nhận được một ACK - frame trong khoảng thời gian định trước thì P 
sẽ truyền lại I – frame đó nhưng S sẽ loại bỏ bảng sao này do bị trùng lặp. Điều này 
thực hiện được là do trong mỗi I – frame P đều truyền kèm theo chỉ số tuần tự của 
khung. 
3.3.3 Idle tường minh: 
- S sẽ trả về ACK – frame nếu nhận I – frame đúng. 
- Nếu P nhận được ACK – frame thì P sẽ dừng bộ định thời và khởi động lại đường 
truyền để truyền I – frame khác. 
- Nếu S nhận được một I – frame bị lỗi thì I – frame đó sẽ bị loại và S sẽ trả lời 
bằng một NAK – frame. 
- Nếu P không nhận được một ACK - frame (hoặc NAK - frame) trong khoảng thời 
gian định trước thì P sẽ truyền lại I – frame đó nhưng S sẽ loại bỏ bảng sao này do bị 
trùng lặp. 
a./ 
ĐH Kỹ thuật Công nghệ Trang 63 
Bài giảng thơng tin dữ liệu và mạng máy tính Chương 3: Cơ sở giao thức 
b./ 
c./ 
 Hình 3.4: Idle RQ tường minh 
 a./ Truyền đúng 
 b./ I – frame bị lỗi 
 c./ ACK – frame bị lỗi 
Nhận xét: Với kiểu truyền tường minh thì tăng hiệu quả về thời gian hơn so với kỹ 
thuật truyền không tường minh vì thời gian S truyền NAK – frame về P ngắn hơn 
nhiều so với thời gian quá hạn trong kiểu truyền không tường minh. 
Đặc điểm chung của Idle RQ là sau khi P gởi một I – frame, P phải chờ cho đến khi 
nhận được ACK – frame tương ứng từ S. Do đó, kiểu truyền này còn được gọi là dừng 
và chờ (stop and wait). 
3.3.4 Cấu trúc khung của Idle RQ: 
 Trong cả hai nguyên lý truyền trên (truyền lại ngầm định và yêu cầu rõ) đều có 
trường hợp S nhận được I – frame và bản sao đều tốt và S phải loại bỏ bớt một. Như 
vậy, để S có thể phân biệt hai I – frame nhận được là khác nhau thì cần có cơ chế 
đánh số. Chỉ số tuần tự trong mỗi I – frame được gọi là chỉ số tuần tự gởi N(S) (send 
sequence number) và chỉ số tuần tự trong mỗi ACK – frame hay NAK – frame được 
gọi là chỉ số tuần tự nhận N(R) (receive sequence number). Tương tự như cấu trúc 
khung truyền bất đồng bộ, các ký tự điều khiển vẫn được sử dụng là: SOH, STX, ETX. 
ĐH Kỹ thuật Công nghệ Trang 64 
Bài giảng thơng tin dữ liệu và mạng máy tính Chương 3: Cơ sở giao thức 
Mỗi I – frame phải chứa một chỉ số tuần tự tại sau SOH. Ký tự SOH được chèn vào 
đầu một khối hoàn chỉnh để báo hiệu bắt đầu một I – frame mới. Tiếp theo là cấu trúc 
thông thường như truyền bất đồng bộ với BCC dùng kiểm tra tổng khối để phía thu 
biết là nhận được khung đúng hay bị lỗi. 
 Các khung ACK và NAK được dùng cho mục đích báo nhận, theo sau là chỉ số 
tuần tự thu. Các khung này cũng dùng phương pháp kiểm tra tổng khối BCC. Cả 3 loại 
khung: I – frame, ACK – frame, NAK – frame đều được gọi là đơn vị dữ liệu giao 
thức PDU (protocol data unit) của giao thức Idle RQ. 
Hình 3.5: Các cấu trúc khung của Idle RQ 
3.3.5 Hiệu suất sử dụng liên kết: 
ĐH Kỹ thuật Công nghệ Trang 65 
Bài giảng thơng tin dữ liệu và mạng máy tính Chương 3: Cơ sở giao thức 
Hình 3.6: Các khoảng thời gian xử lý trong việc truyền dẫn 
 Xét một khung thứ N được truyền từ P đến S và không bị lỗi. S sau khi xử lý và 
truyền ACK – frame về P. Các khoảng thời gian cần quan tâm như sau: 
 + Tp (Propagation delay): thời gian sóng điện từ lan truyền từ P Ỉ S hoặc ngược lại 
 + Tix(Transmission time): thời gian để truyền một khung từ P Ỉ S. 
 + Tip: thời gian để xử lý khung tại S 
 + Tax: thời gian truyền ACK – frame từ SỈ P 
 + Tap: thời gian xử lý ACK – frame tại P 
a./ Trường hợp truyền dẫn là lý tưởng (tức không có lỗi xảy ra): 
 Gọi Tt là thời gian tổng để hoàn thành việc truyền một I – frame và xử lý xong 
ACK – frame. Khi đó: 
2.t ix p ap ipT T T T T T= + + + + ax
p
 Thông thường, Tap, Tip và Tax rất nhỏ so với Tp và Tix. Do đó: 2.t ixT T T= +
Lưu ý: Tix là thời gian truyền khung dữ liệu, phụ thuộc vào tốc độ truyền (bps) 
Tp là thời gian trễ do sóng điện từ lan truyền từ PỈS hoặc ngược lại, phụ 
thuộc vào tốc độ lan truyền sóng (m/s) và khoảng cách (m) giữa P và S. 
Khi đó, hiệu suất sử dụng đường truyền được định nghĩa là: 
2. (1 2. )
= = =+ +
ix ix ix
pt ix p
ix
ix
T T TU TT T T T
T
Đặt: 1
1 2.
p
ix
T
a U
T a
= ⇒ = + 
ĐH Kỹ thuật Công nghệ Trang 66 
Bài giảng thơng tin dữ liệu và mạng máy tính Chương 3: Cơ sở giao thức 
Nhận xét: 
- Với tuyến thông tin có tốc độ truyền tin thấp thì Tix rất lớn Ỉ a rất nhỏ Ỉ hiệu 
suất liên kết cao (≈ 100%). 
- Ngược lại, với tuyến thông tin có tốc độ truyền tin cao và khoảng cách xa thì Tix rất 
nhỏ, Tp rất lớn Ỉ a rất lớn Ỉ hiệu suất liên kết thấp. 
Vì vậy, giao thức Idle RQ phù hợp trong trường hợp tuyến liên kết có khoảng cách 
ngắn và tốc độ truyền thấp. 
b./ Trường hợp truyền dẫn là không lý tưởng (tức là có lỗi xảy ra), thì các khung bị lỗi 
phải thực hiện việc truyền lại. Giả sử, mỗi khung được truyền lại trung bình là Nr lần. Khi 
đó: ( 2. ). 2. .t ix p r r ix pT T T N N T T N= + = + r
 Hiệu suất sử dụng liên kết: 
 1 1
. 2. . .(1 2..(1 2. )
= = = =+ ++
ix ix
pt r ix r p r
r
ix
T TU TT N T N T N aN
T
)
Giá trị Nr có thể được tính từ tỉ lệ bit lỗi P của đường truyền. Gọi P là xác suất 1 bit bị 
lỗi. Khi đó, xác suất 1 bit đúng là 1 – P Ỉ Xác suất một khung đúng là (1 – P)Ni, với 
Ni là chiều dài khung. 
Nếu gọi Pf là xác suất một khung thu được bị lỗi thì: Pf = 1 - (1 – P)Ni ≈ Ni.P (nếu 
Ni.P<< 1) 
⇒ Xác suất một khung đúng là:1 – Pf = (1 – P)Ni. Do vậy: 11r fN P= − 
Hiệu suất liên kết: 
1
1 2.
fPU
a
−= + 
Bài tập 
1./ Một khung data dài 1000 bit được truyền qua một tuyến dữ liệu, kiểm soát lỗi 
 theo giao thức stop & wait. Biết rằng vận tốc truyền là 3 x108 m/s. Xác định hiệu 
 suất liên kết trong các trường hợp sau: 
a. Kênh truyền có chiều dài 10Km, tốc độ lỗi bit BER = 10-4 (xác suất một bit lỗi), 
tốc độ truyền dữ liệu là 9600bps. 
b. Kênh truyền vệ tinh có chiều dài 36000km, tốc độ lỗi bit BER = 10-6, tốc độ truyền 
dữ liệu là 10Mbps. 
2./ Máy phát truyền liên tục 6 khung data đến máy thu sử dụng giao thức Stop & Wait, 
 tường minh. Biết rằng khung dữ liệu thứ 2, 3 và ACK của khung thứ 4 bị lỗi. Giả sử 
 thời gian Timeout gấp 2 lần thời gian truyền hịan chỉnh một khung. 
a. Hãy vẽ tiến trình truyền dữ liệu. Giải thích? 
b. Nếu là truyền không tường minh, hãy thực hiện lại yêu cầu câu a. 
c. So sánh hiệu quả của 2 trường hợp trên (truyền tường minh và tường minh). 
ĐH Kỹ thuật Công nghệ Trang 67 
Bài giảng thơng tin dữ liệu và mạng máy tính Chương 3: Cơ sở giao thức 
ĐH Kỹ thuật Công nghệ Trang 68 
3./ Một khung data dài 1000 bit được truyền đi sử dụng giao thức stop & wait. Biết rằng 
vận tốc truyền là 2 x108 m/s với đường truyền là cáp xoắn cĩ chiều dài 5Km, tốc độ lỗi bit 
BER = 10-4, tốc độ truyền dữ liệu là 20Kbps và thời gian cần thiết để xử lý ACK là 0.5ms. 
a. Hỏi thời gian timeout bằng 50.2ms hay 55ms là hợp lý? 
b. Tính hiệu suất sử dụng liên kết 
3.4. Continuous RQ (RQ liên tục) : 
3.4.1 Đặc điểm : 
- P truyền các I- frame tới S một cách liên tục mà không dừng lại để chờ ACK – 
frame truyền về từ S. 
- Vì có nhiều hơn một I – frame đang chờ xác nhận ACK nên P giữ lại một bản sao 
của mỗi I- frame trong danh sách truyền lại (hoạt động theo nguyên tắc FIFO) cho 
tới khi P nhận được ACK – frame tương ứng của khung đó truyền về từ S. Lúc đó, 
P sẽ loại bỏ I – frame tương ứng ra khỏi danh sách. 
- S trả về ACK – frame cho mỗi I – frame nhận đúng. 
- S thu giữ một danh sách thu, chứa đựng định danh của I – frame cuối cùng nhận 
đúng. 
Trong trường hợp có lỗi xảy ra trong quá trình truyền dẫn, có 2 cách truyền lại được áp 
dụng như sau: 
 + S phát hiện và yêu cầu P truyền lại chỉ những khung bị lỗi. Kiểu truyền này được 
gọi là truyền lại có lựa chọn (Selective – Repeat) 
 + S phát hiện và yêu cầu P truyền lại những khung chưa được trả lời ACK, nghĩa là 
tất cả các khung kể từ khung cuối cùng nhận đúng. Kiểu truyền này được gọi là truyền 
lặp lại N (Go – back - N) 
Bài giảng thơng tin dữ liệu và mạng máy tính Chương 3: Cơ sở giao thức 
Hình 3.7: Tuần tự khung của Continuous RQ 
3.4.2 Truyền lại có lựa chọn: 
Giống như nguyên lý kiểm soát lỗi Idle RQ, truyền lại có lựa chọn có thể được thực 
hiện theo một trong 2 cách: 
 + Truyền lại có lựa chọn không tường minh (S chỉ gởi về các ACK - frame) 
 + Truyền lại có lựa chọn tường minh (S gởi về hoặc là ACK hoặc là NAK - frame) 
a./ Truyền lại có lựa chọn không tường minh: 
¾ Nếu khung I bị lỗi: 
- Giả sử I – frame thứ N + 1 bị lỗi 
- S trả về ACK – frame cho các I – frame N, N + 2, N + 3, 
Khi P nhận được ACK(N+2), P phát hiện ACK của I – frame N + 1 chưa nhận được Ỉ 
nghĩa là bị lỗi Ỉ P vào trạng thái truyền lại. Ở trạng thái này, việc truyền lại một 
khung mới bị hoãn lại cho đến khi tất cả các khung không được báo nhận đều đã được 
truyền lại. 
- P xóa I – frame N + 2 ra khỏi bộ đệm và truyền lại I – frame N+1 trước khi truyền 
khung N + 5. 
- Khi nhận được I – frame N + 1, nội dung của các I – frame được xếp hàng trong 
danh sách liên kết nhận được S phân phối đến LS – user theo đúng tuần tự. (LS: 
link Service). 
ĐH Kỹ thuật Công nghệ Trang 69 
Bài giảng thơng tin dữ liệu và mạng máy tính Chương 3: Cơ sở giao thức 
ĐH Kỹ thuật Công nghệ Trang 70 
Hình 3.8: truyền lại có lựa chọn – không tường minh – I – frame bị lỗi 
¾ Nếu ACK – frame bị lỗi: 
Bài giảng thơng tin dữ liệu và mạng máy tính Chương 3: Cơ sở giao thức 
ĐH Kỹ thuật Công nghệ Trang 71 
Hình 3.9: truyền lại có lựa chọn – không tường minh – ACK – frame bị lỗi 
- Giả sử ACK – frame N thứ N bị lỗi 
- Khi nhận được ACK – frame thứ N + 1, P phát hiện ACK(N) chưa nhận được Ỉ 
nghĩa là I – frame thứ N bị lỗi. Do đó, P truyền lại I – frame thứ N. 
- Khi P nhận được I(N) lần thứ 2, S xác định được sự trùng lặp và do đó sẽ bỏ qua. 
Tuy nhiên, S vẫn truyền trở về ACK – frame thứ N để đảm bảo P xóa I – frame 
thứ N ra khỏi bộ đệm. 
b./ Truyền lại có lựa chọn tường minh: S báo ACK – frame cho tất cả các khung 
nhận đúng 
¾ Nếu khung I bị lỗi: 
- Giả sử I – frame thứ N + 1 bị lỗi 
- S trả về ACK về cho frame N. 
- Khi S nhận được I – frame thứ N+2, S sẽ hiểu rằng I – frame N + 1 bị lỗi Ỉ S sẽ 
gởi NAK – frame N + 1 về P (P xem như S vẫn còn đang đợi I – frame N + 1, do đó sẽ 
truyền lại khung này). Đồng thời S vào trạng thái truyền lại. Ở trạng thái này, S không 
gởi về ACK cho các khung nhận đúng. 
- Khi P nhận được NAK(N+1), P sẽ gởi lại I – frame thứ N + 1. 
- Khi S nhận được I – frame N + 1, S sẽ giải phóng trạng thái truyền lại và khi nhận 
được các khung đúng tiếp theo, S sẽ tiếp tục gởi về các ACK – frame. 
- ACK – frame thứ N + 1 sẽ báo đúng cho tất cả các khung có chỉ số tới N + 1. 
- Khi truyền về NAK(N+1) thì S sẽ khởi động timer, nếu quá một khỏang thời gian 
xác định thì S sẽ truyền lại. 
Bài giảng thơng tin dữ liệu và mạng máy tính Chương 3: Cơ sở giao thức 
ĐH Kỹ thuật Công nghệ Trang 72 
Hình 3.10: truyền lại có lựa chọn –tường minh – I – frame bị lỗi 
¾ Nếu giả sử I – frame N + 1 lại bị lỗi một lần nữa và NAK(N+1) truyền về cũng bị 
lỗi 
- S gởi NAK – frame N + 1 về P nhưng lần này nó lại bị lỗi. 
- Khi nhận được ACK – frame thứ N + 3, điều này báo nhận tốt cho tất cả các khung 
từ N + 3 trở xuống, nghĩa là bao gồm cả khung N + 1. vì vậy, I – frame thứ N + 1 
không được truyền lại Ỉ do đó, I(N+1) sẽ bị mất. 
Bài giảng thơng tin dữ liệu và mạng máy tính Chương 3: Cơ sở giao thức 
Hình 3.11: truyền lại có lựa chọn –tường minh – NAK – frame bị lỗi 
Tóm lại: 
- Mặc dù S nhận một bản sao tốt của mỗi I – frame do P gởi nhưng thứ tự nhận có 
thể không được duy trì. Ví dụ, S nhận I – frame thứ N + 2, N +3, N + 4 trước N + 1. 
Vì vậy, giao thức truyền lại có lựa chọn được dùng chủ yếu trong các trường hợp 
các I – frame đang được truyền là các thực thể độc lập, tức là thứ tự nhận không 
quan trọng hoặc được dùng khi tất cả các I – frame liên quan đến cùng một bản tin 
hay các bản tin được khôi phục lại hình dáng ban đầu bởi phía thu. 
- Trong nhiều ứng dụng, I – frame phải được phân phối theo tuần tự giống như khi 
được tạo ra. Do đó, I - frame nào được nhận không theo đúng tuần tự phải được giữ 
bởi S cho đến khi nhận được các I – frame bị mất. Thông thường, các khung này có 
kích thước lớn và số lương I – frame cần lưu giữ cũng có thể lớn Ỉ đòi hỏi hệ 
thống phần cứng phải có dung lượng lưu trữ lớn đến mức không thể chấp nhận 
được. Vì vậy, hầu hết các ứng dụng và trong hầu hết các mạng đều sử dụng giao 
thức truyền lại một nhóm (Go – Back - N). 
3.4.3 Truyền lại một nhóm (Go – Back - N): 
- Với kiểu truyền này, khi S phát hiện một I – frame được nhận không đúng tuần tự 
(tức là bị lỗi), nó sẽ báo cho P biết để thực hiện việc truyền lại từ một khung xác 
định. 
ĐH Kỹ thuật Công nghệ Trang 73 
Bài giảng thơng tin dữ liệu và mạng máy tính Chương 3: Cơ sở giao thức 
¾ Trường hợp khung I bị lỗi: Nếu trong quá trình truyền giả sử I – frame thứ N + 1 bị 
lỗi. Khi đó: 
- S nhận I – frame N + 2 không đúng tuần tự. 
- Khi S nhận I – frame N + 2, S gởi NAK – frame N + 1 để báo cho P quay trở lại và 
bắt đầu truyền lại I – frame N + 1. 
- Khi nhận được NAK - frame N + 1, P vào trạng thái truyền lại 
- Khi ở trong trạng thái này, P tạm thời dừng truyền I – frame mới và bắt đầu truyền 
lại các I – frame đang đợi báo nhận trong danh sách truyền lại 
- S lọai bỏ các I – frame cho đến khi nhận được I – frame N + 1 
- Khi nhận được I – frame N + 1, S trở lại trạng thái sẵn sàng nhận I – frame mới và 
gởi báo nhận cho P. 
- Khi gởi NAK - frame N + 1, S bắt đầu khởi động bộ định thời để chờ nhận I – 
frame N + 1, nếu quá một khỏang thời gian xác định thì S truyền lại NAK - frame 
N + 1 (đề phòng NAK - frame N + 1 bị lỗi) 
Hình 3.12: Go - back – N: I – frame bị lỗi 
¾ Trường hợp ACK – frame bị lỗi: 
- S nhận tất cả các I – frame đều đúng 
- Giả sử ACK(N) và ACK(N+1) đều bị lỗi 
ĐH Kỹ thuật Công nghệ Trang 74 
Bài giảng thơng tin dữ liệu và mạng máy tính Chương 3: Cơ sở giao thức 
- Khi nhận được ACK(N+2), P phát hiện rằng ACK(N) và ACK(N+1) chưa nhận 
được 
- Tuy nhiên, do nhận ACK(N+2) chứ không phải nhận NAK(N+2) nên P hiểu rằng 
cả ACK(N) và ACK(N+1) đều bị lỗi. Do đó, ACK(N+2) xác nhận đúng cho I – 
frame N và N + 1. 
Hình 3.13: Go - back – N: ACK – frame bị lỗi 
o Với kiểu truyền này có ưu điểm là: các I – frame nhận đúng thứ tự nên phía 
thu không phải tốn nhiều bộ nhớ để lưu giữ các I – frame. 
o Tuy nhiên, kiểu truyền này cũng có nhược điểm là hiệu suất thấp vì có 
những trường hợp P phải truyền lại cả những I – frame đã được truyền 
đúng. 
3.5. Điều khiển luồng (follow control): 
Điều khiển luồng là một thành phần trong giao thức liên kết dữ liệu (data link 
protocol). Nhiệm vụ của điều khiển luồng là điều khiển tốc độ truyền các ký tự hay 
các khung trên tuyến dữ liệu, đảm bảo phía thu còn đủ dung lượng bộ đệm để nhận dữ 
liệu truyền tới để xử lý. Trong điều khiển luồng, có 2 giải thuật điều khiển thông dụng 
là: X – ON/ X – OFF và Sliding Window (cửa sổ trượt) 
3.5.1 Kiểu điều khiển X – ON/ X – OFF: 
- Trong kiểu điều khiển này sử dụng 2 ký tự điều khiển đặc biệt là X – ON và X – 
OFF để điều khiển việc ngừng hay tiếp tục truyền ký tự mới. 
ĐH Kỹ thuật Công nghệ Trang 75 
Bài giảng thơng tin dữ liệu và mạng máy tính Chương 3: Cơ sở giao thức 
- Khi xảy ra hiện tượng quá tải, máy tính gởi ký tự X – OFF đến thiết bị điều khiển 
bên trong thiết bị đầu cuối chỉ thị dừng việc truyền ký tự mới. Thiết bị đầu cuối khi 
nhận được ký tự X – OFF thì sẽ bỏ qua tất cả các ký tự được nhập vào từ bàn phím 
hoặc chuyển chúng vào bộ đệm và chờ đến khi tình trạng quá tải kết thúc. 
- Khi hiện tượng quá tải đã kết thúc, máy tính sẽ truyền ký tự X – ON đến thiết bị 
điều khiển tiếp tục truyền các ký tự tiếp theo. 
3.5.2 Phương pháp cửa sổ trượt (Sliding window): 
- Trong kiểu truyền continuous RQ, P truyền liên tiếp các khung thông tin mà không 
dừng lại chờ nhận ACK giống như Idle RQ. 
- Nếu tốc độ xử lý tại S chậm, S sẽ chậm hoặc ngừng truyền về các ACK – frame Ỉ 
danh sách chờ truyền lại tại P tăng liên tục Ỉ đến lúc nào đó thì có thể tăng đến 
giới hạn, được xem là dấu hiệu để P ngừng gửi I –frame cho đến khi các báo nhận 
khởi động luồng trở lại. 
- Phương pháp cửa số trượt được thực hiện bằng cách thiết lập một giới hạn tối đa 
cửa sổ I – frame chờ truyền lại tại P. Giới hạn này được xem là cửa sổ truyền của 
tuyến dữ liệu, thường được ký hiệu là K 
- Giới hạn K được chọn lựa phụ thuộc vào: kích thứơc của khung, dung lượng bộ nhớ 
đệm, thời gian trễ do lan truyền sóng, tốc độ phát (bps). 
ĐH Kỹ thuật Công nghệ Trang 76 
Bài giảng thơng tin dữ liệu và mạng máy tính Chương 3: Cơ sở giao thức 
- Ở phía phát dùng 2 biến số LWE (Low Window Edge – biên dưới của cửa sổ) và 
UWE (Upper Window Edge – biên trên của cửa sổ) để thiết lập nên liên kết cửa 
sổ. Cửa sổ sẽ thay đổi theo nguyên tắc như sau: 
+ Khi P truyền đi một I – frame thì UWE sẽ tăng lên một đơn vị 
+ Khi P nhận về một lời hồi đáp ACK xác nhận I – frame đã nhận đúng thì LWE 
sẽ tăng lên một đơn vị. Hiệu số giữa UWE và LWE được gọi là độ rộng của 
cửa sổ. 
+ Máy phát sử dụng độ rộng của cửa sổ để dự đóan khả năng tiếp nhận các 
khung tin ở phía máy thu. Nếu cửa sổ hẹp thì máy phát hiểu máy thu có thể đáp 
ứng kịp với tốc độ truyền. Nếu cửa sổ rộng thì máy phát hiểu máy thu có tốc độ 
tiếp nhận các khung tin chậm. Khi độ rộng của cửa sổ trượt đạt tới giá trị K thì 
máy phát hiểu máy thu không còn khả năng tiếp nhận các khung tin Ỉ máy 
phát ngừng phát. Trong thời gian này, máy thu có đủ thời gian để giải quyết các 
khung tin đã nhận và gửi các khung ACK xác nhận về phía máy phát. Khi máy 
phát nhận các khung ACK thì LWE sẽ tăng Ỉ độ rộng của cửa sổ < K Ỉ máy 
phát có thể tiếp tục phát lại các khung tin. 
3.5.3 Hiệu suất sử dụng liên kết: 
- Một liên kết có kích thước cửa sổ K. Khi đó, nếu trong quá trình truyền không xảy 
ra lỗi thì hiệu suất liên kết là: 
≥⎧⎪⎨⎪⎩
1 nếu 1+
U = 1 nếu < 1+ 2.a
1+ 2.a
K
K
2.a
- Nếu có lỗi xảy ra trong quá trình truyền dẫn: 
Gọi Pf là xác suất một khung thu được bị lỗi. Khi đó số lần truyền lại trung bình của 
mỗi khung là: 
r
f
1N =
1- P
 + Với kiểu truyền lại có lựa chọn thì: 
⎧ ≥⎪⎪⎨⎪⎪⎩
r
r
1 nếu 1+ 2.a
N
U =
1 nếu < 1+ 2.a
(1+ 2.a).N
K
K
+ Với kiểu truyền Go – back – N, hiệu suất liên kết sẽ giảm vì khi có một khung bị 
lỗi thì sẽ có những khung không bị lỗi phải truyền lại. 
⎧ ≥⎪⎪⎨⎪⎪⎩
f
f
f
f
1- P nếu 1+ 2.a
1+ P (K -1)
U =
K.(1- P ) nếu < 1+ 2.a
(1+ 2.a)[1+ P (K -1)]
K
K
Bài tập 
ĐH Kỹ thuật Công nghệ Trang 77 
Bài giảng thơng tin dữ liệu và mạng máy tính Chương 3: Cơ sở giao thức 
ĐH Kỹ thuật Công nghệ Trang 78 
1./ Một chuỗi khung dữ liệu liên tiếp với chiều dài trung bình là 1000 bit truyền qua 
kênh truyền có chiều dài 100km, tốc độ truyền dữ liệu là 20Mbps. Cho vận tốc 
truyền sóng là 2.108 m/s, tốc độ lỗi bit là 10-4. Hãy xác định hiệu suất trong các 
trường hợp sau: 
a. Idle RQ 
b. Selective repeat với k = 10 
c. Go – back – N với k =10 
2./ Vẽ sơ đồ truyền data dùng giao thức Continuous RQ Selective Repeat, tường 
minh, với các yêu cầu sau: khung dữ liệu thứ N+1 bị lỗi, NAK(N+1) trả về cũng bị 
lỗi. Giải thích. 
3./ Máy phát cần truyền 6 khung data đến máy thu, số thứ tự bắt đầu từ 0, sử dụng 
nghi thức điều khiển lỗi là hỏi đáp liên tục, Go – Back – N, tường minh. Điều 
khiển luồng sử dụng cửa sổ trượt với kích thước K= 4. Hãy vẽ sơ đồ truyền data 
khi khung dữ liệu thứ 1 và ACK của khung thứ 3 bị lỗi. 
4./ Một kênh thơng tin cĩ chiều dài 4500 Km, tốc độ truyền data 1.5Mbps, sử dụng 
khung dữ liệu cĩ chiều dài 1200 bits được truyền đi theo giao thức Continuous 
RQ Selective Repeat. Cho biết vận tốc truyền sĩng là 3x108m/s, kích thước cửa sổ 
K=15, xác suất lỗi bit BER là 10-4. 
a. Tính hiệu suất sử dụng liên kết. 
b. Tính thời gian mà timer cần phải đếm khi truyền một khung dữ liệu 
5./ Máy phát cần truyền 6 khung data đến máy thu, số thứ tự bắt đầu từ 0, sử dụng 
nghi thức điều khiển lỗi là hỏi đáp liên tục, Go – Back – N, tường minh. Điều 
khiển luồng sử dụng cửa sổ trượt với kích thước K= 4. Hãy vẽ sơ đồ truyền data 
khi khung dữ liệu thứ 1, 3 và ACK của khung thứ 3, 5 bị lỗi. 

File đính kèm:

  • pdfgiao_trinh_thong_tin_du_lieu_va_mang_may_tinh_chuong_3_co_so.pdf