80 likes | 188 Views
WRET3105 Data Communication and Networking. TITLE: SMB Mazhafizie abdul halim (wet080008) Muhammad badrul hisyam (wet080009) Ahmad asyraf bin mustafa (wet080001). What is SMB??. SMB Server Message Block SMB also known as Common Internet File System ( CIFS )
E N D
WRET3105Data Communication and Networking TITLE: SMB Mazhafizie abdul halim (wet080008) Muhammad badrul hisyam (wet080009) Ahmad asyraf bin mustafa (wet080001)
What is SMB?? SMB Server Message Block SMB also known as Common Internet File System (CIFS) Originally designed by Barry Feigenbaum at IBMwith the aim of turning DOS "Interrupt 33" (21h) local file-access into a networked file-system
Functions of SMB Operates as an application-layer network protocol mainly used to provide shared access to :- - Files - Printers - Serial ports - miscellaneous communications between nodes on a network. It also provides an authenticated inter-process communication mechanism.
Implementation • Client-server approach • SMB works through a client-server approach • Client makes specific requests and the server responds accordingly • One section of the SMB protocol specifically deals with access to file systems, such that clients may make requests to a file server • Some other sections of the SMB protocol specialize in inter-process communication (IPC) • This virtual share is used to facilitate communication between processes and computers over SMB, often to exchange data between computers that have been authenticated.
Performance Issues • WAN performance issues:- • Performs more poorly than other protocols like FTP • Monitoring reveals a high degree of "chattiness" and a disregard of network latency between hosts • Microsoft has explained that performance issues come about primarily because SMB 1.0 is a block-level rather than a streaming protocol, that was originally designed for small LANs; it has a block size that is limited to 64K • Solutions to this problem include the updated SMB 2.0 protocol, Offline Files, TCP window scaling and WAN acceleration devices from various network vendors that cache and optimize SMB 1.0.
Opportunistic locking:- • File locking mechanism designed to improve performance by controlling caching of files on the client. There are 3 types of opportunistic locks: • Batch Locks • To support a particular behavior of MS-DOS batch file execution operation in which the file is opened and closed many times in a short period. • Exclusive Locks • When an application opens in "shared mode" a file hosted on an SMB server which is not opened by any other process (or other clients). This means that the client may now assume that it is the only process with access to this particular file. • Level 2 OpLocks • A Level 2 OpLock allows the caching of read requests but excludes write caching.
An Example SMB Exchange • The protocol elements (requests and responses) that clients and servers exchange are called SMBs. They have a specific format that is very similar for both requests and responses. • After connecting at the NetBIOS level, the client is ready to request services from the server. However, the client and server must first identify which protocol variant they each understand. • The client sends a negprot SMB to the server, listing the protocol dialects that it understands. The server responds with the index of the dialect that it wants to use, or 0xFFFF if none of the dialects was acceptable.
Once a protocol has been established. The client can proceed to logon to the server, if required. One of the most important aspects of the response is the UID of the logged on user. This UID must be submitted with all subsequent SMBs on that connection to the server. • Once the client has logged on, the client can proceed to connect to a tree. • The client sends a tcon specifying the network name of the share that they wish to connect to, and if all is kosher, the server responds with a TID that the client will use in all future SMBs relating to that share. • Having connected to a tree, the client can now open a file with an open SMB, followed by reading it with read SMBs, writing it with write SMBs, and closing it with close SMBs.