TCP/IP๋?
์ ์กํ๋กํ ์ฝ TCP(Tansmission Control Protocol)์ ์ธํฐ๋ท ํ๋กํ ์ฝ(Internet Protocol)์ ํฉ์น ๋ง. ์ธํฐ๋ท & ์ด์ ์ ์ฌํ ์ปดํจํฐ ๋คํธ์ํฌ ์ฌ์ด์์ ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ๋๋ฐ ์ด์ฉ๋๋ ํต์ ํ๋กํ ์ฝ์ ๋ชจ์์ผ๋ก, ์จ๋ผ์ธ์์ ์์ ํ๊ณ ํจ์จ์ ์ธ ๋ฐ์ดํฐ ์ ์ก์ ํ์คํ๋ ์๊ฑด์ด๋ค.
TCP๋ ํ ๊ธฐ๊ธฐ์์ ๋ค๋ฅธ ๊ธฐ๊ธฐ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ๋ ํ์ํ ํ์ค ์๊ฑด์ด๋ผ๋ฉด, IP๋ ๋ฐ์ดํฐ๋ค์ ์ต๋ํ ๋นจ๋ฆฌ ๋์ IP ์ฃผ์๋ก ๋ณด๋ด๋ ์ญํ ์ ์ํ ํ์ค ์๊ฑด์ด๋ค. ์ด๋ฌํ TCP/IP๋ ๊ณตํต์ ์ผ๋ก ์จ๋ผ์ธ์์ ์์ ํ๊ณ ํจ์จ์ ์ธ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ค๋ ๊ณตํต์ ๊ฒฐ๊ณผ๋ฅผ ๋ชฉํ๋ก ํ๊ธฐ ๋๋ฌธ์ ํฉ์ณ์ ธ ์ฌ์ฉ๋๋ค.
TCP/IP์ 4๊ณ์ธต
์ด๋ฌํ TCP/IP๊ฐ ๊ท์น์ด๋ ํ๋กํ ์ฝ์ด ์ ์ฉ๋๋ ์กฐ๊ฑด ํ์์ ์ธ์์ง ํต์ ๊ณผ ๋ฐ์ดํฐ ์ ์ก์ ๋ฐฉ์์ด 4๊ฐ์ง์ ๊ณ์ธต์ผ๋ก ๋๋์ด์ง๋ค.

