I still remember four years ago, one of our internal instructor Barry from Seattle to deliver training session, he mentioned three-way handshake is used as one of the technical questions to judge the technical skills of the interviewee in the most technical job interview.
Also, as an IT professional guy, I cannot emphasize enough how important it is to remember and understand these two processes as common sense in your mind since other people use this question to judge your IT skills.
The three-way handshake as one of the fundamental knowledge you should know and understand. Your solid technical skills are built on the fundamental knowledge, with the time go on, the simple technical knowledge will merge together to put you to an upper layer and form a better you.
TCP retransmission is a mechanism to ensure the data integrity and completeness especially in the bad network environment.
Binary Exponential backoff:
A simple example of TCP’s timeout and retransmission mechanism. The first retransmit occurs at time 42.954, followed by other retransmissions at times 43.374, 44.215, 45.895, and 49.255. The intervals between successive retransmissions are 206ms, 420ms, 841ms, 1.68s, and 3.36s, respectively. These times represent a doubling of the timeout between successive retransmissions of the same segment. This doubling of time between successive retransmissions is called a “binary exponential backoff”, If we measure the elapsed time between the initial request and the time at which the connection is finally aborted, the total time is about 15.5 minutes. After that, we will get the error message.
The difference between fast retransmission and retransmission:
Fast retransmit [RFC5681] is a TCP procedure that can induce a packet retransmission based on feedback from the receiver instead of requiring a retransmission timer to expire. As a result, packet loss can often be more quickly and efficiently repaired using fast retransmit than with timer-based retransmission. A typical TCP implements both fast retransmit and timer-based retransmission. Before we describe fast retransmit in more detail, it is important to realize that TCP is required to generate an immediate acknowledgment (a “duplicate ACK”) when an out-of-order segment is
Before we describe fast retransmit in more detail, it is important to realize that TCP is required to generate an immediate acknowledgment (a “duplicate ACK”) when an out-of-order segment is received, and that the loss of a segment implies out-of-order arrivals at the receiver when subsequent data arrives. When this happens, a hole is created at the receiver. The sender’s job then becomes filling the receiver’s holes as quickly and efficiently as possible.
Although rare, the IP protocol may deliver a single packet more than one time. This can happen, for example, when a link-layer network protocol performs a retransmission and creates two copies of the same packet. When duplicates are created, TCP can become confused in some of the ways we have seen already. Consider the case shown in following figure in which packet number 3 has been duplicated three times.
What is out of order?
IP can choose another path for traffic (e.g., that is faster) without having to worry about the consequences that doing so may cause traffic freshly injected into the network to pass ahead of older traffic, resulting in the order of packet arrivals at the receiver not matching the order of transmission at the sender.
On daily basis, no matter you are an end user or an IT guys working in the field, you need to touch it transparently or non-transparently. Let’s do some fundamental dirty work about knowing deep about the sequence number, ACK, how ACK send out from receiver to sender calculated.
Performance is one of the most critical metrics for any IT environment. It directly mapped to the productivity. In order to figure out which components or entities slowing down the overall performance, we need to find out evidence to support our points. Today let’s learn one of TCP layer knowledge regarding RST to locate the performance issue.
Interesting passages to differentiate routing and bridging.
We know NTP is used to synchronize time from authorized time server to the client to keep the client local time consistent with standard time.
However, what if we successfully set up the NTP servers, but the client is still out of sync with NTP server time to time which causes authentication issue? We need to know how to troubleshoot the related issue.
Before troubleshooting the NTP related issues, you should have following knowledge:
- What is a reference clock?
- How will NTP use a reference clock?
- How will NTP know about Time Sources?
- What happens if the Reference Time changes?
- How is Time synchronized?
- Which Network Protocols are used by NTP?
- When are the Servers polled?
- How frequently will the System Clock be updated?
- How frequently are Correction Values updated?