Muutke küpsiste eelistusi

Computing in Communication Networks: From Theory to Practice [Pehme köide]

Edited by (Professor and Head of the Deutsche Telekom Chair of Communication Networks, Technische Universität Dresden, Dresden, Germany), Edited by (Associate Professor, DISI - University of Trento, Italy), Edited by (Professor, Department of Computer Science, Centr)
  • Formaat: Paperback / softback, 522 pages, kõrgus x laius: 235x191 mm, kaal: 1060 g, Approx. 100 illustrations; Illustrations, unspecified
  • Ilmumisaeg: 21-May-2020
  • Kirjastus: Academic Press Inc
  • ISBN-10: 0128204885
  • ISBN-13: 9780128204887
  • Formaat: Paperback / softback, 522 pages, kõrgus x laius: 235x191 mm, kaal: 1060 g, Approx. 100 illustrations; Illustrations, unspecified
  • Ilmumisaeg: 21-May-2020
  • Kirjastus: Academic Press Inc
  • ISBN-10: 0128204885
  • ISBN-13: 9780128204887

Computing in Communication Networks: From Theory to Practice provides comprehensive details and practical implementation tactics on the novel concepts and enabling technologies at the core of the paradigm shift from store and forward (dumb) to compute and forward (intelligent) in future communication networks and systems. The book explains how to create virtualized large scale testbeds using well-established open source software, such as Mininet and Docker. It shows how and where to place disruptive techniques, such as machine learning, compressed sensing, or network coding in a newly built testbed. In addition, it presents a comprehensive overview of current standardization activities.

Specific chapters explore upcoming communication networks that support verticals in transportation, industry, construction, agriculture, health care and energy grids, underlying concepts, such as network slicing and mobile edge cloud, enabling technologies, such as SDN/NFV/ ICN, disruptive innovations, such as network coding, compressed sensing and machine learning, how to build a virtualized network infrastructure testbed on one’s own computer, and more.

  • Provides a uniquely comprehensive overview on the individual building blocks that comprise the concept of computing in future networks
  • Gives practical hands-on activities to bridge theory and implementation
  • Includes software and examples that are not only employed throughout the book, but also hosted on a dedicated website
