You are on page 1of 89

Trao i thng tin trong h

phn tn
1
Cc h phn tn @ H Quc Trung
2010
Ni dung
1. Cc khi nim c bn
2. Li gi th tc t xa
3. Trao i thng tin bng thng bo
4. Trao i thng tin dng
5. Trao i thng tin a im

2
Cc h phn tn @ H Quc Trung
2010
1. Cc khi nim c bn
I. Giao thc
II. Kin trc phn tng
III. M hnh ISO/OSI
IV. Phn loi cc phng php trao i thng tin
Cc h phn tn @ H Quc Trung
2010
3
I. Giao thc
Tp hp cc qui c trao i thng tin >=2 thc th
C php d liu
Th tc truyn thng
Phn loi
Hng kt ni/Khng hng kt ni
Tin cy/Khng tin cy
ng b/khng ng b
Bn vng/Khng bn vng
Chc nng
nh a ch,Kim sot li,Kim sot lung d liu, Dn/tch
knh,Chn ng
L thnh phn c bn nht thc hin trao i thng tin
Cung cp cc dch v gi cc thng bo
4
Cc h phn tn @ H Quc Trung
2010
Phn loi giao thc
Hng kt ni
Kt ni, gi d liu, nhn d liu, gii phng kt ni
Khng hng kt ni
Gi d liu, nhn d liu
Tin cy
Gi d liu, nhn d liu, bo nhn d liu (ch), bo
nhn d liu (ngun)
Khng tin cy
Gi d liu, nhn d liu
Cc h phn tn @ H Quc Trung
2010
5
Cc khi nim trong giao thc
Th tc phn tn:
gi, nhn, xc nhn, kt ni, ngt kt ni, phn gii
a ch, nh tuyn, chuyn tip, .....
Ngun, ch, knh:
thc th truyn tin=> nh danh: nh a ch
C php d liu
Lung d liu
n v d liu
Cc h phn tn @ H Quc Trung
2010
6
V d: HLDC (High Level Data Link
Control)
7 6 5 4 3 2 1 0
N(R)
Receive sequence
no.
P/F
N(S)
Send sequence no.
0
I-
fram
e
N(R)
Receive sequence
no.
P/F type 0 1
S-
fram
e
type P/F type 1 1
U-
fram
Cc h phn tn @ H Quc Trung
2010
7
Th tc
Yu cu: BALA, I, RR,
RNR, (SNRM or
SARM or SABM),
DISC
Tr li (I, RR, RNR,
UA, DM, FRMR)
VD: truyn tin
Thit lp kt ni:
SNR, SARM, SABM
Xc nhn thit lp kt
ni: UA
Truyn I
Nhn I, RR, RNR, ....
Gii phng kt ni

V d v giao thc hng kt ni

8
Cc h phn tn @ H Quc Trung
2010
II. Kin trc phn tng
Trao i thng tin trong h phn tn
Mc ch:
Trao i thng tin u cui (gia cc chng trnh)
Khng s dng b nh chung
Ch yu da vo trao i cc thng bo
Vn
ng b ngun-knh-ch
Bit, byte, li, thit b trung gian, tc truyn tin
Kim sot li, lung d liu, chuyn tip, nh tuyn
Giao din vi tng vt l
Phc tp: cn chia nh bi ton

Cc h phn tn @ H Quc Trung
2010
9
Kin trc phn tng
Trao i thng tin gia cc h thng
Phc tp, a dng, nhiu vn
Chia tr: cc cp p2p gii quyt vn c th
(distributed modules) bng mt giao thc
Chia tr
Phn mm=> th tc v hm
ng dng phn tn=> giao thc
Nguyn tc
Cc giao thc c lp
Lin kt ti thiu
10
Cc h phn tn @ H Quc Trung
2010
Giao tip gia cc tng k nhau
Tng trn s dng dch v ca tng di
truyn cc thng bo
Request(M), Notify(M), Response(M),
Confirm(M)
Tng di cung cp dch v cho tng trn
C ch callback, notify, ..
S dng cc thng tin iu khin trong cc
thng bo phn bit cc dch v
11
Cc h phn tn @ H Quc Trung
2010
Tiu -Thng tin iu khin
12
Cc h phn tn @ H Quc Trung
2010
M hnh ISO/OSI
Kt ni cc h thng m

13
Cc h phn tn @ H Quc Trung
2010
Giao thc TCP

14
Cc h phn tn @ H Quc Trung
2010
III. Giao thc ca PM trung gian

