Common protocol for distributed network file system
Abstract
Paper deals with common protocol for distributed network file system. Focus is on CIFS protocol from Microsoft, the enhanced version of Microsoft Server Message Block (SMB), that is proposed as possible common solution for file sharing among distributed systems. There are new requirements included as well, that are to be implemented due to recent changes in applications and devices and has been addressed in new generation of distributed file system protocols such as AFS2, CODA and WebDAV.
Full text
Common p o ocol o dis ibu ed ne wo k ile sysy em 231
COMMON PROTOCOL FOR DISTRIBUTED NETWORK FILE SYSTEM
P. Peniak
1)
, F., Kallay
2)
1),
IT se ice cen e o Eas e Eu ope (SCEE) Con inen al AG, Con inen al Ma ado T uck Ti es s. .o
T.Vanso ej 1054/45, 020 01 Púcho , el.: +421 42 4613479,e- mail: pe e .peniak@con i.sk
2),
Facul y o Elec ical Enginee ing, Uni e si y o Žilina,
Uni e zi ná 8251/1, 010 26 Žilina, e- mail: edo .[email p o ec ed]za.sk
Summa y Pape deals wi h common p o ocol o dis ibu ed ne wo k ile sys em. Focus is on CIFS p o ocol om Mic oso ,
he enhanced e sion o Mic oso Se e Message Block (SMB), ha is p oposed as possible common solu ion
o ile sha ing among dis ibu ed sys ems. The e a e new equi emen s included as well, ha a e o be
implemen ed due o ecen changes in applica ions and de ices and has been add essed in new gene a ion o
dis ibu ed ile sys em p o ocols such as AFS2, CODA and WebDAV.
1. INTRODUCTION
A ne wo k ile sys em is de ined as any
compu e ile sys em ha suppo s sha ing o iles,
p in e s o e a compu e ne wo k. Ne wo k ile
se ices enable compu e s a ached o he ne wo k o
access iles s o ed on o he compu e s in he same
way ha hey access iles on hei own disks. Tha
is, he clien in e ace used by p og ams should no
dis inguish be ween local and emo e iles. I is up o
he ne wo k ile sys em o loca e he iles and o
a ange o he anspo o he da a [1], [2].
The compu e which p o ides access o i s iles
and di ec o ies is called ile se e , and he compu e
using hese iles and di ec o ies is he clien . A
compu e can be clien and se e a he same ime.
Fo communica ion be ween se e s and clien s, he
speci ic ne wo k p o ocols a e used. The mos
popula a e he ollowing p o ocols, see Tab.1:
Tab.1 Ne wo k ile sys em p o ocols
– No ell
Ne Wa e DoD
TCP/IP Mic oso Ne wo k
7
6 NCP FTP, HTTP, NFS SMB, RPC
5 Ne BIOS
4 SPX TCP/UDP
3 IPX IP
Ne BEUI
NFS(Ne wo k File Sys em) –SunSys ems, IETF
NCP (Ne Wa e Co e P o ocol) -No ell
Se e Message Block (SMB) –IBM, Mic oso
File T ans e P o ocol (FTP) -IETF
Hype ex T ans e P o ocol (HTTP) -IETF
These p o ocols we e implemen ed in he
di e en ope a ion sys ems such as Mic oso
Windows (SMB) and UNIX/LINUX (NFS) [3].
The e o e, hei clien s canno use he di e en
ne wo k ilese e s by de aul , as shown in Fig.1a).
The e a e mul i-clien solu ions applied, wi h se e al
implemen ed ne wo k ile sys em p o ocols wi hin
gi en ope a ion sys em. Fig.1b) shows mul iclien
con igu a ion, wi h he p o ocol s acks o NFS and
SMB (SAMBA implemen a ion o SMB se e in
LINUX) so use s who wo k wi h UNIX o Mic oso
ope a ion sys ems, a e able o use he bo h ne wo k
ile sys ems. Ano he op ion is o de elop and
implemen a common ne wo k ile sys em ha
would be suppo ed by all pla o ms and supplie s.
Then, jus one p o ocol s ack could be used o
access and sha ing iles ia In e na . This op ion is
shown in Fig.1c.
a)
b)
c)
Fig.1 Possible access o ne wo k ile sys ems
232 Ad ances in Elec ical and Elec onic Enginee ing
Due o Mic oso supe io i y in numbe o ins alled
nodes in In e ne , he in oduc ion o common
ne wo k ile sys em p o ocol will equi e i s s ong
suppo and accep ance. Mic oso is cu en ly ying
o es ablish i s p o ocols as he o icial s anda d o
he In e ne . I could pe spec i e eplace he
cu en ly used FTP p o ocols and ile ans e s
h ough he HTTP p o ocol, which ep esen s
subs an ially he e ogeneous en i onmen wi h
p oblema ic secu i y. Mic oso has been ying o
push Common In e ne File Sys em (CIFS),
p o ocol h ough s anda diza ion p ocess since 1996
[4]. CIFS d a s we e e en p o ided o IETF so ha
i could be app o ed among In e ne s ada d
p o ocols.
2. COMMON INTERNET FILE SYSTEMS
Common In e ne File Sys ems (CIFS) is he
enhanced e sion o Mic oso Se e Message
Block (SMB) p o ocol ha de ines a emo e ile-
access o sha e da a on local disks and ne wo k ile
se e s, among dis ibu ed sys ems ac oss in ane s
and he In e ne . In addi ion o SMB, which was
de eloped on he op o NETBIOS-API, CIFS is
able o un o e TCP/IP and u ilizes he Domain
Naming Se ice (DNS). I is op imized o suppo
communica ion ia In e ne wi h a ious speed
le els. CIFS complemen s Hype ex T ans e
P o ocol (HTTP) while p o iding mo e sophis ica ed
ile sha ing han adi ional p o ocols, such as FTP.
The CIFS p o ocol is no only a ailable o
se e s and PCs, bu also o embedded de ices and
dis ibu ed sys ems. I had o be scaled down in size
and ewo ked o mul i asking ea u es o mee he
needs o embedded de ices such as eal- ime,
de e minis ic esponse imes, small memo y, and a
a ie y o mic op ocesso – ile sys em combina ions.
The using o CIFS o se e s and embedded de ices
is shown in Fig.2. The ile sha ing is independen
on hos ing pla o m and embedded ope a ion
sys em/ ile sys em.
Fig. 2 CIFS p o ocol in se e s and embedded de ices
CIFS p o ides he ollowing unc ions:
File Access
Suppo o basic ile ope a ions (open, close,
ead, w i e and seek).
Reco d lock and unlocking o mul iple clien s
access and ile sha ing and locking.
Pe o mance and po abili y
Highly in eg a ed wi hin he ope a ing sys em.
Suppo o all ecen Mic oso pla o ms and
o he ope a ion sys ems such as Unix, VMS,
IBM, Macin osh
Secu i y
Suppo o anonymous access(no au ho iza ion).
Enhanced secu i y and au hen ica ed access
Op imiza ion
Imp o ed p o ocol pe o mance
Reduc ion o o e head in SMB p o ocol
Global File Names
No need o moun emo e ile sys ems,
Access based on globally signi ican names
Unicode File Names
Because CIFS is mainly based on SMB p o ocol we
will explain below i s co e unc ions.
3. SMB PROTOCOL
The SMB (Se e Message Block) p o ocol
was o iginally de eloped by he company IBM in
co-ope a ion wi h he company Mic oso o one o
he i s ne wo k ope a ing sys ems, he PC Ne wo k
P og am .1.0. Today, his p o ocol is he mos
equen ly used one in he ield o pee - o-pee
communica ion o LAN ne wo k ile se e s and
clien s. The SMB p o ocol is cu en ly used by ile
and p in se e s IBM, Mic oso ’s ne wo k
ope a ing sys ems (Lan Manage , Windows NT, XP,
Vis a). The p o ocol heade and basic se ices a e
shown in Tab. 2 and Tab. 3.
Tab. 2 Heade o SMB p o ocol
SI D S C
R
C A
H RC RS NI
D PI
D UID MI
D P PC
d BL B
1 3 1
1 1 2 15 2 2 2 2 1 2 2 1
Σ 38 B
MARKING MEANING
SID SMB
Iden i ica io
n
Iden i ica ion o SMB p o ocol (0xFF)
S Se e Iden i ica ion o SMB se e ’s dialec
C Command Func ional code o called SMB se ice
R Re u n Class SMB unc ion e u n code class
AH P ocesso
AH egis e Resul o ope a ion in egis e o AH
p ocesso
RC Re u n Code
Re u n code o ope a ion
RS Rese e Rese e o u u e ex ension
NID Ne Pa h ID Iden i ie alloca ed o sha ed means
PID P ocess ID Iden i ie o clien ’s p ocess
UID Use ID Iden i ie o use
MID Mul iplex ID Mul iplex iden i ie o clien p ocess
P mc Pa ame e
Coun Numbe o op ional pa ame e s o called
unc ion
Common p o ocol o dis ibu ed ne wo k ile sysy em 233
PC Pa ame e
Code Called unc ion pa ame e code
BL Bu e
Leng h Leng h o da a pa o SMB block
B Bu e Fi s oc e o da a pa o SMB block
Tab.3 Example o SMB se ices
The SMB block wi h a clien ’s eques and a
se e ’s answe a e p ac ically iden ical, hey jus
di e in he da a pa and he leng h o he da a
bu e . An example o communica ion o a clien
wi h an SMB se e can be seen in Fig. 3.
Fig.3 Example o clien communica ion wi h SMB se e
The p o ocol wo ks on he basis o he clien /se e
model. A se e p o ides o ne wo k clien s he co-
called sha ed esou ces, usually sha ed disks,
di ec o ies, p in iles and named pipes. Sha ed
esou ces a e iden i ied h ough an uni e sal
ne wo k add ess called UNC
se e _name esou ce_name.
A clien secu es he o mula ion o equi emen s o
sha ed se e esou ces. The SMB se e analyses
equi emen s sen by a clien in he o m o an SMB
block (packe ), i checks an access pe mission, and
based on ha i ca ies ou a equi ed ope a ion ( ile
opening, w i ing in o p in ile, c ea ion o a
di ec o y, e c.) The eply, oge he wi h he esul , is
sen o he clien in an iden ical SMB block. In he
implemen a ion o SMB se e s, wo di e en
me hods o secu ing access o sha ed means o he
se e a e o e ed h ough:
con ol o access a he sha e le el
con ol o access a he use le el
In he i s case he access o sha ed esou ces
is allowed o all ne wo k nodes ha ha e a alid
passwo d alloca ed o a esou ce o a se e . Du ing
an a emp o access any se e esou ce, a passwo d
is equi ed om he clien .
A e i s success ul en e ing, an NID
(Ne wo k ID) esou ce iden i ie is alloca ed o he
clien , h ough which i accesses he esou ce. Thus
a numbe o passwo ds wi h di e en access le els
can be alloca ed o each sha ed se e esou ce. In
he o he case, he clien is e i ied hough a name
and a passwo d immedia ely a e he connec ion o
he se e , and in he e en o hei co ec ness, he
se e alloca es o he clien i s use iden i ie UID
(Use ID), h ough which he se e de i es access
igh s o indi idual sha ed esou ces. In a mul i-use
en i onmen , when se e al p ocesses can
communica e simul aneously wi h he se e , a
couple o PID (P ocess ID) and MID (Mul iple ID)
iden i ie s can se e o hei dis inguishing.
The clien sends he se e an
SMB_COM_NEGOTIATE eques , h ough which
he se e and he clien nego ia e connec ion
pa ame e s and a suppo ed p o ocol e sion.
Subsequen ly, he clien sends o he se e a
SMB_COM_SETUP eques , in which he e is he
use ’s name and passwo d. I he se e wo ks in he
use -le el mode, i alloca es an UID iden i ie o he
clien . Th ough he SMB_TREE_CONNECT
message he clien connec s o a sha ed di ec o y
wi h a TID iden i ie alloca ed by he se e . Then
he c ea ion o a ( x) FID subdi ec o y and he
disconnec ion o he se e ollows.
SMB BLOCK
CODE
SERVICE
SMB_COM_CREATE_DIRECTORY 0x00 C ea ion o di ec o y
SMB_COM_DELETE_DIRECTORY 0x01 Dele ion o di ec o y
SMB_COM_OPEN 0x02 Opening o ile
SMB_COM_CREATE 0x03 C ea ion o di ec o y
SMB_COM_CLOSE 0x04 Closing opened ile
SMB_COM_DELETE 0x06 Dele ion o ile
SMB_COM_RENAME 0x07 Renaming o ile
SMB_COM_READ 0x0A Reading om an
opened ile
SMB_COM_WRITE 0x0B W i ing in o opened
ile
SMB_COM_LOCK_BYTE_RANGE 0x0C Locking ile by e
ange
SMB_COM_UNLOCK_BYTE_RANGE 0x0D Unlocking ile by e
ange
SMB_COM_CHECK_DIRECTORY 0x10 Sea ching h ough
di ec o y
SMB_COM_SEEK 0x12 T ans e in open ile
SMB_COM_TREE_CONNECT 0x70 Connec ion o sha ed
means
SMB_COM_TREE_DISCONNECT 0x71 Disconnec ion om
sha ed means
SMB_COM_NEGOTIATE 0x72 Nego ia ion o SMB
pa ame e s
SMB_COM_SESSION_SETUP_ANDX 0x73 Connec ion o SMB
se e
SMB_COM_LOGOFF_ANDX 0x74 Disconnec ion om
SMB se e
SMB_COM_OPEN_PRINT_FILE 0xC0 Opening p in ile
SMB_COM_WRITE_PRINT_FILE 0xC1 W i ing o p in ile
SMB_COM_CLOSE_PRINT_FILE 0xC2 Closing p in ile
SMB_COM_NEGOTIATE
NID:0,UID:0,PID:53
SMB
se e
SMB
clien
139
1029
SMB_COM_SETUP
NID:0,UID:1,PID:53
SMB_COM_TREE_CONNECT
NID:10,UID:1,PID:53
SMB_COM_CREATE_DIRECTORY
NID:10,UID:1,PID:53,FID:1 „ x“
SMB_COM_TREE_DISCONECT
NID:100,UID:1,PID:53
SMB_COM_TREE_DISCONECT
NID:0,UID:0,PID:53
234 Ad ances in Elec ical and Elec onic Enginee ing
Fig.3: Example o SMB packe
4. CONCLUSION
T adi ional ne wo k ile sys ems we e c ea ed in
a wo ld whe e he dominan ne wo k pa adigm was
he LAN/WAN. Lack o s anda diza ion caused ha
common s anda d has no been selec ed and
app o ed ye , despi e o ISO s anda d FTAM (File
T ans e and Access P o ocol) and ecen Mic oso
ac i i ies wi h i s p oposed solu ion -CIFS.
In addi ion he ne wo k ile sys em challenge has
become he dis ibu ed ile sys em and connec ions
ia In e ne /WAN, as he e is mo e om sel -
con ained LAN en i onmen s o a wo ld o
dis ibu ed sys em and e en a ely connec ed
de ices. This kind o ne wo k en i onmen
in oduces a leas h ee main challenges:
Au hen ica ion
Da a T anspo
Synch oniza ion
Some o hese issues could be sol ed a he
applica ion le el a he han he ile sys em le el.
Fo ins ance, Rsync, a powe ul p og am ha came
ou o he Samba p ojec p o ides emo e ile
synch oniza ion o e he ne wo k. Ano he
al e na i e o adi ional p o ocol is o example,
AFS (And ew File Sys em) and CODA. Coda is
a dis ibu ed ile sys em de eloped om AFS2.
Coda is designed o mobile compu ing in an
occasionally connec ed en i onmen . Coda clien s
main ain a pe sis en cache o copies o iles om
he se e . Coda checks he ne wo k bo h o he
a ailabili y o connec ions be ween clien and
se e , and o he app oxima e bandwid h o he
connec ion.
As explained he e a e s ill he di e en solu ions in
place, such as NFS in Unix and CIFS/SMB in
Mic oso wo ld. The u u e de elopmen mus
conside no only equi emen o common ile
sys em and p o ocol, bu also o include he new
equi emen s ega ding dis ibu ed sys ems,
eplica ions, caching, which ha e no been aken in o
conside a ion ye .
The e o e he nex de elopmen will ha e o
sol e he men ioned challanges and o come wi h a
p oposal o new solu ion, which will enable
implemen a ion o dis ibu ed ile sys em o open
and embedded sys ems as well.
REFERENCES
[1] FRANEKOVÁ, M., KÁLLAY, F., PENIAK, P.
VESTENICKÝ, P.: Komunikaná bezpenos
p iemyselných sie í. ŽU Žilina, 2007, ISBN
978-80-8070-715-6.
[2] KÁLLAY, F., PENIAK, P.: Poí ao é si
LAN/MAN/WAN a jejich aplikace, G ada,
2003, ISBN 80-247-0545-1.
[3] PUŽMANOVÁ, R.: Mode ní komunikaní sí
os A do Z, Compu e p ess 2002, ISBN 80-
7226-098-7.
[4] i m documen a ion