| 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   5
|
| 1.5
| The Internet Architecture Board   7
|
| 1.6
| The IAB Reorganization   7
|
| 1.7
| Internet Request For Comments   8
|
| 1.8
| Future Growth And Technology   9
|
| 1.9
| Organization Of The Text   10
|
| 1.10
| Summary   10
|
| For Further Study   11
|
| Exercises   11
|
| 2.1
| Introduction   13
|
| 2.2
| Two Approaches To Network Communication   14
|
| 2.3
| Wide Area And Local Area Networks   15
|
|
| 2.3.1
| Network Hardware Addresses   16
|
| 2.4
| Ethernet Technology   16
|
|
| 2.4.1
| Ethernet Capacity   17
|
|
| 2.4.2
| Fast And Gigabit Ethernet   18
|
|
| 2.4.3
| 10/100/1000 Ethernet   18
|
|
| 2.4.4
| Power Over Ethernet   19
|
|
| 2.4.5
| Properties of an Ethernet   19
|
|
| 2.4.6
| Collision Detection And Recovery   20
|
|
| 2.4.7
| Wireless Networks And Ethernet   20
|
|
| 2.4.8
| Ethernet Hardware Addresses   21
|
|
| 2.4.9
| Ethernet Frame Format   22
|
|
| 2.4.10
| Extending An Ethernet With Bridges   23
|
| 2.5
| Switched Ethernet   24
|
| 2.6
| Asynchronous Transfer Mode   25
|
|
| 2.6.1
| ATM Cell Size   25
|
|
| 2.6.2
| Connection-Oriented Networking   25
|
|
| 2.6.3
| Wide Area Point-To-Point Networks   26
|
|
| 2.6.4
| Dialup IP   27
|
| 2.7
| Summary   27
|
| For Further Study   28
|
| Exercises   28
|
| 4.1
| Introduction   41
|
| 4.2
| Universal Identifiers   41
|
| 4.3
| The Original Classful Addressing Scheme   42
|
| 4.4
| Addresses Specify Network Connections   43
|
| 4.5
| Network And Directed Broadcast Addresses   43
|
| 4.6
| Limited Broadcast   44
|
| 4.7
| The All-0s Address   45
|
| 4.8
| Subnet And Classless Extensions   45
|
| 4.9
| IP Multicast Addresses   45
|
| 4.10
| Weaknesses In Internet Addressing   46
|
| 4.11
| Dotted Decimal Notation   47
|
| 4.12
| Loopback Address   48
|
| 4.13
| Summary Of Special Address Conventions   48
|
| 4.14
| Internet Addressing Authority   48
|
| 4.15
| Reserved Address Prefixes   50
|
| 4.16
| An Example   50
|
| 4.17
| Network Byte Order   52
|
| 4.18
| Summary   52
|
| For Further Study   53
|
| Exercises   53
|
| 5.1
| Introduction   57
|
| 5.2
| The Address Resolution Problem   57
|
| 5.3
| Two Types Of Physical Addresses   58
|
| 5.4
| Resolution Through Direct Mapping   58
|
| 5.5
| Resolution Through Dynamic Binding   59
|
| 5.6
| The Address Resolution Cache   60
|
| 5.7
| ARP Cache Timeout   61
|
| 5.8
| ARP Refinements   62
|
| 5.9
| Relationship Of ARP To Other Protocols   62
|
| 5.10
| ARP Implementation   62
|
| 5.11
| ARP Encapsulation And Identification   64
|
| 5.12
| ARP Protocol Format   64
|
| 5.13
| Automatic ARP Cache Revalidation   66
|
| 5.14
| Reverse Address Resolution (RARP)   66
|
| 5.15
| Summary   67
|
| For Further Study   67
|
| Exercises   67
|
| 6.1
| Introduction   71
|
| 6.2
| A Virtual Network   71
|
| 6.3
| Internet Architecture And Philosophy   72
|
| 6.4
| The Conceptual Service Organization   72
|
| 6.5
| Connectionless Delivery System   73
|
| 6.6
| Purpose Of The Internet Protocol   73
|
| 6.7
| The IPv4 Datagram   74
|
|
| 6.7.1
| Datagram Format   74
|
|
| 6.7.2
| Datagram Type Of Service And Differentiated Services   75
|
|
| 6.7.3
| Datagram Encapsulation   77
|
|
| 6.7.4
| Datagram Size, Network MTU, and Fragmentation   78
|
|
| 6.7.5
| Reassembly Of Fragments   80
|
|
| 6.7.6
| Fragmentation Control   81
|
|
| 6.7.7
| Time to Live (TTL)   82
|
|
| 6.7.8
| Other Datagram Header Fields   83
|
| 6.8
| Internet Datagram Options   83
|
|
| 6.8.1
| Record Route Option   85
|
|
| 6.8.2
| Source Route Options   86
|
|
| 6.8.3
| Timestamp Option   87
|
|
| 6.8.4
| Processing Options During Fragmentation   89
|
| 6.9
| Summary   89
|
| For Further Study   90
|
| Exercises   90
|
| 7.1
| Introduction   93
|
| 7.2
| Forwarding In An Internet   93
|
| 7.3
| Direct And Indirect Delivery   95
|
|
| 7.3.1
| Datagram Delivery Over A Single Network   95
|
|
| 7.3.2
| Indirect Delivery   96
|
| 7.4
| Table-Driven IP Forwarding   97
|
| 7.5
| Next-Hop Forwarding   97
|
| 7.6
| Default Routes   100
|
| 7.7
| Host-Specific Routes   100
|
| 7.8
| The IP Forwarding Algorithm   100
|
| 7.9
| Forwarding With IP Addresses   101
|
| 7.10
| Handling Incoming Datagrams   103
|
| 7.11
| Establishing Routing Tables   104
|
| 7.12
| Summary   104
|
| For Further Study   105
|
| Exercises   105
|
| 8.1
| Introduction   109
|
| 8.2
| The Internet Control Message Protocol   109
|
| 8.3
| Error Reporting Vs. Error Correction   110
|
| 8.4
| ICMP Message Delivery   111
|
| 8.5
| ICMP Message Format   112
|
| 8.6
| Testing Destination Reachability And Status (Ping)   113
|
| 8.7
| Echo Request And Reply Message Format   114
|
| 8.8
| Reports Of Unreachable Destinations   115
|
| 8.9
| Congestion And Datagram Flow Control   116
|
| 8.10
| Source Quench Format   117
|
| 8.11
| Route Change Requests From Routers   118
|
| 8.12
| Detecting Circular Or Excessively Long Routes   119
|
| 8.13
| Reporting Other Problems   120
|
| 8.14
| Clock Synchronization And Transit Time Estimation   121
|
| 8.15
| Older ICMP Messages No Longer Needed   122
|
| 8.16
| Summary   123
|
| For Further Study   123
|
| Exercises   124
|
| 9.1
| Introduction   127
|
| 9.2
| Review Of Relevant Facts   127
|
| 9.3
| Minimizing Network Numbers   128
|
| 9.4
| Proxy ARP   128
|
| 9.5
| Subnet Addressing   130
|
| 9.6
| Flexibility In Subnet Address Assignment   132
|
| 9.7
| Variable-Length Subnets   134
|
| 9.8
| Implementation Of Subnets With Masks   135
|
| 9.9
| Subnet Mask Representation   136
|
| 9.10
| Forwarding In The Presence Of Subnets   137
|
| 9.11
| The Subnet Forwarding Algorithm   138
|
| 9.12
| A Unified Forwarding Algorithm   139
|
| 9.13
| Maintenance Of Subnet Masks   140
|
| 9.14
| Broadcasting To Subnets   140
|
| 9.15
| Anonymous Point-To-Point Networks   141
|
| 9.16
| Classless Addressing And Supernetting   142
|
| 9.17
| CIDR Address Blocks And Bit Masks   143
|
| 9.18
| Address Blocks And CIDR Notation   144
|
| 9.19
| A Classless Addressing Example   145
|
| 9.20
| Data Structures And Algorithms For Classless Lookup   145
|
|
| 9.20.1
| Searching By Mask Length   146
|
|
| 9.20.2
| Binary Trie Structures   146
|
| 9.21
| Longest-Match And Mixtures Of Route Types   148
|
|
| 9.21.1
| PATRICIA And Level Compressed Tries   149
|
| 9.22
| CIDR Blocks Reserved For Private Networks   149
|
| 9.23
| Summary   150
|
| For Further Study   150
|
| Exercises   151
|
| 10.1
| Introduction   155
|
| 10.2
| The Need For Multiple Protocols   155
|
| 10.3
| The Conceptual Layers Of Protocol Software   156
|
| 10.4
| Functionality Of The Layers   159
|
|
| 10.4.1
| ISO 7-Layer Reference Model   159
|
| 10.5
| X.25 And Its Relation To The ISO Model   160
|
|
| 10.5.1
| The TCP/IP 5-Layer Reference Model   161
|
| 10.6
| Locus Of Intelligence   163
|
| 10.7
| The Protocol Layering Principle   163
|
|
| 10.7.1
| Layering in a TCP/IP Internet Environment   165
|
| 10.8
| Layering In The Presence Of Network Substructure   166
|
| 10.9
| Two Important Boundaries In The TCP/IP Model   168
|
|
| 10.9.1
| High-Level Protocol Address Boundary   168
|
|
| 10.9.2
| Operating System Boundary   168
|
| 10.10
| The Disadvantage Of Layering   169
|
| 10.11
| The Basic Idea Behind Multiplexing And Demultiplexing   170
|
| 10.12
| Summary   171
|
| For Further Study   172
|
| Exercises   172
|
| 11.1
| Introduction   175
|
| 11.2
| Identifying The Ultimate Destination   175
|
| 11.3
| The User Datagram Protocol   176
|
| 11.4
| Format Of UDP Messages   177
|
| 11.5
| UDP Pseudo-Header   178
|
| 11.6
| UDP Encapsulation And Protocol Layering   179
|
| 11.7
| Layering And The UDP Checksum Computation   181
|
| 11.8
| UDP Multiplexing, Demultiplexing, And Ports   181
|
| 11.9
| Reserved And Available UDP Port Numbers   182
|
| 11.10
| Summary   184
|
| For Further Study   184
|
| Exercises   184
|
| 12.1
| Introduction   187
|
| 12.2
| The Need For Stream Delivery   187
|
| 12.3
| Properties Of The Reliable Delivery Service   188
|
| 12.4
| Providing Reliability   189
|
| 12.5
| The Idea Behind Sliding Windows   191
|
| 12.6
| The Transmission Control Protocol   193
|
| 12.7
| Ports, Connections, And Endpoints   194
|
| 12.8
| Passive And Active Opens   196
|
| 12.9
| Segments, Streams, And Sequence Numbers   197
|
| 12.10
| Variable Window Size And Flow Control   198
|
| 12.11
| TCP Segment Format   199
|
| 12.12
| Out Of Band Data   200
|
| 12.13
| TCP Options   201
|
|
| 12.13.1
| Maximum Segment Size Option   201
|
|
| 12.13.2
| Window Scaling Option   202
|
|
| 12.13.3
| Timestamp Option   202
|
| 12.14
| TCP Checksum Computation   203
|
| 12.15
| Acknowledgements, Retransmission, And Timeouts   204
|
| 12.16
| Accurate Measurement Of Round Trip Samples   207
|
| 12.17
| Karn's Algorithm And Timer Backoff   208
|
| 12.18
| Responding To High Variance In Delay   209
|
| 12.19
| Response To Congestion   211
|
| 12.20
| Fast Recovery And Other Modifications   213
|
| 12.21
| Explicit Feedback Mechanisms (SACK and ECN)   215
|
|
| 12.21.1
| Selective Acknowledgement (SACK)   215
|
|
| 12.21.2
| Explicit Congestion Notification   215
|
| 12.22
| Congestion, Tail Drop, And TCP   216
|
| 12.23
| Random Early Detection (RED)   217
|
| 12.24
| Establishing A TCP Connection   219
|
| 12.25
| Initial Sequence Numbers   220
|
| 12.26
| Closing a TCP Connection   221
|
| 12.27
| TCP Connection Reset   222
|
| 12.28
| TCP State Machine   222
|
| 12.29
| Forcing Data Delivery   224
|
| 12.30
| Reserved TCP Port Numbers   224
|
| 12.31
| TCP Performance   225
|
| 12.32
| Silly Window Syndrome And Small Packets   226
|
| 12.33
| Avoiding Silly Window Syndrome   227
|
|
| 12.33.1
| Receive-Side Silly Window Avoidance   227
|
|
| 12.33.2
| Delayed Acknowledgements   228
|
|
| 12.33.3
| Send-Side Silly Window Avoidance   229
|
| 12.34
| Summary   230
|
| For Further Study   231
|
| Exercises   231
|
| 13.1
| Introduction   235
|
| 13.2
| The Origin Of Routing Tables   236
|
| 13.3
| Forwarding With Partial Information   237
|
| 13.4
| Original Internet Architecture And Cores   238
|
| 13.5
| Beyond The Core Architecture To Peer Backbones   240
|
| 13.6
| Automatic Route Propagation   241
|
| 13.7
| Distance Vector (Bellman-Ford) Routing   241
|
| 13.8
| Reliability And Routing Protocols   243
|
| 13.9
| Link-State (SPF) Routing   243
|
| 13.10
| Summary   244
|
| For Further Study   245
|
| Exercises   245
|
| 14.1
| Introduction   249
|
| 14.2
| Routing Update Protocol Scope   249
|
| 14.3
| Determining A Practical Limit On Group Size   250
|
| 14.4
| A Fundamental Idea: Extra Hops   251
|
| 14.5
| Autonomous System Concept   253
|
| 14.6
| Exterior Gateway Protocols And Reachability   254
|
| 14.7
| BGP Characteristics   255
|
| 14.8
| BGP Functionality And Message Types   256
|
| 14.9
| BGP Message Header   256
|
| 14.10
| BGP OPEN Message   257
|
| 14.11
| BGP UPDATE Message   259
|
| 14.12
| Compressed Mask-Address Pairs   259
|
| 14.13
| BGP Path Attributes   260
|
| 14.14
| BGP KEEPALIVE Message   262
|
| 14.15
| Information From The Receiver's Perspective   262
|
| 14.16
| The Key Restriction Of Exterior Gateway Protocols   263
|
| 14.17
| The Internet Routing Architecture   265
|
| 14.18
| BGP NOTIFICATION Message   266
|
| 14.19
| Summary   267
|
| For Further Study   268
|
| Exercises   268
|
| 15.1
| Introduction   271
|
| 15.2
| Static Vs. Dynamic Interior Routes   271
|
| 15.3
| Routing Information Protocol (RIP)   274
|
|
| 15.3.1
| History of RIP   274
|
|
| 15.3.2
| RIP Operation   275
|
| 15.4
| Slow Convergence Problem   276
|
| 15.5
| Solving The Slow Convergence Problem   277
|
| 15.6
| RIP1 Message Format   278
|
| 15.7
| RIP2 Address Conventions   280
|
| 15.8
| RIP Route Interpretation And Aggregation   280
|
| 15.9
| RIP2 Extensions And Message Format   281
|
| 15.10
| The Disadvantage Of RIP Hop Counts   282
|
| 15.11
| Delay Metric (HELLO)   283
|
| 15.12
| Delay Metrics And Oscillation   283
|
| 15.13
| Combining RIP, Hello, And BGP   285
|
| 15.14
| Gated: Inter-Autonomous System Communication   286
|
| 15.15
| The Open SPF Protocol (OSPF)   286
|
|
| 15.15.1
| OSPF Message Format   288
|
|
| 15.15.2
| OSPF Hello Message Format   288
|
|
| 15.15.3
| OSPF Database Description Message Format   289
|
|
| 15.15.4
| OSPF Link Status Request Message Format   291
|
|
| 15.15.5
| OSPF Link Status Update Message Format   291
|
| 15.16
| Routing With Partial Information   293
|
| 15.17
| Summary   293
|
| For Further Study   294
|
| Exercises   294
|
| 16.1
| Introduction   297
|
| 16.2
| Hardware Broadcast   297
|
| 16.3
| Hardware Origins Of Multicast   298
|
| 16.4
| Ethernet Multicast   299
|
| 16.5
| IP Multicast   299
|
| 16.6
| The Conceptual Pieces   300
|
| 16.7
| IP Multicast Addresses   301
|
| 16.8
| Multicast Address Semantics   302
|
| 16.9
| Mapping IP Multicast To Ethernet Multicast   303
|
| 16.10
| Hosts And Multicast Delivery   303
|
| 16.11
| Multicast Scope   304
|
| 16.12
| Extending Host Software To Handle Multicasting   305
|
| 16.13
| Internet Group Management Protocol   305
|
| 16.14
| IGMP Implementation   306
|
| 16.15
| Group Membership State Transitions   308
|
| 16.16
| IGMP Membership Query Message Format   309
|
| 16.17
| IGMP Membership Report Message Format   310
|
| 16.18
| Multicast Forwarding And Routing Information   312
|
|
| 16.18.1
| Need For Dynamic Forwarding   312
|
|
| 16.18.2
| Insufficiency Of Destination Forwarding   313
|
|
| 16.18.3
| Arbitrary Senders   313
|
| 16.19
| Basic Multicast Forwarding Paradigms   313
|
| 16.20
| Consequences Of TRPF   315
|
| 16.21
| Multicast Trees   317
|
| 16.22
| The Essence Of Multicast Route Propagation   318
|
| 16.23
| Reverse Path Multicasting   318
|
| 16.24
| Multicast Routing Protocols   319
|
|
| 16.24.1
| Distance Vector Multicast Routing Protocol And Tunneling   319
|
|
| 16.24.2
| Core Based Trees (CBT)   320
|
|
| 16.24.3
| Protocol Independent Multicast (PIM)   321
|
|
| 16.24.4
| Multicast Extensions To OSPF (MOSPF)   321
|
| 16.25
| Reliable Multicast And ACK Implosions   322
|
| 16.26
| Summary   323
|
| For Further Study   324
|
| Exercises   324
|
| 17.1
| Introduction   327
|
| 17.2
| Switching Technology   327
|
| 17.3
| Large Networks, Label Swapping, And Paths   328
|
| 17.4
| Using Switching With IP   329
|
| 17.5
| IP Switching Technologies And MPLS   330
|
| 17.6
| Classification, Flows, And Higher Layer Switching   331
|
| 17.7
| Hierarchical Use Of MPLS   331
|
| 17.8
| MPLS Encapsulation   332
|
| 17.9
| Label Switching Router   333
|
| 17.10
| Control Processing And Label Distribution   334
|
| 17.11
| MPLS And Fragmentation   334
|
| 17.12
| Mesh Topology And Traffic Engineering   335
|
| 17.13
| Summary   336
|
| For Further Study   336
|
| Exercises   336
|
| 18.1
| Introduction   339
|
| 18.2
| Mobility, Routing, and Addressing   339
|
| 18.3
| Mobile IP Characteristics   340
|
| 18.4
| Overview Of Mobile IP Operation   340
|
| 18.5
| Mobile Addressing Details   341
|
| 18.6
| Foreign Agent Discovery   341
|
| 18.7
| Agent Registration   342
|
| 18.8
| Registration Message Format   343
|
| 18.9
| Communication With A Foreign Agent   344
|
| 18.10
| Datagram Transmission And Reception   344
|
| 18.11
| The Two-Crossing Problem   345
|
| 18.12
| Communication With Computers On the Home Network   346
|
| 18.13
| Summary   346
|
| For Further Study   347
|
| Exercises   347
|
| 19.1
| Introduction   349
|
| 19.2
| Private And Hybrid Networks   349
|
| 19.3
| VPN Addressing And Routing   351
|
| 19.4
| Extending VPN Technology To Individual Hosts   352
|
| 19.5
| A VPN With Private Addresses   352
|
| 19.6
| Network Address Translation (NAT)   353
|
| 19.7
| NAT Translation Table Creation   354
|
| 19.8
| Multi-Address NAT   355
|
| 19.9
| Port-Mapped NAT   356
|
| 19.10
| Interaction Between NAT And ICMP   357
|
| 19.11
| Interaction Between NAT And Applications   358
|
| 19.12
| NAT In The Presence Of Fragmentation   358
|
| 19.13
| Conceptual Address Domains   359
|
| 19.14
| Slirp And Iptables   359
|
| 19.15
| Summary   360
|
| For Further Study   360
|
| Exercises   361
|
| 20.1
| Introduction   363
|
| 20.2
| The Client-Server Model   363
|
| 20.3
| A Simple Example: UDP Echo Server   364
|
| 20.4
| Time And Date Service   366
|
|
| 20.4.1
| Representation for the Date and Time   366
|
|
| 20.4.2
| Time Server Interaction   366
|
| 20.5
| The Complexity of Servers   366
|
| 20.6
| Broadcasting A Request   368
|
| 20.7
| Alternatives To The Client-Server Model   368
|
| 20.8
| Summary   369
|
| For Further Study   369
|
| Exercises   370
|
| 21.1
| Introduction   373
|
| 21.2
| The UNIX I/O Paradigm And Network I/O   373
|
| 21.3
| Adding Network I/O to UNIX   374
|
| 21.4
| The Socket Abstraction   375
|
| 21.5
| Creating A Socket   375
|
| 21.6
| Socket Inheritance And Termination   375
|
| 21.7
| Specifying A Local Address   376
|
| 21.8
| Connecting Sockets To Destination Addresses   377
|
| 21.9
| Sending Data Through A Socket   378
|
| 21.10
| Receiving Data Through A Socket   380
|
| 21.11
| Obtaining Local And Remote Socket Addresses   381
|
| 21.12
| Obtaining And Setting Socket Options   382
|
| 21.13
| Specifying A Queue Length For A Server   383
|
| 21.14
| How A Server Accepts Connections   383
|
| 21.15
| Servers That Handle Multiple Services   384
|
| 21.16
| Obtaining And Setting Host Names   385
|
| 21.17
| Obtaining And Setting The Internal Host Domain   386
|
| 21.18
| Socket Library Calls   386
|
| 21.19
| Network Byte Order Conversion Routines   387
|
| 21.20
| IP Address Manipulation Routines   389
|
| 21.21
| Accessing The Domain Name System   390
|
| 21.22
| Obtaining Information About Hosts   391
|
| 21.23
| Obtaining Information About Networks   392
|
| 21.24
| Obtaining Information About Protocols   393
|
| 21.25
| Obtaining Information About Network Services   393
|
| 21.26
| An Example Client   394
|
| 21.27
| An Example Server   396
|
| 21.28
| Summary   399
|
| For Further Study   400
|
| Exercises   400
|
| 22.1
| Introduction   403
|
| 22.2
| History Of Bootstrapping   403
|
| 22.3
| Using IP To Determine An IP Address   404
|
| 22.4
| The DHCP Retransmission Policy   405
|
| 22.5
| The DHCP Message Format   405
|
| 22.6
| The Need For Dynamic Configuration   408
|
| 22.7
| DHCP Lease Concept   409
|
| 22.8
| Multiple Addresses And Relays   409
|
| 22.9
| Address Acquisition States   410
|
| 22.10
| Early Lease Termination   411
|
| 22.11
| Lease Renewal States   412
|
| 22.12
| DHCP Options And Message Type   413
|
| 22.13
| Option Overload   414
|
| 22.14
| DHCP And Domain Names   414
|
| 22.15
| Summary   414
|
| For Further Study   415
|
| Exercises   415
|
| 23.1
| Introduction   419
|
| 23.2
| Names For Machines   420
|
| 23.3
| Flat Namespace   420
|
| 23.4
| Hierarchical Names   421
|
| 23.5
| Delegation Of Authority For Names   422
|
| 23.6
| Subset Authority   422
|
| 23.7
| Internet Domain Names   423
|
| 23.8
| Top-Level Domains   424
|
| 23.9
| Name Syntax And Type   426
|
| 23.10
| Mapping Domain Names To Addresses   427
|
| 23.11
| Domain Name Resolution   429
|
| 23.12
| Efficient Translation   430
|
| 23.13
| Caching: The Key To Efficiency   431
|
| 23.14
| Domain Name System Message Format   431
|
| 23.15
| Compressed Name Format   435
|
| 23.16
| Abbreviation Of Domain Names   435
|
| 23.17
| Inverse Mappings   436
|
| 23.18
| Pointer Queries   437
|
| 23.19
| Object Types And Resource Record Contents   437
|
| 23.20
| Obtaining Authority For A Subdomain   439
|
| 23.21
| Dynamic DNS Update And Notification   439
|
| 23.22
| DNS Security Extensions (DNSSEC)   440
|
| 23.23
| Summary   441
|
| For Further Study   441
|
| Exercises   442
|
| 24.1
| Introduction   445
|
| 24.2
| Remote Interactive Computing   445
|
| 24.3
| TELNET Protocol   446
|
| 24.4
| Accommodating Heterogeneity   448
|
| 24.5
| Passing Commands That Control The Remote Side   449
|
| 24.6
| Forcing The Server To Read A Control Function   450
|
| 24.7
| TELNET Options   452
|
| 24.8
| TELNET Option Negotiation   452
|
| 24.9
| Secure Shell (SSH)   453
|
| 24.10
| Other Remote Access Technologies   455
|
| 24.11
| Summary   455
|
| For Further Study   456
|
| Exercises   457
|
| 25.1
| Introduction   459
|
| 25.2
| Remote File Access, Transfer, And Storage Networks   459
|
| 25.3
| On-line Shared Access   460
|
| 25.4
| Sharing By File Transfer   461
|
| 25.5
| FTP: The Major TCP/IP File Transfer Protocol   461
|
| 25.6
| FTP Features   461
|
| 25.7
| FTP Process Model   462
|
| 25.8
| TCP Port Numbers And Data Connections   463
|
| 25.9
| The User's View Of FTP   464
|
| 25.10
| Anonymous FTP   464
|
| 25.11
| Secure File Transfer (SSL-FTP, Scp, Sftp)   464
|
| 25.12
| TFTP   465
|
| 25.13
| NFS   467
|
| 25.14
| Implementation Of NFS (RPC And XDR)   468
|
| 25.15
| Summary   469
|
| For Further Study   469
|
| Exercises   469
|
| 26.1
| Introduction   473
|
| 26.2
| Electronic Mail   473
|
| 26.3
| Mailbox Names And Aliases   474
|
| 26.4
| Alias Expansion And Mail Forwarding   475
|
| 26.5
| TCP/IP Standards For Electronic Mail Service   476
|
| 26.6
| Simple Mail Transfer Protocol (SMTP)   477
|
| 26.7
| Mail Retrieval And Mailbox Manipulation Protocols   479
|
|
| 26.7.1
| Post Office Protocol   479
|
|
| 26.7.2
| Internet Message Access Protocol   480
|
| 26.8
| The MIME Extensions For Non-ASCII Data   480
|
| 26.9
| MIME Multipart Messages   482
|
| 26.10
| Summary   483
|
| For Further Study   483
|
| Exercises   484
|
| 27.1
| Introduction   487
|
| 27.2
| Importance Of The Web   487
|
| 27.3
| Architectural Components   488
|
| 27.4
| Uniform Resource Locators   488
|
| 27.5
| An Example Document   489
|
| 27.6
| Hypertext Transfer Protocol   490
|
| 27.7
| HTTP GET Request   490
|
| 27.8
| Error Messages   491
|
| 27.9
| Persistent Connections And Lengths   492
|
| 27.10
| Data Length And Program Output   492
|
| 27.11
| Length Encoding And Headers   493
|
| 27.12
| Negotiation   494
|
| 27.13
| Conditional Requests   495
|
| 27.14
| Proxy Servers And Caching   495
|
| 27.15
| Caching   496
|
| 27.16
| Other HTTP Functionality   497
|
| 27.17
| HTTP, Security, And E-Commerce   497
|
| 27.18
| Summary   498
|
| For Further Study   498
|
| Exercises   498
|
| 28.1
| Introduction   501
|
| 28.2
| Digitizing And Encoding   501
|
| 28.3
| Audio And Video Transmission And Reproduction   502
|
| 28.4
| Jitter And Playback Delay   503
|
| 28.5
| Real-time Transport Protocol (RTP)   504
|
| 28.6
| Streams, Mixing, And Multicasting   505
|
| 28.7
| RTP Encapsulation   506
|
| 28.8
| RTP Control Protocol (RTCP)   506
|
| 28.9
| RTCP Operation   506
|
| 28.10
| IP Telephony And Signaling   508
|
|
| 28.10.1
| H.323 Standards   508
|
|
| 28.10.2
| Session Initiation Protocol (SIP)   510
|
| 28.11
| Quality Of Service Controversy   510
|
| 28.12
| QoS, Utilization, And Capacity   511
|
| 28.13
| IntServ Resource Reservation (RSVP)   511
|
| 28.14
| IntServ Enforcement (COPS)   512
|
| 28.15
| DiffServ And Per-Hop Behavior   513
|
| 28.16
| Traffic Scheduling   513
|
| 28.17
| Traffic Policing   515
|
| 28.18
| Summary   515
|
| For Further Study   516
|
| Exercises   516
|
| 29.1
| Introduction   519
|
| 29.2
| The Level Of Management Protocols   519
|
| 29.3
| Architectural Model   520
|
| 29.4
| Protocol Framework   522
|
|
| 29.4.1
| A Standard Network Management Protocol   522
|
|
| 29.4.2
| A Standard For Managed Information   522
|
| 29.5
| Examples of MIB Variables   523
|
| 29.6
| The Structure Of Management Information   524
|
| 29.7
| Formal Definitions Using ASN.1   525
|
| 29.8
| Structure And Representation Of MIB Object Names   525
|
| 29.9
| Simple Network Management Protocol   530
|
|
| 29.9.1
| Searching Tables Using Names   532
|
| 29.10
| SNMP Message Format   532
|
| 29.11
| An Example Encoded SNMP Message   535
|
| 29.12
| New Features In SNMPv3   538
|
| 29.13
| Summary   538
|
| For Further Study   539
|
| Exercises   539
|
| 30.1
| Introduction   543
|
| 30.2
| Protecting Resources   544
|
| 30.3
| Information Policy   545
|
| 30.4
| Internet Security   545
|
| 30.5
| IP Security (IPsec)   546
|
| 30.6
| IPsec Authentication Header   546
|
| 30.7
| Security Association   547
|
| 30.8
| IPsec Encapsulating Security Payload   548
|
| 30.9
| Authentication And Mutable Header Fields   549
|
| 30.10
| IPsec Tunneling   550
|
| 30.11
| Required Security Algorithms   550
|
| 30.12
| Secure Sockets (SSL and TLS)   551
|
| 30.13
| Firewalls And Internet Access   551
|
| 30.14
| Multiple Connections And Weakest Links   552
|
| 30.15
| Firewall Implementation And Packet Filters   552
|
| 30.16
| Security And Packet Filter Specification   553
|
| 30.17
| The Consequence Of Restricted Access For Clients   554
|
| 30.18
| Stateful Firewalls   554
|
| 30.19
| Content Protection And Proxies   555
|
| 30.20
| Monitoring And Logging   556
|
| 30.21
| Summary   556
|
| For Further Study   557
|
| Exercises   557
|
| 31.1
| Introduction   561
|
| 31.2
| Why Change?   561
|
| 31.3
| Beyond IPv4   562
|
| 31.4
| The Road To A New Version Of IP   562
|
| 31.5
| The Name Of The Next IP   562
|
| 31.6
| Features Of IPv6   563
|
| 31.7
| General Form Of An IPv6 Datagram   564
|
| 31.8
| IPv6 Base Header Format   564
|
| 31.9
| IPv6 Extension Headers   566
|
| 31.10
| Parsing An IPv6 Datagram   566
|
| 31.11
| IPv6 Fragmentation And Reassembly   567
|
| 31.12
| The Consequence Of End-To-End Fragmentation   568
|
| 31.13
| IPv6 Source Routing   569
|
| 31.14
| IPv6 Options   569
|
| 31.15
| Size Of The IPv6 Address Space   571
|
| 31.16
| IPv6 Colon Hexadecimal Notation   571
|
| 31.17
| Three Basic IPv6 Address Types   572
|
| 31.18
| The Duality Of Broadcast And Multicast   573
|
| 31.19
| An Engineering Choice And Simulated Broadcast   573
|
| 31.20
| Proposed IPv6 Address Space Assignment   574
|
| 31.21
| Embedded IPv4 Addresses And Transition   574
|
| 31.22
| Unspecified And Loopback Addresses   576
|
| 31.23
| Unicast Address Structure   577
|
| 31.24
| Interface Identifiers   577
|
| 31.25
| Local Addresses   578
|
| 31.26
| Autoconfiguration And Renumbering   578
|
| 31.27
| Summary   579
|
| For Further Study   580
|
| Exercises   580
|