반응형
ARP(Address Resolution Protocol)
- 통신을 주고 받고자 하는 호스트의 IP 주소는 알지만 MAC 주소는 모르는 경우 사용되는 프로토콜
- 동일 네트워크 내에 있는 송수신 대상의 IP 주소를 통해 MAC 주소를 알아낼 수 있음
예시 상황
- 동일 네트워크에 속한 호스트 A, B가 있음
- 호스트 A는 호스트 B의 IP 주소는 알지만 MAC 주소는 모름
- 이 상황에서 호스트 B의 MAC 주소를 알아내기 위해 ARP를 이용함
1. ARP 요청
- 호스트 A는 브로드캐스트 메시지를 전송. 브로드캐스트 메시지란 네트워크에 속한 모든 호스트에게 보내는 메시지
- 브로드캐스트 메시지는 ARP요청이라는 ARP 패킷
2. ARP 응답 (ARP Reply)
- 호스트 B이외에 나머지 호스트들은 받은 메시지의 수신 IP가 자신의 IP 주소가 아니므로 무시
- 호스트 B는 자신의 MAC 주소를 담은 유니캐스트 메시지를 A에게 전송 (1:1 통신을 위한 유니캐스트 메시지)
- 유니캐스트 메시지 = ARP 응답이라는 ARP 패킷으로 이 메시지를 수신한 A는 B의 MAC 주소를 알게 됨
3. ARP 테이블 갱신
- ARP 테이블: ARP 요청-응답을 통해 알게된 IP주소와 MAC 주소의 연관 관계를 기록한 테이블
- 테이블 항목은 일정시간이 지나면 삭제되거나 임의 삭제도 가능
- 테이블에 등록된 호스트에 대해선 ARP 요청을 보낼 필요 없음
ARP 패킷
- ARP 요청과 응답 과정에서 송수신되는 패킷
- 오퍼레이션 코드(Opcode; Operation Code) : ARP 요청의 경우 1, ARP 응답의 경우 2
- 송신지 하드웨어 주소와 수신지 하드웨어 주소에는 MAC 주소
- 송신지/수신지 프로토콜 주소에는 IP 주소
ARP 테이블 확인 (Mac OS 터미널)
$ arp -a
유의할 점
- ARP 프로토콜은 같은 네트워크 내에 속해있는 호스트의 IP 주소를 통해 MAC 주소를 알아내는 프로토콜임
- 그렇다면 다른 네트워크에 속해있는 IP 주소는 알지만 MAC 주소는 모르는 경우는?
- 통신하고자 하는 호스트 A와 B가 서로 다른 네트워크에 속해있는 상황
1. ARP 요청/응답 과정을 통해 라우터 A의 MAC 주소를 알아낸 뒤, 이를 향해 패킷 전송
2. 라우터 A가 라우터 B의 MAC 주소를 모르는 경우에는 ARP 요청/응답 과정을 통해 라우터 B의 MAC 주소를 알아낸 뒤, 이를 향해 패킷 전송
3. 라우터 B가 호스트 B의 MAC 주소를 모르는 경우 ARP 요청/응답 과정을 통해 호스트 B의 MAC 주소를 알아낸 뒤, 이를 향해 패킷 전송
References
반응형
'Network' 카테고리의 다른 글
[책리뷰] 혼자 공부하는 네트워크 ch3. 클래스풀 주소 체계 (0) | 2024.11.24 |
---|---|
[책리뷰] 혼자 공부하는 네트워크 ch3. 네트워크 계층 (0) | 2024.11.17 |
[책리뷰] 혼자 공부하는 네트워크 ch2.4 스위치 (0) | 2024.11.15 |
[책리뷰] 혼자 공부하는 네트워크 ch2.3 허브 (0) | 2024.11.03 |
[책리뷰] 혼자 공부하는 네트워크 ch2.2 NIC와 케이블 (0) | 2024.11.03 |