What every electrical engineering student and technical professional needs to know about data exchange across networks
While most electrical engineering students learn how the individual components that make up data communication technologies work, they rarely learn how the parts work together in complete data communication networks. In part, this is due to the fact that until now there have been no texts on data communication networking written for undergraduate electrical engineering students. Based on the author’s years of classroom experience, Fundamentals of Data Communication Networks fills that gap in the pedagogical literature, providing readers with a much-needed overview of all relevant aspects of data communication networking, addressed from the perspective of the various technologies involved.
The demand for information exchange in networks continues to grow at a staggering rate, and that demand will continue to mount exponentially as the number of interconnected IoT-enabled devices grows to an expected twenty-six billion by the year 2020. Never has it been more urgent for engineering students to understand the fundamental science and technology behind data communication, and this book, the first of its kind, gives them that understanding. To achieve this goal, the book:
- Combines signal theory, data protocols, and wireless networking concepts into one text
- Explores the full range of issues that affect common processes such as media downloads and online games
- Addresses services for the network layer, the transport layer, and the application layer
- Investigates multiple access schemes and local area networks with coverage of services for the physical layer and the data link layer
- Describes mobile communication networks and critical issues in network security
- Includes problem sets in each chapter to test and fine-tune readers’ understanding
Fundamentals of Data Communication Networks is a must-read for advanced undergraduates and graduate students in electrical and computer engineering. It is also a valuable working resource for researchers, electrical engineers, and technical professionals.
Table of Contents
Preface xv
Acknowledgments xix
1 Overview of Data Communication Networks 1
1.1 Introduction 1
1.2 Data Communication Network Model 1
1.3 Classification of Data Communication Networks 3
1.3.1 Transmission Method 3
1.3.2 Data Flow Direction 3
1.3.3 Network Topology 4
1.3.4 Geographical Coverage 7
1.3.5 Transmission Medium 8
1.3.6 Data Transfer Technique 8
1.3.7 Network Access Technique 9
1.3.8 Media Sharing Technique 9
1.4 Data Network Architecture 11
1.4.1 The OSI Protocol Reference Model 11
1.4.2 The Internet Architecture 12
1.5 Summary 14
2 Physical Layer 17
2.1 Introduction 17
2.2 Classification of Signals 17
2.3 Periodic Signals 18
2.4 Fourier Analysis of Periodic Signals 18
2.4.1 Reconstructing a Function from its Fourier Series 20
2.4.2 Fourier Analysis of Even and Odd Functions 21
2.4.3 Parseval’sTheorem 22
2.4.4 Complex Form of Fourier Series 23
2.5 Fourier Transform of Nonperiodic Signals 23
2.6 Filters 24
2.7 Line Coding 26
2.8 Modulation 28
2.8.1 Trigonometric Refresher Course 30
2.8.2 Amplitude Modulation 31
2.8.2.1 Overmodulation and Distortion 34
2.8.2.2 Single-Sideband Suppressed-Carrier Amplitude Modulation 34
2.8.3 Frequency Modulation 36
2.8.4 Phase Modulation 38
2.9 SamplingTheorem 38
2.9.1 Analyzing Impulse Train Sampling 39
2.9.2 Reconstruction of the Continuous-Time Signal 40
2.9.3 Statement of the SamplingTheorem 42
2.9.4 Proof of the SamplingTheorem 42
2.10 Analog-to-Digital Conversion: From PAM to PCM 44
2.10.1 Pulse Code Modulation 44
2.10.2 Quantization Noise 45
2.11 Basic DigitalModulation Schemes 46
2.11.1 Amplitude-Shift Keying 46
2.11.2 Frequency-Shift Keying 47
2.11.3 Phase-Shift Keying 48
2.12 Media Sharing Schemes 50
2.12.1 Frequency Division Multiplexing 50
2.12.1.1 Wavelength Division Multiplexing 52
2.12.2 Time Division Multiplexing 52
2.12.2.1 Synchronous Versus Asynchronous TDM 52
2.13 Modems 54
2.14 Transmission Media 54
2.14.1 Twisted Pair 55
2.14.2 Coaxial Cable 55
2.14.3 Optical Fiber 56
2.14.3.1 Fiber Modes 58
2.14.4 Wireless Medium 59
2.15 Channel Impairments 61
2.15.1 Attenuation 61
2.15.2 Noise 61
2.15.2.1 Concept of Decibel 63
2.15.2.2 Signal-to-Noise Ratio 64
2.15.3 Distortion 65
2.15.4 Equalization 66
2.16 Summary 68
3 Data Link Layer Protocols 73
3.1 Introduction 73
3.2 Framing 73
3.3 Bit Stuffing 74
3.4 Flow Control 74
3.4.1 The Stop-and-Wait Protocol 75
3.4.2 The SlidingWindow Flow Control 75
3.5 Error Detection 76
3.5.1 Parity Checking 76
3.5.2 Two-Dimensional Parity 77
3.5.3 Cyclic Redundancy Checking 78
3.6 Error Control Protocols 80
3.6.1 Stop-and-Wait ARQ 81
3.6.2 Go-Back-N ARQ 81
3.6.3 Selective Repeat ARQ 82
3.7 Data Link Control Protocols 82
3.7.1 High-level Data Link Control 83
3.7.1.1 HDLC Frame Format 84
3.7.1.2 Control Field Format 85
3.7.2 Point-to-Point Protocol 86
3.7.2.1 PPP Components 87
3.7.2.2 PPP Frame Format 87
3.7.2.3 PPP Link Control 88
3.8 Summary 89
4 Multiple Access Schemes 91
4.1 Introduction 91
4.2 Multiplexing Schemes Revisited 92
4.2.1 FDM 93
4.2.2 TDM 93
4.2.3 CDM 93
4.3 Orthogonal Access Schemes 93
4.3.1 FDMA 94
4.3.2 TDMA 94
4.3.3 CDMA 95
4.4 Controlled Access Schemes 96
4.4.1 Centralized Polling 96
4.4.2 Token Passing 96
4.4.3 Service Policies 96
4.5 Random Access Schemes 97
4.5.1 Aloha System 97
4.5.2 Slotted Aloha 98
4.5.3 CSMA 98
4.5.4 CSMA/CD 99
4.5.4.1 Why Listen While Transmitting in CSMA/CD 100
4.5.5 CSMA/CA 102
4.6 Summary 102
5 Local Area Networks 105
5.1 Introduction 105
5.2 Ethernet 105
5.2.1 Ethernet Frame Structure 106
5.2.2 IEEE 802.3 LAN Types 107
5.2.3 Ethernet Topologies 108
5.2.4 LAN Switching 110
5.2.5 Classification of Ethernet Switching 111
5.2.6 Frame Forwarding Methods 112
5.2.6.1 Store-and-Forward Switching 112
5.2.6.2 Cut-Through Switching 113
5.2.6.3 Fragment-Free Switching 113
5.2.7 Highest Layer used for Forwarding 113
5.2.7.1 Layer 2 Switching 114
5.2.7.2 Layer 3 Switching 114
5.2.7.3 Layer 4 Switching 115
5.3 Virtual LANs 115
5.3.1 Advantages of VLANs 115
5.3.2 Types of VLANs 117
5.3.2.1 Port-Based VLAN 117
5.3.2.2 MAC Address-Based VLAN 118
5.3.2.3 Protocol-Based VLANs 119
5.3.3 VLAN Tagging 120
5.3.4 Comments 121
5.4 Gigabit Ethernet 122
5.4.1 Frame Bursting 123
5.5 Wireless LANs 123
5.5.1 IEEE 802.11bWLAN 125
5.5.2 IEEE 802.11aWLAN 125
5.5.3 IEEE 802.11gWLAN 125
5.5.4 Architecture of the IEEE 802.11WLAN 126
5.5.5 Ad Hoc Mode Deployment 126
5.5.6 Infrastructure Mode Deployment 126
5.5.7 IEEE 802.11WLAN Timers 127
5.5.8 IEEE 802.11WLAN Operation 127
5.5.9 DCF Mechanism 128
5.5.10 PCF Mechanism 128
5.5.11 Range and Data Rate Comparison in the PCF Environment 129
5.6 Token Ring Network 129
5.6.1 Token Frame Fields 130
5.6.2 Token-Passing Access Method 130
5.6.3 Data/Command Frame Fields 131
5.6.4 Token Access Priority 132
5.6.5 Logical and Physical Implementation 133
5.7 Summary 134
6 Network Layer Part I – IP Addressing 137
6.1 Introduction 137
6.2 IP Address 137
6.3 Maximum Transmission Unit 139
6.4 IP Version 4 Addressing 140
6.4.1 Class A IPv4 Addresses 141
6.4.2 Class B IPv4 Addresses 141
6.4.3 Class C IPv4 Addresses 142
6.4.4 Class D IPv4 Addresses 142
6.4.5 Class E IPv4 Addresses 142
6.5 IP Subnetting 143
6.6 Variable Length Subnet Mask Networks 145
6.7 IP Quality of Service 147
6.8 Operation of the Explicit Congestion Notification 149
6.9 Address Resolution Protocol 149
6.9.1 Source and Sink in Same LAN 150
6.9.2 Source and Sink in Different LANs: Proxy ARP 150
6.9.3 Source and Sink in Different Remote LANs 151
6.10 Dealing with Shortage of IPv4 Addresses 152
6.10.1 Private Internets 152
6.10.2 Network Address Translation 153
6.10.3 Classless Inter-Domain Routing 153
6.11 IPv6 154
6.11.1 IPv6 Header 156
6.11.2 Concept of Flexible Addressing in IPv6 157
6.12 Summary 157
7 Network Layer Part II – Routing 159
7.1 Introduction 159
7.2 Routing Principle 159
7.3 Routing Algorithms 159
7.4 Static Versus Dynamic Routing 160
7.5 Link-State Versus Distance–Vector Routing 160
7.6 Flat Versus Hierarchical Routing 161
7.7 Host-Based Versus Router-Intelligent Routing 161
7.8 Centralized Versus Distributed Routing 162
7.9 Routing Metrics 162
7.9.1 Path Length 163
7.9.2 Reliability 163
7.9.3 Delay 163
7.9.4 Bandwidth 163
7.9.5 Load 164
7.9.6 Communication Cost 164
7.10 Flooding Algorithm 164
7.11 Distance–Vector Routing Algorithms 164
7.12 Link-State Routing Algorithms 165
7.13 Routing Protocols 166
7.14 Routing Information Protocol 168
7.15 Routing Information Protocol Version 2 168
7.16 Open Shortest Path First Protocol 169
7.16.1 OSPF Routing Hierarchy 169
7.16.2 OSPF Routers 169
7.16.3 OSPF Routing 170
7.16.4 Maintaining the Topological Database 171
7.17 Advantages of OSPF Over RIP 172
7.18 The Dijkstra’s Algorithm 172
7.19 Multicast Routing 176
7.20 Types of Multicast Systems 177
7.21 Host-Router Signaling 177
7.22 Multicast Routing Protocols 178
7.22.1 Opt-In Protocols 179
7.22.2 Opt-Out Protocols 180
7.22.3 Source-Based Tree Protocols 180
7.22.4 Shared Tree Protocols 180
7.23 Multicast Forwarding 181
7.24 Summary 183
8 Transport Layer – TCP and UDP 187
8.1 Introduction 187
8.2 TCP Basics 189
8.2.1 TCP Ports 189
8.2.2 TCP Sockets 190
8.2.3 TCP Segment Format 191
8.3 How TCPWorks 193
8.3.1 TCP Connection Establishment 193
8.3.2 TCP Connection Release 194
8.3.3 TCP Connection Management 195
8.4 TCP Flow Control 196
8.4.1 Slow Start 198
8.4.2 Congestion Avoidance 200
8.4.3 Fast Retransmit 201
8.4.4 Fast Recovery 202
8.5 TCP and Explicit Congestion Notification 203
8.6 The SYN Flood DoS Attach 205
8.7 UDP 206
8.8 Summary 208
9 Transport Layer – SCTP and DCCP 209
9.1 Introduction 209
9.2 Stream Control Transmission Protocol 209
9.2.1 Motivation for a New Transport Protocol 210
9.2.2 Illustration of the HOL Blocking 211
9.2.3 Summary of Features of SCTP 211
9.2.4 SCTP Packet 212
9.2.5 SCTP Header 212
9.2.6 Association Establishment 213
9.2.7 Four-Way Handshake and the SYN Flood DoS Attach 214
9.2.8 Multihoming 214
9.2.9 Multistreaming 216
9.2.10 SCTP Graceful Shutdown Feature 217
9.2.11 Selective Acknowledgments 218
9.3 Datagram Congestion Control Protocol 218
9.3.1 DCCP Packet Structure 219
9.3.2 DCCP Connection 221
9.3.3 DCCP Congestion Management 223
9.3.3.1 CCID 2–TCP-Like Congestion Control 224
9.3.3.2 CCID 3–TCP Friendly Rate Control 224
9.4 Summary 225
10 Application Layer Services 229
10.1 Introduction 229
10.2 Dynamic Host Configuration Protocol 230
10.2.1 DHCP Basics 230
10.2.2 Discovery Phase 231
10.2.3 Offer Phase 231
10.2.4 Request Phase 231
10.2.5 Acknowledgment Phase 232
10.2.6 Example of Configuration Process Timeline 232
10.2.7 Address Lease Time 232
10.2.8 Static Addresses 233
10.3 Domain Name System 233
10.3.1 Structure of the DNS 234
10.3.2 DNS Queries 236
10.3.3 Name-to-Address Resolution Process 237
10.3.4 DNS Zones 238
10.3.5 DNS Zone Updates 239
10.3.5.1 Full Zone Transfer 239
10.3.5.2 Incremental Zone Transfer 239
10.3.5.3 Notify 240
10.3.6 Dynamic Update 240
10.3.7 Root Servers 241
10.4 Summary 241
11 Introduction to Mobile Communication Networks 243
11.1 Introduction 243
11.2 Radio Communication Basics 243
11.3 Model of Radio Communication System 244
11.4 RadioWave Propagation 246
11.4.1 Free-Space Propagation 246
11.4.2 Reflection 247
11.4.3 Diffraction 248
11.4.4 Scattering 249
11.5 Multipath Fading 250
11.6 Introduction to Cellular Communication 252
11.6.1 Frequency Reuse 252
11.6.2 Cellular System Architecture 253
11.7 Clusters and Frequency Reuse 256
11.8 Co-Channel Interference 258
11.9 Cell Splitting 258
11.10 Introduction to Mobile Cellular Networks 258
11.11 Mobile Cellular Network Architecture 259
11.12 Mobility Management: Handoff 260
11.12.1 Handoff Schemes 261
11.12.2 Hard Handoff versus Soft Handoff 261
11.13 Generations of Mobile Communication Networks 261
11.13.1 First-Generation Networks 262
11.13.2 Second-Generation Networks 262
11.13.3 Introduction to the GSM Network 263
11.13.4 GSM Channels 265
11.13.5 Power Control 266
11.13.6 Overview of IS-136 TDMA Networks 266
11.13.7 Overview of IS-95 CDMA Networks 266
11.13.8 Third-Generation Networks 269
11.13.9 Fourth-Generation Networks 270
11.13.10 Fifth-Generation Networks 271
11.14 A Note on Internet-of-Things 274
11.15 Summary 274
12 Introduction to Network Security 277
12.1 Introduction 277
12.2 Types of Network Attacks 277
12.3 Security Services 280
12.4 Data Encryption Terminology 281
12.5 Cryptographic Systems 281
12.5.1 Symmetric Cryptosystems 281
12.5.2 Public-Key Cryptosystems 281
12.5.3 Comparing Symmetric and Public-Key Cryptosystems 282
12.5.4 A Hybrid Encryption Scheme 283
12.6 Technical Summary of Public-Key Cryptography 283
12.6.1 Introduction to NumberTheory 283
12.6.2 Congruences 284
12.6.3 The Square and Multiply Algorithm 284
12.6.4 Euclid’s Algorithm 285
12.6.5 Extended Euclid’s Algorithm 286
12.6.6 Euler’s Phi Function (Euler’s Totient Function) 287
12.6.7 The RSA Algorithm 287
12.7 Digital Signatures 289
12.7.1 Generating a Digital Signature 289
12.7.2 Verifying a Digital Signature 290
12.8 IP Security Protocols 291
12.8.1 IPSec Modes 291
12.8.2 Security Association 292
12.8.3 Authentication Header 292
12.8.4 Encapsulating Security Payload 292
12.8.5 Key Distribution 293
12.9 Summary 294
Bibliography 295
Index 297