General/๐Ÿ•ธ Network

[ํ•˜๋ฃจ 3๋ถ„ ๋„คํŠธ์›Œํฌ] - ์ปค๋„ฅ์…˜๊ณผ ์„ธ๊ทธ๋จผํŠธ

woozzang 2021. 4. 13. 12:39
๐Ÿค–๐ŸŸข[์šฐ์งฑ์˜ iOS ๋ธ”๋กœ๊ทธ]๐Ÿ”ต๐Ÿ’ป

iOS๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ๋ฐฐ์šด ๋‚ด์šฉ์„ ๊ธฐ๋กํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์ „ ๊ธ€: [ํ•˜๋ฃจ 3๋ถ„ ๋„คํŠธ์›Œํฌ] - ๋ผ์šฐํŒ… ํ”„๋กœํ† ์ฝœ, RIP, ICMP, Echo & Time Exceeded (21/04/06)

 

๋“œ๋””์–ด ๋งˆ์ง€๋ง‰ ์ฑ•ํ„ฐ์ž…๋‹ˆ๋‹ค!

4๊ณ„์ธต ~ 7๊ณ„์ธต์— ๋Œ€ํ•œ ๋‚ด์šฉ์ด ์žˆ์œผ๋ฉฐ ์˜ค๋Š˜์€ 4๊ณ„์ธต TCP ์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

์‹œ์ž‘ํ•ด๋ณผ๊ฒŒ์š”~๐Ÿถ


์˜ค๋Š˜ ๋ฐฐ์šด ๋‚ด์šฉ : ์ปค๋„ฅ์…˜๊ณผ ์„ธ๊ทธ๋จผํŠธ

 

์Šค์Šค๋กœ ์งˆ๋ฌธํ•ด๋ณด๊ธฐ๐Ÿ’ก

์Šค์Šค๋กœ ์งˆ๋ฌธํ•ด๋ณด๋ฉด์„œ ๋ฐฐ์šด๋‚ด์šฉ์„ ์ƒ๊ธฐํ•ด๋ณด๊ณ , ๊ธฐ์–ต๋‚˜์ง€ ์•Š๋Š” ๋ถ€๋ถ„์€ ๋‹ค์‹œ ์ •๋ฆฌํ•ด๋ณด์•„์š”~

 

4๊ณ„์ธต์— ์—ญํ• ์— ๋Œ€ํ•ด์„œ ๊ฐ„๋žตํ•˜๊ฒŒ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

 

TCP ์ปค๋„ฅ์…˜์ด ์™œ ํ•„์š”ํ•œ์ง€ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

 

TCP ํ—ค๋” ์ค‘ 6๋น„ํŠธ๋ฅผ ์ฐจ์ง€ํ•˜๊ณ  ์žˆ๋Š” ์ œ์–ด๋น„ํŠธ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

 

์ปค๋„ฅ์…˜ ํ™•๋ฆฝ์˜ ์กฐ๊ฑด์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

 

3-way Handshake์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

 

์„ธ๊ทธ๋จผํŠธ๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?

 

์‹œํ€€์Šค ๋ฒˆํ˜ธ๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?

 

MSS ๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”? 

 

 TCP ํ—ค๋” ๊ตฌ์กฐ

 

TCP์—์„œ์˜ ๋ฐ์ดํ„ฐ ์ „์†ก์—๋Š” [ ] ์ด ํ•„์š”ํ•˜๋‹ค.

 

์ปค๋„ฅ์…˜์˜ ํ™•๋ฆฝ์€ [ ] ๋ฐฉ์‹์œผ๋กœ ์ˆ˜ํ–‰ํ•œ๋‹ค.

 

ํฐ ๋ฐ์ดํ„ฐ๋Š” [ ] ๋กœ ๋ถ„ํ• ํ•ด์„œ ์ „์†กํ•œ๋‹ค.

 

์ „์†ก๋˜๋Š” ๋ฐ์ดํ„ฐ์—๋Š” ์ˆœ์„œ๋Œ€๋กœ [ ] ๊ฐ€ ๋ถ€์—ฌ๋œ๋‹ค.

 

 

