Mụ hỡnh giao ti院p Client/Server

Một phần của tài liệu giáo trình môn học mạng máy tính (Trang 109)

TCP/IP ph映 thu瓜c vào khỏi ni羽m mỏy khỏch (Client) và mỏy ch栄 (Server). Thu壱t ng英 Server dựng 8吋 ch雨 nh英ng ch逢挨ng trỡnh cung c医p cỏc d鵜ch v映 thụng qua o衣ng. Cỏc Server nh壱n 8違m nhi羽m ch泳c n<ng 8ỏp 泳ng cỏc yờu c亥u c栄a mỏy khỏch, th詠c hi羽n vi羽c ph映c v映 và tr違 l衣i k院t qu違. Thu壱t ng英 Client dựng 8吋 ch雨 cỏc ch逢挨ng trỡnh 泳ng d映ng g荏i cỏc yờu c亥u 8院n Server và ch運 k院t qu違 tr違 v隠.

Cỏc ch逢挨ng trỡnh Client và Server th逢運ng th詠c thi trờn cỏc mỏy khỏc nhau. O厩i ch逢挨ng trỡnh Server cú th吋 cựng 8ỏp 泳ng cho nhi隠u ch逢挨ng trỡnh Client trờn nhi隠u mỏy tớnh khỏc nhau cựng m瓜t lỳc.

7.5.1 Quỏ trỡnh trao 8鰻i d liu dựng Stream Socket

Stream socket d詠a trờn n隠n giao th泳c TCP 8ũi h臼i ph違i t衣o m瓜t k院t n嘘i tr逢噂c khi hai bờn cú th吋 truy隠n ho員c nh壱n d英 li羽u cho nhau. Stream Socket cung c医p m瓜t dũng cỏc byte d英 li羽u khụng cú phõn cỏch cú th吋 truy隠n hai chi隠u. Cỏc dũng d英 li羽u cú th吋 tin c壱y 8逢嬰c phõn phỏt tu亥n t詠, d英 li羽u khụng trựng l逸p, ngh a là cỏc gúi d英 li羽u 8逢嬰c phõn phỏt theo th泳 t詠" 8逢嬰c phỏt, và m厩i l亥n ch雨 cú m瓜t gúi riờng bi羽t 8逢嬰c truy隠n.

Mỏy C Mỏy B

Uえ hi゜u cがng nguおn 350, cがng 8ớch là 23 Uえ hi゜u cがng nguおn 351, cがng 8ớch là 23

Uえ hi゜u cがng nguおn 352, cがng 8ớch là 23

F衣ng socket này r医t thớch h嬰p v噂i mụ hỡnh Client/Server. Server s胤 t衣o m瓜t socket, gỏn cho nú m瓜t tờn (cung c医p m瓜t 8鵜a IP c栄a mỏy và m瓜t port 8吋 giao ti院p), và 8嬰i client n嘘i k院t 8院n socket. Bờn client c ng t衣o m瓜t socket và n嘘i k院t 8院n tờn socket trờn server. Khi server phỏt hi羽n cú yờu c亥u k院t n嘘i t瑛 client, nú s胤 t衣o m瓜t socket m噂i và s穎 d映ng socket m噂i 8ú 8吋 giao ti院p v噂i client. Socket c ti院p t映c 8嬰i m院t n嘘i t瑛 cỏc client khỏc.

U挨" 8欝 trao 8鰻i d英 li羽u gi英a Client/Server b茨ng cỏch dựng Socket 8逢嬰c bi吋u di宇n nh逢 sau : Start connect() send()/recv() socket() Kết thúc close() CLIENT socket() bind() Start End Wait for connections from clients accept() send() / recv() listen() close() SERVER

Hỡnh 7-8. S挨"8欝 trao 8鰻i d英 li羽u gi英a Client/Server b茨ng StreamSocket.

7.5.2 Quỏ trỡnh trao 8鰻i d liu dựng Datagram Socket

