# ARP
MAC 주소는 컴퓨터의 NIC(Network Interface Card)에 찍혀있는 물리적 주소이다.
이에 반해, IP 주소는 OS에서 설정하는 논리적 주소이다.
이 두가지의 주소들은 따로 사용되는 것이 아니라, 협조적으로 사용될 필요가 있는데,
이를 가능하게 해주는 가 역할을 하는 것이 바로 ARP(Address Resolution Protocol)이다.
물리와 논리의 가교 역할을 한다는 것은, 어려운 느낌이 막연하게 들지만, 실제로 수행하는 역할은 IP 주소와 MAC 주소를 관련짓는 일 뿐이다.
컴퓨터는 레이어3으로부터 수신한 패킷을 프레임으로 만들어, 케이블로 흘려보낸다.
하지만, 패킷만 가지고는 프레임을 만들기 위한 정보가 부족하다.
송신원 MAC 주소는 자신의 NIC에 적혀있는 MAC 주소를 알 수 있지만,
송신처 MAC 주소는 이를 알 수가 없다. 이 때, ARP를 사용해 IP 주소로부터 MAC 주소를 알아낼 수 있다.
# ARP 처리 과정
데이터를 송신하는 컴퓨터가 레이어3에서 패킷을 수신하면, 패킷의 송신처 IP 주소를 본다.
그것이 만약 같은 네트워크에 있는 컴퓨터라면, 그 IP를 ARP에게 물어(ARP Request),
그 대답결과(ARP Reply)를 ARP Table이라고 불리는 메모리 상의 테이블에 등록하여,
그 정보를 바탕으로 프레임을 작성한다.
또한, 다른 네트워크에 있는 컴퓨터라면, Default Gateway의 MAC 주소를 ARP에 문의하여 같은 처리를 진행한다.
Default Gateway란, 자신 이외의 네트워크에 연결하려 할 경우 사용하는 출구의 IP 주소이다.
방화벽이나 라우터의 IP 주소가 Default Gateway가 되는 경우가 많다.
같은 네트워크 상의 송신처 IP 주소의 패킷인 경우, 먼저 Default Gateway의 MAC 주소로 송신 시도를 한다.
'개발서 > 서버의 기본' 카테고리의 다른 글
2-11 포트 번호의 사용법 (0) | 2020.07.03 |
---|---|
2-10 TCP와 UDP (0) | 2020.07.02 |
2-08 라우팅 (0) | 2020.06.30 |
2-07 다양한 IP 주소 (0) | 2020.06.28 |
2-06 IP와 IP주소 (0) | 2020.06.27 |