2-5
15
Cc h phn tn @ H Quc Trung
2010
Tng phn mm trung gian
Cc ng dng u c cng cc nhu cu
Bo mt, xc thc, ng b, nh danh, sao lu
Phn mm trung gian cung cp cc dch v ni
trn
Cc dch v c s dng thng qua giao thc,
thc th, d liu
Cc giao thc, thc th, d liu ny to thnh tng
phn mm trung gian.
Tng ng dng ch cha cc giao thc lin quan
n cc ng dng c th
16
Cc h phn tn @ H Quc Trung
2010
Ni dung
1. Kin trc phn tng
2. Li gi th tc t xa
3. Trao i thng tin bng thng bo
4. Trao i thng tin dng
5. Trao i thng tin a im

17
Cc h phn tn @ H Quc Trung
2010
2. Li gi th tc t xa
I. Socket API
II. C ch li gi th tc t xa
III. C ch truyn tham s
IV. Li gi th tc t xa khng ng b
V. V d v li gi th tc t xa
Cc h phn tn @ H Quc Trung
2010
18
I. Socket API
Server
ng k cng, nghe trn cng
Chp nhn kt ni n cng
Trao i thng tin (gi/nhn) qua cng
Gii phng kt ni
Client
Thit lp kt ni s dng cng server v client
Trao i thng tin (gi/nhn)
Gii phng kt ni

Cc h phn tn @ H Quc Trung
2010
19
Socket API
Vn
Xc nh cng ca server. Port Forwarding
Xc nh cng ca client.
ng b gia client v server
Lin h gia phin lm vic v kt ni
Rt khng thun tin cho trng hp Request-
Response.
Cc h phn tn @ H Quc Trung
2010
20
II. Khi nim li gi th tc t xa
Tru tng ha trao i thng tin gia client
v server
T yu cu=> tr li thnh quan h
Tham s thc hin=> kt qu tr v
C php li gi th tc
Cc h phn tn @ H Quc Trung
2010
21
Li gi th tc
Cc h phn tn @ H Quc Trung
2010
22
count=read(fd,buf,nbytes)
C ch truyn tham s
Tham bin
Tham chiu
Copy/phc hi
CT gi copy cc d liu vo Stack
CT gi phc hi cc d liu t Stack
Chng trnh chnh v th tc chia s mt
lung thc hin
23
Cc h phn tn @ H Quc Trung
2010
C ch RPC
24
Cc h phn tn @ H Quc Trung
2010
C ch RPC
Cho php mt tin trnh gi mt th tc thc hin
trn mt h thng khc
C ch gi th tc trong sut: ging nh th tc
cc b
Cn mt li gi tng t li gi ca th tc cc
b, nhng c thc hin theo cch khc
Client stub
on m thc hin th tc cng cn c thc
hin theo cch khc
Server stub
Cc h phn tn @ H Quc Trung
2010
25
C ch RPC
CT khch gi client stub
Client stub ng gi cc d liu thnh thng bo,
chuyn cho Client Local OS
Client's OS Gi thng bo n cho Server OS
Server OS chuyn thng bo cho server stub
Gii m ni dung thng bo, gi chng trnh con
Tr li kt qu cho Server Stub
ng gi kt qu, chuyn cho, local OS
Gi thng bo n cho client's OS
Chuyn thng bo cho client stub
Gii m thng bo, chuyn cho client

26
Cc h phn tn @ H Quc Trung
2010
Chc nng ca client-stub
Sn sng nhn cc li gi t chng trnh
client
ng gi d liu
Chuyn cho server
Nhn tr li
Gii m kt qu
Tr li cho chng trnh client
Thit lp kt ni vi server khi no?

Cc h phn tn @ H Quc Trung
2010
27
Chc nng ca server stub
Sn sng nhn cc li gi
Gi chng trnh server
Tr li li cc li gi

Cc h phn tn @ H Quc Trung
2010
28
III. C ch truyn tham s
Tham bin
Gia client v server
Vn khi biu din d liu khc nhau
Tham chiu
B nh phn tn
Copy d liu???
Tham chiu thay bng copy/restore
Chuyn tham chiu+code truy cp vo tham
chiu
29
Cc h phn tn @ H Quc Trung
2010
Truyn tham s bng tham bin
Cc h phn tn @ H Quc Trung
2010
30
Truyn tham s bng tham bin
Cc h phn tn @ H Quc Trung
2010
31
Ch hot ng tt khi h thng u cui l
ng nht
Xut hin vn khi:
Biu din d liu ca 2 h thng khc nhau
Cc d liu khng thuc cng mt kiu, cc kiu
d liu khc nhau c biu din khc nhau