Datagram Socket d詠a trờn giao th泳c UDP khụng 8ũi h臼i ph違i thi院t l壱p m瓜t k院t p嘘i tr逢噂c khi truy隠n và nh壱n d英 li羽u. D英 li羽u ch雨 là m瓜t gúi 8挨n, vỡ v壱y d衣ng socket này th逢運ng dựng 8吋 truy隠n cỏc m磯u tin, khụng c亥n nhi隠u cỏc header l噂p 泳ng d映ng. F衣ng socket này cung c医p lu欝ng d英 li羽u khụng b違o 8違m theo th泳 t詠 ho員c khụng b鵜 trựng l逸p, khụng b違o 8違m d英 li羽u s胤"8院n 8逢嬰c n挨i nh壱n. D英 li羽u cú th吋"8院n khụng theo th泳 t詠"8逢嬰c phỏt và cú kh違 n<ng b鵜 trựng l員p. Nh逢ng s詠 phõn cỏch gi英a cỏc

o磯u tin thỡ 8逢嬰c duy trỡ. Trong m衣ng LAN datagram cú kh違 n<ng tin c壱y t逢挨ng 8嘘i v嘘t, nh逢ng trong m衣ng WAN, nh逢 m衣ng Internet thỡ khụng 8逢嬰c 8違m b違o.

Đ N逢u 8欝 client/server s穎 d映ng giao th泳c UDP

socket() bind() Start End send() / recv() close() SERVER Start send()/recv() socket() End close() CLI ENT

Hỡnh 7-9. S挨"8欝 trao 8鰻i d英 li羽u gi英a Client/Server b茨ng DatagramSocket.

7.5.3 Vớ d ch逢挨ng trỡnh client/server

Trong vớ d映 d逢噂i 8õy ch逢挨ng trỡnh server th詠c hi羽n cỏc b逢噂c thi院t l壱p cho vi羽c ch運"8嬰i m瓜t k院t n嘘i t瑛 ch逢挨ng trỡnh client. Sau khi thi院t l壱p k院t n嘘i v噂i client, c違 hai th詠c hi羽n m瓜t s嘘 thao tỏc truy隠n và nh壱n thụng tin r欝i k院t thỳc ch逢挨ng trỡnh.

7.5.3.1 lnh ch⇔¬ng trỡnh Server

- T衣o ra m瓜t socket v噂i hàmsocket().

- Ràng bu瓜c socket v噂i m瓜t 8鵜a ch雨 b茨ng hàmbind ().

- Dựng hàmlisten()8吋 ch運"8嬰i m瓜t k院t n嘘i.

- Nh壱n b医t k thụng tin nào yờu c亥u k院t n嘘i b茨ng hàmaccept().

- Nh壱n cỏc thụng bỏo g穎i 8院n b茨ng hàmread()và g穎i thụng bỏo 8院n client b茨ng hàmwrite().

-

/* mksock.c make and bind to a socket - userver*/

#include<stdio.h> #include<sys/socket.h> #include<sys/un.h> #include<unistd.h> void die(char * message); void copyData(int from, int to);

int main(void) {

struct sockaddr_un address; int sock,conn; size_t addrLength; if ((sock=socket(PF_UNIX,SOCK_STREAM,0))<0) die("socket"); /*unlik("./sample_socket");*/ address.sun_family=AF_UNIX; strcpy(address.sun_path,"./sample_socket"); addrLength=sizeof(address.sun_family)+strlen(address.sun_path); if(bind(sock,(struct sockaddr *)&address,addrLength))

die("bind"); if(listen(sock,5)) die("listen"); while((conn=accept(sock,(struct sockaddr*)&address,&addrLength))>=0) { printf("---getting data\n"); copyData(conn,1); printf("---done\n"); close(conn); } if (conn<0) die("accept"); close(sock); return 0; }

void die(char * message){ perror(message); exit(1);

}

void copyData(int from,int to){ char buf[1024]; int amount; while ((amount=read(from,buf,sizeof(buf)))>0){ if(write(to,buf,amount)!=amount){ die ("write"); return; } } if (amount<0) die("read"); } 7.5.3.2 lnh ch⇔¬ng trỡnh client

V瑛 ch逢挨ng trỡnh client , 8吋 th詠c hi羽n 8逢嬰c m瓜t k院t n嘘i 8院n server và truy隠n nh壱n thụng tin ch雨 c亥n th詠c hi羽n 2 b逢噂c c挨 b違n nh逢 sau:

