Tải bản đầy đủ (.doc) (24 trang)

Tìm hiểu giao thức Selective Repeat và mô phỏng trên Matlab

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 (643.76 KB, 24 trang )


Mục Lục
CHƯƠNG 1 Giới thiệu chung về Automatic repeat request..........................................3
1.1Khái niệm.............................................................................................................3
1.2Nguyên tắc làm việc.............................................................................................3
1.3Các loại giao thức ARQ........................................................................................3
CHƯƠNG 2 Giao thức Selective Repeat.......................................................................5
2.1Khái nhiệm...........................................................................................................5
2.2Định nghĩa............................................................................................................6
2.3Nguyên tắc làm việc.............................................................................................7
2.4Nguyên tắc hoạt động...........................................................................................7
2.5Tính năng và cơ chế hoạt động.............................................................................8
2.6Sơ đồ thuật tốn cơ chế.......................................................................................12
2.7Một số chú ý.......................................................................................................16
2.8Hiệu quả.............................................................................................................16
2.9So sánh với Giao thức Go-Back-N.....................................................................17
CHƯƠNG 3 Mơ phỏng chương trình Giao thức Selective Repeat trên matlap............20
3.1Mơ phỏng chương trình......................................................................................20
3.2Đầu ra của chương trình.....................................................................................21

2


Mục lục hình ảnh

CHƯƠNG 1 GIỚI THIỆU CHUNG VỀ AUTOMATIC REPEAT
REQUEST
1.1 Khái niệm
Automatic repeat request(Yêu cầu lặp lại tự động) là một nhóm các giao thức
kiểm sốt lỗi để truyền dữ liệu qua mạng truyền thông nhiễu hoặc không đáng tin
cậy. Các giao thức này nằm trong Lớp liên kết dữ liệu và trong Lớp truyền tải của mơ


hình tham chiếu OSI (Open Systems Interconnection). Chúng được đặt tên như vậy vì
chúng cung cấp khả năng truyền lại tự động các khung bị hỏng hoặc bị mất trong quá
trình truyền. ARQ cịn được gọi là Xác nhận Tích cực với Truyền lại (PAR).
ARQ được sử dụng để cung cấp các đường truyền đáng tin cậy qua các dịch vụ
lớp trên không đáng tin cậy. Chúng thường được sử dụng trong giao tiếp Hệ thống
Toàn cầu cho Di động (GSM).
1.2 Nguyên tắc làm việc
Trong các giao thức này, người nhận sẽ gửi lại một thông báo xác nhận cho người
gửi nếu nó nhận được một khung chính xác. Nếu người gửi không nhận được thông
báo của một khung được truyền trước một khoảng thời gian xác định, tức là thời gian
chờ xảy ra, thì người gửi hiểu rằng khung đã bị hỏng hoặc bị mất trong quá trình
truyền. Vì vậy, người gửi truyền lại khung. Quá trình này được lặp lại cho đến khi
khung chính xác được truyền đi.
1.3 Các loại giao thức ARQ
Có ba giao thức ARQ trong lớp liên kết dữ liệu:
3


hình 1-3 1 Phân loại giao thức ARQ
Stop–and–Wait ARQ (Dừng và chờ) cung cấp truyền dữ liệu một chiều với cơ
chế kiểm sốt luồng và kiểm sốt lỗi, thích hợp cho các kênh nhiễu. Người gửi giữ một
bản sao của khung đã gửi. Sau đó, nó sẽ đợi một khoảng thời gian hữu hạn để nhận
được một thông báo xác nhận tích cực từ người nhận. Nếu bộ hẹn giờ hết hạn, khung
sẽ được truyền lại. Nếu nhận được xác nhận tích cực thì khung tiếp theo sẽ được gửi.
Go–Back–N ARQ (quay lại)cung cấp cho việc gửi nhiều khung hình trước khi
nhận được xác nhận cho khung hình đầu tiên. Nó sử dụng khái niệm cửa sổ trượt, và vì
vậy còn được gọi là giao thức cửa sổ trượt. Các khung hình được đánh số tuần tự và
một số lượng khung hình hữu hạn được gửi đi. Nếu xác nhận của một khung không
được nhận trong khoảng thời gian, tất cả các khung bắt đầu từ khung đó sẽ được
truyền lại.

