Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.

Share this Page URL
Help

Run-time components > Run-time components - Pg. 250

250 CHAPTER 14 Run-time support systems Network dynamics As discussed in Chapter 7, the operations that a router needs to perform to forward packets are well defined in RFCs. These standard operations have not changed since they were defined. Therefore, it would seem that functions performed by the software on a router are fixed and do not change over time. However, in practice there are sev- eral additional software components in router systems (beyond the standard packet forwarding) that require additional functionality that does indeed change. Examples of changes to software or software components in network systems are as follows. · Changes to routing algorithms: Routing algorithms are still an active area of research and development. It is challenging to achieve stability in complex routing algorithms (e.g., path-vector algorithms, such as BGP). There is also a need to improve the speed of rerouting in case of link failures. Thus, it can be expected that software that implements routing algorithms may need to be updated as improved versions become available. Changes to forwarding implementation: While the functional requirements of packet forwarding in the Internet are fixed, there are no requirements on how these operations are implemented. As more management functions are necessary to maintain operational efficiency (e.g., access control, billing, heavy-hitter flow identification, intrusion detection), the implementation of packet forwarding on a specific network system needs to be updated. These updates may also improve the implementation of route lookup algorithms or flow classification algorithms (as discussed in Chapters 7 and 8). Security updates: When using intrusion detection systems (see Chapter 10), the implementation of detecting malicious packets may change when detection rules are updated in response to new attacks. · · In addition to these changes, it is also important to note that the diversity of protocols and communication paradigms in next-generation networks will lead to more diverse processing requirements. As discussed in Chapter 15, programma- bility in the data plane is an essential aspect of next-generation networks. This programmability implies that new software functions need to be accommodated in the network dynamically. These dynamics require that software changes over time. Therefore, it is neces- sary to consider how such software can be managed in network systems at run time. Run-time components Network systems need to manage software and resources at run time both in the control plane and in the data plane. In a typical router system, each plane uses its own processing resources: The control plane uses a control processor that is similar to a workstation processor and typically runs an embedded or real-time operating system. The data plane uses embedded multicore network processors or other specialized hardware to implement packet processing functions (see Chapter 11). The related software components are shown in Figure 14-1.