- T衣o m瓜tsocket()v逢挨ng 泳ng v噂i ch逢挨ng trỡnhservere映 th吋 .

- Yờu c亥u 8院n server th詠c hi羽n k院t n嘘i b茨ng cỏch g丑i hàmconnect().

P院u m瓜t k院t n嘘i 8逢嬰c t衣o ra, client cú th吋 g穎i yờu c亥u b茨ng hàm write() và nh壱n cỏc 8ỏp 泳ng ph違n h欝i b茨ng hàmread().

/* sockconn.c - connect to a socket - uclient*/

#include<sys/socket.h> #include<sys/un.h> #include<unistd.h> void die (char * message);

void copyData(int from, int to); int main(void){

struct sockaddr_un address; int sock;

size_t addrLength;

if ((sock=socket(PF_UNIX,SOCK_STREAM,0))<0) die("socket");

address.sun_family=AF_UNIX;

strcpy(address.sun_path,"./sample_socket");

addrLength=sizeof (address.sun_family) + strlen(address.sun_path); if(connect(sock,(struct sockaddr *)& address,addrLength)) die("connect"); copyData(0,sock);

close(sock); return 0; }

void die(char * message){ perror(message); exit(1);

}

void copyData(int from, int to){ char buf[1024]; int amount; while ((amount=read(from,buf,sizeof(buf)))>0){ if(write(to,buf,amount)!=amount) { die("write"); return; } } if (amount<0) die("read"); } ---------------------------------------------------- BÀI TP 1. Tỡm hi吋u cỏc mụ t違 Socket và c医u trỳc d英 li羽u c栄a socket mà h羽"8k隠u hành e医p phỏt 8吋 l逢u tr英 cỏc thụng tin c亥n thi院t cho k院t n嘘i m衣ng.

2. Tỡm hi吋u cỏc th逢 vi羽n l壱p trỡnh WinSock trờn h羽"8k隠u hành Windows. 3. Vi院t cỏc ch逢挨ng trỡnh giao ti院p Client/Server theo mụ hỡnh giao ti院p

Ch⇔¬ng 8 V井NG PHIấN

V亥ng phiờn (Session Layer) làm nhi羽m v映 t鰻 ch泳c và 8欝ng b瓜 s詠 chuy吋n 8鰻i f英 li羽u gi英a cỏc ti院n trỡnh 泳ng d映ng khỏc nhau. T亥ng Phiờn làm vi羽c v噂i t亥ng 泳ng f映ng 8吋 cung c医p cỏc t壱p d英 li羽u, 8逢嬰c g丑i là cỏc 8k吋m 8欝ng b瓜, cỏc 8k吋m này cho phộp m瓜t 泳ng d映ng bi院t quỏ trỡnh truy隠n và nh壱n d英 li羽u 8逢嬰c th詠c hi羽n nh逢 th院 nào.

V亥ng phiờn ch鵜u trỏch nhi羽m thi院t l壱p và duy trỡ m瓜t phiờn truy隠n thụng gi英a hai tr衣m ho員c nỳt m衣ng. M瓜t phiờn truy隠n thụng qua m瓜t m衣ng ho衣t 8瓜ng cú ph亥n gi嘘ng v噂i m瓜t cu瓜c g丑i qua cỏc 8逢運ng dõy 8k羽n tho衣i. T亥ng Phiờn c嘘 g逸ng thi院t l壱p o瓜t phiờn truy隠n thụng gi英a hai nỳt trờn m瓜t m衣ng. C違 hai nỳt 8隠u th瑛a nh壱n phiờn truy隠n thụng này th逢運ng s胤"8逢嬰c gỏn m瓜t s嘘 hi羽u nh壱n di羽n. M厩i nỳt cú th吋 ng逸t phiờn truy隠n thụng gi英a hai nỳt trờn m瓜t m衣ng 8逢嬰c g丑i là oじt cng lun lý

(Socket). Khi m瓜t phiờn truy隠n thụng 8逢嬰c thi院t l壱p, m瓜t c鰻ng lu壱n lý s胤"8逢嬰c m荏 ra. M瓜t phiờn truy隠n thụng 8詠挨c k院t thỳc 8逢嬰c g丑i là oじt cng lun lý bお" 8úng