Selective Repeat ARQ (Lặp lại có chọn lọc ) Giao thức này cũng cung cấp việc
gửi nhiều khung trước khi nhận được xác nhận cho khung đầu tiên. Tuy nhiên, ở đây
chỉ những khung bị lỗi hoặc bị mất mới được truyền lại, còn những khung tốt được
nhận và lưu vào bộ đệm.

4


CHƯƠNG 2 GIAO THỨC SELECTIVE REPEAT
2.1 Khái nhiệm
GIAO THỨC SELECTIVE REPEAT được gọi là ARQ lặp lại có chọn lọc
(Automatic Repeat reQuest), là một giao thức lớp liên kết dữ liệu sử dụng phương
pháp cửa sổ trượt để phân phối khung dữ liệu một cách đáng tin cậy. Trong giao thức
này, chỉ các khung bị lỗi hoặc bị mất mới được truyền lại, trong khi các khung tốt được
nhận và lưu vào bộ đệm.
Giao thức Lặp lại Chọn lọc sử dụng hai cửa sổ có kích thước bằng nhau; một cửa
sổ nhận lưu trữ các khung mà người nhận đã nhận và một cửa sổ gửi lưu các khung sẽ
được gửi. Kích thước thường bằng một nửa số thứ tự tối đa của khung. Thơng thường,
số lượng khung hình tối đa có thể được gửi phụ thuộc vào kích thước của cửa sổ gửi.
Nó có thể được sử dụng như một giao thức để gửi và nhận các đơn vị thơng báo,
hoặc nó có thể được sử dụng như một giao thức để gửi các đơn vị con thông báo được
chia nhỏ.
Khi được sử dụng làm giao thức để gửi thơng điệp , q trình gửi tiếp tục gửi một
số khung được chỉ định bởi kích thước cửa sổ ngay cả sau khi mất khung. Không
giống như Go-Back-N ARQ , quá trình nhận sẽ tiếp tục chấp nhận và xác nhận các
khung được gửi sau một lỗi ban đầu; đây là trường hợp chung của giao thức cửa sổ
trượt với cả kích thước cửa sổ truyền và nhận lớn hơn 1.
Giao thức này (SRP) hầu hết giống với giao thức GBN, ngoại trừ việc bộ đệm
được sử dụng và người nhận và người gửi, mỗi người duy trì một cửa sổ có kích
thước. SRP hoạt động tốt hơn khi liên kết rất khơng đáng tin cậy. Bởi vì trong trường

hợp này, việc truyền lại có xu hướng xảy ra thường xuyên hơn, việc truyền lại các
khung có chọn lọc sẽ hiệu quả hơn việc truyền lại tất cả chúng. SRP cũng yêu cầu liên
kết song công đầy đủ. thừa nhận ngược cũng đang được tiến hành.

5


2.2 Định nghĩa
Lặp lại chọn lọc cũng là giao thức cửa sổ trượt phát hiện hoặc sửa lỗi xảy ra
trong lớp datalink. Giao thức lặp lại chọn lọc chỉ truyền lại khung đó bị hỏng hoặc
mất. Trong giao thức lặp lại có chọn lọc, khung truyền lại được nhận ngồi chuỗi. Giao
thức lặp lại chọn lọc có thể thực hiện các hành động sau
Người nhận có khả năng sắp xếp khung theo một trình tự thích hợp, vì nó nhận
được khung truyền lại có trình tự nằm ngồi trật tự của khung nhận.
Người gửi phải có khả năng tìm kiếm khung mà NAK đã được nhận.
Người nhận phải chứa bộ đệm để lưu trữ tất cả các khung đã nhận trước đó cho
đến khi khung truyền lại được sắp xếp và đặt theo một trình tự thích hợp.
Số ACK, như số NAK, đề cập đến khung bị mất hoặc bị hỏng.
Nó địi hỏi kích thước cửa sổ ít hơn so với giao thức go-back-n.
 Khung bị hư hỏng
Nếu một người nhận nhận được một khung bị hỏng, nó sẽ gửi NAK cho khung
mà trong đó phát hiện ra lỗi hoặc hư hỏng. Số NAK, như trong go-back-n cũng chỉ ra
sự thừa nhận của các khung và lỗi đã nhận trước đó trong khung hiện tại. Người nhận
tiếp tục nhận được các khung mới trong khi chờ khung bị hỏng được thay thế. Các
khung được nhận sau khung bị hỏng không được xác nhận cho đến khi khung bị hỏng
được thay thế.
 Mất khung
