[{"data":1,"prerenderedAt":154},["ShallowReactive",2],{"term-t\u002Fthree-way-handshake":3,"related-t\u002Fthree-way-handshake":142},{"id":4,"title":5,"acronym":6,"body":7,"category":124,"description":125,"difficulty":126,"extension":127,"letter":128,"meta":129,"navigation":81,"path":130,"related":131,"seo":136,"sitemap":137,"stem":140,"subcategory":6,"__hash__":141},"terms\u002Fterms\u002Ft\u002Fthree-way-handshake.md","Three-Way Handshake",null,{"type":8,"value":9,"toc":118},"minimark",[10,15,19,23,26,30,107,111,114],[11,12,14],"h2",{"id":13},"eli5-the-vibe-check","ELI5 — The Vibe Check",[16,17,18],"p",{},"The three-way handshake is the official name for how TCP sets up a connection in exactly three steps: SYN, SYN-ACK, ACK. It's like calling someone: you dial (SYN), they pick up and say hello (SYN-ACK), you say hi back (ACK). Now you're connected and talking.",[11,20,22],{"id":21},"real-talk","Real Talk",[16,24,25],{},"The three-way handshake is TCP's connection establishment mechanism: (1) Client sends SYN with its initial sequence number, (2) Server responds with SYN-ACK acknowledging the client's SYN and sending its own sequence number, (3) Client sends ACK completing the connection setup.",[11,27,29],{"id":28},"show-me-the-code","Show Me The Code",[31,32,37],"pre",{"className":33,"code":34,"language":35,"meta":36,"style":36},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Visualize TCP handshake with tcpdump\ntcpdump -i eth0 'tcp[tcpflags] & (tcp-syn|tcp-ack) != 0' -n\n\n# You'll see:\n# client > server: Flags [S]  (SYN)\n# server > client: Flags [S.] (SYN-ACK)\n# client > server: Flags [.]  (ACK)\n","bash","",[38,39,40,49,76,83,89,95,101],"code",{"__ignoreMap":36},[41,42,45],"span",{"class":43,"line":44},"line",1,[41,46,48],{"class":47},"sHwdD","# Visualize TCP handshake with tcpdump\n",[41,50,52,56,60,63,67,70,73],{"class":43,"line":51},2,[41,53,55],{"class":54},"sBMFI","tcpdump",[41,57,59],{"class":58},"sfazB"," -i",[41,61,62],{"class":58}," eth0",[41,64,66],{"class":65},"sMK4o"," '",[41,68,69],{"class":58},"tcp[tcpflags] & (tcp-syn|tcp-ack) != 0",[41,71,72],{"class":65},"'",[41,74,75],{"class":58}," -n\n",[41,77,79],{"class":43,"line":78},3,[41,80,82],{"emptyLinePlaceholder":81},true,"\n",[41,84,86],{"class":43,"line":85},4,[41,87,88],{"class":47},"# You'll see:\n",[41,90,92],{"class":43,"line":91},5,[41,93,94],{"class":47},"# client > server: Flags [S]  (SYN)\n",[41,96,98],{"class":43,"line":97},6,[41,99,100],{"class":47},"# server > client: Flags [S.] (SYN-ACK)\n",[41,102,104],{"class":43,"line":103},7,[41,105,106],{"class":47},"# client > server: Flags [.]  (ACK)\n",[11,108,110],{"id":109},"when-youll-hear-this","When You'll Hear This",[16,112,113],{},"\"The three-way handshake must complete before HTTP data is sent.\" \u002F \"QUIC eliminates the need for a separate three-way handshake.\"",[115,116,117],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":36,"searchDepth":51,"depth":51,"links":119},[120,121,122,123],{"id":13,"depth":51,"text":14},{"id":21,"depth":51,"text":22},{"id":28,"depth":51,"text":29},{"id":109,"depth":51,"text":110},"networking","The three-way handshake is the official name for how TCP sets up a connection in exactly three steps: SYN, SYN-ACK, ACK.","intermediate","md","t",{},"\u002Fterms\u002Ft\u002Fthree-way-handshake",[132,133,134,135],"TCP Handshake","TCP","SYN","Latency",{"title":5,"description":125},{"changefreq":138,"priority":139},"weekly",0.7,"terms\u002Ft\u002Fthree-way-handshake","Qy_ECz1Sx2s5Cvn2KnrjIAkZi_rQbdzv4_dJJsiGtIg",[143,147,151],{"title":135,"path":144,"acronym":6,"category":124,"difficulty":145,"description":146},"\u002Fterms\u002Fl\u002Flatency","beginner","Latency is the delay before data starts moving — the time it takes for a request to go from your device to the server and back.",{"title":133,"path":148,"acronym":149,"category":124,"difficulty":126,"description":150},"\u002Fterms\u002Ft\u002Ftcp","Transmission Control Protocol","TCP is like sending a package with delivery confirmation.",{"title":132,"path":152,"acronym":6,"category":124,"difficulty":126,"description":153},"\u002Fterms\u002Ft\u002Ftcp-handshake","The TCP handshake is the 'are you ready?' dance before TCP data flows. It's a three-step process: your computer says 'SYN' (hello?",1776518318825]