Since always in our reviews we have added information about SAMBA networks (SMB) to share files between Android and Windows devices, the difference in performance between raw measurement with iPerf and the value that we obtain in SAMBA is always clearly lower and today with this article will give you an explanation to this problem. We hope you find it useful to get the most out of your network.
|
GENERAL CONCEPTS ABOUT SAMBA
The SAMBA protocol is one of the most widespread when it comes to sharing units or network folders between Windows computers that is compatible with many other systems such as Android. This is an old and insecure protocol and since the update of Windows 10 Fall Creators Update the SMB v1 protocol has been disabled by default and your shared files may not work. This is a move to avoid the wave of Ramsomware attacks like those of the devastating WannaCry.
Differences between SAMBA V1 and V2
- Less complexity, going from more than 100 commands and subcommands to only 19
- Greater speed in the use of networks, management of open resources and users
- Greater security, HMAC SHA-256 replaces MD5 as a hash algorithm
- Scalability, use of caches and possibility of symbolic links
SAMBA ON ANDROID
As a general rule Android apps such as file browsers and media players have compatibility with SAMBA v1, as we will see below the performance using SAMBA v2 is much higher, it is necessary to know if our apps are compatible with this protocol, in the following list you have a summary about the best known.
- MX Player only supports SMB v1
- KODI V17 is only compatible with SMB v1
- KODI V18 is compatible with SMB v2
- ES Explorer Pro are only compatible with SMB v1
- ES Explorer is compatible with SMB v2 but have annoying ads
- CX Explorer, X-Plore, MiXplorer + addon SMBv2 are compatible with SMB v2, with no annoying ads.
- To set up our system check the tutorial Connect an Android device with your PC through SAMBA
PERFORMANCE TEST IN ANDROID AND WINDOWS
For our tests we performed a comparison of performance between SMB v1 and SMB v2 using a TV-Box with 10/100 Ethernet and another Gigabit connecting to a network PC with Windows 10. In the results you can see the difference in performance between what can be obtain the network adapter using SAMBA and what we get in our raw network.
As we can see the difference between the maximum raw performance of the adapter and what we get on SAMBA is quite large. The problem is in the SAMBA protocol used, by default almost all apps use SAMBA v1 which is highly inefficient and we improve results substantially if we use apps compatible with SAMBA v2 as we can see in the following graph, we have focused on the adapters Ethernet as reference but can be extrapolated to Wifi adapters.
- Over Ethernet 10/100 SMB V1 gets only 64% performance over SMB v2
- Over Ethernet Gigabit SMB V1 gets only 40% performance over SMB v2
- SMB v1 Gigabit obtains a performance of 15% of the maximum bandwidth
- SMB v2 Gigabit obtains a performance of 36% of the maximum bandwidth
Impact on streaming from a PC
As we can see in the performance figures, we have to take into account what bandwidth needs we will have for our network video files, if we deal with light files we will not have limitations but with the large ones we can have problems.
Conclusions regarding the previous table.
- If we are going to perform streaming of files in our network of files higher than 40 Mbps, we must use KODI 18
- a/b/g Wifi may be insufficient for heavy files and we will have to use a Ethernet adaptater
- If we are going to use SAMBA to transfer files, we must make sure to use a compatible SMB V2 browser
- If we use a USB Ethernet adapter we will be limited by the speed of that connector
USB 2.0 = 60 Mbps theoretical that can be only 35 Mbps
USB 3.0 = 600 Mbps theoretical that can be only 70 Mbps
ALTERNATIVES AND CONCLUSIONS
Alternatives to the SAMBA protocol
We can use other network systems to play files in our home network remotely, but keep in mind that almost none is as easy as simply using a SAMBA network.
- Network File System (NFS)
- Web server
- WebDAV
- FTP server
- uPNP and DLNA: we can install a server such as PLEX, Universal Media server or Windows itself. This system requires transcoding of some types of files and is not as efficient as our TV-Box that does not need this step.
Conclusions
As we can see the file transfer or file streaming with SAMBA between Android and Windows has certain key features that we have to know to get the most out of it. As we see many apps are not ready for SMB v2 but possibly this will change quickly because Microsoft has blocked by default SMB v1, hopefully soon all the most popular apps improve the performance of our network.
OTHER TUTORIALS
- Connect an Android device with your PC through SAMBA
- How to configure KODI with a SAMBA network in a simple way
- NFS server in Windows to share files with Android devices
It would be nice to mount the share as a system folder to be visible to other apps as well.
are there any android samba server that supports smb v2?
Maybe, but i don’t check it