What you'll learn:
- Difference between Connection-Oriented and Connection-less state
- Difference between Byte oriented and datagram oriented protocols
- TCP Internal functionality and Mechanism
- Understand how TCP is designed and why
- TCP congestion control, Flow control and Window Mechanism
- Understand TCP graphs and why they look like they are !
- Various other complexties of TCP protocol explained in a simplest possible way
- Assignments and Questions to practice TCP concepts
This is Master Class course on TCP/IP protocol - Transmission Control Protocol. Since it is Master Class course, this course discusses the internal design and functioning of complex transport layer protocol - TCP.
Almost all traffic on internet today is transported by TCP protocol. TCP, as where it stands today, mature and solid, is the result of over 25 yrs of research by network gurus. TCPis complicated and difficult to understand, therefore i have paid utmost attention to present the concept in most simplest way as possible without any loss of information.
In this course, we unwrap internals of TCP and try to understand how it works and why it is so designed. So, be ready and place yourself in first gear !
TCP is difficult to understand and confusing if not done in the right way. In this course, I shall be covering all aspects of TCP internal functioning STEP BY STEP with beautiful diagrams, Assignments, Questions and exercises. At no point you shall be left with doubts is my promise. There is no programming in this course.
This is a littleAdvancedCourse, if you are absolute beginner in networking, I would recommend you to first enroll in my other course "Networking course - Network Concepts and Programming from Scratch" and cover important sections on L2 routing, L3 routing, and Transport Layer at-least before jumping into this course. If you are already familiar with this much networking basics, then you are all set to sail through this course.
Table Of Contents:
Section 1 : Basics
1. Agenda of the course
2. General overview of OSI model and TCP/IP stack
3. TCP IP Stack layer functions
4. Transport Layer Goals
5. User Datagram Protocol (UDP)
6. Transmission Control Protocol (TCP)
7. UDP Vs TCP
8. Summary
Section 2 : TCP Preliminaries
1. TCPVs Other Protocols
2. TCP ARQ Challanges
3. TCP Byte Circular Buffers
4. Segments and Sequence Numbers
5. TCP Segments Type
6. TCP Reliable Delivery
7. TCP Retransmission Timer Illustration
8. TCP together with IP Protocol
9. Summary
From here on we shall dive deep into specifics of TCP
Section 3 : TCP Connection Management
1. Who is Client and Who is Server ?
2. TCP - 4-tuples
3. TCP Connection Open - 3-way handshake Explained
4. TCP Connection Closing - 4-way handshake
5. Sequence Numbers Consumption Rules
6. TCP Connection Timeout and Exponential Backoff
Section 4 : TCP Timeout and Retransmission
1. TCP Retransmission
2. TCP RTO Problems if computed Wrongly
3. Expectations from TCP when Segment loss occurs
4. TCP Exponential backoff - When consecutive segment loss occurs
5. TCP RTO Value Estimation
6. TCP Retransmission Ambiguity Problem
7. Karn's Algorithm
8. Karn's Algorithm Illustration
9. Karns Algorithm Analysis
9. Concept of Fast Retransmission
10. TCP handling out of order segments
11. TCP holes Problem and its remedy
12. Redundant Retransmission due to dupACK
13. Fast Re-transmission Vs Timer based Re-transmissions
14. Selective Acknowledgement (SACKs)
15. SACKs Example
16. Cumulative Acknowledgement
Section 5 :TCP Data flow and Window Management
1. TCP Send and Recv Windows
2. TCP Send and Recv Window Layout
3. TCP Flow control
4. TCP Window Advertisement
5. Sliding Window Rules
6. Window Management Example
7. Data Accumulation - TCP Nagle Algorithm
9. TCP Window Size Resizing
10. TCP Zero Window
11. TCP Probe Segments
12. Problem of Silly Window Syndrome (SWS)
13. Silly Window Syndrome Solution (SWS - Solution)
14. SWS - Complete Example
Section 6 :TCP Congestion Control Procedures
1. TCP - Congestion Control Procedures
2. TCP - CCP Goals
3. TCP - 3 Parts of CCP
4. Introducing Congestion Window
5. Congestion Control Algorithms
a. Slow Start
b. Congestion Avoidance
6. Slow Start Algorithm
7. Slow Start Algorithm in Action
8. Slow Start Algorithm Summary and SSthrash
9. Congestion Avoidance Algorithm With Example
10. Congestion Control Algorithm Selection and Switching
11. Typical TCP Graph
12. Concept of Fast Recovery
13. Algorithm Selection Flowchart
Good Luck ! Hope you Enjoy the course.