๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
HTTP 1.1 VS HTTP2.0/Capstone design

Socket ๊ณผ Stream

by ๋„์บ๋ฆฌ๐Ÿฑ 2021. 7. 25.
๋ฐ˜์‘ํ˜•

Socket

OSI7 Layer ๋‚˜,TCP/IP 4 Layer์— ๋Œ€ํ•ด ๋“ค์–ด๋ดค์„ ๊ฒƒ์ด๋‹ค. 

(ํ˜น์‹œ ๋“ค์–ด๋ณด์ง€ ์•Š์•˜๋‹ค๋ฉด ๊ฐ„๋‹จํ•œ ๊ตฌ๊ธ€๋ง์„ ํ†ตํ•ด ๊ฐœ๋…์„ ํ™•์ธํ•˜์ž!)

 

์—ฌํ•˜ํŠผ, ์ด๋Ÿฐ ๊ณ„์ธต์ด ํ•„์š”ํ•œ ์ด์œ ๋Š” ๋„คํŠธ์›Œํฌ ์žฅ๋น„ ํ”„๋กœ๊ทธ๋žจ์ด๋‚˜ ์žฅ๋น„๊ฐœ๋ฐœ์„ ์‰ฝ๊ฒŒํ•˜๊ธฐ ์œ„ํ•จ์ด๋ผ๊ณ  ๋ณผ์ˆ˜ ์žˆ๋‹ค.

๊ณ„์ธต์„ ๋‚˜๋ˆ”์œผ๋กœ์จ ๋ช‡ ๊ฐœ์˜ ํ”„๋กœํ† ์ฝœ๋กœ ๊ฐœ๋ฐœ์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ

๊ทธ๋Ÿฌ๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ•ด๋‹นํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์„ ๊ตฌํ˜„ํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ด ์žˆ์–ด์•ผ ํ•œ๋‹ค!

 

๋‹คํ–‰์ด ๊ตฌํ˜„ํ•˜๋Š” ํ”„๋กœํ† ์ฝœ, ์ฆ‰ ์ด๋ฏธ ๋งŒ๋“ค์–ด์ง„ ์ฝ”๋“œ๋Š” ์ œ๊ณต๋˜๋Š”๋ฐ

์ด๊ฒŒ ๋ฐ”๋กœ ์†Œ์ผ“์ด๋‹ค.

 

์†Œ์ผ“์—์„œ ์ง€์›ํ•˜๋Š” ๋‹ค์–‘ํ•œ ํ•จ์ˆ˜๋Š” ์ธํ„ฐ๋„ท ์‚ฌ์šฉ ํ”„๋กœํ† ์ฝœ์„ ์ง€์›ํ•œ๋‹ค.

 

TCP/IP ๊ณ„์ธต์—์„œ ๋ณด๋ฉด ์ „์†ก๊ณ„์ธต ์œ„์— ๋†“๊ธฐ๊ฒŒ ๋˜์–ด, ์ „์†ก ๊ณ„์ธต ์œ„์— ๋†“์—ฌ ์†Œ์ผ“ ๊ณ„์ธต์ด๋ผ๊ณ  ๋ถˆ๋ฆฌ๊ธฐ๋„ ํ•œ๋‹ค.

 

์†Œ์ผ“์ด ํ•˜๋Š” ์ผ์€ ๋Œ€๋ฝ์ น์œผ๋กœ ์•„๋ž˜ ์‚ฌ์ง„๊ณผ ๊ฐ™๋‹ค๊ณ  ์ดํ•ดํ•˜๋ฉด ์ดํ•ด๊ฐ€ ์‰ฝ๋‹ค.

 

์†Œ์ผ“์€ SW์™€ SW๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ์—ญํ• ๊ณผ, 

SW๊ฐ„ Data ํ†ต์‹ ์„ ๋‹ด๋‹นํ•œ๋‹ค.

์†Œ์ผ“์ด ํ•˜๋Š” ์ผ

ํฌ๋กฌ ๋ถ€๋ผ์šฐ์ €์—์„œ ์–ด๋–ค ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ง„ ์„œ๋ฒ„์˜ ์ด๋ฏธ์ง€๋ฅผ ์š”์ฒญํ•˜๋Š” ์›น ์„œ๋น„์Šค ํ˜•ํƒœ๋ฅผ ์˜ˆ์‹œ๋กœ,

์†Œ์ผ“์˜ ์—ญํ• ์„ ์‚ดํŽด๋ณด๋ฉด

socket() ํ•จ์ˆ˜๋กœ ์†Œ์ผ“์„ ์ƒ์„ฑํ•˜๊ณ  

connect() ํ•จ์ˆ˜์™€ accept()ํ•จ์ˆ˜๋กœ ์†Œ์ผ“๊ณผ ์†Œ์ผ“์„ ์—ฐ๊ฒฐํ•œ๋‹ค.

์—ฐ๊ฒฐ ์ดํ›„ Socket์˜ ๋˜ ๋‹ค๋ฅธ ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ํ†ต์‹ ํ•œ๋‹ค.

 

์ถ”๊ฐ€๋กœ, ๋‘๊ฐœ์˜ ํ”„๋กœ๊ทธ๋žจ์ด ์—ฐ๊ฒฐ๋  ๋•Œ ์„œ๋กœ๋ฅผ ์–ด๋–ป๊ฒŒ ์—ฐ๊ฒฐํ•˜๋Š”์ง€์— ๋Œ€ํ•ด์„œ๋Š” Port๋ฒˆํ˜ธ์™€ IP ์ด๋‹ค. 

IP ๋Š” ์‰ฝ๊ฒŒ ์ปดํ”์˜ ์œ„์น˜๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ์ด๊ณ , Port ๋ฒˆํ˜ธ๋Š” ์ปดํ“จํ„ฐ ๋‚ด์˜ ํ”„๋กœ๊ทธ๋žจ ์œ„์น˜๋ฅผ ์ฐพ๋Š”๋ฐ ์‚ฌ์šฉํ•œ๋‹ค.

 

 

 

Stream

์ŠคํŠธ๋ฆผ์€ ์ž…์ถœ๋ ฅ ์žฅ์น˜์— ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•˜๊ณ , ์ถœ๋ ฅํ•˜๋Š” ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด ์ŠคํŠธ๋ฆผ์ด ์กด์žฌํ•œ๋‹ค.

์ž…์ถœ๋ ฅ ์žฅ์น˜(ํ‚ค๋ณด๋“œ/ ๋งˆ์šฐ์Šค ๋“ฑ) ๋งŒํผ ๋‹ค์–‘ํ•œ ์ŠคํŠธ๋ฆผ์ด ์กด์žฌํ•˜๋ฉฐ

๋ฐ์ดํ„ฐ, ํŒจํ‚ท, ๋น„ํŠธ ๋“ฑ ์ผ๋ จ์˜ ์—ฐ์†์„ฑ์„ ๊ฐ–๋Š” ํ๋ฆ„์„  ์˜๋ฏธํ•œ๋‹ค.

 

์•„๋ž˜ ๋ธ”๋กœ๊ทธ์— Stream ์— ๋Œ€ํ•œ ์ •๋ฆฌ๊ฐ€ ์ž˜ ๋˜์–ด์žˆ์–ด์„œ ๋„์›€์ด ๋งŽ์ด ๋˜์—ˆ๋‹ค.

https://genesis8.tistory.com/230

๋ฐ˜์‘ํ˜•