Như trong một giao thức lặp lại có chọn lọc, một khung có thể được nhận theo
thứ tự và hơn nữa chúng được sắp xếp để duy trì một chuỗi thích hợp của các khung.
Trong khi sắp xếp, nếu một số khung bị bỏ qua, người nhận sẽ nhận ra rằng một khung

bị mất và nó sẽ gửi NAK cho khung đó cho người gửi. Sau khi nhận được NAK cho
khung bị mất, người gửi tìm kiếm khung đó trong cửa sổ của nó và truyền lại khung
đó. Nếu khung truyền cuối cùng bị mất thì người nhận không phản hồi và sự im
lặng này là một sự thừa nhận tiêu cực cho người gửi.

6


 Mất công nhận
Nếu người gửi không nhận được bất kỳ ACK nào hoặc ACK bị mất hoặc bị hỏng
ở giữa đường truyền. Người gửi chờ thời gian hết và khi hết thời gian, người gửi sẽ gửi
lại tất cả các khung mà nó chưa nhận được ACK. Người gửi xác định mất ACK với sự
trợ giúp của bộ hẹn giờ.

2.3 Nguyên tắc làm việc
Giao thức Lặp lại có chọn lọc yêu cầu bên gửi và bên nhận có khả năng lưu trữ
dữ liệu vào bộ đệm. Bên nhận sẽ nhận cả những frame khơng đúng trình tự và lưu lại
sau đó gửi báo lỗi NAK để bên phát phát lại gói tin bị lỗi. tương ứng bên phát có khả
năng lưu trữ các gói đã gửi đi theo đúng trình tự, rồi phát lại nếu có u cầu.
Giao thức Lặp lại có chọn lọc cung cấp cho việc gửi nhiều khung tùy thuộc vào
tính khả dụng của các khung trong cửa sổ gửi, ngay cả khi nó khơng nhận được xác
nhận cho bất kỳ khung nào trong thời gian tạm thời. Số lượng khung hình tối đa có thể
được gửi phụ thuộc vào kích thước của cửa sổ gửi.
Máy thu ghi lại số thứ tự của khung sớm nhất khơng chính xác hoặc khơng nhận
được. Sau đó, nó lấp đầy cửa sổ nhận bằng các khung tiếp theo mà nó đã nhận
được. Nó gửi số thứ tự của khung bị thiếu cùng với mọi khung báo nhận.
Người gửi tiếp tục gửi các khung trong cửa sổ gửi của nó. Sau khi, nó đã gửi tất
cả các khung trong cửa sổ, nó sẽ truyền lại khung có số thứ tự được cung cấp bởi các
xác nhận. Sau đó, nó tiếp tục gửi các khung khác.
2.4 Nguyên tắc hoạt động

cơ chế phát lại có lựa chọn (selective repeat ARQ) cũng dựa trên phương pháp
cửa sổ trượt. Phía phát được phép phát tối đa W khung thơng tin (kích thước cửa sổ)
trước khi nhận được báo nhận.
Điểm khác biệt giữa selective repeat và Go-back-N nằm ở cách hai phương thức
này xử lý khung thông tin bị lỗi. Với trường hợp selective repeat, phía phát sẽ chỉ thực
hiện phát lại khung thơng tin bị lỗi mà không cần phát lại tất cả các khung khác sau

7


khung lỗi nếu như các khung đó khơng bị sai. Cơ chế này giúp tăng hiệu quả sử dụng
đường truyền so với cơ chế Go-back-N.

hình 2-4 Nguyên tắc hoạt động của selective repeat

2.5 Tính năng và cơ chế hoạt động
Tính năng:
Windows của người nhận (Ws) = Windows của người nhận (Wr).
Kích thước cửa sổ phải nhỏ hơn hoặc bằng một nửa số thứ tự trong giao thức
SR. Điều này là để tránh các gói được nhận dạng khơng chính xác. Nếu kích thước cửa
sổ lớn hơn một nửa khơng gian số thứ tự, thì nếu ACK bị mất, người gửi có thể gửi các
gói tin mới mà người nhận tin là truyền lại.
Người gửi có thể truyền các gói mới miễn là số của chúng bằng W của tất cả các
gói chưa được đóng gói.
Người gửi truyền lại các gói chưa ACK sau một thời gian chờ - Hoặc theo NAK
nếu NAK được sử dụng.
ACK người nhận tất cả các gói tin chính xác.
Người nhận lưu trữ các gói tin chính xác cho đến khi chúng có thể được phân
phối theo thứ tự lên lớp cao hơn.


