“IP 주소는 아는데, 그게 지금 내 옆에 있는 노트북인지 어떻게 알죠?” 사실은 같은 링크 안에서 넘겨줄 대상 주소를 한 번 더 확인해야 해요.DHCP에서 우리 기기가 네트워크에 붙자마자 자기 IP 주소와 게이트웨이 정보를 어떻게 자동으로 받는지 봤어요. 이제 우리는
192.168.0.23이라는 내 주소도 알고, 밖으로 나갈 출구인 192.168.0.1이 누군지도 알게 됐죠.
근데 여기서 한 가지 현실적인 문제가 생겨요.
“IP 주소는 가상의 숫자일 뿐인데, 랜선이나 와이파이 신호가 그 숫자를 보고 정확히 그 기기를 찾아갈 수 있나요?”상상해보세요. 복도에서 “101호 사시는 분!” 하고 불러도, 정작 그 사람의 얼굴이나 실제 위치를 모르면 물건을 직접 건네주기 어렵잖아요. 네트워크에서도 마찬가지예요. IP 주소만으로는 같은 링크 안에서 이더넷 프레임을 어느 대상에게 넘길지 부족하거든요. 오늘은 그 일을 담당하는 ARP와, 패킷이 우리 집 안에서 마지막 한 걸음을 내딛는 로컬 전달 이야기를 해볼게요.
여기서는 집 안(동일 네트워크)에서 일어나는 가장 흔한 IPv4 ARP와 로컬 전달의 큰 그림만 볼게요. 집 밖으로 나갈 때 게이트웨이가 어떻게 움직이는지, 그 깊은 ‘첫 번째 도약(First-hop)’ 이야기는 다음 글에서 본격적으로 다뤄볼게요.
같은 네트워크 안에서는 마지막 이름표가 필요해요
아파트 단지 안에서 옆집에 택배를 직접 전해준다고 생각해볼까요?- 우리는 “102호에 전해줘야지” 라는 목적지(IP 주소)를 알고 있어요.
- 하지만 복도에 나가서 102호를 부른다고 해서 바로 전해지는 건 아니에요.
- “102호에 해당하는 링크 주소가 뭐예요?” 하고 물어봐서, 상대방의 MAC 주소를 확인해야 하죠.
- 상대방이 “이 MAC 주소로 보내면 돼요” 라고 대답하면, 그때서야 같은 링크 안에서 프레임을 넘길 수 있어요.
이 그림에서 핵심은 간단해요.
주소(IP)는 이미 알고 있어도, 실제로 손에 쥐여줄 상대(MAC)는 한 번 더 확인해야 한다는 거예요.
왜 IP 주소만으로는 안 될까요?
OSI 7계층과 TCP/IP 모델에서 봤듯이, 네트워크는 여러 층으로 나뉘어 있어요. IP 주소는 **3계층(네트워크 계층)**의 주소예요. 전 세계 어디든 찾아가기 위한 가상의 주소 체계죠. 반면, 실제로 이더넷이나 Wi-Fi 프레임을 넘기는 **2계층(데이터 링크 계층)**에서는 같은 링크 안에서 쓸 MAC 주소가 필요해요.IP = 목적지를 판단하는 네트워크 주소 MAC = 지금 이 링크에서 프레임을 넘길 대상 주소우리가 패킷을 보낼 때, IP라는 상자(패킷)를 만들면 이걸 다시 MAC이라는 봉투(프레임)에 담아서 던져야 해요. 봉투 겉면에 “이 MAC 주소를 가진 기기에게 전해줘”라고 써야 하는 거죠. 즉, IP 주소와 라우팅에서 본 “어디로 갈지” 와, OSI 7계층과 TCP/IP 모델에서 본 “지금 바로 누구에게 건넬지” 는 같은 문제가 아니에요.
ARP는 어떤 순서로 동작할까요?
이제 실제 대화 순서를 조금 더 자세히 들여다볼게요. 이 과정을 **ARP(Address Resolution Protocol)**라고 불러요.- 캐시 확인: 내 컴퓨터가 먼저 “내가 이미 이 IP의 MAC 주소를 알고 있나?” 하고 메모판(ARP 캐시)을 봐요.
- 질문 던지기 (Request): 모른다면, 네트워크 전체에 소리쳐요. “여기 192.168.0.50 쓰시는 분? MAC 주소 좀 알려주세요!”
- 답변 받기 (Reply): 해당 IP를 쓰는 기기만 대답해요. “저예요! 제 MAC 주소는 00:11:22… 예요.”
- 기록하고 보내기: 이제 상대방의 MAC 주소를 알았으니, 메모판에 적어두고(캐시 업데이트) 패킷을 보내요.
같은 동네인가, 아니면 먼 동네인가?
패킷을 보낼 때 기기는 아주 중요한 결정을 하나 내려야 해요.“이 목적지가 우리 집 안(로컬)에 있는 친구인가? 아니면 집 밖(외부)으로 나가야 하는 친구인가?”이걸 결정하는 기준이 바로 DHCP에서 받았던 서브넷 마스크예요.
- 우리 집 안이면?: 직접 상대방의 MAC 주소를 물어봐서 던져요. (로컬 전달)
- 집 밖이면?: 상대방에게 직접 묻지 않아요. 대신 **“기본 게이트웨이(공유기)“**의 MAC 주소를 물어본 뒤, 공유기한테 패킷을 맡겨요.
근데 왜 굳이 이런 과정이 필요할까요?
여기서 이런 생각이 들 수 있어요.“그냥 IP 주소만 알면 보내면 되는 거 아닌가요? 왜 굳이 MAC 주소를 또 찾아요?”겉으로 보면 한 번 더 돌아가는 것 같죠? 근데요, IP와 MAC은 해결하는 문제가 애초에 달라요.
1. IP는 큰 지도고, MAC은 마지막 한 걸음이에요
IP 주소는 “최종 목적지가 어디냐”를 알려줘요. 하지만 랜선이나 와이파이는 그 순간 바로 다음에 누구한테 건네야 하는지를 알아야 하거든요. 즉, IP는 먼 목적지까지 보는 지도고, MAC은 지금 내 옆 복도에서 누구 손에 쥐여줄지를 정하는 이름표에 가까워요.2. 같은 집 안인지 아닌지 먼저 갈라야 해요
서브넷 마스크로 비교했을 때 같은 서브넷이라면 직접 찾으면 되지만, 바깥 서버라면 그 서버의 MAC을 알 방법도 없고 알 필요도 없어요. 예를 들어/24라면 192.168.0.x끼리를 같은 서브넷으로 볼 수 있어요.
그럴 때는 공유기와 홈 네트워크에서 봤던 것처럼,
기본 게이트웨이에게 먼저 맡기는 편이 훨씬 자연스럽죠.
3. 그래서 DHCP가 IP만 준 게 아니었던 거예요
DHCP 글에서 공유기가 IP 주소, 서브넷, 기본 게이트웨이를 같이 준 이유도 여기서 다시 이어져요.- IP 주소: 나는 누구인가
- 서브넷 정보: 어디까지가 같은 집 안인가
- 기본 게이트웨이: 집 밖이면 누구에게 먼저 맡길까
잠깐! 매번 물어보면 너무 비효율적이지 않나요?
맞아요. 패킷 하나 보낼 때마다 “누구세요?” 하고 물어보면 네트워크가 너무 시끄럽겠죠. 그래서 모든 기기는 ARP 캐시라는 임시 메모판을 가지고 있어요. 한 번 물어봐서 알아낸 정보는 일정 시간 동안 캐시에 보관해요. 유지 시간과 갱신 방식은 운영체제에 따라 달라요.- 장점: 다음 패킷을 보낼 때 질문 없이 바로 보낼 수 있어서 빨라요.
- 특징: 시간이 지나면 자동으로 지워져요. 기기가 네트워크를 나갔거나 주소가 바뀌었을 수도 있으니까요.
그럼 진짜 내 컴퓨터에서는 어떻게 보일까요?
내 컴퓨터도 한 번 알아낸 IP 주소와 MAC 주소의 관계를 잠시 기억하고 있어요. 이걸 ARP 캐시, 또는 ARP 테이블이라고 불러요. 운영체제마다 명령어나 출력 모양은 조금씩 다르지만, 대표적으로arp -a 같은 명령으로 현재 알고 있는 이웃들을 확인할 수 있어요.
이제 이 목록도 그냥 숫자들의 나열로 보이지 않아요.
192.168.0.1을 보면 내 컴퓨터는 **“이 IP로 보내려면 00:31:92:ef:2a:01이라는 MAC 주소를 가진 기기에게 전달하면 되는구나”**라고 알고 있는 거예요.
여기서는 그 대상이 바로 우리 집의 기본 게이트웨이, 즉 공유기예요.
192.168.0.50과 192.168.0.102도 마찬가지예요. 스마트폰이나 NAS의 IP 주소를 실제 MAC 주소와 연결해서 기억하고 있는 상태예요.
중요한 건 이 표가 인터넷 전체의 장치 목록은 아니라는 점이에요.
ARP는 지금 내가 붙어 있는 같은 로컬 네트워크 안에서 바로 전달해야 할 상대를 찾는 데 사용돼요.
그리고 이 정보는 영원히 저장되는 것도 아니에요.
기기가 네트워크를 떠나거나 IP 주소가 바뀔 수도 있기 때문에, ARP 캐시의 항목은 일정 시간이 지나면 사라지거나 다시 확인하게 돼요.
그래서 이 표는 단순한 주소 목록이라기보다,
“내 컴퓨터가 지금 로컬 네트워크에서 누구에게 직접 전달할 준비가 되어 있는지 보여주는 임시 메모판”
이라고 생각하면 가장 이해하기 쉬워요.
자, 정리해볼까요?
- MAC 주소는 같은 링크 안에서 이더넷 프레임을 전달할 때 사용하는 2계층 주소이고, IP 주소는 목적지를 판단하는 네트워크 주소예요.
- ARP는 “이 IP 주소를 쓰는 사람의 MAC 주소가 뭐예요?”라고 물어보고 알아내는 과정이에요.
- 패킷을 보낼 때, 목적지가 같은 네트워크 안이면 상대방에게 직접 ARP를 던져요.
- 목적지가 외부 네트워크면, 상대방 대신 기본 게이트웨이(공유기)의 MAC 주소를 찾아서 패킷을 맡겨요.
- 알아낸 정보는 ARP 캐시에 잠시 저장해서 다음 대화 때 재사용해요.
다음 글 예고
우리가 외부 사이트에 접속할 때, 모든 패킷은 일단 우리 집 문지기인 공유기를 거쳐 가요.“게이트웨이는 단순히 패킷을 넘겨주는 걸까요, 아니면 그 안에서 또 다른 마법이 일어나는 걸까요?”다음 글에서는 기본 게이트웨이와 첫 번째 도약(First-hop) 이야기를 통해, 우리 집 패킷이 드넓은 인터넷 바다로 나가는 그 첫 번째 순간을 더 깊게 들여다볼게요.