Sai lch trong truyn bng tham
bin
Cc h phn tn @ H Quc Trung
2010
32
Truyn tham s bng tham bin
Cc h phn tn @ H Quc Trung
2010
33
Tham chiu ch c ngha cc b
C th c thc hin c bng cch
Cm s dng cc tham chiu
copy cc gi tr
C th ci thin bng cch ch copy mt ln
(cho input hoc output)
Khng thc hin c tham chiu ti cc d
liu c cu trc
c t tham s
Cc h phn tn @ H Quc Trung
2010
34
Client v server phi thng nht vi nhau:
s lng, kiu d liu, kch thc v cch thc biu din
cc kiu d liu
Client v server phi c xy dng da trn c t
tham s
Qu trnh thng nht ny c thc hin mc lp
trnh
Cc nh pht trin phi chia s vi nhau c t cc
tham s pht trin thnh phn server hoc client
c t ny thng gi l c t giao din, s dng IDL
Tnh m ca RPC
Client v Server c ci t bi cc NSX
khc nhau
Giao din thng nht client v server
Khng ph thuc cng c v ngn ng lp trnh
M t y v trung lp
Thng dng ngn ng nh ngha giao din
35
Cc h phn tn @ H Quc Trung
2010
RPC khng ng b
RPC: Client yu cu server thc hin v tr li
kt qu
C nhiu trng hp khng cn tr li kt qu
Client sau khi gi RPC tip tc thc hin,
khng quan tm n kt qu tr li.
Cc h phn tn @ H Quc Trung
2010
36
IV. Lin kt client server

37
Cc h phn tn @ H Quc Trung
2010
Lin kt client server
Lin kt cc b
Dch v cc b trn my tnh server cho bit c
nhng th tc no c cung cp
Lin kt ton cc
Dch v th mc cho bit a ch my tnh v v tr
ca dch v.
Cc h phn tn @ H Quc Trung
2010
38
Vn : tn/a ch (binding)
Client cn ch ra hm no gi t xa, trn my no
Hm no: tn
My no: a ch
Cc thng tin ny c lu tr ti cc bng
C th thm, bt cc dng trong bng
Tnh: dch v tn/th mc
ng: kim sot bi server v client
Bng c th c xy dng khi dch, link hoc
thc hin ph thuc vo RPC
39
Cc h phn tn @ H Quc Trung
2010
5.V d
Sun RPC
DCE RPC
MS RPC
40
Cc h phn tn @ H Quc Trung
2010
RPC

Cc h phn tn @ H Quc Trung
2010
41
Xy dng chng trnh bng DCE-
RPC

42
Cc h phn tn @ H Quc Trung
2010
Cng c RPC
DCE RPC
DCE Distributed
Computing Enviroment,
OSF (Open Software
Foundation), 1990
Chy trn Unix, VMS,
OS2,
Xy dng da trn trn
NSC ca Apollo
S dng trong cc ngn
ng lp trnh thng dng C,
PASCAL, .(khng c
JAVA)


SUN RPC
SUN Cop. 1988, v 01, 02
ONC RPC v02 1995
Thit k cho h thng file
NFS
Chy trn Sun Solaris,
Unix,
V cc cng c khc
43
Cc h phn tn @ H Quc Trung
2010
Java RMI
44
Cc h phn tn @ H Quc Trung
2010
RMI: Li gi phng thc t xa
Li gi th tc-> RPC
Lp trnh hng i tng :
i tng t xa, ng dng phn tn hng i
tng
Cc vn cn gii quyt
nh v i tng t xa
Trao i thng tin vi i tng
Gi cc phng thc ca i tng
RMI, T-RMI, DCOM, CORBA
45
Cc h phn tn @ H Quc Trung
2010
u im
n gin, d s dng
Trong sut: li gi phng thc t xa ging li
gi phng thc cc b
tin cy cao
An ton v bo mt (do JVM cung cp)
Nhc im:
Ch dng cho java
46
Cc h phn tn @ H Quc Trung
2010
Kin trc

47
CLIENT SERVER
Application
Stubs Skeletons
Remote Reference Layer
Transport
RMI System
Interface Interface
Cc h phn tn @ H Quc Trung
2010
DCE RPC
Mi trng tnh ton phn tn
Cung cp cc dch v cho ng dng phn tn
Dch v tp phn tn
Dch v th mc phn tn
Dch v bo mt phn tn
Dch v thi gian phn tn
C ch DCE-RPC
Cc h phn tn @ H Quc Trung
2010
48
Ni dung
1. Kin trc phn tng
2. Li gi th tc t xa
3. Trao i thng tin bng thng bo
4. Trao i thng tin dng
5. Trao i thng tin a im