8


Trong ARQ lặp lại có chọn lọc, kích thước của cửa sổ người gửi và người nhận
tối đa phải bằng một nửa là 2 ^ m.

hình 2-5 Người gửi chỉ truyền lại các khung mà NAK được nhận
Cơ chế hoạt động:


Kích thước cửa sổ người gửi ln giống với kích thước cửa sổ người
nhận.

o

Kích thước cửa sổ của người gửi bắt đầu từ 0 và tăng lên một số mức tối
đa được xác định trước.

o

Kích thước cửa sổ người gửi = Kích thước cửa sổ người nhận. Để tránh
thơng tin sai trong mọi trường hợp gói bị rơi.

o

Kích thước tất nhiên là lớn hơn 1 nếu không giao thức sẽ trở thành Dừng
và Chờ ARQ .
9



o

Nếu n bit có sẵn cho số thứ tự, thì :

o

Kích thước cửa sổ người gửi = Kích thước cửa sổ người nhận = 2 n / 2 =
2 n-1



Chỉ sử dụng các xác nhận độc lập.

o

Bộ thu nhận từng khung một cách độc lập.

o

Khi người nhận nhận được một khung mới từ người gửi, nó sẽ gửi xác
nhận của nó.



Khơng chấp nhận các khung bị hỏng nhưng khơng âm thầm loại bỏ chúng.

o

Nếu máy thu nhận được một khung bị hỏng, thì nó sẽ khơng âm thầm loại
bỏ khung đó.


o

Người nhận xử lý tình huống một cách hiệu quả bằng cách gửi một xác
nhận tiêu cực (NACK).

o

Xác nhận tiêu cực cho phép truyền lại sớm khung bị hỏng.

o

Nó cũng tránh việc chờ đợi hết thời gian chờ ở phía người gửi để truyền
lại khung hình.



Chấp nhận các khung khơng theo thứ tự.

o

Xem xét máy thu nhận được một khung có số thứ tự khơng phải là thứ mà
máy thu mong đợi.

o

Sau đó, nó khơng loại bỏ khung đó mà chấp nhận nó và giữ nó trong cửa
sổ của nó.




Giao thức yêu cầu phân loại ở phía người nhận.



Cửa sổ người nhận được thực hiện dưới dạng danh sách liên kết.



Khi người nhận nhận được một khung mới, nó sẽ đặt khung mới vào cuối
danh sách được liên kết.



Khi các khung nhận được không theo thứ tự, máy thu thực hiện việc sắp
xếp.
10




Sắp xếp sắp xếp các khung theo đúng thứ tự.



Giao thức u cầu tìm kiếm ở phía người gửi.

o

Người nhận khơng từ chối các khung ngồi đơn hàng.


o

Người nhận chấp nhận các khung không theo thứ tự và sắp xếp chúng sau.

o

Vì vậy, chỉ có khung bị thiếu phải được gửi bởi người gửi.

o

Để gửi khung bị thiếu, người gửi thực hiện tìm kiếm và tìm khung bị
thiếu.

o

Sau đó, người gửi lặp lại khung đó một cách có chọn lọc.

o

Do đó, chỉ khung đã chọn được lặp lại chứ khơng phải tồn bộ cửa sổ.

o

Đó là lý do tại sao, giao thức được đặt tên là “ Giao thức lặp lại có chọn
lọc ”.



Giao thức dẫn đến việc truyền lại các khung bị mất sau khi hết thời gian

chờ.

o

Xem xét một khung được gửi đến người nhận bị mất trên đường đi.

o

Sau đó, nó chỉ được truyền lại sau khi hết thời gian chờ cho khung đó ở
phía người gửi.

.

SENDER

RECEIVER

hình 2-5 Cơ chế hoạt động của giao thức SELECTIVE REPEAT

11


2.6 Sơ đồ thuật toán cơ chế
Để làm rõ hơn cơ chế phát lại có chọn lọc SRP ta xây dựng thuật tốn điều khiển
cho bên phát và bên nhận.

