์™€์ด์–ด์ƒคํฌ๋ฅผ ์ด์šฉํ•œ TCP ํ”„๋กœํ† ์ฝœ ๋ถ„์„

728x90
๋ฐ˜์‘ํ˜•
๋ถ„์„ํ•  ํŒจํ‚ท ์กฐ๊ฑด

- TCP ์—ฐ๊ฒฐ ์„ค์ •์ธ 3-WAY ํ•ธ๋“œ์‰์ดํ‚น ๊ณผ์ •์—์„œ 2๋ฒˆ์งธ ๊ณผ์ •์ธ SYN/ACK ํ•„๋“œ๊ฐ€ 1๋กœ ์„ค์ •๋œ ํŒจํ‚ท
- TCP ํฌํŠธ๊ฐ€ 80(HTTP)์ธ ํŒจํ‚ท

 

 

1. TCP ์—ฐ๊ฒฐ ์„ค์ •: 3-WAY ํ•ธ๋“œ์‰์ดํ‚น ๊ณผ์ •

 

TCP ์—ฐ๊ฒฐ ์„ค์ •์—์„œ 3-WAY ํ•ธ๋“œ์‰์ดํ‚น์€ ์ค‘์š”ํ•œ ์ ˆ์ฐจ์ด๋‹ค. ์ด ๊ณผ์ •์€ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์˜ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค.

 

3-WAY ํ•ธ๋“œ์‰์ดํ‚น ๊ณผ์ •

โ‘  SYN ํŒจํ‚ท ์ „์†ก

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์—ฐ๊ฒฐ ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉฐ, ์ด๋•Œ SYN ํ”Œ๋ž˜๊ทธ๋ฅผ 1๋กœ ์„ค์ •ํ•œ๋‹ค.

 

โ‘ก SYN/ACK ํŒจํ‚ท ์ „์†ก

์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ๋ฐ›์•„๋“ค์—ฌ ์‘๋‹ตํ•œ๋‹ค. ์ด๋•Œ SYN๊ณผ ACK ํ”Œ๋ž˜๊ทธ๋ฅผ ๋ชจ๋‘ 1๋กœ ์„ค์ •ํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ์— ๋ณด๋‚ธ๋‹ค.

 

โ‘ข ACK ํŒจํ‚ท ์ „์†ก

ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์˜ ์‘๋‹ต์„ ํ™•์ธํ•˜๊ณ , ACK ํ”Œ๋ž˜๊ทธ๋ฅผ 1๋กœ ์„ค์ •ํ•˜์—ฌ ์„œ๋ฒ„์— ๋ณด๋‚ธ๋‹ค.

 

 

2. TCP ํฌํŠธ 80 (HTTP) ํŒจํ‚ท ๋ถ„์„

 

HTTP ํŠธ๋ž˜ํ”ฝ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ TCP ํฌํŠธ 80์„ ์‚ฌ์šฉํ•œ๋‹ค. ์™€์ด์–ด์ƒคํฌ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ด ํŒจํ‚ท์„ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

TCP ํฌํŠธ๊ฐ€ 80(HTTP)์ธ ํŒจํ‚ท ๋ถ„์„

  1. ์™€์ด์–ด์ƒคํฌ ์‹คํ–‰: ์™€์ด์–ด์ƒคํฌ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์„ ํƒํ•œ ํ›„ ์บก์ฒ˜๋ฅผ ์‹œ์ž‘ํ•œ๋‹ค.
  2. ํ•„ํ„ฐ ์„ค์ •: ํ•„ํ„ฐ๋ฅผ tcp.port == 80์œผ๋กœ ์„ค์ •ํ•˜์—ฌ HTTP ํŠธ๋ž˜ํ”ฝ๋งŒ ์บก์ฒ˜ํ•˜๋„๋ก ํ•œ๋‹ค.
  3. 3-WAY ํ•ธ๋“œ์‰์ดํ‚น ๊ณผ์ • ํ™•์ธ: ์บก์ฒ˜๋œ ํŒจํ‚ท ์ค‘ 3-WAY ํ•ธ๋“œ์‰์ดํ‚น ๊ณผ์ •์„ ํ™•์ธํ•œ๋‹ค.
    • ์ฒซ ๋ฒˆ์งธ ํŒจํ‚ท: ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ๋ณด๋‚ด๋Š” SYN ํŒจํ‚ท
    • ๋‘ ๋ฒˆ์งธ ํŒจํ‚ท: ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์— ๋ณด๋‚ด๋Š” SYN/ACK ํŒจํ‚ท (SYN๊ณผ ACK ํ•„๋“œ๊ฐ€ 1๋กœ ์„ค์ •๋จ)
    • ์„ธ ๋ฒˆ์งธ ํŒจํ‚ท: ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ๋ณด๋‚ด๋Š” ACK ํŒจํ‚ท

 

 

