1.1
| The Motivation For Internetworking   1
|
1.2
| The TCP/IP Internet   2
|
1.3
| Internet Services   2
|
| 1.3.1
| Application Level Internet Services   3
|
| 1.3.2
| Network-Level Internet Services   4
|
1.4
| History And Scope Of The Internet   6
|
1.5
| The Internet Architecture Board   7
|
1.6
| The IAB Reorganization   8
|
1.7
| Internet Request For Comments (RFCs)   8
|
1.8
| Internet Growth   9
|
1.9
| Transition To IPv6   12
|
1.10
| Committee Design And The New Version of IP   12
|
1.11
| Relationship Between IPv4 And IPv6   13
|
1.12
| IPv6 Migration   14
|
1.13
| Dual Stack Systems   15
|
1.14
| Organization Of The Text   15
|
1.15
| Summary   16
|
| Exercises   17
|
2.1
| Introduction   19
|
2.2
| Two Approaches To Network Communication   20
|
2.3
| WAN And LAN   21
|
2.4
| Hardware Addressing Schemes   21
|
2.5
| Ethernet (IEEE 802.3)   22
|
| 2.5.1
| Ethernet Capacity   23
|
| 2.5.2
| Automatic Negotiation   23
|
| 2.5.3
| Important Properties Of An Ethernet   23
|
| 2.5.4
| 48-Bit Ethernet MAC (Hardware) Addresses   24
|
| 2.5.5
| Ethernet Frame Format And Packet Size   25
|
2.6
| Wi-Fi (IEEE 802.11)   26
|
2.7
| ZigBee (IEEE 802.15.4)   26
|
2.8
| Optical Carrier And Packet Over SONET (OC, POS)   27
|
2.9
| Point-To-Point Networks   28
|
2.10
| VLAN Technology And Broadcast Domains   28
|
2.11
| Bridging   29
|
2.12
| Congestion And Packet Loss   30
|
2.13
| Summary   31
|
| Exercises   32
|
4.1
| Introduction   47
|
4.2
| The Need For Multiple Protocols   47
|
4.3
| The Conceptual Layers Of Protocol Software   49
|
4.4
| Functionality Of The Layers   49
|
4.5
| ISO 7-Layer Reference Model   50
|
4.6
| X.25 And Its Relation To The ISO Model   51
|
4.7
| The TCP/IP 5-Layer Reference Model   52
|
4.8
| Locus Of Intelligence   56
|
4.9
| The Protocol Layering Principle   57
|
4.10
| The Layering Principle Applied To A Network   58
|
| 4.10.1
| Layering In A TCP/IP Internet Environment   59
|
4.11
| Layering In Mesh Networks   60
|
4.12
| Two Important Boundaries In The TCP/IP Model   62
|
| 4.12.1
| High-Level Protocol Address Boundary   62
|
| 4.12.2
| Operating System Boundary   63
|
4.13
| Cross-Layer Optimizations   63
|
4.14
| The Basic Idea Behind Multiplexing And Demultiplexing   64
|
4.15
| Summary   66
|
| Exercises   66
|
5.1
| Introduction   69
|
5.2
| Universal Host Identifiers   69
|
5.3
| The Original IPv4 Classful Addressing Scheme   71
|
5.4
| Dotted Decimal Notation Used With IPv4   72
|
5.5
| IPv4 Subnet Addressing   72
|
5.6
| Fixed Length IPv4 Subnets   75
|
5.7
| Variable-Length IPv4 Subnets   77
|
5.8
| Implementation Of IPv4 Subnets With Masks   77
|
5.9
| IPv4 Subnet Mask Representation And Slash Notation   78
|
5.10
| The Current Classless IPv4 Addressing Scheme   79
|
5.11
| IPv4 Address Blocks And CIDR Slash Notation   82
|
5.12
| A Classless IPv4 Addressing Example   82
|
5.13
| IPv4 CIDR Blocks Reserved For Private Networks   83
|
5.14
| The IPv6 Addressing Scheme   84
|
5.15
| IPv6 Colon Hexadecimal Notation   84
|
5.16
| IPv6 Address Space Assignment   85
|
5.17
| Embedding IPv4 Addresses In IPv6 For Transition   86
|
5.18
| IPv6 Unicast Addresses And /64   87
|
5.19
| IPv6 Interface Identifiers And MAC Addresses   88
|
5.20
| IP Addresses, Hosts, And Network Connections   89
|
5.21
| Special Addresses   90
|
| 5.21.1
| IPv4 Network Address   90
|
| 5.21.2
| IPv4 Directed Broadcast Address   90
|
| 5.21.3
| IPv4 Limited (Local Network) Broadcast Address   91
|
| 5.21.4
| IPv4 Subnet Broadcast Address   91
|
| 5.21.5
| IPv4 All-0s Source Address   91
|
| 5.21.6
| IPv4 Multicast Addresses   92
|
| 5.21.7
| IPv4 Loopback Address   92
|
| 5.21.8
| Summary Of IPv4 Special Address Conventions   92
|
| 5.21.9
| IPv6 Multicast And Anycast Addresses   92
|
| 5.21.10
| IPv6 Link-Local Addresses   94
|
5.22
| Weaknesses In Internet Addressing   94
|
5.23
| Internet Address Assignment And Delegation Of Authority   96
|
5.24
| An Example IPv4 Address Assignment   96
|
5.25
| Summary   98
|
| Exercises   98
|
6.1
| Introduction   101
|
6.2
| The Address Resolution Problem   101
|
6.3
| Two Types Of Hardware Addresses   102
|
6.4
| Resolution Through Direct Mapping   102
|
6.5
| Resolution In A Direct-Mapped Network   103
|
6.6
| IPv4 Address Resolution Through Dynamic Binding   104
|
6.7
| The ARP Cache   105
|
6.8
| ARP Cache Timeout   106
|
6.9
| ARP Refinements   106
|
6.10
| Relationship Of ARP To Other Protocols   108
|
6.11
| ARP Implementation   108
|
6.12
| ARP Encapsulation And Identification   110
|
6.13
| ARP Message Format   110
|
6.14
| Automatic ARP Cache Revalidation   112
|
6.15
| Reverse Address Resolution (RARP)   112
|
6.16
| ARP Caches In Layer 3 Switches   113
|
6.17
| Proxy ARP   114
|
6.18
| IPv6 Neighbor Discovery   115
|
6.19
| Summary   116
|
| Exercises   116
|
7.1
| Introduction   119
|
7.2
| A Virtual Network   119
|
7.3
| Internet Architecture And Philosophy   120
|
7.4
| Principles Behind The Structure   120
|
7.5
| Connectionless Delivery System Characteristics   121
|
7.6
| Purpose And Importance Of The Internet Protocol   122
|
7.7
| The IP Datagram   122
|
| 7.7.1
| IPv4 Datagram Format   123
|
| 7.7.2
| IPv6 Datagram Format   125
|
| 7.7.3
| IPv6 Base Header Format   126
|
7.8
| Datagram Type Of Service And Differentiated Services   127
|
7.9
| Datagram Encapsulation   129
|
7.10
| Datagram Size, Network MTU, and Fragmentation   130
|
| 7.10.1
| IPv4 Datagram Fragmentation   131
|
| 7.10.2
| IPv6 Fragmentation And Path MTU Discovery (PMTUD)   133
|
7.11
| Datagram Reassembly   134
|
7.12
| Header Fields Used For Datagram Reassembly   135
|
7.13
| Time To Live (IPv4) And Hop Limit (IPv6)   136
|
7.14
| Optional IP Items   137
|
| 7.14.1
| IPv4 Options   137
|
| 7.14.2
| IPv6 Optional Extensions   139
|
7.15
| Options Processing During Fragmentation   141
|
| 7.15.1
| IPv4 Processing Options During Fragmentation   141
|
| 7.15.2
| IPv6 Processing Options During Fragmentation   141
|
7.16
| Network Byte Order   143
|
7.17
| Summary   144
|
| Exercises   144
|
8.1
| Introduction   147
|
8.2
| Forwarding In An Internet   147
|
8.3
| Direct And Indirect Delivery   149
|
8.4
| Transmission Across A Single Network   150
|
8.5
| Indirect Delivery   151
|
8.6
| Table-Driven IP Forwarding   152
|
8.7
| Next-Hop Forwarding   153
|
8.8
| Default Routes And A Host Example   155
|
8.9
| Host-Specific Routes   156
|
8.10
| The IP Forwarding Algorithm   157
|
8.11
| Longest-Prefix Match Paradigm   158
|
8.12
| Forwarding Tables And IP Addresses   160
|
8.13
| Handling Incoming Datagrams   161
|
8.14
| Forwarding In The Presence Of Broadcast And Multicast   162
|
8.15
| Software Routers And Sequential Lookup   163
|
8.16
| Establishing Forwarding Tables   163
|
8.17
| Summary   163
|
| Exercises   164
|
9.1
| Introduction   167
|
9.2
| The Internet Control Message Protocol   167
|
9.3
| Error Reporting Vs. Error Correction   169
|
9.4
| ICMP Message Delivery   170
|
9.5
| Conceptual Layering   171
|
9.6
| ICMP Message Format   171
|
9.7
| Example ICMP Message Types Used With IPv4 And IPv6   172
|
9.8
| Testing Destination Reachability And Status (Ping)   173
|
9.9
| Echo Request And Reply Message Format   174
|
9.10
| Checksum Computation And The IPv6 Pseudo-Header   175
|
9.11
| Reports Of Unreachable Destinations   176
|
9.12
| ICMP Error Reports Regarding Fragmentation   178
|
9.13
| Route Change Requests From Routers   178
|
9.14
| Detecting Circular Or Excessively Long Routes   180
|
9.15
| Reporting Other Problems   181
|
9.16
| Older ICMP Messages Used At Startup   182
|
9.17
| Summary   182
|
| Exercises   183
|
10.1
| Introduction   185
|
10.2
| Using A Protocol Port As An Ultimate Destination   185
|
10.3
| The User Datagram Protocol   186
|
10.4
| UDP Message Format   187
|
10.5
| Interpretation Of the UDP Checksum   188
|
10.6
| UDP Checksum Computation And The Pseudo-Header   189
|
10.7
| IPv4 UDP Pseudo-Header Format   189
|
10.8
| IPv6 UDP Pseudo-Header Format   190
|
10.9
| UDP Encapsulation And Protocol Layering   190
|
10.10
| Layering And The UDP Checksum Computation   192
|
10.11
| UDP Multiplexing, Demultiplexing, And Protocol Ports   193
|
10.12
| Reserved And Available UDP Port Numbers   194
|
10.13
| Summary   196
|
| Exercises   196
|
11.1
| Introduction   199
|
11.2
| The Need For Reliable Service   199
|
11.3
| Properties Of The Reliable Delivery Service   200
|
11.4
| Reliability: Acknowledgements And Retransmission   201
|
11.5
| The Sliding Window Paradigm   203
|
11.6
| The Transmission Control Protocol   205
|
11.7
| Layering, Ports, Connections, And Endpoints   206
|
11.8
| Passive And Active Opens   208
|
11.9
| Segments, Streams, And Sequence Numbers   208
|
11.10
| Variable Window Size And Flow Control   209
|
11.11
| TCP Segment Format   210
|
11.12
| Out Of Band Data   212
|
11.13
| TCP Options   212
|
| 11.13.1
| Maximum Segment Size Option   213
|
| 11.13.2
| Window Scaling Option   214
|
| 11.13.3
| Timestamp Option   214
|
11.14
| TCP Checksum Computation   214
|
11.15
| Acknowledgements, Retransmission, And Timeouts   216
|
11.16
| Accurate Measurement Of Round Trip Samples   218
|
11.17
| Karn's Algorithm And Timer Backoff   219
|
11.18
| Responding To High Variance In Delay   220
|
11.19
| Response To Congestion   223
|
11.20
| Fast Recovery And Other Response Modifications   225
|
11.21
| Explicit Feedback Mechanisms (SACK and ECN)   227
|
| 11.21.1
| Selective Acknowledgement (SACK)   227
|
| 11.21.2
| Explicit Congestion Notification   227
|
11.22
| Congestion, Tail Drop, And TCP   228
|
11.23
| Random Early Detection (RED)   229
|
11.24
| Establishing A TCP Connection   231
|
11.25
| Initial Sequence Numbers   232
|
11.26
| Closing a TCP Connection   233
|
11.27
| TCP Connection Reset   234
|
11.28
| TCP State Machine   235
|
11.29
| Forcing Data Delivery   236
|
11.30
| Reserved TCP Port Numbers   237
|
11.31
| Silly Window Syndrome And Small Packets   238
|
11.32
| Avoiding Silly Window Syndrome   239
|
| 11.32.1
| Receive-Side Silly Window Avoidance   239
|
| 11.32.2
| Delayed Acknowledgements   240
|
| 11.32.3
| Send-Side Silly Window Avoidance   241
|
11.33
| Buffer Bloat And Its Effect On Latency   242
|
11.34
| Summary   243
|
| Exercises   244
|
13.1
| Introduction   263
|
13.2
| The Scope Of A Routing Update Protocol   263
|
13.3
| Determining A Practical Limit On Group Size   264
|
13.4
| A Fundamental Idea: Extra Hops   266
|
13.5
| Autonomous System Concept   267
|
13.6
| Exterior Gateway Protocols And Reachability   268
|
13.7
| BGP Characteristics   269
|
13.8
| BGP Functionality And Message Types   270
|
13.9
| BGP Message Header   271
|
13.10
| BGP OPEN Message   272
|
13.11
| BGP UPDATE Message   273
|
13.12
| Compressed IPv4 Mask-Address Pairs   274
|
13.13
| BGP Path Attributes   274
|
13.14
| BGP KEEPALIVE Message   276
|
13.15
| Information From The Receiver's Perspective   277
|
13.16
| The Key Restriction Of Exterior Gateway Protocols   278
|
13.17
| The Internet Routing Architecture And Registries   280
|
13.18
| BGP NOTIFICATION Message   280
|
13.19
| BGP Multiprotocol Extensions For IPv6   281
|
13.20
| Multiprotocol Reachable NLRI Attribute   283
|
13.21
| Internet Routing And Economics   284
|
13.22
| Summary   285
|
| Exercises   285
|
14.1
| Introduction   289
|
14.2
| Static Vs. Dynamic Interior Routes   289
|
14.3
| Routing Information Protocol (RIP)   293
|
| 14.3.1
| History of RIP   293
|
| 14.3.2
| RIP Operation   293
|
14.4
| Slow Convergence Problem   294
|
14.5
| Solving The Slow Convergence Problem   296
|
14.6
| RIP Message Format (IPv4)   297
|
14.7
| Fields In A RIP Message   299
|
14.8
| RIP For IPv6 (RIPng)   299
|
14.9
| The Disadvantage Of Using Hop Counts   301
|
14.10
| Delay Metric (HELLO)   301
|
14.11
| Delay Metrics, Oscillation, And Route Flapping   302
|
14.12
| The Open SPF Protocol (OSPF)   303
|
14.13
| OSPFv2 Message Formats (IPv4)   305
|
| 14.13.1
| OSPFv2 Hello Message Format   306
|
| 14.13.2
| OSPFv2 Database Description Message Format   306
|
| 14.13.3
| OSPFv2 Link-Status Request Message Format   308
|
| 14.13.4
| OSPFv2 Link-Status Update Message Format   308
|
14.14
| Changes In OSPFv3 To Support IPv6   310
|
| 14.14.1
| OSPFv3 Message Formats   310
|
| 14.14.2
| OSPFv3 Hello Message Format   311
|
| 14.14.3
| Other OSPFv3 Features And Messages   311
|
14.15
| IS-IS Route Propagation Protocol   312
|
14.16
| Trust And Route Hijacking   313
|
14.17
| Gated: A Routing Gateway Daemon   313
|
14.18
| Artificial Metrics And Metric Transformation   314
|
14.19
| Routing With Partial Information   315
|
14.20
| Summary   315
|
| Exercises   316
|
15.1
| Introduction   319
|
15.2
| Hardware Broadcast   319
|
15.3
| Hardware Multicast   320
|
15.4
| Ethernet Multicast   321
|
15.5
| The Conceptual Building Blocks Of Internet Multicast   321
|
15.6
| The IP Multicast Scheme   322
|
15.7
| IPv4 And IPv6 Multicast Addresses   323
|
| 15.7.1
| IPv4 Multicast Address Space   324
|
| 15.7.2
| IPv6 Multicast Address Space   325
|
15.8
| Multicast Address Semantics   326
|
15.9
| Mapping IP Multicast To Ethernet Multicast   327
|
15.10
| Hosts And Multicast Delivery   328
|
15.11
| Multicast Scope   328
|
15.12
| Host Participation In IP Multicasting   329
|
15.13
| IPv4 Internet Group Management Protocol (IGMP)   330
|
15.14
| IGMP Details   331
|
15.15
| IGMP Group Membership State Transitions   332
|
15.16
| IGMP Membership Query Message Format   333
|
15.17
| IGMP Membership Report Message Format   334
|
15.18
| IPv6 Multicast Group Membership With MLDv2   335
|
15.19
| Multicast Forwarding And Routing Information   337
|
| 15.19.1
| Need For Dynamic Forwarding   338
|
| 15.19.2
| Insufficiency Of Destination Forwarding   339
|
| 15.19.3
| Arbitrary Senders   339
|
15.20
| Basic Multicast Forwarding Paradigms   339
|
15.21
| Consequences Of TRPF   341
|
15.22
| Multicast Trees   342
|
15.23
| The Essence Of Multicast Route Propagation   343
|
15.24
| Reverse Path Multicasting   344
|
15.25
| Example Multicast Routing Protocols   345
|
| 15.25.1
| Distance Vector Multicast Routing Protocol And Tunneling   345
|
| 15.25.2
| Core Based Trees (CBT)   346
|
| 15.25.3
| Protocol Independent Multicast (PIM)   347
|
15.26
| Reliable Multicast And ACK Implosions   347
|
15.27
| Summary   349
|
| Exercises   350
|
16.1
| Introduction   353
|
16.2
| Switching Technology   353
|
16.3
| Flows And Flow Setup   355
|
16.4
| Large Networks, Label Swapping, And Paths   355
|
16.5
| Using Switching With IP   357
|
16.6
| IP Switching Technologies And MPLS   357
|
16.7
| Labels And Label Assignment   359
|
16.8
| Hierarchical Use Of MPLS And A Label Stack   359
|
16.9
| MPLS Encapsulation   360
|
16.10
| Label Semantics   361
|
16.11
| Label Switching Router   362
|
16.12
| Control Processing And Label Distribution   363
|
16.13
| MPLS And Fragmentation   364
|
16.14
| Mesh Topology And Traffic Engineering   364
|
16.15
| Summary   365
|
| Exercises   365
|
17.1
| Introduction   369
|
17.2
| Motivation For Classification   370
|
17.3
| Classification Instead Of Demultiplexing   371
|
17.4
| Layering When Classification Is Used   372
|
17.5
| Classification Hardware And Network Switches   372
|
17.6
| Switching Decisions And VLAN Tags   374
|
17.7
| Classification Hardware   375
|
17.8
| High-Speed Classification And TCAM   375
|
17.9
| The Size Of A TCAM   377
|
17.10
| Classification-Enabled Generalized Forwarding   378
|
17.11
| Summary   379
|
| Exercises   379
|
18.1
| Introduction   381
|
18.2
| Mobility, Addressing, And Routing   381
|
18.3
| Mobility Via Host Address Change   382
|
18.4
| Mobility Via Changes In Datagram Forwarding   383
|
18.5
| The Mobile IP Technology   383
|
18.6
| Overview Of Mobile IP Operation   384
|
18.7
| Overhead And Frequency Of Change   384
|
18.8
| Mobile IPv4 Addressing   385
|
18.9
| IPv4 Foreign Agent Discovery   386
|
18.10
| IPv4 Registration   387
|
18.11
| IPv4 Registration Message Format   388
|
18.12
| Communication With An IPv4 Foreign Agent   388
|
18.13
| IPv6 Mobility Support   389
|
18.14
| Datagram Transmission, Reception, And Tunneling   390
|
18.15
| Assessment Of IP Mobility And Unsolved Problems   391
|
| 18.15.1
| Lack Of Hand-Off And Hierarchical Routes   392
|
| 18.15.2
| Problems With Authentication On Foreign Networks   392
|
| 18.15.3
| Inefficient Reverse Forwarding, Especially For Mobile IPv4   393
|
| 18.15.4
| Duplicate Address Detection In Mobile IPv6   394
|
| 18.15.5
| Communication With Hosts On The Mobile's Home Network   394
|
18.16
| Alternative Identifier-Locator Separation Technologies   395
|
18.17
| Summary   396
|
| Exercises   396
|
19.1
| Introduction   399
|
19.2
| Virtualization   399
|
19.3
| Virtual Private Networks (VPNs)   400
|
19.4
| VPN Tunneling And IP-in-IP Encapsulation   401
|
19.5
| VPN Addressing And Forwarding   402
|
19.6
| Extending VPN Technology To Individual Hosts   404
|
19.7
| Using A VPN With Private IP Addresses   404
|
19.8
| Network Address Translation (NAT)   405
|
19.9
| NAT Translation Table Creation   407
|
19.10
| Variant Of NAT   409
|
19.11
| An Example Of NAT Translation   409
|
19.12
| Interaction Between NAT And ICMP   411
|
19.13
| Interaction Between NAT And Applications   411
|
19.14
| NAT In The Presence Of Fragmentation   412
|
19.15
| Conceptual Address Domains   413
|
19.16
| Linux, Windows, And Mac Versions Of NAT   413
|
19.17
| Overlay Networks   413
|
19.18
| Multiple Simultaneous Overlays   415
|
19.19
| Summary   415
|
| Exercises   416
|
20.1
| Introduction   419
|
20.2
| The Client-Server Model   420
|
20.3
| A Trivial Example: UDP Echo Server   420
|
20.4
| Time And Date Service   422
|
| 20.4.1
| Data Representation And Network Standard Byte Order   422
|
| 20.4.2
| Time Server Interaction   423
|
20.5
| Sequential And Concurrent Servers   423
|
20.6
| Server Complexity   425
|
20.7
| Broadcasting Requests   426
|
20.8
| Client-Server Alternatives And Extensions   426
|
20.9
| Summary   428
|
| Exercises   429
|
21.1
| Introduction   431
|
21.2
| Versions Of The Socket API   432
|
21.3
| The UNIX I/O Paradigm And Network I/O   432
|
21.4
| Adding Network I/O to UNIX   432
|
21.5
| The Socket Abstraction And Socket Operations   433
|
| 21.5.1
| Creating A Socket   433
|
| 21.5.2
| Socket Inheritance And Termination   434
|
| 21.5.3
| Specifying A Local Address   434
|
| 21.5.4
| Connecting A Socket To A Destination Endpoint   436
|
| 21.5.5
| Sending Data Through A Socket   436
|
| 21.5.6
| Receiving Data Through A Socket   437
|
| 21.5.7
| Obtaining Local And Remote Socket Endpoint Information   437
|
21.6
| Obtaining And Setting Socket Options   438
|
| 21.6.1
| Specifying A Queue Length For A Server   439
|
21.7
| How A Server Accepts TCP Connections   439
|
21.8
| Servers That Handle Multiple Services   440
|
21.9
| Obtaining And Setting The Host Name   441
|
21.10
| Library Functions Related To Sockets   442
|
21.11
| Network Byte Order And Conversion Routines   443
|
21.12
| IP Address Manipulation Routines   444
|
21.13
| Accessing The Domain Name System   444
|
21.14
| Obtaining Information About Hosts   446
|
21.15
| Obtaining Information About Networks   447
|
21.16
| Obtaining Information About Protocols   447
|
21.17
| Obtaining Information About Network Services   447
|
21.18
| An Example Client   448
|
21.19
| An Example Server   453
|
21.20
| Summary   460
|
| Exercises   460
|
22.1
| Introduction   463
|
22.2
| History Of IPv4 Bootstrapping   464
|
22.3
| Using IP To Determine An IP Address   464
|
22.4
| DHCP Retransmission And Randomization   465
|
22.5
| DHCP Message Format   465
|
22.6
| The Need For Dynamic Configuration   468
|
22.7
| DHCP Leases And Dynamic Address Assignment   469
|
22.8
| Multiple Addresses And Relays   469
|
22.9
| DHCP Address Acquisition States   470
|
22.10
| Early Lease Termination   471
|
22.11
| Lease Renewal States   472
|
22.12
| DHCP Options And Message Type   473
|
22.13
| DHCP Option Overload   474
|
22.14
| DHCP And Domain Names   474
|
22.15
| Managed And Unmanaged Configuration   474
|
22.16
| Managed And Unmanaged Configuration For IPv6   475
|
22.17
| IPv6 Configuration Options And Potential Conflicts   476
|
22.18
| IPv6 Neighbor Discovery Protocol (NDP)   477
|
22.19
| ICMPv6 Router Solicitation Message   478
|
22.20
| ICMPv6 Router Advertisement Message   478
|
22.21
| ICMPv6 Neighbor Solicitation Message   479
|
22.22
| ICMPv6 Neighbor Advertisement Message   480
|
22.23
| ICMPv6 Redirect Message   480
|
22.24
| Summary   481
|
| Exercises   482
|
23.1
| Introduction   485
|
23.2
| Names For Computers   486
|
23.3
| Flat Namespace   486
|
23.4
| Hierarchical Names   487
|
23.5
| Delegation Of Authority For Names   488
|
23.6
| Subset Authority   488
|
23.7
| Internet Domain Names   489
|
23.8
| Top-Level Domains   490
|
23.9
| Name Syntax And Type   492
|
23.10
| Mapping Domain Names To Addresses   493
|
23.11
| Domain Name Resolution   495
|
23.12
| Efficient Translation   496
|
23.13
| Caching: The Key To Efficiency   497
|
23.14
| Domain Name System Message Format   498
|
23.15
| Compressed Name Format   501
|
23.16
| Abbreviation Of Domain Names   501
|
23.17
| Inverse Mappings   502
|
23.18
| Pointer Queries   503
|
23.19
| Object Types And Resource Record Contents   504
|
23.20
| Obtaining Authority For A Subdomain   505
|
23.21
| Server Operation And Replication   505
|
23.22
| Dynamic DNS Update And Notification   506
|
23.23
| DNS Security Extensions (DNSSEC)   506
|
23.24
| Multicast DNS And Service Discovery   507
|
23.25
| Summary   508
|
| Exercises   508
|
24.1
| Introduction   511
|
24.2
| Electronic Mail   511
|
24.3
| Mailbox Names And Aliases   512
|
24.4
| Alias Expansion And Mail Forwarding   513
|
24.5
| TCP/IP Standards For Electronic Mail Service   514
|
24.6
| Simple Mail Transfer Protocol (SMTP)   515
|
24.7
| Mail Retrieval And Mailbox Manipulation Protocols   517
|
| 24.7.1
| Post Office Protocol   518
|
| 24.7.2
| Internet Message Access Protocol   518
|
24.8
| The MIME Extensions For Non-ASCII Data   519
|
24.9
| MIME Multipart Messages   521
|
24.10
| Summary   522
|
| Exercises   522
|
25.1
| Introduction   525
|
25.2
| Importance Of The Web   525
|
25.3
| Architectural Components   526
|
25.4
| Uniform Resource Locators   526
|
25.5
| An Example HTML Document   527
|
25.6
| Hypertext Transfer Protocol   528
|
25.7
| HTTP GET Request   528
|
25.8
| Error Messages   529
|
25.9
| Persistent Connections   530
|
25.10
| Data Length And Program Output   530
|
25.11
| Length Encoding And Headers   531
|
25.12
| Negotiation   532
|
25.13
| Conditional Requests   533
|
25.14
| Proxy Servers And Caching   533
|
25.15
| Caching   534
|
25.16
| Other HTTP Functionality   535
|
25.17
| HTTP, Security, And E-Commerce   535
|
25.18
| Summary   536
|
| Exercises   536
|
26.1
| Introduction   539
|
26.2
| Digitizing And Encoding   539
|
26.3
| Audio And Video Transmission And Reproduction   540
|
26.4
| Jitter And Playback Delay   541
|
26.5
| Real-time Transport Protocol (RTP)   542
|
26.6
| Streams, Mixing, And Multicasting   544
|
26.7
| RTP Encapsulation   544
|
26.8
| RTP Control Protocol (RTCP)   545
|
26.9
| RTCP Operation   545
|
26.10
| IP Telephony And Signaling   546
|
| 26.10.1
| H.323 Standards   547
|
| 26.10.2
| Session Initiation Protocol (SIP)   548
|
26.11
| Quality Of Service Controversy   549
|
26.12
| QoS, Utilization, And Capacity   550
|
26.13
| Emergency Services And Preemption   551
|
26.14
| IntServ And Resource Reservation   551
|
| 26.14.1
| Resource ReSerVation Protocol (RSVP)   552
|
| 26.14.2
| IntServ Enforcement (COPS)   552
|
26.15
| DiffServ And Per-Hop Behavior   553
|
26.16
| Traffic Scheduling   553
|
26.17
| Traffic Policing And Shaping   555
|
26.18
| Summary   556
|
| Exercises   556
|
27.1
| Introduction   559
|
27.2
| The Level Of Management Protocols   559
|
27.3
| Architectural Model   561
|
27.4
| Protocol Framework   562
|
| 27.4.1
| The TCP/IP Protocol For Network Management   562
|
| 27.4.2
| A Standard For Managed Information   562
|
27.5
| Examples of MIB Variables   564
|
27.6
| The Structure Of Management Information   564
|
27.7
| Formal Definitions Using ASN.1   565
|
27.8
| Structure And Representation Of MIB Object Names   566
|
27.9
| MIB Changes And Additions For IPv6   571
|
27.10
| Simple Network Management Protocol   571
|
| 27.10.1
| Searching Tables Using Names   573
|
27.11
| SNMP Message Format   574
|
27.12
| An Example Encoded SNMP Message   577
|
27.13
| Security In SNMPv3   579
|
27.14
| Summary   580
|
| Exercises   580
|
28.1
| Introduction   583
|
28.2
| Routes, Paths, And Connections   583
|
28.3
| Traffic Engineering And Control Of Path Selection   584
|
28.4
| Connection-Oriented Networks And Routing Overlays   584
|
28.5
| SDN: A New Hybrid Approach   586
|
28.6
| Separation Of Data And Control   586
|
28.7
| The SDN Architecture And External Controllers   588
|
28.8
| SDN Across Multiple Devices   589
|
28.9
| Implementing SDN With Conventional Switches   590
|
28.10
| OpenFlow Technology   592
|
28.11
| OpenFlow Basics   592
|
28.12
| Specific Fields In An OpenFlow Pattern   593
|
28.13
| Actions That OpenFlow Can Take   594
|
28.14
| OpenFlow Extensions And Additions   595
|
28.15
| OpenFlow Messages   598
|
28.16
| Uses Of OpenFlow   599
|
28.17
| OpenFlow: Excitement, Hype, And Limitations   599
|
28.18
| Software Defined Radio (SDR)   600
|
28.19
| Summary   601
|
| Exercises   601
|
29.1
| Introduction   605
|
29.2
| Protecting Resources   606
|
29.3
| Information Policy   607
|
29.4
| Internet Security   607
|
29.5
| IP Security (IPsec)   608
|
29.6
| IPsec Authentication Header   608
|
29.7
| Security Association   610
|
29.8
| IPsec Encapsulating Security Payload   611
|
29.9
| Authentication And Mutable Header Fields   612
|
29.10
| IPsec Tunneling   613
|
29.11
| Required Security Algorithms   613
|
29.12
| Secure Socket Layer (SSL and TLS)   614
|
29.13
| Firewalls And Internet Access   614
|
29.14
| Multiple Connections And Weakest Links   614
|
29.15
| Firewall Implementation And Packet Filters   615
|
29.16
| Firewall Rules And The 5-Tuple   615
|
29.17
| Security And Packet Filter Specification   617
|
29.18
| The Consequence Of Restricted Access For Clients   618
|
29.19
| Stateful Firewalls   618
|
29.20
| Content Protection And Proxies   619
|
29.21
| Monitoring And Logging   620
|
29.22
| Summary   620
|
| Exercises   621
|
30.1
| Introduction   623
|
30.2
| Sensing, Monitoring, And Control   624
|
30.3
| Power Conservation And Energy Harvesting   624
|
30.4
| A World Of Intelligent Embedded Devices   625
|
30.5
| The Importance of Communication   625
|
30.6
| Example: Electronic Ads In Shopping Malls   626
|
30.7
| Collecting Data From Embedded Systems   627
|
30.8
| Wireless Networking And IEEE 802.15.4   627
|
30.9
| A Mesh Network For Smart Grid Sensors   628
|
30.10
| A Forwarding Tree For a Sensor Mesh   629
|
30.11
| Using Layer 2 And Layer 3 Protocols In A Mesh   630
|
30.12
| The ZigBee IPv6 Protocol Stack   631
|
| 30.12.1
| IPv6 Over Low Power Wireless Networks (6LoWPAN)   632
|
| 30.12.2
| 6LoWPAN Neighbor Discovery (6LoWPAN-ND)   632
|
| 30.12.3
| Mesh Link Establishment (MLE)   632
|
30.13
| Forwarding In A ZigBee Route-Over Mesh   633
|
| 30.13.1
| Routing Protocol For Low-Power And Lossy Networks (RPL)   634
|
| 30.13.2
| Other Protocols In The ZigBee Specification   635
|
30.14
| Assessment Of Using IPv6 Route-Over For A Mesh   635
|
30.15
| Summary   637
|
| Exercises   637
|