2

Everywhere I keep finding "to achieve low latency" or "latency is of concern", do this!

So, I don't really get what are the other concerns other than latency. I mean who doesn't want low latency? Or don't they?

Of course, packet loss could be one concern. In production systems where users work with data on a remote network (Eg: NFS), packet loss is not accepted. But doesn't TCP protocol resend a packet if an in time acknowledgement not received? If it is, I guess we shouldn't worry about packet loss which might occur not much frequently and can be resent any time, unless the architecture allows it to have frequent packet loss.

So, are there any other concerns?

I am not from networking background. So, I am wishing that the explanation is as elaborate as possible.

Thanks!

1
  • Did any answer help you? If so, you should accept the answer so that the question doesn't keep popping up forever, looking for an answer. Alternatively, you could provide and accept your own answer.
    – Ron Maupin
    Commented Aug 13, 2017 at 16:28

8 Answers 8

2

The tuning concerns that I can think of are:

  1. Packet loss - When TCP encounters packet loss, it has to recover - but it starts with a small window and opens it back up again over time. The longer the latency, the longer the control loop is for doing this. So, all other things being equal, the time necessary for a TCP connection to recover from loss goes up as the round-trip time goes up.
  2. UDP tuning - UDP will not get a full speed without some tuning as well.
  3. Router/Switch Buffer Size tuning - In most cases, switches and routers are configured for "best-effort" packet forwarding. This means that the router forwards all packets it receives to the best of its ability. The router forwards a packet as soon as it can perform the table lookup necessary to determine the appropriate egress interface for the packet. If the router is unable to send a packet immediately, the packet is queued. If the queue is full, the packet is dropped.
  4. Router tuning - Some of the problems caused by routers and switches are simple configuration errors, while other problems are caused by hardware limitations.
  5. Firewall performance tuning - Firewalls can often slow down your throughput. Firewalls often have small input buffers, since they are typically designed to scale to large numbers of low-speed flows, rather than a few high-speed data flows. If the firewall's input buffers are too small to hold the bursts from the data transfer host, packet loss will result, often causing severe performance problems.
  6. MTU size issues - A good approach is often to create a new jumbo frame enabled subnet for your high-speed data transfer hosts.

  7. Security - perform network security testing to validate your security infrastructure.

2

Good question, Low latency = Healthy network (In my case 200 miles of fiber 4ms round trip) High latency = Hardware failures, Bad network config or bad design

In our network we need low latency to minimize PTZ delay on our cameras. I.G. When a operator sends a PTZ command the amount of time it takes to reach the camera and send video back to our video wall is sub-seconds. Easy to control. If the latency is high the camera will seem sluggish and non responsive.

Hope it helps

1

Many different and useful answers have been given, but I'd like to point out one more factor for tuning networks: costs.

You may want to utilize the cheaper backbone connection or transit links more heavily than the expensive ones. This may reduce the need of upgrading the more expensive links, or additional costs for example when usage based billing is applied.

0

Packet loss is a concern for TCP, big concern. You can have low latency, but high packet loss means TCP has to resend more packets, which will slow down the communication. The way TCP works is that it sends a bunch of data and waits for acknowledgement. Since you don't have a network background, i will stay away from advanced concepts like retransmissions and Selective Ack. If there is packet loss, TCP will replace the packet BUT it will make the connection poor or slow.

The next tuning can be looking into reasons for packet loss, like low up stream bandwidth, or heavy utilization on ports of devices with small buffers.

yet another form of "tuning" can be looking into MTU sizes and fragmentation. Say if you're running multicast over GRE over IPSEC. You may have the lowest latency, and the highest bandwidth, but without tweaking your MTU, you will see very poor performance. Which in the example of multicast video would mean a pixelated video at the client end.

If by network you mean "Layer 3 and below", the tuning can go into design choices, load balancing, fault tolerance.. many other things.

However these days, a lot of the bottle necks are above layer3. (OSI model)

3
  • So, do you mean a packet loss due to insufficient buffer is significant. As I read that the device will advertise new window size and subsequent request from the clients is less than the new accepted window size. So, can it be much concern? And I meant the tuning at OS level, as I am linux administrator. Network level architecture is not under my scope.
    – GP92
    Commented May 10, 2017 at 19:34
  • I would not recommend "tuning" tcp settings in the linux stack, specially without a decent understanding of TCP/IP. Commented May 10, 2017 at 19:36
  • @Stanely: Yes, that's right! It's not for tuning actually. It's just to find accurate utilities to measure performance. And I really want to understand the architecture more deeply to troubleshoot any issues to the best of my knowledge. And tuning of course will be done only if we know 200% what were are doing!
    – GP92
    Commented May 10, 2017 at 19:39
0

You can also tune a network for convergence time or stability ( often the two are in conflict). When changes occur you want the network to detect and adjust quickly, but you don't want rapid changes to cause instability or overload your routers.

0

Security!

Security is always a concern no matter what. And of course, Network being the most sensitive and crucial part of an organization, it must be protected with utmost concern.

There are a lot of ways for a network be vulnerable to security threats as listed here.

Network tuning is done mostly to protect against DoS as far as I know. Considering other kinds of threats/attacks such as any form of intrusion, malware, spoofing etc. you need dedicated modules like firewalls, IDS/IPS in place.

0

There are both hardware and software (configuration) concerns. Latency, jitter, out-of-order packets, MTU, codec choice, link characteristics, proper atmospheric conditions (heating/cooling/operating temp ranges), per link concerns (such as Fresnel zone, interference, etc for Wireless and cable type for wired), routing, network security. Those are a few.

0

Don't forget UDP. Phones use UDP and can't resend packets. A lot of CCTV cameras and other devices use UDP well and rely on a stable network. Latency, Jitter, lower than required bandwidth and packet loss can't be afforded when using UDP. The data doesn't/can't resend if it fails.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.