3. ์™€์ด์–ด์ƒคํฌ๋ฅผ ์ด์šฉํ•œ ๋ถ„์„ ์ ˆ์ฐจ

โ‘  ํŒจํ‚ท ์บก์ฒ˜

ํŠน์ • ํŠธ๋ž˜ํ”ฝ์„ ์บก์ฒ˜ํ•˜๊ธฐ ์œ„ํ•ด ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์„ ํƒํ•œ ํ›„ ์บก์ฒ˜ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•œ๋‹ค.

 

โ‘ก ํ•„ํ„ฐ๋ง

ํ•„ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ด€์‹ฌ ์žˆ๋Š” ํŒจํ‚ท์„ ์„ ํƒํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, tcp.port == 80 ํ•„ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ HTTP ํŠธ๋ž˜ํ”ฝ๋งŒ ํ‘œ์‹œํ•œ๋‹ค.

 

 

 

โ‘ข ํŒจํ‚ท ์„ธ๋ถ€ ์‚ฌํ•ญ ๋ถ„์„

๊ฐ ํŒจํ‚ท์„ ํด๋ฆญํ•˜์—ฌ ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ํ™•์ธํ•œ๋‹ค. SYN/ACK ํŒจํ‚ท์—์„œ SYN๊ณผ ACK ํ•„๋“œ๊ฐ€ 1๋กœ ์„ค์ •๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

โ‘ฃ ํ•ธ๋“œ์‰์ดํ‚น ๊ณผ์ • ํ™•์ธ

3-WAY ํ•ธ๋“œ์‰์ดํ‚น ๊ณผ์ •์„ ๋”ฐ๋ผ๊ฐ€๋ฉฐ ๊ฐ ํŒจํ‚ท์˜ ์ˆœ์„œ์™€ ํ”Œ๋ž˜๊ทธ ์„ค์ •์„ ํ™•์ธํ•œ๋‹ค.

 

 

โ“ Sequence Number = 1

๋ชฉ์ ์ง€ TCP์—๊ฒŒ ์„ธ๊ทธ๋จผํŠธ์˜ ์ฒซ ๋ฒˆ์งธ ๋ฐ”์ดํŠธ๊ฐ€ ์ด ๋ฒˆํ˜ธ์— ํ•ด๋‹นํ•˜๋Š” ๋ฐ”์ดํŠธ๋ผ๋Š” ๊ฒƒ์„ ์•Œ๋ ค์คŒ

 

โ“‘ Acknowledgement = 1

์„ธ๊ทธ๋จผํŠธ๋ฅผ ์ˆ˜์‹ ํ•œ ์ˆ˜์‹  ๋…ธ๋“œ๊ฐ€ ์ƒ๋Œ€ํŽธ ๋…ธ๋“œ๋กœ๋ถ€ํ„ฐ ์ˆ˜์‹ ํ•˜๊ณ  ์ž ํ•˜๋Š” ๋ฐ”์ดํŠธ์˜ ๋ฒˆํ˜ธ ์ •์˜

 

โ“’ Control Bit

ECE = 0 // ECN-Echo

CWR = 0 // Congestion Window Reduced

URG = 0 // Urgent pointer is valid

ACK = 1 // Acknowledgement is valid

PSH = 0 // Request for Push

RST = 0 // Reset the connection

SYN = 1 // Synchronize sequence numbers

FIN = 0 // Terminate the connection

 

 

 

์ด ๊ธ€์ด ์™€์ด์–ด์ƒคํฌ๋ฅผ ์ด์šฉํ•œ TCP ํ”„๋กœํ† ์ฝœ ๋ถ„์„์— ๋„์›€์ด ๋˜๊ธธ ๋ฐ”๋ž€๋‹ค. ์™€์ด์–ด์ƒคํฌ๋ฅผ ํ†ตํ•ด TCP ์—ฐ๊ฒฐ ์„ค์ • ๊ณผ์ •์„ ์‹œ๊ฐ์ ์œผ๋กœ ํ™•์ธํ•˜๊ณ  ์ดํ•ดํ•˜๋ฉด ๋„คํŠธ์›Œํฌ ํ”„๋กœํ† ์ฝœ์˜ ๋™์ž‘ ๋ฐฉ์‹์„ ๋ช…ํ™•ํžˆ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฐ˜์‘ํ˜•