Đại Hc Cn Thơ - Khoa Công Ngh Thông Tin - Giáo Trình Mng Máy Tính – V1.0
/* Kích thước ti đa ca mt gói tin */
/* Kiu lun lý */
/* S th t ca khung gi hoc khung báo nhn*/
packet; /* Định nghĩa kiu ca gói tin */
/* Các loi khung */
/* Kiu d liu ca khung: */
//Loi khung
//S th t ca khung gi đi
//S thc t ca khung mun báo nhn
//Thông tin gi nhn,
// là gói tin nhn ca tng mng
/* Ch mt s kin xut hin; tr v kiu ca s kin */
/* Np gói tin nhn được t tng mng vào khung để gi đi */
/* Chuyn mt khung xung tng vt lý để truyn đi */
/* Chuyn d liu t khung nhn được cho tng mng */
/* Nhn khung đến t tng vt lý và lưu nó vào khung r */
/* Khi động đồng h và bt s kin quá thi hn cho khung th k đang gi đi */
/* Dng đồng h và tt s kin quá thi hn cho khung th k đang gi đi */
/* Khi động đồng h ph và bt s kin quá thi hn cho khung phn hi*/
/* Dng đồng h ph và tt s kin quá thi hn cho khung phn hi*/
/* Cho phép tng mng to s kin tng mng đã sn sàng */
/* Macro để tăng giá tr K theo kiu quay vòng */
/* Cm tng mng to s kin tng mng đã sn sàng */
Biên San: Th.s Ngô Bá Hùng – Ks Phm Thế Phi - 01/2005 41
Đại Hc Cn Thơ - Khoa Công Ngh Thông Tin - Giáo Trình Mng Máy Tính – V1.0
4.3.1 Giao thc truyn đơn công không ràng buc (Unrestricted Simplex
Protocol)
Protocol 1 (utopia) được dùng cho vic truyn ti thông tin theo mt chiu t người
gi sang người nhn. Kênh truyn được gi định là không có li và bên nhn được gi
định rng có th xđược hết tt c các thông tin gi đến mt cách nhanh chóng.
Chính vì thế mà bên gi ch đơn thun thc hin mt vòng lp đưa d liu lên đường
truyn vi tc độ nhanh nht có th.
/* Vùng đệm để cha khung gi đi */
/* Vùng đệm để cha gói tin gi đi */
/* Nhn gói tin t tng mng để gi đi */
/* Đưa gói tin vào khung để gi đi */
/* Gi khung xung tng vt lý để gi lên đường truyn */
/* Ch s kin, ch xut hin khi khung đến */
/* Nhn khung t tng vt lý */
/* Ly thông tin ra khi khung và gi lên tng mng */
P4.1 Giao thc truyn đơn công không ràng buc
Biên San: Th.s Ngô Bá Hùng – Ks Phm Thế Phi - 01/2005 42
Đại Hc Cn Thơ - Khoa Công Ngh Thông Tin - Giáo Trình Mng Máy Tính – V1.0
4.3.2 Giao thc truyn đơn công dng và ch (Simplex Stop-and-wait
Protocol)
Giao thc Stop-and-wait cũng được thiết kế cho các cuc truyn ti thông tin mt chiu
t người gi sang người nhn. Kênh truyn ti thông tin mt ln na cũng được gi định
rng không có li như giao thc Unrestricted Simplex Protocol. Tuy nhiên, trong trường
hp này, bên nhn ch có mt vùng lưu tr có kh năng hn chế và mt tc độ x
gii hn, vì thế giao thc phi được thiết kế d phòng cho trường hp d liu máy gi
đến nhanh làm tràn vùng lưu tr thông tin ca bên nhn.
/* Vùng đệm để cha khung gi đi */
/* Vùng đệm để cha gói tin gi đi */
/* S kin báo hiu khung đến */
/* Nhn gói tin t tng mng để gi đi */
/* Đưa gói tin vào khung để gi đi */
/* Gi khung xung tng vt lý để gi lên đường truyn */
/* Ch s kin đến ca khung báo nhn gi v t bên gi*/
/* Ch s kin, ch xut hin khi khung đến */
/* Nhn khung t tng vt lý */
/* Ly thông tin ra khi khung và gi lên tng mng */
/* Gi khung báo nhn sang bên gi */
P4.2 Giao thc truyn đơn công truyn và ch
Biên San: Th.s Ngô Bá Hùng – Ks Phm Thế Phi - 01/2005 43
Đại Hc Cn Thơ - Khoa Công Ngh Thông Tin - Giáo Trình Mng Máy Tính – V1.0
4.3.3 Giao thc truyn đơn công cho kênh truyn có nhiu (Simplex Protocol
for Noisy Channel )
Gi s ta b đi gi thuyết kênh truyn không có li. Trong trường hp này, vi các k thut x
li (Parity check, CRC), bên nhn có th phát hin ra được các khung b li. Tuy nhiên, điu gì s
xy ra nếu khung gi đi b mt, không đến được nơi nhn. Khi đó s dn đến tình trng như sau:
Người gi không biết được khung có đến nơi nhn tt hay không.
¾ Gii pháp là yêu cu người nhn gi các khung báo nhn thông báo v tình hình
các khung b li.
Các khung báo nhn có th b mt.
¾ Gii pháp: Mi khi gi mt khung đi, Bên gi s thiết lp mt b đếm thi
gian. Nếu sau mt khong thi gian qui định mà không nhn được khung báo
nhn, bên gi s gi li các khung không được báo nhn
Bên nhn không phân bit được các khung trùng lp do bên gi gi li.
¾ Gii pháp: Mi khung s có mt s th t để phân bit ln nhau. S th t này
s được tăng dn cho đến mt giá tr cc đại sau đó li quay v giá tr 0. Trong
ví d sau, s th t có giá tr cc đại là 1. Như vy ta ch s dng 2 giá tr là 0
và 1 để đánh s th t cho khung.
P4.3 Giao thc truyn đơn công cho kênh truyn có nhiu
/* S th t ca gói tin ca ln gi kế tiếp */
/* Khung để gi d liu đi */
/* Vùng lưu tr cho gói tin gi */
/* Khi động s th t cho khung gi */
/* Nhn gói tin đầu tiên t tng mng để gi đi */
/* Xây dng khung để gi đi */
/* Đánh s th t cho khung */
/* Gi khung xung tng vt lý để truyn đi */
/* Nếu khung báo nhn đến chm, to s kin
time-out *
/
/* S th t ca gói tin ch nhn kế tiếp */
/* Khung nhn và khung báo nhn */
/* Khi động s th t cho khung nhn */
/* Ch mt s kin xy ra*/
/* Nếu là s kin khung đến */
/* - Nhn khung d liu t tng vt lý */
/* - Nếu đúng là khung đang ch */
/* - Gi d liu nhn được lên t
ng
mng */
/* Giá t
r
t
i đa ca s
th t
khun
g
là 1 *
/
Biên San: Th.s Ngô Bá Hùng – Ks Phm Thế Phi - 01/2005 44
Đại Hc Cn Thơ - Khoa Công Ngh Thông Tin - Giáo Trình Mng Máy Tính – V1.0
4.4 Giao thc ca s trượt (Sliding windows)
4.4.2 Vn đề truyn ti thông tin theo hai chiu (Duplex)
Chúng ta mun vic truyn ti thông tin gia hai bên giao tiếp din ra mt cách đồng thi theo hai
chiu hơn là ch mt chiu để khai thác ti đa kh năng ca kênh truyn.
Để thc hin được điu này, chúng ta thc s dng chế độ truyn ti hai chiu, gi là song công
(Duplex). Nguyên tc thc hin như sau:
Vn thc hin vic truyn ti khung, tuy nhiên ta có phân bit thành các loi khung: d liu (data),
báo nhn ACK (acknowledgement), và báo không nhn NACK(Not Acknowledgement) trong
trường xác định loi (Type) ca khung.
Khi mt bên nào đó truyn tin, nó có th kết hp đưa thông tin báo cho bên kia biết tình trng ca
gói tin mà nó đã nhn trước đó. Ta gi là k thut piggyback.
4.4.3 Gii thiu v giao thc ca s trượt
Thay vì ch truyn đi mt khung ti mt thi đim (simplex), giao thc ca s trượt cho phép bên
gi có th gi đi nhiu khung.
Giao thc này s dng mt ca s để cho phép bên gi theo dõi các khung mà nó được phép gi
đi và các khung mà nó đang ch báo nhn, gi là ca s gi (Sending Windows). Mt ca s khác
để bên nhn theo dõi các khung mà nó được phép nhn, gi là ca s nhn (Receiving Windows).
Cu trúc ca ca s được mô t như sau:
Phn tô đen là phm vi ca ca s gm có
ca trướcca sau cùng di chuyn theo
mt chiu.
Kích thước ca ca s là chiu ca cung
gii hn t ca sau đến ca trước.
Kích thước ca ca s có th thay đổi. Khi
ca trước di chuyn, ca s được m rng
ra. Ngược li khi ca sau di chuyn, kích
thước ca ca s b thu hp li và nó làm
cho ca s thay đổi v trí, trượt / quay
quanh mt tâm ca vòng tròn.
Kích thước nh nht ca ca s là 0, khi đó
ca trước và ca sau nm cùng mt v trí. Gi s, có n=2k v trí cho các ca, khi đó kích
thước ti đa ca ca s là n-1 (không là n để phân bit vi kích thước là 0).
H4.7 Cu trúc ca s trượt
Gi s ta dùng k bit để đánh s th t cho các khung. Ta s có 2k khung, đánh s t 0 đến
2k-1. Khi đó ca s trượt s được chia thành 2k v trí tương ng vi 2k khung.
Đối vi ca s gi, các v trí nm trong ca s trượt biu hin s th t ca các khung mà
bên gi đang ch bên nhn báo nhn. Phn bên ngoài ca s là các khung có th gi tiếp.
Tuy nhiên phi đảm bo rng, ca s gi không được vượt quá kích thước ti đa ca ca
s.
Đối vi bên nhn, các v trí nm trong ca s biu hin s th t các khung mà nó đang
sn sàng ch nhn.
Kích thước ti đa ca ca s biu th dung lượng b nh đệm ca bên nhn có th lưu tm
thi các gói tin nhn được trước khi x lý chúng. Gi s bên nhn có mt vùng b nh
đệm có kh năng lưu tr 4 khung nhn được. Khi đó, kích thưc ti đa ca ca s s là 4.
Biên San: Th.s Ngô Bá Hùng – Ks Phm Thế Phi - 01/2005 45