ARP(Address Resolution Protocol)
- ์ฃผ์ ๋ณํ
- ARP ํ๋กํ ์ฝ
- ARP Package
1. ์ฃผ์ ๋ณํ(Address Mapping)
: ๋คํธ์ํฌ ๊ณ์ธต์์ ๋ค์-ํ์ ๋ํ ๋ ผ๋ฆฌ ์ฃผ์๋ฅผ ์์๋ด์ด๋, ๋ฐ์ดํฐ๋งํฌ๊ณ์ธต์ ํตํด์ ์ ๋ฌํ๋ ค๋ฉด ๋ฌผ๋ฆฌ์ฃผ์๋ฅผ ์ง์ ํด์ผํจ
- ๋
ผ๋ฆฌ ์ฃผ์
- ๋คํธ์ํฌ ๊ณ์ธต ๋ ๋ฒจ์ ์ฃผ์
- ์ ์ธ๊ณ์ ์ผ๋ก ์ ์ผํ ์ฃผ์๊ฐ, 32๋นํธ ๊ธธ์ด(IP์ฃผ์)
- ๋ฌผ๋ฆฌ ์ฃผ์
- ๋ก์ปฌ ๋คํธ์ํฌ์์ ์ ํจํ๊ณ ์ ์ผํ ์ฃผ์
- ํธ์คํธ / ๋ผ์ฐํฐ์ ์ค์น๋ NIC์ ์ค์ฅ๋์ด ์์
- ์ด๋๋ท์ ๊ฒฝ์ฐ 48๋นํธ ๊ธธ์ด(MAC ์ฃผ์)
* ์ ์ ๋ณํ(Static Mapping)
- ๋ ผ๋ฆฌ์ฃผ์์ ๋ฌผ๋ฆฌ์ฃผ์๊ฐ์ ์ฐ๊ด ํ ์ด๋ธ์ ์ ์ฅํ์ฌ ์ฌ์ฉ
- ํ์ ์์ ์ฐ๊ด ํ ์ด๋ธ ๊ฒ์
- ๋ฌด๋ฆด์ฃผ์๊ฐ ๋ณ๊ฒฝ๋๋ ๊ฒฝ์ฐ, ์ ์ ํ ์ด๋ธ์ ๋ณ๊ฒฝํด์ผํจ (NIC ๋ณ๊ฒฝ, ์ปดํจํฐ์ ์ด๋ ๋ฑ)
* ๋์ ๋ณํ(Dynamic Mapping)
- ๋ฌผ๋ฆฌ์ฃผ์์ ๋ ผ๋ฆฌ์ฃผ์ ์ค์์ ํ๋๋ง ์๋ฉด ๋ณ๋์ ํ๋กํ ์ฝ์ ์ด์ฉํ์ฌ ๋ค๋ฅธ ํ๋๋ฅผ ์์๋
- ARP = ๋ ผ๋ฆฌ์ฃผ์๋ฅผ ๋ฌผ๋ฆฌ์ฃผ์๋ก ๋ณํ
- RARP(Reverse ARP) = ๋ฌผ๋ฆฌ์ฃผ์๋ฅผ ๋ ผ๋ฆฌ์ฃผ์๋ก ๋ณํ
2. ARP ํ๋กํ ์ฝ
: IP ํ๋กํ ์ฝ๋ก๋ถํฐ ๋ ผ๋ฆฌ์ฃผ์๋ฅผ ๋ฐ์์ ๋ฌผ๋ฆฌ์ฃผ์๋ก ๋ณํํ ์ดํ์ ๋ฐ์ดํฐ๋งํฌ๊ณ์ธต์ ์ ๋ฌ
* ARP ๊ธฐ๋ณธ ๋์
- ์ก์ ์๋ ์์ ์์ ๋ฌผ๋ฆฌ์ฃผ์๋ฅผ ์ง์ํ๋ ARP Request ํจํท์ ์ ์กํจ (๋ธ๋ก๋์บ์คํธ ํ์ฌ ๋์ผ ๋คํธ์ํฌ ์์ ๋ชจ๋ ํธ์คํธ / ๋ผ์ฐํฐ๊ฐ ์์ ํจ)
- ์ง์์ ํฌํจ๋ ์์ ์๊ฐ ์๋ ํธ์คํธ / ๋ผ์ฐํฐ๋ ์์ ์ด ์์ ํ ARP Request ํจํท์ ์ญ์
- ์์ ์๋ ์์ ์ ๋ฌผ๋ฆฌ์ฃผ์๋ฅผ ํฌํจํ ARP Reply ๋ฉ์์ง๋ฅผ ๊ตฌ์ฑํ์ฌ ์ง์ ํจํท์ ์ก์ ์์๊ฒ ์ ๋์บ์คํธ ๋ฐฉ์์ผ๋ก ์ ๋ฌ
* ARP ์์ธ๋์
- ์ก์ ์๋ ํ๊ฒ IP์ฃผ์๋ฅผ ์๊ณ ์์ (ํจํท ํฌ์๋ฉ์ ํตํด)
- IP ๊ฐ ARP์๊ฒ ARP Request ๋ฉ์์ง ์์ฑ ์์ฒญ -> '์ก์ ์ ๋ฌผ๋ฆฌ์ฃผ์, ์ก์ ์ IP์ฃผ์, ํ๊ฒ IP์ฃผ์' ๋ ์ฑ์ฐ์ง๋ง ํ๊ฒ ๋ฌผ๋ฆฌ์ฃผ์ X
- ๋ฐ์ดํฐ๋งํฌ๊ณ์ธต์ ARP ํจํท์ด ์ ๋ฌ๋๋ฉด ๋ฐ์ ์ง ์ฃผ์๋ ์ก์ ์์ ๋ฌผ๋ฆฌ์ฃผ์, ๋ชฉ์ ์ง ์ฃผ์๋ ๋ฌผ๋ฆฌ ๋ธ๋ก๋์บ์คํธ ์ฃผ์๋ก ํ์ฌ ํ๋ ์์ผ๋ก ์บก์ํ ์ํ
- ๋์ผ ๋คํธ์ํฌ ๋ด์ ๋ชจ๋ ํธ์คํธ์ ๋ผ์ฐํฐ๊ฐ ํ๋ ์์ ์์ ํ์ฌ ์์ ์ ARP์๊ฒ ์ ๋ฌ
- ํ๊ฒ ์์คํ ์ ์์ ์ ๋ฌผ๋ฆฌ์ฃผ์๋ฅผ ํฌํจํ ARP Reply ๋ฉ์์ง๋ฅผ ์ ์ก (์ ๋์บ์คํธ)
- ์ก์ ์๋ ARP Reply ๋ฉ์์ง๋ฅผ ์์ ํ๊ณ ํ๊ฒ ์์คํ ์ ๋ฌผ๋ฆฌ์ฃผ์๋ฅผ ํ๋ํจ
- ์ก์ ์๋ ํ๊ฒ์๊ฒ ๋ณด๋ด๋ IPํจํท์ผ๋ก ํ๋ ์์ ๊ตฌ์ฑํ ๋, ARP์์ ํ๋ํ ๋ฌผ๋ฆฌ์ฃผ์๋ฅผ ์ฌ์ฉํจ
* ARP๋ฅผ ์ฌ์ฉํ๋ 4๊ฐ์ง ๊ฒฝ์ฐ
- ์ก์ ์๊ฐ ํธ์คํธ๋ก์ ๋์ผ ๋คํธ์ํฌ์ ์๋ ๋ค๋ฅธ ํธ์คํธ์๊ฒ ํจํท์ ์ ์ก -> ํ๊ฒ ๋ ผ๋ฆฌ ์ฃผ์๋ ๋ชฉ์ ์ง IP ์ฃผ์
- ์ก์ ์๊ฐ ํธ์คํธ์ด๊ณ , ๋ค๋ฅธ ๋คํธ์ํฌ์ ์๋ ๋ค๋ฅธ ํธ์คํธ์๊ฒ ํจํท ์ ์ก -> ํ๊ฒ ๋ ผ๋ฆฌ ์ฃผ์๋ ๋ค์-ํ ๋ผ์ฐํฐ์ IP ์ฃผ์
- ์ก์ ์๊ฐ ๋ผ์ฐํฐ์ด๊ณ , ๋ค๋ฅธ ๋คํธ์ํฌ ์์ ์๋ ํธ์คํธ๋ก ๊ฐ๋ ๋ฐ์ดํฐ๊ทธ๋จ์ ์ ๋ฌ -> ํ๊ฒ ๋ ผ๋ฆฌ ์ฃผ์๋ ๋ค์-ํ ๋ผ์ฐํฐ์ IP ์ฃผ์
- ์ก์ ์๊ฐ ๋ผ์ฐํฐ์ด๊ณ , ๋์ผ ๋คํธ์ํฌ์ ์๋ ํธ์คํธ์๊ฒ ํจํท์ ์ ์ก -> ํ๊ฒ ๋ ผ๋ฆฌ ์ฃผ์๋ ๋ชฉ์ ์ง IP ์ฃผ์
* ์บ์ฌ ํ ์ด๋ธ(Cache Table)
- ์ก์ ์๊ฐ ๊ฐ์ ๋ชฉ์ ์ง์ ์ฌ๋ฌ IP ๋ฐ์ดํฐ๊ทธ๋จ์ ๋ณด๋ผ ๋, ๋งค๋ฒ ARP ํ๋กํ ์ฝ์ ์ฌ์ฉํ๋ ๊ฒ์ ๋นํจ์จ์
- ๋ ผ๋ฆฌ์ฃผ์์ ๋งคํ๋๋ ๋ฌผ๋ฆฌ์ฃผ์๋ฅผ ํ๋ํ๋ฉด ์บ์ฌ ํ ์ด๋ธ์ ์ ์ฅ
- ์ดํ ๋์ผํ ์์ ์์๊ฒ ๋ณด๋ด๋ ๋ฐ์ดํฐ๊ทธ๋จ์ ๋ํด์๋ ์บ์ฌํ ์ด๋ธ์ ์ ์ฅ๋ ๋ฌผ๋ฆฌ์ฃผ์๊ฐ์ ์ฌ์ฉ
- ํ ์ด๋ธ์ ์ฉ๋์ ํ์ ๋์ด ๋ฌดํ์ ์ ์ง๋ ์ ์์
* ํ(Queue)
: ARP ๋์์ผ๋ก ๋ฌผ๋ฆฌ์ฃผ์๋ฅผ ํ๋ํ๋ ค๋ ๋์์ IPํจํท์ ์ ์ฅํ๋ ๊ณต๊ฐ
* ์ถ๋ ฅ ๋ชจ๋(Output Module)
- ์ ์กํ IPํจํท์ด ์์ผ๋ฉด ๋ชฉ์ ์ง IP์ฃผ์์ ํด๋นํ๋ ํญ๋ชฉ์ด ์บ์ฌํ ์ด๋ธ์ ์๋์ง ํ์ธ
- ์บ์ฌ ํ ์ด๋ธ์ ์๊ณ ์ด๋ฏธ ๋ฌผ๋ฆฌ์ฃผ์๋ฅผ ํ๋ํ ์ํ(Resolved)๋ผ๋ฉด ๋งคํ๋๋ ๋ฌผ๋ฆฌ์ฃผ์์ ํจ๊ป ๋ฐ์ดํฐ๋งํฌ๊ณ์ธต์ผ๋ก ์ ๋ฌ
- ์บ์ฌ ํ ์ด๋ธ์ ํญ๋ชฉ์ด ์์ง๋ง ์์ง ๋ฌผ๋ฆฌ์ฃผ์๋ฅผ ํ๋ํ๊ธฐ ์ด์ ์ํ(Pending)๋ผ๋ฉด ํ์ ์ ์ฅํ๊ณ ๋๊ธฐ
- ์บ์ฌ ํ ์ด๋ธ์ ํญ๋ชฉ์ด ์๋ค๋ฉด ์๋ก์ด ํญ๋ชฉ์ ์์ฑํ๊ณ ARP ๊ณผ์ ์ ์ํํ๋ฉฐ IP ํจํท์ ํ์ ์ ์ฅํ๊ณ ๋๊ธฐ
* ์ ๋ ฅ ๋ชจ๋(Input Module)
- ์์ ํ ARP ํจํท์ด ARP Reply ํจํท์ด๊ณ , ํ๊ฒ ๋ ผ๋ฆฌ ์ฃผ์์ ์ผ์นํ๋ ํญ๋ชฉ์ด ์บ์ฌํ ์ด๋ธ์ ์์ผ๋ฉด ARP Reply ํจํท์ ์๋ ๋ฌผ๋ฆฌ์ฃผ์๋ฅผ ์บ์ฌํ ์ด๋ธ์ ๋ณต์ฌ
- ๋ฌผ๋ฆฌ์ฃผ์๊ฐ๊ณผ ํจ๊ป ํ์ ์ ์ฅ๋ ํจํท์ ๋ฐ์ดํฐ๋งํฌ๊ณ์ธต์ ์ ๋ฌ
* ์์ ํ ARP ํจํท์ด ARP Reply ํจํท์ด๋ผ๋ฉด
: ํ๊ฒ IP ์ฃผ์๊ฐ์ด ์์ ์ด๋ผ๋ฉด ๋ฌผ๋ฆฌ์ฃผ์๋ฅผ ๊ธฐ๋กํ์ฌ ARP Reply ํจํท์ ๋ง๋ค์ด์ ์ ์ก
* ์บ์ฌ ์ ์ด ๋ชจ๋(Cache-Control Module)
- ์บ์ฌ ํ ์ด๋ธ์ ์ ์ง/ ๊ด๋ฆฌํ๋ ๋ชจ๋
- ๋ฌผ๋ฆฌ์ฃผ์๊ฐ์ ์ผ์ ์๊ฐ๋์ ํ๋ํ์ง ๋ชปํ ํญ๋ชฉ(Pending)์ ๊ฒฝ์ฐ ์ฃผ๊ธฐ์ ์ผ๋ก ์ฌ์๋ -> ์ต๋ ํ์ ์ดํ๋ก ์ฌ์๋
- ๋ฌผ๋ฆฌ์ฃผ์๊ฐ์ ์ด๋ฏธ ํ๋ํ์ฌ ์ฌ์ฉํ๊ณ ์๋ ํญ๋ชฉ(Resolved)์ ๊ฒฝ์ฐ์๋ ์ผ์ ์๊ฐ์ด ์ง๋๋ฉด ์บ์ฌ ํ ์ด๋ธ์์ ์ญ์
'software engineering > ์ปดํจํฐ๋คํธ์ํฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Network] TCP์ ์ ์ก์ ์ด (0) | 2023.11.09 |
---|---|
[Network] TCP์ ๊ธฐ๋ณธ ๋์ (0) | 2023.11.09 |
[Network] UDP / TCP Protocol (0) | 2023.11.09 |
[Network] ์ ์ก๊ณ์ธต์ ARQ ํ๋กํ ์ฝ (1) | 2023.11.06 |
[Network] ์ ์ก ๊ณ์ธต ํ๋กํ ์ฝ (0) | 2023.11.06 |