hình 2-6 sơ đồ thuật toán

Cơ chế xử lý của cả bên nhận và bên gửi đều đặt trong một vòng lặp vô hạn, đợi
một sự kiện diễn ra và sử lý yêu càu theo sự kiện đó. Với bên gửi, cần xử lý các

loại sự kiện: tới từ lớp network, lớp physical và sự kiện time-out. Cụ thể hơn ta có
các loại sự kiện: NwLayerReq, FrameArrival, Timeout. Cịn ở bên nhận chỉ có duy
nhất nguồn sự kiện tới từ lớp Physical với hai loại sự kiện: FrameArrival
và CkSumError .
 Các rẽ nhánh của của sơ đồ thuật tốn chính là các trường hợp có thể gặp của cơ chế
SRP.

12


hình 2-6 Sơ đồ thuật tốn bên phát


Ở bên phát

• Nhánh thứ nhất, khi có yêu cầu gửi từ lơp network bên phát sẽ tạo một
frame, lưu vào bộ đệm rồi gửi frame đi, đồng thời bật timer tương ứng với thứ
tự frame lên.
• Nhánh thứ hai, khi nhận được frame truyền tới từ lớp physical. Lúc này
sẽ rẽ nhánh ra hai trường hợp khác: nếu bản tin nhận được là NAK và nằm
trong cửa sổ gửi thì gửi lại frame với số thứ tự tương ứng; nếu nhận được một
frame ACK có số thứ tự cũng nằm trong cửa sổ gửi thì xóa bỏ bộ đệm của tất cả
các frame đã gửi và dịch vị trí cửa sổ.

13


• Nhánh thứ ba, khi nhận được một timeout. Bên phát sẽ gửi lại frame
trong bộ đệm với số thứ tự của time-out và khởi động lại timer cho frame đó.
Lưu ý là trường hợp này có ưu tiên xử lý thấp hơn hai trường hợp cịn lại.

• Nhánh thứ tư, khi kích thước bộ đệm vượt giới hạn, tức là chệnh lệch
cạnh trên và cạnh dưới cửa sổ lớn hơn hoặc bằng kích thước cửa sổ. Lúc này bộ
đệm đã đầy và không thể lưu thêm frame nào nữa vì thế cần báo cho lớp
network khơng tiếp tục gửi dữ liệu xuống.

14


hình 2-6 Sơ đồ thuật tốn bên nhận



Ở bên nhận
• Nhánh thứ nhất tương ứng với sự kiện có một frame được gửi tới và

không gặp lỗi. Lúc này bên nhận kiểm tra xem frame nhận được có đúng thứ tự
hay khơng.
• Nếu frame khơng đúng thứ tự tức là frame Rn trước đó đã được gửi và bị
mất gói, tiếp tục kiểm tra xem báo lỗi cho Rn đã được gửi chưa qua biến
NakSent. Nếu chưa có báo lỗi được gửi thì gửi NAK frame cho Rn. Sau đó tiếp
tục kiểm tra xem frame nhận được có nằm trong cửa sổ nhận khơng, nếu có thì
lưu vào bộ đệm, rồi trở về vịng lặp đợi sự kiện.
• Nếu frame nhận được là đúng thứ tự tức Rn = Sn của frame thì thực hiện
lưu vào bộ đệm. Bước tiếp theo sẽ kiểm tra các bit trạng thái bộ đệm. Đi từ Rn
tới vị trí cuối bộ đệm nếu lần lượt các bit đều là 1 thì sẽ đưa các dữ liệu tương
ứng từ bộ đệm lên lớp network. Vòng lặp khi gặp 1 bit 0 sẽ dừng việc kiểm tra
bộ đệm, lúc này giá trị mới cửa cạnh cửa sổ sẽ dịch lên bằng số lượng packet dữ
liệu đã được đưa tới lớp network.
15



