PART ONE Architecture and Core Protocols 1
CHAPTER 1 Introduction to TCP/IP-History,Architecture and Standards 2
1.1 Internet History-Where It All Came From 3
1.1.1 Internetworks 4
1.1.2 The Internet 5
1.1.3 ARPANET 5
1.1.4 NSFNET 6
1.1.5 Commercial Use of the Internet 8
1.1.6 Information Superhighway 9
1.1.7 Internet2 10
1.1.8 The Open Systems Interconnect(OSI)Model 10
1.2 TCP/IP Architectural Model-What It Is All About 12
1.2.1 Internetworking 12
1.2.2 The TCP/IP Protocol Stack 14
1.2.3 TCP/IP Applications 16
1.2.4 Bridges,Routers and Gateways 17
1.3 Finding Standards for TCP/IP and the Internet 19
1.3.1 Request For Comments(RFC) 20
1.3.2 Internet Standards 22
1.3.3 Major Internet Protocols 23
1.4 Future of the Internet 24
1.5 IBM and the Internet 25
1.5.1 The Network Computing Framework 25
CHAPTER 2 Internetworking and Transport Layer Protocols 32
2.1 Internet Protocol(IP) 33
2.1.1 IP Addressing 34
2.1.2 IP Subnets 37
2.1.3 IP Routing 41
2.1.4 Methods of Delivery-Unicast,Broadcast,Multicast and Anycast 47
2.1.5 The IP Address Exhaustion Problem 49
2.1.6 Intranets(Private IP Addresses) 52
2.1.7 Classless Inter-Domain Routing(CIDR) 53
2.1.8 IP Datagram 56
2.2 Internet Control Message Protocol(ICMP) 67
2.2.1 ICMP Messages 68
2.2.2 ICMP Applications 76
2.3 Internet Group Management Protocol(IGMP) 77
2.4 Address Resolution Protocol(ARP) 78
2.4.1 ARP Overview 78
2.4.2 ARP Detailed Concept 78
2.4.3 ARP and Subnets 80
2.4.4 Proxy-ARP or Transparent Subnetting 81
2.5 Reverse Address Resolution Protocol(RARP) 83
2.5.1 RARP Concept 83
2.6 Ports and Sockets 84
2.6.1 Ports 84
2.6.2 Sockets 85
2.7 User Datagram Protocol(UDP) 86
2.7.1 UDP Datagram Format 87
2.7.2 UDP Application Programming Interface 88
2.8 Transmission Control Protocol(TCP) 89
2.8.1 TCP Concept 89
2.8.2 TCP Application Programming Interface 100
2.8.3 TCP Congestion Control Algorithms 101
2.9 References 105
CHAPTER 3 Routing Protocols 108
3.1 Basic IP Routing 109
3.1.1 Routing Processes 111
3.1.2 Autonomous Systems 112
3.2 Routing Algorithms 113
3.2.1 Static Routing 113
3.2.2 Distance Vector Routing 114
3.2.3 Link State Routing 119
3.3 Interior Gateway Protocols(IGP) 121
3.3.1 Routing Information Protocol(RIP) 121
3.3.2 Routing Information Protocol Version 2(RIP-2) 123
3.3.3 RIPng for IPv6 126
3.3.4 Open Shortest Path First(OSPF) 128
3.4 Exterior Routing Protocols 150
3.4.1 Exterior Gateway Protocol(EGP) 150
3.4.2 Border Gateway Protocol(BGP-4) 151
3.5 References 163
CHAPTER 4 Application Protocols 164
4.1 Characteristics of Applications 165
4.1.1 Client/Server Model 166
4.2 Domain Name System(DNS) 166
4.2.1 The Hierarchical Namespace 167
4.2.2 Fully Qualified Domain Names(FQDNs) 167
4.2.3 Generic Domains 168
4.2.4 Country Domains 169
4.2.5 Mapping Domain Names to IP Addresses 169
4.2.6 Mapping IP Addresses to Domain Names-Pointer Queries 170
4.2.7 The Distributed Name Space 170
4.2.8 Domain Name Resolution 170
4.2.9 Domain Name System Resource Records 174
4.2.10 Domain Name System Messages 176
4.2.11 A Simple Scenario 180
4.2.12 Extended Scenario 182
4.2.13 Transport 183
4.2.14 DNS Applications 184
4.2.15 References 184
4.3 TELNET 184
4.3.1 TELNET Operation 185
4.3.2 Terminal Emulation(Telnet 3270) 191
4.3.3 TN3270 Enhancements(TN3270E) 192
4.3.4 References 194
4.4 File Transfer Protocol(FTP) 194
4.4.1 Overview of FTP 194
4.4.2 FTP Operations 195
4.4.3 Reply Codes 197
4.4.4 FTP Scenario 198
4.4.5 A Sample FTP Session 199
4.4.6 Anonymous FTP 199
4.4.7 Remote Job Entry Using FTP 199
4.5 Trivial File Transfer Protocol(TFTP) 199
4.5.1 TFTP Usage 200
4.5.2 Protocol Description 200
4.5.3 TFTP Multicast Option 202
4.5.4 Security Issue 202
4.6 Remote Execution Command Protocol(REXEC and RSH) 202
4.6.1 Principle of Operation 203
4.7 Simple Mail Transfer Protocol(SMTP) 203
4.7.1 How SMTP Works 205
4.7.2 SMTP and the Domain Name System 211
4.7.3 References 212
4.8 Multipurpose Internet Mail Extensions(MIME) 213
4.8.1 How MIME Works 215
4.8.2 The Content-Type Field 216
4.8.3 The Content-Transfer-Encoding Field 222
4.8.4 Using Non-ASCII Characters in Message Headers 227
4.8.5 References 228
4.9 Post Office Protocol(POP) 229
4.9.1 POP3 Commands and Responses 229
4.9.2 References 230
4.10 Internet Message Access Protocol Version 4(IMAP4) 231
4.10.1 IMAP4 Underlying Electronic Mail Models 231
4.10.2 IMAP4 Commands and Responses 231
4.10.3 Message Numbers 232
4.10.4 IMAP4 States 233
4.10.5 Client Commands 234
4.10.6 References 236
4.11 Network Management 236
4.11.1 Standards 237
4.11.2 Bootstrap Protocol(BOOTP) 237
4.11.3 Structure and Identification of Management Information(SMI) 237
4.11.4 Management Information Base(MIB) 239
4.11.5 Simple Network Management Protocol(SNMP) 243
4.11.6 Simple Network Management Protocol Version 2(SNMPv2) 245
4.11.7 MIB for SNMPv2 248
4.11.8 Single Authentication and Privacy Protocol 249
4.11.9 The New Administrative Model 250
4.11.10 Simple Network Management Protocol Version 3(SNMPv3) 251
4.11.11 References 252
4.12 Remote Printing(LPR and LPD) 253
4.13 Network File System(NFS) 253
4.13.1 NFS Concept 254
4.13.2 WebNFS 258
4.13.3 References 259
4.14 X Window System 259
4.14.1 Functional Concept 260
4.14.2 Protocol 264
4.15 Finger Protocol 264
4.16 NETSTAT 265
4.17 Network Information System(NIS) 265
4.18 NetBIOS over TCP/IP 266
4.18.1 NetBIOS over TCP/IP in IBM OS/2 Warp 4 268
4.18.2 NetBIOS over TCP/IP in Microsoft Windows Systems 270
4.18.3 NetBIOS Name Server(NBNS)Implementations 272
4.19 Application Programming Interfaces(APIs) 273
4.19.1 The Socket API 273
4.19.2 Remote Procedure Call(RPC) 277
4.19.3 Windows Sockets Version 2(Winsock V2.0) 281
4.19.4 SNMP Distributed Programming Interface(SNMP DPI) 281
4.19.5 FTP API 284
4.19.6 CICS Socket Interface 285
4.19.7 IMS Socket Interface 285
4.19.8 Sockets Extended 285
4.19.9 REXX Sockets 286
PART TWO Special Purpose Protocols and New Technologies 288
CHAPTER 5 TCP/IP Security Overview 290
5.1.1 Common Attacks Against Security 291
5.1 Security Exposures and Solutions 291
5.1.2 Solutions to Network Security Problems 292
5.1.3 Implementations of Security Solutions 293
5.1.4 Network Security Policy 295
5.2 A Short Introduction to Cryptography 296
5.2.1 Terminology 296
5.2.2 Symmetric or Secret-Key Algorithms 298
5.2.3 Asymmetric or Public-Key Algorithms 299
5.2.4 Hash Functions 303
5.2.5 Digital Certificates and Certification Authorities 307
5.2.6 Random-Number Generators 309
5.2.7 Export/Import Restrictions on Cryptography 309
5.3 Firewalls 310
5.3.1 Firewall Concept 311
5.3.2 Components of A Firewall System 312
5.3.3 Packet-Filtering Router 312
5.3.4 Application Level Gateway(Proxy) 314
5.3.5 Circuit Level Gateway 318
5.3.6 Firewall Examples 319
5.4 Network Address Translation(NAT) 323
5.4.1 NAT Concept 324
5.4.2 Translation Mechanism 325
5.4.3 NAT Limitations 327
5.5 The IP Security Architecture(IPSec) 327
5.5.1 Concepts 328
5.5.2 Authentication Header(AH) 330
5.5.3 Encapsulating Security Payload(ESP) 334
5.5.4 Combining IPSec Protocols 339
5.5.5 The Internet Key Exchange Protocol(IKE) 344
5.5.6 References 358
5.6 SOCKS 359
5.6.1 SOCKS Version 5(SOCKSv5) 360
5.7 Secure Sockets Layer(SSL) 364
5.7.1 SSL Overview 364
5.7.2 SSL Protocol 366
5.8 Transport Layer Security(TLS) 371
5.9 Secure Multipurpose Internet Mail Extension(S-MIME) 371
5.10 Virtual Private Networks(VPN)Overview 372
5.10.1 VPN Introduction and Benefits 372
5.11 Kerberos Authentication and Authorization System 373
5.11.1 Assumptions 374
5.11.2 Naming 374
5.11.3 Kerberos Authentication Process 375
5.11.4 Kerberos Database Management 378
5.11.5 Kerberos Authorization Model 379
5.11.6 Kerberos Version 5 Enhancements 379
5.12 Remote Access Authentication Protocols 380
5.13 Layer 2 Tunneling Protocol(L2TP) 382
5.13.1 Terminology 382
5.13.2 Protocol Overview 383
5.13.3 L2TP Security Issues 385
5.14 Secure Electronic Transactions(SET) 386
5.14.1 SET Roles 386
5.14.2 SET Transactions 387
5.14.3 The SET Certificate Scheme 389
5.15 References 391
CHAPTER 6 IP Version 6 392
6.2 The IPv6 Header Format 394
6.1 IPv6 Overview 394
6.2.1 Packet Sizes 397
6.2.2 Extension Headers 398
6.2.3 IPv6 Addressing 404
6.2.4 Priority 409
6.2.5 Flow Labels 409
6.3 Internet Control Message Protocol Version 6(ICMPv6) 409
6.3.1 Neighbor Discovery 411
6.3.2 Stateless Address Autoconfiguration 419
6.3.3 Multicast Listener Discovery(MLD) 421
6.4 DNS in IPv6 423
6.4.1 Format of IPv6 Resource Records 423
6.5 DHCP in IPv6 426
6.5.1 Differences between DHCPv6 and DHCPv4 426
6.5.2 DHCPv6 Messages 427
6.6 Mobility Support in IPv6 428
6.7 Internet Transition-Migrating from IPv4 to IPv6 428
6.7.1 Dual IP Stack Implementation-The IPv6/IPv4 Node 429
6.7.2 Tunneling 430
6.7.3 Header Translation 435
6.7.4 Interoperability Summary 435
6.8 The Drive Towards IPv6 436
6.9 References 437
CHAPTER 7 Dynamic IP,Mobile IP and Network Computers 438
7.1 Bootstrap Protocol(BOOTP) 439
7.1.1 BOOTP Forwarding 443
7.1.2 BOOTP Considerations 444
7.2 Dynamic Host Configuration Protocol(DHCP) 444
7.2.1 The DHCP Message Format 445
7.2.2 DHCP Message Types 447
7.2.3 Allocating a New Network Address 448
7.2.4 DHCP Lease Renewal Process 449
7.2.5 Reusing a Previously Allocated Network Address 451
7.2.6 Configuration Parameters Repository 451
7.2.7 DHCP Considerations 452
7.2.8 BOOTP and DHCP Interoperability 452
7.3 Dynamic Domain Name System 453
7.3.1 The UPDATE DNS Message Format 454
7.3.2 IBM s Implementation of DDNS 456
7.3.3 Proxy A Record Update(ProxyArec) 464
7.4 Mobile IP 466
7.4.1 Mobile IP Overview 466
7.4.2 Mobile IP Operation 467
7.4.3 Mobility Agent Advertisement Extensions 468
7.4.4 Mobile IP Registration Process 470
7.4.5 Tunneling 472
7.4.6 Broadcast Datagrams 473
7.4.7 Move Detection 473
7.4.8 ARP Considerations 474
7.4.9 Mobile IP Security Considerations 474
7.5 IP Masquerading 475
7.6 The Network Computer 475
7.7 References 476
CHAPTER 8 Internet Protocols and Applications 478
8.1 The World Wide Web(WWW) 479
8.1.1 Web Browsers 480
8.1.2 Web Servers 480
8.1.3 Web Server Application Technologies 481
8.2 Hypertext Transfer Protocol(HTTP) 483
8.2.1 Overview of HTTP 483
8.2.2 HTTP Operation 484
8.3 Hypertext Markup Language(HTML) 492
8.4 The Extensible Markup Language(XML) 492
8.5 Java 493
8.5.1 Java Components Overview 493
8.5.2 JavaScript 495
8.5.3 Java in the World Wide Web 496
8.5.4 Java Security 496
8.5.5 Distributed Objects 498
8.6.1 Business Requirements 499
8.6 Accessing Legacy Applications from the Web 499
8.6.2 Technical Issues 500
8.6.3 Security Issues 501
8.6.4 IBM e-business Solutions 501
8.7 Network News Transfer Protocol(NNTP) 504
8.8 Gopher 505
8.9 Internet2 507
8.9.1 Mission 508
8.9.2 Project Description 508
8.9.3 Internet2 and NGI 510
CHAPTER 9 Multicast and Multimedia 512
9.1 Multicasting 513
9.2 Internet Group Management Protocol(IGMP) 516
9.2.2 IGMP Operation 516
9.3.1 Distance Vector Multicast Routing Protocol(DVMRP) 519
9.3 Multicast Routing Protocols 519
9.3.2 Multicast OSPF(MOSPF) 524
9.3.3 Protocol Independent Multicast(PIM) 525
9.4 The Multicast Backbone 530
9.4.1 MBONE Routing 530
9.4.2 MBONE Applications 532
9.5 The Real-Time Protocols RTP and RTCP 533
9.5.1 The Real-Time Transport Protocol(RTP) 533
9.5.2 The Real-Time Control Protocol 538
9.5.3 RTP Translators and Mixers 543
9.5.4 Real-Time Applications 545
9.6 Voice over IP 547
9.6.1 ITU-T Recommendation H.323 548
9.6.2 Voice Compression(G.723.1 and G.729) 551
9.6.3 The VoIP Protocol Stack 552
9.7 References 554
CHAPTER 10 Quality of Service 556
10.1 Why QoS 557
10.2 Integrated Services 558
10.2.1 Service Classes 560
10.2.2 The Reservation Protocol(RSVP) 564
10.2.3 The Future of Integrated Services 575
10.3 Differentiated Services 576
10.3.1 Differentiated Services Architecture 577
10.3.2 Using RSVP with Differentiated Services 585
10.3.3 Configuration and Administration of DS Components with LDAP 586
10.3.4 Using Differentiated Services with IPSec 587
10.3.5 Internet Drafts on Differentiated Services 589
10.4 References 589
CHAPTER 11 Availability,Scalability and Load Balancing 590
11.1 Virtual Router Redundancy Protocol(VRRP) 592
11.1.1 Introduction 593
11.1.2 VRRP Definitions 594
11.1.3 VRRP Overview 594
11.1.4 Sample Configuration 595
11.1.5 VRRP Packet Format 597
11.2 Round-Robin DNS 599
11.3 IBM eNetwork Dispatcher 600
11.3.1 eNetwork Dispatcher Components 600
11.3.2 Load Balancing with Weights 604
11.3.3 High Availability 605
11.3.4 Server Affinity 606
11.3.5 Rules-Based Balancing 606
11.3.6 Wide Area Network Dispatcher 607
11.3.7 Combining ISS and Dispatcher 608
11.3.8 Advisors and Custom Advisors 609
11.3.9 SNMP Support 609
11.3.10 Co-Location Option 610
11.3.11 ISP Configuration 611
11.3.12 OS/390 Parallel Sysplex Support 612
11.4 Alternative Solutions to Load Balancing 613
11.4.1 Network Address Translation 613
11.4.2 Encapsulation 615
11.4.3 HTTP Redirection 616
11.5 TCP/IP for OS/390 Using Workload Manager(WLM) 616
11.5.1 Related Terminology and Products 616
11.5.2 Overview of WLM 617
11.6 OSPF Equal-Cost Multipath 618
11.7 OS/390 VIPA Connection Recovery 620
CHAPTER 12 Directory Protocols and Distributed Computing 622
12.1 Introduction to the Distributed Computing Environment(DCE) 623
12.1.1 DCE Directory Service 624
12.1.2 DCE Security Service 627
12.1.3 DCE Threads 631
12.1.4 DCE Remote Procedure Call 632
12.1.5 Distributed Time Service 633
12.1.6 Distributed File Service(DFS) 634
12.2 The Andrew File System(AFS) 637
12.3 Lightweight Directory Access Protocol(LDAP) 638
12.3.1 LDAP-Lightweight Access to X.500 639
12.3.2 The LDAP Directory Server 640
12.3.3 Overview of LDAP Architecture 642
12.3.4 LDAP Models 643
12.3.5 LDAP Security 649
12.3.6 LDAP URLs 651
12.3.7 LDAP and DCE 652
12.3.8 The Directory-Enabled Networks Initiative(DEN) 654
12.3.9 References 654
PART THREE Connection Protocols and Platform Implementations 656
CHAPTER 13 Connection Protocols 658
13.1 Ethernet and IEEE 802.x Local Area Networks(LANs) 659
13.2 Fiber Distributed Data Interface(FDDI) 662
13.3 Asynchronous Transfer Mode(ATM) 663
13.3.1 Address Resolution(ATMARP and InATMARP) 663
13.3.2 Classical IP over ATM 666
13.3.3 ATM LAN Emulation 671
13.4 Data Link Switching:Switch-to-Switch Protocol 674
13.3.4 Classical IP over ATM versus LAN Emulation 674
13.4.1 Introduction 675
13.4.2 Functional Description 675
13.5 Serial Line IP(SLIP) 677
13.6 Point-to-Point Protocol(PPP) 678
13.6.1 Point-to-Point Encapsulation 679
13.7 Integrated Services Digital Network(ISDN) 679
13.8 TCP/IP and X.25 681
13.9 Frame Relay 683
13.9.1 Frame Format 683
13.9.2 Interconnect Issues 684
13.9.3 Data Link Layer Parameter Negotiation 684
13.9.4 IP over Frame Relay 685
13.10 PPP over SONET and SDH Circuits 685
13.10.1 Physical Layer 686
13.11 Multiprotocol Label Switching(MPLS) 687
13.11.1 Forwarding Methods 687
13.11.2 MPLS Usefulness 688
13.12 Enterprise Extender 688
13.12.1 Performance and Recovery 689
13.13 Multiprotocol Transport Network(MPTN) 689
13.13.1 Requirements for Mixed-Protocol Networking 689
13.13.2 MPTN Architecture 690
13.13.3 MPTN Methodology 690
13.13.4 MPTN Major Components 691
13.14 Multi-Path Channel+(MPC+) 693
13.15 S/390 Open Systems Adapter 2 694
13.15.1 OSA-2 Modes 694
13.15.3 Open Systems Adapter/Support Facility(OSA/SF) 696
13.15.2 S/390 Unit Addresses Correlate with OSA-2 LAN Port Numbers 696
13.16 Multiprotocol over ATM(MPOA) 697
13.16.1 Benefits of MPOA 697
13.16.2 MPOA Logical Components 698
13.16.3 MPOA Functional Components 698
13.16.4 MPOA Operation 700
13.17 Private Network-to-Network Interface(PNNI) 701
13.17.1 PNNI Overview 702
13.17.2 PNNI Routing 702
13.17.3 PNNI Signalling 705
13.18 References 706
CHAPTER 14 Platform Implementations 708
14.1.1 IBM OS/390 V2R6 709
14.1 Software Operating System Implementations 709
14.1.2 IBM TCP/IP V2R4 for VM 715
14.1.3 IBM OS/400 V4R3 718
14.1.4 IBM AIX 4.3 723
14.1.5 IBM TCP/IP 4.1 for OS/2 726
14.1.6 Functional Comparisons 729
14.2 IBM Hardware Platform Implementations 734
14.2.1 The IBM Nways Router Family 735
14.2.2 The IBM Multiprotocol Switch Hub Family 737
14.2.3 The IBM Workgroup Hubs and Workgroup Switches 739
14.2.4 The IBM High Performance Controllers 743
14.2.5 The IBM Nways Wide Area Switches 743
14.2.6 Functional Comparisons 744
APPENDIX A Special Notices 748