๐Ÿ‘‡๐Ÿป๐Ÿ‘‡๐Ÿป๐Ÿ‘‡๐Ÿป ๋‹ต์€ ๋”๋ณด๊ธฐ์— 

๋”๋ณด๊ธฐ

4๊ณ„์ธต์— ์—ญํ• ์— ๋Œ€ํ•ด์„œ ๊ฐ„๋žตํ•˜๊ฒŒ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

4๊ณ„์ธต์˜ ์—ญํ• ์€ ์ „๋‹ฌํ•  ํ˜น์€ ์ „๋‹ฌํ•œ ๋ฐ์ดํ„ฐ์— ํ•„์š”ํ•œ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ตฌ์ฒด์ ์œผ๋กœ ์—๋Ÿฌ๋ณต๊ตฌ, ํ๋ฆ„์ œ์–ด, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹๋ณ„ ๋“ฑ์˜ ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

 

TCP ์ปค๋„ฅ์…˜์ด ์™œ ํ•„์š”ํ•œ์ง€ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

"๊ฐ€์ƒ์ ์ธ ํ†ต์‹ ๋กœ", "๋ฐ์ดํ„ฐ์˜ ๊ธธ"

์•ฑ๊ณผ ์•ฑ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ์— ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. 3๊ณ„์ธต๊นŒ์ง€๋Š” ์ปดํ“จํ„ฐ์™€ ์ปดํ“จํ„ฐ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

'์ปดํ“จํ„ฐ๊นŒ์ง€ ๋ฐ์ดํ„ฐ๊ฐ€ ๋„๋‹ฌํ•œ ๊ฒƒ' ๊ณผ '๋ฐ์ดํ„ฐ๋ฅผ ํ™•์‹คํ•˜๊ฒŒ ์ฃผ๊ณ  ๋ฐ›๋Š” ๊ฒƒ' ์€ ๋ณ„๊ฐœ์˜ ์ผ์ž…๋‹ˆ๋‹ค.

 

TCP ํ—ค๋” ์ค‘ 6๋น„ํŠธ๋ฅผ ์ฐจ์ง€ํ•˜๊ณ  ์žˆ๋Š” ์ œ์–ด๋น„ํŠธ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

 TCP ๋ฐ์ดํ„ฐ์˜ ์˜๋ฏธ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. (SYN, ACK, FIN ๋“ฑ์„ 1 ๋˜๋Š” 0์œผ๋กœ ํ‘œํ˜„ )

 

์ปค๋„ฅ์…˜ ํ™•๋ฆฝ์˜ ์กฐ๊ฑด์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

1. ์†ก์‹ ์ฒ˜๋Š” ์ˆ˜์‹ ์ฒ˜์—๊ฒŒ ์ปค๋„ฅ์…˜ ํ™•๋ฆฝ ์š”์ฒญ (TCP ํ—ค๋” ์ œ์–ด๋น„ํŠธ SYN = 1 ๋กœ ์„ค์ •ํ•˜์—ฌ ๋ณด๋ƒ„) ์„ ํ•ฉ๋‹ˆ๋‹ค.

2. ์ˆ˜์‹ ์ฒ˜๊ฐ€ ์š”์ฒญ ์‘๋‹ต์„ ํ•ฉ๋‹ˆ๋‹ค. ( TCP ํ—ค๋” ์ œ์–ด๋น„ํŠธ ACK = 1 ๋กœ ์„ค์ •ํ•˜์—ฌ ๋ณด๋ƒ„ )

3. ์ˆ˜์‹ ์ฒ˜๊ฐ€ ์†ก์‹ ์ฒ˜์—๊ฒŒ ์ปค๋„ฅ์…˜ ํ™•๋ฆฝ ์š”์ฒญ์„ ํ•ฉ๋‹ˆ๋‹ค. 2๋ฒˆ๊ณผ 3๋ฒˆ ๊ณผ์ •์€ ํ•œ ๊ฐœ์˜ TCP ๋ฉ”์‹œ์ง€๋กœ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

