Protoc的olDesignConcepts,IPandRouting.doc

Protoc的olDesignConcepts,IPandRouting的定稿.doc

Protocol Design Concepts, IP and Routing Section 1: Introduction A central idea in the design of protocols is that of layering; and a guiding principle of Internet protocols is the “end-to-end” principle. In this chapter, we review these ideas and describe the transport and network layers in the Internet stack. 1.1 Protocols and Layering Protocols are complex, distributed pieces of software. Abstraction and modular design are standard techniques used by software engineers to deal with complexity. By abstraction, we mean that a subset of functions is carefully chosen and setup as a “black-box” or module (see Figure 1). The module has an interface describing its input/output behavior. The interface outlives the implementation the module in the sense that the technology used to implement the interface may change often, but the interface tends to remain constant. Modules may be built and maintained by different entities. The software modules are then used as building blocks in a larger design. Placement of functions to design the right building blocks and interfaces is a core activity in software engineering. Input Interface Output Interface Figure 1: Abstraction of Functionality into Modules Protocols have an additional constraint of being distributed. Therefore software modules have to communicate with one or more software modules at a distance. Such interfaces across a distance are termed as “peer-to-peer” interfaces; and the local interfaces are termed as “service” interfaces (Figure 2). Since protocol function naturally tend to be a sequence of functions, the modules on each end are organized as a (vertical) sequence called “layers”. The set of modules organized as layers is also commonly called a “protocol stack”. The concept of layering is illustrated in Figure 3. Service Interface Service Interface Input Peer-to-Peer Interface Output

文档评论(0)

1亿VIP精品文档

相关文档