TCP Fundamentals - Retransmissions, Window Size // TCP/IP Explained

  Рет қаралды 141,621

Chris Greer

Chris Greer

Күн бұрын

Let's dig into the Transport Control Protocol with a deep-dive into the fundamentals of TCP/IP.
If you liked this video, I’d really appreciate you giving me a like and subscribing, it helps me a whole lot. Also don't be shy, chat it up in the comments!
== More Training from Chris ==
▶Getting Started with Wireshark - bit.ly/udemywireshark
▶Getting Started with Nmap - bit.ly/udemynmap
== Live Wireshark Training ==
▶TCP/IP Deep Dive Analysis with Wireshark - bit.ly/virtualwireshark
== Private Wireshark Training ==
Let's get in touch - packetpioneer.com/product/pri...
Video Chapters:
0:00 TCP Congestion Window vs Receive Win
5:07 Case Study: The Receive Window
27:13 The TCP Trace Graph
32:53 The Congestion Window Explained
39:47 Case Study: The Congestion Window
47:32 Measuring Delays in TCP Streams
57:55 Case Study: TCP MSS Problem

Пікірлер: 125
@jhreaside
@jhreaside 4 жыл бұрын
Chris, I think this may be the best material I've ever come across for understanding some of the specific elements of TCP. The time you spent on the receive window confirmed the detail I have in my notes, but the congestion window explanation has always been somewhat elusive online! I have some pretty concise notes, but to see the concepts played out visually in a steady way, and also in context with the capture files, was simply great to watch. Didn't feel like an hour and 20mins. Some great tips too when analysing in Wireshark. Great work - this is how TCP should be taught.
@ChrisGreer
@ChrisGreer 4 жыл бұрын
Thanks so much for the comment! I appreciate the feedback and will do my best to keep the content coming. Thank you.
@funeralfog-vf4gg
@funeralfog-vf4gg 5 ай бұрын
Im 40 years old.. just got interested into this stuff and working on my ccna and i wish you were my teacher..thank you for your great videos
@aditisaikia3286
@aditisaikia3286 3 жыл бұрын
TCP training at its best...
@loodack
@loodack 5 жыл бұрын
This guy does awesome job at explaining!
@ChrisGreer
@ChrisGreer 5 жыл бұрын
Thanks for the comment!
@XanderPetty
@XanderPetty 5 жыл бұрын
These are the best two TCP videos I've seen. Studying for the CCNP ROUTE and chapter one is diving into TCP. This really helped tie things together.
@ChrisGreer
@ChrisGreer 5 жыл бұрын
Thanks for the comment Xander. Hope you ace that test.
@matthuff420
@matthuff420 3 жыл бұрын
Awesome stuff, both parts. I've worked as an F5 support engineer for a couple years prior to watching this, and I took a ton away from watching these two sessions. Thanks alot man!
@ChrisGreer
@ChrisGreer 3 жыл бұрын
Thanks for the comment Matt!! I'll keep making it!
@sameerkumar1884
@sameerkumar1884 4 жыл бұрын
Very Well explained case files.. you made me fan of you
@PatoxMaia
@PatoxMaia 4 жыл бұрын
Hello Chris, Many thanks for uploading this content. I'm networking core and I'm surely one of those layer 3 heads. I normally joke about doing stuff at layer 3.5 to my application colleagues. Your presentation changed a bit of my perception on troubleshooting with wireshark. I see I still having so much to cover on my studies and I appreciate very much your effort to provide such quality material.
@ChrisGreer
@ChrisGreer 4 жыл бұрын
Thanks Cleber - I will do my best to keep it up. I appreciate the comment. Make sure to subscribe!
@PatrickLangendoen
@PatrickLangendoen 5 жыл бұрын
Been looking out for the second part for a while. Thank you, sir. This is very informative and brought in a very good way. You rock!
@JonathanAnon
@JonathanAnon 5 жыл бұрын
Hi Chris, you are an excellent presenter, and I learn a lot from your videos. Well done.
@Black_Swan68761
@Black_Swan68761 3 жыл бұрын
Awesome. Very well explained. Great Job, Chris!!
@iMPRE7ed
@iMPRE7ed 5 жыл бұрын
Chris, awesome as always. When I started looking deeper into protocol analysis, of course with your help, I started understanding network and other technologies much better, it all started to make so much more sense. Thank you for those sessions, master! PS please do more, boy do i enjoy those
@ChrisGreer
@ChrisGreer 5 жыл бұрын
Thanks for watching!
@manigandansrinivasan5194
@manigandansrinivasan5194 2 жыл бұрын
Chris .... You did mindblowing lecture ... Your selfless thought by sharing what you learned are commendable ....
@ChrisGreer
@ChrisGreer 2 жыл бұрын
Thank you for the comment!
@cssuresh12
@cssuresh12 5 жыл бұрын
Chris, As usual this is fantastic Thank you
@bijayjungkarki7369
@bijayjungkarki7369 3 жыл бұрын
As a fresher starting as a Support engineer this was amazing session on TCP, hope to see more!
@ChrisGreer
@ChrisGreer 3 жыл бұрын
Thanks Bijay!
@koneru06
@koneru06 2 жыл бұрын
You are the best and no one can beat you... Keep up the good job...
@ChrisGreer
@ChrisGreer 2 жыл бұрын
Thank you so much 😀
@453nabeel
@453nabeel 4 жыл бұрын
Thanks for the great session.
@EvilSapphireR
@EvilSapphireR 4 жыл бұрын
I had the exact same issue in my network as described in your last packet capture. A packet capture on client side was showing that a 1460 byte packet got lost somewhere on the way. Problem was the network in between was managed by a not so cooperative vendor and the server was in control of a different organisation, so getting a server capture or adjusting mss on a network node in between wasn't an option. What I did to resolve the scenario was to decrease the mtu on the client pc itself so that the MSS would stay low to 1398 bytes, which was the MSS value that was working as I observed on a different application. The application did run this time but we're still seeing some chunks of 1398 byte packet get dropped as well which is retransmitted back to the client after a while (without mss adjustment, the retransmitted Packets are 1398 bytes as well), so slowness in opening the application is still there. Would you have any idea what could be causing this? Thanks so much for the guidance anyway Chris! Priceless lectures!
@siamosht
@siamosht 3 жыл бұрын
You are awesome man, learnt so much from this. Great explanation.
@ChrisGreer
@ChrisGreer 3 жыл бұрын
Thanks for watching! Glad it helped.
@qwerty4me333
@qwerty4me333 Жыл бұрын
This is an awesome talk I am new to wireshark and packets but watching your talk on D.Bombal right before this talk made the topic understandable and approachable.
@jerryxie777
@jerryxie777 Жыл бұрын
Great great vedio, this is the best course about the usage for wireshark I have even seen even 4 years pass. Thank you😊
@ChrisGreer
@ChrisGreer Жыл бұрын
Thank you!!
@gusmcknight6057
@gusmcknight6057 5 жыл бұрын
Thank you for the great information.
@bradstudio
@bradstudio 2 жыл бұрын
Excellent video to get interested in the guts of TCP. This has me very interested in testing my network and servers now to see if there are any optimizations or bottlenecks now.
@ChrisGreer
@ChrisGreer 2 жыл бұрын
Thanks for the comment!
@lenyfreeman3807
@lenyfreeman3807 7 ай бұрын
These two videos took my understanding of TCP to a whole new level. Thank you.
@ChrisGreer
@ChrisGreer 6 ай бұрын
Glad you like the content! Thanks for the comment.
@innuite
@innuite 3 жыл бұрын
65535 - that's how many "aha" moments I got watching your video. Awesome stuff Chris!!
@sarangad8701
@sarangad8701 Жыл бұрын
Chris, this is like getting enlightened, thank you
@theotherguy6282
@theotherguy6282 Жыл бұрын
thanks man, real nice tutorial, i love the way you started from scratch and gave a solid base. thanks again
@ChrisGreer
@ChrisGreer Жыл бұрын
Thanks for the comment!
@domagoj19zg
@domagoj19zg 3 жыл бұрын
Thank you! This was very very clear an simple, just like it should be :)
@ChrisGreer
@ChrisGreer 3 жыл бұрын
Awesome! Thanks for the comment - I'm really glad you liked it.
@briandsouza1550
@briandsouza1550 2 жыл бұрын
Such good stuff!! Thanks Chris. Indebted!
@ChrisGreer
@ChrisGreer 2 жыл бұрын
Glad you enjoyed it!
@umeshshetty0605
@umeshshetty0605 Жыл бұрын
Watched this video for the 7th time and can see this for 7 more time :)
@mosheenkhan
@mosheenkhan 4 жыл бұрын
Havent seen such detailed explanation of TCP. This is awesome stuff Chris. Do you write books as well.
@maumotec2345
@maumotec2345 2 жыл бұрын
What an amazing content this is. You rock Chris.
@ChrisGreer
@ChrisGreer 2 жыл бұрын
Thanks for the comment!
@romualdgarcia9108
@romualdgarcia9108 3 жыл бұрын
Great job! Thanks!
@nandhakumarnnk2293
@nandhakumarnnk2293 4 жыл бұрын
Excellent Sir..... Worth 🥰🥰🥰
@ChrisGreer
@ChrisGreer 4 жыл бұрын
Thank you for the comment!
@danbyun0110
@danbyun0110 2 жыл бұрын
You're amazing! Thank you for the wonderful content!
@ChrisGreer
@ChrisGreer 2 жыл бұрын
You are most welcome!
@sreenislg
@sreenislg 5 жыл бұрын
Another[part-2] awesome video... Thank you very much; many of the basic concepts are cleared now; Do you have a part 3?
@ChrisGreer
@ChrisGreer 5 жыл бұрын
At this point no - but I do offer remote training on Wireshark and TCP. Please contact me at www.packetpioneer.com/contact for details.
@kalaiyarasanmanoharan5880
@kalaiyarasanmanoharan5880 5 жыл бұрын
Awesome session. Thanks Chris Greer !!
@manasacharya4554
@manasacharya4554 Жыл бұрын
Chris, well explained as always. Can you please upload the packet capture ?
@etclee6630
@etclee6630 5 жыл бұрын
thank you!
@netskills
@netskills 3 жыл бұрын
Hi, Chris! Great explanation! Thanks! I just wonder, could you share your traffic dumps so we could repeat all your moves.
@ChrisGreer
@ChrisGreer 3 жыл бұрын
Greetings NetSkills! For this session I decided not to share them for the general public. But, several of my videos have shared trace files that you can follow along on. Thanks for the comment.
@richardwang3438
@richardwang3438 2 жыл бұрын
real good stuff, I must leave a comment and click a like!
@i_tsyg2531
@i_tsyg2531 5 жыл бұрын
Awesome!
@trduff01
@trduff01 4 ай бұрын
Thanks for these great videos, I'll bet the slow application was a tape drive.
@ramandeora5881
@ramandeora5881 2 ай бұрын
Awesome training! Can I please get these wireshark files as I need to give training in my office!
@yt_legend_papa
@yt_legend_papa 5 жыл бұрын
Hello @all: is there a possibility to get the Trace Files?
@anthonykahwati5999
@anthonykahwati5999 5 жыл бұрын
Awesome.....
@eslamesam547
@eslamesam547 2 жыл бұрын
Hello Chris, may I ask for the pcap traces for window size
@Lovingstoryteller
@Lovingstoryteller 4 жыл бұрын
Hi Chris, Your videos are really helpful and awesome explanations. I really start to enjoy packet analysing. Is there any place I can get different captures with issue description to analyse and later verify my analysed report is correct? thank you for the great videos again
@ChrisGreer
@ChrisGreer 4 жыл бұрын
I am working on more "here is a problem, find the solution" videos! Stay tuned and subscribed for these.
@Lovingstoryteller
@Lovingstoryteller 4 жыл бұрын
@@ChrisGreer great. looking forward to it :)
@anurag3v4
@anurag3v4 3 жыл бұрын
Thanks Chris It's a wonderful explanation 1 doubt: how did you calculate the number of packets that came before ack "referring timestamp 41:00 to 43:00 in this video"?
@TruthYouNeed
@TruthYouNeed 2 жыл бұрын
He counts them until he comes across a delay if you look at the delta time.
@Austin_033
@Austin_033 5 жыл бұрын
Hey Chris, Thank you for the informative videos! Quick question.. Do you know what "4 "NOP" in a row, router may have removed some options" warning/error code means? Thank you for any help :)
@BuickGeek24
@BuickGeek24 5 жыл бұрын
That's just padding
@patrickborys3490
@patrickborys3490 Жыл бұрын
Love it !!!!!
@alexanderreyer2134
@alexanderreyer2134 4 жыл бұрын
Great!
@StanislavRoss
@StanislavRoss 4 жыл бұрын
Some time passed since this video was published but I`ll try to ask anyway :) First... After many years at IT in different roles (System\Network\Security\Managment) I have to say that this is great and clear explanation of TCP and I learned new stuff. Now the question regarding the last case study about LDAP. Actually what happend is some FW between the Client and the File Server just dropped packets (from server to the client) because their MSS exceeded what it alterded in the original SYN,SYN-ACK,ACK packets exchange? I get it right ?
@ChrisGreer
@ChrisGreer 4 жыл бұрын
Hello, thanks for the comment. Close.... A router at the client end was not altering outbound syns to reflect an MSS of 1432 rather than 1460. So the server was sending packets that were too large, thinking that the true MSS was 1460
@lalindamadurangagamage6685
@lalindamadurangagamage6685 5 жыл бұрын
Great session. can you please do a session on "your way of filters".
@ChrisGreer
@ChrisGreer 5 жыл бұрын
kzbin.info/www/bejne/bGnXYWpjgLR7b7s Here you go.
@cantaff0rd2
@cantaff0rd2 2 жыл бұрын
Hi Chris, very nice lecture this is becoming my favorite channel of all time :D. I'm a beginner in TCP/IP and the discussion got a little too complex to me at the end so I got lost a bit please clear this up if you can: In the last part 'TCP MSS Problem' if I understand correctly the MSS which was agreed by the server&client during the handshake was reduced mid communication because of some router which was in between them? Did I get that right? And if so, how is that possible, isn't the MSS something which is only agreed upon during the 3 way handshake and then set in stone for the remaining of the connection? How can some intermediary router change that?
@ChrisGreer
@ChrisGreer 2 жыл бұрын
Hey Paul - Changing the TCP MSS is an option on some routers. Cisco for example allows us to do it for every SYN that goes by. Try searching Google for whatever router manufacturer you are using. The feature is generally called TCP MSS clamping.
@cantaff0rd2
@cantaff0rd2 2 жыл бұрын
@@ChrisGreer thank you!
@sagardhiman5181
@sagardhiman5181 2 жыл бұрын
Hi Chris, Is there a relation b/w receive window and ACK?
@ChrisGreer
@ChrisGreer 2 жыл бұрын
They are different concepts, but related - when a receiving TCP stack is sent data, it should ack that data as soon as possible. Depending on the stack, this may be after receiving one, two, or more segments of data. The RX window is the amount of data that can be received at once. It is basically a receive buffer and limits the amount of outstanding data a sender can put out on the wire. I hope that helps.
@ExcelsiorEngineering
@ExcelsiorEngineering Жыл бұрын
Thank you very nuch
@ChrisGreer
@ChrisGreer Жыл бұрын
You are welcome
@DarrienGlasser
@DarrienGlasser 2 жыл бұрын
Another banger
@Anayasfunzone15
@Anayasfunzone15 Жыл бұрын
Chris, great content as always. I have a scenario where receiver advertised it’s receive window of 211 no window scaling and next packet sender still sends 1460 bytes why would it do that knowing the receiver window size is low. Sender continues to do that why would it do that?
@ChrisGreer
@ChrisGreer Жыл бұрын
Any chance we missed the TCP handshake in the pcap?
@453nabeel
@453nabeel 4 жыл бұрын
Another fantastic session !! Chris , will there be Sharkfest 2019 session? & most importantly will we be able to hear from you this year ?
@ChrisGreer
@ChrisGreer 4 жыл бұрын
Yes! I will post it on my channel soon.
@453nabeel
@453nabeel 4 жыл бұрын
@@ChrisGreerLooking forward for more interesting discussion. You truly are an expert !.
@mishasound
@mishasound Жыл бұрын
Any resources on how to start catching packets (for almost beginners)? Thank you.
@Nicojiin
@Nicojiin 3 жыл бұрын
You are a god
@bernafunda
@bernafunda 5 жыл бұрын
I will definitely go to next sharkfest. Do you have any session or recommendation on detailed SACK analysis ? I also would like to know if you have anything to figure out mtu issues.
@ChrisGreer
@ChrisGreer 5 жыл бұрын
Hello Nanis - not off the top of my head, but SACK analysis would be a great session title. Maybe I'll do that for Sharkfest US 2019
@bernafunda
@bernafunda 5 жыл бұрын
Chris Greer awesome sounds good
@sreenislg
@sreenislg 5 жыл бұрын
Interested to attend 2019 session. who sponsors the whole expenses of the trip/program. I think, individual(candidate) has to bear
@mybluemars
@mybluemars 4 жыл бұрын
51:30 TCP Timestamps
@kansesiddhesh5536
@kansesiddhesh5536 2 жыл бұрын
So if server is only sending mss of 1432 instead of 1460 the remaining 28 packets will go in next round trip. Will client send sack for them?
@453nabeel
@453nabeel 4 жыл бұрын
Do you recommend any authentic book on TCP that should be on our bookshelf and the one that we can consult any time? Please mention. Thanks
@ChrisGreer
@ChrisGreer 4 жыл бұрын
I constantly refer to TCP/IP Illustrated Volume 1 - Second Edition. I think that book should be on the shelf of every network engineer.
@453nabeel
@453nabeel 4 жыл бұрын
@@ChrisGreer thanks you chris
@acasualproduction
@acasualproduction Жыл бұрын
Hi Chris, This is really helpful. I got one question. In one capture, I can see MSS is set as 1460 (as per SYN, SYN/ACK) but later I can see TCP segment length (from client)much higher than 1460 (as high as 7K, 14K, 30K etc). How to explain that? The capture is on the client side with iperf. The client and servers are back to back connected.
@ChrisGreer
@ChrisGreer Жыл бұрын
Hey thanks for the comment. That is because you are capturing on the client before the NIC segments the data. That is a very common thing, the kernel stack can offload TCP segmentation down to the NIC, so that the packet driver level, we see really large frames, but if these same frames were captured on the wire, they would be segmented according to the link-partner MSS or smaller.
@acasualproduction
@acasualproduction Жыл бұрын
Got it. Thanks a lot..
@MrAbapper
@MrAbapper 2 жыл бұрын
For case study, MSS problem i was confused with the explaination, since it was saying the outbound router of the client side was replaced and missed the config, but the talking at the end is saying the server is getting 1432 mss advertised by the client, and but the trace we actually referring to the client side capture rigth? So the server side is thinking client is doing 1460, but client side router is only doing 1432, and passed mss size to client, so when server tried 1460, no go, being dropped by client side router.
@ChrisGreer
@ChrisGreer 2 жыл бұрын
Hello, great question. Yes that is correct. The outbound router on the client side was not adjusting the MSS in the outbound SYN. So when it arrived at the server, it was 1460. But the outbound router on the server side was adjusting the SYN MSS in the opposite direction. So the client knows to not send anything larger than 1432, but the server never got the message, so it sends 1460's in an attempt to use the full MSS of the client. Hope that helps. Thanks for the comment!
@muneebrahman.m9079
@muneebrahman.m9079 3 жыл бұрын
if the server side bucket is filling up and server side app is the cause how can we say client is hanging us up
@ChrisGreer
@ChrisGreer 3 жыл бұрын
In that case the server would be hanging us up if its RX window was filling.
@protek7028
@protek7028 Жыл бұрын
Can i get this pcapng file ?
@gabrielannk
@gabrielannk 2 жыл бұрын
I want to star every s i n g l e Wednesday like 0:06
@edsonrocks
@edsonrocks 3 жыл бұрын
Thank you for this incredible and very clear explanation Chris, you rock! BTW, at 36:23 Chris has mentioned about Simon's talk about different TCP congestion algorithms, it's available at: kzbin.info/www/bejne/aJTSoo1mbJKMntk
@ChrisGreer
@ChrisGreer 3 жыл бұрын
Thanks for the comment Edson! I really appreciate the feedback.
@harishsharma9621
@harishsharma9621 2 жыл бұрын
kzbin.info/www/bejne/boOsaqqqosijm7s - this is probably the one that Chris referred to in the video
@martinencizo6513
@martinencizo6513 2 жыл бұрын
Please please show subtitles in spanish or english I am from Colombia this video is viewing in all world
@ChrisGreer
@ChrisGreer 2 жыл бұрын
Ok I just fixed that. Thank you!
@DarrienGlasser
@DarrienGlasser 2 жыл бұрын
No part 3? 🥺🥺
@ChrisGreer
@ChrisGreer 2 жыл бұрын
Check out my course at bit.ly/wiresharktcp - that is where all the fun bits are.
@DarrienGlasser
@DarrienGlasser 2 жыл бұрын
@@ChrisGreer 🙏
@faizanashraf1367
@faizanashraf1367 2 жыл бұрын
I am spending my valentine with TCP
@HelloWorld-tn1tl
@HelloWorld-tn1tl 2 жыл бұрын
That guy who keep cough should just get out ...
@ChrisGreer
@ChrisGreer 2 жыл бұрын
agreed. Today the whole audience probably would have gotten up and walked out!
TCP Tips and Tricks - SLOW APPLICATIONS? // Wireshark TCP/IP Analysis
1:02:22
Как быстро замутить ЭлектроСамокат
00:59
ЖЕЛЕЗНЫЙ КОРОЛЬ
Рет қаралды 4,3 МЛН
The most impenetrable game in the world🐶?
00:13
LOL
Рет қаралды 25 МЛН
How IP FRAGMENTATION Works
14:41
Chris Greer
Рет қаралды 43 М.
How TCP really works // Three-way handshake // TCP/IP Deep Dive
1:01:10
Will QUIC Kill TCP? // Wireshark Talk
1:14:31
Chris Greer
Рет қаралды 29 М.
What happens when a client connects?
10:47
Chris Greer
Рет қаралды 25 М.
How TCP RETRANSMISSIONS Work // Analyzing Packet Loss
9:26
Chris Greer
Рет қаралды 49 М.
How TCP Works - The Handshake
13:53
Chris Greer
Рет қаралды 303 М.
OS Fingerprinting Using Nmap
0:28
CodeWithMobile
Рет қаралды 238
TCP Fundamentals Part 1 // TCP/IP Explained with Wireshark
1:17:24
Chris Greer
Рет қаралды 413 М.
Как быстро замутить ЭлектроСамокат
00:59
ЖЕЛЕЗНЫЙ КОРОЛЬ
Рет қаралды 4,3 МЛН