์ฐ์ ๊ธฐ๋ก ๐ช
[๋ฉด์ ์ ์ํ CS ์ ๊ณต์ง์ ๋ ธํธ] ๋คํธ์ํฌ ๋ณธ๋ฌธ
[๋ฉด์ ์ ์ํ CS ์ ๊ณต์ง์ ๋ ธํธ] ๋คํธ์ํฌ
kite707 2023. 11. 5. 16:54
์ฒ๋ฆฌ๋(throughput) : ๋งํฌ ๋ด์์ ์ฑ๊ณต์ ์ผ๋ก ์ ๋ฌ๋ ๋ฐ์ดํฐ์ ์, bps
์ง์ฐ์๊ฐ(latency) : ์์ฒญ์ด ์ฒ๋ฆฌ๋๋ ์๊ฐ. ์ด๋ค ๋ฉ์์ง๊ฐ ๋ ์ฅ์น ์ฌ์ด๋ฅผ ์๋ณตํ๋๋ฐ ๊ฑธ๋ฆฐ ์๊ฐ
๋ณ๋ชฉํ์(bottleneck) : ์ ์ฒด ์์คํ ์ ์ฑ๋ฅ์ด๋ ์ฉ๋์ด ํ๋์ ๊ตฌ์ฑ ์์๋ก ์ธํด ์ ํ ๋ฐ๋ ํ์
๋คํธ์ํฌ ์ฑ๋ฅ ๋ถ์ ๋ช ๋ น์ด
๋คํธ์ํฌ ๋ณ๋ชฉ ํ์์ ์๋ ์์ธ๋ค๋ก ์ธํด ์ ๋ฐ๋ ์ ์๋ค.
- ๋คํธ์ํฌ ๋์ญํญ
- ๋คํธ์ํฌ ํ ํด๋ก์ง
- ์๋ฒ CPU, ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋
- ๋นํจ์จ์ ์ธ ๋คํธ์ํฌ ๊ตฌ์ฑ
๋ง์ผ ๋คํธ์ํฌ์ ๊ด๋ จ๋ ํ ์คํธ์ ๊ด๋ จ์๋ ํ ์คํธ๋ฅผ ๊ฐ๊ฐ ์งํํ ๋ค ๋ฌธ์ ์ ์ด ๋คํธ์ํฌ์ ๊ด๋ จ๋์ด์๋ค ๋ผ๋ ๊ฒฐ๋ก ์ด ๋์๋ค๋ฉด ๋คํธ์ํฌ ์ฑ๋ฅ ๋ถ์์ ํด์ผํ๋ค.
ping(Packet INternet Grouper)
ping [IP address or Domain address]
ping์ ๋คํธ์ํฌ ์ํ๋ฅผ ํ์ธํ๋ ค๋ ๋์ ๋ ธ๋๋ฅผ ํฅํด ์ผ์ ๊ทธ๊ธฐ์ ํจํท์ ์ ์กํ๋ ๋ช ๋ น์ด์ด๋ค. ping์ TCP/IPํ๋กํ ์ฝ ์ค ICMPํ๋กํ ์ฝ์ ํตํด ๋์ํ๊ธฐ ๋๋ฌธ์ ICMP ํ๋กํ ์ฝ์ ์ง์ํ์ง ์๋ ๊ธฐ๊ธฐ ๋์์ผ๋ก๋ ์คํํ ์ ์๋ค.
์ฌ๋ฌ๊ฐ์ง ์ต์ ์ด ์๋๋ฐ ์๋ ๋ช ๋ น์ด๋ 12๋ฒ์ ํจํท์ ๋ณด๋ด๋ผ๋ ๋ป์ด๋ค. (๊ต์ฌ์๋ -n์ต์ ์ ์ฃผ์ง๋ง ๋งฅ๋ถ์์๋ -c(count) ์ต์ ์ ์ฃผ์ด์ผ ํ๋ค.)
netstat
์ ์๋์ด ์๋ ์๋น์ค๋ค์ ๋คํธ์ํฌ ์ํ๋ฅผ ํ์ํ๋๋ฐ ์ฌ์ฉ๋๋ค. ์ฃผ๋ก ์๋น์ค์ ํฌํธ๊ฐ ์ด๋ ค์๋์ง ํ์ธํ ๋ ์ด๋ค.
nslookup
dns์ ๊ด๋ จ๋ ๋ด์ฉ์ ํ์ธํ๊ธฐ ์ํด ์ฐ๋ ๋ช ๋ น์ด์ด๋ค. ํน์ ๋๋ฉ์ธ์ ๋งคํ๋ IP๋ฅผ ํ์ธํ ๋ ์ฌ์ฉํ๋ค.
tracert(traceroute)
๋ชฉ์ ์ง ๋ ธ๋๊น์ง ๋คํธ์ํฌ ๊ฒฝ๋ก๋ฅผ ํ์ธํ ๋ ์ฌ์ฉํ๋ ๋ช ๋ น์ด์ด๋ค.
TCP/IP ๊ณ์ธต๊ณผ OSI 7๊ณ์ธต
์ด ๊ณ์ธต๋ค์ ํน์ ๊ณ์ธต์ด ๋ณ๊ฒฝ๋์ด๋ ๋ค๋ฅธ ๊ณ์ธต์ด ์ํฅ์ ๋ฐ์ง ์๋๋ก ์ค๊ณ๋์๋ค.
์ด ์ฑ ์์๋ TCP/IP ๊ณ์ธต์ ๊ธฐ์ค์ผ๋ก ๋คํธ์ํฌ ๊ณ์ธต์ ๋ํด ์ค๋ช ํ๋ค.
์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต
FTP, HTTP, SSH, SMTP, DNS ๋ฑ ์์ฉ ํ๋ก๊ทธ๋จ์ด ์ฌ์ฉ๋๋ ํ๋กํ ์ฝ ๊ณ์ธต์ด๋ค.
FTP | ์ฅ์น ๊ฐ ํ์ผ ์ ์ก |
---|---|
HTTP | ์น ์ฌ์ดํธ๋ฅผ ์ด์ฉํ๋๋ฐ ์ฐ๋ ํ๋กํ ์ฝ |
SSH | ๋ณด์๋์ง ์์ ๋คํธ์ํฌ์์ ๋คํธ์ํฌ ์๋น์ค๋ฅผ ์์ ํ๊ธฐ ์ด์ํ๊ธฐ ์ํ ์ํธํ ํ๋กํ ์ฝ |
SMTP | ์ ์ ๋ฉ์ผ ์ ์ก |
DNS | ๋๋ฉ์ธ ์ด๋ฆ๊ณผ IP์ฃผ์๋ฅผ ๋งคํํด์ฃผ๋ ์๋ฒ |
์ ์ก ๊ณ์ธต
TCP, UDP๊ฐ ๋ํ์ ์ด๋ค.
์ก์ ์์ ์์ ์๋ฅผ ์ฐ๊ฒฐํ๋ ํต์ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ค. ์ฐ๊ฒฐ ์งํฅ ๋ฐ์ดํฐ ์คํธ๋ฆผ ์ง์(?), ์ ๋ขฐ์ฑ, ํ๋ฆ ์ ์ด๋ฅผ ๋ด๋นํ๋ค. ๋ํ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ์ธํฐ๋ท ๊ณ์ธต ์ฌ์ด ๋ฐ์ดํฐ๊ฐ ์ค๊ณ ๊ฐ ๋ ์ค๊ณ ์ญํ ์ ํ๋ค.
TCP๋ ํจํท ์ฌ์ด์ ์์๋ฅผ ๋ณด์ฅํ๋ฉฐ ์์ ์ฌ๋ถ๋ฅผ ํ์ธํ๋ค. ‘๊ฐ์ํ์ ํจํท ๊ตํ ๋ฐฉ์’์ ์ฌ์ฉํ๋ค.
UDP๋ ์์๋ฅผ ๋ณด์ฅํ์ง ์๊ณ ์์ ์ฌ๋ถ๋ฅผ ํ์ธํ์ง ์๋๋ค. ‘๋ฐ์ดํฐ๊ทธ๋จ ํจํท ๊ตํ ๋ฐฉ์’์ ์ฌ์ฉํ๋ค.
๊ฐ์ํ์ ํจํท ๊ตํ ๋ฐฉ์์ ์ ์ก๋๋ ํจํท๋ค์ ์ด๋ ๊ฒฝ๋ก๊ฐ ๋ชจ๋ ๊ฐ๋ค. ๊ทธ๋ฌ๋ ๋ฐ์ดํฐ๊ทธ๋จ ํจํท ๊ตํ ๋ฐฉ์์ ๊ฐ ํจํท๋ค์ด ์ต์ ์ ๊ฒฝ๋ก๋ฅผ ์ ํํ์ฌ ์ด๋ํ๊ธฐ ๋๋ฌธ์ ํจํท๋ค์ ๊ฒฝ๋ก๊ฐ ๋ค๋ฅผ ์ ์๋ค. ๋ฐ๋ผ์ ํจํท๋ค์ ๋์ฐฉ ์์๋ ๋ค๋ฅผ ์ ์๋ค.
์์ TCP๊ฐ ์์ ์ฌ๋ถ๋ฅผ ํ์ธํ๋ค๊ณ ์์ฑํ์๋๋ฐ ์ด ๊ณผ์ ์ ์ข ๋ ์์ธํ ์์๋ณด๋๋ก ํ์. TCP๋ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ธฐ ์ 3-way-handshake๋ผ๋ ์์ ์ ์งํํ๋ค.
- ๋จผ์ ํด๋ผ์ด์ธํธ๋ ์๋ฒ์ ํด๋ผ์ด์ธํธ์ ISN(์๋ก์ด TCP ์ฐ๊ฒฐ์ ์ฒซ๋ฒ์งธ ํจํท์ ํ ๋น๋ ์์์ ์ํ์ค ๋ฒํธ)๋ฅผ ๋ด์ SYN์ ๋ณด๋ธ๋ค.
- ์ดํ ์๋ฒ๋ ํด๋ผ์ด์ธํธ์ SYN์ ์์ ํ๊ณ ์๋ฒ์ ISN์ ๋ณด๋ด๋ฉฐ ์น์ธ ๋ฒํธ๋ก ํด๋ผ์ด์ธํธ์ ISN+1์ ๋ณด๋ธ๋ค.
- ํด๋ผ์ด์ธํธ๋ ์๋ฒ์ ISN+1ํ ๊ฐ์ธ ์น์ธ๋ฒํธ๋ฅผ ๋ด์ ACK๋ฅผ ์๋ฒ์ ๋ณด๋ธ๋ค.
์ ๊ณผ์ ์ ๊ฑฐ์น๊ธฐ ๋๋ฌธ์ TCP๋ ์ ๋ขฐ์ฑ์ด ์๋ค๊ณ ํ๋ฉฐ UDP๋ ์ ๊ณผ์ ์ ์งํํ์ง ์๋๋ค.
์ 3-way-handshake๊ณผ์ ์ ๊ฑฐ์น ํ ๋ฐ์ดํฐ ์ ์ก์ด ๋๋ฌ๋ค๊ณ ๊ฐ์ ํด๋ณด์. ๊ทธ ๋ค์์๋ ์์์ ๋ง๋ ์ฐ๊ฒฐ์ ํด์ ํด์ผํ๋๋ฐ ์ด๋๋ 4-way-handshake๊ณผ์ ์ด ๋ฐ์ํ๋ค.
- ํด๋ผ์ด์ธํธ๊ฐ FIN์ผ๋ก ์ค์ ๋ ์ธ๊ทธ๋จผํธ๋ฅผ ๋ณด๋ธ๋ค. ์ดํ ํด๋ผ์ด์ธํธ๋ FIN_WAIT_1์ํ๋ก ๋ค์ด๊ฐ ์๋ฒ์ ์๋ต์ ๊ธฐ๋ค๋ฆฐ๋ค.
- ์๋ฒ๋ ํด๋ผ์ด์ธํธ๋ก ACK๋ผ๋ ์น์ธ ์ธ๊ทธ๋จผํธ๋ฅผ ๋ณด๋ธ๋ค. ์ดํ CLOSE_WAIT์ํ๋ก ๋ค์ด๊ฐ๋ค. ์น์ธ ์ธ๊ทธ๋จผํธ๋ฅผ ๋ฐ์ ํด๋ผ์ด์ธํธ๋ FIN_WAIT_2์ํ๋ก ๋ค์ด๊ฐ๋ค.
- ์๋ฒ๋ ACK๋ณด๋ธ ๋ค ์ผ์ ์๊ฐ ํ FIN์ด๋ผ๋ ์ธ๊ทธ๋จผํธ๋ฅผ ๋ณด๋ธ๋ค.
- ํด๋ผ์ด์ธํธ๋ TIME_WAIT ์ํ๊ฐ ๋๊ณ ๋ค์ ์๋ฒ๋ก ACK๋ฅผ ๋ณด๋ด ์๋ฒ๋ CLOSED์ํ๊ฐ ๋๋ค. ์ดํ ํด๋ผ์ด์ธํธ๋ ์ด๋ ์ ๋์ ์๊ฐ์ ๋๊ธฐํ ๋ค ์ฐ๊ฒฐ์ด ๋ซํ๋ค.
์ฌ๊ธฐ์ TIME_WAIT๋ฅผ ์งํํ๋ ์ด์ ๋ ์๋์ ๊ฐ๋ค.
- ์ง์ฐ ํจํท์ด ๋ฐ์ํ ๊ฒฝ์ฐ ๋๋น
- ๋ ์ฅ์น๊ฐ ์ฐ๊ฒฐ์ด ๋ซํ๋์ง ํ์ธํ๊ธฐ ์ํจ
์ธํฐ๋ท ๊ณ์ธต
IP, APR, ICMP๋ฑ์ด ์์ผ๋ฉฐ ์ฅ์น๋ก๋ถํฐ ๋ฐ์ ๋คํธ์ํฌ ํจํท์ IP์ฃผ์๋ก ์ง์ ๋ ๋ชฉ์ ์ง๋ก ์ ์กํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค. ์๋๋ฐฉ์ด ์ ๋๋ก ๋ฐ์๋์ง ๋ณด์ฅํ์ง ์๋๋ค.
๋งํฌ ๊ณ์ธต
์ ์ , ๊ด์ฌ์ , ๋ฌด์ ๋ฑ์ผ๋ก ์ค์ง์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ฉฐ ์ฅ์น๊ฐ์ ์ ํธ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ‘๊ท์น’์ ์ ํ๋ ๊ณ์ธต์ด๋ค.
๊ทธ๋ ๋ค๋ฉด ์ด ๊ณ์ธต๊ฐ ๋ฐ์ดํฐ๊ฐ ์ด๋ป๊ฒ ์ด๋ํ๋์ง ๋ณด๋๋ก ํ์. ์์ ๊ณ์ธต์์ ํ์ ๊ณ์ธต์ผ๋ก ์ด๋ํ๋ฉด์ ํค๋์ ์์ ๊ณ์ํ์ฌ ํด๋น ๊ณ์ธต์ ํค๋๊ฐ ์ฝ์ ๋๋ค. ์ด๋ฅผ ๋ฐ๋๋ก ํ๋ฉด ๋น์บก์ํ ๊ณผ์ ์ด๋ค.
์๋์ ๊ฐ์ด ์บก์ํ→๋น์บก์ํ ๊ณผ์ ์ ๊ฑฐ์น๋ฉฐ ๋น๋ก์ ์ฅ์น๊ฐ ๋ฐ์ดํฐ ์ ์ก์ด ์๋ฃ๋๋ค.
์ด๋ ๊ฒ ๋คํธ์ํฌ์ ํ ๊ณ์ธต์์ ๋ค๋ฅธ ๊ณ์ธต์ผ๋ก ๋ฐ์ดํฐ๊ฐ ์ ๋ฌ๋ ๋ ํ ๋ฉ์ด๋ฆฌ์ ๋จ์๋ฅผ PDU(Protocol Data Unit)์ด๋ผ๊ณ ํ๋ค. PDU๋ ์ ์ด ๊ด๋ จ ์ ๋ณด๋ค์ด ํฌํจ๋ ‘ํค๋’์ ๋ฐ์ดํฐ๋ฅผ ์๋ฏธํ๋ ‘ํ์ด๋ก๋’๋ก ๊ตฌ์ฑ๋์ด์์ผ๋ฉฐ ๊ณ์ธต๋ง๋ค ๋ถ๋ฅด๋ ๋ช ์นญ์ด ๋ค๋ฅด๋ค.
PDU | OSI Model Layer |
---|---|
๋ฐ์ดํฐ | ์ดํ๋ฆฌ์ผ์ด์ ๊ณ์ธต |
๋ฐ์ดํฐ | ํ๋ ์ ํ ์ด์ ๊ณ์ธต |
๋ฐ์ดํฐ | ์ธ์ ๊ณ์ธต |
์ธ๊ทธ๋จผํธ | ์ ์ก ๊ณ์ธต |
ํจํท | ๋คํธ์ํฌ ๊ณ์ธต |
ํ๋ ์ | ๋ฐ์ดํฐ ๋งํฌ ๊ณ์ธต |
๋นํธ | ๋ฌผ๋ฆฌ ๊ณ์ธต |
IP ์ฃผ์
APR(Address Resolution Protocol)์ IP์ฃผ์๋ก๋ถํฐ MAC ์ฃผ์๋ฅผ ๊ตฌํ๋ ํ๋กํ ์ฝ์ด๋ค. ๋ฐ๋๋ก MAC ์ฃผ์๋ก๋ถํฐ IP์ฃผ์๋ฅผ ๋ณํํ๋ ํ๋กํ ์ฝ์ RARP์ด๋ค.
IP์ฃผ์๋ฅผ ํตํด ํต์ ํ๋ ๊ณผ์ ์ ํ๋ฐ์ดํ ํต์ ์ด๋ผ๊ณ ํ๋ค. ํต์ ๋ง์์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ ๋ ๋ผ์ฐํฐ์ ๋ผ์ฐํ ํ ์ด๋ธ IP๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํจํท์ ์ ๋ฌํด๊ฐ๋ฉฐ ๋ชฉ์ ์ง๋ก ๋์๊ฐ๋ค.
๋ผ์ฐํ ํ ์ด๋ธ : ๋ผ์ฐํฐ์ ๋ค์ด๊ฐ์๋ ๋ชฉ์ ์ง ์ ๋ณด๋ค๊ณผ ๋ชฉ์ ์ง๋ก ๊ฐ๋ ๋ฐฉ๋ฒ๋ค์ด ๋ค์ด์๋ ๋ฆฌ์คํธ. ๋ผ์ฐํฐ๋ ํจํท์ ๋ฐ์ผ๋ฉด ๋ผ์ฐํ ํ ์ด๋ธ ๋ด์์ ํจํท์ ๋ชฉ์ ์ง์ ๊ฐ์ฅ ์ผ์นํ๋ ๋คํธ์ํฌ ์ฃผ์๋ฅผ ๊ฒ์
๊ฒ์ดํธ์จ์ด : ์๋ก ๋ค๋ฅธ ํต์ ๋ง, ํ๋กํ ์ฝ์ ์ฌ์ฉํ๋ ๋คํธ์ํฌ ๊ฐ์ ํต์ ์ ๊ฐ๋ฅํ๊ฒ ํ๋ ์ปดํจํฐ๋ ์ํํธ์จ์ด
IP ์ฃผ์ ์ฒด๊ณ(IPv4 & IPv6)
IPv4๋ 32๋นํธ๋ฅผ 8๋นํธ ๋จ์๋ก ์ ์ ์ฐ์ด ํ๊ธฐํ๊ณ , IPv6๋ 64๋นํธ๋ฅผ 16๋นํธ ๋จ์๋ก ์ ์ ์ฐ์ด ํ๊ธฐํ๋ค.
์ด๊ธฐ์๋ ํด๋์ค๋จ์๋ก ๋คํธ์ํฌ๋ฅผ ํ ๋นํ๊ณ , ๊ทธ ์ค ๋คํธ์ํฌ์ ์ฒซ ๋ฒ์งธ ์ฃผ์๋ ๋คํธ์ํฌ ์ฃผ์, ๋ง์ง๋ง ์ฃผ์๋ ๋ธ๋ก๋์บ์คํธ์ฉ ์ฃผ์๋ก ํ์ฉ๋์๋ค.
์ฆ ํด๋์ค A์ 12.0.0.0์ด๋ ๋คํธ์ํฌ๋ฅผ ๋ถ์ฌ๋ฐ์๋ค๋ฉด ์ฒซ ๋ฒ์งธ ์ฃผ์์ธ 12.0.0.0์ ๋คํธ์ํฌ ๊ตฌ๋ณ ์ฃผ์๋ก, 12.255.255.255๋ ๋ธ๋ก๋์บ์คํธ์ฉ์ผ๋ก ๋จ๊ฒจ๋์ด์ผ ํ๋ 12.0.0.1~12.255.255.254๋ ํธ์คํธ ์ฃผ์๋ก ์ฌ์ฉํ ์ ์๋ ๊ฒ์ด๋ค.
ํ์ง๋ง ์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์ ์ฌ์ฉํ๋ ์ฃผ์๋ณด๋ค ๋ฒ๋ฆฌ๋ ์ฃผ์๊ฐ ๋ง๊ฒ ๋์ด, ์ด๋ฅผ ๋ณด์ํ๊ธฐ ์ํด DHCP, IPv6, NAT๊ฐ ๋ฑ์ฅํ๊ฒ ๋์๋ค.
DHCP(Dynamic Host Configuration Protocol)
IP์ฃผ์ ๋ฐ ๊ธฐํ ํต์ ๋งค๊ฐ๋ณ์๋ฅผ ์๋์ผ๋ก ํ ๋นํ๊ธฐ ์ํ ๋คํธ์ํฌ ๊ด๋ฆฌ ํ๋กํ ์ฝ๋ก, ๋คํธ์ํฌ ์ฅ์น์ IP์ฃผ์๋ฅผ ์๋์ผ๋ก ํ ๋นํ ์ ์๋ค.
NAT(Network Address Translation)
ํจํท์ด ๋ผ์ฐํ ์ฅ์น๋ฅผ ํตํด ์ ์ก๋๋ ๋์ ํจํท์ IP ์ฃผ์ ์ ๋ณด๋ฅผ ์์ ํ์ฌ IP ์ฃผ์๋ฅผ ๋ค๋ฅธ ์ฃผ์๋ก ๋งคํํ๋ ๋ฐฉ๋ฒ์ด๋ค. ICS, RRAS, Netfilter๋ฑ์ ์ํํธ์จ์ด๋ก NAT๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ ์ ์๋ค. ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ํ๋์ IP๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋ฌ๊ฐ์ IP๋ฅผ ๊ฐ์ง๋ ๊ฒ ์ฒ๋ผ ์ฌ์ฉํ ์ ์๊ฒ ํด์ฃผ๋ ๊ฒ์ด๋ค.
NAT๋ฅผ ์ด์ฉํ๋ฉด ๋ด๋ถ ๋คํธ์ํฌ์์ ์ฌ์ฉํ๋ IP ์ฃผ์์ ์ธ๋ถ์ ๋๋ฌ๋๋ IP์ฃผ์๊ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ๋ด๋ถ ๋คํธ์ํฌ์ ๋ํ ๋ณด์์ด ๊ฐ๋ฅํด์ง๋ค๋ ์ฅ์ ์ด ์์ง๋ง ์ค์ ์ ์ํ๋ ํธ์คํธ ์ซ์์ ๋ฐ๋ผ ์๋๊ฐ ๋๋ ค์ง ์ ์๋ค๋ ๋จ์ ์ด ์๋ค.
HTTP
HTTP/1.0
์ด๊ธฐ HTTP1.0์ ํ ์ฐ๊ฒฐ๋น ํ๋์ ์์ฒญ์ ์ฒ๋ฆฌํ๋๋ก ์ค๊ณ๋์๋ค. ๊ทธ๋ฌ๋ ํ์ผ์ ๊ฐ์ ธ์ฌ ๋ ๋ง๋ค ์์ ๋ดค๋ TCP์ 3-way-handshake๋ฅผ ๊ณ์ํด์ ์ด์ด์ผํ์ด์ RTT(ํจํท ์๋ณต ์๊ฐ)์ด ์ฆ๊ฐํ๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ด๋ฏธ์ง ์คํ๋ฆฌํ , ์ฝ๋ ์์ถ, ์ด๋ฏธ์ง Base64 ์ธ์ฝ๋ฉ ๋ฑ์ด ์ฌ์ฉ๋์๋ค.
์ด๋ฏธ์ง ์คํ๋ฆฌํ : ๋ง์ ์ด๋ฏธ์ง๋ฅผ ํฉ์น ํ๋์ ์ด๋ฏธ์ง๋ฅผ ๋ค์ด๋ฐ๊ณ , ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก background-position์ ์ด์ฉํด ์ด๋ฏธ์ง๋ฅผ ํ๊ธฐํ๋ ๋ฐฉ๋ฒ์ฝ๋ ์์ถ : ๊ฐํ ๋ฌธ์, ๋น์นธ ๋ฑ์ ์์ ์ฝ๋์ ํฌ๊ธฐ๋ฅผ ์ต์ํ ํ์ฌ ์ฝ๋์ ์ฉ๋์ ์ค์ด๋ ๋ฐฉ๋ฒ
์ด๋ฏธ์ง Base64์ธ์ฝ๋ฉ : ์ด๋ฏธ์ง ํ์ผ์ 64์ง๋ฒ์ผ๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด๋ก ์ธ์ฝ๋ฉํ๋ ๋ฐฉ๋ฒ. ์ด๋ฏธ์ง์ ๋ํด ์๋ฒ์ HTTP์์ฒญ์ ํ ํ์๊ฐ ์์ง๋ง 37%์ ๋ ํฌ๊ธฐ๊ฐ ๋ ์ปค์ง.
⇒ ์๋ ์ด๋ฏธ์ง๋ฅผ HTTP์์ฒญ์ ํตํด ์ ์กํ ๊ฒฝ์ฐ ํด๋ผ์ด์ธํธ๋ ์๋ฒ์๊ฒ ์ด๋ฏธ์ง ํ์ผ์ URL์ ์ ๊ณตํ๊ณ ์๋ฒ๋ ํด๋น URL๋ก๋ถํฐ ์ด๋ฏธ์ง๋ฅผ ๋ค์ด๋ก๋ํด ์๋ต์ผ๋ก ์ ์กํ๋ค. ํ์ง๋ง ์ด๋ฏธ์ง๋ฅผ Base64๋ก ์ธ์ฝ๋ฉํ๋ฉด ์ด๋ฏธ์ง ๋ฐ์ดํฐ๋ฅผ ๋ฌธ์์ด๋ก ํฌํจ์ํฌ ์ ์์ด ๋ณ๋์ HTTP์์ฒญ์ ํ ํ์๊ฐ ์์ด์ง๋ ๊ฒ์ด๋ค.
HTTP/1.1
ํ์ผ์ ์ฃผ๊ณ ๋ฐ์ ๋ ๋ง๋ค ๋งค๋ฒ TCP ์ฐ๊ฒฐ์ ํ๋ ๊ฒ์ด ์๋๋ผ ํ๋ฒ TCP์ด๊ธฐํ๋ฅผ ํ ํ keep-alive์ต์ ์ผ๋ก ์ฌ๋ฌ๊ฐ์ ํ์ผ์ ์ก์์ ํ ์ ์๊ฒ ๋์๋ค.
์ด HTTP/1.1์๋ HOL Blocking(Head Of Line Blocking)์ด๋ผ๋ ๋ฌธ์ ์ ์ด ์์๋๋ฐ ๋คํธ์ํฌ์์ ๊ฐ์ ํ์ ์๋ ํจํท์ด ์ฒซ ๋ฒ์งธ ํจํท์ ์ํด ์ง์ฐ๋ ๋ ๋ฐ์ํ๋ ํ์์ด๋ค. ์ฆ ์๋์ ๊ฐ๋ค.
<----------image.jpg---------->
<--style.css-->
<----data.xml---->
image.png์ ๋ค์ด๋ก๋๊ฐ ๋ฆ์ด์ง๋ค๋ฉด ๋ค์ ์ฒ๋ฆฌ๋ ์์ ์ธ style.css์ data.xml์ ๋ค์ด๋ก๋๋ ํจ๊ป ๋ฆ์ด์ง๋ ๊ฒ์ด๋ค. ๋ํ HTTP/1.1์ ํค๋์๋ ๋ง์ ๋ฉํ๋ฐ์ดํฐ๊ฐ ๋ค์ด์๊ณ ์์ถ์ด ๋์ง ์์ ๋ฌด๊ฑฐ์ ๋ค.
HTTP/2
์๋ก ์ถ๊ฐ๋ HTTP/2์ ํน์ง์ ๋ฉํฐํ๋ ์ฑ, ํค๋ ์์ถ, ์๋ฒ ํธ์, ์์ฒญ์ ์ฐ์ ์์ ์ฒ๋ฆฌ ์ง์ ๋ฑ์ด ์๋ค.
๋ฉํฐํ๋ ์ฑ์ ์ฌ๋ฌ๊ฐ์ ์คํธ๋ฆผ์ ์ฌ์ฉํ์ฌ ์ก์์ ํ๋ค๋ ๊ฒ์ด๋ค. ์ฆ ํ๋์ ์ฐ๊ฒฐ ๋ด์์๋ ์ฌ๋ฌ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ฐ ๋ณด๋ด๊ณ ๋ฐ์ ์ ์๋ ๊ฒ์ด๋ค. ์๋ฅผ๋ค์ด HTTP/1.1์์ ํ์ผ 3๊ฐ๋ฅผ ๋ณด๋ด๊ธฐ ์ํด์๋ 3๊ฐ์ TCP ์ฐ๊ฒฐ์ด ํ์ํ๋ค. ๊ทธ๋ฌ๋ HTTP/2์์๋ ํ๋์ TCP์ฐ๊ฒฐ๋ก ์ฌ๋ฌ๊ฐ์ ์คํธ๋ฆผ์ ์ด์ฉํ์ฌ 3๊ฐ์ ํ์ผ์ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ค.
์๋ ๋งํฌ์์ ์ฝ๊ฒ ์ค๋ช ํ ์ ๋๋ฉ์ด์ ์ ๋ณผ ์ ์๋ค.
HTTP 1.1 vs HTTP.2 vs HTTP/2 with Push - Manning
https://freecontent.manning.com/animation-http-1-1-vs-http-2-vs-http-2-with-push/?source=post_page-----565a7b184c--------------------------------
freecontent.manning.com
ํค๋ ์์ถ์ HTTP/1.1์ ํฐ ํค๋๋ผ๋ ๋ฌธ์ ์ ์ ํด๊ฒฐํ๊ธฐ ์ํด ๊ณ ์๋์๋ค. ํํ๋ง ์ฝ๋ฉ ์์ถ ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํด ํค๋๋ฅผ ์์ถํ๋ ๊ฒ์ด๋ค.
์๋ฒ ํธ์๋ ํด๋ผ์ด์ธํธ์ ์์ฒญ ์์ด ์๋ฒ๊ฐ ๋ฐ๋ก ๋ฆฌ์์ค๋ฅผ ํธ์ํ๋ ๊ฒ์ด๋ค. ์๋ฅผ๋ค์ด html์๋ css, jsํ์ผ ๋ฑ์ด ํฌํจ๋๋๋ฐ html์ ์ฝ์ผ๋ฉฐ ๋ด๋ถ์ css, jsํ์ผ์ ํด๋ผ์ด์ธํธ์ ๋ณด๋ด์ฃผ๋ ๊ฒ์ด๋ค.
HTTPS
HTTP/2๋ HTTPS์์์ ๋์ํ๋ค. HTTP๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต๊ณผ ์ ์ก ๊ณ์ธต ์ฌ์ด์ ์ ๋ขฐ ๊ณ์ธต์ธ SSL/TLS ๊ณ์ธต์ ๋ฃ์ ์ ๋ขฐํ ์ ์๋ HTTP์์ฒญ์ ๋งํ๋ค. ์ด๋ฅผ ํตํด ํต์ ์ ์ํธํ ํ ์ ์๋ค.
SSL(Secure Socket Layer)์ TLS(Transport Layr Security Protocol) 1.3๊น์ง ๋ฒ์ ์ด ์ฌ๋ผ๊ฐ๋ฉฐ TLS๋ก ๋ช ์นญ์ด ๋ณ๊ฒฝ๋์์ผ๋ ๋ณดํต SSL/TLS๋ก ํต์นญํ๋ค.
SSL/TLS๋ ๋ณด์์ธ์ ์ ๊ธฐ๋ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ํธํํ๋ฉฐ ์ 3์๊ฐ ์๋ฒ์ธ ์ฒ ํ๋ฉฐ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ๊ฐ๋ก์ฑ๋ ๊ฒ(์ธํฐ์ ํฐ)์ ๋ฐฉ์งํ ์ ์๋ค.
๋ณด์์ธ์ ์ ๋ณด์์ด ์์๋๊ณ ๋๋๋ ๋์ ์ ์ง๋๋ ์ธ์ ์ ๋งํ๋ค. ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ํค๋ฅผ ๊ณต์ ํ๊ณ ์ธ์ฆ, ์ธ์ฆ ํ์ธ ๋ฑ์ ์์ ์ด ์ผ์ด๋ ๋ค ํด์ฑ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์ํธํ๋ ๋ฐ์ดํฐ์ ์ก์์ ์ด ์์๋๋ค.
์ธ์ฆ ํ์ธ์ ์ํด ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ ๊ฐ๊ฐ์ ๊ฐ์ธํค์ ๊ณต๊ฐํค๋ฅผ ์์ฑํ๊ณ ์๋ก์๊ฒ ๊ณต๊ฐํค๋ฅผ ๋ณด๋ด ๊ณต๊ฐํค์ ๊ฐ์ธํค๋ฅผ ๊ฒฐํฉํ๋ค. ์ด ๊ฐ์ ๋ํผ-ํฌ๋ง ํค ๊ตํ ์ํธํ ์๊ณ ๋ฆฌ์ฆ์ ๋ฐ๋ฅด๊ธฐ ๋๋ฌธ์ ๊ฐ์ ๊ฐ์ด ์์ฑ๋๋ค. ์ด๋ฅผ ํตํด ํค๋ฅผ ์ํธํ ํ ์ ์๋ค.
HTTP/3
HTTP/3์ HTTP/2์ ๋ฌ๋ผ QUIC์ด๋ผ๋ ๊ณ์ธต ์์์ ๋์๊ฐ๋ฉฐ UDP๊ธฐ๋ฐ์ด๋ค. QUIC์ TCP๋ฅผ ์ฌ์ฉํ์ง ์๊ธฐ ๋๋ฌธ์ 3-way-handshake๊ณผ์ ์ ๊ฑฐ์น์น ์์๋ ๋๋ค. QUIC์ ์ด์ฉํ HTTPS๋ ์ฒซ ์ฐ๊ฒฐ์ 1-RTT๋ง ์์๋๋ค. ๋ํ ์๋ฐฉํฅ ์ค๋ฅ ์์ ๋ฉ์ปค๋์ฆ์ด ์ ์ฉ๋์ด ์๊ธฐ ๋๋ฌธ์ ์ด์ ํ ๋คํธ์ํฌ ํ๊ฒฝ์์๋ ๋ฎ์ ํจํท ์์ค๋ฅ ์ ๋ณด์ฅํ๋ค.
๐Reference
[๊ฐ๋ฐ๊ด๋ จ] ์ด๋ฏธ์ง๋ฅผ base64๋ก ์ธ์ฝ๋ฉํ ๊ฒฝ์ฐ HTTP ์์ฒญ์ ํ ํ์๊ฐ ์๋ ์ด์ _chatGPT
์์ ์์ HTTP/1.0์์ RTT ์ฆ๊ฐ์ ๋ํ ๋ฐฉ์์ ์ฝ๋ ์ค ์ด๋ฏธ์ง๋ฅผ Base64 ์ธ์ฝ๋ฉ ํ ๊ฒฝ์ฐ HTTP ์์ฒญ์ ํ ํ์๊ฐ ์๋ค๋ ๋ถ๋ถ์ด ์ดํด๊ฐ ๊ฐ์ง ์์ chatGPT์๊ฒ ๋ฌธ์ํ์๋ค. ์ดํด๊ฐ ์์ ์ ๋๋ค. ์ด๋ฏธ์ง๋ฅผ
mabb.tistory.com
https://ifuwanna.tistory.com/72
Base64 ์ธ์ฝ๋ฉ (Base64 ์ธ์ฝ๋ฉ ์ด์ )
๊ฐ์ ์ธ์ฝ๋ฉ(encoding)์ด๋ ์ ๋ณด์ ํํ๋ ํ์์ ์ฌ๋ฌ๊ฐ์ง ๋ชฉ์ ์ ๋ฐ๋ผ ( ์ ์ฅ ๊ณต๊ฐ ,๋ฐ์ดํฐ ํ์คํ, ๋ณด์, ํผํฌ๋จผ์ค,๋ฑ)์ ์ํด์ ๋ค๋ฅธ ํํ๋ ํ์์ผ๋ก ๋ณํํ๋ ์ฒ๋ฆฌ ํน์ ๊ทธ ์ฒ๋ฆฌ ๋ฐฉ์์ ๋ปํ
ifuwanna.tistory.com