Title:
Programmable networks for IP service deployment
Series:
Artech House telecommunications library
Publication Information:
Norwood, MA : Artech House, 2004
ISBN:
9781580537452
Added Author:
Available:*
Library | Item Barcode | Call Number | Material Type | Item Category 1 | Status |
---|---|---|---|---|---|
Searching... | 30000010082497 | TK5105.5 P76 2004 | Open Access Book | Book | Searching... |
On Order
Summary
Summary
The purpose of this book is to introduce readers to the current state of the art and the future challenges of programmable networks as an enabling step towards rapid, autonomic and flexible service deployment, and to present a novel programmable network and management approach.
Author Notes
Alex Galis is a visiting professor at University College, London. He has co-authored and published more than 100 articles and technical reports on various networking topics.
050
Table of Contents
Foreword | p. xiii |
Preface | p. xv |
Acknowledgments | p. xxi |
1 Introduction | p. 1 |
1.1 The Importance of Programmable Networks | p. 1 |
1.2 Structure of the Book | p. 3 |
1.3 The FAIN Project and Consortium | p. 4 |
2 Programmable Networks: Background | p. 5 |
2.1 Motivation | p. 5 |
2.2 Trends and Expected Evolution | p. 7 |
2.3 Open Signaling | p. 8 |
2.3.1 The IEEE P1520 | p. 8 |
2.3.2 The IETF ForCES | p. 12 |
2.4 DARPA Active Networks | p. 13 |
2.5 Node Operating Systems | p. 15 |
2.6 Execution Environments | p. 18 |
2.7 Conclusions | p. 21 |
References | p. 23 |
3 Programmable Networks' Security: Background | p. 27 |
3.1 Introduction | p. 27 |
3.2 Requirements for Security | p. 29 |
3.3 Programmability Versus Security | p. 30 |
3.4 Programming Language or Operating System? | p. 31 |
3.5 Trusted Networking Requires Trusted Computing | p. 33 |
3.6 Authorization in the Absence of Identities | p. 35 |
3.7 Resource Controls | p. 36 |
3.8 Putting It All Together | p. 37 |
3.9 Conclusion and Thoughts for the Future | p. 40 |
References | p. 42 |
4 Programmable Network Management and Services: Background | p. 47 |
4.1 State of the Art | p. 47 |
4.1.1 Network and Element Management | p. 47 |
4.1.2 Active Service Provisioning | p. 55 |
4.2 Trends and Expected Evolution | p. 59 |
4.2.1 Element and Network Management | p. 59 |
4.2.2 Active Service Provisioning | p. 61 |
References | p. 61 |
5 Switch Ware Active Platform | p. 65 |
5.1 Introduction | p. 65 |
5.2 Why Switch Ware? | p. 66 |
5.3 Precedents and Possibilities | p. 67 |
5.4 Switch Versus Capsule: A Misleading Dichotomy | p. 71 |
5.5 It Starts with the Node: Active Bridging, ALIEN, SANE, SQOSH, and RCANE | p. 72 |
5.6 Active Packet Languages: PLAN, SNAP, and Caml | p. 76 |
5.7 Results | p. 78 |
5.8 Reflections and Conclusions | p. 80 |
References | p. 81 |
6 Peer-to-Peer Programmability | p. 87 |
6.1 Introduction | p. 87 |
6.2 What Are P2P Services? | p. 88 |
6.2.1 Architectural Concepts | p. 88 |
6.2.2 Components, Structure, and Algorithms of Peer-to-Peer Services | p. 92 |
6.3 Requirements for P2P Programmability | p. 94 |
6.4 Objectives and Requirements for P2P Overlay Management | p. 94 |
6.5 P2P Overlay Management Using Application-Layer Active Networking | p. 96 |
6.5.1 The Active Virtual Peer Concept | p. 96 |
6.5.2 Implementation of AVPs | p. 99 |
6.6 Conclusion | p. 104 |
References | p. 105 |
7 Programmable Networks' Requirements | p. 109 |
7.1 Introduction | p. 109 |
7.2 Operators' Expectations of Active Networks | p. 110 |
7.2.1 Overview | p. 110 |
7.2.2 Speeding Service Deployment and Customization | p. 110 |
7.2.3 Leveraging Network and Service Management | p. 111 |
7.2.4 Decreasing Vendor Dependency | p. 112 |
7.2.5 Integrating Information Networks and Services | p. 113 |
7.2.6 Diversification of Services and Novel Business Opportunities | p. 114 |
7.3 FAIN Enterprise Model | p. 114 |
7.3.1 Roles | p. 115 |
7.3.2 Reference Points | p. 118 |
7.4 Network Programmability and Active Applications | p. 119 |
7.4.1 Introduction | p. 119 |
7.4.2 Active Web Services | p. 121 |
7.4.3 Active Multicasting | p. 126 |
7.4.4 Active VPN | p. 131 |
7.5 Generic Requirements for the FAIN Architecture | p. 136 |
7.5.1 Service Architecture | p. 136 |
7.5.2 Service Access Requirements | p. 136 |
7.5.3 Service-to-Network Adaptation/Management | p. 137 |
7.5.4 IP-Based Network Models | p. 137 |
7.5.5 Service Level Agreements | p. 137 |
7.5.6 Quality of Service | p. 138 |
7.5.7 Charging/Billing | p. 138 |
7.5.8 Security | p. 138 |
7.5.9 Active Node/Network Control | p. 138 |
7.5.10 Generic Framework Requirements | p. 139 |
7.6 Requirements from Operators' Expectations | p. 139 |
7.6.1 Impact of Speeding Service Deployment and Customization | p. 139 |
7.6.2 Impact of Leveraging Network and Service Management | p. 140 |
7.6.3 Impact of Decreasing the Dependence on Vendors | p. 140 |
7.6.4 Impact of Networks and Service Integration and Information Networking | p. 141 |
7.6.5 Impact of Diversifying Services and Business Opportunities | p. 142 |
7.7 Application Requirements | p. 142 |
7.7.1 RP1: SCP-SP | p. 142 |
7.7.2 RP2: SP-ANSP | p. 143 |
7.7.3 RP3: ANSP-NIP | p. 144 |
7.7.4 RP4: Consumer-SP | p. 144 |
7.7.5 RP5, RP6, and RP7: Federation among SPs, ANSPs, and NIPs | p. 145 |
7.8 Conclusion | p. 145 |
References | p. 146 |
8 FAIN Network Overview | p. 149 |
8.1 FAIN Enterprise Model | p. 150 |
8.1.1 Roles | p. 152 |
8.1.2 Reference Points | p. 153 |
8.2 FAIN Reference Architectural Model | p. 154 |
8.2.1 Discussion on the FAIN Reference Architecture | p. 158 |
8.3 FAIN Networking Architecture | p. 159 |
8.3.1 Networking Issues in FAIN | p. 159 |
8.3.2 Components in the FAIn Programmable Network | p. 160 |
8.4 FAIN Active Service Provisioning | p. 170 |
8.4.1 Introduction | p. 170 |
8.4.2 FAIN Approach | p. 170 |
8.4.3 Actors | p. 172 |
8.4.4 Use Cases | p. 172 |
8.4.5 ASP Architecture | p. 173 |
8.5 FAIN Testbed | p. 175 |
8.5.1 Network Topology and Interconnection | p. 175 |
8.5.2 Sites Overview | p. 178 |
8.6 FAIN Scenarios | p. 179 |
8.6.1 DiffServ Scenario | p. 179 |
8.6.2 WebTV Scenario | p. 180 |
8.6.3 Web Service Distribution Scenario | p. 181 |
8.6.4 Video on Demand Scenario | p. 183 |
8.6.5 Mobile FAIN Demonstrator | p. 184 |
8.6.6 Managed Access | p. 186 |
8.6.7 Security Scenario | p. 187 |
8.7 Concluding Remarks | p. 188 |
References | p. 190 |
9 Virtual Environments and Management | p. 195 |
9.1 Requirements | p. 196 |
9.2 Design | p. 196 |
9.2.1 Basic Component | p. 199 |
9.2.2 Configurable Component | p. 199 |
9.2.3 Component Manager | p. 199 |
9.2.4 Template Manager | p. 200 |
9.2.5 Resource Manager | p. 201 |
9.2.6 Special Managers | p. 201 |
9.3 Implementation | p. 202 |
9.3.1 Basic Component | p. 204 |
9.3.2 Port | p. 204 |
9.3.3 IIOP Port | p. 205 |
9.3.4 SNMP Port | p. 205 |
9.3.5 Configurable Component | p. 205 |
9.3.6 Component Manager | p. 205 |
9.3.7 Resource Manager | p. 206 |
9.3.8 Virtual Environment | p. 206 |
9.3.9 Virtual Environment Manager | p. 206 |
9.3.10 Security Context | p. 206 |
9.3.11 Security Manager | p. 206 |
9.3.12 Execution Environment | p. 206 |
9.3.13 Java Execution Environment | p. 207 |
9.3.14 Java Execution Environment Manager | p. 207 |
9.3.15 PromethOS Execution Environment | p. 207 |
9.3.16 PromethOS Execution Environment Manager | p. 207 |
9.3.17 SNAP Execution Environment | p. 207 |
9.3.18 SNAP Execution Environment Manager | p. 207 |
9.3.19 Channel | p. 208 |
9.3.20 Channel Manager | p. 208 |
9.3.21 DiffServ Controller | p. 208 |
9.3.22 DiffServ Manager | p. 208 |
9.3.23 Traffic Controller | p. 208 |
9.3.24 Traffic Manager | p. 208 |
9.4 Use Cases | p. 209 |
9.4.1 Booting the Management Layer | p. 209 |
9.4.2 Creating a Virtual Environment | p. 209 |
9.4.3 Deploying a Service | p. 210 |
9.5 Conclusion | p. 210 |
References | p. 211 |
10 Demultiplexing | p. 213 |
10.1 Introduction to De/MUX | p. 213 |
10.2 Requirements | p. 214 |
10.2.1 Requirements for Active Packet Format for De/Multiplexing | p. 214 |
10.2.2 Requirements for De/MUX Mechanism | p. 214 |
10.3 Active Packet Format | p. 215 |
10.3.1 VE ID Option Data | p. 216 |
10.3.2 EE ID Option Data | p. 217 |
10.4 Framework, Components, Interfaces | p. 217 |
10.4.1 Active Channel | p. 219 |
10.4.2 Data Channel | p. 220 |
10.4.3 Interface Between De/MUX Components and Security Component | p. 221 |
10.5 Conclusions | p. 224 |
References | p. 224 |
11 Security Management | p. 227 |
11.1 Introduction | p. 227 |
11.2 System Relationships and Entities | p. 228 |
11.3 Threats, Security Requirements, and Architecture Goals | p. 230 |
11.4 Security Issues | p. 232 |
11.4.1 Authorization and Policy Enforcement | p. 232 |
11.4.2 Authentication | p. 233 |
11.4.3 Packet Integrity | p. 234 |
11.4.4 System Integrity | p. 234 |
11.4.5 Code and Service Verification | p. 235 |
11.4.6 Limiting Resource Usage | p. 235 |
11.4.7 Accountability | p. 236 |
11.5 High-Level Security Architecture | p. 236 |
11.5.1 Fain Architectural Model and Security Architecture | p. 237 |
11.6 Security Architecture Design and Implementation | p. 239 |
11.6.1 Building the Components' Security Context | p. 240 |
11.6.2 Enforcement Layer, Authorization, and Policy Enforcement | p. 240 |
11.6.3 External Security Representation | p. 241 |
11.6.4 Cryptographic Subsystem and Secure Store | p. 242 |
11.6.5 Connection Manager | p. 243 |
11.6.6 Verification Manager | p. 243 |
11.7 General Active Packet Security Events | p. 243 |
11.8 Security Architecture Performance | p. 244 |
11.9 Architecture Applicability | p. 246 |
11.10 Evaluation of the Security Architecture | p. 248 |
11.11 Conclusions | p. 249 |
References | p. 250 |
12 Resource Control Framework | p. 253 |
12.1 Requirements | p. 253 |
12.2 RCF Design | p. 254 |
12.3 RCF Main Functionalities | p. 256 |
12.3.1 Admission Control | p. 256 |
12.3.2 Resource Control | p. 258 |
12.4 Model RCF Implementation | p. 260 |
12.4.1 Traffic Control and Management for Linux | p. 261 |
12.4.2 DiffServ Control and Management for a Gigabit Router | p. 263 |
12.5 Conclusions | p. 264 |
References | p. 265 |
13 Control Execution Environments | p. 267 |
13.1 Introduction | p. 267 |
13.1.1 Management for Evolving and Adapting Networks | p. 268 |
13.1.2 Extending the Control Plane | p. 271 |
13.1.3 Operation of the Control EE | p. 271 |
13.1.4 Safety, Predictability, and Security | p. 271 |
13.2 Active Packet Interceptor | p. 272 |
13.2.1 Intercepting and Injecting | p. 272 |
13.2.2 Executing | p. 272 |
13.2.3 IP Protocols as Active Packets | p. 273 |
13.2.4 Constrained Language: Forward Branching Languages | p. 275 |
13.3 Operational Design of SNAP Interpreter | p. 277 |
13.3.1 Instruction Classes | p. 277 |
13.3.2 Marshaling and Execution in Place | p. 278 |
13.3.3 Segments | p. 279 |
13.3.4 Stack and Heap Addressing | p. 279 |
13.3.5 Expanding Execution Buffers | p. 280 |
13.3.6 The Send Primitive | p. 280 |
13.4 SNAP Activator | p. 281 |
13.4.1 Packet Interception Mechanisms | p. 281 |
13.4.2 Other Services | p. 282 |
13.4.3 SNMP Interface | p. 284 |
13.5 Security in the Control EE | p. 285 |
13.5.1 Introduction | p. 285 |
13.5.2 Active Networks Authentication | p. 286 |
13.5.3 FAIN Solution | p. 287 |
13.6 Control EE in DiffServ | p. 289 |
13.7 Conclusion | p. 289 |
References | p. 290 |
14 High-Performance Execution Environments | p. 293 |
14.1 Motivation | p. 293 |
14.2 Initiatives in High-Performance Active Networking | p. 295 |
14.2.1 Practical Active Network: The First Step Toward High Performance | p. 296 |
14.2.2 Active Network Node with Hardware Support | p. 296 |
14.2.3 Simple Active Router Assistant | p. 296 |
14.2.4 Cluster-Based Active Node | p. 297 |
14.2.5 Composable Active Network Elements | p. 298 |
14.2.6 Active Packets Edition | p. 298 |
14.2.7 Protocol Boosters: Programmable Protocol Processing Pipeline | p. 299 |
14.2.8 Kernel Services | p. 299 |
14.2.9 AMP | p. 299 |
14.2.10 Magician: Resource Management and Allocation | p. 300 |
14.2.11 AMnet: Flexinet Project | p. 300 |
14.2.12 Safe and Nimble Active Packets | p. 300 |
14.2.13 TAGS: Optimizing Active Packet Format | p. 301 |
14.3 Toward an Architecture of High-Performance Active Networks and Nodes | p. 301 |
14.3.1 Proposing an Architecture for a High-Performance Active Network | p. 301 |
14.3.2 Proposing an Architecture for a High-Performance Active Node | p. 303 |
14.4 Tamanoir: A Practical Framework for High-Performance Active Networking | p. 307 |
14.4.1 High-Level Multithreaded Execution Environment | p. 307 |
14.4.2 User Space and Implementation Issues | p. 308 |
14.4.3 Kernel Space Execution Environment | p. 309 |
14.4.4 Distributed Service Processing: Tamanoir on a Cluster | p. 309 |
14.5 Tamanoir Performance Evaluation | p. 310 |
14.5.1 Hardware and Software Descriptions of the Testbeds | p. 310 |
14.5.2 Latency Measures | p. 311 |
14.5.3 Data Path Optimization in a Tamanoir Active Node | p. 312 |
14.5.4 Throughput Measures | p. 313 |
14.6 Conclusion | p. 321 |
References | p. 321 |
15 Network Management | p. 325 |
15.1 Introduction | p. 325 |
15.2 Design and Functionality | p. 326 |
15.3 The FAIN PBNM Core Components Description | p. 330 |
15.3.1 Common Use Cases | p. 331 |
15.3.2 Core Components | p. 334 |
15.3.3 ANSP Proxy | p. 334 |
15.3.4 PDP Manager | p. 334 |
15.3.5 PDP | p. 338 |
15.3.6 Monitoring System | p. 340 |
15.3.7 Policy Parser | p. 342 |
15.3.8 Policy Repository | p. 344 |
15.4 Network-Level Management System | p. 346 |
15.4.1 Use Cases | p. 346 |
15.4.2 NMS Components | p. 347 |
15.5 Element-Level Management System | p. 357 |
15.5.1 Use Cases | p. 357 |
15.5.2 EMS Components | p. 360 |
15.6 Conclusion | p. 370 |
References | p. 371 |
16 Service Deployment in Programmable Networks | p. 373 |
16.1 ASP Functionalities | p. 374 |
16.1.1 Actors | p. 375 |
16.1.2 Use Case Diagrams | p. 375 |
16.2 Design Overview | p. 377 |
16.3 Service Description | p. 379 |
16.3.1 Basic Concepts | p. 380 |
16.3.2 Network-Level Service Descriptor | p. 381 |
16.3.3 Node-Level Service Descriptor | p. 383 |
16.4 ASP Components | p. 385 |
16.4.1 Network ASP | p. 385 |
16.4.2 Node ASP | p. 387 |
16.5 Conclusion | p. 390 |
References | p. 392 |
17 DiffServ Scenario | p. 393 |
17.1 Introduction | p. 393 |
17.2 Architecture | p. 394 |
17.2.1 Traffic Controller | p. 396 |
17.2.2 DiffServ Controller | p. 397 |
17.3 Scenario | p. 398 |
17.3.1 HIT/HEL Testbed Configuration | p. 400 |
17.3.2 FHG Testbed Configuration | p. 401 |
17.3.3 Active Proxy Configuration | p. 402 |
17.4 Conclusion | p. 404 |
References | p. 404 |
18 WebTV Scenario | p. 405 |
18.1 Motivation and Key Concepts | p. 405 |
18.2 General Description | p. 406 |
18.3 FAIN PBNM and ASP Revisited: Detailed Scenario Description | p. 407 |
18.4 WebTV Components | p. 409 |
18.4.1 Reconfiguration of the Transcoder | p. 410 |
18.4.2 How the Controller Works | p. 411 |
18.4.3 Testbed Configuration for WebTV Demonstration | p. 414 |
18.5 Conclusions | p. 414 |
References | p. 415 |
19 The Outlook | p. 417 |
19.1 Reference Architecture for Programmable Service Networks | p. 417 |
19.2 Requirements Analysis for Further Development in Programmable Service Networks | p. 421 |
19.3 Expected Key Novel Features and Benefits | p. 422 |
References | p. 423 |
About the Editors | p. 425 |
Index | p. 427 |