4. ์†ก์‹ ์ฒ˜๊ฐ€ ์ˆ˜์‹ ์ฒ˜์—๊ฒŒ ์š”์ฒญ ์‘๋‹ต์„ ํ•ฉ๋‹ˆ๋‹ค.

5. ์Œ๋ฐฉ์ด ์ปค๋„ฅ์…˜ ESTABLISHED ๊ฐ€ ๋˜๋ฉด ์ปค๋„ฅ์…˜ ํ™•๋ฆฝ์ด ๋ฉ๋‹ˆ๋‹ค.

 

3-way Handshake์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

์œ„์˜ ์ปค๋„ฅ์…˜ ํ™•๋ฆฝ ๊ณผ์ •์„ ๋ณด๋ฉด ์ด 3ํšŒ์˜ ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹ ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์„ 3-way Handshake ๋ฐฉ์‹์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

 

์„ธ๊ทธ๋จผํŠธ๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?

TCP ๋Š” APP ์œผ๋กœ ๋ถ€ํ„ฐ ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ์„ธ๊ทธ๋จผํŠธ๋กœ ์บก์Аํ™” ํ•ฉ๋‹ˆ๋‹ค.

์„ธ๊ทธ๋จผํŠธ๋ž€ TCP ๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์—๊ฒŒ์„œ ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜๋ˆ„๋Š” ๋‹จ์œ„ ์ž…๋‹ˆ๋‹ค.

์ฐธ๊ณ ๋กœ ์•ฑ์—์„œ ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋Š” 1์˜ฅํ…Ÿ๋งˆ๋‹ค ๋ฒˆํ˜ธ๊ฐ€ ๋ถ™์Šต๋‹ˆ๋‹ค.

 

์‹œํ€€์Šค ๋ฒˆํ˜ธ๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?

์‹œํ€€์Šค ๋ฒˆํ˜ธ๋Š” ์„ธ๊ทธ๋จผํŠธ๋งˆ๋‹ค ๋ฐฐ์ •๋˜๋Š” ๋ฒˆํ˜ธ์ธ๋ฐ, ๋”ฐ๋กœ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด์•„๋‹ˆ๋ผ ์„ธ๊ทธ๋จผํŠธ ์˜ ์„ ๋‘ ๋ฐ์ดํ„ฐ์˜ ๋ฒˆํ˜ธ๋ฅผ ์‹œํ€€์Šค ๋ฒˆํ˜ธ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. TCP ํ—ค๋”์— ์‹œํ€€์Šค ๋ฒˆํ˜ธ ๋น„ํŠธ์—ด (32๋น„ํŠธ) ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

 

MSS ๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?

"Maximum Segment Size"

์„ธ๊ทธ๋จผํŠธ๊ฐ€ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์‚ฌ์ด์ฆˆ ์ž…๋‹ˆ๋‹ค.

TCP ๋Š” ํ•œ ๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ MSS ๋กœ ๋ถ„ํ•  ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ ๊ฒฐ๊ณผ๋กœ ํ•œ ๊ฐœ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋‹ค์ˆ˜์˜ ์„ธ๊ทธ๋จผํŠธ๋กœ ์ชผ๊ฐœ์ง‘๋‹ˆ๋‹ค.

ํ‰๊ท ์ ์ธ MSS ์˜ ํฌ๊ธฐ๋Š” 1460 ์˜ฅํ…Ÿ ์ž…๋‹ˆ๋‹ค.

( ํ‰๊ท  ์ธํ„ฐ๋„ท ์ตœ๋Œ€ ๋ฐ์ดํ„ฐ ํฌ๊ธฐ 1500 ์˜ฅํ…Ÿ - IP ํ—ค๋” 20์˜ฅํ…Ÿ - TCP ํ—ค๋” 20์˜ฅํ…Ÿ = 1460)

 

๋นˆ์นธ ์ •๋‹ต

์ปค๋„ฅ์…˜ ํ™•๋ฆฝ, 3-way Handshake, MSS, ๋ฒˆํ˜ธ