2.7 Một số chú ý
Do phía phát chỉ thực hiện phát lại các khung bị lỗi, do đó các khung đến phía
thu có thể khơng theo thứ tự như khi được phát đi ở phía phát
Phía thu phải có khả năng xử lý các khung thông tin không theo thứ tự.
Do các khung thông tin phải được đưa lên lớp trên theo đúng thứ tự nên phía thu
phải có bộ đệm để lưu tạm các khung thông tin trong khi chờ các khung bị mất hoặc
lỗi được phát lại.
Phía phát phải thực hiện báo nhận cho tất cả các khung thơng tin mà nó nhận
đúng. Các khung thơng tin khơng được báo nhận trong khoảng thời gian time-out
tương ứng sẽ được coi là bị mất hoặc lỗi
Trong trường hợp phía thu nhận được một khung thơng tin sai, phía thu có thể
gửi NAK để báo lỗi và yêu cầu truyền lại khung đó (selective reject)

2.8 Hiệu quả
Kích thước cửa sổ người gửi W s = N
Kích thước cửa sổ bộ thu W r = N
Hiệu quả = N / (1 + 2a) Trong đó a = Trễ truyền / Trễ truyền
Bộ đệm = N + N
Số thứ tự = N (phía người gửi) + N (Phía người nhận)
chỉ khung bị hỏng hoặc bị nghi ngờ mới được truyền lại, do đó, phải áp dụng thêm
logic để phân loại, do đó, nó phức tạp hơn.

16


2.9 So sánh với Giao thức Go-Back-N
Giao thức Go-Back-N và Giao thức lặp lại chọn lọc của nhà cung cấp là các giao
thức cửa sổ trượt. Giao thức cửa sổ trượt chủ yếu là một giao thức kiểm soát lỗi, tức là
nó là một phương pháp phát hiện lỗi và sửa lỗi. Sự khác biệt cơ bản giữa giao thức goback-n và giao thức lặp lại có chọn lọc là giao thức của go-back-n trên mạng truyền tải

lại các bộ khung nằm sau khung bị hỏng hoặc bị mất. Giao thức lặp lại có chọn lọc của
người dùng khác chỉ truyền lại khung hình bị hỏng hoặc bị mất.
Rất nhiều khơng gian bị lãng phí trong giao thức Go Back N vì tỷ lệ lỗi vẫn ở
mức cao và ít hơn. Băng thơng ít hơn được tiêu thụ trong Giao thức lặp lại chọn lọc vì
tỷ lệ lỗi nhỏ giữa máy phát và máy thu.
Việc thực hiện giao thức lặp lại có chọn lọc trở nên phức tạp hơn khi các giá trị
khác nhau đi vào tranh chấp. Mặt khác, việc áp dụng giao thức Go Back N đơn giản
hơn vì khơng có hoạt động nào như vậy diễn ra.
Khơng có yêu cầu sắp xếp các s khác nhau tồn tại trong giao thức Go Back N
trong khi người nhận có thể sắp xếp tất cả các ghi chú vì nó phải duy trì quy trình mà
chúng ta tn theo, trong giao thức lặp lại có chọn lọc.
Giao thức được sử dụng nhiều nhất tồn tại trong các thiết bị vẫn là giao thức Go
Back N mặc dù nó đã cũ và mất nhiều thời gian hơn. Mặt khác, giao thức lặp lại có
chọn lọc làm cho việc triển khai phức tạp do đó chỉ phù hợp với mục đích phân tích.

17


BẢNG SO SÁNH HAI GIAO THỨC
CƠ SỞ
CỦA SỰ
KHÁC
BIỆT

GO-BACK-N

Selective Repeat protocol

Truyền lại


Giao thức Go-Back-N chỉ truyền lại
những khung bị hỏng hoặc bị lỗi.

Giao thức lặp lại có chọn lọc chỉ
truyền lại khung bị hỏng hoặc bị
hỏng.

Trong giao thức Go-back-N, cần có sự
Trong giao thức lặp lại, hoàn toàn
Cần phân phân loại các khung ở phía bên nhận
khơng cần phân loại bên gửi hoặc bên
loại
để duy trì trình tự các khung thích
nhận.
hợp.
Trong giao thức Go-Back-N, người Trong giao thức lặp lại có chọn lọc,
nhận lưu trữ các khung nhận được sau bộ thu không lưu trữ bất kỳ khung
Lưu trữ
khi gặp khung bị hỏng trong bộ đệm, nào nhận được sau khi gặp khung bị
khung hình
cho đến khi khung bị hỏng được gửi hỏng, cho đến khi khung bị hỏng
lại bởi người gửi.
được truyền lại.
Trong giao thức Go-Back-N, có tương Trong giao thức lặp lại có chọn lọc,
Lãng phí
đối ít lãng phí băng thơng hơn khi so có rất nhiều lãng phí về băng thông,
băng thông sánh với giao thức lặp lại có chọn lọc trong trường hợp có tỷ lệ lỗi cao trong
trong việc truyền lại các khung.
q trình truyền.
Kích thước

