TCP
01 ์ ์ก ๊ณ์ธต์ ๊ธฐ๋ฅ
-์ ์ก ๊ณ์ธต ํ๋กํ ์ฝ์ ์ค๋ฅ์ ์ด, ํ๋ฆ ์ ์ด, ๋ฐ์ดํฐ ์์ํ ๋ฑ์ ๊ธฐ๋ฅ ๋ฉด์์ ๋ฐ์ดํฐ ๋งํฌ ๊ณ์ธต๊ณผ ์ ์ฌํ์ง๋ง 2 ๊ณ์ธต์ ๋ฌผ๋ฆฌ์ ์ธ ์ ์ก ์ ๋ก๋ก ์ง์ ์ฐ๊ฒฐ๋ ๋ ๋ฌผ๋ฆฌ์ ํธ์คํธ ์ฌ์ด์ ๋ฐ์ดํฐ ์ ์ก์ ๋ด๋นํ๊ณ / ์ ์ก ๊ณ์ธต์ ๋คํธ์ํฌ ๋๋จ์ ์์นํ๋ ํต์ ์ฃผ์ฒด๊ฐ ์ค๊ฐ์ ๋ ผ๋ฆฌ์ ์ธ ์ ๋ก(๋ผ์ฐํฐ๋ก ์ฐ๊ฒฐ๋ ์ปดํจํฐ ๋คํธ์ํฌ)๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋๋ค.
1. ์ ์ก ๊ณ์ธต์ ์ฃผ์ ๊ธฐ๋ฅ
1.1 ํ๋ฆ ์ ์ด
- ์ ์ก ๊ณ์ธต์ ์๋น์ค๋ฅผ ์ด์ฉํด ์ฐ๊ฒฐ์ ์ค์ ํ๋ฉด ์ ๋๋จ์ ํธ์คํธ์์ ์คํ๋๋ ๋คํธ์ํฌ ํ๋ก์ธ์ค๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋๋ฐ ์ด ๊ณผ์ ์์ ํ๋ฆ ์ ์ด๋ฅผ ์ฌ์ฉํ๋ค.
- ์์ ํ๋ก์ธ์ค๊ฐ ์ก์ ํ๋ก์ธ์ค์ ์ ์ก ์๋๋ณด๋ค ๋๋ฆฌ๊ฒ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๋ฉด ๋ฒํผ ์ฉ๋์ด ์ด๊ณผํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๋ถ์คํ ์ ์๋ค. ์ด ๊ฒฝ์ฐ์ ์ก์ ํ๋ก์ธ์ค๋ ํ์์์ ๊ธฐ๋ฅ์ ํตํด ์ฌ์ ์ก ๊ณผ์ ์ ์ํํ๋ฏ๋ก ์ ์ฒด ๋คํธ์ํฌ์ ์ ์ก ํจ์จ์ด ์ ์ ๋จ์ด์ง๋ค.
์ด๋ก ์ ์ผ๋ก ํ๋ฆ ์ ์ด ๊ธฐ๋ฅ์ ์์ ํธ์คํธ๊ฐ ์ฌ๋ผ์ด๋ฉ ์๋์ฐ ํ๋กํ ์ฝ์ ์๋์ฐ ํ๋จ ๊ฐ์ ์กฐ์ ํ๋๋ฐ ์ก์ ํ๋ก์ธ์ค๊ฐ ๋ณด๋ผ ์ ์๋ ํจํท์ ํ๊ณ๋ฅผ ์ง์ ํ๋ ๋ฐฉ๋ฒ์ผ๋ก ํด๊ฒฐํ๋ค.
1.2 ์ค๋ฅ ์ ์ด
- ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ๊ณผ์ ์์ ๋ฐ์ํ ์ ์๋ ์ค๋ฅ๋ก ๋ฐ์ดํฐ ๋ณํ, ๋ถ์ค์ด ์๋๋ฐ ์ ์ก ์ค๋ฅ๊ฐ ๋ฐ์ํด ์์ ๋ฐ์ดํฐ์ ๋ด์ฉ์ด ๊นจ์ง๊ฑฐ๋ ๋ถ์ค๋๋ฉด ๋ฐ์ดํฐ ์ฌ์ ์ก์ ์ํ ์ค๋ฅ ์ ์ด ๊ธฐ๋ฅ์ ์ํด ๋ณต๊ตฌ ์ ์ฐจ๊ฐ ์งํ
๋ฐ์ดํฐ์ ์ฌ์ ์ก ์ ์ฐจ๋ ์์ ํ๋ก์ธ์ค์ ์๊ตฌ์ ์ํด ์ด๋ค์ง ์๋ ์๊ณ ์ก์ ํ๋ก์ธ์ค ์ค์ค๋ก ํ๋จํด ์ด๋ค์ง ์๋ ์๋ค. ์ ์ก ๊ณ์ธต์์ ๋ฐ์ํ๋ ์ค๋ฅ๋ ๋ ผ๋ฆฌ์ ์ผ๋ก ๊ตฌ์ถ๋ ๊ฐ ๊ณ์ธต์ ์ํํธ์จ์ด๊ฐ ๋์ํ๋ ๊ณผ์ ์์ ๋ฐ์ดํฐ๋ฅผ ๋ถ์คํ๋ ๊ฒฝ์ฐ๊ฐ ๋๋ถ๋ถ์ด๋ค.
1.3 ๋ถํ ๊ณผ ๋ณํฉ
- ์์ ๊ณ์ธต์์ ์ ์ก์ ์๊ตฌํ ๋ฐ์ดํฐ์ ํฌ๊ธฐ๊ฐ ์ ์ก ๊ณ์ธต์์ ์ฒ๋ฆฌํ ์ ์๋ ๋ฐ์ดํฐ ํฌ๊ธฐ๋ณด๋ค ํฌ๋ฉด ๋ฐ์ดํฐ๋ฅผ ์ชผ๊ฐ ์ ์กํด์ผ ํ๋ค. ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ธฐ ์ ์ ์ ํฉํ ํฌ๊ธฐ๋ก ๋๋๋ ๊ณผ์ ์ ๋ถํ ๊ณผ์ , ์์ ํ๋ก์ธ์ค๊ฐ ์์ ํ ๋ฐ์ดํฐ๋ฅผ ์๋ ํฌ๊ธฐ๋ก ๋ค์ ๋ชจ์ผ๋ ๊ณผ์ ์ ๋ณํฉ ๊ณผ์ ์ด๋ผ ํ๋ค.
1.4 ์๋น์ค ํ๋ฆฌ๋ฏธํฐ๋ธ
- ์ ์ก ์๋น์ค ํ๋ฆฌ๋ฏธํฐ๋ธ๋ ์ ์ก ๊ณ์ธต ์ฌ์ฉ์๊ฐ ์ ์ก ๊ณ์ธต ์๋น์ค๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํ ์ธํฐํ์ด์ค๋ค. ๋คํธ์ํฌ ๊ณ์ธต์์ ์ ๊ณตํ๋ ์๋น์ค๋ ์ผ๋ฐ์ ์ผ๋ก ๋น์ ๋ขฐ์ฑ์ ๋ฐํ์ผ๋ก ํ ๋น์ฐ๊ฒฐํ ์๋น์ค ํ๋ฆฌ๋ฏธํฐ๋ธ๊ฐ ์ ์๋๋ค.
2. ์ ์ก ๊ณ์ธต ์ค๊ณ ์ ๊ณ ๋ ค ์ฌํญ
- ์ฃผ์ ํํ, ๋ฉํฐํ๋ ์ฑ, ์ฐ๊ฒฐ ๊ด๋ฆฌ
2.1 ์ฃผ์ ํํ
- ๋คํธ์ํฌ์์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ํ ์ผ๋ฐ ์ฌํญ์ ์ฃผ์๋ค. TCP/IP ํ๊ฒฝ์์ ์ฌ์ฉํ๋ ํธ์คํธ์ IP ์ฃผ์์ ํฌํธ ๋ฒํธ์ ์กฐํฉ์ ๋คํธ์ํฌ ๊ณ์ธต๊ณผ ์ ์ก ๊ณ์ธต์์ ์ฌ์ฉํ๋ ์ฃผ์ ํํ ๋ฐฉ์์ ํ๋์ด๋ค. ์ ์ก ๊ณ์ธต์ ์ฃผ์๋ฅผ TSAP(Transport Service Access Point)๋ผ ํ๋ค.
- ์ฃผ์๋ ๊ตฌ์กฐ์ , ๋น๊ตฌ์กฐ์ ์ผ๋ก ํํํ๋๋ฐ ๊ตฌ์กฐ์ ํํ์์๋ ์ ํ๋ฒํธ๋ ์ฐํธ๋ฌผ์ ํ๊ธฐ๋๋ ์ฃผ์์ฒ๋ผ ํ๋์ ์ฃผ์๋ฅผ ์ฌ๋ฌ ๊ฐ์ ๊ณ์ธต์ ์ธ ํ๋๋ก ๊ตฌ๋ถํ๋ค. ์ด๋ ํ๋๋ ์ ์ฒด ์ฃผ์ ๊ณต๊ฐ์ ์ํ ๊ณ์ธต ๊ด๊ณ๋ฅผ ๋ํ๋ธ๋ค.
ex) ๋ํ๋ฏผ๊ตญ:์์ธ:ํ๊ตญ๋ํ๊ต:๋คํธ์ํฌ ํ๊ณผ:๋คํธ์ํฌ ์ฐ๊ตฌ์ค:ํ๊ธธ๋:50(ํฌํธ๋ฒํธ)
- ํฌํธ๋ฅผ ์ด์ฉํด ํต์ ํ๊ณ ๋คํธ์ํฌ ํ๋ก์ธ์ค๋ ํฌํธ ๋ฒํธ๋ก ๊ตฌ๋ถ
๋น๊ตฌ์กฐ์ ์ฃผ์ ํํ์ ์๋ 1,2,3.. ๋ฒ์์ผ๋ก ์ผ๋ จ๋ฒํธ๋ฅผ ๋ถ์ฌํ๋ ๊ฒ
2.2 ๋ฉํฐํ๋ ์ฑ
- ๊ฐ๋ณ์ ์ผ๋ก ์ค์ ๋ ์ ์ก ๊ณ์ธต ์ฐ๊ฒฐ์์ ์ ์ก ๋ฐ์ดํฐ์ ๋จ์์ธ TPDU(Transport Protocol Data Unit)์ ๋ชฉ์ ์ง๊ฐ ๋์ผํ ํธ์คํธ์ด๋ฉด ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ํ๋์ ๊ฐ์ ํ์ ์ ์ค์ด ์ ์กํ๋ ๊ฒ์ด ์ ๋ฆฌํ ์ ์๋ค.
- (a)๋ ์๋ฐฉํฅ ๋ฉํฐํ๋ ์ฑ์ผ๋ก ๋ค์์ ์ ์ก ๊ณ์ธต ์ฐ๊ฒฐ์ ๋ํด ํ๋ถ์ ๋คํธ์ํฌ ๊ณ์ธต์์ ์ฐ๊ฒฐ์ด ํ๋ ํ์ฑ๋๋ค. ๋ฐ๋ผ์ ์ฌ๋ฌ ์ ์ก ๊ณ์ธต์ ์ฐ๊ฒฐ์์ ๋ฐ์ํ ๋ฐ์ดํฐ๊ฐ ๋์ผํ ๊ฒฝ๋ก๋ก ์ ์ก๋๋ฉด ํ๋์ ๋คํธ์ํฌ ์ฐ๊ฒฐ์ ๋ฌถ์ด ์ ์กํ ์ ์๋ค. ์ผ๋ฐ์ ์ธ ์ฐ๊ฒฐ ๊ตฌ์กฐ๋ณด๋ค ๋คํธ์ํฌ ๊ณ์ธต์์ ๋ง๋ค์ด์ง๋ ๊ฐ์ ํ์ ์ฐ๊ฒฐ์ ๊ฐ์๋ฅผ ์ค์ผ ์ ์์ผ๋ฏ๋ก ์ฐ๊ฒฐ ์ค์ ์ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ด ๋จ์ถ๋๋ค.
- (b)๋ ํ๋ฐฉํฅ ๋ฉํฐํ๋ ์ฑ์ผ๋ก ํ๋์ ์ ์ก ์ฐ๊ฒฐ ์ค์ ์ ์๋ฏธํ๋ ํฌํธ์ ๋ค์์ ๊ฐ์ ํ์ ์ ํ ๋นํ๋ค. ์ด ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ฉด ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ฉด ์ ์ก ์๋๋ฟ ์๋๋ผ, ์ ์ก ๊ณ์ธต์์ ๋ฐ์ํ๋ ๋ฐ์ดํฐ์ ํน์ฑ์ ๋ฐ๋ผ ๊ฐ๋ณ ๊ฐ์ ํ์ ์ ํ ๋นํ์ฌ ํจ๊ณผ์ ์ธ ํต์ ์ด ๊ฐ๋ฅํ๋ค.
ex) ์ ์ก ์ฐ๊ฒฐ์์ ์ก์ ํ๊ณ ์ ํ๋ ๋ฐ์ดํฐ์ ์ข ๋ฅ๊ฐ ์ํ ํ์ผ์ด๋ฉด ๊ทธ ๋ด์ฉ์ ์์/์์ฑ/๋ชจ๊ตญ์ด ์๋ง/์ธ๊ตญ์ด ์๋ง ๋ฑ์ผ๋ก ๊ตฌ๋ถํด ๋คํธ์ํฌ ์ฐ๊ฒฐ์ ๊ฐ๋ณ์ ์ผ๋ก ์ค์ ํ ์ ์๋ค.
2.3 ์ฐ๊ฒฐ ์ค์
- ํ๋ก์ธ์ค์ ์ฐ๊ฒฐ ์ค์ ์๊ตฌ์ธ Conn_Req์ ์๋ํธ ํ๋ก์ธ์ค์์ ์ฐ๊ฒฐ ์๋ฝ์ ์๋ฏธํ๋ Conn_Ack์ ํ์ ์ผ๋ก ์๋ฃ๋๋ค.
-> ์ด๋ ์ต์ํ์ ๋จ๊ณ์ด๊ณ ํ๋ฆฌ๋ฏธํฐ๋ธ ์ ๋ฌ ๊ณผ์ ์์ ๋ถ์ค, ๋ณํ, ๋ณต์ฌ ๋ฑ์ ๊ณ ๋ คํ๋ฉด ๋ค์๊ณผ ๊ฐ์ 3๋จ๊ณ ์ค์ ์ ๋์ ๊ณผ์ ์ ๋ณด์ฌ์ค๋ค.
-> ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง ์์ ์ ์ ์ํ์์์ 3๋จ๊ณ ์ค์ ๊ณผ์ (Three-Way Handshake)์ผ๋ก
1. Aํ๋ก์ธ์ค๋ ์์์ ์ก์ ์์ ๋ฒํธ x๋ฅผ ์ง์ ํด ์ฐ๊ฒฐ ์ค์ ์ ์์ฒญ
2. ์ด๋ฅผ ์์ ํ๋ B ํ๋ก์ธ์ค๋ ์ฐ๊ฒฐ ์ค์ ์๊ตฌ์ ๋ํ ์์ ๋ฒํธ x์ ๋ํด ์๋ต์ ๋ณด๋ธ๋ค. ์ด๋ ์์ ๋ฒํธ y๋ ์์ ์ ์ด๊ธฐ ์ก์ ๋ฒํธ๋ฅผ ์ผ์ชฝ ํ๋ก์ธ์ค์ ์๋ ค์ฃผ๊ธฐ ์ํด ์ฌ์ฉํ๋ค.
3. ์ฐ๊ฒฐ ์๊ตฌ์ ๋ํ ์๋ต Conn_Ack๋ฅผ ๋ฐ์ A๊ฐ ์ ๋ฐ์๋ค๊ณ B์ ์๋ตํด์ผ ํ๋ค. ๋ฐ๋ผ์ Conn_Ack์ ๋ค๋ฅธ ์ข ๋ฅ๋ก ์๋ต ์ ๋ณด๋ฅผ ๋ณด๋ด์ผ ํ์ง๋ง, Data_Req๊ฐ ๋ฐ์ดํฐ ์ ์ก๊ณผ ํจ๊ป ์๋ต ๊ธฐ๋ฅ์ ํจ๊ป ์ํํ๊ธฐ ๋๋ฌธ์ด๋ค. A๋ Data_Req(x, y)์ฒ๋ผ ์์ ์ด ์ค์ ํ ์์ ๋ฒํธ x๋ฅผ ์ฌ์ฉํด ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ณ ๋ฐ์ดํฐ ์ ์ก๊ณผ ํจ๊ป B๊ฐ ์ค์ ํ ์์ ๋ฒํธ y์ ๋ํด์๋ ์๋ตํด์ผ ํ๋ค.
2.4 ์ฐ๊ฒฐ ํด์
- ์ฐ๊ฒฐ ํด์ ๊ณผ์ ์ ํฌ๊ฒ 2๊ฐ์ง์ด๋ฉฐ ์๋ฐฉํฅ ๋ฐ์ดํฐ ์ ์ก์ ์ง์.
-> ์ผ๋ฐฉ์ ์ฐ๊ฒฐ ํด์ ์ ์ฐจ ๋ฐฉ์์์๋ ํต์ ํ๋ ํ์ชฝ ํ๋ก์ธ์ค๊ฐ ์ผ๋ฐฉ์ ์ผ๋ก Disc_Req๋ฅผ ์ ์กํด ์ฐ๊ฒฐ ์ข ๋ฃ๋ฅผ ์ ์ธํ ์ ์๋ค. Disc_Req์ ๋ํ ์๋ ํ๋ก์ธ์ค์ ๋์๊ฐ ์์ด๋ ์ฐ๊ฒฐ์ด ๋๊ธฐ๋ ๋ฐฉ์์ด๋ค.
- ์๋ฐฉํฅ ํต์ ์ ์ง์ํ๋ ์ฐ๊ฒฐ์ ํ๋์ ์ํต์ผ๋ก ํํํ์ผ๋ฉฐ, ํ์ชฝ ํ๋ก์ธ์ค๊ฐ Disc_Req๋ฅผ ์ ์กํ๋ค๋ ์๋ฏธ๋ ์ํต์ ๊ธฐ๋ฅ์ ์ ์ง์์ผ, ๋ ์ฌ์ด์ ์ฐ๊ฒฐ์ด ํด์ ๋๋ ๊ฒ์ ์๋ฏธ.
- ์ ์ง์ ์ฐ๊ฒฐ ํด์ ์ ์ฐจ๋ก ํ๋์ ์ฐ๊ฒฐ์ ๋ ๊ฐ์ ๋จ๋ฐฉํฅ ์ฐ๊ฒฐ์ ์ง์ํ๋ ์ํต์ด ์กด์ฌํ๋ ๊ฒ๊ณผ ๊ฐ๋ค. ๋ฐ๋ผ์ A์ ๋ฐ์ดํฐ ์ ์ก ๊ณผ์ ์ค์ B์ ์ฐ๊ฒฐ ํด์ ์๊ตฌ๊ฐ ๋ฐ์ํด๋ ์๋์ชฝ ์ํต ๊ธฐ๋ฅ๋ง ์ ์งํ๊ณ , ์์ชฝ ์ํต์ ์ฌ์ ํ ์ ์ ๊ธฐ๋ฅ์ ์ํ(๋ ํ๋ก์ธ์ค ์ฌ์ด์ ์ฐ๊ฒฐ์ ์์ ํ ์ข ๋ฃํ๋ ค๋ฉด ์์ชฝ์์ ์์ ์๊ฒ ํ ๋น๋ ๋จ๋ฐฉํฅ์ ์ํต ๊ธฐ๋ฅ์ ๋ช ์์ ์ผ๋ก ์ ์งํด์ผ ๋๋ค)
02 TCP ํ๋กํ ์ฝ
- TCP(Transmission Control Protocol)๋ IP ํ๋กํ ์ฝ ์์์ ์ฐ๊ฒฐํ ์๋น์ค๋ฅผ ์ง์ํ๋ ์ ์ก ๊ณ์ธต ํ๋กํ ์ฝ๋ก ์ฐ๊ฒฐํ ์๋น์ค๋ฅผ ์ ๊ณต, ์ ์ด์ค ๋ฐฉ์์ ์๋ฐฉํฅ ๊ฐ์ ํ์ ์ ์ ๊ณต, ์ ๋ขฐ์ฑ ์๋ ๋ฐ์ดํฐ ์ ์ก์ ๋ณด์ฅํ๋ค.
-> TCP/IP ํ๋กํ ์ฝ์ ๊ณ์ธต์ ๊ตฌ์กฐ๋ก ๋คํธ์ํฌ ๊ณ์ธต์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ํ๋กํ ์ฝ์ IP์ด๋ฉฐ, ํ๋กํ ์ฝ ์์์ ์คํ๋๋ ์ ์ก ๊ณ์ธต ํ๋กํ ์ฝ์ ์๋น์ค์ ์ ํ์ ๋ฐ๋ผ TCP(์ฐ๊ฒฐํ ์๋น์ค๋ฅผ ์ง์ํ๋ ํ๋กํ ์ฝ)์ UDP(๋น์ฐ๊ฒฐํ ์๋น์ค๋ฅผ ์ง์ํ๋ ํ๋กํ ์ฝ)๊ฐ ์๋ค.
- ์ ์ก ๊ณ์ธต์ ์์ 5,6,7 ๊ณ์ธต์ ๊ธฐ๋ฅ์ ์ง์ํ๋ ๋ค์ํ ์์ฉ ํ๋ก๊ทธ๋จ์ด ์กด์ฌํ๋ฉฐ ์ฐ๊ฒฐํ ์๋น์ค๊ฐ ํ์ํ์ง, ๋น์ฐ๊ฒฐํ ์๋น์ค๊ฐ ํ์ํ์ง ํ๋จํด์ TCP์ UDP๋ฅผ ์ ํํ๋ค. ์์ฉ ํ๋ก๊ทธ๋จ์ผ๋ก ํ์ผ ์ ์ก ๊ธฐ๋ฅ, ๋ฉ์ผ ์ก์์ ๊ธฐ๋ฅ ๋ฑ์ ์ผ๋ฐ ์ฌ์ฉ์๊ฐ ๊ฐ์ฅ ๋ง์ด ์ด์ฉํ๋ ์ธํฐ๋ท ์๋น์ค๋ค.
๋คํธ์ํฌ ๊ณ์ธต ์๋์๋ ๋ฐ์ดํฐ ๋งํฌ ๊ณ์ธต์ ์ง์ํ๋ X.25, ์ด๋๋ท, ์์ฑ ํต์ ๋ฑ ๋ค์ํ ์ข ๋ฅ์ ๋คํธ์ํฌ ์ธํฐํ์ด์ค๊ฐ ์กด์ฌํ๋ค.
1. TCP ํค๋ ๊ตฌ์กฐ
1.1 TCP ํค๋์ ํ๋
- TCP ํค๋๋ ์ค๊ฐ์ ์์นํ ์ฌ๋ ๊ฐ์ ํ๋๊ทธ ๋นํธ๋ฅผ ๋น๋กฏํด ์ ๋ฒ ๋ง์ ํ๋๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ๋ฐ์ดํฐ์ ์ ์ก ๊ณผ์ ์ด UDP๋ณด๋ค ๋ณต์กํ๋ค.
Source Port/Destination Port(์ก์ ํฌํธ/์์ ํฌํธ) : TCP๋ก ์ฐ๊ฒฐ๋๋ ๊ฐ์ ํ์ ์๋จ์ ์ก์์ ํ๋ก์ธ์ค์ ํ ๋น๋ ๋คํธ์ํฌ ํฌํธ ์ฃผ์์ด๋ค. ์ธํฐ๋ท ํ๊ฒฝ์์๋ ํต์ ์ ์ํ๋ ํ๋ก์ธ์ค๊ฐ ์คํ๋๋ ํธ์คํธ ์ฃผ์์ ํจ๊ป, ํธ์คํธ ๋ด๋ถ์์ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ๊ตฌ๋ถํ ์ ์๋ ํ๋ก์ธ์ค์ ๊ณ ์ ์ฃผ์๊ฐ ํ์ํ๋ค. ํธ์คํธ ์ฃผ์๋ IP ํ๋กํ ์ฝ์์ ์ ์๋ ํธ์คํธ์ IP ์ฃผ์๋ฅผ ์ฌ์ฉํ๋ค. ํ๋ก์ธ์ค์ ํ ๋น๋๋ ๋คํธ์ํฌ ์์์ ํฌํธ๋ผ ํ๋๋ฐ ํฌํธ๋ฅผ ๊ตฌ๋ถํ๊ธฐ ์ํ ์ฃผ์๊ฐ ํฌํธ ๋ฒํธ์ด๋ค.
Sequence Number(์์ ๋ฒํธ) : ์ก์ ํ๋ก์ธ์ค๊ฐ ์ง์ ํ๋ ์์ ๋ฒํธ์ด๋ค. ์ธ๊ทธ๋จผํธ ์ ์ก ๊ณผ์ ์์ ์ ์ก๋๋ ๋ฐ์ดํธ์ ์๋ฅผ ๊ธฐ์ค์ผ๋ก ์ฆ๊ฐํ๋ค. ์ฆ, TCP์์๋ ์ ์ก ๋ฐ์ดํฐ์ ๊ฐ ๋ฐ์ดํธ๋ง๋ค ์์ ๋ฒํธ๊ฐ ์กด์ฌํ๋ค. ํฌ๊ธฐ๊ฐ 32๋นํธ์ธ ํ๋๋ก ํ์ํ ์ ์๊ณ , ์ต๋ 2์ 32์น ๊ฐ๋ก ์ถฉ๋ถํ ํฌ๋ฏ๋ก ์์ ๋ฒํธ๊ฐ ์ค๋ณต๋ ์ผ๋ ค๋ ์๋ค. ์ก์ ํ๋ก์ธ์ค๊ฐ ์ต์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ๋๋ ์์์ ์์ ๋ฒํธ๋ฅผ ์ ํํด ์ ์กํ๋ค.
Acknowledgement Number(์๋ต ๋ฒํธ) : ์์ ํ๋ก์ธ์ค๊ฐ ์ ๋๋ก ์์ ํ ๋ฐ์ดํธ์ ์๋ฅผ ์๋ตํ๊ธฐ ์ํด ์ฌ์ฉํ๋ค. ํ๋ ๊ฐ์ ACK ํ๋๊ทธ ๋นํธ๊ฐ ์ง์ ๋ ๊ฒฝ์ฐ์๋ง ์ ํจํ๋ฉฐ, ๋ค์์ ์์ ์ ๊ธฐ๋ํ๋ ๋ฐ์ดํฐ์ ์์ ๋ฒํธ๋ฅผ ํ์ํ๋ค. ACK ์๋ต์ ๋ฐ์ ์ก์ ํ๋ก์ธ์ค๋ -1๊น์ง์ ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ์ฌ๋ฐ๋ก ์ ์ก๋์์์ ํ์ธํ ์ ์๋ค. ์ฐ๊ฒฐ ์ฑ์ ์ด๋ ์ฐ๊ฒฐ ํด์ ์ฒ๋ผ ๋ฐ์ดํฐ ์ธ๊ทธ๋จผํธ๊ฐ ์๋ ๊ฒฝ์ฐ์๋ ์์ ๋ฒํธ๊ฐ 1์ฉ ์ฆ๊ฐํ๋ค๋ ์ ์ ์ฃผ์ํ๋ค.
Data Offset(๋ฐ์ดํฐ ์ต์ ) : TCP ์ธ๊ทธ๋จผํธ๊ฐ ์์๋๋ ์์น๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฐ์ดํฐ์ ์์ ์์น๋ฅผ ๋ํ๋ด๋ฏ๋ก TCP ํค๋์ ํฌ๊ธฐ๊ฐ ๋๋ค. 32๋นํธ ์๋ ๋จ์๋ก ํ์๋๋ค.
Reserved(์์ฝ) : ์์ฝ ํ๋
Window(์๋์ฐ) : ์ฌ๋ผ์ด๋ฉ ์๋์ฐ ํ๋กํ ์ฝ์์ ์์ ์๋์ฐ์ ๋ฒํผ ํฌ๊ธฐ๋ฅผ ์ง์ ํ๋ ค๊ณ ์ฌ์ฉํ๋ฉฐ, ์์ ํ๋ก์ธ์ค๊ฐ ์์ ํ ์ ์๋ ๋ฐ์ดํธ์ ์๋ฅผ ํ์ํ๋ค. ์์ ํ๋ก์ธ์ค์ ๋ฒํผ ์ฉ๋ ์ด๊ณผ ๋ฑ์ผ๋ก ์ธํด ๋ฐ์ดํฐ๋ฅผ ๋ ์ด์ ์์ ํ ์ ์์ผ๋ฉฐ Window ํ๋ ๊ฐ์ 0์ผ๋ก ์ง์ ํ๋ค. ์ด ๊ฒฝ์ฐ ์ก์ ํ๋ก์ธ์ค๋ ๋ฐ์ดํฐ๋ฅผ ๋ ์ ์กํ๋ฉด ์ ๋๋ค.
Checksum(์ฒดํฌ์ฌ) : TCP ์ธ๊ทธ๋จผํธ์ ํฌํจ๋๋ ํ๋กํ ์ฝ ํค๋์ ๋ฐ์ดํฐ ๋ชจ๋์ ๋ํ ๋ณํ ์ค๋ฅ๋ฅผ ๊ฒ์ถํ๋ ค๊ณ ์ฌ์ฉํ๋ค. IP ํ๋กํ ์ฝ์์ ์ฌ์ฉํ๋ ์ค๋ฅ ๊ฒ์ถ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ค.
Urgent Pointer(๊ธด๊ธ ํฌ์ธํฐ) : ๊ธด๊ธ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํ ๊ฒ์ผ๋ก, URG ํ๋๊ทธ ๋นํธ๊ฐ ์ง์ ๋ ๊ฒฝ์ฐ์ ์ ํจํ๋ค. ์ด ํ๋๋ฅผ ์ฌ์ฉํด ์ก์ ํ๋ก์ธ์ค๊ฐ ๊ธด๊ธํ ์ฒ๋ฆฌํ๋ ค๋ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ์ ์๋ค.
1.2 TCP ํค๋์ ํ๋๊ทธ ๋นํธ
- TCP ํค๋์๋ ํ๋๊ทธ ๋นํธ๊ฐ 8๊ฐ ์ ์๋์ด ์๋๋ฐ ์ฒ์ 2๊ฐ ๋นํธ๋ ํผ์ก ์ ์ด ์ฉ๋๋ก ์ฌ์ฉ๋๊ณ ๋๋จธ์ง 6๊ฐ ํ๋๋ ๊ฐ์ด 1์ด๋ฉด ๋ค์๊ณผ ๊ฐ์ ์๋ฏธ๋ฅผ ๊ฐ๋๋ค.
URG : Urgent Pointer ํ๋๊ฐ ์ ํจํ์ง๋ฅผ ๋ํ๋ธ๋ค. ์ด ๊ธฐ๋ฅ์ ์์ ํ๋ก์ธ์ค์ ์์ฉ ๊ณ์ธต์ ๊ธด๊ธ ๋ฐ์ดํฐ๊ฐ ๋์ฐฉํ์์ ์๋ฆฌ๋ ๊ฒ์ผ๋ก, ๋ฐ์ดํฐ๊ฐ ์์ฉ ๊ณ์ธต์ ์ ๋ฌ๋๊ธฐ ์ ์ ๊ธด๊ธ ๋ฐ์ดํฐ๊ฐ ์์์ ๋ฏธ๋ฆฌ ์๋ ค์ฃผ์ด ๋๋นํ ์ ์๊ฒ ํ๋ค. ์์ ํ๋ก์ธ์ค๋ Urgent Pointer ๊ฐ์ ์ฝ์ด๋ณด๊ณ ์ผ๋ง๋ ๋ง์ ๊ธด๊ธ ๋ฐ์ดํฐ๊ฐ ์ค๋์ง ์ ์ ์๋ค.
ACK : Acknowledgment Number ํ๋๊ฐ ์ ํจํ์ง๋ฅผ ๋ํ๋ด๋ฉฐ ์ ์์ ์ธ ํผ๊ธฐ๋ฐฐํน ๋ฐฉ์์ ์๋ฐฉํฅ ํต์ ํ๊ฒฝ์์, ์๋จ ํ๋ก์ธ์ค๊ฐ ์ฌ์ง ์๊ณ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ค๊ณ ๊ฐ์ ํ๋ฉด ์ต์ด ์ฐ๊ฒฐ ์ค์ ๊ณผ์ ์์ ์ ์ก๋๋ ์ฒซ ๋ฒ์งธ ์ธ๊ทธ๋จผํธ๋ฅผ ์ ์ธํ ๋ชจ๋ ์ธ๊ทธ๋จผํธ์ ACK ๋นํธ๊ฐ 1๋ก ์ง์ ๋๋ค.
PSH : ํ์ฌ ์ธ๊ทธ๋จผํธ์ ํฌํจ๋ ๋ฐ์ดํฐ๋ฅผ ์์ ๊ณ์ธต์ ์ฆ์ ์ ๋ฌํ๋๋ก ์ง์ํ ๋ ์ฌ์ฉํ๋ค. ์์ ํ๋ก์ธ์ค๋ก๋ถํฐ PSH ์ธ๊ทธ๋จผํธ์ ๋ํ ์๋ต ํ๋ ์์ด ๋์ฐฉํ๋ฉด, ํ๋ ์์ Acknowledgement Number ํ๋์ ํ์ํ ์ซ์๊น์ง์ ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ์๋ ํ๋ก์ธ์ค์ ์์ ๊ณ์ธต์ ์ ๋ฌ๋์์์ ์๋ฏธํ๋ค. ๋ํ ์์ ํ๋ก์ธ์ค์ TCP ๊ณ์ธต์ ๋ฒํผ๋ง ๋ ๋ฐ์ดํฐ๋ฅผ ์ฆ์ ์์ ๊ณ์ธต์ ์ ์กํจ์ผ๋ก์จ ์ ์ก ์ง์ฐ์ด ๊ฐ์๋๋ ํจ๊ณผ๋ฅผ ์ป๋๋ค.
RST : ์ฐ๊ฒฐ์ ๋ฆฌ์ ์ด๋ ์ ํจํ์ง ์์ ์ธ๊ทธ๋จผํธ์ ๋ํ ์๋ต์ฉ์ผ๋ก ์ฌ์ฉํ๋ค. ์ก์ ํ๋ก์ธ์ค๊ฐ ์ ์ก์ ๋ง์ณค์ผ๋ ์์ ํ๋ก์ธ์ค์ ์์ง ๋์ฐฉํ์ง ๋ชปํ ์ธ๊ทธ๋จผํธ, ํน์ ์์ ํ๋ก์ธ์ค๊ฐ ์์ง ๊ธ์ ์๋ตํ์ง ์์ ์ธ๊ทธ๋จผํธ๋ ์ฐ๊ฒฐ์ด ์ฌ์ค์ ๋์์ ๋ ์ฌ์ ์ก๋์ด์ผ ํ๋ค.
SYN : ์ฐ๊ฒฐ ์ค์ ์๊ตฌ๋ฅผ ์๋ฏธํ๋ ํ๋๊ทธ ๋นํธ์ด๋ฏ๋ก ๊ฐ์ ํ์ ์ฐ๊ฒฐ์ ์ค์ ํ๋ ๊ณผ์ ์์ ์ฌ์ฉํ๋ค.
FIN : ํ์ชฝ ํ๋ก์ธ์ค์์ ๋๋ ์ ์กํ ๋ฐ์ดํฐ๊ฐ ์์ด ์ฐ๊ฒฐ์ ์ข ๋ฃํ๊ณ ์ถ๋ค๋ ์์ฌ ํ์๋ฅผ ์๋๋ฐฉ์๊ฒ ์๋ฆฌ๋ ค๊ณ ์ฌ์ฉํ๋ค. ํ์ฌ ์ ์ก ๊ณผ์ ์ ์๋ ๋ฐ์ดํฐ๋ ๊ณ์ ์ฒ๋ฆฌํ ์ ์์ผ๋ฉฐ, ์๋ํธ ํ๋ก์ธ์ค์ ๋ฐ์ดํฐ ์ ์ก์ ์ฅ์ ๊ฐ ๋ฐ์ํ์ง ์๋๋ค. ๋ฐ๋ผ์ ์ฐ๊ฒฐ ํด์ ๋ ์์ชฝ ํ๋ก์ธ์ค ๋ชจ๋๊ฐ FIN ํ๋๊ทธ๋ฅผ ์ ์กํด์ผ ์๋ฃ๋๋ค. [์ฐ๊ฒฐ ํด์ ]
1.3 ํผ์ก ์ ์ด
- ์ต๊ทผ์ TCP์ ECN ๊ธฐ๋ฅ์ ๋ผ์ฐํฐ๊ฐ ์ก์ ํ๋ก์ธ์ค์ ๋ช ์์ ์ผ๋ก ํผ์ก ๋ฐ์์ ์๋ ค์ฃผ์ด ์ก์ ํ๋ก์ธ์ค ์ค์ค๋ก ํธ๋ํฝ์ ์ํํ๋ ๊ธฐ์ ์ด๋ค. TCP๋ ECN ๊ธฐ๋ฅ์ ์ง์ํ๊ธฐ ์ํด CWRํ๋์ ECE ํ๋๋ฅผ ์ ์ํ๋ค.
CWR(Congestion Window Reduced) : ECE ๋นํธ๋ฅผ ์์ ํ ์ก์ ํ๋ก์ธ์ค๊ฐ ์ ์ก ์๋์ฐ ํฌ๊ธฐ๋ฅผ ์ค์์์ ํต์งํ๋ ๊ฒ์ด ๋ชฉ์ ์ด๋ฉฐ, ๋ ์ด์์ ECE๋ฅผ ์ ์กํ์ง ๋ง๋ผ๋ ์๋ฏธ์ด๋ค.
ECE(Explicit Congestion Notification Echo) : ECN-Echo๋ก๋ ์ฝ์นญ๋๋ฉฐ, ๋คํธ์ํฌ ํธ๋ํฝ์ด ๋ง์์ง ๋ ๋ผ์ฐํฐ๊ฐ ์ก์ ํ๋ก์ธ์ค์ ๋ช ์์ ์ผ๋ก ํผ์ก์ ์๋ฆฌ๋ ค๊ณ ์ฌ์ฉํ๋ค. ์ฃผ์ํ ์ ์ ์ก์ ํ๋ก์ธ์ค์ ์ง์ ์ ๋ฌํ์ง ์๊ณ , IP ํค๋์ ECN ํ๋์ CE ๊ฐ์ ์ง์ ํ์ฌ ๊ฐ์ ์ ์ผ๋ก ์์ ํ๋ก์ธ์ค์ ์๋ ค์ค ํ์ ์์ ํ๋ก์ธ์ค์ ์ค๊ฐ(Echo)๋ฅผ ๊ฑฐ์ณ ์์ ํ๋ก์ธ์ค์ ํต์ง๋๋ค๋ ์ ์ด๋ค. ECE๋ฅผ ์์ ํ ์ก์ ํ๋ก์ธ์ค๋ ๋คํธ์ํฌ ๋ถํ๋ฅผ ์ค์ด๊ธฐ ์ํด ์ ์ก ์๋์ฐ ํฌ๊ธฐ๋ฅผ ์ค์ธ๋ค. ๋ผ์ฐํฐ๊ฐ IP ํ๋กํ ์ฝ์ ์ด์ฉํ์ฌ ์์ ํ๋ก์ธ์ค์ ์ค๊ฐ๋ฅผ ํตํด ๊ฐ์ ์ ์ผ๋ก ํต์งํ๋ ์ด์ ๋ ๋ผ์ฐํฐ๊ฐ TCP ํ๋กํ ์ฝ์ ์ง์ํ์ง ์๊ธฐ ๋๋ฌธ์ด๋ค.
1.4 ์บก์ํ
- TCP ํค๋ ๋ค์ ์ถ๊ฐ๋์ด TCP ์ธ๊ทธ๋จผํธ๋ฅผ ๊ตฌ์ฑํ๋ฉฐ TCP ์ธ๊ทธ๋จผํธ๋ ๋ค์ iP ํ๋กํ ์ฝ๋ก ๋ณด๋ด์ง๊ณ IP ํค๋์ ์บก์ํ๋์ด ๋ฐ์ดํฐ ๋งํฌ ๊ณ์ธต์ผ๋ก ๋ณด๋ด์ง๋ค.
2. ํฌํธ ๋ฒํธ
- ํฌํธ๋ฒํธ๋ TCP์ UDP๊ฐ ์์ ๊ณ์ธต์ ์ ๊ณตํ๋ ์ฃผ์ ํํ ๋ฐฉ์์ด๊ณ ์ ๋์ค ํ๊ฒฝ์์๋ ์์ผ์ผ๋ก ํฌํธ๋ฅผ ๊ตฌํํ๋ฏ๋ก, TCP/UDP ํ๋กํ ์ฝ์ ์ฌ์ฉํ๋ ค๋ฉด ์์ผ ์์คํ ์ฝ์ ์ธํฐํ์ด์ค๋ฅผ ์์์ผ ํ๋ค.
์์ผ ์์คํ ์ฝ์ ์ด์ฉํด TCP ์ฐ๊ฒฐ ์ค์ ์ด ๋๋ฉด ํต์ ์๋จ์ ํ๋ก์ธ์ค๊ฐ ์ฌ์ฉํ๋ ๊ณ ์ ์ฃผ์๋ ํด๋น ํธ์คํธ์ IP ์ฃผ์์ ํธ์คํธ ๋ด๋ถ์ ํฌํธ ๋ฒํธ๊ฐ ์กฐํฉ๋ ํํ์ด๋ค.
- ํด๋ผ์ด์ธํธ-์๋ฒ์ ์ฐ๋์ ์๋ฒ๊ฐ ๋จผ์ ์คํ๋๊ณ , ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์ฐ๊ฒฐ์ ์๋ํ๋ ๋ฐฉ์์ผ๋ก ์ด๋ค์ง๋ฉฐ ์ฐ๊ฒฐ์ ์ํ๋ ์๋ฒ์ ์ ์ํ๋ ค๋ฉด ์๋ฒ์ IP ์ฃผ์์ ํฌํธ ๋ฒํธ๋ฅผ ์์์ผ ํ๋ค.
์ธํฐ๋ท ํ๊ฒฝ์์ ๋ง์ด ์ฌ์ฉํ๋ ํฌํธ ๋ฒํธ๋ฅผ Well-Known ํฌํธ๋ผ ํ๋ฉฐ ์์ฃผ ์ฌ์ฉํ๋ ์์ฉ ์๋น์ค๋ ๋ชจ๋ ๊ณ ์ ๋ ํฌํธ ๋ฒํธ๋ฅผ ์ฌ์ฉํ๋ค.
03 TCP ํ๋กํ ์ฝ์ ์ด์ฉํ ๋ฐ์ดํฐ ์ ์ก
- TCP ํ๋กํ ์ฝ์ ์ ์ด์ค ๋ฐฉ์์ ์๋ฐฉํฅ ํต์ ์ ์ง์ํ๋ฏ๋ก ๊ฐ์ ํ์ ์ผ๋ก ์ฐ๊ฒฐ๋ ๋ ํ๋ก์ธ์ค๊ฐ ๋์์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ์ ์๊ณ ์ ์ก ๋ฐ์ดํฐ์ ์๋ต ๋ฐ์ดํฐ๋ฅผ ํจ๊ป ์ ์กํ๋ ํผ๊ธฐ ๋ฐฐํน ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ค.
1. ์ฐ๊ฒฐ ์ค์
: TCP๋ฅผ ์ฌ์ฉํ๋ ํ๋ก์ธ์ค๊ฐ ๊ฐ์ฅ ๋จผ์ ์คํํ๋ 3๋จ๊ณ ์ค์ ๋ฐฉ์(Three-way Handshake)์ผ๋ก Aํ๋ก์ธ์ค๊ฐ ์ฐ๊ฒฐ ์ค์ ์ ์๊ตฌํ๊ณ Bํ๋ก์ธ์ค๊ฐ ์ด๋ฅผ ์๋ฝํ๋ ํ์์ด๋ค.
1. ๋จผ์ A๋ TCP ํค๋์ SYN ํ๋๊ทธ๋ฅผ ์ง์ ํ ์ธ๊ทธ๋จผํธ๋ฅผ ์ ์กํจ์ผ๋ก์จ ์ฐ๊ฒฐ ์ค์ ์ ์๊ตฌํ๊ณ ์์ ๋ฒํธ 10๋ฒ์ ์์๋ก ์ค์ ํ ๊ฒ์ด๋ค.
2. ์ฐ๊ฒฐ ์ค์ ์๊ตฌ๋ฅผ ๋ฐ์ B๋ ์ฐ๊ฒฐ์ ์๋ฝํ๋ ค๋ฉด ๊ธ์ ์๋ต์ ํด์ผ ํ๋ค. ์ด๋ฅผ ์ํด SYN ํ๋๊ทธ๊ฐ ์ง์ ํ ์ธ๊ทธ๋จผํธ์๋ ์ ์ก ๋ฐ์ดํฐ๊ฐ ํฌํจ๋์ง ์์ง๋ง ์์ ๋ฒํธ๋ 1์ด ์ฆ๊ฐํ๋ค. ๋ฐ๋ผ์ SYN ์ธ๊ทธ๋จผํธ์ ์์ ๋ฒํธ(10+1 = 11) 11๋ฒ์ Acknowledgment Number ํ๋์ ์ง์ ํด ํ์ ํ๋ค. ๊ฐ์ ์ ํจํ๊ฒ ํ๊ธฐ ์ํด ACK ํ๋๊ทธ๋ฅผ ์ง์ ํ์ผ๋ฉฐ, B์ ์์ ๋ฒํธ 50๋ฒ์ ์์๋ก ์ง์ ํ์๋ค.
3. ์ธ ๋ฒ์งธ ์ธ๊ทธ๋จผํธ๋ B๊ฐ ์ ์กํ ์ฐ๊ฒฐ ์๋ฝ ์ธ๊ทธ๋จผํธ๊ฐ ์ ๋๋ก ๋์ฐฉํ์์ ์๋ฆฐ๋ค.
2. ๋ฐ์ดํฐ ์ ์ก
- TCP๋ ๋ฐ์ดํฐ ์ ์ก ๊ณผ์ ์์ ํ๋ฆ ์ ์ด๋ฅผ ์ง์ํ๋ ค๊ณ ์ฌ๋ผ์ด๋ฉ ์๋์ฐ ํ๋กํ ์ฝ์ ์ฌ์ฉํ๋ค. ๋ฐ์ดํฐ๋ฅผ ์์ ํ๋ ํ๋ก์ธ์ค๋ ์๋ต ์ธ๊ทธ๋จผํธ ํค๋์ Window ํ๋๋ฅผ ์ด์ฉํด ์๋์ฐ ํฌ๊ธฐ๋ฅผ ๋๋ฆฌ๊ฑฐ๋ ์ค์ฌ ์ก์ ํ๋ก์ธ์ค์ ์ ์ก ์๋๋ฅผ ์กฐ์ ํ๋ค.
2.1 ์ ์์ ์ธ ๋ฐ์ดํฐ ์ ์ก
- TCP์ ๋ฐ์ดํฐ ์ ์ก์ ์์ชฝ ํ๋ก์ธ์ค๊ฐ ๋์์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ์ ์๋ ์ ์ด์ค ๋ฐฉ์์ ์ง์ํ๋ ๋ฐ ์ธ ๋ฒ์งธ ์ธ๊ทธ๋จผํธ๋ฅผ ์ ์กํ๋ ๊ณผ์ ์์ ๋ฐ์ดํฐ ์ ์ก์ด ์ด๋ค์ง์ง ์์๋๋ฐ A๊ฐ B์ ์ ์กํ ๋ฐ์ดํฐ๊ฐ ์์ผ๋ฉด ์ธ ๋ฒ์งธ ์ธ๊ทธ๋จผํธ์ ๋ฐ์ดํฐ๋ฅผ ์ค์ด์ ์ ์กํ ์ ์๋ค.
-> ์ธ๊ทธ๋จผํธ ์ธ ๊ฐ๊ฐ ์์ฐจ์ ์ผ๋ก ์ ์ก๋๋ ๊ฒฝ์ฐ๋ก A๊ฐ ๋จผ์ ์์ ๋ฒํธ 11๋ถํฐ 5๋ฐ์ดํธ์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ณ , B๋ ์์ ๋ฒํธ 51๋ฒ๋ถํฐ 10 ๋ฐ์ดํธ์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ค. ์์ ๋ฒํธ์ ์๋ต ๋ฒํธ์ ์กฐํฉ์ ์ ์ก๋๋ ๋ฐ์ดํฐ์ ์์ ๋ฐ๋ผ ์ ์ ํ ์กฐ์ ๋๊ณ ์๋ค.
- TCP ํ๋ฆ ์ ์ด๋ ํ๋กํ ์ฝ ํค๋์ Window ํ๋๋ฅผ ์ฌ์ฉํ๋ฉฐ ์ง์ ํ ๊ฐ ์ด์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ์ ์์ผ๋ฏ๋ก ์์ ํ๋ก์ธ์ค๋ ์์ ์ ์ฒ๋ฆฌ ๋ฅ๋ ฅ์ ๋ง๋ ๊ฐ์ผ๋ก ์ง์ ํด ์ก์ ํ๋ก์ธ์ค์ ์ ์ก ์๋๋ฅผ ์ ์ดํ๋ค.
2.2 ๋ฐ์ดํฐ ์ ์ก ์ค๋ฅ
- TCP ๋ฐ์ดํฐ๋ฅผ ์ธ๊ทธ๋จผํธ(segment)๋ผ ๋ถ๋ฅด๋ฉฐ, ์์ ๋ฒํธ์ ํจ๊ป ์ ์ก๋๋ค. ์์ ๋ฒํธ๋ ์์ ๊ณ์ธต์์ ๋ณด๋ธ ๋ฐ์ดํฐ์ ๋ฐ์ดํธ ์์ ๊ธฐ์ดํ์ฌ ๋ถ์ฌ๋๊ณ , ์์ ํ๋ก์ธ์ค๋ ์ด ๋ฒํธ๋ฅผ ๊ทผ๊ฑฐ๋ก ๋ฐ์ดํฐ์ ์์๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ ๋ ฌํ ์ ์๋ค. ์์ ๋ฒํธ๊ฐ ๋์ผํ ๋ฐ์ดํฐ๊ฐ ๋์ฐฉํ๋ฉด ์ค๋ณต์ผ๋ก ํ๋จํ์ฌ ํด๋น ๋ฐ์ดํฐ๋ฅผ ๋ฒ๋ฆฌ๊ณ , ์ค๊ฐ์ ์์ ๋ฒํธ๊ฐ ๋น ์ง๋ฉด ๋ฐ์ดํฐ๋ฅผ ๋ถ์คํ๋ค๊ณ ํ๋จํ๋ค.
- TCP๋ ๋ถ์ ์๋ต ๊ธฐ๋ฅ์ธ NAK๋ฅผ ์ฌ์ฉํ์ง ์์์ ์์ ํ๋ก์ธ์ค์ ๋์ฐฉํ ๋ฐ์ดํฐ ์ธ๊ทธ๋จผํธ์ ๋ด์ฉ์ด ๋ณํ๋์ด๋ ์์ ํ๋ก์ธ์ค๊ฐ ์๋ต์ ํ์ง ์์ ๋ฐ์ดํฐ ๋ถ์ค๊ณผ ๋์ผํ๊ฒ ์ฒ๋ฆฌ๋๋ค. ๋ฐ์ดํฐ ๋ณํ๊ณผ ๋ถ์ค ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด, ์์ ํ๋ก์ธ์ค๋ก๋ถํฐ ํ์ ์ ๋ฐ์ ์ ์์ผ๋ฏ๋ก ์ก์ ํ๋ก์ธ์ค์ ํ์์์ ๊ธฐ๋ฅ์ ์ํด ์ค๋ฅ๊ฐ ๋ณต๊ตฌ๋๋ค.
-> A๊ฐ TCP ์ธ๊ทธ๋จผํธ ์ธ ๊ฐ๋ฅผ ์ฐ์์ผ๋ก ์ ์กํ๊ณ , ์ด์ค ์ธ ๋ฒ์งธ ์ธ๊ทธ๋จผํธ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ๋ก
Aํ๋ก์ธ์ค๊ฐ ์์ ๋ฒํธ, 11~20/21~30/31~40๋ฒ์ธ ๋ฐ์ดํฐ ์ธ๊ทธ๋จผํธ๋ฅผ ์ ์กํ๊ณ , ์ด๋ค์ด ๋ชจ๋ ์ ์์ ์ผ๋ก ์์ ๋๋ฉด 41๋ฒ ์๋ต ๋ฒํธ๋ฅผ ๊ธ์ ์๋ต์ผ๋ก ํ์ ๋ฐ๋๋ค. ํ์ง๋ง 3๋ฒ์งธ ์ธ๊ทธ๋จผํธ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํด์ ์ค๋ฅ ์ ์ด๋ฅผ ํด์ผ ํ๋ค.
B๋ 11~20/21~30๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์์ ํ๊ณ ACK ํ๋๊ทธ๊ฐ ์ง์ ๋ ์๋ต ์ธ๊ทธ๋จผํธ์ ์์ ๋ฒํธ๋ 31๋ฒ์ผ๋ก ์ง์ ๋๋ค. A๋ 31~40๋ฒ ๋ฐ์ดํฐ์ ๋ํ ๊ธ์ ์๋ต์ ๋ฐ์ง ๋ชปํด์ ํ์์์ ๊ธฐ๋ฅ์ ํตํด ํด๋น ์ธ๊ทธ๋จผํธ๋ฅผ ์ฌ์ ์กํด์ผ ํ๋ค.
3. ์ฐ๊ฒฐ ํด์
: ์ฐ๊ฒฐ์ ํด์ ํ๊ณ ์ ํ๋ ์ชฝ์์ FIN ํ๋๊ทธ๋ฅผ ์ง์ ํด ์๊ตฌํ๊ณ ํ๋ก์ธ์ค์ ๋์ํ์ ์งํ๋๊ธฐ ๋๋ฌธ์ ์ฐ๊ฒฐ ํด์ ์ธ๊ทธ๋จผํธ๋ฅผ ๋ฐ์ ํ๋ก์ธ์ค๊ฐ FIN ํ๋๊ทธ๋ก ์๋ตํ ๋๊น์ง ์ฐ๊ฒฐ์ ๊ณ์ ์ ์ง๋๋ค.
- FIN ํ๋๊ทธ๊ฐ ์ง์ ๋ ์ธ๊ทธ๋จผํธ๋ฅผ ์์ ํ ํ๋ก์ธ์ค๋ ์ด์ ๋ํ ์๋ต์ผ๋ก ์์ ๋ฒํธ๋ฅผ 1 ์ฆ๊ฐ์์ผ์ ์๋ต ๋ฒํธ๋ฅผ 17๋ฒ์ผ๋ก ์ง์ ํ ๊ธ์ ์๋ต ์ธ๊ทธ๋จผํธ๋ฅผ ํ์ ํ๊ณ ์์ ์ด ์ ์กํ 61๋ฒ ์ธ๊ทธ๋จผํธ ์ดํ์ ๋ฐ์ดํฐ๋ ๊ณ์ ์ ์กํ๊ณ ์๋ค. 5๋ฐ์ดํธ์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ํ์ FIN ํ๋๊ทธ๋ฅผ ์ฌ์ฉํด ์ฐ๊ฒฐ ์ข ๋ฃํ๋ ๊ฒ์ผ๋ก ํฉ์ํ๊ณ ์๋ค.
4. ํผ์ก ์ ์ด
- ECN ๊ธฐ๋ฅ์ TCP์ ํผ์ก ์ ์ด ๊ธฐ๋ฅ์ ์ง์ํ๋ฉฐ ECE, CWR ํ๋๊ทธ์ IP ํค๋์ ECN ํ๋๋ฅผ ์ ์ํ๊ณ ECN ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ค๋ฉด TCP ์ฐ๊ฒฐ ์ค์ ๋จ๊ณ์์ ECN ๊ธฐ๋ฅ์ ์ฌ์ฉํ ๊ฒ์ธ์ง ์ฌ๋ถ๋ฅผ ํ์ํด์ผ ํ๋ค.
๋ฐ์ดํฐ ์ ์ก ๋จ๊ณ์์๋ ํผ์ก์ ์ธ์งํ ๋ผ์ฐํฐ๊ฐ ์์ ํ๋ก์ธ์ค์ ํผ์ก์ ํต์งํ๊ณ ์์ ํ๋ก์ธ์ค๋ ๋ค์ ์ก์ ํ๋ก์ธ์ค์ ํผ์ก์ ํต์งํจ์ผ๋ก์จ ์ก์ ํ๋ก์ธ์ค๊ฐ ์ ์กํ๋ ๋ฐ์ดํฐ์ ์์ ์ค์ด๋ ๋ฐฉ์์ผ๋ก ํผ์ก ์ ์ด๊ฐ ์ด๋ค์ง๋ค.
1. ์ฐ๊ฒฐ ์ค์ ์ ์์ฒญํ๋ A์์ ์ฐ๊ฒฐ ์ค์ ์๊ตฌ์ธ SYN, CWR, ECE ํ๋๊ทธ๋ฅผ ์ง์ ํ์ฌ ECN ๊ธฐ๋ฅ์ด ๋์ํ๋ ์ฐ๊ฒฐ ์ค์ ์์ฒญ์ ๋ณด๋ธ๋ค.
2. ์์ฒญ์ ๋ฐ์ B์์ ECN ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์์ฌ๊ฐ ์์ผ๋ฉด (a)์ฒ๋ผ SYN, ACK, ECE ํ๋๊ทธ๋ฅผ ์ง์ ํ์ฌ ์๋ตํ๋ค. ๋ง์ผ ์์ฌ๊ฐ ์์ผ๋ฉด (b)์ฒ๋ผ SYN, ACKํ๋๊ทธ๋ง ์ง์ ํ์ฌ ์๋ต.
-> ECN ๊ธฐ๋ฅ์ด ๋์ํ๋ TCP ์ฐ๊ฒฐ์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ๊ณผ์ ์ผ๋ก
(a) - ๋จผ์ TCP ์ธ๊ทธ๋จผํธ๋ฅผ ์ ์กํ๋ A์ IP ํ๋กํ ์ฝ์ IP ํค๋ ๋ด์ ECN ํ๋ ๊ฐ์ ECT(01,10)๋ก ์ค์ ํ์ฌ ์ ์กํ๋ค. IP ํค๋์ ECT๊ฐ ์ค์ ๋ ๊ฒ์ TCP๊ฐ ECN ๊ธฐ๋ฅ์ ์ง์ํ๋ค๋ ์๋ฏธ์ด๋ค.
(b) - ์์์ ์์ ์์ ๋คํธ์ํฌ์ ํผ์ก์ด ๋ฐ์ํ๊ณ , ๋ผ์ฐํฐ๊ฐ ์ด๋ฅผ ๊ฐ์งํ ๊ฒฝ์ฐ
(c) - ํผ์ก์ ๊ฐ์งํ ๋ผ์ฐํฐ๋ IP ํค๋์ ECT๊ฐ ์ค์ ๋ ํจํท๋ค์ ๋ํด CE๋ฅผ ์ค์ ํ์ฌ ํผ์ก์ด ๋ฐ์ํ์์ ์๋ฆฌ๋๋ฐ ๋ผ์ฐํฐ๊ฐ ์ก์ ํ๋ก์ธ์ค์ธ A์ ์ง์ ํต์งํ์ง ์๊ณ B์ ํต์งํ๋ ๊ฒ์ ์ฃผ์ํ๋ค. ์ฆ, ์์ ํ๋ก์ธ์ค์ ์ค๊ฐ๋ฅผ ๊ฑฐ์ณ ๊ฐ์ ์ ์ผ๋ก ์ก์ ํ๋ก์ธ์ค์ ํผ์ก์ ํต์งํ๋ค.
(๋ผ์ฐํฐ์ ๊ตฌ์กฐ์ ํ๊ณ ๋๋ฌธ + ๋ค์์ ์์นํ ๋ผ์ฐํฐ๋ค์ด ECN ๊ธฐ๋ฅ์ ๋ฐ๋ณต์ ์ผ๋ก ์ํํ์ง ๋ชปํ๋ ํจ๊ณผ)
(d) - ๋ผ์ฐํฐ๋ก๋ถํฐ IP ํค๋์ CE ๊ฐ์ ๋ฐ์ B๋ ๋ชจ๋ TCP ์ธ๊ทธ๋จผํธ์ ๋ํด TCP ํค๋์ ECE ํ๋๊ทธ๋ฅผ ์ง์ ํ์ฌ ๋ผ์ฐํฐ๊ฐ ๊ฐ์งํ ํผ์ก์ A์๊ฒ ์๋ ค์ค๋ค.
(e) - ํผ์ก์ ์ธ์งํ A๋ ์ก์ ์๋์ฐ๋ฅผ ์กฐ์ ํ์ฌ ์ ์ก๋๋ ๋ฐ์ดํฐ์ ์์ ์ค์ด๊ณ , TCP ํค๋์ CWR ํ๋๊ทธ๋ฅผ ์ง์ ํจ์ผ๋ก์จ ํผ์ก์ ์ ์ ํ ์กฐ์น๋ฅผ ์ทจํ์์ ํต์งํ๋ค.
Last updated