49
Cc h phn tn @ H Quc Trung
2010
3. Trao i thng tin bng thng
bo
I. Trao i thng tin tc thi
II. Trao i thng tin bn vng
III. V d

50
Cc h phn tn @ H Quc Trung
2010
Beckeley socket

Cc h phn tn @ H Quc Trung
2010
51
Socket
Cc h phn tn @ H Quc Trung
2010
52
MPI
M hnh bc cao hn socket
Cho php cc ng dng trao i thng tin s
dng thng bo c cu trc ty
Cho php trao i thng bo theo nhm
H tr cc phng thc trao i thng tin khc
nhau (dng, khng dng, ng b)

Cc h phn tn @ H Quc Trung
2010
53
MPI

Cc h phn tn @ H Quc Trung
2010
54
Trao i thng tin bn vng
Khng cn tin trnh gi v tin trnh nhn
cng kch hot
Thng bo c lu tr ti cc communication
server
Cc trm cn c b nh m ln lu tr
cc thng bo: hng i
Qu trnh gi v nhn c thm s tham gia ca
knh truyn tin
55
Cc h phn tn @ H Quc Trung
2010
M hnh trao i thng tin

56
Cc h phn tn @ H Quc Trung
2010
Quan h gia ngun knh v ch
Cc h phn tn @ H Quc Trung
2010
57
Cc thao tc c bn trn hng i
Cc h phn tn @ H Quc Trung
2010
58
Nguyn tc hot ng

Cc h phn tn @ H Quc Trung
2010
59
Kin trc vi cc b chuyn tip

2-29
60
Cc h phn tn @ H Quc Trung
2010
B chuyn i thng bo
The general organization of a message broker
in a message-queuing
system.
2-30
61
Cc h phn tn @ H Quc Trung
2010
V d: IBM MQSeries
General organization of IBM's MQSeries
message-queuing system.
2-31
62
Cc h phn tn @ H Quc Trung
2010
Cc hm trn thng bo

Primitive Description
MQopen Open a (possibly remote) queue
MQclose Close a queue
MQput Put a message into an opened queue
MQget Get a message from a (local) queue
63
Cc h phn tn @ H Quc Trung
2010
Chuyn tip thng bo
The general organization of an MQSeries
queuing network using routing tables and
aliases.
64
Cc h phn tn @ H Quc Trung
2010
Channels
Mt vi thuc tnh ca channel agent
Attribute Description
Transport type Determines the transport protocol to be used
FIFO delivery Indicates that messages are to be delivered in the order they are sent
Message length Maximum length of a single message
Setup retry
count
Specifies maximum number of retries to start up the remote MCA
Delivery retries Maximum times MCA will try to put received message into queue
65
Cc h phn tn @ H Quc Trung
2010
Ni dung
1. Kin trc phn tng
2. Li gi th tc t xa
3. Trao i thng tin bng thng bo
4. Trao i thng tin dng
5. Trao i thng tin a im

66
Cc h phn tn @ H Quc Trung
2010
4. Trao i thng tin dng
D liu thi gian thc
Trc tip/Khng trc tip
Phng thc truyn
Khng ng b
ng b
ng b chun (ISO Synchrounous)
Dng d liu
n gin/nhiu dng

67
Cc h phn tn @ H Quc Trung
2010
I. Dng d liu lin tc

