728x90
ARP: IP 주소를 알고 있을 때 네트워크 상에서 MAC 주소를 얻어온다 -> 2-3 계층 중간에서 동작
1. ARP 캐시 테이블 참고
2-1. 있으면 유니캐스트 통신
2-2. 없으면 ARP
- Request 패킷 - 브로드캐스트로 전송
- Reply 패킷 - 유니캐스트로 통신
주소 변환
인터넷의 주소
- 논리 주소(logical address)
- 호스트나 라우터가 사용하는 네트워크 레벨 주소
- 전세계적으로 유일한 주소
- IP 주소
- 32비트 길이
- 물리 주소(physical address)
- 로컬 네트워크에서 유효한 주소
- 로컬 주소, 로컬에서 유일하면 됨
- 보통 하드웨어로 구현
- 호스트나 라우터 내에 설치된 NIC에 들어 있음
- MAC 주소
- 호스트나 라우터로 패킷을 전달하기 위해 논리 및 물리 주소가 모두 필요
- 논리 주소 <-> 물리 주소 변환 필요
- 정적 또는 동적 변환 가능
- 정적 변환(static mapping)
- 논리 주소와 물리 주소 연관 테이블 생성
- 네트워크 상의 각 시스템에 저장
- 물리 주소가 변경될 경우 정적 테이블의 갱신으로 인한 오버헤드 발생
- 동적 변환(dynamic mapping)
- 물리 주소와 논리 주소 쌍 중 하나만 알면 프로토콜(ARP, RARP)을 통해 다른 하나를 알아냄
- 정적 변환(static mapping)
ARP
- TCP/IP 프로토콜에서의 ARP의 위치
- ARP 동작
- ARP 패킷 헤더
- ARP 패킷의 캡슐화
ARP의 동작 과정
- 송신자는 타겟 IP주소를 알고 있음
- ARP에게 ARP 요청 메시지 생성 요청 (타겟 MAC 주소는 0으로 채워짐)
- 데이터 링크층에 전달되면 목적지는 MAC 브로드캐스트 주소로 하는 프레임에 캡슐화
- 모든 호스트나 라우터가 프레임을 수신하여 자신의 ARP에 전달
- 타겟 시스템은 자신의 MAC 주소를 포함한 ARP 응답 메시지 송신(유니캐스트)
- 송신자는 응답 메시지를 받고 타겟 시스템의 MAC 주소를 알게 됨
- IP 데이터그램은 프레임으로 캡슐화되어 목적지에 유니캐스트
ARP가 사용되는 4가지 경우
- 송신자는 호스트이고 같은 네트워크 상에 있는 호스트에 패킷 전송 (논리 주소는 목적지 IP 주소)
- 송신자는 호스트이고 다른 네트워크 상에 있는 호스트에게 패킷 전송 (논리 주소는 라우터의 IP 주소)
- 송신자는 라우터이고 다른 네트워크 상에 있는 호스트에게 데이터 그램 전송 (논리 주소는 다음 홉 라우터의 IP 주소)
- 송신자는 라우터이고 같은 네트워크 상에 있는 호스트에게 데이터 그램 전송 (논리 주소는 목적지 IP주소)
예제
시스템 A가 시스템 B의 IP 주소는 알지만 물리 주소는 알지 못하는 상황
시스템 A
- IP 주소: 130.23.43.20
- 물리 주소: 0xB23455102210
시스템 B
- IP 주소: 130.23.43.25
- 물리 주소: 0xA46EF45983AB
두 호스트는 같은 이더넷 네트워크에 있다. (정확한 판단은 서브넷 마스크 필요)
이더넷 프레임에 캡슐화된 APR 요청과 응답 패킷
요청 패킷: 목적지 IP 주소가 0xFFFFFFFF(브로드캐스트 - 범위 LAN), 타겟 물리 주소가 0x00000000
응답 패킷: 유니 캐스트, 송신 물리 주소가 0xA46EF45983AB
프록시 ARP
- 서브넷팅 효과를 만들기 위해 사용
- 호스트 집합을 대행하여 수행(중개자)
- 라우터(서로 다른 LAN을 연결)에서 동작
- 일반적인 통신에서는 ARP 프로토콜의 범위는 로컬 네트워크로 한정
- ARP request의 패킷을 라우터 인터페이스에서는 무시
- 하지만 원격 네트워크에 있는 경우 다른 서브넷(네트워크)에 대신 MAC 주소를 물어봄 (대부분 사용하지 않음)
추가 자료 :: Proxy ARP
- 호스트가 ARP를 요구할 때 라우터는 자신이 가지고 있는 ARP 테이블을 이용하여 대신 자신의 MAC 주소를 알려주는 기술
- 장점: 같은 네트워크 안에러 라우팅 처리없이 쉽게 라우터를 붙일 수 있음, Host가 Default Gateway를 설정하지 않음
- 단점: ARP 트래픽 증가, 보안상의 문제 (ARP Spoofing), 큰 범위의 ARP 테이블 필요
- 사용하지 않는 이유: ARP 캐시에 IP 주소와 MAC 주소가 서로 다른 장비의 정보로 mapping 됨 -> 문제 발생
- 이 방법보다는 라우터는 IP 주소로 통신
ARP 덤프 분석
- request
- response
- ARP 캐시 테이블 확인
- ARP 요청과 응답 결과는 두 기긱 모두 ARP 캐시에 저장 (2분간)
- ARP 명령을 사용할 때는 기존의 캐시를 미리 삭제할 필요가 있음
- arp -d: 캐시 삭제
- arp -a: 캐시 테이블 확인
- arp -s [IP 주소] [MAC 주소]: 호스트를 추가(static), 영구적으로 지속됨
'대학공부 > 인터넷 프로토콜' 카테고리의 다른 글
ARP Spoofing(ARP Cache Poisoning) (1) | 2024.04.12 |
---|---|
동적 호스트 설정 프로토콜(DHCP) (1) | 2024.04.05 |
근거리 통신망: 유선 이더넷 (0) | 2024.03.29 |
네트워크의 구성요소 (0) | 2024.03.22 |
네트워크 모델(OSI 7 Layer) 이해 (2) | 2024.03.15 |