(Close Socket).

O映c tiờu c栄a t亥ng phiờn là cú kh違 n<ng cung c医p cho ng逢運i s穎 d映ng cỏc ch泳c p<ng c亥n thi院t 8吋 qu違n lý cỏc phiờn 泳ng d映ng c映 th吋 nh逢:

- Ak隠u ph嘘i vi羽c trao 8鰻i d英 li羽u gi英a cỏc 泳ng d映ng b茨ng cỏch thi院t l壱p và gi違i phúng (m瓜t cỏchlogic) cỏc phiờn (hay g丑i là cỏc h瓜i tho衣idialogues).

- Cung c医p cỏc 8k吋m 8欝ng b瓜 húa 8吋 ki吋m soỏt vi羽c trao 8鰻i d英 li羽u.

- ỏp 8員t cỏc qui t逸c cho cỏc t逢挨ng tỏc gi英a cỏc 泳ng d映ng c栄a ng逢運i s穎 d映ng. - Cung c医p c挨 ch院 l医y l逢嬰t (n逸m quy隠n) trong cỏc quỏ trỡnh trao 8鰻i d英 li羽u.

Trong t亥ng phiờn thỡ v医n 8隠"8欝ng b瓜 húa 8逢嬰c th詠c hi羽n t逢挨ng t詠 nh逢 m瓜t c挨 ch院 ki吋m tra / ph映c h欝i (check point/reset).Trong m瓜t h羽 qu違n tr鵜 t壱p tin, d鵜ch v映 này cho phộp ng逢運i s穎 d映ng xỏc 8鵜nh cỏc 8k吋m 8欝ng b瓜 húa trong dũng d英 li羽u và cú th吋 khụi ph映c l衣i vi羽c h瓜i tho衣i b逸t 8亥u t瑛 m瓜t trong cỏc 8k吋m 8ú.

8.1 Dch v OSI cho tng Phiờn

V亥ng phiờn làm vi羽c qu違n lý cỏc cu瓜c tho衣i gi英a hai mỏy tớnh b茨ng cỏch thi院t n員p, qu違n lý, và k院t thỳc cỏc phiờn truy隠n thụng.

8.1.1 Cung cp cho ng逢運i s dng dch v tng phiờn (SS-user)

- Thi院t l壱p m瓜t liờn k院t v噂i m瓜t ng逢運i s穎 d映ng d鵜ch v映 t亥ng phiờn khỏc, trao 8鰻i f英 li羽u v噂i ng逢運i s穎 d映ng 8ú m瓜t cỏch 8欝ng b瓜 và h栄y b臼 liờn k院t m瓜t cỏch cú tr壱t t詠 khi khụng dựng 8院n n英a.

- Th逢挨ng l逢嬰ng v隠 vi羽c dựng cỏc th飲 bài (TOKEN) 8吋 trao 8鰻i d英 li羽u,8欝ng b瓜 húa và h栄y b臼 liờn k院t ,s逸p x院p ph逢挨ng th泳c trao 8鰻i d英 li羽u (half-duplex ho員c full-duplex).

- Thi院t l壱p cỏc 8k吋m 8欝ng b瓜 húa trong cỏc h瓜i tho衣i và khi x違y ra s詠 c嘘 thỡ cú th吋 khụi ph映c l衣i vi羽c h瓜i tho衣i b逸t 8亥u t瑛 m瓜t 8k吋m 8欝ng b瓜 húa 8ó th臼a thu壱n.

- Ng逸t h瓜i tho衣i và khụi ph映c l衣i h瓜i tho衣i sau 8ú t瑛 m瓜t 8k吋m xỏc 8鵜nh tr逢噂c. Cỏc d鵜ch v映 xỏc 8鵜nh 8k吋m 8欝ng b瓜 húa là nh茨m vào hai m映c 8ớch :

1) Cỏc 8k吋m 8欝ng b瓜 húa cú th吋 phõn tỏch cỏc ph亥n c栄a m瓜t h瓜i tho衣i. 2) Cỏc 8k吋m 8欝ng b瓜 húa cú th吋 dựng 8吋 ph映c h欝i l厩i.

