Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 221 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
221
Dung lượng
734,46 KB
Nội dung
I nternetworking Technologies
An Engineering Perspective
Rahul Banerjee
Computer Science & Information Systems Group
Birla Institute of Technology & Science
Pilani, India
Prentice-Hall of I ndia
This small initiative is dedicated to my loving parents
Mrs. Purnima Banerjee
&
Mr. Ramanand Banerjee
Who have been the guiding lights of my life and to whom I owe whatever
little I have been able to achieve.
-Rahul Banerjee
Preface
Imagine a child sitting in the lap of her mother and watching endless stars in the
sky. Those inquisitive eyes, small and innocent queries about everything she notices
and finds either interesting or frightening, make the mother sometimes cuddle the child
with all her affection and at times feel a bit irritated due to the same question being
asked time and again. The same is the story of an inquisitive student population and a
teacher who loves to impart whatever little he knows in a way that could inspire his
students to learn more – often beyond the limits set by the basis course-structure! The
situation becomes more involved when there is no single place wherein students may
find every basic information they may need. And, that’s when a small enterprise takes
its root in some corner of the teacher’s mind so that the hardship of his own students
could be somewhat reduced, if not completely eliminated. This is exactly what had
prompted me to begin a modest effort towards developing a Web-based book in the
early 1999. The book, that originated from my lecture-notes, was made available at my
website along with a lot of other supporting aids including customizable slides, FAQs
and On-line Discussion Forum etc. The EAC 451 students doing this course on the
campus, therefore, had to test the worth of this small initiative. What is in your hands
right now is the print version of part of this work. The Web-based version is updated on a
regular basis and is available at the URL: http://www.bits-pilani.ac.in/~rahul/. Part of this
work contains case studies of select research projects carried out at the Centre for
software Development, BITS Pilani (India). The presented material has been
extensively classroom tested and used by on as well as off-campus students of the
university.
The presented material should be adequate for a one-semester course at the
senior undergraduate / graduate level. The organization is largely modular and therefore
would permit an instructor to choose his own set of chapters in almost any sequence he
considers suitable. The book assumes a basic knowledge of Data Structures, Graph
Theory, Queuing Theory, Operating Systems and some exposure to Compute Networks
on part of the readers, though it attempts to provide some basic concepts in a nutshell in
the introductory chapters.
The book has been written as a text on internetworking technologies that should
also cater to the needs of the working engineers who wish to update themselves about
various associated technologies or those who wish to have a brief survey of the state-of-
the art so as to decide the exact direction they may wish to take for their research and
development initiatives. However, this small volume can very well serve as the
secondary reading material for an advanced course in Internetworking. It takes a simple
approach to illustrate intricate concepts as well as encourages the reader to take his first
critical step forward through end-of-the-chapter exercises.
The book begins with a set of introductory chapters on internetworking concepts
and gradually builds up the state-of-the-art technology and design concepts in the areas
of Next Generation Networking (with specific emphasis on IPv6-based internetworking,
mobile networking and interworking), Routing Architectures, and Desktop Video-on-
Demand over NGNs and Internet Security Systems.
The book has been organized into twelve chapters and four appendices divided
into three parts. First part introduces the uninitiated about certain basic technology terms
and related important concepts. The second part of the book takes up the system-level
architectures. Third part of the book primarily comprises of application-level architectures
and a small Internet programming primer. Finally the Appendices present a set of
research / development draft papers that have emanated from the projects discussed in
the Part-three. Appendices also include a literature guide and a bibliography to help
readers in quickly identifying the initial foundation documents and related status reports
wherever applicable.
Like any work of this nature, this work may have a few errors that may have
escaped unnoticed. Students and peers are the best judges of any such endeavour and
their constructive criticisms as well as suggestions are most welcome.
I would fail in his duty if I do not gratefully acknowledge the support,
encouragement and inspiration that I received from my friends and colleagues. I am
thankful to Dr. S. Venkateswaran (Director: BITS), Dr. B. R. Natarajan (Dean of DLP at
BITS), Dr. K. R. V. Subramanian, CEO: Answerpal.com Bangalore, Dr. Rajeev Kumar of
IIT Kharagpur, Dr. Sathya Rao of Telscom SA (Switzerland), Dr. Pascal Lorenz of UoHA
(France), Dr. Bernardo Martinez of Versaware Inc. (Spain), Dr. Torsten Braun of UoB
(Switzerland), Dr. Robert Fink of UCB (USA), Mr. Ishwar Bhat (Librarian: BITS) and Dr.
Latif Ladid of Ericsson (Luxembourg) for their support and encouragement in many
forms. In particular, I wish to express my gratitude towards my parents: Mr. Ramanand
Banerjee and Mrs. Purnima Banerjee; my life-companion: Reena and little Ananya for all
their love and support. Prof. Mahesh M. Bundle, Ms. Krishnapriya D. Bhardwaj, Mr.
Ashaf Badar and Mr. Anand Gangele deserve special thanks for being there all the time
whenever I needed them. Mr. Narendra Saini and Mr. Ashok Jitawat took expert care of
typesetting in the camera-ready form and my heartfelt thanks go to them. The Prentice-
Hall team of Mr. Ashok Ghosh, Mr. Vasudevan, Mr. Malay Ranjan Parida and Mohd.
Shamim were instrumental in timely execution of the project.
Finally, I am also thankful to all my students – present and past –- for providing
me the reasons to take up this project.
BITS, Pilani Rahul Banerjee
November 21, 2002
Contents
Preface
Part-I Internetworking, Multimedia, Compression and
Intelligent Agent Technology Basics
1. Introductory Concepts in Internetworking
1.1 Introduction 1
1.2 Constituents of an Internetwork 2
1.3 Hierarchy in Internetworks 2
1.4 Classification of Internetworks 2
1.5 Local Area / Campus Internetwork Design: Practice and Trends 2
1.6 Competing LAN Technologies 3
1.7 Wide Area Internetwork Design: Practice and Trends 4
1.8 Competing WAN Technologies 4
1.8.1 Wide Area Technology: Other Classification Schemes 5
1.9 Steps Involved in Internetwork Design 5
1.10 Primary Design Goals of Internetwork Design 6
1.11 The Hierarchical Internetworking Design Models 7
1.11.1 The Hierarchical Internetworking Design Models: The
Architectural View
7
1.12 Summary 7
1.13 Recommended Readings 8
1.14 Exercises 9
2. The Multimedia Internetworking Technology Basics
2.1 Introduction 10
2.2 Elements of Multimedia Communication 10
2.3 Defining Multimedia Internetwork 11
2.3.1 Examples of the Multimedia Internetwork in Action 11
2.4 Multimedia Internetworks: When to go for them? 11
2.5 Principles of Redesign and Upgrading of Data-Intranets to Multimedia
Intranets
11
2.6 Multimedia Internetwork Requirements 12
2.7 Multimedia Internetwork Integration 12
2.8 A Generic Classification of Multimedia Internetworks 13
2.9 Link based Classification of Multimedia Internetworks 13
2.9.1 Point-to-Point Unidirectional Multimedia Internetwork
applications
13
2.9.2 Point-to-Point Bi-directional Multimedia Internetwork
applications
13
2.9.3 Point-to-Multi-point Unidirectional Multimedia Internetwork
applications
13
2.9.4 Point-to-Multi-point Bi-directional Multimedia Internetwork
applications
14
2.10 Interactive Multimedia Internetworks: Major Design Factors 14
2.11 Estimating Bandwidth Requirements for Multimedia Internetworks:
Factors and Issues
14
2.12 The Bandwidth Factor 15
2.13 Networked Interactive Multimedia Video 15
2.14 Videoservers 16
2.15 Multimedia Broadcast Standards 16
2.16 Summary 17
2.17 Recommended Readings 18
2.18 Exercises 19
3. The Data Compression Technology Basics
3.1 Introduction 21
3.2 Space / Storage Compression 22
3.3 Lossy versus Lossless Data Compression 22
3.3.1 Lossless Compression 22
3.3.2 Lossy Compression 22
3.4 Graphics Metafiles 23
3.5 Language-based Redundancy Probabilities 23
3.6 Primary Classes of Data Encoding Techniques 23
3.6.1 Entropy Encoding 23
3.6.2 Source Encoding 23
3.6.3 Statistical Encoding / Arithmetic Compression Technique 23
3.6.4 Repetitive Sequence Suppression based Encoding Technique 23
3.6.5 Differential Source Encoding Techniques 24
3.6.6 The Transform based Source Encoding Techniques 24
3.6.7 Huffman Encoding Techniques 24
3.6.8 Adaptive Huffman Encoding 24
3.6.9 The Lampel-Ziv Encoding Techniques 24
3.6.10 The Lampel-Ziv Welsh (LZW -78) Encoding Technique 25
3.6.11 The V.42 bis / British Telecom Lampel-Ziv (BTLZ) Compression
26
3.6.11.1
Dictionary Pruning 26
3.6.12 Discrete Cosine Transform based Compression Scheme 27
3.6.13 Wavelets based Compression Scheme 27
3.6.14 Fractal Compression Scheme 27
3.6.15 Digital Video Interactive (DVI) Compression Scheme 28
3.6.16 Other Compression Tools 28
3.7 The GIF Compression 28
3.8 The PNG Compression 29
3.9 The JPEG Compression 29
3.10 The MPEG Compression 30
3.11 Summary 31
3.12 Recommended Readings 31
3.13 Exercises 32
4. The Intelligent Agent Technology in Internetworking
4.1 Introduction 34
4.2 Intelligent Software Systems 34
4.3 Intelligent Agents 35
4.4 Attributes of Intelligent Agents 36
4.5 Intelligent Architectures 36
4.6 Internetworking Applications of Intelligent Agents 37
4.7 Role of Agents 37
4.8 Components of IA based Distributed Systems 37
4.9 Other Aspects of Intelligent Agents 38
4.10 IBM Aglet Technology Architecture 39
4.11 The Stanford’s JAT Technology Architecture 40
4.12 The JAFMAS Technology Architecture 41
4.13 Summary 41
4.14 Recommended Readings 42
4.15 Exercises 43
Part-II Internetworking System Architectures
5. The TCP/IPv6 Internetworking Architecture
5.1 Introduction 44
5.2 The TCP/IPv6 Architecture: An Introduction 45
5.2.1 The Application Layer 45
5.2.2 The TCP/UDP Layer 45
5.2.3 Internet Layer 47
5.2.4 Host to Network Interface 48
5.3 The Internet Protocol 48
5.3.1 IPv4 Options 50
5.3.2 IPv4 and the World of Classes 50
5.3.3 Concept of Subnetting and Supernetting 51
5.3.4 On the Internet Control Message Protocol (ICMP) 53
5.3.5 On the Internet Group Management Protocol (IGMP) 53
5.3.6 The Address Resolution Protocol (ARP) 54
5.3.7 The Reverse Address Resolution Protocol (RARP) 54
5.3.8 Mobile IP 55
5.3.9 The Internet Protocol Version 6 (IPv6) 56
5.3.9.1 Major Goals of IPv6 Design 56
5.3.9.2 On the EUI -64 Addresses and the Link Local Addresses 57
5.3.9.3 How to convert a 48-bit Ethernet Address into the IEEE EUI-
64 Address?
57
5.3.9.4 What about the networks for which no IEEE 802 address is
available?
57
5.3.9.5 The IPv6 Base Header Design 58
5.3.9.6 The IPv6 Extension Header Structure 59
5.3.10 IPv6 Versus IPv4: A Brief Comparison 62
5.3.11 The IPv6 Address Notations 63
5.3.12 Address Issues in IPv6 63
5.3.12.1 Valid Address-Lifetime 64
5.3.12.2 Preferred Address-Lifetime 64
5.3.13 Address Autoconfiguration / Plug-and-Play Support in IPv6 64
5.3.13.1 Associated Factors of Autoconfiguration 64
5.3.13.2 Stateless Autoconfiguration 65
5.3.13.3 The Stateful Autoconfiguration 65
5.3.14 Time-sensitive IPv6 MM Traffic Over the Ethernet 67
5.3.15 A Quick Note on Mobile IPv6 69
5.3.16 On the Current State of IPv6 Research, Development and Deployment
Around the World
69
5.4 On the Congestion Control in Interneworks 71
5.4.1 Congestion Control Strategies 71
5.4.1.1 The Anticipatory Buffer Allocation Scheme 71
5.4.1.2 ‘Arbitrary Packet Rejection-based’ / ‘Reject-on-Getting-Full’
Congestion Control Scheme
72
5.4.1.3 Selective Packet Rejection based Congestion Control
Scheme
72
5.4.1.4 Permit-based / Token-based / Isarithmic Congestion
Control Scheme
72
5.4.1.5 The Choke Packet Scheme of Congestion Control 73
5.4.2 Deadlock due to congestion 73
5.5 More on the Generic Transport Layer Concepts 74
5.5.1 Transport Layer Responsibilities 74
5.5.2 Generic Transport Service Primitives 74
5.5.3 Generic Transport Service Primitives 74
5.5.4 Transport Service Primitives: The Berkeley Sockets Set for the TCP 75
5.5.5 The Transport Service Access Point (TSAP) and the Network Service
Access Point (NSAP)
75
5.5.6 QoS Considerations in the TL As Used During the Option Negotiation
Process
75
5.5.7 Inside the TCP 75
5.5.7.1 About the TCP Ports 76
5.5.7.2 The 3-Way Handshake in TCP 76
5.5.7.3 Of the Crashes and Crash Recovery Mechanisms and
Strategies applicable to the TCP/IP Architecture
77
5.5.7.4 Client Crash Recovery Strategies 77
5.5.7.5 Server Crash Recovery Strategies 78
5.6 About Application Client and Application Server Processe s 79
5.7 Summary 79
5.8 Recommended Readings 80
5.9 Exercises 81
6. The Internetwork Routing Architectures
6.1 Introduction 84
6.2 About Routing Terminology 85
6.3 Classification of Routing Architectures 86
6.4 Shortest Path Routing 87
6.4.1 Dijkstra’s Algorithm 87
6.5 Flooding Based Routing 88
6.5.1 Pure Flooding Algorithm 88
6.5.2 Hop Count based Flooding Algorithm 88
6.5.3 Selective / Direction-Constrained Flooding Algorithm 89
6.6 Flow-based Routing Algorithm 89
6.7 Distance Vector Routing Algorithm 89
6.8 Link-State Routing Algorithm 91
6.9 Hierarchical Routing Architectures 92
6.9.1
The Interior Gateway Protocol (IGP)
93
6.9.2
The Interior Gateway Routing Protocol (IGRP)
93
6.9.3
The Exterior Gateway Protocol (EGP)
93
6.9.4
The Border Gateway Protocol (BGP)
94
6.10 Issues in Hierarchical Routing Architectures 94
6.11 Summary 94
6.12 Recommended Readings 95
6.13 Exercises 96
7. Internetwork Management Architectures
7.1 Introduction 98
7.2 The Simple Network Management Protocol
7.3 The Remote Monitoring (RMON) Scheme
7.4 Role of Intelligent Agents in Internetwork Management
7.5 Summary
7.6 Recommended Readings
7.7 Exercises
8. Internet Security Architectures
8.1 Introduction 113
8.2 Security Issues in Intranets and the Internet
8.3 Encryption-based Solutions
8.4 Authentication-based Solutions
8.5 Summary
8.6 Recommended Readings
8.7 Exercises
Part-III Internetworking Application Architectures
9. Internetwork-based Video-on-Demand Architectures
9.1 Introduction 127
9.2 Types of Video-on-Demand Technologies 127
9.3 The Video-on-Demand System 127
9.4 The VoD Architecture 128
9.5 Basic Issues in VoD Design 128
9.6 Constituents of a VoD System 129
9.7 Internetworking Aspects of Video-on-Demand Technology 130
9.8 Case Study of the Cisco’s IP/TV Solution 130 130
9.9 Case Study of the Ichcha-Drishti: Case Study of the World’s First Native IPv6-
capable VoD System (VoDv6)
132
9.10 Summary 133
9.11 Recommended Readings 133
9.12 Exercises 134
10. Internetwork-based Digital Library Architectures
10.1 Introduction 136
10.2 Classification of Digital Library Architectures 137
10.3 Major Digital Library Architectures 137
10.4 Basic Issues in Digital Library Design: Internetworking Viewpoint 138
10.5 Constitution of a Digital Library 138
10.6 Internetworking Aspects of Digital Libraries: Multimedia Object Handling 139
10.6 Case Study of the Stanford Digital Library Architecture 139
10.8 Case Study of the CMU Digital Library Architecture 140
10.9 Case Study of the JournalServer
SM
Virtual Digital Library Architecture 141
10.10 Summary 142
10.11 Recommended Readings 142
10.12 Exercises 143
11. Internet Commerce Architectures
11.1 Introduction 144
11.2 Principal Objectives of Internet Commerce 145
11.3 Fundamental Components of Internet Commerce Frameworks 145
11.4 Electronic Data Interchange (EDI) 145
11.5 The EDI Architecture 146
11.6 Electronic Funds Transfer (EFT) 146
11.7 Secure Electronic Transactions (SET) 147
11.8 The SET Architecture 147
11.9 The X.400 Standard-based Solution 148
11.10 The MIME-based Solution 148
11.11 Smart Cards and other Solutions 149
11.12 On the Digital Signature and Digital Certificates 149
11.13 The I-Commerce Gateways 152
11.14 Summary 152
11.15 Recommended Readings 153
11.16 Exercises 153 153
12. Internet Programming
12.1 Introduction 154
12.1.1 Linux Network Programming Basics Revisited 154
12.1.2 A Subset of Address Families Used in Linux Environment 155
12.1.3 A Subset of Protocol Families Used in Linux Environment 155
12.1.4 Socket Errors (ERRNO VALUES) 156
12.2 The World Wide Web and the Hypertext Transfer Protocol 156
12.3 The World Wide Web and Uniform Resource Locators (WWW & URLs) 157
12.4 The World Wide Web and File Transfer Protocol (WWW & FTP) 157
12.5 The Common Gateway Interface (CGI) 157
12.5.1 The Common Gateway Interface (CGI) and PERL 158
12.5.2 Invoking the PERL 158
12.5.3 Select command-line switches and options 158
12.5.4 Data Types in PERL 159
12.5.5 File Handles in PERL 159
12.5.6 File Access Symbols 159
12.5.7 Relational Operators 159
12.5.8 Logical Operators 159
12.5.9 Conditional Operators 159
12.6 The Server Side Includes: An Example 159
12.7 Java Technologies 160
12.7.1 The Concept of the Java Threads 160
12.7.1.1 Creating threads 160
12.7.2 The Java Script: A Scripting Language 160
12.7.2.1 Java Script, HTML and Frames 161
12.7.2.2 Java Script: A Partial Event List 161
12.7.2.3 The Visual Basic Script and its Position vis-à-vis Java
Script
161
12.8 The ActiveX Scripting Services 162
12.8.1 Classes of ActiveX Scripting Components 162
12.8.2 The VB Script and the Visual Basic 162
12.9 XML: A Quick Look 162
12.9.1 XML and Java: A Quick Look 163
12.10 Summary 163
12.11 Recommended Readings 164
12.12 Exercises 165
Appendices
A-1 A Revised Version of the IETF Internet Draft on the IPv6 Quality-of-Service through
the Modified Flow-label Specification
A-2 A Revised Version of the IETF Internet Draft on the IPv6 Quality-of-Service through
the Modified Hop-by-Hop Extension Header Specification
A-3 A Quick-view Chart of Major Internetworking Research and Development Initiatives
Around the World
A-4 Bibliography
Index