↓ Skip to main content
  1. Posts/

File Transfer Protocols (FTP, NFS, SMB, UPnP, DLNA) Part 1

·
Rubén Infante Docio
Author
Rubén Infante Docio
Software engineer
Table of Contents

Introduction
#

I recently formatted my home server.

Today it was time to configure the interconnection with other devices for data exchange both internally LAN and the internet.

To do this, I started to think about what protocols I would implement for file transfer and decided that the best way to choose was to perform a small analysis:

Features
#

Let’s see what we look for in a file transfer protocol.

  • Security
    • This is an important point to keep in mind for me, this will be my third home server and I want it to be secure, at least in terms of connections through the internet, if we have a Ethernet connection at home and a well-secured wifi.
  • Speed
    • When I want a file I want it now and every second I spend looking at a progress bar is a second of my life lost
  • Energy consumption
    • As we will use a NAS, MediaCenter etc laptop, the less constant consumption we have of processor, the better, avoiding demons etc.
  • Resource consumption
    • Most home servers are usually made with an old computer, and we don’t want that because we have too many services running we can’t smoothly watch a good 3D mkv by streaming from the village house.:D
  • Ease of Setup

Protocols
#

Let’s see a little of its characteristics, advantages and disadvantages:

  • FTP
    #

    • FTP Simple
      #

      • It is ruled out as a file transfer system, since there are better solutions for LAN and for the internet FTP is an insecure protocol, despite its widespread use.
      • However, it is the one that can offer us the best performance and speed if our server has few resources since it will not have to encrypt and decrypt the connection
    • SFTP
      #

      • Every server must have an ssh shell in order to connect remotely, so this option
        • It is a secure protocol.
        • It prevents us from having another demon running around.
        • It prevents us from managing users separately.
        • Since we have openSSH installed on our server we would not need to configure anything else.
        • It uses a single communication channel, so connections through a firewall are easier. (Those who have set up an FTP in AZURE on top of a Linux virtual machine will know what I’m talking about :D.)
    • FTPS
      #

      • It is a secure protocol.
      • It requires minimal knowledge for its configuration.
      • Requires installation of a service.
  • NFS
    #

    • He has a reputation for being fast.
    • In the tests it has given a terrible result.
    • It serves both over the internet and LAN.
    • Its configuration, with authentication is not trivial.
    • From Windows 8 onwards, this protocol is only supported in the enterprise version and non-native clients such as Nekodrive do not support Windows 8 either.
    • It has great stability superior to SMB for large files.
  • SMB
    #

    • This protocol has the disadvantage of being used only for LAN networks.
    • Its configuration is trivial.
  • UPnP (Streaming)
    #

For the use of multimedia files in streaming to and from other devices such as other mobile PCs or tablets.

  • Server
    #

Plex will be in charge of acting as a file server, both through LAN, UPnP, DLNA and through the internet.

  • Client
    #

This server will be connected to the TV and the sound system, so XBMC will be in charge of receiving and playing the multimedia files.

In the second and final part of this series we will analyze the transfer speeds of these protocols to opt for one or the other.

Via Flikr:

Related