cửa sổ
trượt
Loại xác
nhận

Giao thức Go-Back-N có một cửa sổ
trượt có kích thước nhỏ hơn hoặc
bằng (N + 1) / 2.
Trong giao thức Go-Back-N, kiểu xác
nhận là tích lũy.

Sự phức
tạp

Giao thức Go-Back-N phức tạp hơn
một chút vì nó bao gồm lơgic, chiến Giao thức lặp lại chọn lọc không phức
lược và các chức năng khác khơng có tạp theo bất kỳ cách nào.
trong tất cả các giao thức.

Giao thức lặp lại có chọn lọc có cửa
sổ trượt N-1.
Trong giao thức lặp lại có chọn lọc,
kiểu xác nhận là riêng lẻ.

18


Ưu nhược điểm của giao thức SELECTIVE REPEAT
 Ưu điểm
• Ít truyền lại hơn.

• Sử dụng băng thơng tương đối ít bị lãng phí trong việc truyền lại.
 Nhược điển

•Phức tạp hơn ở người gửi và người nhận.
•Mỗi khung phải được thừa nhận riêng lẻ (khơng có xác nhận tích lũy).
• Người nhận có thể nhận được khung ngồi trình tự.
• Việc thực hiện giao thức lặp lại có chọn lọc trở nên phức tạp hơn khi các giá
trị khác nhau đi vào tranh chấp.
• Giao thức lặp lại có chọn lọc làm cho việc triển khai phức tạp do đó chỉ phù
hợp với mục đích phân tích.

19


CHƯƠNG 3 MƠ PHỎNG CHƯƠNG TRÌNH GIAO THỨC
SELECTIVE REPEAT TRÊN MATLAP
3.1 Mơ phỏng chương trình
Viết code dưới đây để thực hiện chạy chương trình:

%while(b==1)
clc;
m=input('Enter the total no of frames:');
n=input('Enter the window size:');
t=input('Enter the length of frames:');
disp(sprintf('\n'));
while(m~=0)
if(mn=m;
end
for i=1:1:n;

d=randint(1,t);
d(t+1)=rem(sum(d),2);
a(i,1:t+1)=d;
disp(sprintf('Transmitting frame %d :',i));
disp(a(i,1:t+1));
end
p=randint(1,1,[1,n]);
q=randint(1,1,[1,t+1]);
a(p,q)=randint(1,1);
for i=1:1:n
fprintf('Received frame %d:',i);
20


disp(a(i,1:t+1));
end
f=zeros(1,n);
for i=1:1:n
f(i)=rem(sum(a(i,1:t+1)),2);
if(f(i)==1)
p=i;
end
end
if(f==0)
fprintf('ACKNOWLEDGEMENT RECEIVED\n');
else
fprintf('Frame%d is REJECTED\n',p);
disp('RETRANSMITTING....');
a(p,q)=~a(p,q);
for i=p

fprintf('Received frame %d:',i);
disp(a(i,1:t+1));
end
end
m=m-n;
end

3.2 Đầu ra của chương trình

21


Enter the total no of frames:6
Enter the window size:4
Enter the length of frames:5

Transmitting frame 1 :
1

0

0

1

1

1

Transmitting frame 2 :

1

1

0

1

1

0

Transmitting frame 3 :
0

1

0

0

1

0

Transmitting frame 4 :
1

1


0

1

0

1

Received frame 1:

1

0

0

1

1

1

Received frame 2:

1

1

0


1

1

0

Received frame 3:

0

1

0

0

1

0

Received frame 4:

1

1

0

1


0

1

ACKNOWLEDGEMENT RECEIVED
Transmitting frame 1 :
1

0

1

0

1

1

Transmitting frame 2 :
0

1

1

1

0

1

22


Received frame 1:

1

1

1

0

1

1

Received frame 2:

0

1

1

1

0

1


0

1

0

1

1

Frame1 is REJECTED
RETRANSMITTING....
Received frame 1:

1

Hình 3-2 1 Kết quả của mơ phỏng chương trình

23


24



×