Podcast
Questions and Answers
Match the following terms with their descriptions in the context of packet transmission:
Match the following terms with their descriptions in the context of packet transmission:
ACK = Acknowledgment from the receiver NAK = Negative acknowledgment from the receiver Checksum = Data integrity verification method Sequence Number = Unique identifier for each packet
Match the scenarios with the corresponding actions taken by the sender:
Match the scenarios with the corresponding actions taken by the sender:
If ACK/NAK is corrupted = Sender retransmits the packet If not sure what happened = Sender waits for a response If duplicate packet needs to be sent = Sender adds a sequence number If receiving an ACK = Sender can send the next packet
Match the sender and receiver responsibilities:
Match the sender and receiver responsibilities:
Sender = Waits for ACK or NAK from the receiver Receiver = Delivers data to the application layer
Match the terms related to packet transmission mechanisms:
Match the terms related to packet transmission mechanisms:
Match the types of acknowledgements with their purposes:
Match the types of acknowledgements with their purposes:
Match the reliable data transfer protocols with their characteristics:
Match the reliable data transfer protocols with their characteristics:
Match the types of errors with their recovery mechanisms:
Match the types of errors with their recovery mechanisms:
Match the terms with their correct explanations in data transfer protocols:
Match the terms with their correct explanations in data transfer protocols:
Match the terms related to TCP with their meanings:
Match the terms related to TCP with their meanings:
Match the pipelined protocols with their characteristics:
Match the pipelined protocols with their characteristics:
Match the roles of sender and receiver in Go-back-N protocol:
Match the roles of sender and receiver in Go-back-N protocol:
Match the following transport-layer services with their descriptions:
Match the following transport-layer services with their descriptions:
Match the following TCP concepts with their details:
Match the following TCP concepts with their details:
Match the following networking topics with their importance level:
Match the following networking topics with their importance level:
Match the following terms in networking with their definitions:
Match the following terms in networking with their definitions:
Match the following concepts with their transport layer categories:
Match the following concepts with their transport layer categories:
Match the following principles of reliable data transfer with their attributes:
Match the following principles of reliable data transfer with their attributes:
Match the following types of transport with their characteristics:
Match the following types of transport with their characteristics:
Match the following components of connection-oriented transport with their functions:
Match the following components of connection-oriented transport with their functions:
Flashcards are hidden until you start studying
Study Notes
Reliable Data Transfer - RDT2.1
- Problem: RDT1.0 assumes a perfect channel. RDT2.0 introduces a channel with bit errors.
- Solution: Checksums detect errors, but a mechanism is needed for the receiver to inform the sender about problems.
- Methods:
- ACK (Acknowledgement): The receiver confirms successful packet reception.
- NAK (Negative Acknowledgement): The receiver indicates a packet error.
- Sender: The sender retransmits a packet if it receives a NAK.
- Receiver: The receiver sends an ACK if the packet is received correctly and a NAK if there’s an error.
RDT2.1 - Sender FSM
- Initial State: The sender starts with a sequence number of 0.
- Event 1: When rdt_send is called, the sender creates a packet with data and a checksum.
- Action 1: The packet is sent using udt_send.
- Event 2: When an ACK or NAK arrives:
- If corrupt, the sender retransmits.
- If it's an ACK for sequence number 0, the sender moves to state 1.
- Event 3: When rdt_send is called again, the sender creates a packet with data and a checksum.
- Action 3: The packet is sent using udt_send and the sender moves to state 1.
RDT2.1 - Receiver FSM
- Initial State: The receiver is expecting a packet with sequence number 0.
- Event 1: When a packet arrives:
- If corrupted or doesn’t have the correct sequence number, send a NAK.
- If the packet is valid and has sequence number 0, extract the data and deliver it. Send an ACK for sequence number 0.
- Event 2: When the receiver receives an ACK for sequence number 0, it moves to the state where it is expecting sequence number 1.
Handling Duplicate Packets
- Solution: The sender adds a sequence number to each packet.
- Receiver: The receiver discards duplicate packets.
RDT2.1 - Discussion
- Sender: Adds a sequence number to packets.
- Receiver: Checks the sequence number to identify duplicate packets.
Pipelined Protocols
- Go-Back-N: Allows multiple unacknowledged packets to be in transit. The receiver only sends cumulative ACKs (acknowledging all packets up to a certain sequence number).
- Selective Repeat: Allows multiple unacknowledged packets to be in transit. The receiver sends an individual ACK for each packet.
Go-Back-N
- Sender:
- Uses a k-bit sequence number in the packet header.
- Maintains a "window" of up to N unacknowledged packets.
- Sends packets in sequence.
- If the timer for the oldest unacknowledged packet expires, retransmit all unacknowledged packets.
- Receiver:
- Only accepts packets in sequence.
- Sends cumulative ACKs.
- Discards out-of-order packets.
Selective Repeat
- Sender:
- Maintains a timer for each unacknowledged packet.
- If the timer expires, retransmit only the corresponding packet.
- Receiver:
- Can buffer out-of-order packets.
- Sends individual ACKs for each packet.
TCP Congestion Control
- Problem: Sending too many packets can overwhelm the network and cause congestion.
- Goal: Optimize the sending rate to avoid congestion.
- Mechanism:
- Congestion Window (cwnd): Limits the amount of data the sender can send at a time.
- Slow Start: Initially starts with a small cwnd and increases it exponentially until a loss event.
- Congestion Avoidance (CA): Increases the cwnd linearly after a loss event.
- Loss Detection:
- Timeout: A packet hasn't been acknowledged within a certain timeframe.
- 3 Duplicate ACKs: Indicates packet loss.
- Reaction to Loss:
- Timeout: cwnd is set to 1.
- 3 Duplicate ACKs: cwnd is cut in half.
- AIMD (Additive Increase Multiplicative Decrease): Progressively probes for available bandwidth and adjusts the cwnd accordingly.
- TCP Reno: A specific implementation of congestion control that uses 3 duplicate ACKs to detect loss.
TCP - Switching from Slow Start to CA
- Condition: When cwnd reaches half its value before the timeout occurred.
- Reason: Indicates that the network can handle a larger amount of data.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.