Any Port in a Storm

After a short hiatus imposed by a broken elbow, it’s high time for an update again. This time around, I want to focus on some basic design considerations that are derived from the requirements I explored in previous posts. The aim is to clarify some concepts, and as a result get a decent idea of the information we need to transmit in packet headers. In the previous post, I wanted to start with UDP as the base on which to build.

Communication Breakdown

Following my last post in which I worked through various definitions of reliability in networking, it’s time in this post to look at the main protocol contenders, and examine how they measure up to those definitions. Let’s recap quickly with a list. Reliability can mean… Soft delivery guarantees. Hard delivery guarantees. Hard delivery guarantees along the entire path. (This wasn’t mentioned last time, but we’ll get to it.) Strict ordering of packets.

Designing for Reliability

In the past months, I have not written much. I pushed forward with work for the Interpeer Project. But more recently, I also started as a researcher at AnyWi Technologies, joining friends from a past job. There, we participate in public/private research projects into next generation commercial drone platforms. While both domains have a multitude of differences between them, one strong overlap exists in the need for reliable and performant networking connections over the public Internet.