์์ฉ ๊ณ์ธต
- ์ฌ์ฉ์๊ฐ ์ํธ์์ฉํ๊ธฐ ๊ฐ์ฅ ์ฌ์ด ๊ณ์ธต
- ์ฌ์ฉ์๊ฐ ๋คํธ์ํฌ์ ์ ๊ทผํ ์ ์๋ ์ธํฐํ์ด์ค ์ ๊ณต
- ์ข
๋ฅ
- ๋ฉ์ผ โ SMPT(Simple Mail Transfter Protocol)
- ์ธํฐ๋ท ๋ธ๋ผ์ฐ์ โ HTTP(Hypertext Transfer Protocol)
- ํ์ผ ์ ์ก โ FTP(File Transfer Protocol)
- ๋์ ํธ์คํธ ์ค์ ํต์ โ DHCP(Dynamic host Configuration protocol)
- ๊ฐ์ด ๋ง ๊ด๋ฆฌ โ SNMP(Simple Network Management Protocol)
- ๋๋ฉ์ธ โ DNS(Domain Name System)
์ ์ก ๊ณ์ธต
- ๋ฐ์ดํฐ์ ์ ์ก์ ๋ด๋นํ๋ ๊ณ์ธต์ผ๋ก,TCP ๋ฟ๋ง ์๋๋ผ ์ฌ์ฉ์ ๋ฐ์ดํฐ๊ทธ๋จ ํต์ ๊ท์ฝ(User Datagram Protocol: UDP)๋ ์์
- TCP๋ ๋ ๋คํธ์ํฌ ์ฌ์ด์ ์ฐ๊ฒฐ์ ํ์ฑํ๊ณ ํจ์จ์ ์์ ์ ์ํด ๋ฐ์ดํฐ๋ฅผ ์์ ํจํท์ผ๋ก ๋๋ ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ก
- ๋ฐ์ดํฐ์ ์ ๋ฌ์ ๋ณด์ฆํ๊ณ ๋ณด๋ธ ์์๋๋ก ๋ฐ๊ฒํด์ค
- ์์๊ฐ ๋ง์ง ์๊ฑฐ๋ ์ค๊ฐ์ ๋ญ๊ฐ ๋น ์ก์ผ๋ฉด ์ ๊ฒ ์์ฒญ \
์ธํฐ๋ท ๊ณ์ธต
- IP๋ฟ๋ง ์๋๋ผ
- ์ฃผ์ ๋ณํ ๊ท์ฝ(Address Resolution Protocol: ARP)
- ์ธํฐ๋ท ๊ทธ๋ฃน ๊ด๋ฆฌ ํ๋กํ ์ฝ(Internet Group Management Protocol: IGMP)\
- ์ธํฐ๋ท ์ ์ด ๋ฉ์ธ์ง ํ๋กํ ์ฝ(Internet Control Message Protocol: ICMP)๋ ์์
- ๋ฐ์ดํฐ์ ์์ฒ์ง(origin)์ ๋ชฉ์ ์ง์ ๊ดํ ์ ๋ณด ์ฒจ๋ถ
- ํจํท ์ ๋ฌ ์ฌ๋ถ๋ฅผ ๋ณด์ฆํ์ง ์๊ณ , ์ด๋ป๊ฒ๋ ๋นจ๋ฆฌ ๋ณด๋ด์ผ ํจ
๋คํธ์ํฌ ์ธํฐํ์ด์ค ๊ณ์ธต
- ๋ฐ์ดํฐ ์ ์ก์ ์ตํ์ ๊ณ์ธต
- ๋ฐ์ดํฐ๊ฐ ์ํ๋ IP ์ฃผ์์ ๋๋ฌํ ๋ฟ๋ง ์๋๋ผ ํด๋น ๋คํธ์ํฌ ๋ด์ ์ฐ๊ฒฐ๋ ๊ธฐ๊ธฐ์ ์ฐ๊ฒฐ๋์ด ์๋์ง ํ์ธ
- ์ํ๋ ๊ธฐ๊ธฐ์ MAC ์ฃผ์๋ฅผ ํ์ธํ๊ณ ์ด๋๋ท ์ผ์ด๋ธ ๋ฐ ์์ดํ์ด๋ฅผ ํตํ ๋ฐ์ดํฐ ์ ์ก ๊ด๋ฆฌ ๋ฑ์ ์์ ๋ด๋น
TCP/IP 4๊ณ์ธต ๋์ ์์