Cỏc 8kあm 8げng b húa chớnh dựng 8吋 c医u trỳc quỏ trỡnh trao 8鰻i d英 li羽u thành o瓜t chu厩i cỏc 8挨n v鵜 h瓜i tho衣i (dialogue), m厩i 8k吋m này ph違i 8逢嬰c xỏc nh壱n và ng逢運i s穎 d映ng s胤 b鵜 h衣n ch院 trong m瓜t s嘘 d鵜ch v映 nh医t 8鵜nh cho t噂i khi nh壱n 8逢嬰c o瓜t s詠 xỏc nh壱n m噂i. M瓜t 8k吋m 8欝ng b瓜 húa chớnh 8逢嬰c dựng 8吋 tỏch bi羽t cỏc hai 8挨n v鵜 h瓜i tho衣i liờn ti院p.

Cỏc 8kあm 8げng b húa phつ"8逢嬰c dựng 8吋 c医u trỳc quỏ trỡnh trao 8鰻i d英 li羽u 荏 trong m瓜t 8挨n v鵜 h瓜i tho衣i, và cỏc 8k吋m này khụng c亥n ph違i 8逢嬰c xỏc 8鵜nh tr逢噂c.Vi羽c dựng cỏc 8k吋m 8欝ng húa ph映 trong quỏ trỡnh truy隠n t壱p nú s胤 ng<n ch員n vi羽c truy隠n l衣i d英 li羽u v噂i m瓜t kh嘘i l逢嬰ng l噂n

Oじt 8¬n v hi thoi là m瓜t Activity (hành 8瓜ng) nguyờn t穎 trong 8ú m丑i hành 8瓜ng truy隠n thụng khụng cú liờn quan gỡ 8院n b医t k m瓜t ho衣t 8瓜ng truy隠n thụng nào tr逢噂c và sau 8ú. M瓜t hành 8瓜ng bao g欝m nhi隠u 8挨n v鵜 h瓜i tho衣i, và 8õy c ng chớnh là m瓜t t壱p h嬰p logic cỏc nhi羽m v映 liờn quan v噂i nhau; 荏 m瓜t th運i 8k吋m thỡ ch雨 cú o瓜t activity trờn m瓜t liờn k院t phiờn nh逢ng m瓜t activity thỡ cú th吋 di宇n ra trờn nhi隠u liờn k院t phiờn, nú cú th吋 b鵜 ng逸t và sau 8ú cú th吋 khụi ph映c l衣i trong m瓜t liờn k院t phiờn khỏc, m瓜t vũng 8運i c栄a m瓜t liờn k院t phiờn thỡ cú th吋 cú nhi隠u Activity liờn ti院p.

8.1.2 Ak隠u khin trao 8鰻i d liu

Vi羽c trao 8鰻i d英 li羽u x違y nh逢 sau 8吋 th詠c hi羽n m瓜t trong ba ph逢挨ng th泳c nh逢 sau : hai chi隠u 8欝ng th運i (full-duplex), hai chi隠u luõn phiờn (haft -duplex), m瓜t chi隠u (simplex).

8.1.2.1 Trao 8ごi d liu mt chiu

Liờn quan 8院n cỏc 8嬰t chuy吋n giao d英 li羽u m瓜t chi隠u. Bỏo chỏy là m瓜t vớ d映, nú g穎i m瓜t thụng 8k羽p bỏo 8瓜ng 8院n tr衣m ch嘘ng chỏy, nh逢ng khụng th吋 (và khụng e亥n) nh壱n cỏc thụng 8k羽p t瑛 tr衣m ch嘘ng chỏy.

X噂i ph逢挨ng th泳c m瓜t chi隠u thỡ ớt x違y ra: ch鰯ng h衣n nh逢 d英 li羽u 8逢嬰c g穎i 8院n o瓜t 8嘘i t逢嬰ng t衣m th運i khụng làm vi羽c, thỡ ch雨 cú m瓜t ch逢挨ng trỡnh nh壱n v噂i m瓜t nhi羽m v映 duy nh医t là ti院p nh壱n d英 li羽u 8院n và gi英 l衣i.

8.1.2.2 Trao 8ごi d liu hai chiu luõn phiờn

