Nowadays, software engineers have become those people whose work affects literally everything that happens around. One of the most striking examples is the Internet — we cannot imagine our life without it anymore. IETF (The Internet Engineering Task Force) is an international open community of experts united by the mission to improve the quality and accessibility of Internet by continuous Internet protocols and architecture development. Is it true that anyone can join the IETF society? How difficult is it to implement your ideas there? MERA employees Maksim Proshin and Mikhail Zaitsev shared their experience in this matter.
— Maksim, you have recently come back from another IETF conference where you delivered on the evolution of the SCTP transport protocol standard. Why do we need this new protocol, since we already have TCP?
Maksim Proshin (M.P.): First of all, SCTP (Stream Control Transmission Protocol) cannot be described as a direct competitor of TCP, although they have a lot in common. SCTP is focused mainly on data transfer in mobile networks. Unlike TCP, SCTP is more resistant to DoS attacks. Due to its multi-streaming implementation, SCTP is not affected by such a well-known TCP problem as Head-of-line blocking. Unfortunately, SCTP is not widely used on the Internet. Currently it’s mainly applied in mobile networks.
— What brings you to IETF? Was it professional interest or a willingness to contribute to the development of the Internet?
M.P.: I would say it was a professional need. Together with my team members, I worked with a product that used the SCTP protocol. Simultaneously with the introduction of 3G, where SCTP is used, the number of mobile subscribers increased dramatically. And that’s when all the shortcomings and limitations of the current version of SCTP became obvious. This was particularly evident at peak moments. Probably, all the owners of mobile phones remember well the time when it was almost impossible to reach someone over the phone on New Year's Eve. My colleagues and I began to think and discuss what should be done to make the protocol work better. As a result, we joined a group of IETF experts who worked to improve SCTP, and introduced our proposals to implement them in the new version of the standard.
— What is the IETF community? Is there any internal structure?
M.P: On the one hand, IETF participants can be roughly categorized into 3 groups: the first are those who can be called enthusiasts — university staff, professors with their academic or scientific interest. Many of them have over 50 years of experience in this field. The second group consists of the representatives of large vendor companies, software manufacturers, such as Cisco or Google. They are interested in promoting and implementing their own technologies. The third group — mobile operators and Internet providers — are also lobbying their interests, as they need to use these technologies later on in their networks, and this is not always technically feasible. On the other hand, IETF has a formal structure, according to which the organization is divided into areas, and the areas are further subdivided into groups. Each group is dedicated to a specific problem, protocol or functionality. For example, the TSVWG working group is responsible for SCTP.
— How do the participants discuss new ideas and approval initiatives? Is there any standard procedure in place?
M.P.: Basically, anyone can go to the IETF website and subscribe to the group of interest. Group members can start a dialogue, ask questions, and propose ideas. If the issue resonates with other participants, you will get answers and a discussion will start. If you want to propose your ideas in the form of a technical specification, you should write a draft and ask experts to comment on it. In the end, your draft can be published as a technical specification, RFC (Request for Comments).
— Sounds easy...
M.P.: It does, but in practice it's a time-consuming process. Like elsewhere, your reputation means a lot. In order to draw attention to your draft, you first need to make a name for yourself within the IETF community. Usually it begins with e-mail correspondence and comments to the drafts of other experts. You can participate in a formal inspection of documents, both demonstrating your competence and helping people — the community appreciates it. In my case, developing a reputation took me about half a year. The next step is to become a draft co-author or to publish your own draft. When your assistance in the development of a document becomes significant, you may be offered to become a co-author. If you have an idea of you own and are confident about it, feel free to publish your own draft. Although in this case, for your draft to be developed and published as RFC you will most likely need the support of other experts. Best-case scenario for you would be to present your work at the IETF conference, which will allow you to receive comments as soon as possible and discuss them personally. Before the draft is published as RFC, the document is finalized and approved by the working group, and later-on validated by other various experts.
— Has the IETF accepted your suggestions? How will they affect the SCTP protocol?
M.P.: It took about two years to develop the new version of the SCTP protocol. We involved the authors of the first version of the standard as co-authors. We presented the latest version of the draft at the IETF conference in November 2017. The proposed improvements had earlier been introduced in several SCTP implementations and resulted in a significant protocol improvement in real networks: absence of failures and stable operation. The objective of our appearance at the conference was to convince all the other major market players to accept these changes. We were ready for long discussions and negotiations. This is a typical situation, because the upgrade to an updated version of the protocol brings along additional risks and costs. In the end, however, we secured everyone’s approval, and now the document is under the final review by the working group members. In the nearest future, RFC with the proposed improvements will be published, and soon afterwards a new version of the SCTP standard will appear. In addition, we are currently working on some other SCTP drafts.
— Maksim, congratulations, this is a success! Are there any plans to participate in the development of other standards and protocols?
M.P.: We are currently involved in the discussion of the TCP and the recently designed QUIC Internet protocol (short for Quick UDP Internet Connections). By the way, this transport protocol has a great potential when it comes to data encryption. Unfortunately, this advantage is at the same time a stumbling point, because service providers are not delighted with the idea.
Mikhail Zaitsev also made a contribution to the IETF community by participating in the revision of the Diameter protocol.
— Mikhail, your collaboration with the IETF was related to your activities at MERA, wasn’t it?
Mikhail Zaitsev (M.Z.): Yes, it was. Since the professional level of the community members is extremely high, participation in the IETF is only justified if you are already an expert in a particular field. Otherwise you will feel like a middle school student trying to read and understand a textbook on higher mathematics. Of course, I wanted to understand how IETF works, but I had also been well acquainted with the Diameter session protocol. I knew its weaknesses. Therefore, on the IETF website, my goal was the DiMe - Diameter Maintenance and Extensions working group.
— What results have you achieved within this group?
M.Z.: I took part in the inspection of three drafts concerning the topic of overload control. The current status of this documents shows that very soon they will become full-fledged RFCs.
— Mikhail, congratulations! And here is the last question to both of you. Can you highlight the Internet development trends? What is currently discussed among the IETF experts?
M.P.: The trending topic of the transport level is, of course, the QUIC protocol. It is already being actively used by Google, and the first version of the standard is scheduled to appear in 2018. QUIC is expected to compete with the TCP and might also be actively used in mobile networks. Everything related to security and encryption is rapidly developing and being actively discussed. Security comes first when introducing any new ideas. Internet of Things (IoT), obviously, will have a serious impact on the Internet, and therefore IETF is working actively in this area. Actually, the Internet is developing very quickly and if you want to be aware, IETF is a good opportunity for this.
— Maksim, Mikhail, we thank you for the conversation and wish you good luck in the current and upcoming projects!