P1: 35
Mateti WL040/Bidgolio-Vol I WL040-Sample.cls June 20, 2003 13:24 Char Count= 0
TCP/IP SuiteTCP/IP Suite
Prabhaker Mateti,Wright State UniversityIntroduction 424
Layers 424
Protocol Stack 425
Lower Layers 425
The Internet Protocol 426
IP Address 426
IP Header 427
Routing Protocols 427
IP Fragments 428
Domain Name Service 428
Mobile IP 428
Transmission Control Protocol 429
Ports and Connections 429
Reliable Transmission 429
State Diagram 429
TCP Three-Way Handshake 429
Four-Way Handshake 430
TCP Timers 430
Congestion Control 431
UDP, ICMP, and Other Protocols 431User Datagram Protocol (UDP) 431
Internet Control Message Protocol (ICMP) 431
Address Resolution Protocol (ARP) 431
TCP/IP Security 432
Covert Channels 432
IP Address Spoofing 432
IP Fragment Attacks 432
TCP Flags 432
The SYN Flood 432
TCP Sequence Number Prediction 432
Applications 433
File Transfer Protocol (FTP), Telnet, and rlogin 433
Dynamic Host Configuration Protocol (DHCP) 433
Hypertext Transfer Protocol (HTTP) 434
Secure Shell (SSH) 434
Conclusion 434
Glossary 434
Cross References 435
Further Reading 435INTRODUCTION
The Internet and the World Wide Web are based on
TCP/IP. The term “TCP/IP” refers to not only the TCP
(transmission control protocol) and IP (Internet proto-
col), but also includes other protocols, applications, and
even the network medium. These protocols include UDP,
ARP, and ICMP. These applications include telnet, FTP, Se-
cure Shell, NFS, Web browsers and servers, and the many
items collectively called the Web services. This chapter is
an encyclopedic survey of these topics starting from the
seven-layer OSI model to recent improvements in the im-
plementations of the protocol stack and firewalls.
A computer systemcommunicateswith another sys-
tem by sending a stream of bytes. Abyteis a sequence of
8 bits. Achecksumis the arithmetic sum of a sequence
of numbers used to detect errors that may have altered
some of the numbers in the sequence. The communica-
tion is actually between a process running on one system
with one running on the other system. The two processes
communicate information in a pre-agreed form known as
protocol. That is, the two processes agree on the meaning
of specific byte values occurring in specific positions in
the stream.
This chapter describes the core protocols known as IP
and TCP, and a few application protocols based on these.
The details of IP and TCP are not directly experienced by
the ordinary user unless a network sniffer is used. Never-
theless, it is crucial to understand these before attempting
to understand the application protocols.
In each protocol, there is a stream of bytes known as
a frame, a datagram, a packet or a segment depending
on the “level.” We describe the content of such a protocoldata unit as a rectangular diagram such as the one shown
in Fig. 2. The width of such a diagram is always 32-bits,
numbered from 00 to 31. The units digits of these bit in-
dices are shown in one row, and the tens digits are shown
in the row above it. Each boxed row stands for a sequence
of 32 bits (4 bytes).LAYERS
Computer networking is easier to understand as a stack
of layers, each layer providing the functionality needed by
the layer above it. There are two such models.
TheOSI(Open Systems Interconnection)modelof com-
puter networks has seven layers. Each layer provides func-
tionality that the next higher layer depends on.
Thephysicallayer provides the physical means of car-
rying the stream of bits. Ethernet, Fast Ethernet, Wireless
802.11, T-carrier, DSL (digital subscriber line), and ATM
are examples of this layer. All media are considered func-
tionally equivalent. The differences are in speed, conve-
nience, and cost. Converters from one media to another
exist and make it possible to have different physical layers
in a computer network.
Thedata linklayer takes the raw stream of bits of the
physical layer and provides the functionality of sending
and receiving a meaningful message unit called aframe
and also provides error detection functions. A frame in-
cludes checksum, source and destination addresses, and
data. The frame boundaries are special patterns of bits.
Software of this layer will retransmit a frame if it is dam-
aged, say due to a burst of noise on the physical layer. The
data link layer is divided into the media access control424