Liờn quan 8院n cỏc 8嬰t chuy吋n giao d英 li羽u hai chi隠u, 荏"8ú cỏc lu欝ng d英 li羽u o厩i l亥n 8i theo m厩i h逢噂ng. Khi m瓜t thi院t b鵜 hoàn t医t m瓜t phiờn truy隠n, nú ph違i " tr違 n衣i " v壱t t違i cho thi院t b鵜 kia 8吋"8院n phiờn thi院t b鵜"8ú 8逢嬰c truy隠n.

X噂i ph逢挨ng th泳c luõn phiờn hai chi隠u thỡ n違y sinh cỏc v医n 8隠 nh逢 sau :

- Cỏc 8嘘i t逢嬰ng s穎 d映ng phiờn ph違i “l医y l逢嬰t” 8吋 truy隠n d英 li羽u (8k吋n hỡnh c栄a ph逢挨ng th泳c này là dựng cho cỏc 泳ng d映ng h臼i 8ỏp).

- Th詠c th吋 t亥ng phiờn(session entity) duy trỡ t逢挨ng tỏc luõn phiờn b茨ng cỏch bỏo cho cỏc 8嘘i t逢嬰ng khi 8院n l逢嬰c h丑 s胤 truy隠n d英 li羽u.

8.1.2.3 Trao 8ごi d liu hai chiu 8げng thi.

Cho phộp ti院n hành cỏc 8嬰t chuy吋n giao d英 li羽u hai chi隠u 8欝ng th運i b茨ng cỏch cung c医p cho m厩i thi院t b鵜 m瓜t kờnh truy隠n thụng riờng bi羽t. Ak羽n tho衣i ti院ng là nh英ng thi院t b鵜 song cụng 8亥y 8栄, và m瓜t trong hai bờn c栄a m瓜t cu瓜c 8àm tho衣i cú th吋 núi b医t k lỳc nào. H亥u h院t cỏc mụ8em mỏy tớnh 8隠u cú th吋 ho衣t 8瓜ng theo ch院 8瓜 song cụng 8亥y 8栄.

Ch院"8瓜 truy隠n thụng bỏn song cụng cú th吋 d磯n 8院n tỡnh tr衣ng b<ng thụng b鵜 lóng phớ trong quóng th運i gian mà 8嬰t truy隠n thụng 8ang quay tr違. Trong khi 8ú, ch院 8瓜 truy隠n thụng song cụng 8亥y 8栄 th逢運ng yờu c亥u m瓜t ban thụng l噂n h挨n so v噂i ch院 8瓜 truy隠n thụng bỏn song cụng

X噂i ph逢挨ng th泳c hai chi隠u 8欝ng th運i thỡ c違 hai bờn cựng 8欝ng th運i g穎i d英 li羽u cựng m瓜t lỳc, m瓜t khi ph逢挨ng th泳c này 8ó 8逢嬰c th臼a thu壱n thỡ khụng 8ũi h臼i ph違i cú nhi羽m v映 qu違n tr鵜 t逢挨ng tỏc 8員t bi羽t 8õy c ng là m瓜t ph逢挨ng th泳c ph鰻 bi院n nh医t.

8.1.3 Ak隠u hành phiờn làm vic

Phiờn làm vi羽c (session) là m瓜t cu瓜c tho衣i chớnh th泳c gi英a m瓜t bờn yờu c亥u dich v映 và m瓜t bờn cung c医p d鵜ch v映. Cỏc phiờn b違n làm vi羽c th逢運ng cú ớt nh医t ba giai 8q衣n :

Thit lp tuyn liờn kt : Bờn yờu c亥u d鵜ch v映 s胤 yờu c亥u kh荏i phỏt m瓜t d鵜ch x映. Trong quỏ trỡnh xỏc l壱p, phiờn truy隠n thụng 8逢嬰c thi院t l壱p và cỏc quy t逸c 8逢嬰c tho違 thu壱n.

Chuyn giao d liu : Do cỏc quy t逸c 8逢嬰c tho違 thu壱n trong khi xỏc l壱p, nờn o厩i bờn c栄a cu瓜c tho衣i s胤 bi院t n瓜i dung mong 8嬰i. Phiờn truy隠n thụng s胤 h英u hi羽u và cỏc l厩i c ng d宇 phỏt hi羽n.

