rotocols that solve specific needs of the community. A concrete protocol resolves a concrete problem, SO all of these protocols taken together can be viewed as a toolkit, as shown in Figure 2-9. They can be (and often are) com- bined in different ways to resolve larger problems downstream. The advantage of this approach is that a protocol becomes a component that can be used in several scenarios (see Figure 2-10), promoting a certain coherence in the RFCs. Thus, it is not necessary to design a new protocol every time we study a new scenario. When functionality is needed and no protocol provides it, a new protocol is in the offing; however, it needn't be a Figure 2-9 The IETF protocols are like a toolkit. IETF protocols Problem to resolve Packet Switching, IP, and the IETF Figure 2-10 The same IETF protocol can be reused to resolve different problems. IETF protocols Problem to resolve IETF protocols Problem to resolve is used for resolving both problems. new solution. The ideal new protocol will address a general problem that will or can arise in other applications in the future. For instance, Web servers have to authenticate the identity of users requesting access to a certain Web page. The IETF will automatically gen- erate designs for a general authentication protocol usable by many kinds of servers, instead of coming up with the most direct solution for processing Web-server requests. In this way, they avoid duplication of protocol func- tionality as much as possible and add elegance to Internet engineering. The IETF designs protocols in a modular fashion. Chapter 2 IETF Protocol Features Simplicity is a key factor in protocol design. Simple solutions are always preferable to more complicated ones. Some- times performance gains or increases in the functionality of a protocol come with a cost-more complexity. In certain situations, introducing a new level of complexity is unavoidable, but when a choice is available, the simpler solution is the rule. Because all of the protocols coming from the IETF are used in 