2-35.2
68
Cc h phn tn @ H Quc Trung
2010
Dng d liu s
Setting up a stream between two processes
across a network.
69
Cc h phn tn @ H Quc Trung
2010
Dng d liu
Chui cc n v d liu
Phng thc truyn
Khng ng b (khng rng buc v tr)
ng b (c tr ln nht)
ng b ng thi (c tr ln nht v tr
nh nht
Dng d liu phc tp/n gin
Audio/Video

Cc h phn tn @ H Quc Trung
2010
70
M hnh ng dng truyn dng

Cc h phn tn @ H Quc Trung
2010
71
II. Cht lng dch v
Cc rng buc v thi gian cn c m bo
Cc yu cu v thi gian c biu din bng
cht lng dch v
Tc truyn
Thi gian thit lp qu trnh truyn
Thi gian tr
Bin dao ng ca tr
Thi gian tr i v

Cc h phn tn @ H Quc Trung
2010
72
QoS (1)
The principle of a token bucket algorithm.
73
Cc h phn tn @ H Quc Trung
2010
QoS (2)
c t dng
Characteristics of the Input Service Required
maximum data unit size (bytes)
Token bucket rate (bytes/sec)
Toke bucket size (bytes)
Maximum transmission rate
(bytes/sec)
Loss sensitivity (bytes)
Loss interval (sec)
Burst loss sensitivity (data units)
Minimum delay noticed (sec)
Maximum delay variation (sec)
Quality of guarantee
74
Cc h phn tn @ H Quc Trung
2010
m bo cht lng dch v
Cc lp dch v khc nhau ca tng mng
Chuyn tip khn
Chuyn tip m bo
S dng b m
S dng m sa li
Phn tn li
Cc h phn tn @ H Quc Trung
2010
75
S dng b m
Gim nh hng ca dao ng tr
Cc h phn tn @ H Quc Trung
2010
76
Phn tn li
Cc h phn tn @ H Quc Trung
2010
77
Thit lp dng
The basic organization of RSVP for resource
reservation in a distributed
system.
78
Cc h phn tn @ H Quc Trung
2010
III.ng b cc dng
ng b dng d liu ri rc/lin tc
To gi d liu chung cho cc dng
Trnh din li tng gi d liu
ng b d liu lin tc
Yu cu cao (d nhn ra s sai khc)
Thc hin cc mc khc nhau
Mng
Giao vn
n v d liu ca dng
ng dng
Cc h phn tn @ H Quc Trung
2010
79
ng b-theo mc thi gian

80
Cc h phn tn @ H Quc Trung
2010
Middleware a phng tin
The principle of synchronization as supported
by high-level interfaces.
2-41
81
Cc h phn tn @ H Quc Trung
2010
Qung b c ch ng b
Cung cp c t dng v ng b dng theo
dng d liu (MPEG)
V tr thc hin ng b
Trm gi (dn tt c cc knh vo mt knh)
Trm nhn (cc knh chuyn theo cc ng khc
nhau)
Cc h phn tn @ H Quc Trung
2010
82
Ni dung
1. Kin trc phn tng
2. Li gi th tc t xa
3. Trao i thng tin bng thng bo
4. Trao i thng tin dng
5. Trao i thng tin a im

83
Cc h phn tn @ H Quc Trung
2010
5. Trao i thng tin nhm
Thng c thc hin tng mng v tng
giao vn
Thit lp knh truyn gia cc trm gi nhn
tng ng dng cha c s thng nht v
chun
Khng cn thit c knh truyn trc tip.
Cha c ng lc thc hin trin khai
Cc h phn tn @ H Quc Trung
2010
84
I. Trao i thng tin nhm mc ng
dng
Cc nt c t chc thnh mng bao ph
Trn nn ca mng bao ph, hnh thnh cc
nhm
Thnh phn ca cc nhm khng ph thuc
vo v tr v bng chn ng ca cc b nh
tuyn
Vic nh tuyn v chuyn cc thng bo c
th khng ti u.
Cc h phn tn @ H Quc Trung
2010
85
Xy dng mng bao ph
Xy dng theo cu trc hnh cy
Hiu qu
Vng
Xy dng theo cu trc ty

Cc h phn tn @ H Quc Trung
2010
86
II. M hnh r tai
Qung b cc thng tin ch da vo cc thng
tin cc b
Cc nt mi b ly thng tin khi c trao i
thng tin vi nt c thng tin
Cc quan h ly
Cp nht thng tin mt chiu (push)
Truy vn thng tin (pull)
Trao i thng tin 2 chiu (push-pull)
Nhc im: tnh chnh xc ca thng tin
Cc h phn tn @ H Quc Trung
2010
87
Tnh bt nh
Khi no mt nt ngng ly lan cc nt khc
Khi trao i vi tt c cc nt k
Khi tht bi trong qu trnh trao i vi cc nt k
Khi trao i vi nt k v thy thng tin c hn
u im
Ph bin thng tin nhanh v hiu qu
Nhc im
Loi b thng tin kh khn
Cc h phn tn @ H Quc Trung
2010
88
Ni dung
1. Kin trc phn tng
2. Li gi th tc t xa
3. Trao i thng tin bng thng bo
4. Trao i thng tin dng
5. Trao i thng tin a im

89
Cc h phn tn @ H Quc Trung
2010

You might also like