์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- leetcode
- ํ๋ ์ ๊ตฌ์กฐ
- well known ํฌํธ
- tcp ํ๋กํ ์ฝ
- xv6
- ์ฃผ๊ธฐ์ ํธ
- ํ๋ก์ด๋์์
- git merge
- ๊ฐ๋ฐ์์ทจ์
- ์ค๋ฅ๊ฒ์ถ
- mariadb
- ํฐ์คํ ๋ฆฌ์ฑ๋ฆฐ์ง
- tcp ์ธ๊ทธ๋จผํธ
- ํ ํฐ ๋ฒ์ค
- ์ฐ๋ถํฌdb
- ํญํด99
- ์๋น์ค ํ๋ฆฌ๋ฏธํฐ๋ธ
- ์ค๋ ๋
- i-type
- til
- ๋ฐ์ดํฐ ์ ์ก
- 99ํด๋ฝ
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
- ๋น์ฃผ๊ธฐ์ ํธ
- ์ฝ๋ฉํ ์คํธ์ค๋น
- ์์๋ฒํธ
- ์ค๋ฅ์ ์ด
- IEEE 802
- reducible
- ์ค๋ธ์
- Today
- Total
Unfazedโ๏ธ๐ฏ
TCP ํ๋กํ ์ฝ - TCP์ ๋์ ์๋ฆฌ ๋ณธ๋ฌธ
TCP ํ๋กํ ์ฝ - TCP์ ๋์ ์๋ฆฌ
9taetae9 2024. 12. 9. 11:37TCP ํ๋กํ ์ฝ์ ์ ์ด์ค(full-duplex) ๋ฐฉ์์ ์๋ฐฉํฅ ํต์ ์ ์ง์ํ๋ฏ๋ก ๊ฐ์ ํ์ ์ผ๋ก ์ฐ๊ฒฐ๋ ๋ ํ๋ก์ธ์ค๊ฐ ๋์์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ์ ์๋ค. ๋ฐ๋ผ์ ์ ์ก ๋ฐ์ดํฐ์ ์๋ต ๋ฐ์ดํฐ๋ฅผ ํจ๊ป ์ ์กํ๋ ํผ๊ธฐ๋ฐฐํน(Piggybacking) ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ค.
์ฐ๊ฒฐํ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ TCP์์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ค๋ฉด ์ฐ๊ฒฐ ์ค์ , ๋ฐ์ดํฐ ์ ์ก, ์ฐ๊ฒฐ ํด์ ๋ผ๋ 3๋จ๊ณ๋ฅผ ์์ฐจ์ ์ผ๋ก ์งํํด์ผ ํ๋ค.
์ฐ๊ฒฐ ์ค์
TCP๋ฅผ ์ฌ์ฉํ๋ ํ๋ก์ธ์ค๊ฐ ๊ฐ์ฅ ๋จผ์ ์คํํ๋ ์ฐ๊ฒฐ ์ค์ ์ ์์ ๊ฐ์ 3๋จ๊ณ ์ค์ (Three-Way Handshake) ๋ฐฉ์์ด๋ค.
A ํ๋ก์ธ์ค๊ฐ ์ฐ๊ฒฐ ์ค์ ์ ์๊ตฌํ๊ณ , B ํ๋ก์ธ์ค๊ฐ ์ด๋ฅผ ์๋ฝํ๋ ํ์์ด๋ค.
๊ตฌ์ฒด์ ๋จ๊ณ :
1. A ํ๋ก์ธ์ค๊ฐ TCP ํค๋์ SYN ํ๋๊ทธ๋ฅผ ์ง์ ํ ์ธ๊ทธ๋จผํธ๋ฅผ ์ ์ก, ์์์ ์์ ๋ฒํธ 10 (์ฐ๊ฒฐ ์ค์ ์๊ตฌ)
2. ์ฐ๊ฒฐ ์ค์ ์๊ตฌ๋ฅผ ๋ฐ์ B ํ๋ก์ธ์ค๊ฐ ์ฐ๊ฒฐ์ ์๋ฝํ๊ธฐ ์ํด SYN ํ๋๊ทธ์ ACK ํ๋๊ทธ๋ฅผ ์ง์ ํด ์ฐ๊ฒฐ์ ๋ํ ๊ธ์ ์๋ต ํ์
SYN ํ๋๊ทธ๊ฐ ์ง์ ๋ ์ธ๊ทธ๋จผํธ์๋ ์ ์ก ๋ฐ์ดํฐ๊ฐ ํฌํจ๋์ง ์์๋ ์์ ๋ฒํธ๋ 1 ์ฆ๊ฐ, B ํ๋ก์ธ์ค๋ ์์์ ์์ ๋ฒํธ 50์ ์ง์
3. B ํ๋ก์ธ์ค๊ฐ ์ ์กํ ์ฐ๊ฒฐ ์๋ฝ ์ธ๊ทธ๋จผํธ๊ฐ ์ ๋๋ก ๋์ฐฉํ์์ ์๋ฆผ
์์ ์ํฉ์ A ํ๋ก์ธ์ค์ ์ ์กํ ๋ฐ์ดํฐ๊ฐ ์์ ๋ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ด๊ณ , ์ ์ก ๋ฐ์ดํฐ๊ฐ ์๋ค๋ฉด ์ธ ๋ฒ์งธ ์ธ๊ทธ๋จผํธ์์ ๋ฐ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ก
๋ฐ์ดํฐ ์ ์ก
TCP๋ ๋ฐ์ดํฐ ์ ์ก ๊ณผ์ ์์ ํ๋ฆ ์ ์ด๋ฅผ ์ง์ํ๊ธฐ ์ํด ์ฌ๋ผ์ด๋ฉ ์๋์ฐ ํ๋กํ ์ฝ์ ์ฌ์ฉํจ
๋ฐ์ดํฐ๋ฅผ ์์ ํ๋ ํ๋ก์ธ์ค๋ ์๋ต ์ธ๊ทธ๋จผํธ ํค๋์ Window ํ๋๋ฅผ ์ด์ฉํด ์๋์ฐ ํฌ๊ธฐ๋ก ์ก์ ํ๋ก์ธ์ค์ ์ ์ก ์๋๋ฅผ ์กฐ์ ํจ
์ ์์ ์ธ ๋ฐ์ดํฐ ์ ์ก
TCP์ ๋ฐ์ดํฐ ์ ์ก์ ์์ชฝ ํ๋ก์ธ์ค๊ฐ ๋์์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ์ ์๋ ์ ์ด์ค ๋ฐฉ์์ ์ง์ํ๋ค.
์๊ทธ๋ฆผ์ ์ฐ๊ฒฐ ์ค์ ๊ณผ์ ํ ์ด์ด์ง๋ ์ ์ก๊ณผ์ ์ ํํํ๋ค.
A ํ๋ก์ธ์ค๊ฐ ๋จผ์ ์์ ๋ฒํธ 11๋ฒ๋ถํฐ 5๋ฐ์ดํธ์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ณ , B ํ๋ก์ธ์ค๋ ์์ ๋ฒํธ 51๋ฒ๋ถํฐ 10๋ฐ์ดํธ์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ค.
์์ ๋ฒํธ์ ์๋ต ๋ฒํธ์ ์กฐํฉ์ ์ ์ก๋๋ ๋ฐ์ดํฐ์ ์์ ๋ฐ๋ผ ์ ์ ํ ์กฐ์ ๋๊ณ ์๋ค.
TCP์ ํ๋ฆ ์ ์ด๋ ํ๋กํ ์ฝ ํค๋์ Window ํ๋๋ฅผ ์ฌ์ฉํด ์ด๋ฃจ์ด์ง๋๋ฐ, Window ํ๋์ ์ง์ ํ ๊ฐ ์ด์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ์ ์์ผ๋ฏ๋ก ์์ ํ๋ก์ธ์ค๋ ์์ ์ ์ฒ๋ฆฌ ๋ฅ๋ ฅ์ ๋ง๋ ๊ฐ์ผ๋ก Window ํ๋ ๊ฐ์ ์ง์ ํด ์ก์ ํ๋ก์ธ์ค์ ์ ์ก ์๋๋ฅผ ์ ์ดํ๋ค.
window ์ฌ์ด์ฆ๋ฅผ ์ด๊ณผํ๋ ๋ฐ์ดํฐ๋ค์ ์์ ํ๋ก์ธ์ค๋ก๋ถํฐ ์ด์ ์๋ต์ด ๋์ฐฉํ์ ๋ ์ด์ด์ ์ ์กํ ์ ์๋ค.
๋ฐ์ดํฐ ์ ์ก ์ค๋ฅ
์์ ๋ฒํธ๋ ์์ ๊ณ์ธต์์ ๋ณด๋ธ ๋ฐ์ดํฐ์ ๋ฐ์ดํธ ์์ ๊ธฐ์ดํ์ฌ ๋ถ์ฌ๋๊ณ , ์์ ํ๋ก์ธ์ค๋ ์์ ๋ฒํธ๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฐ์ดํฐ์ ์์๋ฅผ ์ ๋ ฌํ๋ค. ์์ ๋ฒํธ๊ฐ ๋์ผํ ๋ฐ์ดํฐ๊ฐ ๋์ฐฉํ๋ฉด ์ค๋ณต์ผ๋ก ํ๋จํ์ฌ ํด๋น ๋ฐ์ดํฐ๋ฅผ ๋ฒ๋ฆฌ๊ณ , ์ค๊ฐ์ ์์ ๋ฒํธ๊ฐ ๋น ์ง ๊ฒฝ์ฐ๋ ๋ฐ์ดํฐ ๋ถ์ค๋ก ํ๋จ
TCP๋ ๋ถ์ ์๋ต ๊ธฐ๋ฅ์ธ NAK๋ฅผ ์ฌ์ฉํ์ง ์๊ธฐ ๋๋ฌธ์ ์์ ํ๋ก์ธ์ค์ ๋์ฐฉํ ๋ฐ์ดํฐ ์ธ๊ทธ๋จผํธ์ ๋ด์ฉ์ด ๋ณํ๋์ด๋ ์์ ํ๋ก์ธ์ค๊ฐ ์๋ต์ ํ์ง ์์ ๋ฐ์ดํฐ ๋ถ์ค๊ณผ ๋์ผํ๊ฒ ์ฒ๋ฆฌ๋๋ค. ๋ฐ์ดํฐ ๋ณํ๊ณผ ๋ถ์ค ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ์์ ํ๋ก์ธ์ค๋ก๋ถํฐ ํ์ ์ ๋ฐ์ ์ ์์ผ๋ฏ๋ก ์ก์ ํ๋ก์ธ์ค์ ํ์์์ ๊ธฐ๋ฅ์ ์ํด ์ค๋ฅ๊ฐ ๋ณต๊ตฌ๋๋ค.
์ฐ๊ฒฐ ํด์
์ฐ๊ฒฐ ํด์ ํ๊ณ ์ ํ๋ ์ชฝ์์ FIN ํ๋๊ทธ๋ฅผ ์ง์ ํด ์๊ตฌ
์ฐ๊ฒฐ ํด์ ๋ ๋ ํ๋ก์ธ์ค ๋์ํ์ ์งํ๋๊ธฐ ๋๋ฌธ์ ์ฐ๊ฒฐ ํด์ ์ธ๊ทธ๋จผํธ๋ฅผ ๋ฐ์ ํ๋ก์ธ์ค๊ฐ FIN ํ๋๊ทธ๋ก ์๋ตํ ๋๊น์ง ์ฐ๊ฒฐ์ ๊ณ์ ์ ์ง
๊ทธ๋ฆผ์์ FIN ํ๋๊ทธ๊ฐ ์ง์ ๋ ์ธ๊ทธ๋จผํธ๋ฅผ ์์ ํ ํ๋ก์ธ์ค๋ ์ด์ ๋ํ ์๋ต์ผ๋ก ์์ ๋ฒํธ๋ฅผ 1 ์ฆ๊ฐ์์ผ ์๋ต ๋ฒํธ๋ฅผ 17๋ฒ์ผ๋ก ์ง์ ํ ๊ธ์ ์๋ต ์ธ๊ทธ๋จผํธ๋ฅผ ํ์ ํ์๋ค. ๊ทธ๋ฆฌ๊ณ ์์ ์ด ์ ์กํ 61๋ฒ ์ธ๊ทธ๋จผํธ ์ดํ์ ๋ฐ์ดํฐ(5๋ฐ์ดํธ)๋ ๊ณ์ ์ ์กํ๋ ์ํฉ์ด๋ค.
์ดํ B ํ๋ก์ธ์ค๋ FIN ํ๋๊ทธ๋ฅผ ์ฌ์ฉํด ์ฐ๊ฒฐ ์ข ๋ฃ์ ํฉ์ํ๊ณ ์ฐ๊ฒฐ์ด ์ข ๋ฃ๋๋ค.
์ถ๊ฐ๋ก ์์ํ ACK ์ธ๊ทธ๋จผํธ๋ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ์ง ์๊ณ ๋จ์ํ ์ด์ ์ ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ํ์ธํ๋ ์ฉ๋๋ก ์ฌ์ฉ๋๋ฏ๋ก ์ด ๊ฒฝ์ฐ sequence number๋ ์ฆ๊ฐํ์ง ์๋๋ค. (Seq=17, Ack=66, ACK)๋ฅผ B ํ๋ก์ธ์ค๊ฐ ์์ ๋ฐ๊ณ (Seq=66, Ack=17, ACK, FIN)์ฒ๋ผ Ack=18์ด ์๋ 17 ๊ทธ๋๋ก ์๋ตํ ๊ฒ์ ๋ณผ ์ ์๋ค.
๋น์ ์์ ์ธ ์ข ๋ฃ/ ์ฐ๊ฒฐ ๊ฑฐ๋ถ(RST ์ฌ์ฉ)
์ฌ์ฉ ์ํฉ
1. ์์ ๋ถ์กฑ
์๋ฒ์ ๋ฆฌ์์ค(๋ฉ๋ชจ๋ฆฌ, CPU ๋ฑ)๊ฐ ๋ถ์กฑํ ๊ฒฝ์ฐ, ์๋ก์ด ์ฐ๊ฒฐ ์์ฒญ์ ์ฒ๋ฆฌํ ์ ์์ด RST ํจํท์ ๋ณด๋ด ์ฐ๊ฒฐ์ ๊ฑฐ๋ถํ ์ ์๋ค.
2. ์ธ์
์ค๋ฅ
TCP ์ฐ๊ฒฐ ์ํ๊ฐ ๋ถ์ผ์นํ๊ฑฐ๋ ์ธ์
๊ด๋ฆฌ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ ๋ RST ํจํท์ด ์ฌ์ฉ๋ ์ ์๋ค
3. ์ด๋ฏธ ๋ซํ ์ฐ๊ฒฐ์ ๋ํ ์ธ๊ทธ๋จผํธ ์์
ํ์ชฝ์์ ์ฐ๊ฒฐ์ ์ด๋ฏธ ์ข
๋ฃํ๋๋ฐ, ์๋๋ฐฉ์ด ๊ณ์ํด์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ๊ฒฝ์ฐ RST ํจํท์ ๋ณด๋ด ์ฐ๊ฒฐ์ด ๋ ์ด์ ์ ํจํ์ง ์์์ ์๋ฆผ
4. ์๋ฒ์ ์ฐ๊ฒฐ ์ค์ ๊ฑฐ๋ถ
์๋ฒ๊ฐ ํน์ ์ด์ ๋ก ์ฐ๊ฒฐ ์ค์ ์ ๊ฑฐ๋ถํ ๋ RST ํจํท์ ์ฌ์ฉํ๋ค. ์๋ฅผ ๋ค์ด, ์กด์ฌํ์ง ์๋ ํฌํธ๋ก์ ์ฐ๊ฒฐ ์์ฒญ์ด ์์ ๋ ๋ฐ์ํ๋ค.
์ฐธ๊ณ ์๋ฃ :
์ฝ๊ฒ ๋ฐฐ์ฐ๋ ๋ฐ์ดํฐ ํต์ ๊ณผ ์ปดํจํฐ ๋คํธ์ํฌ 3ํ - ๋ฐ๊ธฐํ ์ง์
'Network (๋คํธ์ํฌ) > Mobile Network (๋ชจ๋ฐ์ผ๋คํธ์ํฌ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ ์ก ๊ณ์ธต - RTP ํ๋กํ ์ฝ (0) | 2024.12.09 |
---|---|
์ ์ก ๊ณ์ธต - UDP ํ๋กํ ์ฝ (0) | 2024.12.09 |
TCP ํ๋กํ ์ฝ - TCP ํค๋ ๊ตฌ์กฐ (0) | 2024.12.09 |
TCP ํ๋กํ ์ฝ - ์ ์ก ๊ณ์ธต์ ๊ธฐ๋ฅ (0) | 2024.12.09 |
๋คํธ์ํฌ ๊ณ์ธต - ์ ์ด์ฉ ํ๋กํ ์ฝ(ARP, RARP, ICMP, IGMP) (0) | 2024.12.08 |