How do servers communicate with other computers?

JJ Powell • Mar 01, 2019

jellyfish server

We hear the term “server” all the time - mail servers, cloud servers, web servers, file servers etc. It’s a very confusing term for anyone who isn’t an IT professional. If you’ve been ignoring them, hoping they’ll eventually fade off into the sunset, we have bad news for you: servers aren’t going anywhere. In fact, they are becoming a huge part of our professional lives whether we like it or not. So what is a server, exactly?


How do servers work?

All servers, by definition, are computers that use different services to communicate with other computers - clients.

Now, you don’t need to know exactly how a server works in order to use it, but it’s good to know what it does and how to take advantage of its functionality.

For the purposes of this article, we will only be talking about file servers and what you need to know about them in order to implement them in your video post-production workflow. Usually, a file server is used to communicate with client computers over a local network. What that means is that in order for you to achieve good speeds in your data transfer (between server and clients) usually the server will be physically present in the building and will be connected to your client computer (Mac, Windows, Linux) via a cable.

Imagine you have a number of video editors and all of them need to access the same video and project files. Now, to avoid every editor copying the same footage and projects locally on their computer or an external drive, your company may purchase a file server, a.k.a shared storage or network storage. This is where you will keep all of the footage and project files. All of your video editors can access the shared storage to work from the same files and collaborate on the same project.

5 connected computers and 1 server

As we know, video files can get quite large especially, when shooting in 4K resolution and raw formats. A cable connection (instead of wifi) will ensure good and stable communication between your server and your client machines. This will make uninterrupted real-time video playback possible even if you are editing a multicam video. We’ll talk about the different types of hardware connections in a different article. Here, we will only focus on the importance of software compatibility between server and clients.

The server is a computer. It may be more powerful, it has more storage capacity and it has different features from your personal computer but it is a computer. It has its own operating system, file system, interface and it uses different services to communicate with client computers. Those services are called networking protocols. Here, we will cover the most popular ones when it comes to video post-production workflow. What are the differences and similarities, pros and cons and when you should use what.


What are the network protocols used for?

The goal with connecting your server to your computer is to see the server as a shared volume on your Mac, PC or Linux client. That will allow you, for example, to create a video project (in your video editing application) on one computer, import some video files in the project and organize them. And if you store your project file on that shared volume (the server), you would be able to open that project from another client computer connected to the server. The action of connecting the server to the client and having it show up as a shared drive is called mounting.

Mounted share to a Mac

Mounted share to a Mac

Mounted share to a Windows PC

Mounted share to a Windows PC

Each OS has built-in, generic protocols of mounting network storage. These protocols have a base level of functionality that most any OS will understand. This makes connecting to new network storage easier, and also eliminates the need for custom drivers to access the network storage.

Networking protocols are like different languages that computers speak in order to communicate with each other and share files. The ones that are most commonly used for video post-production are NFS and SMB.

Assuming your server supports both, here is some comparison that might be helpful to identify what is best for your workflow and your environment.


NFS vs. SMB: Top Features and Known Issues


Stability and Connectivity

Generally speaking, NFS is more sustainable and robust when it comes to network interruptions. It is rarely affected by network adapter updates or OS updates which makes it more reliable and future proof.


Recycle Bin

With SMB shares, you have the option to enable a recycle bin that lives on the share itself. That means, that every time you delete a file from the share, it will be sent to that recycle folder and you can delete it from there later. That minimizes the possibilities for a user error.

NFS doesn’t have that option. However, that may not be a big deal if your server supports snapshots*.


Users and Groups Permissions

Let’s face it, security is important. If you have a larger team or freelancers, interns etc., you may not want everybody to have read and write access to everything. SMB allows you to give different access to different users and have everybody log in with their own username and password. If your server interface allows it, you might be able to do this by yourself and not worry about relying on your IT team for it.

NFS will only allow you to manage access to the share if you have a directory service* setup and bound to your server.


Date of Creation Known Issue

NFS doesn’t support metadata for file creation. Due to that, it assigns the same default date of creation for all files created on the NFS share.


Client OS compatibility

Let’s start with Windows because it’s pretty straightforward:


SMB and Windows (Recommended)

SMB is native to Windows. What that means is that you are likely not going to run into any issues. If your server supports SMB sharing and you have an all Windows PC environment, that’s likely what you should do. To work smoothly with Windows, there aren’t many special optimizations that your server needs.


NFS and Windows (Not so Recommended)

While it is possible to connect an NFS share to your Windows PC, it requires a third party app. That app will not be created and supported by your server manufacturer or by Microsoft, which makes it kind of unreliable. But if you needed to urgently connect an NFS share to your Windows machine, you can. (The app is called OpenText. Unfortunately, it has some issues when on a Windows 10 machine. Just heads up.)

Now, let’s talk about MacOS.


Both NFS and SMB are very well compatible with MacOS.


NFS & SMB Performance

In order to achieve the best performance, your server needs to support the latest version of NFS and SMB. To ensure that on Mac’s side you are also using the latest and greatest, your server should come with an application that helps you mount and also takes care of all that in the background.

When optimized correctly, the difference in performance between NFS and SMB is small. In some MacOS versions, it’s in favor of NFS and in some in favor of SMB. That strongly depends on the drivers for the network adapter or other optimizations that may have occurred in a specific version of the OS.


Mac Spotlight Search

With MacOS 10.14 Mojave now both SMB and NFS can be indexed. That means that you can search for files in your server through the Mac Finder.

If you are not using FCPX, you may want to consider SMB for your Mac connections. That way you will benefit from the features mentioned above.


Linux

NFS is native for Linux the same was SMB is for Windows so you are likely to have a much smoother experience with Linux if you are using NFS.


NLE Compatibility


Premiere Pro Compatibility

Premiere Pro was meant to work well with Windows PCs and while it runs pretty well on Macs nowadays, you will likely have a better experience if you use Premiere with SMB. Even on a Mac.


FCPX Library Support

If your team uses Final Cut Pro X, you should know that you can now store your libraries on both NFS and SMB. NFS and SMB are officially supported by Apple. NFS natively can store FCPX libraries but SMB can do that too if your server manufacturer optimized your SMB shares according to Apple’s recommendations.

Just heads up, if SMB is optimized for FCPX, you won’t be able to unzip files that have been zipped outside of that or other FCPX optimized share. It’s a small trade-off but we thought you should know!

Hardlinks. Even though you can store and use your libraries on your SMB share, you should know that SMB doesn’t support hardlinks. What that means is that when you consolidate an FCPX library (editors know what I mean) the media won’t be moved, instead, it will be copied to the new location.


Davinci Resolve

Davinci Resolve works well with both NFS and SMB. If you use it for coloring and you're running it on a Linux computer, you probably want to take advantage of NFS. If you are working on a Windows machine, you will use it with SMB and it will still work smoothly. And if you are running it on a Mac, you should probably choose NFS or SMB based on the other factors in your environment.


What's the best fit for your video team?

Now that you have the information, it’s time to choose a network protocol for your team. There is no right or wrong answer here. It all depends on what you want to do and how you want to work. You should decide what the priorities are for your team and which protocol will enable your team to be the most efficient.

Our hope is that this shed some light on some of the most confusing terms around servers and that will make it easier for you and your team to get settled with the workflow of your choice. If you're still unsure why getting onto a server and away from passing drive can make such a difference, check out this post on The Top 10 Reasons to Move to Shared Storage or even connect with our workflow team!

Other topics you might like