something inadvertent affects the transmitted bit stream. Reconstructed voice from digitized and compressed data used to be an area where sophisticated vocoding would more than make up for the deficiencies of the transmission channel. The other party's voice might be distorted at times, but as long as it was intelligible, no one complained. In the worst case, if one party did not understand what the other party had said, the other party would just repeat what was just said. However, data is a different story. Transmitted data must arrive intact. The transmitter can resend the packet if it arrives corrupt. However, this affects the net throughput as it can be compared to the problem of taking three steps forward and then two steps backwards. So far, it had been the intelli- gence of the underlying protocol stacks and forward error correction (FEC) codes that would try to make it up for the users in case of trouble. If a user has to resort excessively to retransmitting corrupt frames or packets in order to achieve a reliable link, sooner or later the network capacity will be ham- pered down by redundant traffic chunks. As a result, the response time and latency as perceived by the user will be qualified at least as inadequate for several applications. This elevated the importance of also considering the QoS requirements. This time it had to be done in a thorough manner. It goes without saying that in order to discriminate between what needs to be done on a bit stream, standard methods have had to be decided and agreed upon-namely, how to read, filter, inspect, parse, modify, store, and forward the frames and packets. The requirements for such local processing intelli- gence clearly point toward the need for specialized high-performance microchips for advanced and optimized architectures-the network processors, about which we will be talking in length in this book. SWITCHING EVOLUTION: FROM LAYER 2 SWITCHES TO ROUTERS TO LAYER 3 SWITCHES By cleverly replacing access to the shared media (for example, of the original 