개발서/서버의 기본

2-09 ARP

nohesitation 2020. 7. 1. 06:22

# 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