List of contributors
xv
About the editors xix
Preface from the editors xxi
Acknowledgments xxiii
Acronyms xxv
PART 1 FUTURE COMMUNICATION NETWORKS AND SYSTEMS
Chapter 1 On the need of computing in future communication networks
3(44)
Frank H.P. Fitzek
Patrick Seeling
Thomas Hoschele
Bruno Jacobfeuerborn
1.1 Evolution of communication networks
3(7)
1.1.1 The telephone networks: circuit-switched
4(2)
1.1.2 The Internet: packet-switched
6(1)
1.1.3 The cellular communication networks
7(3)
1.2 The 5G communication system
10(34)
1.2.1 The 5G Atom core: use cases
11(9)
1.2.2 First tier: the technical requirements
20(11)
1.2.3 Second tier: the concepts
31(9)
1.2.4 Third tier: the softwarization technologies
40(2)
1.2.5 Fourth tier: innovation and novelties
42(2)
1.3 Softwarization: the game changer for network operators
44(3)
Chapter 2 Standardization activities for future communication networks
47(16)
Fabrizio Granelli
Patrick Seeling
Frank H.P. Fitzek
Riccardo Bassoli
2.1 Introduction
47(3)
2.2 Standardization in telecommunications
50(2)
2.3 Standardization of future generation networks
52(11)
2.3.1 3GPP standardization
53(3)
2.3.2 ETSI standardization
56(1)
2.3.3 ITU-T standardization
56(1)
2.3.4 IETF/IRTF standardization
57(6)
PART 2 CONCEPTS
Chapter 3 Network slicing
63(14)
Fabrizio Granelli
3.1 Introduction
63(2)
3.2 Network slice: concept and life cycle
65(2)
3.3 Network slicing architectures
67(5)
3.3.1 Single owner, single controller
69(1)
3.3.2 Single owner, multiple tenants -- SDN proxy
70(1)
3.3.3 Multiple owners, tenants
71(1)
3.4 Network slicing examples
72(5)
Chapter 4 Mobile edge cloud
77(16)
Roberto Torre
Tung Doan
Hani Salah
4.1 Introduction
77(1)
4.2 Mobile edge cloud
78(3)
4.2.1 Similar concepts
78(1)
4.2.2 Characteristics
79(1)
4.2.3 Keyenablers
80(1)
4.2.4 General architecture
80(1)
4.3 MANO frameworks
81(5)
4.4 MEC example implementations
86(7)
4.4.1 Tron demonstrator
86(1)
4.4.2 Ball sorting machine
87(1)
4.4.3 Ambulance demonstrator
87(1)
4.4.4 Seamless migration for autonomous cars
88(5)
Chapter 5 Content distribution
93(14)
Hani Salah
Sandra Zimmermann
Juan A. Cabrera
5.1 Introduction
93(2)
5.2 Content delivery networks
95(2)
5.2.1 Content distribution
96(1)
5.2.2 Request routing
97(1)
5.3 Information-centric networking
97(10)
5.3.1 Operation primitives and packet types
99(1)
5.3.2 Content naming
100(1)
5.3.3 In-network caching
100(1)
5.3.4 Node architecture and packet handling
100(3)
5.3.5 Content-based security
103(4)
PART 3 ENABLING TECHNOLOGIES
Chapter 6 Software-defined networks
107(12)
Justus Rischke
Hani Salah
6.1 Networking in today's Internet
107(2)
6.2 The road to SDN
109(3)
6.2.1 What is software-defined networking?
109(1)
6.2.2 Architecture
110(1)
6.2.3 SDN use cases
111(1)
6.3 Technologies and standards
112(7)
6.3.1 SDN controllers
112(1)
6.3.2 SDN switches
113(1)
6.3.3 OpenFlow
113(3)
6.3.4 P4
116(1)
6.3.5 NETCONF
117(2)
Chapter 7 Network function virilization
119(16)
Riccardo Bassoli
7.1 Introduction
119(2)
7.2 Network function virtualization
121(3)
7.3 NFV-SDN architectures
124(2)
7.4 Programmable protocol stack
126(4)
7.5 Virtualization of RAN and BBU splitting
130(5)
PART 4 INNOVATION TRACK
Chapter 8 Machine learning
135(34)
Riccardo Bonetto
Vincent Latzko
8.1 Introduction
135(1)
8.2 Supervised learning
136(26)
8.2.1 Problem formulation
136(1)
8.2.2 Supervised learning workflow
137(9)
8.2.3 Linear and logistic regression
146(3)
8.2.4 Support vector machines
149(2)
8.2.5 Decision trees
151(4)
8.2.6 Artificial neural networks
155(4)
8.2.7 Convolutional neural networks
159(3)
8.3 Intermission
162(1)
8.4 Reinforcement learning
163(6)
8.4.1 Finite Markov decision processes
163(2)
8.4.2 Q-learning
165(1)
8.4.3 The exploration vs. exploitation dilemma
165(1)
8.4.4 Deep Q-learning
166(3)
Chapter 9 Network coding
169(28)
Juan A. Cabrera
Morten V. Pedersen
Frank H.P. Fitzek
9.1 Interflow network coding -- the basics
169(6)
9.1.1 The butterfly network
170(3)
9.1.2 Alice and Bob topology
173(1)
9.1.3 The X topology
174(1)
9.1.4 The cross topology
174(1)
9.2 Intraflow network coding -- now it gets interesting
175(22)
9.2.1 How to create coded packets
180(5)
9.2.2 RLNC and the butterfly
185(1)
9.2.3 Impact of the coding parameters
186(5)
9.2.4 The potential of recoding
191(6)
Chapter 10 Compressed sensing
197(22)
Maroua Taghouti
10.1 Compressed sensing theory
197(6)
10.1.1 Problem formulation
197(2)
10.1.2 Mathematical background
199(2)
10.1.3 Sparse and compressible signals
201(1)
10.1.4 Measurement matrix design
201(2)
10.2 Basic reconstruction algorithms
203(4)
10.2.1 Convex relaxation
204(1)
10.2.2 Greedy algorithms
205(1)
10.2.3 Message passing
206(1)
10.2.4 Reconstruction strategies discussion
206(1)
10.3 Sparse representation
207(2)
10.3.1 Well-known transforms
207(1)
10.3.2 Sparsifying dictionary/dictionary learning
208(1)
10.4 Distributed compressed sensing
209(4)
10.4.1 Joint sparsity models
211(2)
10.4.2 DCS reconstruction algorithms
213(1)
10.5 Compressed sensing for communications
213(6)
10.5.1 Compressed sensing for WSN
214(1)
10.5.2 Kronecker compressed sensing
214(5)
PART 5 BUILDING THE TESTBED
Chapter 11 Mininet: an instant virtual network on your computer
219(12)
Zuo Xiang
Patrick Seeling
11.1 Introduction
219(2)
11.2 Mininet workflow
221(3)
11.2.1 Create a network topology
221(2)
11.2.2 Interact with a network
223(1)
11.2.3 Programmable network with SDN
223(1)
11.3 Demystifying Mininet
224(5)
11.3.1 Resource management and isolation
224(2)
11.3.2 Configurable data plane
226(3)
11.4 Create a tiny topology from scratch
229(2)
Chapter 12 Docker: containerize your application
231(14)
Alexander Kropp
Roberto Torre
12.1 Introduction to Docker
231(1)
12.2 Containers vs virtual machines
232(1)
12.3 Management, orchestration and external tools
233(3)
12.3.1 Kubernetes
234(2)
12.3.2 Docker Swarm
236(1)
12.4 Getting started with Docker
236(9)
12.4.1 Basic commands
236(4)
12.4.2 Building an image -- Dockerfile
240(1)
12.4.3 Services and stacks
241(2)
12.4.4 Docker Swarm
243(2)
Chapter 13 ComNetsEmu: a lightweight emulator
245(14)
Zuo Xiang
Juan A. Cabrera
Sreekrishna Pandi
Patrick Seeling
Frank H.P. Fitzek
13.1 Introduction
245(4)
13.2 ComNetsEmu in a nutshell
249(3)
13.2.1 Test environment management
249(1)
13.2.2 Application container management
250(2)
13.3 Examples for getting started
252(7)
13.3.1 Echo server
253(2)
13.3.2 Docker-in-Docker for resource limitation
255(4)
PART 6 EXAMPLES
Chapter 14 Realizing network slicing
259(18)
Fabrizio Granelli
Truong Giang Nguyen
Huanzhuo Wu
14.1 Network slicing in Mininet
259(4)
14.1.1 Introduction
259(1)
14.1.2 Link capacity slicing
260(3)
14.2 Network slicing in ComNetsEmu
263(14)
14.2.1 Example 1: topology slicing
265(3)
14.2.2 Example 2: service slicing
268(5)
14.2.3 Example 3: SDN proxy-based slicing
273(4)
Chapter 15 Realizing mobile edge clouds
277(12)
Zuo Xiang
Carl Collmann
Patrick Seeling
15.1 Introduction
277(3)
15.2 Mechanisms and practical implementation
280(3)
15.2.1 Without SDN/NFV technologies
280(1)
15.2.2 With SDN/NFV technologies
280(3)
15.3 ComNetsEmu experimentation
283(1)
15.4 Emulation results
284(5)
15.4.1 Latency measurement results on SDN controller
284(2)
15.4.2 Latency measurement at client side
286(3)
Chapter 16 Machine learning for routing
289(8)
Justus Rischke
Peter Sossalla
16.1 Introduction
289(1)
16.2 Fitting reinforcement learning to routing
289(4)
16.2.1 Designing state and action space
290(1)
16.2.2 Reward
291(1)
16.2.3 Exploration
292(1)
16.3 Example
293(4)
16.3.1 Setup
293(1)
16.3.2 Running the example
294(1)
16.3.3 Discussion
295(1)
16.3.4 Changing parameters
296(1)
Chapter 17 Machine learning for flow compression
297(16)
Mate Tomoskozi
17.1 Introduction
297(3)
17.2 The compression oracle
300(1)
17.3 The 02SC library
301(5)
17.3.1 Examples of predefined oracles
303(1)
17.3.2 Defining oracles using machine learning
304(2)
17.4 Examples
306(3)
17.5 The interactive environment
309(4)
Chapter 18 Machine learning for congestion control
313(12)
Christian Leonard Vielhaus
18.1 Introduction
313(1)
18.2 Characterizing congestion
313(2)
18.3 Congestion window
315(2)
18.4 Designing the agent
317(2)
18.5 Example with ComNetsEmu
319(3)
18.6 Exercises
322(3)
18.6.1 Exercise 1
322(1)
18.6.2 Exercise 2
322(1)
18.6.3 Exercise 3
323(2)
Chapter 19 Machine learning for object detection
325(14)
Zuo Xiang
Renbing Zhang
Patrick Seeling
19.1 Introduction
325(5)
19.2 Distributed YOLO with compression
330(5)
19.2.1 Distributed YOLO: VNF and server
330(1)
19.2.2 Model split
331(1)
19.2.3 Inside YOLO
332(1)
19.2.4 Feature map compression
333(2)
19.3 Examples
335(4)
19.3.1 Infinite forwarding VNF
336(1)
19.3.2 Limited forwarding VNF
337(2)
Chapter 20 Network coding for transport
339(12)
Justus Rischke
Zuo Xiang
20.1 Introduction
339(2)
20.2 Network coding as virtualized network function
341(1)
20.2.1 Virtualization approaches
341(1)
20.2.2 Coding the traffic
342(1)
20.3 Multihop recoding example
342(2)
20.4 Adaptive redundancy example
344(7)
20.4.1 Delivery probability of packets
344(2)
20.4.2 Running the example
346(2)
20.4.3 Example results
348(3)
Chapter 21 Network coding for storage
351(10)
Robert-Steve Schmoll
21.1 Introduction
351(1)
21.2 Distributed storage
351(2)
21.3 Network coding in distributed storage
353(1)
21.4 Running the example
354(7)
21.4.1 Uncoded repair
355(2)
21.4.2 Simple network code with replication
357(1)
21.4.3 Network coding with recoding
358(3)
Chapter 22 In-network compressed sensing
361(10)
Maroua Taghouti
Malte Howeler
22.1 Introduction
361(1)
22.2 Point-to-point scenario
362(3)
22.2.1 Using DCT for data sparsification
363(1)
22.2.2 Using a trained dictionary for data sparsification
364(1)
22.3 Single-cluster scenario
365(5)
22.3.1 Using DCT for data sparsification
365(2)
22.3.2 Using a trained dictionary for data sparsification
367(3)
22.4 Next steps
370(1)
Chapter 23 Security for mobile edge cloud
371(18)
Simon Hanisch
Amr Osman
Tao Li
Thorsten Strufe
23.1 Introduction
371(1)
23.2 Network segmentation
372(3)
23.2.1 Concepts
372(2)
23.2.2 Implementation
374(1)
23.2.3 nftables
374(1)
23.3 Network isolation exercise
375(5)
23.3.1 Blacklisting and whitelisting
376(1)
23.3.2 Stateful filtering
377(1)
23.3.3 Chains and jumps
378(2)
23.4 Secure network tunnels
380(2)
23.4.1 Concepts
380(2)
23.4.2 Implementation
382(1)
23.4.3 Wireguard
382(1)
23.5 Secure network tunnel exercise
382(7)
23.5.1 Man-in-the-middle
383(1)
23.5.2 Tunnel network
384(5)
PART 7 EXTENSIONS
Chapter 24 Connecting to the outer world
389(12)
Fabrizio Granelli
24.1 Introduction
389(1)
24.2 Connecting ComNetsEmu to the Internet
389(5)
24.2.1 Manual host configuration
390(3)
24.2.2 Using NAT service
393(1)
24.2.3 Using DNS resolution
393(1)
24.3 Connecting different test bed VMs
394(5)
24.4 Exercises
399(2)
24.4.1 Exercise 1
399(1)
24.4.2 Exercise 2
399(2)
Chapter 25 Integrating time-sensitive networking
401(12)
Marian Ulbricht
Javier Acevedo
25.1 Introduction
401(1)
25.2 IEEE802.1AS -- if timing matters
402(2)
25.3 Different shapes of packets -- IEEE802.1 Qav and IEEE802.1Qbv
404(3)
25.3.1 Credit-based shaper
404(3)
25.3.2 Time-aware shaper
407(1)
25.4 IEEE802.1Qci -- you shall not pass!
407(2)
25.5 IEEE802.1Qbu, IEEE802.3br -- filling the gaps
409(1)
25.6 Hands-on: time-sensitive queueing in the new Linux kernel 5.2
410(3)
25.6.1 ComNetsEmu setup
410(1)
25.6.2 Using the TAS simulator
410(1)
25.6.3 Preparing the TAS
411(1)
25.6.4 Measurement and results
411(2)
Chapter 26 Integrating software-defined radios
413(18)
Javier Acevedo
Marian Ulbricht
Dongho You
26.1 Introduction
413(2)
26.2 Basic principles
415(3)
26.2.1 What is programmable in SDR?
415(1)
26.2.2 Design considerations
416(1)
26.2.3 Design constraints
417(1)
26.3 Software stacks
418(1)
26.3.1 Universal Software Radio Peripheral (USRP)
418(1)
26.3.2 GNU radio
418(1)
26.4 Examples
419(12)
26.4.1 Setup
420(1)
26.4.2 OFDM transceiver exercise
420(3)
26.4.3 Latency measurement exercise
423(8)
PART 8 TOOLS
Chapter 27 Networking tools
431(26)
Sreekrishna Pandi
Alexander Kropp
Roland Schingnitz
Sebastian A.W. Itting
27.1 Connectivity testing -- ping
432(1)
27.2 Basic network administration -- iproute2
433(3)
27.2.1 ip addr
433(1)
27.2.2 ip link
434(1)
27.2.3 ip route
435(1)
27.3 Traffic generation -- iPerf
436(2)
27.4 Process monitoring -- htop
438(1)
27.5 Network traffic manipulation -- TC
439(5)
27.6 Traffic monitoring -- tcpdump/Wireshark
444(4)
27.6.1 tcpdump
445(1)
27.6.2 Wireshark
446(2)
27.7 Rapid Python prototyping -- Jupyter
448(3)
27.8 Hands-on example to tie all tools together
451(6)
Bibliography 457(16)
Index 473
Frank H. P. Fitzek is a Professor and head of the Deutsche Telekom Chair of Communication Networks” at TU Dresden coordinating the 5G Lab Germany. He is the spokesman of the DFG Cluster of Excellence Center for Tactile Internet” (CeTI).

