COMMONINTERNETFILESYSTEMPROXYCS739PROJECTREPORTANURAGGUPTA,DONGQIAOLI{anurag,dongqiao}@cs.wisc.eduComputerSciencesDepartmentUniversityofWisconsin,MadisonMadison–53706,WIMay15,199911. Introduction1.1ServerMessageBlock(SMB)Server Message Block (SMB) is a protocol for sharing files, printers, serial ports, andcommunicationsabstractionssuchasnamedpipesandmailslotsbetweencomputers.Itisaclientserver,request-responseprotocol,exceptforthecasewhentheserversendsanasynchronouslockbreakrequesttotheclientiftheclientrequestedalockonaresource.ClientscanconnecttoserversusingTCP/IP,NetBEUIorIPX/SPX.Oncetheyhaveestablishedaconnection,clientscanthensendcommands(SMBs)to the server that allowthemto access shares, open files, read and write files and other file systemactivities.However,inthecaseofSMB,thesethingsaredoneoverthenetwork.1.2CommonInternetFileSystemTheCommonInternetFileSystem(CIFS)[1]isafilesharingprotocolthatistheMicrosoftversionofadistributedsystem.Itisintendedtoprovideanopencross-platformmechanismforclientsystemstorequestservices(e.g.fileandprinter)fromserversystemsovera network(potentiallytheInternet).ItisbasedonthestandardServerMessageBlock(SMB)protocolwidelyinusebypersonalcomputersandworkstationsrunningawidevarietyofoperatingsystems.TheCIFSprotocolsupportsfeatureslikefileaccess,fileandrecordlocking,safecaching,read-ahead and write-behind, file change notification, protocol version negotiation, extended attributes,distributed replicated virtual volumes, server name resolution independence, batched requests andUnicodefilenames.CIFSistransportindependent.Itassumesareliableconnectionorientedmessage-streamtransportandmakesnohigherlevelattemptstoensuresequenceddeliveryofmessagesbetweentheclientandserver.Italsoassumesthatthereexistssomemechanismtodetectfailuresofeithertheclientorserverandtodeliversuchanindicationtotheclientorserversotheycancleanuptheirstate.Forexample,CIFS2canberunoverNETBIOSoverTCPorjustoverTCP.IfaCIFSserverreceivesatransportestablishmentrequestfromaclientthatitisalreadyconversingwith,itterminatesallothertransportconnectionswiththatclient.TheCIFSprotocolsupportsthefollowingSMBprotocols:• PCNETWORKPROGRAM1.0• LANMAN1.0• LM1.2X002• NTLM0.121.3SambaSambais apopularimplementation of CIFS.TheSambasoftwaresuite [2] is a collection ofprogramsthatimplementtheServer MessageBlockprotocolforUNIXsystems.Itis an opensourcesoftware suite that provides seamless file and print services to SMB/CIFS clients. Samba is freelyavailable under the GNU General Public License. It is a widely adopted solution to integrateMicrosoft/IBMstyledesktopmachinesorMicrosoft(etc)serverswithUnixorVMS(etc)servers.Sambaprovidesthefollowingfeatures:• SMBserver:toprovideWindowsNTandLANManager-stylefileandprintservicestoSMBclientssuchasWindows95,WarpServer,smbfsandothers• NetBIOSnameserver:whichamongotherthingsgivesbrowsingsupport.SambacanactasthemasterbrowserontheLAN• ftp-like SMB client: to access PC resources (disks and printers) from UNIX, Netware and otheroperatingsystems3• atarextensiontotheclientforbackingupPC’s• limitedcommand-linetoolthatsupportssomeoftheNTadministrativefunctionality,whichcanbeusedonSamba,NTworkstationandNTserver3.ProjectOverview3.1Objective
View Full Document