4 ms·
> "Please don't rewrite your network stack unless you can afford to dedicate a team to support it full time." Generally agreed but there's a caveat to this sta
by chetanahuja 10y ago
> "Please don't rewrite your network stack unless you can afford to dedicate a team to support it full time."
Generally agreed but there's a caveat to this statement.
> "Twice in my career I have been on teams where we decided to rewrite IP or TCP stacks."
This is the caveat. Don't try to rewrite a protocol that's already running billions of devices on the internet which you have to interoperate with. It's a much more tractable problem when you control both ends.
Twice in my career, I've worked on protocols (with success... the first company went public, second has it's protocol working well in millions of devices). Both times, the protocols were key to the business of course and both times the "custom" protocol only had to interoperate against itself on the other end.
- jfoutz 10y agoI've always thought custom implementations of this flavor were smart or dumb. It's never an OK choice, there's never a middle ground. I think in your case, it's a big win. In the op's case, it was a bad choice. I'm not saying the op's team aren't smart and capable people. They just made a bad choice. Fundamentally, it's a hard thing to get perfect. There are lots of pointy edges in that code. If it is to be undertaken, it needs to be a huge win. The potential for a huge win is worth the effort.
- hacknat 10y agoDid you work at Onlive or something? I was always curious what their protocol was doing. I never bothered to look, because I figured it would take a while to figure out what I was looking at.
- chetanahuja 10y agoNo it wasn't Onlive. The company that went public was Riverbed and they used their custom TCP between their appliances. My current company (which I founded) is PacketZoom and our custom protocol (built on top of UDP) communicates between our SDK in the mobile app and our servers distributed around the world.
- vocatus_gate 10y agoWe use Riverbeds on either side of our sat shots here in Antarctica. Work fairly well for the most part. I didn't know they were running a custom TCP implementation in between the end devices.