- ์ก์ ์ธก ํด๋ผ์ด์ธํธ์ ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต์์ ์ด๋ ์น ํ์ด์ง๋ฅผ ๋ณด๊ณ ์ถ๋ค๋ผ๋ HTTP ์์ฒญ์ ์ง์
- ๊ทธ ๋ค์์ ์๋ ํธ๋์คํฌํธ ๊ณ์ธต์์๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต์์ ๋ฐ์ ๋ฐ์ดํฐ(HTTP ๋ฉ์์ง)๋ฅผ ํต์ ํ๊ธฐ ์ฝ๊ฒ ์กฐ๊ฐ๋ด์ด ์๋ด ๋ฒํธ์ ํฌํธ ๋ฒํธ(TCP ํจํท)๋ฅผ ๋ถ์ฌ ๋คํธ์ํฌ ๊ณ์ธต์ ์ ๋ฌ
- ๋คํธ์ํฌ ๊ณ์ธต์์ ๋ฐ์ดํฐ์ IP ํจํท์ ์ถ๊ฐํด์ ๋งํฌ ๊ณ์ธต์ ์ ๋ฌ
- ๋งํฌ ๊ณ์ธต์์๋ ์์ ์ง MAC ์ฃผ์์ ์ด๋๋ท ํ๋ ์์ ์ถ๊ฐ
- ์ด๋ก์จ ๋คํธ์ํฌ๋ฅผ ํตํด ์ก์ ํ ์ค๋น๊ฐ ๋จ
- ์์ ์ธก ์๋ฒ๋ ๋งํฌ ๊ณ์ธต์์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์๋ค์ฌ ์์๋๋ก ์์ ๊ณ์ธต์ ์ ๋ฌํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต๊น์ง ๋๋ฌ
- ์์ ์ธก ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต์ ๋๋ฌํ๊ฒ ๋๋ฉด ํด๋ผ์ด์ธํธ๊ฐ ๋ฐ์ ํ๋ HTTP ๋ฆฌํ์คํธ๋ฅผ ์์ ํ ์ ์๋ค.
TCP IP ๊ธฐ๋ฅ
- ์์คํ ์ฌ์ด์์ ํ์ผ ์ ์ก
- ์๊ฒฉ ์์คํ ์ ๋ก๊ทธ์ธ
- ์๊ฒฉ ์์คํ ์์ ๋ช ๋ น ์คํ
- ์๊ฒฉ ์์คํ ์ ํ์ผ ์ธ์
- ์๊ฒฉ ์ฌ์ฉ์์ ์ด๋ฉ์ผ ์ ์ก
- ์๊ฒฉ ์ฌ์ฉ์์ ๋ํ์ ํต์
- ๋คํธ์ํฌ ๊ด๋ฆฌ
TCP ์ ์ ์ก ์ ์ด ๋ฐฉ์
- ํจํท ๋ฐ์ดํฐ์ ์ ๋ฌ์ ๋ณด์ฆํ๊ณ ๋ณด๋ธ ์์๋๋ก ๋ฐ๊ฒ ํด์ค๋ค
- ๋์ฐฉํ ์กฐ๊ฐ์ ์ ๊ฒํ์ฌ ์ค์ ์ธ์ฐ๊ณ ๋ง๊ฐ์ก๊ฑฐ๋ ๋น ์ง ์กฐ๊ฐ์ ๋ค์ ์์ฒญํ๋ ์์ผ๋ก ์์๋ฅผ ๋ณด์ฆ.
- TCP๋ ๋ฐ์ดํฐ๋ฅผ ์๋๋ฐฉ์๊ฒ ํ์คํ๊ฒ ๋ณด๋ด๊ธฐ ์ํด์ย 3 way ํธ๋์์ดํน์ด๋ผ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๊ณ ์๋ค. ์ด ๋ฐฉ๋ฒ์ ํจํท์ ๋ณด๋ด๊ณ ์ ๋ณด๋ด์ก๋์ง ์ฌ๋ถ๋ฅผ ์๋์๊ฒ ํ์ธํ๋ฌ ๊ฐ๋ค.
- ์ฌ๊ธฐ์์ ๊ณ ์ ์ โSYNโ์ โACKโ๋ผ๋ TCP ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ๋ค. (์ผ์ข ์ ํ์ธ ๋งํฌ ์ ๋๋ก ์ดํดํ๋ฉด ๋๋ค)
- ํ๋ง๋๋ก TCP๋ IP์ ๋ฌธ์ ๋ฅผ ๋ณด์ํด์ฃผ๋ ๋ ์์ด๋ผ๊ณ ๋ณด๋ฉด ๋๋ค.
TCP 3 way handshake
์๋ ํด๋ผ์ด์ธํธ์ ์ฐ๊ฒฐ๋๊ธฐ ์ ์ ๊ฐ์ ์ฐ๊ฒฐ์ ํ์ฌ ํจํท์ผ๋ก ๋ณด๋ด ํ์ธํ๋ ๋์