He received his diploma (Dipl.-Ing.) degree in electrical engineering from the University of Technology Rheinisch-Westfälische Technische Hochschule (RWTH) Aachen, Germany, in 1997 and his Ph.D. (Dr.-Ing.) in Electrical Engineering from the Technical University Berlin, Germany in 2002 and became Adjunct Professor at the University of Ferrara, Italy in the same year. In 2003 he joined Aalborg University as Professor . Fabrizio Granelli is Associate Professor at the Dept. of Information Engineering and Computer Science (DISI) University of Trento (Italy), IEEE ComSoc Director for Educational Services (2018-19) and Chair of Joint IEEE VTS/ComSoc Italian Chapter. He is Research Associate Professor at the University of New Mexico, NM, USA. He received the M.Sc. and Ph.D. degrees from University of Genoa, Italy, in 1997 and 2001. He was visiting professor at the State University of Campinas (Brasil) and at the University of Tokyo (Japan), and IEEE ComSoc Distinguished Lecturer in 2012-15. He is Associate Editor in Chief of IEEE Communications Surveys and Tutorials. Patrick Seeling is a Professor in the Department of Computer Science at Central Michigan University, USA. He received his diploma (Dipl.-Ing.) degree in Industrial Engineering and Management from the Technical University Berlin, Germany, in 2002 and his his Ph.D. in Electrical Engineering from Arizona State University (ASU), USA, in 2005. He was an Associated Faculty at ASU until 2008 and an Assistant Professor at the University of Wisconsin-Stevens Point until 2011. In 2011, he joined Central Michigan University as Assistant Professor, where he became a tenured Associate Professor in 2015 and a Full Professor in 2018.