Post on 19-Mar-2020
Contents
Foreword
Preface
Chapter 1 Introduction And Overview
1.11.21.31.41.51.61.71.81.91.10
The Motivation For InternetworkingThe TCPIIP Internet 2Internet Services 2
History And Scope Of The InternetThe Internet Architecture Board 7The lAB Reorganization 7Internet Request For Comments 8Future Growth And Technology 9Organization Of The Text 10Summary 10
5
Chapter 2 Review Of Underlying Network Technologies
2.12.22.32.42.52.62.7
Introduction 13Two Approaches To Network CommunicationWide Area And Local Area Networks 15Ethernet Technology 16Switched Ethernet 24Asynchronous Transfer Mode 25Summary 27
14
Chapter 3 Internetworking Concept And Architectural Model
3.13.23.3
Introduction 31Application-Level Interconnection 31Network-LevelInterconnection 32
xxiii
xxvii
1
13
31
~4~5~63.7~8~9~10
Properties Of The Internet 33Internet Architecture 34Interconnection Through IP RoutersThe User's View 36All Networks Are Equal 37The Unanswered Questions 38Summary 38
35
Chapter 4 Classfullnternet Addresses 41
4.1 Introduction 414.2 Universal Identifiers 414.3 The Original Classful Addressing Scheme 424.4 Addresses Specify Network Connections 434.5 Network And Directed Broadcast Addresses 434.6 Limited Broadcast 444.7 The All-OsAddress 454.8 Subnet And Classless Extensions 454.9 IP Multicast Addresses 454.10 Weaknesses In Internet Addressing 464.11 Dotted Decimal Notation 474.12 Loopback Address 484.13 Summary Of Special Address Conventions 484.14 Internet Addressing Authority 484.15 Reserved Address Prefixes 504.16 An Example 504.17 Network Byte Order 524.18 Summary 52
Chapter 5 Mapping Internet Addresses To Physical Addresses (ARP) 57
5.1 Introduction 575.2 The Address Resolution Problem 575.3 Two Types Of Physical Addresses 585.4 Resolution Through Direct Mapping 585.5 Resolution Through Dynamic Binding 595.6 The Address Resolution Cache 605.7 ARP Cache Timeout 615.8 ARP Refinements 625.9 Relationship Of ARP To Other Protocols5.10 ARP Implementation 625.11 ARP Encapsulation And Identification 64
62
5.125.135.145.15
ARP Protocol Format 64Automatic ARP Cache Revalidation
Reverse Address Resolution (RARP)Summary 67
6666
Chapter 6 Internet Protocol: Connection less Datagram Delivery (IPv4) 71
6.16.26.36.46.56.66.76.86.9
Introduction 71A Virtual Network 71
Internet Architecture And Philosophy
The Conceptual Service OrganizationConnectionless Delivery System 73Purpose Of The Internet Protocol 73The 1Pv4 Datagram 74Internet Datagram Options 83Summary 89
7272
Chapter 7 Internet Protocol: Forwarding IP Datagrams 93
7.17.27.37.47.57.67.77.87.97.107.117.12
Introduction 93Forwarding In An Internet 93Direct And Indirect Delivery 95Table-Driven IP Forwarding 97Next-Hop Forwarding 97Default Routes 100Host-Specific Routes 100The IP Forwarding Algorithm 100Forwarding With IP Addresses 101Handling Incoming Datagrams 103Establishing Routing Tables 104Summary 104
Chapter 8 Internet Protocol: Error And Control Messages (ICMP) 109
8.18.28.38.48.58.68.7
Introduction 109
The Internet Control Message Protocol 109Error Reporting Vs. Error Correction 110ICMP Message Delivery 111ICMP Message Format 112Testing Destination Reachability And Status (Ping)Echo Request And Reply Message Format 114
113
8.8 Reports Of Unreachable Destinations 1158.9 Congestion And Datagram Flow Control 1168.10 Source Quench Format 1178.11 Route Change Requests From Routers 1188.12 Detecting Circular Or Excessively Long Routes 1198.13 Reporting Other Problems 1208.14 Clock Synchronization And Transit Time Estimation8.15 Older lCMP Messages No Longer Needed 1228.16 Summary 123
121
Chapter 9 Classless And Subnet Address Extensions (CIDR) 127
9.1 Introduction 1279.2 Review Of Relevant Facts 1279.3 Minimizing Network Numbers 1289.4 Proxy ARP 1289.5 Subnet Addressing 1309.6 Flexibility In Subnet Address Assignment 1329.7 Variable-Length Subnets 1349.8 Implementation Of Subnets With Masks 1359.9 Subnet Mask Representation 1369.10 Forwarding In The Presence Of Subnets 1379.11 The Subnet Forwarding Algorithm 1389.12 A Unified Forwarding Algorithm 1399.13 Maintenance Of Subnet Masks 1409.14 Broadcasting To Subnets 1409.15 Anonymous Point-To-Point Networks 1419.16 Classless Addressing And Supernetting 1429.17 ClDR Address Blocks And Bit Masks 1439.18 Address Blocks And CIDR Notation 1449.19 A Classless Addressing Example 1459.20 'Data Structures And Algorithms For Classless Lookup9.21 Longest-Match And Mixtures Of Route Types 1489.22 CIDR Blocks Reserved For Private Networks 1499.23 Summary 150
145
Chapter 10 Protocol Layering 155
10.1 Introduction 15510.2 The Need For Multiple Protocols 15510.3 The Conceptual Layers Of Protocol Software10.4 Functionality Of The Layers 159
156
10.5 X.25 And Its Relation To The ISO Model 160
10.6 Locus Of Intelligence 16310.7 The Protocol Layering Principle 16310.8 Layering In The Presence Of Network Substructure 16610.9 Two Important Boundaries In The TCPIIP Model 16810./0 The Disadvantage Of Layering 16910./ / The Basic Idea Behind Multiplexing And Demultiplexing10.12 Summary 171
Chapter 11 User Datagram Protocol (UDP)
11./ Introduction 175
11.2 Identifying The Ultimate Destination 17511.3 The User Datagram Protocol 17611.4 Format Of UDP Messages 17711.5 UDP Pseudo-Header 178
11.6 UDP Encapsulation And Protocol Layering 17911.7 Layering And The UDP Checksum Computation 18111.8 UDP Multiplexing, Demultiplexing, And Ports 18111.9 ReservedAnd Available UDP Port Numbers 1821/.10 Summary 184
Chapter 12 Reliable Stream Transport Service (TCP)
12.1 Introduction 187
12.2 The Need For Stream Delivery 18712.3 Properties Of The Reliable Delivery Service 18812.4 Providing Reliability 18912.5 The Idea Behind Sliding Windows12.6 The Transmission Control Protocol
12.7 Ports, Connections, And Endpoints12.8 Passive And Active Opens 19612.9 Segments,Streams,And SequenceNumbers 19712.10 Variable Window SizeAnd Flow Control 19812.11 TCP SegmentFormat 19912.12 Out Of Band Data 20012.13 TCP Options 20112.14 TCP Checksum Computation 20312.15 Acknowledgements, Retransmission, And Timeouts 20412.16 Accurate Measurement Of Round Trip Samples 20712.17 Karn' s Algorithm And Timer Backoff 20812.18 Responding To High Variance In Delay 209
191193194
170
175
187
12.19 Response To Congestion 21112.20 Fast Recovery And Other Modifications 21312.21 Explicit Feedback Mechanisms (SACK and ECN)12.22 Congestion, Tail Drop, And TCP 21612.23 Random Early Detection (RED) 21712.24 Establishing A TCP Connection 21912.25 1nitial Sequence Numbers 22012.26 Closing a TCP Connection 22112.27 TCP Connection Reset 22212.28 TCP State Machine 22212.29 Forcing Data Delivery 22412.30 Reserved TCP Port Numbers 22412.31 TCP Performance 22512.32 Silly Window Syndrome And Small Packets 22612.33 Avoiding Silly Window Syndrome 22712.34 Summary 230
215
Chapter 13 Routing Architecture: Cores, Peers, And Algorithms
13.1 1ntroduction 23513.2 The Origin Of Routing Tables 23613.3 Forwarding With Partial1nformation 23713.4 Original1nternet Architecture And Cores 23813.5 Beyond The Core Architecture To Peer Backbones13.6 Automatic Route Propagation 24113.7 Distance Vector (Bellman-Ford) Routing 24113.8 Reliability And Routing Protocols 24313.9 Link-State (SPF) Routing 24313.10 Summary 244
Chapter 14 Routing Between Peers (BGP)
14.1 Introduction 24914.2 Routing Update Protocol Scope 24914.3 Determining A Practical Limit On Group Size14.4 A Fundamental Idea: Extra Hops 25114.5 Autonomous System Concept 25314.6 Exterior Gateway Protocols And Reachability14.7 BGP Characteristics 25514.8 BGP Functionality And Message Types 25614.9 BGP Message Header 25614.10 BGP OPEN Message 257
235
240
249
250
254
14.11 BGP UPDATEMessage 25914.12 Compressed Mask-Address Pairs 25914.13 BGP PathAttributes 26014.14 BGP KEEPALlVE Message 26214.15 Information From The Receiver's Perspective 26214.16 The Key Restriction Of Exterior Gateway Protocols14.17 The Internet Routing Architecture 26514.18 BGP NOTIFICATION Message 26614.19 Summary 267
263
Chapter 15 Routing Within An Autonomous System (RIP, OSPF) 271
15.1 Introduction 27115.2 Static Vs. Dynamic Interior Routes 27115.3 Routing Information Protocol (RIP) 27415.4 Slow Convergence Problem 27615.5 Solving The Slow Convergence Problem 27715.6 RIP1 Message Format 27815.7 RIP2 Address Conventions 28015.8 RIP Route Interpretation And Aggregation 28015.9 RIP2 Extensions And Message Format 28115.10 The Disadvantage Of RIP Hop Counts 28215.11 Delay Metric (HELLO) 28315.12 Delay Metrics And Oscillation 28315.13 Combining RIP, Hello, And BGP 28515.14 Gated: Inter-Autonomous System Communication15.15 The Open SPF Protocol (OSPF) 28615.16 Routing With Partial Information 29315.17 Summary 293
286
Chapter 16 Internet Multicasting 297
16.1 Introduction 29716.2 Hardware Broadcast 29716.3 Hardware Origins Of Multicast 29816.4 Ethernet Multicast 29916.5 IP Multicast 29916.6 The Conceptual Pieces 30016.7 IP Multicast Addresses 30116.8 Multicast Address Semantics 30216.9 Mapping IP Multicast To Ethernet Multicast16.10 Hosts And Multicast Delivery 303
303
16.11 Multicast Scope 30416.12 Extending Host Software To Handle Multicasting 30516.13 Internet Group Management Protocol 30516.14 IGMP Implementation 30616.15 Group Membership State Transitions 30816.16 IGMP Membership Query Message Format 30916.17 IGMP Membership Report Message Format 31016.18 Multicast Forwarding And Routing Information 31216.19 Basic Multicast Forwarding Paradigms 31316.20 Consequences OfTRPF 31516.21 Multicast Trees 31716.22 The Essence Of Multicast Route Propagation 31816.23 Reverse Path Multicasting 31816.24 Multicast Routing Protocols 31916.25 Reliable Multicast And ACK Implosions 32216.26 Summary 323
Chapter 17 IP Switching And MPLS 327
17.1 Introduction 32717.2 Switching Technology 32717.3 Large Networks, Label Swapping, And Paths 32817.4 Using Switching With IP 32917.5 IP Switching Technologies And MPLS 33017.6 Classification, Flows, And Higher Layer Switching17.7 Hierarchical Use Of MPLS 33117.8 MPLS Encapsulation 33217.9 Label Switching Router 33317.10 Control Processing And Label Distribution 33417.11 MPLS And Fragmentation 33417.12 Mesh Topology And Traffic Engineering 33517.13~ummary 336
331
Chapter 18 Mobile IP 339
18.1 Introduction 33918.2 Mobility, Routing, and Addressing18.3 Mobile IP Characteristics 34018.4 Overview Of Mobile IP Operation18.5 MobileAddressingDetails 34118.6 Foreign Agent Discovery 34118.7 Agent Registration 342
339
340
18.8 Registration Message Format 34318.9 Communication With A Foreign Agent 34418.10 Datagram Transmission And Reception 34418.11 The Two-Crossing Problem 34518.12 Communication With Computers On the Home Network18.13 Summary 346
Chapter 19 Private Network Interconnection (NAT, VPN)
19.1 Introduction 34919.2 Private And Hybrid Networks 34919.3 VPN Addressing And Routing 35119.4 Extending VPN Technology To Individual Hosts19.5 A VPN With Private Addresses 35219.6 Network Address Translation (NAT) 353]9.7 NAT Translation Table Creation 35419.8 Multi-Address NAT 35519.9 Port-Mapped NAT 356]9.10 Interaction Between NAT And lCMP 357]9.]] Interaction Between NAT And Applications 358]9.12 NAT In The Presence Of Fragmentation 35819.13 Conceptual Address Domains 35919.14 Slirp And Iptables 35919.15 Summary 360
352
Chapter 20 Client-Server Model Of Interaction
20.] Introduction 36320.2 The Client-Server Model 36320.3 A Simple Example: UDP Echo Server20.4 TimeAnd DateService 36620.5 The Complexity of Servers 36620.6 Broadcasting A Request 36820.7 Alternatives To The Client-Server Model
20.8 Summary 369
364
368
Chapter 21 The Socket Interface
21.1 Introduction 37321.2 The UNIX I/O Paradigm And Network I/O21.3 Adding Network I/O to UNIX 374
373
346
349
363
373
21.421.521.621.721.821.921.1021.1121.1221.1321.1421.1521.1621.1721.1821.1921.2021.2121.2221.2321.2421.2521.2621.2721.28
The Socket Abstraction 375Creating A Socket 375Socket Inheritance And Termination 375Specifying A Local Address 376Connecting Sockets To Destination Addresses 377Sending Data Through A Socket 378Receiving Data Through A Socket 380Obtaining Local And Remote Socket Addresses 381Obtaining And Setting Socket Options 382Specifying A Queue Length For A Server 383How A Server Accepts Connections 383Servers That Handle Multiple Services 384Obtaining And Setting Host Names 385Obtaining And Setting The Internal Host Domain 386Socket Library Calls 386Network Byte Order Conversion Routines 387IP Address Manipulation Routines 389Accessing The Domain Name System 390Obtaining Information About Hosts 391Obtaining Information About Networks 392Obtaining Information About Protocols 393Obtaining Information About Network Services 393An Example Client 394An Example Server 396Summary 399
Chapter 22 Bootstrap And Autoconfiguration (DHCP)
22.122.222.322.422.522.622.722.822.922.1022.1122.1222.1322.1422.15
403
Introduction 403History Of Bootstrapping 403Using IP To Determine An IP Address 404
, The DHCP Retransmission Policy 405The DHCP Message Format 405The Need For Dynamic Configuration 408DHCP Lease Concept 409Multiple Addresses And Relays 409Address Acquisition States 410Early Lease Termination 411Lease Renewal States 412DHCP Options And Message Type 413Option Overload 414DHCP And Domain Names 414Summary 414
Chapter 23 The Domain Name System (DNS) 419
23.] introduction 41923.2 Names For Machines 42023.3 Flat Namespace 42023.4 Hierarchical Names 42123.5 Delegation Of Authority For Names 42223.6 Subset Authority 42223.7 internet Domain Names 42323.8 Top-Level Domains 42423.9 Name Syntax And Type 42623.]0 Mapping Domain Names To Addresses 42723.]] Domain Name Resolution 42923.] 2 Efficient Translation 43023.13 Caching: The Key To Efficiency 43123.]4 Domain Name System Message Format 43123.]5 Compressed Name Format 43523.]6 Abbreviation Of Domain Names 43523.] 7 inverse Mappings 43623.]8 Pointer Queries 43723.]9 Object Types And Resource Record Contents23.20 Obtaining Authority For A Subdomain 43923.2] Dynamic DNS Update And Notification 43923.22 DNS Security Extensions (DNSSEC) 44023.23 Summary 441
437
Chapter 24 Remote Login And Desktop (TELNET, SSH) 445
24.] introduction 44524.2 Remote interactive Computing 44524.3 TELNET Protocol 44624.4 Accommodating Heterogeneity 44824.5 Passing Commands That Control The Remote Side 44924.6 Forcing The Server To Read A Control Function 45024.7 TELNET Options 45224.8 TELNET Option Negotiation 45224.9 Secure Shell (SSH) 45324.]0 Other Remote Access Technologies 45524.]] Summary 455
Chapter 25 File Transfer And Access (FTP, TFTP, NFS) 459
25.1 Introduction 45925.2 RemoteFileAccess,Transfer,And StorageNetworks25.3 On-lineSharedAccess 46025.4 SharingBy File Transfer 46125.5 FTP:TheMajorTCPIIPFile TransferProtocol 46125.6 FTP Features 46125.7 FTP Process Model 46225.8 TCP Port Numbers And Data Connections 46325.9 The User's View Of FTP 46425.10 Anonymous FTP 46425.11 SecureFile Transfer(SSL-FTP,Scp,Sftp) 46425.12 TFTP 46525.13 NFS 46725.14 Implementation Of NFS (RPC And XDR) 46825.15 Summary 469
459
Chapter 26 Electronic Mail (SMTP, POP, IMAP, MIME) 473
26.1 Introduction 47326.2 Electronic Mail 47326.3 Mailbox Names And Aliases 474
26.4 Alias Expansion And Mail Forwarding 47526.5 TCPIIP Standards For Electronic Mail Service 476
26.6 Simple Mail Transfer Protocol (SMTP) 47726.7 Mail Retrieval And Mailbox Manipulation Protocols26.8 The MIME Extensions For Non-ASCII Data 480
26.9 MIME Multipart Messages 48226.10 Summary 483
479
Chapter 27 World Wide Web (HTTP) 487
27.1 Introduction 48727.2 Importance Of The Web 48727.3 Architectural Components 48827.4 Uniform Resource Locators 48827.5 An Example Document 48927.6 Hypertext Transfer Protocol 49027.7 HITP GET Request 49027.8 Error Messages 49127.9 Persistent Connections And Lengths 492
27.10 Data Length And Program Output 49227.] 1 Length Encoding And Headers 49327.]2 Negotiation 49427.13 Conditional Requests 49527.]4 Proxy Servers And Caching 49527.15 Caching 49627.16 Other HTTP Functionality 49727.17 HTTP, Security, And E-Commerce 49727.18 Summary 498
Chapter 28 Voice And Video Over IP (RTP, RSVP, QoS)
28.128.228.328.428.528.628.728.828.928.1028.1128.1228.1328.1428.1528.1628.]728.]8
Introduction 501Digitizing And Encoding 501Audio And Video Transmission And ReproductionJitter And Playback Delay 503Real-time Transport Protocol (RTP) 504Streams, Mixing, And Multicasting 505RTP Encapsulation 506RTP Control Protocol (RTCP) 506RTCP Operation 506IP Telephony And Signaling 508Quality Of Service Controversy 510QoS, Utilization, And Capacity 511IntServ Resource Reservation (RSVP) 511IntServ Enforcement (COPS) 512DiffServ And Per-Hop Behavior 513Traffic Scheduling 513Traffic Policing 515Summary 515
Chapter 29 Network Management (SNMP)
501
502
519
29.] Introduction 51929.2 The Level Of Management Protocols 51929.3 Architectural Model 52029.4 ProtocolFramework 52229.5 Examplesof MIB Variables 52329.6 The Structure Of Management Information 52429.7 FormalDefinitionsUsingASHI 52529.8 Structure And Representation Of MIB Object Names29.9 Simple Network Management Protocol 530
525
29.10 SNMPMessageFormat 53229.11 An Example Encoded SNMP Message29.12 New Features in SNMPv3 53829.13 Summary 538
535
Chapter 30 Internet Security And Firewall Design (IPsec, SSL) 543
30.1 introduction 54330.2 Protecting Resources 54430.3 information Policy 54530.4 internet Security 54530.5 IP Security (IPsec) 54630.6 IPsec Authentication Header 54630.7 Security Association 54730.8 IPsec Encapsulating Security Payload 54830.9 Authentication And Mutable Header Fields 54930.10 IPsec Tunneling 55030.11 Required Security Algorithms 55030.12 Secure Sockets (SSL and TLS) 55130.13 Firewalls And Internet Access 55130.14 Multiple Connections And Weakest Links 55230.15 Firewall Implementation And Packet Filters 55230.16 Security And Packet Filter Specification 55330.17 The Consequence Of Restricted Access For Clients30.18 Stateful Firewalls 55430.19 Content Protection And Proxies 55530.20 Monitoring And Logging 55630.21 Summary 556
554
Chapter 31 A Next Generation IP (IPv6) 561
31.1 Introduction 56131.2 Why Change? 56131.3 Beyond IPv4 56231.4 The Road To A New Version Of IP31.5 The Name Of The Next IP 56231.6 Features Of IPv6 56331.7 General Form Of An IPv6 Datagram31.8 IPv6 Base Header Format 56431.9 IPv6 Extension Headers 56631.10 Parsing An IPv6 Datagram 56631.11 IPv6 Fragmentation And Reassembly
562
564
567
31.12 The Consequence Of End-To-End Fragmentation31.13 1Pv6 Source Routing 56931.14 1Pv6 Options 56931.15 Size Of The 1Pv6Address Space 57131.16 1Pv6 Colon Hexadecimal Notation 57131.17 Three Basic 1Pv6Address Types 57231.18 The Duality Of Broadcast And Multicast 57331.19 An Engineering Choice And Simulated Broadcast31.20 Proposed IPv6 Address Space Assignment 57431.21 Embedded IPv4 Addresses And Transition 57431.22 Unspecified And Loopback Addresses 57631.23 Unicast Address Structure 57731.24 Interface Identifiers 57731.25 Local Addresses 57831.26 Autoconfiguration And Renumbering 57831.27 Summary 579
Appendix 1 A Look At RFCs
568
573
582
Appendix 2 Glossary Of Internetworking Terms And Abbreviations
Bibliography
Index
586
626
634