Table of Contents:
  • 1. The Internet
  • 1.1 Basic operations
  • 1.1.1 Hosts, routers, links
  • 1.1.2 Packet switching
  • 1.1.3 Addressing
  • 1.1.4 Routing
  • 1.1.5 Error detection
  • 1.1.6 Retransmission of erroneous packets
  • 1.1.7 Congestion control
  • 1.1.8 Flow control
  • 1.2 DNS, HTTP, and WWW
  • 1.2.1 DNS
  • 1.2.2 HTTP and WWW
  • 1.3 Summary
  • 1.4 Problems
  • 1.5 References
  • 10. QOS
  • 10.1 Overview
  • 10.2 Traffic shaping
  • 10.2.1 Leaky buckets
  • 10.2.2 Delay bounds
  • 10.3 Scheduling
  • 10.3.1 GPS
  • 10.3.2 WFQ
  • 10.4 Regulated flows and WFQ
  • 10.5 End-to-end QoS
  • 10.6 End-to-end admission control
  • 10.7 Net neutrality
  • 10.8 Summary
  • 10.9 Problems
  • 10.10 References
  • 11. Physical layer
  • 11.1 How to transport bits?
  • 11.2 Link characteristics
  • 11.3 Wired and wireless links
  • 11.3.1 Modulation schemes: BPSK, QPSK, QAM
  • 11.3.2 Inter-cell interference and OFDM
  • 11.4 Optical links
  • 11.4.1 Operation of fiber
  • 11.4.2 OOK modulation
  • 11.4.3 Wavelength division multiplexing
  • 11.4.4 Optical switching
  • 11.4.5 Passive optical network
  • 11.5 Summary
  • 11.6 References
  • 12. Additional topics
  • 12.1 Switches
  • 12.1.1 Modular switches
  • 12.1.2 Switched crossbars
  • 12.2 Overlay networks
  • 12.2.1 Applications: CDN and P2P
  • 12.2.2 Routing in overlay networks
  • 12.3 How popular P2P protocols work
  • 12.3.1 1st generation: server-client based
  • 12.3.2 2nd generation: centralized directory based
  • 12.3.3 3rd generation: purely distributed
  • 12.3.4 Advent of hierarchical overlay--super nodes
  • 12.3.5 Advanced distributed file sharing: BitTorrent
  • 12.4 Sensor networks
  • 12.4.1 Design issues
  • 12.5 Distributed applications
  • 12.5.1 Bellman-Ford routing algorithm
  • 12.5.2 Power adjustment
  • 12.6 Byzantine agreement
  • 12.6.1 Agreeing over an unreliable channel
  • 12.6.2 Consensus in the presence of adversaries
  • 12.7 Source compression
  • 12.8 SDN and NFV
  • 12.8.1 SDN architecture
  • 12.8.2 New services enabled by SDN
  • 12.8.3 Knowledge-defined networking
  • 12.8.4 Management framework for NFV
  • 12.9 Internet of things (IoT)
  • 12.9.1 Remote computing and storage paradigms
  • 12.10 Summary
  • 12.11 Problems
  • 12.12 References
  • 2. Principles
  • 2.1 Sharing
  • 2.2 Metrics
  • 2.2.1 Link rate
  • 2.2.2 Link bandwidth and capacity
  • 2.2.3 Delay
  • 2.2.4 Throughput
  • 2.2.5 Delay jitter
  • 2.2.6 M/M/1 queue
  • 2.2.7 Little's result
  • 2.2.8 Fairness
  • 2.3 Scalability
  • 2.3.1 Location-based addressing
  • 2.3.2 Two-level routing
  • 2.3.3 Best effort service
  • 2.3.4 End-to-end principle and stateless routers
  • 2.3.5 Hierarchical naming
  • 2.4 Application and technology independence
  • 2.4.1 Layers
  • 2.5 Application topology
  • 2.5.1 Client/server
  • 2.5.2 P2P
  • 2.5.3 Cloud computing
  • 2.5.4 Content distribution
  • 2.5.5 Multicast/anycast
  • 2.5.6 Push/pull
  • 2.5.7 Discovery
  • 2.6 Summary
  • 2.7 Problems
  • 2.8 References
  • 3. Ethernet
  • 3.1 Typical installation
  • 3.2 History of Ethernet
  • 3.2.1 Aloha network
  • 3.2.2 Cable Ethernet
  • 3.2.3 Hub Ethernet
  • 3.2.4 Switched Ethernet
  • 3.3 Addresses
  • 3.4 Frame
  • 3.5 Physical layer
  • 3.6 Switched Ethernet
  • 3.6.1 Example
  • 3.6.2 Learning
  • 3.6.3 Spanning tree protocol
  • 3.7 Aloha
  • 3.7.1 Time-slotted version
  • 3.8 Non-slotted Aloha
  • 3.9 Hub Ethernet
  • 3.9.1 Maximum collision detection time
  • 3.10 Appendix: probability
  • 3.10.1 Probability
  • 3.10.2 Additivity for exclusive events
  • 3.10.3 Independent events
  • 3.10.4 Slotted Aloha
  • 3.10.5 Non-slotted Aloha
  • 3.10.6 Waiting for success
  • 3.10.7 Hub Ethernet
  • 3.11 Summary
  • 3.12 Problems
  • 3.13 References
  • 4. WiFi
  • 4.1 Basic operations
  • 4.2 Medium access control (MAC)
  • 4.2.1 MAC protocol
  • 4.2.2 Enhancements for medium access
  • 4.2.3 MAC addresses
  • 4.3 Physical layer
  • 4.4 Efficiency analysis of MAC protocol
  • 4.4.1 Single device
  • 4.4.2 Multiple devices
  • 4.5 Recent advances
  • 4.5.1 IEEE 802.11n--introduction of MIMO in WiFi
  • 4.5.2 IEEE 802.11ad--WiFi in millimeter wave spectrum
  • 4.5.3 IEEE 802.11ac--introduction of MU-MIMO in WiFi
  • 4.5.4 IEEE 802.11ah--WiFi for IoT and M2M
  • 4.5.5 Peer-to-peer WiFi
  • 4.6 Appendix: Markov chains
  • 4.7 Summary
  • 4.8 Problems
  • 4.9 References
  • 5. Routing
  • 5.1 Domains and two-level routing
  • 5.1.1 Scalability
  • 5.1.2 Transit and peering
  • 5.2 Inter-domain routing
  • 5.2.1 Path vector algorithm
  • 5.2.2 Possible oscillations
  • 5.2.3 Multi-exit discriminators
  • 5.3 Intra-domain shortest path routing
  • 5.3.1 Dijkstra's algorithm and link state
  • 5.3.2 Bellman-Ford and distance vector
  • 5.4 Anycast, multicast
  • 5.4.1 Anycast
  • 5.4.2 Multicast
  • 5.4.3 Forward error correction
  • 5.4.4 Network coding
  • 5.5 Ad hoc networks
  • 5.5.1 AODV
  • 5.5.2 OLSR
  • 5.5.3 Ant routing
  • 5.5.4 Geographic routing
  • 5.5.5 Backpressure routing
  • 5.6 Summary
  • 5.7 Problems
  • 5.8 References
  • 6. Internetworking
  • 6.1 Objective
  • 6.2 Basic components: Mask, Gateway, ARP
  • 6.2.1 Addresses and subnets
  • 6.2.2 Gateway
  • 6.2.3 DNS server
  • 6.2.4 ARP
  • 6.2.5 Configuration
  • 6.3 Examples
  • 6.3.1 Same subnet
  • 6.3.2 Different subnets
  • 6.3.3 Finding IP addresses
  • 6.3.4 Fragmentation
  • 6.4 DHCP
  • 6.5 NAT
  • 6.6 Summary
  • 6.7 Problems
  • 6.8 References
  • 7. Transport
  • 7.1 Transport services
  • 7.2 Transport header
  • 7.3 TCP states
  • 7.4 Error control
  • 7.4.1 Stop-and-wait
  • 7.4.2 Go Back N
  • 7.4.3 Selective acknowledgments
  • 7.4.4 Timers
  • 7.5 Congestion control
  • 7.5.1 AIMD
  • 7.5.2 Refinements: fast retransmit and fast recovery
  • 7.5.3 Adjusting the rate
  • 7.5.4 TCP window size
  • 7.5.5 Terminology
  • 7.6 Flow control
  • 7.7 Alternative congestion control schemes
  • 7.8 Summary
  • 7.9 Problems
  • 7.10 References
  • 8. Models
  • 8.1 Graphs
  • 8.1.1 Max-flow, min-cut
  • 8.1.2 Coloring and MAC protocols
  • 8.2 Queues
  • 8.2.1 M/M/1 queue
  • 8.2.2 Jackson networks
  • 8.2.3 Queuing vs. communication networks
  • 8.3 The role of layers
  • 8.4 Congestion control
  • 8.4.1 Fairness vs. throughput
  • 8.4.2 Distributed congestion control
  • 8.4.3 TCP revisited
  • 8.5 Dynamic routing and congestion control
  • 8.6 Wireless
  • 8.7 Appendix: Justification for primal-dual theorem
  • 8.8 Summary
  • 8.9 Problems
  • 8.10 References
  • 9. LTE
  • 9.1 Cellular network
  • 9.2 Technology evolution
  • 9.3 Key aspects of LTE
  • 9.3.1 LTE system architecture
  • 9.3.2 Physical layer
  • 9.3.3 QoS support
  • 9.3.4 Scheduler
  • 9.4 LTE-advanced
  • 9.4.1 Carrier aggregation
  • 9.4.2 Enhanced MIMO support
  • 9.4.3 Relay nodes (RNs)
  • 9.4.4 Coordinated multi point operation (CoMP)
  • 9.5 5G
  • 9.6 Summary
  • 9.7 Problems
  • 9.8 References
  • Bibliography
  • Authors' biographies
  • Index.