-
ibm.com/redbooks
TCP/IP Tutorial and Technical Overview
Lydia ParzialeDavid T. BrittChuck Davis
Jason ForresterWei Liu
Carolyn MatthewsNicolas Rosselot
Understand networking fundamentals of the TCP/IP protocol
suite
Introduces advanced concepts and new technologies
Includes the latest TCP/IP protocols
Front cover
http://www.redbooks.ibm.com/http://www.redbooks.ibm.com/
-
TCP/IP Tutorial and Technical Overview
December 2006
International Technical Support Organization
GG24-3376-07
-
Copyright International Business Machines Corporation 1989-2006.
All rights reserved.Note to U.S. Government Users Restricted Rights
-- Use, duplication or disclosure restricted by GSA ADPSchedule
Contract with IBM Corp.
Eighth Edition (December 2006)
Note: Before using this information and the product it supports,
read the information in Notices on page xvii.
-
Contents
Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . xviiTrademarks .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . xviii
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . xixThe team
that wrote this redbook. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . xxBecome a published author . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xxiiComments welcome. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . xxiii
Part 1. Core TCP/IP protocols . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
Chapter 1. Architecture, history, standards, and trends . . . .
. . . . . . . . . . . 31.1 TCP/IP architectural model . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.1 Internetworking . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 41.1.2 The TCP/IP
protocol layers . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 61.1.3 TCP/IP applications. . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2 The roots of the Internet . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 121.2.1 ARPANET . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 141.2.2 NSFNET . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 151.2.3
Commercial use of the Internet . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 161.2.4 Internet2 . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
181.2.5 The Open Systems Interconnection (OSI) Reference Model . .
. . . . 20
1.3 TCP/IP standards . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 211.3.1 Request for
Comments (RFC) . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 221.3.2 Internet standards . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 24
1.4 Future of the Internet. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 261.4.1 Multimedia
applications. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 261.4.2 Commercial use . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 261.4.3 The
wireless Internet. . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 27
1.5 RFCs relevant to this chapter . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 27
Chapter 2. Network interfaces . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 292.1 Ethernet and IEEE 802
local area networks (LANs) . . . . . . . . . . . . . . . . . 30
2.1.1 Gigabit Ethernet . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 332.2 Fiber Distributed Data
Interface (FDDI). . . . . . . . . . . . . . . . . . . . . . . . . .
. 332.3 Serial Line IP (SLIP) . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 342.4 Point-to-Point
Protocol (PPP) . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 35
2.4.1 Point-to-point encapsulation . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 372.5 Integrated Services Digital
Network (ISDN) . . . . . . . . . . . . . . . . . . . . . . . 382.6
X.25 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 39
Copyright IBM Corp. 1989-2006. All rights reserved. iii
-
2.7 Frame relay . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 412.7.1 Frame
format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 412.7.2 Interconnect issues . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432.7.3
Data link layer parameter negotiation . . . . . . . . . . . . . . .
. . . . . . . . . 432.7.4 IP over frame relay . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.8 PPP over SONET and SDH circuits . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 452.8.1 Physical layer . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 46
2.9 Multi-Path Channel+ (MPC+) . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 462.10 Asynchronous transfer mode
(ATM) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
2.10.1 Address resolution (ATMARP and InATMARP) . . . . . . . .
. . . . . . . 472.10.2 Classical IP over ATM. . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 502.10.3 ATM LAN
emulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 562.10.4 Classical IP over ATM versus LAN emulation.
. . . . . . . . . . . . . . . . 59
2.11 Multiprotocol over ATM (MPOA) . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 602.11.1 Benefits of MPOA . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
602.11.2 MPOA logical components . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 612.11.3 MPOA functional components. .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 622.11.4 MPOA
operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 63
2.12 RFCs relevant to this chapter . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 64
Chapter 3. Internetworking protocols . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 673.1 Internet Protocol (IP) . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 68
3.1.1 IP addressing . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . 683.1.2 IP subnets . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 723.1.3 IP routing. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 773.1.4
Methods of delivery: Unicast, broadcast, multicast, and anycast . .
. 843.1.5 The IP address exhaustion problem . . . . . . . . . . . .
. . . . . . . . . . . . . 863.1.6 Intranets: Private IP addresses .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 893.1.7
Network Address Translation (NAT) . . . . . . . . . . . . . . . . .
. . . . . . . . 893.1.8 Classless Inter-Domain Routing (CIDR) . . .
. . . . . . . . . . . . . . . . . . . 953.1.9 IP datagram. . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 98
3.2 Internet Control Message Protocol (ICMP) . . . . . . . . . .
. . . . . . . . . . . . . 1093.2.1 ICMP messages . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1103.2.2 ICMP applications . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 117
3.3 Internet Group Management Protocol (IGMP) . . . . . . . . .
. . . . . . . . . . . 1193.4 Address Resolution Protocol (ARP) . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 119
3.4.1 ARP overview . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 1193.4.2 ARP detailed concept .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1203.4.3 ARP and subnets . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 1233.4.4 Proxy-ARP or transparent
subnetting . . . . . . . . . . . . . . . . . . . . . . . 123
3.5 Reverse Address Resolution Protocol (RARP) . . . . . . . . .
. . . . . . . . . . . 1243.5.1 RARP concept. . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
3.6 Bootstrap Protocol (BOOTP). . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 125
iv TCP/IP Tutorial and Technical Overview
-
3.6.1 BOOTP forwarding . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 1293.6.2 BOOTP considerations . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
130
3.7 Dynamic Host Configuration Protocol (DHCP) . . . . . . . . .
. . . . . . . . . . . 1303.7.1 The DHCP message format . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 1323.7.2 DHCP
message types. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 1343.7.3 Allocating a new network address. . . . .
. . . . . . . . . . . . . . . . . . . . . 1343.7.4 DHCP lease
renewal process . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 1373.7.5 Reusing a previously allocated network address . . .
. . . . . . . . . . . 1383.7.6 Configuration parameters repository.
. . . . . . . . . . . . . . . . . . . . . . . 1393.7.7 DHCP
considerations . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 1393.7.8 BOOTP and DHCP interoperability . . . .
. . . . . . . . . . . . . . . . . . . . . 140
3.8 RFCs relevant to this chapter . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 140
Chapter 4. Transport layer protocols. . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 1434.1 Ports and sockets . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 144
4.1.1 Ports . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 1444.1.2 Sockets . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 145
4.2 User Datagram Protocol (UDP). . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 1464.2.1 UDP datagram format . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1474.2.2 UDP application programming interface . . . . . . . . . .
. . . . . . . . . . . 149
4.3 Transmission Control Protocol (TCP) . . . . . . . . . . . .
. . . . . . . . . . . . . . . 1494.3.1 TCP concept . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1504.3.2 TCP application programming interface . . . . . . . . . .
. . . . . . . . . . . 1644.3.3 TCP congestion control algorithms .
. . . . . . . . . . . . . . . . . . . . . . . . 165
4.4 RFCs relevant to this chapter . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 170
Chapter 5. Routing protocols . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 1715.1 Autonomous systems . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 1735.2 Types of IP routing and IP routing algorithms . . . . . .
. . . . . . . . . . . . . . . 174
5.2.1 Static routing . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . 1755.2.2 Distance vector
routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 1765.2.3 Link state routing. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 1775.2.4 Path vector
routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 1785.2.5 Hybrid routing . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 180
5.3 Routing Information Protocol (RIP) . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 1805.3.1 RIP packet types . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1805.3.2 RIP packet format . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 1815.3.3 RIP modes of operation
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1825.3.4 Calculating distance vectors . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 1825.3.5 Convergence and counting to
infinity . . . . . . . . . . . . . . . . . . . . . . . 1855.3.6 RIP
limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 189
5.4 Routing Information Protocol Version 2 (RIP-2) . . . . . . .
. . . . . . . . . . . . 1895.4.1 RIP-2 packet format . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Contents v
-
5.4.2 RIP-2 limitations . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 1925.5 RIPng for IPv6 . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 192
5.5.1 Differences between RIPng and RIP-2 . . . . . . . . . . .
. . . . . . . . . . . 1935.5.2 RIPng packet format . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
5.6 Open Shortest Path First (OSPF) . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 1965.6.1 OSPF terminology. . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1965.6.2 Neighbor communication . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 2055.6.3 OSPF neighbor state machine .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 2065.6.4 OSPF
route redistribution . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 2085.6.5 OSPF stub areas. . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 2105.6.6 OSPF
route summarization. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 211
5.7 Enhanced Interior Gateway Routing Protocol (EIGRP). . . . .
. . . . . . . . . 2125.7.1 Features of EIGRP . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 2125.7.2 EIGRP
packet types . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 214
5.8 Exterior Gateway Protocol (EGP) . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 2155.9 Border Gateway Protocol
(BGP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
215
5.9.1 BGP concepts and terminology. . . . . . . . . . . . . . .
. . . . . . . . . . . . . 2165.9.2 IBGP and EBGP communication . .
. . . . . . . . . . . . . . . . . . . . . . . . 2185.9.3 Protocol
description. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 2205.9.4 Path selection . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2235.9.5
BGP synchronization. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 2265.9.6 BGP aggregation. . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2285.9.7
BGP confederations . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 2305.9.8 BGP route reflectors . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
5.10 Routing protocol selection . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 2335.11 Additional functions
performed by the router. . . . . . . . . . . . . . . . . . . . .
2345.12 Routing processes in UNIX-based systems . . . . . . . . . .
. . . . . . . . . . . 2355.13 RFCs relevant to this chapter . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Chapter 6. IP multicast . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . 2376.1 Multicast addressing
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 238
6.1.1 Multicasting on a single physical network . . . . . . . .
. . . . . . . . . . . . 2386.1.2 Multicasting between network
segments . . . . . . . . . . . . . . . . . . . . 240
6.2 Internet Group Management Protocol (IGMP) . . . . . . . . .
. . . . . . . . . . . 2416.2.1 IGMP messages . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2416.2.2
IGMP operation . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 247
6.3 Multicast delivery tree . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 2506.4 Multicast
forwarding algorithms. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 252
6.4.1 Reverse path forwarding algorithm . . . . . . . . . . . .
. . . . . . . . . . . . . 2526.4.2 Center-based tree algorithm . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2536.4.3
Multicast routing protocols . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 254
6.5 Distance Vector Multicast Routing Protocol (DVMRP) . . . . .
. . . . . . . . . 2546.5.1 Protocol overview . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 254
vi TCP/IP Tutorial and Technical Overview
-
6.5.2 Building and maintaining multicast delivery trees . . . .
. . . . . . . . . . 2566.5.3 DVMRP tunnels. . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 258
6.6 Multicast OSPF (MOSPF) . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 2586.6.1 Protocol overview . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 2596.6.2 MOSPF and multiple OSPF areas . . . . . . . . . . . . .
. . . . . . . . . . . . 2606.6.3 MOSPF and multiple autonomous
systems . . . . . . . . . . . . . . . . . . 2606.6.4 MOSPF
interoperability . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 261
6.7 Protocol Independent Multicast (PIM) . . . . . . . . . . . .
. . . . . . . . . . . . . . . 2616.7.1 PIM dense mode . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2626.7.2 PIM sparse mode . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 263
6.8 Interconnecting multicast domains . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 2666.8.1 Multicast Source Discovery
Protocol (MSDP). . . . . . . . . . . . . . . . . 2666.8.2 Border
Gateway Multicast Protocol . . . . . . . . . . . . . . . . . . . .
. . . . . 269
6.9 The multicast backbone . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 2696.9.1 MBONE routing . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 2706.9.2 Multicast applications . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 271
6.10 RFCs relevant to this chapter . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 272
Chapter 7. Mobile IP . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . 2757.1 Mobile IP overview .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 276
7.1.1 Mobile IP operation . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 2777.1.2 Mobility agent
advertisement extensions . . . . . . . . . . . . . . . . . . . .
278
7.2 Mobile IP registration process . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 2807.2.1 Tunneling . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 2847.2.2 Broadcast datagrams . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . 2847.2.3 Move detection . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 2847.2.4 Returning home. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 2857.2.5 ARP
considerations. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 2857.2.6 Mobile IP security considerations . .
. . . . . . . . . . . . . . . . . . . . . . . . 286
7.3 RFCs relevant to this chapter . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 286
Chapter 8. Quality of service . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 2878.1 Why QoS? . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 2888.2 Integrated Services . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 289
8.2.1 Service classes . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 2928.2.2 Controlled Load
Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 2948.2.3 Guaranteed Service . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 2958.2.4 The Resource
Reservation Protocol (RSVP) . . . . . . . . . . . . . . . . .
2968.2.5 Integrated Services outlook. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 308
8.3 Differentiated Services . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . 3098.3.1 Differentiated
Services architecture . . . . . . . . . . . . . . . . . . . . . . .
. 3108.3.2 Organization of the DSCP. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 3138.3.3 Configuration and
administration of DS with LDAP. . . . . . . . . . . . . 322
Contents vii
-
8.4 RFCs relevant to this chapter . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 325
Chapter 9. IP version 6 . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . 3279.1 IPv6 introduction .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 328
9.1.1 IP growth . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 3289.1.2 IPv6 feature
overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 330
9.2 The IPv6 header format. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 3309.2.1 Extension headers .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 3339.2.2 IPv6 addressing . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . 3399.2.3 Traffic class . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 3459.2.4 Flow labels . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 3469.2.5 IPv6
security . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 3479.2.6 Packet sizes . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
350
9.3 Internet Control Message Protocol Version 6 (ICMPv6) . . . .
. . . . . . . . . 3529.3.1 Neighbor discovery . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 3539.3.2
Multicast Listener Discovery (MLD) . . . . . . . . . . . . . . . .
. . . . . . . . 365
9.4 DNS in IPv6. . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 3679.4.1 Format of IPv6
resource records. . . . . . . . . . . . . . . . . . . . . . . . . .
. 368
9.5 DHCP in IPv6 . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 3719.5.1 DHCPv6 messages.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 371
9.6 IPv6 mobility support . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 3729.7 IPv6 new
opportunities . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 376
9.7.1 New infrastructure . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 3769.7.2 New services. . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 3779.7.3 New research and development platforms . . . . . . .
. . . . . . . . . . . . 378
9.8 Internet transition: Migrating from IPv4 to IPv6 . . . . . .
. . . . . . . . . . . . . . 3799.8.1 Dual IP stack implementation:
The IPv6/IPv4 node . . . . . . . . . . . . 3809.8.2 Tunneling . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 3819.8.3 Interoperability summary. . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 388
9.9 RFCs relevant to this chapter . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 389
Chapter 10. Wireless IP. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 39110.1 Wireless concepts . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 39210.2 Why wireless? . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 395
10.2.1 Deployment and cost effectiveness . . . . . . . . . . . .
. . . . . . . . . . . 39510.2.2 Reachability. . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39610.2.3 Scalability . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . 39610.2.4 Security . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 39710.2.5 Connectivity and reliability. . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 397
10.3 WiFi . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 39710.4 WiMax . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 40010.5 Applications of wireless
networking. . . . . . . . . . . . . . . . . . . . . . . . . . . .
402
10.5.1 Last mile connectivity in broadband services . . . . . .
. . . . . . . . . . 402
viii TCP/IP Tutorial and Technical Overview
-
10.5.2 Hotspots . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . 40210.5.3 Mesh networking .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 402
10.6 IEEE standards relevant to this chapter . . . . . . . . . .
. . . . . . . . . . . . . . 403
Part 2. TCP/IP application protocols . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
Chapter 11. Application structure and programming interfaces . .
. . . . 40711.1 Characteristics of applications. . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 408
11.1.1 The client/server model. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 40811.2 Application programming
interfaces (APIs) . . . . . . . . . . . . . . . . . . . . . .
410
11.2.1 The socket API . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 41011.2.2 Remote Procedure Call
(RPC) . . . . . . . . . . . . . . . . . . . . . . . . . . .
41511.2.3 The SNMP distributed programming interface (SNMP DPI) . .
. . . 41911.2.4 REXX sockets . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 422
11.3 RFCs relevant to this chapter . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 423
Chapter 12. Directory and naming protocols . . . . . . . . . . .
. . . . . . . . . . . 42512.1 Domain Name System (DNS) . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 426
12.1.1 The hierarchical namespace . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 42612.1.2 Fully qualified domain names
(FQDNs) . . . . . . . . . . . . . . . . . . . . 42812.1.3 Generic
domains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 42812.1.4 Country domains . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 42912.1.5 Mapping
domain names to IP addresses . . . . . . . . . . . . . . . . . . .
42912.1.6 Mapping IP addresses to domain names: Pointer queries . .
. . . . 43012.1.7 The distributed name space . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 43012.1.8 Domain name
resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 43212.1.9 Domain Name System resource records . . . . . . .
. . . . . . . . . . . . 43612.1.10 Domain Name System messages. . .
. . . . . . . . . . . . . . . . . . . . . 43912.1.11 A simple
scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 44512.1.12 Extended scenario . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 44912.1.13 Transport.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 45012.1.14 DNS applications. . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 451
12.2 Dynamic Domain Name System . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 45312.2.1 Dynamic updates in the DDNS .
. . . . . . . . . . . . . . . . . . . . . . . . . . 45412.2.2
Incremental zone transfers in DDNS. . . . . . . . . . . . . . . . .
. . . . . . 45612.2.3 Prompt notification of zone transfer . . . .
. . . . . . . . . . . . . . . . . . . 457
12.3 Network Information System (NIS) . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 45812.4 Lightweight Directory Access
Protocol (LDAP) . . . . . . . . . . . . . . . . . . . 459
12.4.1 LDAP: Lightweight access to X.500 . . . . . . . . . . . .
. . . . . . . . . . . 46012.4.2 The LDAP directory server . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 46112.4.3
Overview of LDAP architecture . . . . . . . . . . . . . . . . . . .
. . . . . . . . 46312.4.4 LDAP models . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 46412.4.5 LDAP
security . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 47112.4.6 LDAP URLs. . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
Contents ix
-
12.4.7 LDAP and DCE . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 47512.4.8 The Directory-Enabled
Networks (DEN) initiative . . . . . . . . . . . . . 47712.4.9
Web-Based Enterprise Management (WBEM) . . . . . . . . . . . . . .
. 478
12.5 RFCs relevant to this chapter . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 478
Chapter 13. Remote execution and distributed computing. . . . .
. . . . . . 48313.1 Telnet . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
13.1.1 Telnet operation . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 48413.1.2 Network Virtual
Terminal . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 48513.1.3 Telnet options . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 48713.1.4 Telnet
command structure . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 48913.1.5 Option negotiation . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 49113.1.6 Telnet
basic commands . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 49213.1.7 Terminal emulation (Telnet 3270) . . . . . .
. . . . . . . . . . . . . . . . . . . 49213.1.8 TN3270 enhancements
(TN3270E) . . . . . . . . . . . . . . . . . . . . . . . 49313.1.9
Device-type negotiation. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 494
13.2 Remote Execution Command protocol (REXEC and RSH) . . . . .
. . . . 49513.3 Introduction to the Distributed Computing
Environment (DCE). . . . . . . 496
13.3.1 DCE directory service . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 49813.3.2 Authentication service .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50213.3.3 DCE threads . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 50513.3.4 Distributed Time
Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 50713.3.5 Additional information . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 509
13.4 Distributed File Service (DFS). . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 50913.4.1 File naming . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 51013.4.2 DFS performance . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 511
13.5 RFCs relevant to this chapter . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 512
Chapter 14. File-related protocols . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 51314.1 File Transfer Protocol
(FTP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 514
14.1.1 An overview of FTP. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 51414.1.2 FTP operations . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51514.1.3 The active data transfer . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 52014.1.4 The passive data transfer
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
52114.1.5 Using proxy transfer . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 52214.1.6 Reply codes . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 52314.1.7 Anonymous FTP . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 52514.1.8 Using FTP with IPv6 . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
52514.1.9 Securing FTP sessions . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 527
14.2 Trivial File Transfer Protocol (TFTP) . . . . . . . . . . .
. . . . . . . . . . . . . . . . 52914.2.1 TFTP usage . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53014.2.2 Protocol description. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 53114.2.3 TFTP packets . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 531
x TCP/IP Tutorial and Technical Overview
-
14.2.4 Data modes. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 53214.2.5 TFTP multicast option
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53214.2.6 Security issues . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 533
14.3 Secure Copy Protocol (SCP) and SSH FTP (SFTP). . . . . . .
. . . . . . . . 53314.3.1 SCP syntax and usage . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 53314.3.2 SFTP syntax
and usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 53514.3.3 SFTP interactive commands . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 536
14.4 Network File System (NFS). . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 53814.4.1 NFS concept . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 53814.4.2 File integrity . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 54214.4.3 Lock Manager
protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 54314.4.4 NFS file system . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 54314.4.5 NFS version 4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 54314.4.6 Cache File System . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 54514.4.7 WebNFS . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 545
14.5 The Andrew File System (AFS). . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 54614.6 Common Internet File System
(CIFS) . . . . . . . . . . . . . . . . . . . . . . . . . . 548
14.6.1 NetBIOS over TCP/IP . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 54814.6.2 SMB/CIFS specifics . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
550
14.7 RFCs relevant to this chapter . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 552
Chapter 15. Mail applications . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 55515.1 Simple Mail Transfer
Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 556
15.1.1 How SMTP works . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 55915.1.2 SMTP and the Domain Name
System . . . . . . . . . . . . . . . . . . . . . 565
15.2 Sendmail . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 56815.2.1 Sendmail as
a mail transfer agent (MTA) . . . . . . . . . . . . . . . . . . .
56815.2.2 How sendmail works . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 569
15.3 Multipurpose Internet Mail Extensions (MIME) . . . . . . .
. . . . . . . . . . . . 57115.3.1 How MIME works . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 57415.3.2
The Content-Transfer-Encoding field . . . . . . . . . . . . . . . .
. . . . . . 58215.3.3 Using non-ASCII characters in message headers
. . . . . . . . . . . . 587
15.4 Post Office Protocol (POP) . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 58915.4.1 Connection states . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 58915.4.2 POP3 commands and responses . . . . . . . . . . . . . .
. . . . . . . . . . . 590
15.5 Internet Message Access Protocol (IMAP4) . . . . . . . . .
. . . . . . . . . . . . 59115.5.1 Fundamental IMAP4 electronic mail
models. . . . . . . . . . . . . . . . . 59115.5.2 IMAP4 states. . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 59215.5.3 IMAP4 commands and response interaction . . . . .
. . . . . . . . . . . 59415.5.4 IMAP4 messages . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 597
15.6 RFCs relevant to this chapter . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 599
Chapter 16. The Web . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . 601
Contents xi
-
16.1 Web browsers . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 60316.2 Web servers . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 60416.3 Hypertext Transfer Protocol (HTTP) . . . .
. . . . . . . . . . . . . . . . . . . . . . . 605
16.3.1 Overview of HTTP. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 60516.3.2 HTTP operation. . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
606
16.4 Content . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 61516.4.1 Static
content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 61516.4.2 Client-side dynamic content . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 61616.4.3
Server-side dynamic content. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 61716.4.4 Developing content with IBM Web
application servers . . . . . . . . . 621
16.5 RFCs relevant to this chapter . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 621
Chapter 17. Network management. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 62317.1 The Simple Network Management
Protocol (SNMP) . . . . . . . . . . . . . . 624
17.1.1 The Management Information Base (MIB) . . . . . . . . . .
. . . . . . . . 62517.1.2 The SNMP agent. . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 63017.1.3 The SNMP
manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 63117.1.4 The SNMP subagent. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . 63217.1.5 The SNMP model .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 63317.1.6 SNMP traps. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . 63817.1.7 SNMP versions . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 63917.1.8 Single authentication and privacy protocol . . . .
. . . . . . . . . . . . . . 647
17.2 The NETSTAT utility . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 64817.2.1 Common NETSTAT
options . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
64917.2.2 Sample NETSTAT report output . . . . . . . . . . . . . .
. . . . . . . . . . . . 649
17.3 RFCs relevant to this chapter . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 651
Chapter 18. Wireless Application Protocol . . . . . . . . . . .
. . . . . . . . . . . . . 65518.1 The WAP environment . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65718.2
Key elements of the WAP specifications. . . . . . . . . . . . . . .
. . . . . . . . . 65718.3 WAP architecture . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65818.4
Client identifiers. . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 66318.5 Multimedia messaging
system (MMS) . . . . . . . . . . . . . . . . . . . . . . . . .
66318.6 WAP push architecture . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 664
18.6.1 Push framework . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 66418.6.2 Push proxy gateway
(PPG). . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
66518.6.3 Push access control protocol (PAP) . . . . . . . . . . .
. . . . . . . . . . . . 66718.6.4 Service indication . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
66818.6.5 Push over-the-air protocol (OTA) . . . . . . . . . . . .
. . . . . . . . . . . . . 66818.6.6 Client-side infrastructure . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
66818.6.7 Security . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 669
18.7 The Wireless Application Environment (WAE2) . . . . . . . .
. . . . . . . . . . 67018.8 User Agent Profile (UAProf) . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 671
xii TCP/IP Tutorial and Technical Overview
-
18.9 Wireless protocols . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 67218.9.1 Wireless
Datagram Protocol (WDP) . . . . . . . . . . . . . . . . . . . . . .
. 67218.9.2 Wireless Profiled Transmission Control Protocol
(WP-TCP) . . . . 67418.9.3 Wireless Control Message Protocol (WCMP)
. . . . . . . . . . . . . . . . 67818.9.4 Wireless Transaction
Protocol (WTP) . . . . . . . . . . . . . . . . . . . . . .
67918.9.5 Wireless Session Protocol (WSP). . . . . . . . . . . . .
. . . . . . . . . . . . 68218.9.6 Wireless profiled HTTP (W-HTTP) .
. . . . . . . . . . . . . . . . . . . . . . . 695
18.10 Wireless security . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 69618.10.1 Wireless
Transport Layer Security (WTLS). . . . . . . . . . . . . . . . .
69618.10.2 Wireless Identity Module (WIM) . . . . . . . . . . . . .
. . . . . . . . . . . . 701
18.11 Wireless Telephony Application (WTA). . . . . . . . . . .
. . . . . . . . . . . . . 70218.12 RFCs relevant to this chapter .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
70218.13 Specifications relevant to this chapter. . . . . . . . . .
. . . . . . . . . . . . . . . 703
Chapter 19. Presence over IP . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 70719.1 Overview of the presence
service . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
71019.2 Presence Information Data Format (PIDF) . . . . . . . . . .
. . . . . . . . . . . . 71419.3 Presence protocols . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
716
19.3.1 Binding to TCP . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 71819.3.2 Address resolution .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 718
19.4 RFCs relevant to this chapter . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 718
Part 3. Advanced concepts and new technologies . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 721
Chapter 20. Voice over Internet Protocol . . . . . . . . . . . .
. . . . . . . . . . . . . 72320.1 Voice over IP (VoIP) introduction
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724
20.1.1 Benefits and applications . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 72420.1.2 VoIP functional components
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 726
20.2 Session Initiation Protocol (SIP) technologies. . . . . . .
. . . . . . . . . . . . . 73020.2.1 SIP request and response. . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 73220.2.2
Sample SIP message flow . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 73320.2.3 SIP protocol architecture. . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 734
20.3 Media Gateway Control Protocol (MGCP) . . . . . . . . . . .
. . . . . . . . . . . 73620.3.1 MGCP architecture . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 73720.3.2
MGCP primitives . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 737
20.4 Media Gateway Controller (Megaco). . . . . . . . . . . . .
. . . . . . . . . . . . . . 73820.4.1 Megaco architecture . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 738
20.5 ITU-T recommendation H.323. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 73920.5.1 H.323 architecture. . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
73920.5.2 H.323 protocol stack . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 741
20.6 Summary of VoIP protocols. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 74220.7 RFCs relevant to this
chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 743
Chapter 21. Internet Protocol Television. . . . . . . . . . . .
. . . . . . . . . . . . . . 745
Contents xiii
-
21.1 IPTV overview . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 74621.1.1 IPTV
requirements . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 74721.1.2 Business benefits and applications . .
. . . . . . . . . . . . . . . . . . . . . . 749
21.2 Functional components . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 75021.2.1 Content acquisition .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 75021.2.2 CODEC (encode and decode) . . . . . . . . . . . . . . .
. . . . . . . . . . . . 75021.2.3 Display devices and control
gateway . . . . . . . . . . . . . . . . . . . . . . 75121.2.4 IP
(TV) transport . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 752
21.3 IPTV technologies . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . 75221.3.1 Summary of
protocol standards . . . . . . . . . . . . . . . . . . . . . . . .
. . 75321.3.2 Stream Control Transmission Protocol . . . . . . . .
. . . . . . . . . . . . . 75321.3.3 Session Description Protocol .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 75421.3.4
Real-Time Transport Protocol (RTP) . . . . . . . . . . . . . . . .
. . . . . . 75621.3.5 Real-Time Control Protocol . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 76221.3.6 Moving Picture
Experts Group (MPEG) standards . . . . . . . . . . . . 76721.3.7
H.261. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 769
21.4 RFCs relevant to this chapter . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 770
Chapter 22. TCP/IP security . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 77122.1 Security exposures and
solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
772
22.1.1 Common attacks against security . . . . . . . . . . . . .
. . . . . . . . . . . . 77222.1.2 Solutions to network security
problems. . . . . . . . . . . . . . . . . . . . . 77222.1.3
Implementations of security solutions . . . . . . . . . . . . . . .
. . . . . . . 77422.1.4 Network security policy . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 776
22.2 A short introduction to cryptography . . . . . . . . . . .
. . . . . . . . . . . . . . . . 77722.2.1 Terminology . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
77722.2.2 Symmetric or secret-key algorithms . . . . . . . . . . .
. . . . . . . . . . . . 77922.2.3 Asymmetric or public key
algorithms. . . . . . . . . . . . . . . . . . . . . . . 78022.2.4
Hash functions . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 78522.2.5 Digital certificates and
certification authorities . . . . . . . . . . . . . . . 79122.2.6
Random-number generators . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 79222.2.7 Export/import restrictions on
cryptography . . . . . . . . . . . . . . . . . . 793
22.3 Firewalls . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 79422.3.1 Firewall
concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 79522.3.2 Components of a firewall system . . . . .
. . . . . . . . . . . . . . . . . . . . 79622.3.3 Types of
firewalls . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 805
22.4 IP Security Architecture (IPSec) . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 80922.4.1 Concepts . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 81022.4.2 Authentication Header (AH) . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 81322.4.3 Encapsulating Security
Payload (ESP) . . . . . . . . . . . . . . . . . . . . . 81722.4.4
Combining IPSec protocols. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 82322.4.5 Internet Key Exchange (IKE) protocol .
. . . . . . . . . . . . . . . . . . . . . 829
22.5 SOCKS . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 846
xiv TCP/IP Tutorial and Technical Overview
-
22.5.1 SOCKS Version 5 (SOCKSv5) . . . . . . . . . . . . . . . .
. . . . . . . . . . . 84822.6 Secure Shell (1 and 2). . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 853
22.6.1 SSH overview . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 85322.7 Secure Sockets Layer
(SSL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 854
22.7.1 SSL overview . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 85422.7.2 SSL protocol . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 856
22.8 Transport Layer Security (TLS) . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 86122.9 Secure Multipurpose
Internet Mail Extension (S-MIME) . . . . . . . . . . . . 86122.10
Virtual private networks (VPNs) overview . . . . . . . . . . . . .
. . . . . . . . . 861
22.10.1 VPN introduction and benefits. . . . . . . . . . . . . .
. . . . . . . . . . . . . 86222.11 Kerberos authentication and
authorization system . . . . . . . . . . . . . . . 864
22.11.1 Assumptions . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 86522.11.2 Naming . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 86522.11.3 Kerberos authentication process. . . . . . . . . .
. . . . . . . . . . . . . . . 86622.11.4 Kerberos database
management . . . . . . . . . . . . . . . . . . . . . . . .
87022.11.5 Kerberos Authorization Model . . . . . . . . . . . . . .
. . . . . . . . . . . . . 87122.11.6 Kerberos Version 5
enhancements. . . . . . . . . . . . . . . . . . . . . . . 871
22.12 Remote access authentication protocols. . . . . . . . . .
. . . . . . . . . . . . . 87222.13 Extensible Authentication
Protocol (EAP) . . . . . . . . . . . . . . . . . . . . . . 87422.14
Layer 2 Tunneling Protocol (L2TP) . . . . . . . . . . . . . . . . .
. . . . . . . . . . 875
22.14.1 Terminology . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 87622.14.2 Protocol overview .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 87722.14.3 L2TP security issues . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 879
22.15 Secure Electronic Transaction (SET) . . . . . . . . . . .
. . . . . . . . . . . . . . 88022.15.1 SET roles . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
88022.15.2 SET transactions. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 88122.15.3 The SET certificate
scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . .
883
22.16 RFCs relevant to this chapter . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 885
Chapter 23. Port based network access control . . . . . . . . .
. . . . . . . . . . 88923.1 Port based network access control (NAC)
overview . . . . . . . . . . . . . . . 89023.2 Port based NAC
component overview . . . . . . . . . . . . . . . . . . . . . . . .
. 89123.3 Port based network access control operation . . . . . . .
. . . . . . . . . . . . . 892
23.3.1 Port based network access control functional
considerations. . . . 90423.4 RFCs relevant to this chapter . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 906
Chapter 24. Availability, scalability, and load balancing . . .
. . . . . . . . . . 90724.1 Availability . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
90924.2 Scalability . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 90924.3 Load
balancing . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 91024.4 Clustering . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 91024.5 Virtualization . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 91224.6 Virtual
Router Redundancy Protocol (VRRP) . . . . . . . . . . . . . . . . .
. . . 914
Contents xv
-
24.6.1 Introduction . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . 91424.6.2 VRRP definitions
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 91624.6.3 VRRP overview . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 91624.6.4 Sample
configuration . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 91824.6.5 VRRP packet format . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 919
24.7 Round-robin DNS . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 92124.8 Alternative solutions
to load balancing . . . . . . . . . . . . . . . . . . . . . . . . .
921
24.8.1 Network Address Translation . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 92224.8.2 Encapsulation . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
923
24.9 RFCs relevant to this chapter . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 924
Appendix A. Multiprotocol Label Switching . . . . . . . . . . .
. . . . . . . . . . . . 925A.1 MPLS: An introduction . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
926
A.1.1 Conventional routing versus MPLS forwarding mode. . . . .
. . . . . . 926A.1.2 Benefits. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 927A.1.3
Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 929
A.2 MPLS network processing . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 932A.2.1 Label swapping. . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 932A.2.2 Label switched path (LSP) . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 934A.2.3 Label stack and label
hierarchies . . . . . . . . . . . . . . . . . . . . . . . . . .
934A.2.4 MPLS stacks in a BGP environment. . . . . . . . . . . . .
. . . . . . . . . . . 936A.2.5 Label distribution protocols . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 938A.2.6
Stream merge . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 939
A.3 Emulating Ethernet over MPLS networks . . . . . . . . . . .
. . . . . . . . . . . . . 939A.4 Generalized Multiprotocol Label
Switching (GMPLS) . . . . . . . . . . . . . . . 941
A.4.1 Benefits. . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 941A.4.2 MPLS and GMPLS
comparison in OTN environment. . . . . . . . . . . 942A.4.3 How
does GMPLS work? . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 943A.4.4 Link Management Protocol (LMP) . . . . . . .
. . . . . . . . . . . . . . . . . . 944A.4.5 Signaling for route
selection and path setup. . . . . . . . . . . . . . . . . .
947A.4.6 GMPLS considerations . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 949A.4.7 GMPLS examples. . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
950
A.5 RFCs relevant to this chapter . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 952
Abbreviations and acronyms . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 953
Related publications . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . 959IBM Redbooks . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 959Other publications . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
959Online resources . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 959How to get IBM
Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 961Help from IBM . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
961
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 963
xvi TCP/IP Tutorial and Technical Overview
-
Notices
This information was developed for products and services offered
in the U.S.A.
IBM may not offer the products, services, or features discussed
in this document in other countries. Consult your local IBM
representative for information on the products and services
currently available in your area. Any reference to an IBM product,
program, or service is not intended to state or imply that only
that IBM product, program, or service may be used. Any functionally
equivalent product, program, or service that does not infringe any
IBM intellectual property right may be used instead. However, it is
the user's responsibility to evaluate and verify the operation of
any non-IBM product, program, or service.
IBM may have patents or pending patent applications covering
subject matter described in this document. The furnishing of this
document does not give you any license to these patents. You can
send license inquiries, in writing, to: IBM Director of Licensing,
IBM Corporation, North Castle Drive, Armonk, NY 10504-1785
U.S.A.
The following paragraph does not apply to the United Kingdom or
any other country where such provisions are inconsistent with local
law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS
PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR
IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
PURPOSE. Some states do not allow disclaimer of express or implied
warranties in certain transactions, therefore, this statement may
not apply to you.
This information could include technical inaccuracies or
typographical errors. Changes are periodically made to the
information herein; these changes will be incorporated in new
editions of the publication. IBM may make improvements and/or
changes in the product(s) and/or the program(s) described in this
publication at any time without notice.
Any references in this information to non-IBM Web sites are
provided for convenience only and do not in any manner serve as an
endorsement of those Web sites. The materials at those Web sites
are not part of the materials for this IBM product and use of those
Web sites is at your own risk.
IBM may use or distribute any of the information you supply in
any way it believes appropriate without incurring any obligation to
you.
Information concerning non-IBM products was obtained from the
suppliers of those products, their published announcements or other
publicly available sources. IBM has not tested those products and
cannot confirm the accuracy of performance, compatibility or any
other claims related to non-IBM products. Questions on the
capabilities of non-IBM products should be addressed to the
suppliers of those products.
This information contains examples of data and reports used in
daily business operations. To illustrate them as completely as
possible, the examples include the names of individuals, companies,
brands, and products. All of these names are fictitious and any
similarity to the names and addresses used by an actual business
enterprise is entirely coincidental.
COPYRIGHT LICENSE:
This information contains sample application programs in source
language, which illustrate programming techniques on various
operating platforms. You may copy, modify, and distribute these
sample programs in any form without payment to IBM, for the
purposes of developing, using, marketing or distributing
application programs conforming to the application programming
interface for the operating platform for which the sample programs
are written. These examples have not been thoroughly tested under
all conditions. IBM, therefore, cannot guarantee or imply
reliability, serviceability, or function of these programs.
Copyright IBM Corp. 1989-2006. All rights reserved. xvii
-
TrademarksThe following terms are trademarks of the
International Business Machines Corporation in the United States,
other countries, or both:
1350Advanced Peer-to-Peer NetworkingAIX
5LAIXAS/400CICSdeveloperWorksESCONHiperSockets
IBM Global Networkibm.comIBMIPDSLotus
NotesLotusMVSNotesOperating System/2OS/2
OS/390OS/400RACFRedbooks (logo) RedbooksRISC
System/6000System/390VTAMWebSpherez/OS
The following terms are trademarks of other companies:
SAP, and SAP logos are trademarks or registered trademarks of
SAP AG in Germany and in several other countries.
CacheFS, Enterprise JavaBeans, EJB, IPX, Java, Java Naming and
Directory Interface, JavaBeans, JavaScript, JavaServer, JavaServer
Pages, JavaSoft, JDBC, JDK, JSP, JVM, J2EE, ONC, Solaris, Sun, Sun
Microsystems, WebNFS, and all Java-based trademarks are trademarks
of Sun Microsystems, Inc. in the United States, other countries, or
both.
Internet Explorer, Microsoft, MSN, Windows NT, Windows, and the
Windows logo are trademarks of Microsoft Corporation in the United
States, other countries, or both.
Intel, Intel logo, Intel Inside logo, and Intel Centrino logo
are trademarks or registered trademarks of Intel Corporation or its
subsidiaries in the United States, other countries, or both.
UNIX is a registered trademark of The Open Group in the United
States and other countries.
Linux is a trademark of Linus Torvalds in the United States,
other countries, or both.
Other company, product, or service names may be trademarks or
service marks of others.
xviii TCP/IP Tutorial and Technical Overview
-
Preface
The TCP/IP protocol suite has become a staple of today's
international society and global economy. Continually evolving
standards provide a wide and flexible foundation on which an entire
infrastructure of applications are built. Through these we can seek
entertainment, conduct business, make financial transactions,
deliver services, and much, much more.
However, because TCP/IP continues to develop and grow in order
to meet the changing needs of our communities, it might sometimes
be hard to keep track of new functionality or identify new
possibilities. For this reason, the TCP/IP Tutorial and Technical
Overview provides not only an introduction to the TCP/IP protocol
suite, but also serves as a reference for advanced users seeking to
keep their TCP/IP skills aligned with current standards. It is our
hope that both the novice and the expert will find useful
information in this publication.
In Part I, you will find an introduction to the core concepts
and history upon which TCP/IP is founded. Included is an
introduction to the history of TCP/IP and an overview of its
current architecture. We also provide detailed discussions about
the protocols that comprise the suite, and how those protocols are
most commonly implemented.
Part II expands on the information provided in Part I, providing
general application concepts (such as file sharing) and specific
application protocols within those concepts (such as the File
Transfer Protocol, or FTP). Additionally, Part II discusses
applications that might not be included in the standard TCP/IP
suite but, because of their wide use throughout the Internet
community, are considered de facto standards.
Finally, Part III addresses new concepts and advanced
implementations within the TCP/IP architecture. Of particular note,
Part III examines the convergence of many formerly disparate
networks and services using IP technology. Conjointly, this section
reviews potential dangers of this IP convergence and approaches the
ever-growing standards used to secure and control access to
networks and networked resources.
We purposely kept this book platform independent. However, we
recognize that you might have a need to learn more about TCP/IP on
various platforms, so the following Web sites might assist you in
further researching this topic:
TCP/IP and System z:
http://www.ibm.com/servers/eserver/zseries/zos/bkserv/
Copyright IBM Corp. 1989-2006. All rights reserved. xix
http://www.ibm.com/servers/eserver/zseries/zos/bkserv/
-
TCP/IP and System p:
http://www.ibm.com/systems/p/library/index.html
TCP/IP and System i:
http://www.ibm.com/servers/eserver/iseries/tcpip/index.html
TCP/IP and System x:
http://www.ibm.com/servers/eserver/support/xseries/allproducts/installing.html
The team that wrote this redbookThis redbook was produced by a
team of specialists from around the world working at the
International Technical Support Organization, Poughkeepsie
Center.
Lydia Parziale is a Project Leader for the ITSO team in
Poughkeepsie, New York with domestic and international experience
in technology management including software development, project
leadership, and strategic planning. Her areas of expertise include
e-business development and database management technologies. Lydia
is a Certified IT Specialist with an MBA in Technology
Management and has been employed by IBM for 23 years in various
technology areas.
David T. Britt is a Software Engineer for IBM in Research
Triangle Park, NC, working specifically with the z/OS
Communications Server product. He is a subject matter expert in the
Simple Networking Management Protocol (SNMP) and File Transfer
Protocol (FTP), and has written educational material for both in
the form of IBM Technotes, Techdocs, and Webcasts. He holds a
degree in Mathematical Sciences from the University of North
Carolina in Chapel Hill, and is currently pursuing a master of
science in Information Technology and Management
from the University of North Carolina in Greensboro.
xx TCP/IP Tutorial and Technical Overview
http://www.ibm.com/systems/p/library/index.htmlhttp://www.ibm.com/servers/eserver/iseries/tcpip/index.htmlhttp://www.ibm.com/servers/eserver/support/xseries/allproducts/installing.html
-
Chuck Davis is a Security Architect in the U.S. He has 12 years
of experience in IT security field. He has worked at IBM for nine
years. His areas of expertise include IT security and privacy. He
has written extensively about UNIX/Linux and Internet security.
Jason Forrester is an IT Architect for IBM Global Technology
Services in Boulder, CO. He has more than 12 years of experience
with network communications. Specializing in IT strategy and
architecture, Jason has designed large-scale enterprise
infrastructures. He holds a CCIE certification and his work has
lead to multiple patents on advanced networking concepts.
Dr. Wei Liu received his Ph.D. from Georgia Institute of
Technology. He has taught TCP/IP networks in the University of
Maryland (UMBC campus) and he has participated in ICCCN conference
organization committees. Dr. Liu has given lectures at Sun Yat-Sen
University and Shantou University in Next Generation Networks
(NGNs). With more than 30 technical publications (in packet
networks, telecommunications, and standards), he has received
several awards from ATIS
committees. Dr. Wei Liu has more than 10 years of telecom
industry experience, having participated in various network
transformation projects and service integration programs.
Currently, he is investigating new infrastructure opportunities
(virtualization, network, services, security, and metadata models)
that can lead to future offering and new capabilities.
Preface xxi
-
Thanks to the following people for their contributions to this
project and laying the foundation for this book by writing the
earlier version:
Adolfo Rodriguez, John Gatrell, John Karas, Roland Peschke,
Srinath Karanam, and Martn F. MaldonadoInternational Technical
Support Organization, Poughkeepsie Center
Become a published authorJoin us for a two- to six-week
residency program! Help write an IBM Redbook dealing with specific
products or solutions, while getting hands-on experience with
leading-edge technologies. You'll have the opportunity to team with
IBM technical professionals, Business Partners, and Clients.
Your efforts will help increase product acceptance and client
satisfaction. As a bonus, you'll develop a network of contacts in
IBM development labs, and increase your productivity and
marketability.
Find out more about the residency program, browse the residency
index, and apply online at:
ibm.com/redbooks/residencies.html
Carolyn Matthews is an IT Architect for IBM Global Technology
Services in South Africa. She is an infrastructure architect for
one of South Africas largest accounts. She also acts as a
consultant, using various IBM techniques. Carolyn holds an honors
degree in Information Systems and is currently pursuing her masters
degree in Information Systems. Her areas of expertise include
TCP/IP networks, IT architecture, and new technologies.
Nicolas Rosselot is a Developer from Santiago, Chile. He has
most recently been teaching an Advanced TCP/IP Networking class at
Andres Bello University.
xxii TCP/IP Tutorial and Technical Overview
http://www.redbooks.ibm.com/residencies.htmlhttp://www.redbooks.ibm.com/residencies.html
-
Comments welcomeYour comments are important to us!
We want our Redbooks to be as helpful as possible. Send us your
comments about this or other Redbooks in one of the following
ways:
Use the online Contact us review redbook form found at:
ibm.com/redbooks
Send your comments in an e-mail to:
[email protected]
Mail your comments to:
IBM Corporation, International Technical Support
OrganizationDept. HYTD Mail Station P0992455 South
RoadPoughkeepsie, NY 12601-5400
Preface xxiii
http://www.redbooks.ibm.com/http://www.redbooks.ibm.com/http://www.redbooks.ibm.com/contacts.html
-
xxiv TCP/IP Tutorial and Technical Overview
-
Part 1 Core TCP/IP protocols
The Transmission Control Protocol/Internet Protocol (TCP/IP)
suite has become the industry-standard method of interconnecting
hosts, networks, and the Internet. As such, it is seen as the
engine behind the Internet and networks worldwide.
Although TCP/IP supports a host of applications, both standard
and nonstandard, these applications could not exist without the
foundation of a set of core protocols. Additionally, in order to
understand the capability of TCP/IP applications, an understanding
of these core protocols must be realized.
With this in mind, Part I begins with providing a background of
TCP/IP, the current architecture, standards, and most recent
trends. Next, the section explores the two aspects vital to the IP
stack itself. This portion begins with a discussion of the network
interfaces most commonly used to allow the protocol suite to
interface with the physical network media. This is followed by the
protocols that must be implemented in any stack, including
protocols belonging to the IP and transport layers.
Part 1
Copyright IBM Corp. 1989-2006. All rights reserved. 1
-
Finally, other standard protocols exist that might not
necessarily be required in every implementation of the TCP/IP
protocol suite. However, there are those that can be very useful
given certain operational needs of the implementation. Such
protocols include IP version 6, quality of service protocols, and
wireless IP.
2 TCP/IP Tutorial and Technical Overview
-
Chapter 1. Architecture, history, standards, and trends
Today, the Internet and World Wide Web (WWW) are familiar terms
to millions of people all over the world. Many people depend on
applications enabled by the Internet, such as electronic mail and
Web access. In addition, the increase in popularity of business
applications places additional emphasis on the Internet. The
Transmission Control Protocol/Internet Protocol (TCP/IP) protocol
suite is the engine for the Internet and networks worldwide. Its
simplicity and power has led to its becoming the single network
protocol of choice in the world today. In this chapter, we give an
overview of the TCP/IP protocol suite. We discuss how the Internet
was formed, how it developed, and how it is likely to develop in
the future.
1
Copyright IBM Corp. 1989-2006. All rights reserved. 3
-
1.1 TCP/IP architectural model
The TCP/IP protocol suite is so named for two of its most
important protocols: Transmission Control Protocol (TCP) and
Internet Protocol (IP). A less used name for it is the Internet
Protocol Suite, which is the phrase used in official Internet
standards documents. In this book, we use the more common, shorter
term, TCP/IP, to refer to the entire protocol suite.
1.1.1 Internetworking
The main design goal of TCP/IP was to build an interconnection
of networks, referred to as an internetwork, or internet, that
provided universal communication services over heterogeneous
physical networks. The clear benefit of such an internetwork is the
enabling of communication between hosts on different networks,
perhaps separated by a large geographical area.
The words internetwork and internet are simply a contraction of
the phrase interconnected network. However, when written with a
capital I, the Internet refers to the worldwide set of
interconnected networks. Therefore, the Internet is an internet,
but the reverse does not apply. The Internet is sometimes called
the connected Internet.
The Internet consists of the following groups of networks:
Backbones: Large networks that exist primarily to interconnect
other networks. Also known as network access points (NAPs) or
Internet Exchange Points (IXPs). Currently, the backbones consist
of commercial entities.
Regional networks connecting, for example, universities and
colleges.
Commercial networks providing access to the backbones to
subscribers, and networks owned by commercial organizations for
internal use that also have connections to the Internet.
Local networks, such as campus-wide university networks.
In most cases, networks are limited in size by the number of
users that can belong to the network, by the maximum geographical
distance that the network can span, or by the applicability of the
network to certain environments. For example, an Ethernet network
is inherently limited in terms of geographical size. Therefore, the
ability to interconnect a large number of networks in some
hierarchical and organized fashion enables the communication of any
two hosts belonging to this internetwork.
4 TCP/IP Tutorial and Technical Overview
-
Figure 1-1 shows two examples of internets. Each consists of two
or more physical networks.
Figure 1-1 Internet examples: Two interconnected sets of
networks, each seen as one logical network
Another important aspect of TCP/IP internetworking is the
creation of a standardized abstraction of the communication
mechanisms provided by each type of network. Each physical network
has its own technology-dependent communication interface, in the
form of a programming interface that provides basic communication
functions (primitives). TCP/IP provides communication services that
run between the programming interface of a physical network and
user applications. It enables a common interface for these
applications, independent of the underlying physical network. The
architecture of the physical network is therefore hidden from the
user and from the developer of the application. The application
need only code to the standardized communication abstraction to be
able to function under any type of physical network and operating
platform.
As is evident in Figure 1-1, to be able to interconnect two
networks, we need a computer that is attached to both networks and
can forward data packets from one network to the other; such a
machine is called a router. The term IP router is also used because
the routing function is part of the Internet Protocol portion of
the TCP/IP protocol suite (see 1.1.2, The TCP/IP protocol layers on
page 6).
Two networks interconnected by a router equals Internet A
Router
R
OneVirtual
NetworkNetwork 1 Network 2
Router
R Network 3Network 1 Network 2
Router
R
Multiple networks interconnected by routers(also seen as 1
virtual network, an Internet)
Two networks interconnected by a router equals Internet A
Router
R
OneVirtual
NetworkNetwork 1 Network 2
Router
R Network 3Network 1 Network 2
Router
R
Multiple networks interconnected by routers(also seen as 1
virtual network, an Internet)
Chapter 1. Architecture, history, standards, and trends 5
-
To be able to identify a host within the internetwork, each host
is assigned an address, called the IP address. When a host has
multiple network adapters (interfaces), such as with a router, each
interface has a unique IP address. The IP address consists of two
parts:
IP address =
The network number part of the IP address identifies the network
within the internet and is assigned by a central authority and is
unique throughout the internet. The authority for assigning the
host number part of the IP address resides with the organization
that controls the network identified by the network number. We
describe the addressing scheme in detail in 3.1.1, IP addressing on
page 68.
1.1.2 The TCP/IP protocol layers
Like most networking software, TCP/IP is modeled in layers. This
layered representation leads to the term protocol stack, which
refers to the stack of layers in the protocol suite. It can be used
for positioning (but not for functionally comparing) the TCP/IP
protocol suite against others, such as Systems Network Architecture
(SNA) and the Open System Interconnection (OSI) model. Functional
comparisons cannot easily be extracted from this, because there are
basic differences in the layered models used by the different
protocol suites.
By dividing the communication software into layers, the protocol
stack allows for division of labor, ease of implementation and code
testing, and the ability to develop alternative layer
implementations. Layers communicate with those above and below via
concise interfaces. In this regard, a layer provides a service for
the layer directly above it and makes use of services provided by
the layer directly below it. For example, the IP layer provides the
ability to transfer data from one host to another without any
guarantee to reliable delivery or duplicate suppression. Transport
protocols such as TCP make use of this service to provide
applications with reliable, in-order, data stream delivery.
6 TCP/IP Tutorial and Technical Overview
-
Figure 1-2 shows how the TCP/IP protocols are modeled in four
layers.
Figure 1-2 The TCP/IP protocol stack: Each layer represents a
package of functions
These layers include:
Application layer The application layer is provided by the
program that uses TCP/IP for communication. An application is a
user process cooperating with another process usually on a
different host (there is also a benefit to application
communication within a single host). Examples of applications
include Telnet and the File Transfer Protocol (FTP). The interface
between the application and transport layers is defined by port
numbers and sockets, which we describe in more detail in 4.1, Ports
and sockets on page 144.
Transport layer The transport layer provides the end-to-end data
transfer by delivering data from an application to its remote peer.
Multiple applications can be supported simultaneously. The
most-used transport layer protocol is the Transmission Control
Protocol (TCP), which provides connection-oriented reliable data
delivery, duplicate data suppression, congestion control, and flow
control. We discuss this in more detail in 4.3, Transmission
Control Protocol (TCP) on page 149.
Another transport layer protocol is the User Datagram Protocol
(see 4.2, User Datagram Protocol (UDP) on page 146). It provides
connectionless, unreliable,
Applications
Transport
Internetwork
Network Interfaceand
Hardware
Applications
TCP/UDP
ICMPIP
ARP/RARP
Network Interfaceand Hardware
.......
.......
.......
.......
Chapter 1. Architecture, history, standards, and trends 7
-
best-effort service. As a result, applications using UDP as the
transport protocol have to provide their own end-to-end integrity,
flow control, and congestion control, if desired. Usually, UDP is
used by applications that need a fast transport mechanism and can
tolerate the loss of some data.
Internetwork layer The internetwork layer, also called the
internet layer or the network layer, provides the virtual network
image of an internet (this layer shields the higher levels from the
physical network architecture below it). Internet Protocol (IP) is
the most important protocol in this layer. It is a connectionless
protocol that does not assume reliability from lower layers. IP
does not provide reliability, flow control, or error recovery.
These functions must be provided at a higher level.
IP provides a routing function that attempts to deliver
transmitted messages to their destination. We discuss IP in detail
in Chapter 3, Internetworking protocols on page 67. A message unit
in an IP network is called an IP datagram. This is the basic unit
of information transmitted across TCP/IP networks. Other
internetwork-layer protocols are IP, ICMP, IGMP, ARP, and RARP.
Network interface layer The network interface layer, also called
the link layer or the data-link layer, is the interface to the
actual network hardware. This interface may or may not provide
reliable delivery, and may be packet or stream oriented. In fact,
TCP/IP does not specify any protocol here, but can use almost any
network interface available, which illustrates the flexibility of
the IP layer. Examples are IEEE 802.2, X.25 (which is reliable in
itself), ATM, FDDI, and even SNA. We discuss some physical networks
and interfaces in Chapter 2, Network interfaces on page 29.
TCP/IP specifications do not describe or standardize any
network-layer protocols per se; they only standardize ways of
accessing those protocols from the internetwork layer.
8 TCP/IP Tutorial and Technical Overview
-
A more detailed layering model is included in Figure 1-3.
Figure 1-3 Detailed architectural model
1.1.3 TCP/IP applications
The highest-level protocols within the TCP/IP protocol stack are
application protocols. They communicate with applications on other
internet hosts and are the user-visible interface to the TCP/IP
protocol suite.
All application protocols have some characteristics in
common:
They can be user-written applications or applications
standardized and shipped with the TCP/IP product. Indeed, the
TCP/IP protocol suite includes application protocols such as:
Telnet for interactive terminal access to remote internet
hosts
File Transfer Protocol (FTP) for high-speed disk-to-disk file
transfers
Simple Mail Transfer Protocol (SMTP) as an internet mailing
system
These are some of the most widely implemented application
protocols, but many others exist. Each particular TCP/IP
implementation will include a lesser or greater set of application
protocols.
They use either UDP or TCP as a transport mechanism. Remember
that UDP is unreliable and offers no flow-control, so in this case,
the application has to provide its own error recovery, flow
control, and congestion control functionality. It is often easier
to build applications on top of TCP because it is a reliable
stream, connection-oriented, congestion-friendly, flow
control-enabled protocol. As a result, most application protocols
will use TCP, but there are applications built on UDP to achieve
better performance through increased protocol efficiencies.
Most applications use the client/server model of
interaction.
Applications
Transport
Internetwork
Network Interfaceand Hardware
SMTP, Telnet, FTP, Gopher...
TCP UDP
IPICMP
ARP RARP
Ethernet, Token-Ring, FDDI, X.25, Wireless, Async, ATM,
SNA...
Chapter 1. Architecture, history, standards, and trends 9
-
The client/server modelTCP is a peer-to-peer,
connection-oriented protocol. There are no master/subordinate
relationships. The applications, however, typically use a
client/server model for communications, as demonstrated in Figure
1-4.
A server is an application that offers a service to internet
users. A client is a requester of a service. An application
consists of both a server and a client part, which can run on the
same or on different systems. Users usually invoke the client part
of the application, which builds a request for a particular service
and sends it to the server part of the application using TCP/IP as
a transport vehicle.
The server is a program that receives a request, performs the
required service, and sends back the results in a reply. A server
can usually deal with multiple requests and multiple requesting
clients at the same time.
Figure 1-4 The client/server model of applications
Most servers wait for requests at a well-known port so that
their clients know to which port (and in turn, which application)
they must direct their requests. The client typically uses an
arbitrary port called an ephemeral port for its communication.
Clients that want to communicate with a server that does not use a
well-known port must have another mechanism for learning to which
port they must address their requests. This mechanism might employ
a registration service such as portmap, which does use a well-known
port.
For detailed information about TCP/IP application protocols,
refer to Part 2, TCP/IP application protocols on p