In this video from ITFreeTraining, I will look at the two file protocols supported by
Windows. These two are SMB and NFS. To tart with I will look at SMB.
SMB or Server Message Block was originally designed by IBM back in the 80’s. Microsoft
took the protocol and added additional features to it. This included other software used by
Microsoft like Lan Manager. This allowed the Windows operating system to map a drive to
remote file share and have this network drive accessed on that computer just a like a local
hard disk.
To make things simple, I will skip the 3rd and 4th point, but I will get back to them
in a moment. Microsoft released SMB 2.0 with Windows Vista. This was a major rewrite of
the protocol which, besides adding additional features, it also reduced the chattiness of
the protocol. In other words, how much data it transmitted over the network.
SMB 3.0 was released with Windows 8 and Windows Server 2008 R2. It adds additional functionality
and improvements to the protocol. A lot of these are aimed towards data centers. When
a network share is mapped, Windows still automatically perform the negotiation and work out which
version of SMB needs to be used.
So, what were those points that I skipped. In the late 90’s Microsoft attempted to
rename SMB to CIFS or Common Internet File System. This attempt was unsuccessful so I
skipped these points so as not to confuse you. CIFS had some additional features added
to it. However the name did not catch on and future versions used the name SMB. For this
reason CIFS is referred to as a dialect of SMB. You may hear the terms SMB and CIFS used
interchangeably, but they are essentially referring to Windows file sharing. As we move
forward, however, only the term SMB should be used and CIFS should be remembered as a
thing of the past.
The next file system that I will look at is Network File System or NFS. This was originally
developed by Sun and released in the late 80’s. Version 1 was used internally in Sun
and was never released. Version 2 was released to the public. This provided basic network
file sharing and was used extensively with UNIX based systems.
Version 3 was release in 1995 and added 64bit support and supported files larger than 2 gigabytes.
Version 4 was released in 2000 and added performance and security improvements. These improvements
allowed for additional security methods to be applied to authenticate users (for example,
Kerberos) making version 4 of the protocol a lot more secure than previous versions.
In the real world, which protocol would you use? Windows shares support SMB, NFS or both.
It is just a matter of configuring which one you need or both if you need both.
In the real world it is best to use a native protocol when possible. If you are connecting
two UNIX computers together it is best to use NFS. If you are connecting two Windows
computers together it is best to use SMB. Even though both protocols achieve file sharing,
there are differences in the way Windows and UNIX based systems handle file systems and
users that use these systems. Mixing the two systems can lead to problems.
NFS is good for host authentication. If you want to connect two servers together, you
can do this quite easily. This can be placed in the boot up configuration and the data
available to the operating system without having a user logged in. You could even connect
to another server based on its IP address only. Windows requires user authentication
in order to connect to a SMB share and generally the user needs to be logged in. It is possible
to get around this, for example for services running on the local system, but it not as
simple as NFS makes it.
Windows is good for user authentication. Until version 4 of NFS, this was something that
NFS did not handle that well and was prone to security problems. If you have a domain,
then Windows handles user authentication quite well.
Ultimately the choice comes down to which operating system you are using and your software
requirements. In later videos, I will look at how Windows file sharing works and also
how to use NFS file sharing using Windows Server.
Well I hope that you have enjoyed this video and found it useful. For more free videos,
please see our web site or YouTube channel. Thanks for watching and see you next time.