- ํด๋ผ์ด์ธํธ โ ์๋ฒ
- SYN : ์ฐ๊ฒฐ์ ์์ฑํ ๋ ํด๋ผ์ด์๋๊ฐ ์๋ฒ์ ์ํ์ค ๋ฒํธ๋ฅผ ๋ณด๋
- ์๋ฒ โ ํด๋ผ์ด์ธํธ
- SYN-ACK : ์ํ์ค ๋ฒํธ๋ฅผ ๋ฐ์ ์๋ฒ๊ฐ ACK ๊ฐ์ ์์ฑํ์ฌ ํด๋ผ์ด์ธํธ์๊ฒ ์๋ต
- ๋ค์ ํด๋ผ์ธ์ธํธ โ ์๋ฒ
- ACK : ACK ๊ฐ์ ์ฌ์ฉํ์ฌ ์๋ตํ๋ ํจํท
- ๋ฐ์ดํฐ ํจํท
- ์ดํ: ํด๋ผ์ด์ธํธ โ ์๋ฒ
- ๋ฐ์ดํฐ ํจํท ์ ์ก
4-Way-handShake

3 way shake์์ ํต์ ์ ๋ง์น ๋ ๊ฑฐ์น๋ ๊ณผ์ ์ด ์ถ๊ฐ๋ ๋ฒ์ ์ด๋ค.
4-Way-Handshake์์ ์ฌ์ฉ๋๋ TCP ํค๋ ํ๋

Sequence Number
- Segment์ ์๋ย ์ฒซ ๋ฒ์งธ ๋ฐ์ดํธ์ ๋ฐ์ดํธ ์คํธ๋ฆผ ๋ฒํธ
- TCP๋ ๋ฐ์ดํฐ๋ฅผ ๋จ์ง ์์๋๋ก ์ ๋ ฌ๋์ด ์๋ ๋ฐ์ดํธ ์คํธ๋ฆผ์ผ๋ก ๋ณธ๋ค.
- ex) 0
999, 10001999์ Segment๋ฅผ ๋ณด๋ผ ๋ seq# = ๊ฐ๊ฐ 0, 1000
- TCP ์ฐ๊ฒฐ, ์ข
๋ฃ ์์๋ย Sequence Number๋ฅผ ์์์ ๋๋ค ๊ฐ์ผ๋ก ์ค์ ํ๋ค.
- Sequence Number๊ฐ ๋ ธ์ถ๋๋ฉด ๊ณต๊ฒฉ์๊ฐ ์์กฐ ํจํท์ ๋ณด๋ผ ์ ์์ด ๋ณด์์ ์ํด ๋๋ค ๊ฐ์ผ๋ก ์ค์ ํ๋ค.
Acknowledgement Number
- ๋ฐ๊ณ ์ถ์ ๋ค์ ๋ฐ์ดํธ ๋ฒํธ
- ex) 0
999, 10001999์ Segment๋ฅผ ๋ฐ์์ ๋ ack# = ๊ฐ๊ฐ 1000, 2000
- ex) 0
Control bits
- ACK(Acknowledgement)
- ํจํท์ ๋ฐ์๋ค๋ ์๋ต์ ํ ๋ ์ฌ์ฉ
- Acknowledgement Number์ ์ ํจ์ฑ
- ์ต์ด ์ฐ๊ฒฐ์ ์ฒซ ๋ฒ์งธ ์ธ๊ทธ๋จผํธ๋ฅผ ์ ์ธํ ๋ชจ๋ Segment์ ACK ๋นํธ๋ 1๋ก ์ค์
- FIN(Finish)
- TCP ์ฐ๊ฒฐ์ ์ข ๋ฃํ ๋ ์ฌ์ฉ
- ๋ ์ด์ ์ ์กํ ๋ฐ์ดํฐ๊ฐ ์์์ ์๋ฏธ
- RST(Reset)
- TCP ์ฐ๊ฒฐ์ ๊ฐ์ ๋ก ์ข ๋ฃํ ๋ ์ฌ์ฉ
- ๋น ์ ์์ ์ธ ์ธ์ ์ฐ๊ฒฐ ๋๊ธฐ์ ํด๋น
- ์ฐ๊ฒฐ์ ์ฆ์ ๋๊ณ ์ ํ ๋ ์ฌ์ฉ