es the first packet in a conversation, then stores the in- formation learned about the destination for that packet in a table called the route cache. Interrupt Context Switching Fast switching uses the binary tree format for recording and retrieving information in the route cache. Figure 15-4 shows an example of a binary tree as it might be viewed for fast switching. Each branch of the tree appends a 0 or a 1 to the previous level's value. Starting at 0 (the root), the next branch to the right contains a 0 on the bottom and a 1 on the top. Each of those nodes again branches, appending a 0 on the bottom branch and a 1 on the top branch. Eight levels of the tree are shown in Figure 15-4, but an actual tree used for IP addresses would have 32 levels, corresponding to the bits within an IP address. Dec: 170.x.x.x Bin: 10101010.x.x.x Bits: Figure 15-4. Fast-switching binary tree The nodes marked in gray in Figure 15-4 match an IP address of 170.x.x.x (the binary value of 170 is 10101010-this should make the example easier to visualize). The IP address is only 170.x.x.x, because I couldn't fit any more visible nodes beyond eight bits in the drawing. The benefit of this design, as compared to searching the RIB, is speed. Information regarding the next hop and MAC address changes is stored within each node. Since the tree is very deterministic, finding specific entries is very quick. Chapter 15: Switching Algorithms in Cisco Routers The drawbacks of this implementation include the sheer size of the table and the fact that while the data for each address is stored within the nodes, the size of the data is not static. Because each node may be a different size, the table can be inefficient. The route cache is not directly related to the routing table, and it is updated only when packets are process-switched. In other words, the route cache is updated only when the first packet to a destination is switched. From that point, the route cache is used, and the remaining packets are fast-switched. To keep the data in the route ca