Gii phúng cỏc kt ni : Khi hoàn t医t phiờn làm vi羽c, cu瓜c tho衣i k院t thỳc trong tr壱t t詠.

8.1.4 Liờn kt phiờn

V亥ng Phiờn th詠c hi羽n 8員t t逢挨ng 泳ng liờn k院t phiờn v噂i cỏc liờn k院t giao v壱n. Trong m瓜t quỏ trỡnh liờn k院t cú th吋 x違y ra 2 tr逢運ng h嬰p :

1. M瓜t liờn k院t giao v壱n thi院t l壱p v噂i nhi隠u liờn k院t phiờn liờn ti院p :

Liờn k院t Phiờn Liờn k院t Giao v壱n

2. Nhi隠u liờn k院t giao v壱n s穎 d映ng cựng m瓜t liờn k院t phiên:

Liờn k院t Phiờn Liờn k院t Giao v壱n

Ký hi羽u : : Thi院t l壱p liờn k院t

: Gi違i phúng liờn k院t

8.2 Giao thc chun tng phiờn

Giao th泳c chu育n t亥ng phiờn s穎 d映ng t噂i 34 lo衣i 8挨n v鵜 d英 li羽u (SPDU) khỏc nhau,và cú khuụn d衣ng t鰻ng quỏt nh逢 sau :

Trong 8ú :

• SI: A鵜nh danh c栄a lo衣i SPDU (m瓜t trong 34 lo衣i)

L PARAMETERS USER DATA

Time Time

• LI(length indicator): Ch雨"8瓜 dài c栄a vựng tham s嘘(parameters)

• PARAMETERS: vựng khai bỏo cỏc tham s嘘 SPDU, m厩i lo衣i SPDU cú danh sỏch tham s嘘 riờng. M厩i tham s嘘"8逢嬰c khai bỏo d逢噂i d衣ng t鰻ng quỏt g欝m 3 vựng con : parameter identifier, length indecation, parameter value và chỳng 8逢嬰c g丑i theo 8挨n v鵜 pi ho員c PGI (m厩i 8挨n v鵜 PGI g欝m cú 3 vựng con: PGI, LENGTH INDICATION, PARAMETER VALUE).

• User data: ch泳a d英 li羽u c栄a ng逢運i s穎 d映ng.

8.2.1 Cỏc loi SPDU, cỏc tham s và chc n<ng

SPDU PARAMENTERS FUNCTI ON

CONNECT

Connection ID, Protocol Options, Version Number, Serial Number, Token setting, Maximum TSDU size, Requirements, Calling SSAP, Called SSAP, User Data.

Initiate session Connection

ACCEPT Same as CONNECT SPDU. Etablist SESSION

CONNECTION REFUSE

Connection ID, Transport disconnect, Requirements, Version number, Season.

Reject connection request FINISH Transport Disconnect, User Data. Initiate Orderly Release

DISC0NNECT User Data. Acknowledge orderly Release

NOT FINISHED User Data. Reject Orderly Release

ABORT Transport disconnect, Protocol Error

Code, User Data. Abnormal connection Release ABORT ACCEPT Transport disconnect, Protocol Error

Code, User Data. Acknowledge Abort DATA TRANSFER Enclosure item,User Data. Transfer normal Data

EXPEDITED User data. Transfer typed data

CAPABILITY DATA ACK User Data. Acknowledge Capability data

GIVE TOKENS Tokens. Transfer tokens

PLEASE TOKENS Tokens , User Data. Request token Assignment

GIVE TOKENS CONFIRM - Transfer all tokens

GIVE TOKENS ACK - Acknowledge all tokens

MONOR SYNC POINT Confirm required flag, Serial

number, User data. Define minor sync point MINOR SYNC ACK Serial number, User Data. Acknowledge minor sync

point MAJOR SYNC POINT End of activity flag, Serial number,

User Data. Define major sync point

MAJOR SYNC ACK Serial number,User data. Acknowledge major sync point

RESYNCHRONIZED Tokens sittings, resync type, serial

number, user data. Resynchorize RESYNCHRONIZED ACK Tokens settings, Serial number,

PREPERE Type. Notify type SPDU is coming

Một phần của tài liệu giáo trình môn học mạng máy tính (Trang 109)