Subject Index: TCP/IP

Animation 15_1 A host uses ARP to determine the hardware address of the destination of an IP datagram. The sender broadcasts an ARP request, the destination responds with an ARP reply and the sender sends the IP datagram directly to the destination.
Animation 16_1 Hosts and routers consult routing tables to forward IP datagrams. Each host or router looks in its routing table to determine the next hop to the destination. If the routing tables are changed, IP datagrams will follow different paths to the destination.
Animation 16_2 This animation converts between 32-bit hexadecimal numbers and the fields in an IP datagram header.
Animation 17_1 In an internet, the protocol software on the source computer constructs an IP datagram and transmits it to a router by encapsulating the datagram in a hardware frame. The router extracts the datagram and retransmits it in a new hardware frame to the next router on the path to the destination; the destination extracts the original datagram from the last hardware frame and delivers the data to the application.
Animation 20_1 TCP specifies a three-way handshake to establish a TCP connection between two computers; the initiating computer send a segment with the SYN bit sent; the receiving computer responds with a segment with the SYN and ACK bits sent; the initiating computer then completes the handshake with a segment with the ACK bit set.
Animation 20_2 TCP specifies a three-way handshake to terminate a TCP connection; the computer initiating the termination sends a segment with the FIN bit sent, the computer at the other end of the connection responds with a segment with the FIN and ACK bits set; the initiating computer then completes the termination handshake with a segment with the ACK bit set.
Animation 20_3 TCP uses sliding window flow control. The receiver defines the window, and the sender can transmit any of the data in the window. When the sender receives an acknowledgment, the window moves ahead to include new, unsent data.
Animation 20_4 By changing the size of the window, the receiver can control the rate at which data are sent.
Animation 20_5 If a segment is lost, the window does not advance until the segment is retransmitted and the sender receives the acknowledgment for the segment. When the receiver gets a segment out of order, it can send an acknowledgment for the highest received data byte without sending individual acknowledgments for the intermediate data.
Figure 16.3 Examples of older protocol stacks that have been replaced by TCP/IP protocols. Although the stacks shared many general concepts, the details differed, making them incompatible.
Figure 17.3 The internet concept. (a) The illusion of a single network that TCP/IP software provides to users and applications, and (b) the underlying physical structure in which a computer attaches to one physical network, and routers interconnect the networks.
Figure 17.4 The five layers of the TCP/IP reference model.
Figure 18.1 The five classes of IP addresses in the original classful scheme. The address assigned to a host is either class A, B, or C; the prefix identifies a network, and the suffix is unique to a host on that network.
Figure 18.2 The mapping between the first four bits of an IP address and the class of the address. The mapping was used with the original classful scheme.
Figure 18.3 Examples of 32-bit binary numbers and their equivalent in dotted decimal notation. Each octet is written in decimal with periods (dots) used to separate octets.
Figure 18.4 The range of decimal values found in the first octet of each address class.
Figure 18.5 The number of networks and hosts per network in each of the three primary IP address classes.
Figure 18.6 An example private internet with IP addresses assigned to hosts. The size of the cloud used to denote a physical network corresponds to the number of hosts expected on the network; the size of a network determines the class of address assigned.
Figure 18.7 Illustration of CIDR addressing for a /28 prefix. Note that because bits are numbered starting at zero, the prefix covers bits 0 through 27. Thus, bits 28 through 31 correspond to the host suffix.
Figure 18.8 Summary of the special IP address forms.
Figure 19.1 A simple internet with routers R1 and R2 connecting three physical networks; each network has two host computers attached. A computer can only resolve the address of a computer attached to the same physical network.
Figure 19.2 An example address binding table. Each entry in the table contains a protocol address and the equivalent hardware address.
Figure 19.3 An example of direct lookup for a class C network. The host portion of an address is used as an array index.
Figure 19.4 Comparison of address resolution using a table lookup (T), closed-form computation (C), and dynamic message exchange (D).
Figure 19.5 An ARP message exchange. (a) Computer W begins to broadcast an ARP request that contains computer Y's IP address. (b) All computers receive the request, and (c) computer Y sends a response directly to W.
Figure 19.8 Illustration of the type field in an Ethernet header used to specify the frame contents. A value of 0x806 informs the receiver that the frame contains an ARP message.
Figure 20.1 The general form of an IP datagram with a header followed by data. The header contains information that controls where and how the datagram is to be sent.
Figure 20.2 (a) An example internet with three routers connecting four physical networks, and (b) the conceptual routing table found in router R2. Each entry in the table lists a destination network and the next hop along a route to that network.
Figure 20.3 (a) An internet of four networks and three routers with an IP address assigned to each router interface, and (b) the routing table found in the center router. Each entry in the table lists a destination, a mask, and the next hop used to reach the destination.
Figure 20.4 Fields in the IP datagram header. Both the source and destination addresses are Internet addresses.
Figure 21.1 An IP datagram encapsulated in a hardware frame. The entire datagram resides in the frame data area. In practice, the frame format used with some technologies includes a frame trailer as well as a frame header.
Figure 21.2 An IP datagram as it appears at each step during a trip across an internet. Whenever it travels across a physical network, the datagram is encapsulated in a frame appropriate to the network.
Figure 21.4 An IP datagram divided into three fragments. Each fragment carries some data from the original datagram, and has an IP header similar to the original datagram.
Figure 21.5 An example internet in which hosts can generate datagrams that require fragmentation. Once a datagram has been fragmented, the fragments are forwarded to the final destination, which reassembles them.
Figure 22.1 The general form of an IPv6 datagram. Extension headers are optional -- the minimum datagram has a base header followed by data.
Figure 22.2 The format of an IPv6 base header. The header contains fewer fields than the IPv4 datagram header.
Figure 22.3 Two IPv6 datagrams in which (a) contains a base header plus data, and (b) contains a base header, route header, and data. The NEXT HEADER field in each header specifies the type of the item that follows.
Figure 22.4 The IPv6 options extension header. Because the size of the options header can vary from one datagram to another, the HEADER LEN field specifies the exact length.
Figure 22.5 Illustration of fragmentation in IPv6. The fragmentable part of the original datagram (a), is placed in the payload area of fragments (b, c, and d). Each fragment begins with a copy of the unfragmentable part and a fragment extension header.
Figure 24.1 The format of a UDP user datagram. Each user datagram begins with an eight octet header followed by the data being sent.
Figure 24.2 The encapsulation of a UDP message in an IP datagram. The entire UDP message, including the header and data areas resides in the data area of the IP datagram.
Figure 25.1 An example internet that illustrates why TCP is an end-to-end transport protocol. TCP views IP as a mechanism that allows TCP software on a host to exchange messages with TCP software on a remote host.
Figure 25.2 Example of retransmission. Items on the left correspond to events in a computer sending data, items on the right correspond to events in a computer receiving data, and time goes down the figure. The sender retransmits lost data.
Figure 25.3 Timeout and retransmission on two connections that have different round-trip delays. TCP optimizes throughput by using a round-trip estimate to compute a retransmission timer.
Figure 25.4 A sequence of messages that illustrates TCP flow control when the maximum segment size is 1000 octets. A sender can transmit enough data to fill the currently advertised window.
Figure 25.5 The 3-way handshake used to close a connection. Acknowledgements sent in each direction are used to guarantee that all data has arrived before the connection is terminated.
Figure 25.6 The TCP segment format. Each message sent from TCP on one machine to TCP on another (both data and acknowledgements) uses this format.
Figure 26.1 Illustration of how NAT is used. A device running NAT is placed on the connection between a site and the Internet.
Figure 26.2 Illustration of basic NAT translation. NAT rewrites the source address in outgoing datagrams and the destination address in incoming datagrams.
Figure 26.3 An example NAT translation table for the mapping illustrated in Figure 26.2. An entry specifies the direction of packet flow and the changes that should occur.
Figure 26.4 An example NAPT translation table for TCP connections from private computers 10.0.0.1 and 10.0.0.2. NAPT changes both the IP source address and TCP port number. In the example, both connections use TCP source port 30000 (unlikely, but possible).
Figure 26.5 Illustration of a dedicated NAT device that provides connections for multiple computers. The NAT box connects to an ISP (e.g., through a DSL connection or a cable modem).
Figure 28.1 A client and server using TCP/IP protocols to communicate across an internet. The client and server each interact with a protocol in the transport layer.
Figure 28.2 Two servers on a single computer accessed by clients on two other computers. Client 1 can access server 1, while client 2 accesses server 2.
Figure 31.2 A graphical representation that illustrates one way a DNS hierarchy might be structured in a corporation. Names for individual computers can be added to the diagram as well.
Figure 40.1 Illustration of a firewall that is used to protect an organization against unwanted interaction with the Internet.
Figure 41.1 The first few steps that TCP/IP protocol software takes to obtain configuration information. T1 and T2 denote timeout values.
Figure 41.2 The format that BOOTP uses for request and response messages. The message is sent using UDP, which is encapsulated in IP.
Figure 41.3 The DHCP message format, a slightly modified version of the BOOTP format.
Photo img3_039 An in-use Cisco 7000 router with a varity of interfaces. The router has six AUI Ethernet ports in its leftmost slot to which the six grey cables connect. It also has four serial ports, to which three grey serial lines connect. Further right is a single fiber optic ATM interface identified by the orange cable. To the right of that is a FDDI interface to which the two light grey fiber optic cables are connected.
Photo img3_040 An in-use Cisco 7000 router with a varity of interfaces. The router has six AUI Ethernet ports in its leftmost slot to which the six grey cables connect. It also has four serial ports, to which three grey serial lines connect. Further right is a single fiber optic ATM interface identified by the orange cable. To the right of that is a FDDI interface to which the two light grey fiber optic cables are connected.
Photo img3_041 An in-use Cisco 7000 router with a varity of interfaces. The router has six AUI Ethernet ports in its leftmost slot to which the six grey cables connect. It also has four serial ports, to which three grey serial lines connect. Further right is a single fiber optic ATM interface identified by the orange cable. To the right of that is a FDDI interface to which the two light grey fiber optic cables are connected.
Photo img3_042 An in-use Cisco 7000 router with a varity of interfaces. The router has six AUI Ethernet ports in its leftmost slot to which the six grey cables connect. It also has four serial ports, to which three grey serial lines connect. Further right is a single fiber optic ATM interface identified by the orange cable. To the right of that is a FDDI interface to which the two light grey fiber optic cables are connected.
Photo img3_063 The larger device at the bottom is a Cisco 7000 router. On top is a Fore ForeRunner ASX-200 ATM switch with various twisted pair and fiber optic connections.
Photo img3_064 The larger device at the bottom is a Cisco 7000 router. On top is a Fore ForeRunner ASX-200 ATM switch with various twisted pair and fiber optic connections.
Photo img4_017 A Cisco 7500 router. The top slot is occupied by the routers' processor board. Third slot from the top on the left is a fiber optic ATM interface which is concealed by a dust cover. The slot below contains 6 Ethernet AUI connectors.
Photo img4_018 A Cisco 7500 router. The top slot is occupied by the routers' processor board. Third slot from the top on the left is a fiber optic ATM interface which is concealed by a dust cover. The slot below contains 6 Ethernet AUI connectors.
Photo img4_019 A Cisco 7500 router. The top slot is occupied by the routers' processor board. Third slot from the top on the left is a fiber optic ATM interface which is concealed by a dust cover. The slot below contains 6 Ethernet AUI connectors.
Photo img4_020 A Cisco 7500 router. The top slot is occupied by the routers' processor board. Third slot from the top on the left is a fiber optic ATM interface which is concealed by a dust cover. The slot below contains 6 Ethernet AUI connectors.
Photo img4_021 A Cisco 7500 router. The top slot is occupied by the routers' processor board. Third slot from the top on the left is a fiber optic ATM interface which is concealed by a dust cover. The slot below contains 6 Ethernet AUI connectors.
Photo img4_022 A Cisco 7500 router. The top slot is occupied by the routers' processor board. Third slot from the top on the left is a fiber optic ATM interface which is concealed by a dust cover. The slot below contains 6 Ethernet AUI connectors.
Photo img4_023 A Cisco 2514 Router. On the left are two Ethernet AUI connectors.
Photo img4_024 A Cisco 2514 Router. On the left are two Ethernet AUI connectors.
Photo img4_025 A Cisco 2514 Router. On the left are two Ethernet AUI connectors.
Photo img4_026 A Cisco 2514 Router. On the left are two Ethernet AUI connectors.
Photo img4_027 A Cisco 2514 Router. On the left are two Ethernet AUI connectors.
Photo img4_028 A Cisco 2514 Router. On the left are two Ethernet AUI connectors.
Photo img4_029 A Cisco 2514 Router. On the left are two Ethernet AUI connectors.
Data file 1 Trace of all IP traffic on Ethernet segment. Contains approximately 87,000 packets and 6.5Mb. Trace includes packet headers only.
Data file 2 Anonymous FTP session with dir, get and put. Contains approximately 930Kbytes and 2300 packets.
Data file 3 Anonymous FTP session using mput in both ascii and binary modes. Contains approximately 33Kbytes and 340 packets.
Data file 4 Anonymous FTP session using mget in both ascii and binary modes. Contains approximately 37Kbytes and 370 packets.
Data file 5 TELNET session (headers only). Contains approximately 45Kbytes and 560 packets.
Data file 6 SMTP session with delivery of one mail message from SMTP client to SMTP server. Contains approximately 3,000 bytes and 30 packets.
Data file 7 WWW browser session accessing multiple URLs from multiple WWW servers. Contains approximately 590Kbytes and 1,270 packets.
Data file 8 X Window System application protocol messages from several clients, including xterm, emacs, xspread and xpaint to an X server. Contains approximately 760Kbytes and 5,500 packets.