SE Radio 573: Varun Singh on Evolution of Internet Protocols
In this episode, Varun Singh, Chief Products and Technology Officer at Daily.co, speaks with host Nikhil Krishna about the 30-year evolution of web protocols. In particular, they explore the impact of protocol ossification, which has supported the Internet's success but also limits the flexibility of evolving protocol suites such as TCP/IP and UDP by constraining future development. Varun points out how the end-to-end principle emphasizes full flexibility for end hosts, but the TCP implementation in the OS kernel as well as in "middle boxes" such as ISPs contributes to the constraints of ossification by blocking certain types of traffic. Further, the development of new protocols is challenging due to the need for backward compatibility with existing protocols. They discuss Google's efforts – and the challenges it has faced – in working to move the HTTP protocol forward. The role of standards bodies such as the IETF and collaboration between industry stakeholders is crucial for the evolution of internet protocols, requiring a balance between maintaining backward compatibility and introducing new protocols such as QUIC and HTTP/3 to address existing constraints and improve internet performance and security. indeed, QUIC includes features that seek to actively avoid ossification and encourage evolution.
In this episode, Varun Singh, Chief Products and Technology Officer at Daily.co, speaks with host Nikhil Krishna about the 30-year evolution of web protocols. In particular, they explore the impact of protocol ossification, which has supported the Internet’s success but also limits the flexibility of evolving protocol suites such as TCP/IP and UDP by constraining future development. Varun points out how the end-to-end principle emphasizes full flexibility for end hosts, but the TCP implementation in the OS kernel as well as in “middle boxes” such as ISPs contributes to the constraints of ossification by blocking certain types of traffic. Further, the development of new protocols is challenging due to the need for backward compatibility with existing protocols. They discuss Google’s efforts – and the challenges it has faced – in working to move the HTTP protocol forward. The role of standards bodies such as the IETF and collaboration between industry stakeholders is crucial for the evolution of internet protocols, requiring a balance between maintaining backward compatibility and introducing new protocols such as QUIC and HTTP/3 to address existing constraints and improve internet performance and security. indeed, QUIC includes features that seek to actively avoid ossification and encourage evolution.
This episode is sponsored by ClickSend.
SE Radio listeners can get a $50 credit by following the link below.
Show Notes
Related Episodes
- 232 – Mark Nottingham on HTTP2
- 505 – Daniel Stenberg on 25 Years with Curl/
- 404 – Bert Hubert on DNS Security
- 468 – Iljitsch van Beijnum on Internet Routing and BGP
Other References
Transcript
Transcript brought to you by IEEE Software magazine.
This transcript was automatically generated. To suggest improvements in the text, please contact [email protected] and include the episode number and URL.
Nikhil 00:00:49 Hello and welcome to Software Engineering Radio. Today we are going to talk about the protocols of the internet. I’ve got the great pleasure of introducing Varun Singh. Varun is the chief products and technology officer at Daily.co. Bringing over two decades of expertise in video communications. He previously co-founded and served as the CEO of callstats.io, a leading performance monitoring service for web RTC. Varun has made significant contributions to the field co-authoring 12 IETF and W3C specifications, earning several patents in real-time communications and receiving special recognition from the ACM Multimedia for his PhD thesis, which improved web browser call quality. He earned his PhD in multimedia networks and the telecom from Alto University, Helsinki, in Finland. Welcome to the show, Varun. Is there anything that I missed in your introduction that you would like to add?
Varun Singh 00:01:48 No, thank you for having me. It’s a pleasure talking to you and to reflect on the last 30 years of the internet so, I’m really happy to be here.
Nikhil 00:01:56 Yeah, it is an interesting topic. So let’s just dive right into it. I think one of the first topics that we wanted to talk about was this concept of protocol ossification. So what is protocol ossification?
Varun Singh 00:02:09 So protocol ossification means the loss of flexibility in evolving a protocol and in this case you’re talking about a suite of protocols like the TCP/IP and HTTP. Although I would say that without protocol ossification we would not have achieved the success that we did in the intervening years. So I can talk a little bit about history and like why in retrospect we call it ossification, but while it was happening we didn’t consider it as an ossification.
Nikhil 00:02:41 Sure. But before we get into that, maybe some examples of protocols that have experienced ossification and why this is such a concern.
Varun Singh 00:02:50 It’s a good question. So if you think about when we talk about networking or the internet, we lot of times talk about the OSI model, which is like the seven layers, right? And if you think about that’s existed for almost 50 years now from since the sixties, seventies, since ARPANET. And then we had right TCP/IP, well first we had IP, then we had TCP and such. And in the 90s, actually in the beginning of the 90s when the web came around in ’94, which is the 30th anniversary, just this year, or actually this month. So if you think about when the web came around, there were so many methods of communicating on the internet, and for the web to win we needed ossification to happen — in retrospect, ossification. So what happened was we had IP — IPV4, specifically — IPV4 addresses that had to win.
Varun Singh 00:03:43 So once IP won, then the thing on top of it was TCP. TCP won the game against the other protocols, and then HTTP, which was on top of TCP, proliferated the internet, right? So today if you think about anything we basically everything is a web service and everything that was not aware, everything that we have today was also not a web service — email, for example. We don’t use any of the SMTP or any of those protocols today. We just use the web; you know, we go to website Gmail or whatever provider you have, open a web browser, and the server side actually still communicate in SMTP, but like, for us as users, we have stopped using that. HTTP won in some sense. So ossification is like the TCP/IP, HTTP that trio got ossified and everything is built on top of that.
Varun Singh 00:04:36 So everything that is built on that HTTP, TCP/IP foundation has to follow all the constraints of that product. All these three protocols. Now if, right, so if we start to build something new which needs to expand like the way HTTP or TCP or IP needs to behave, then you’re constrained. You can’t actually do that. And one good example of that was in 2010 or before 2010, when Web 2.0 started that movement, Google realized that, like Google was really concerned about page load times. They were very, very crazy about it. And that was one of the metrics which drove the idea that we had ossified because until 2008, people kind of knew that we had ossified but no one actually cared about that. It’s just that when we started to focus on page load time specifically Google, they realized that they couldn’t actually push it beyond a certain point because they were constrained by HTTP in its current format and then TCP below that. And if you wanted to reduce the page load times, then we had to kind of make some more changes on those protocols.
Nikhil 00:05:48 Right Now just to kind of explore that idea a little bit further also, right, so if it, let’s take the Google example, right? So if you’re thinking as a Google engineer, you have the Google web servers and the Google infrastructure that was already state of the art and then around 2010 they came up with the idea, okay, let’s build our own browser, right? So now you have the other end of the thing which is basically Chrome, and theoretically you could build in whatever protocol or whatever you wanted into Chrome, but they still were having this fundamental problem. And that’s mainly because of the pieces in-between. So maybe you could talk about a little bit about why that is kind of, I think, the secret reason why this ossification kind of happens.
[...]