How important is changing the MTU when setting up an NVR?

Most NVRs will not give you the option to change the MTU, but, in the event that one does, should you adjust the value or is it better to go with the default? If you already know what MTU stands for and why it’s important when there is data flow between devices, then you already are aware that the default value (which should be either equal to 1,500 or somewhere immediately below) should be good enough in most cases, including when dealing with NVRs and IP cameras.

Zosi NVR and cameras.

But there are cases when a VPN may limit the packet size, causing fragmentation or your router/wireless access point’s MTU configuration may not be aligned to the IP camera or NVR’s config. So, let’s explore the importance of setting up the correct MTU value and its possible impact on the connection between an NVR, the surveillance cameras and the router/gateway.

A brief explanation on what MTU is

I promise I’ll keep it short. The MTU stands for maximum transmission unit and it’s the largest size for a packet (measured in bytes) that can be transmitted over a connection between devices. The bigger the MTU, the more data that can be transmitted using a single packet, so there is more bandwidth left for other applications. But, if the packet is too large for a specific device (PC, smartphone, cameras and even NVRs), then it’s going to experience what is called packet fragmentation.

Camera footage from NVR.

What this means is that the large packet is divided into smaller sized-packets which are then sent towards the receiver. While the data is still received, the packet fragmentation will eat up more bandwidth (than when MTU is set properly) and there will be some noticeable delay (and lag). if we take a security camera as an example, this can cause a delayed response in case of emergency, as well as just a dropped connection between the camera and the NVR.

Obviously, you can’t really set whatever value you want because the standard Ethernet (IEEE) can only support up to 1,500 bytes but it is possible to push this limit up to 9,000 bytes with the help of jumbo frames. On a Gigabit and multi-Gigabit line, it is possible to set the maximum transmit unit to be larger than the 1,500b and, as expected, the effects are a far higher efficiency with less overhead. But do be aware that all devices in your network must support the set maximum transmission unit otherwise (or at least some coordination to happen at the switch level) there’s the dreaded packet fragmentation. If you need a more in-depth analysis, TechTarget did a fantastic job at explaining the MTU.

What’s the optimal MTU value on an NVR (and on security cameras)?

I do have an NVR from Reolink that has a few cameras hooked to it (the RLN8-410 v2), so I was curious about what’s the default value set by the manufacturer.

Searching the NVR interface for MTU.

Mind you, I never really had issues with the connection, so I didn’t have to change the MTU. So, I connected a monitor to the Reolink NVR and roamed the interface to see if I could check and change the MTU value. Reolink offers a lot of options, including some network-related ones, such as the possibility to set up DDNS, NTP, adjust the Port settings, as well as configure the IP Filtering. But there was no way to see what the MTU was – that doesn’t mean we can’t find out via other means. I checked what IP was given to the NVR from my router (I used DHCP) and then using a Windows machine, I opened a Command Prompt (run cmd) and pinged the Reolink NVR.

The command was the following:

ping 192.168.50.x -f -l 1500.

X is the address number given by the router. I went immediately with the maximum (1500) and the -f command means that there will be no fragmentation, while the -l command shows the size of the packets that are going to be sent. As you can see, I got the message that the ‘Packet needs to be fragmented but DF set’. That means that the MTU value of 1,500 bytes was too high, so I tried it out with lower values until I figured it out that it was 1,472 bytes. So, what happens if I set a different value on the router and/or on the cameras?

Pinging the NVR to check the maximum transmit unit.

What happens if the MTU value is too large?

Let’s say that you set the MTU to 1,400 bytes on your router (for direct connection to the camera) or on your NVR, while the camera has a larger MTU, let’s say 1,500 bytes. What will happen is that the packets sent from your camera will be dropped since they’re too large, so, ideally, you should set the MTU to a lower than 1,400 value.

Another important factor that you need to take into account is that using a VPN can mess up the connection to your NVR and cameras exactly due to MTU configuration mismatch. A VPN Server will usually have a lower MTU than 1,500, so be aware that you may have to change the maximum transmission unit on your cameras and, if possible to your NVR as well.

What if the MTU value is too small?

I have mentioned in the other section that the camera should have a lower MTU than the server, but can the packet size be too small? Yes it can. You’re not going to have dropped packets, nor worry about fragmentation, but it’s going to have an impact on the network efficiency nevertheless. That’s because less data is being transmitted, while wasting more bytes for the extra header data. Furthermore, it’s also going to waste processing power, so, ideally, just keep the values close together across the network.

Reolink NVR.

So, as a conclusion, yes, the MTU is important when setting up an NVR, although you’d most likely have to change it on your cameras and router since manufacturers like to put a default value that can’t be changed on an NVR, just verified.

Leave a Comment