Chapter 8
1: | Identify the various stages of a communications session. |
A1: | Answer: A TCP/IP communications session has three distinct stages: the startup, the conversation itself, and the end (which entails dismantling the session). |
2: | How does TCP regulate information flow between a source and destination machine? |
A2: | Answer: TCP contains numerous mechanisms that ensure the rate at which information flows between a source and destination machine suit both machines. Those mechanisms also take into account network conditions, such as congestion, that might also affect the session. These mechanisms include negotiating maximum segment size and window size, and might include a dynamically adjusting window size known as a sliding window. |
3: | What is a three-way handshake and what is its purpose? |
A3: | Answer: The three-way handshake is the process by which a TCP/IP communications session is established. The handshake starts with one machine sending a SYN request packet to another machine. That SYN request is an attempt to start a session and requires the sender to forward its TCP sequence number. The recipient must respond with a packet that has both the SYN and ACK flags turned on, as well as contains its sequence number.The first machine (the one that sent the original request) then acknowledges receipt of that SYN-ACK packet with an acknowledgment packet of its own. After this is done, both machines have agreed to communicate and exchanged the initial sequence numbers that will be used in the session. They also have negotiated all the particulars that allow them to do these things. |
4: | What are the three uses for TCP sequence numbers? |
A4: | Answer: TCP sequence numbers are the key to maintaining the integrity of a communications session. They are synchronized at the beginning of a communications session during the three-way handshake, are tracked by the source computer to ensure that all data sent was received and acknowledged, and determine to which running copy of each application incoming data must be sent. |
5: | What is a session? |
A5: | Answer: A session is a coherent flow of information between two machines using the TCP/IP communications protocol. For information flow to be coherent requires a truly bidirectional flow of information. Application data might flow in one direction, but acknowledgments and other important protocol-level information must flow in both directions. That exchange of protocol-level data enables TCP to guarantee reliable delivery of data, to start sessions, and to gracefully dismantle a session. |
6: | How does a source computer tell a destination computer that the session is over? |
A6: | Answer: A source computer signals the end of a communications session by sending a TCP/IP packet with the FIN or Finish flag turned on. This lets the destination computer know that it has received all the data it was supposed to and that the source machine is trying to gracefully dismantle the communications session between them. The destination computer must reply with a packet that has both the Finish and Acknowledge flags turned on. Lastly, the source computer, upon receiving this Finish-Acknowledge packet, must reply with an Acknowledgment packet (an ACK packet) that concludes the session. |
7: | What are the four special types of TCP packets that do not carry any application data? |
A7: | Answer: The four session-management functions of TCP that do not need to be sent inside a data-bearing packet areSynchronize (SYN)Acknowledge (ACK)Reset (RST)Finish (FIN) Each is constructed through the use of the TCP header's flag bits. |
8: | What is a datagram? |
A8: | Answer: A datagram is a single unacknowledged packet of information that is sent over a network as an individual packet without regard to previous or subsequent packets. |