ARP 필드·주소 해석·캐시와 중복 탐지
28바이트 ARP 본문을 요청·응답의 실제 값으로 읽고 경로 선택과 캐시 형성을 연결한다. Probe·Announcement·Proxy ARP·RARP·Inverse ARP의 목적과 조건을 구분한다.
개념부터 찾아보기
정의·역할·동작 원리를 독립 페이지에서 확인하세요. 본문의 밑줄 용어에도 설명이 있습니다.
이 노트에서 설명할 수 있게 되는 것
- ARP 메시지의 주소·opcode를 구분한다.
- 원격망 접근 시 게이트웨이 MAC을 찾는 이유를 설명한다.
- 캐시와 요청·응답을 함께 보고 실패 지점을 찾는다.
01경로 선택이 ARP 대상보다 먼저다
- 개념는 같은 링크에서 주소에 대응하는 하드웨어 주소를 구하는 프로토콜이다. 송신에서는 경로가 선택한 다음 홉의 를 알아내는 데 사용한다.
- 경로와 다음 홉의 송신은 IP 경로를 먼저 정한 다음 그 링크의 다음 홉 MAC을 구한다. 목적지 192.0.2.20이 직접 연결된 /24 안에 있으면 그 목적지를 묻는다.
- 원격 203.0.113.20으로 보낼 경로의 gateway가 192.0.2.1이면 의 질문 대상은 .1이다.
- 외부 서버의 MAC을 인터넷 전체에서 찾아오는 과정이 아니다.
- IP 목적지와 링크 목적지따라서 IP 패킷 목적지는 원격 서버이지만 첫 목적지는 게이트웨이 MAC일 수 있다. 다음 홉 MAC이 유효한 이웃 캐시에 있으면 를 생략하고 바로 보낼 수 있다.
- ping에서 첫 요청에 항상 가 나타나지 않는 이유를 이해하려면 이전 통신에서 남은 캐시도 고려해야 한다.
02Ethernet 헤더와 ARP 본문은 다른 주소 공간이다
- · 헤더에서 는 EtherType 0x0806으로 직접 실리고 IP 헤더를 사용하지 않는다. 본문에는 주소가 들어 있지만 그 값은 주소 해석 질문·응답의 데이터이며 IP 패킷을 캡슐화한 것이 아니다.
- 헤더의 DA/SA와 본문의 ///는 위치와 역할이 다른 필드이다.
- 길이와 패딩· 조합의 본문은 28바이트이다. 비태그 에서는 46바이트 데이터·패딩 최소를 맞추기 위해 18바이트 패딩이 붙을 수 있다.
- 이 패딩을 주소 필드에 포함하지 않는다.
- 헤더 14+ 28+패딩 18+FCS 4=64바이트이며 FCS가 제거된 일반 캡처에서는 60바이트로 보일 수 있다.
- 태그와 송신 offload 조건에 따라 캡처 길이 해석은 달라진다.
03유형·길이·Opcode·주소 필드를 분해하기
- 유형·주소 길이HTYPE 0x0001은 , PTYPE 0x0800은 해석할 프로토콜 주소가 임을 나타낸다. HLEN 6과 PLEN 4는 각각 MAC과 주소의 바이트 수이다.
- 이 값 때문에 이후 주소 필드의 길이를 알 수 있으며 의 모든 매체·프로토콜 조합이 항상 28바이트인 것은 아니다.
- ·주소 필드OPER 1은 Request, 2는 Reply이다. 와 는 발신자 하드웨어·프로토콜 주소이고 와 는 대상의 두 주소이다.
- Sender IP의 약어는 이며 가 아니다.
- 초기 Request에서는 대상의 MAC을 모르므로 를 0으로 두지만, 실제 프레임의 DA는 ff:ff:ff:ff:ff:ff로 하여 같은 링크에 전달한다.
| 필드 | 바이트 | / 예 |
|---|---|---|
| HTYPE / PTYPE | 2 / 2 | 0x0001 / 0x0800 |
| HLEN / PLEN | 1 / 1 | 6 / 4 |
| OPER | 2 | 1 Request, 2 Reply |
| / | 6 / 4 | 보낸 MAC / 보낸 |
| / | 6 / 4 | 대상 MAC / 대상 |
설명과 함께 보는 보조 도식
Ethernet·IPv4 ARP 본문
28바이트 ARP 본문을 용도별로 묶어 읽는다.
앞쪽 · Ethernet EtherType: 0x0806
뒤쪽 · Ethernet 패딩·FCS는 ARP 본문 길이에 포함하지 않는다.
유형 4 B
Hardware Type 2 B + Protocol Type 2 B
주소 길이 2 B
Hardware length 1 B + Protocol length 1 B
6 / 4Opcode 2 B
요청 1 또는 응답 2
송신 주소 10 B
Sender MAC 6 B + Sender IPv4 4 B
대상 주소 10 B
Target MAC 6 B + Target IPv4 4 B
각 필드를 누르면 역할과 예시를 확인할 수 있습니다. 칸의 너비는 실제 바이트 비율과 다릅니다.
04ARP Request·Reply와 후속 IP 전송
- 주소 계획A는 192.0.2.10 / 02:00:00:00:00:0a, 게이트웨이 G는 192.0.2.1 / 02:00:00:00:00:01이다.
- 독립적인 스위치 학습스위치는 주소 대응과 별도로 SA를 보고 ·MAC→포트를 학습한다.
- 게이트웨이 선택원격 목적지의 경로가 G를 가리키고 유효한 이웃 캐시가 없다면 G의 MAC을 조회한다. 최종 IP 목적지는 원격 서버다.
- Request 브로드캐스트A는 DA를 ff:ff:ff:ff:ff:ff, 를 192.0.2.10, 를 192.0.2.1로 설정한다. 모르는 대상 MAC인 는 0으로 둔다.
- G가 자신을 식별G는 가 자기 주소임을 확인하고 보통 A에게 유니캐스트 Reply를 보낸다. Reply의 /는 G의 MAC과 .1이다.
- 응답의 수신자와 캐시Reply의 /는 A의 MAC과 .10이다. A는 응답을 처리해 .1→G MAC 대응을 저장한다.
- 기다리던 패킷 전송A는 원격 서버행 IP 패킷을 G의 MAC으로 캡슐화한다. IP 목적지를 게이트웨이 .1로 바꾸는 과정은 아니다.
Request:
Ethernet DA ff:ff:ff:ff:ff:ff SA 02:00:00:00:00:0a
ARP op=1 SHA=02:00:00:00:00:0a SPA=192.0.2.10
THA=00:00:00:00:00:00 TPA=192.0.2.1
Reply:
Ethernet DA 02:00:00:00:00:0a SA 02:00:00:00:00:01
ARP op=2 SHA=02:00:00:00:00:01 SPA=192.0.2.1
THA=02:00:00:00:00:0a TPA=192.0.2.10정상 교환의 합성 값. 서로 다른 헤더의 주소를 구분해 읽는다.
설명과 함께 보는 보조 도식
ARP 요청과 응답
IPv4 다음 홉이 정해졌지만 MAC 캐시가 없는 상황.
경로 조회
목적지가 원격망이면 다음 홉은 게이트웨이다.
전체 단계를 한 번에 읽기
- 01
경로 조회
목적지가 원격망이면 다음 홉은 게이트웨이다.
- 02
ARP Request
Ethernet 브로드캐스트로 다음 홉의 IPv4 주소를 묻는다.
- Opcode
- 1
- 03
요청 수신
같은 VLAN의 대상이 자기 주소에 대한 요청인지 확인한다.
- 04
ARP Reply
대상이 자기 MAC과 IPv4의 대응을 알린다.
- Opcode
- 2
- 05
캐시 반영
응답 정보를 반영하고 IP 패킷의 링크 목적지를 정한다.
- 06
IP 프레임 송신
다음 홉 MAC으로 프레임을 전달한다.
실습: ARP Request·Reply와 Linux 이웃 캐시 읽기
10.0.0.5가 10.0.0.3의 MAC을 얻는 패킷에서 두 주소 공간과 캐시 상태를 연결한다.
실습 구성과 전제
- 와 VPCS가 같은 10.0.0.0/24 링크에 연결된 격리 실습이다.
- 캐시를 먼저 기록한다. 이 실습을 위해 운영망의 전체 캐시를 지우지 않는다.
캐시와 명령 환경 확인
- ip neigh의 REACHABLE은 최근 도달성 확인이 있고 STALE은 그 확인이 오래되었다는 뜻이다. STALE 자체를 삭제·통신 불가로 읽지 않는다.
- 사진의 : command not found는 프로그램 오류다. 의 sh 도 IOS show 축약으로 동작하지 않는다.
textip neigh ping -c 3 10.0.0.3 ip neigh같은 링크에 트래픽을 보내고 캐시를 비교하는 재구성 예시
원본 크기로 보기 ↗- 10.0.0.3·ens224·lladdr·REACHABLE 행이 보인다.
- 뒤 조회에는 STALE이 있고 arp 및 sh arp는 셸 오류로 끝난다.
확인 기준명령 오류와 네트워크 장애를 분리한다.
Request의 질문 대상 확인
- 목적지는 Broadcast지만 Target MAC은 0이다. 브로드캐스트 전달은 목적지가 결정한다.
- Sender IP 10.0.0.5가 Target IP 10.0.0.3을 묻는다. 대상 MAC을 아직 몰라 0으로 채운 것은 정상이다.
원본 크기로 보기 ↗- Ethernet Destination은 ff:ff:ff:ff:ff:ff, Opcode는 request (1)이다.
- Sender IP 10.0.0.5, Target IP 10.0.0.3, Target MAC 00:00:00:00:00:00이다.
확인 기준1과 Target IP가 의도한 상대인지 함께 확인한다.
Reply와 캐시 대조
- 10.0.0.3은 자신의 MAC을 Sender 필드에 넣고 10.0.0.5를 Target으로 지정한다. 목적지도 요청자의 MAC이다.
- ip neigh의 MAC과 Reply의 Sender MAC을 비교한다. 성공이 이후 나 응용 서비스 성공까지 보장하지는 않는다.
textip neigh show 10.0.0.3 Wireshark 표시 필터: arp실습 흐름을 재구성한 명령 예시. 장치·인터페이스 이름은 구성에 맞춰 사용한다.
원본 크기로 보기 ↗- Opcode reply (2), Sender IP 10.0.0.3이 보인다.
- Target IP 10.0.0.5와 Target MAC은 요청한 단말을 가리킨다.
확인 기준Sender/Target 관계가 바뀌고 캐시가 응답 주소와 일치해야 한다.
실습에서 확인한 동작 원리
- 의 IP 필드와 MAC 필드를 분리해서 읽는다.
- 캐시 상태·응답 패킷· 성공은 각각 다른 범위를 증명한다.
설정·출력 추가로 확인하기 60장
아래 화면을 펼쳐 위 실습의 설정값, 명령과 확인 기준을 비교해 보세요. 각 묶음은 별도 실습 기록입니다.
실습 화면 묶음 01 1장
원본 크기로 보기 ↗- 「Physical layer 매개체 - 케이블」 문맥에 삽입된 원본 실습·개념 참고 화면이다. ARP 필드·주소 해석·캐시와 중복 탐지 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
실습 화면 묶음 02 13장
원본 크기로 보기 ↗- 「topology (형태)」 문맥에 삽입된 원본 구성도이다. ARP 필드·주소 해석·캐시와 중복 탐지 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
원본 크기로 보기 ↗- 「topology (형태)」 문맥에 삽입된 원본 구성도이다. ARP 필드·주소 해석·캐시와 중복 탐지 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
원본 크기로 보기 ↗- 「topology (형태)」 문맥에 삽입된 원본 구성도이다. ARP 필드·주소 해석·캐시와 중복 탐지 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
원본 크기로 보기 ↗- 「vpcs 활성화」 문맥에 삽입된 원본 명령·상태 출력이다. ARP 필드·주소 해석·캐시와 중복 탐지 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
원본 크기로 보기 ↗- 「vpcs 활성화」 문맥에 삽입된 원본 명령·상태 출력이다. ARP 필드·주소 해석·캐시와 중복 탐지 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
원본 크기로 보기 ↗- 「76 (재호님 ) → 80 (ununtu)」 문맥에 삽입된 원본 실습·개념 참고 화면이다. ARP 필드·주소 해석·캐시와 중복 탐지 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
원본 크기로 보기 ↗- 「76 (재호님 ) → 80 (ununtu)」 문맥에 삽입된 원본 실습·개념 참고 화면이다. ARP 필드·주소 해석·캐시와 중복 탐지 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
원본 크기로 보기 ↗- 「76 (재호님 ) → 80 (ununtu)」 문맥에 삽입된 원본 실습·개념 참고 화면이다. ARP 필드·주소 해석·캐시와 중복 탐지 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
원본 크기로 보기 ↗- 「76 (재호님 ) → 80 (ununtu)」 문맥에 삽입된 원본 실습·개념 참고 화면이다. ARP 필드·주소 해석·캐시와 중복 탐지 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
원본 크기로 보기 ↗- 「76 (재호님 ) → 80 (ununtu)」 문맥에 삽입된 원본 실습·개념 참고 화면이다. ARP 필드·주소 해석·캐시와 중복 탐지 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
원본 크기로 보기 ↗- 「Data Link layer : MAC 주소 (48bit - 24bit OUI + 24bit Serial)」 문맥에 삽입된 원본 실습·개념 참고 화면이다. ARP 필드·주소 해석·캐시와 중복 탐지 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
원본 크기로 보기 ↗- 「vpcs 활성화」 문맥에 삽입된 원본 실습·개념 참고 화면이다. ARP 필드·주소 해석·캐시와 중복 탐지 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
원본 크기로 보기 ↗- 「76 (재호님 ) → 80 (ununtu)」 문맥에 삽입된 원본 패킷 캡처이다. ARP 필드·주소 해석·캐시와 중복 탐지 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
실습 화면 묶음 03 2장
원본 크기로 보기 ↗- 문서 문맥에 삽입된 원본 실습·개념 참고 화면이다. ARP 필드·주소 해석·캐시와 중복 탐지 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
원본 크기로 보기 ↗- 문서 문맥에 삽입된 원본 실습·개념 참고 화면이다. ARP 필드·주소 해석·캐시와 중복 탐지 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
실습 화면 묶음 04 4장
원본 크기로 보기 ↗- 수업 원본 자료 · ARP 패킷과 이웃 캐시의 변화를 비교하는 실습. 원문에서 「VPCS 에서 rocky linux 로 ARP 가 들어올 경우의 동작을 확인」에 배치된 그림 또는 화면이다.
원본 크기로 보기 ↗- 수업 원본 자료 · ARP 패킷과 이웃 캐시의 변화를 비교하는 실습. 원문에서 「VPCS 에서 rocky linux 로 ARP 가 들어올 경우의 동작을 확인」에 배치된 그림 또는 화면이다.
원본 크기로 보기 ↗- 수업 원본 자료 · ARP 패킷과 이웃 캐시의 변화를 비교하는 실습. 원문에서 「VPCS 에서 rocky linux 로 ARP 가 들어올 경우의 동작을 확인」에 배치된 그림 또는 화면이다.
원본 크기로 보기 ↗- 수업 원본 자료 · ARP 패킷과 이웃 캐시의 변화를 비교하는 실습. 원문에서 「정상적 ARP 동작」에 배치된 그림 또는 화면이다.
실습 화면 묶음 05 1장
원본 크기로 보기 ↗- 학습 원본 · ARP 요청·응답 주소 비교의 OSI 2 : DataLink Layer에 수록된 화면·도식이다.
실습 화면 묶음 06 1장
원본 크기로 보기 ↗- 학습 원본 · ARP 요청·응답 주소 비교의 OSI 2 : DataLink Layer에 수록된 화면·도식이다.
실습 화면 묶음 07 10장
원본 크기로 보기 ↗- 수업 원본 자료 · 주소 할당·중복 상황에서 발생하는 GARP 및 캐시 변화. 원문에서 「GARP 이후 이웃 캐시 비교」에 배치된 그림 또는 화면이다.
원본 크기로 보기 ↗- 수업 원본 자료 · 주소 할당·중복 상황에서 발생하는 GARP 및 캐시 변화. 원문에서 「GARP 이후 이웃 캐시 비교」에 배치된 그림 또는 화면이다.
원본 크기로 보기 ↗- 수업 원본 자료 · 주소 할당·중복 상황에서 발생하는 GARP 및 캐시 변화. 원문에서 「GARP 이후 이웃 캐시 비교」에 배치된 그림 또는 화면이다.
원본 크기로 보기 ↗- 수업 원본 자료 · 주소 할당·중복 상황에서 발생하는 GARP 및 캐시 변화. 원문에서 「GARP 패킷 분석」에 배치된 그림 또는 화면이다.
원본 크기로 보기 ↗- 수업 원본 자료 · 주소 할당·중복 상황에서 발생하는 GARP 및 캐시 변화. 원문에서 「두 PC 를 같은 네트워크 상에서 같은 IP로 할당했을 때의 정상 동작」에 배치된 그림 또는 화면이다.
원본 크기로 보기 ↗- 수업 원본 자료 · 주소 할당·중복 상황에서 발생하는 GARP 및 캐시 변화. 원문에서 「두 PC 를 같은 네트워크 상에서 같은 IP로 할당했을 때의 정상 동작」에 배치된 그림 또는 화면이다.
원본 크기로 보기 ↗- 수업 원본 자료 · 주소 할당·중복 상황에서 발생하는 GARP 및 캐시 변화. 원문에서 「두 PC 를 같은 네트워크 상에서 같은 IP로 할당했을 때의 정상 동작」에 배치된 그림 또는 화면이다.
원본 크기로 보기 ↗- 수업 원본 자료 · 주소 할당·중복 상황에서 발생하는 GARP 및 캐시 변화. 원문에서 「두 PC 를 같은 네트워크 상에서 같은 IP로 할당했을 때의 정상 동작」에 배치된 그림 또는 화면이다.
원본 크기로 보기 ↗- 수업 원본 자료 · 주소 할당·중복 상황에서 발생하는 GARP 및 캐시 변화. 원문에서 「최초 IP 할당」에 배치된 그림 또는 화면이다.
원본 크기로 보기 ↗- 수업 원본 자료 · 주소 할당·중복 상황에서 발생하는 GARP 및 캐시 변화. 원문에서 「최초 IP 할당」에 배치된 그림 또는 화면이다.
실습 화면 묶음 08 1장
원본 크기로 보기 ↗- 「⑤ 라우터 → PC1 (Reply 최종 도착)」 문맥에 삽입된 원본 실습·개념 참고 화면이다. ARP 필드·주소 해석·캐시와 중복 탐지 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
실습 화면 묶음 09 1장
원본 크기로 보기 ↗- 수업 원본 자료 · Linux 이웃 캐시의 NUD 상태. 원문에서 「발견」에 배치된 그림 또는 화면이다.
실습 화면 묶음 10 14장
원본 크기로 보기 ↗- 수업 원본 자료 · 단말의 주소 판단과 라우터의 대리 ARP 응답을 비교하는 실습. 원문에서 「다른 네트워크 인지 못한 상태에서 ARP」에 배치된 그림 또는 화면이다.
원본 크기로 보기 ↗- 수업 원본 자료 · 단말의 주소 판단과 라우터의 대리 ARP 응답을 비교하는 실습. 원문에서 「다른 네트워크 인지 못한 상태에서 ARP」에 배치된 그림 또는 화면이다.
원본 크기로 보기 ↗- 수업 원본 자료 · 단말의 주소 판단과 라우터의 대리 ARP 응답을 비교하는 실습. 원문에서 「다른 네트워크 인지 못한 상태에서 ARP」에 배치된 그림 또는 화면이다.
원본 크기로 보기 ↗- 수업 원본 자료 · 단말의 주소 판단과 라우터의 대리 ARP 응답을 비교하는 실습. 원문에서 「다른 네트워크 인지 못한 상태에서 ARP」에 배치된 그림 또는 화면이다.
원본 크기로 보기 ↗- 수업 원본 자료 · 단말의 주소 판단과 라우터의 대리 ARP 응답을 비교하는 실습. 원문에서 「다른 네트워크 인지 못한 상태에서 ARP」에 배치된 그림 또는 화면이다.
원본 크기로 보기 ↗- 수업 원본 자료 · 단말의 주소 판단과 라우터의 대리 ARP 응답을 비교하는 실습. 원문에서 「다른 네트워크 인지 못한 상태에서 ARP」에 배치된 그림 또는 화면이다.
원본 크기로 보기 ↗- 수업 원본 자료 · 단말의 주소 판단과 라우터의 대리 ARP 응답을 비교하는 실습. 원문에서 「다른 네트워크 인지 못한 상태에서 ARP」에 배치된 그림 또는 화면이다.
원본 크기로 보기 ↗- 수업 원본 자료 · 단말의 주소 판단과 라우터의 대리 ARP 응답을 비교하는 실습. 원문에서 「다른 네트워크 인지 못한 상태에서 ARP」에 배치된 그림 또는 화면이다.
원본 크기로 보기 ↗- 수업 원본 자료 · 단말의 주소 판단과 라우터의 대리 ARP 응답을 비교하는 실습. 원문에서 「다른 네트워크 인지 못한 상태에서 ARP」에 배치된 그림 또는 화면이다.
원본 크기로 보기 ↗- 수업 원본 자료 · 단말의 주소 판단과 라우터의 대리 ARP 응답을 비교하는 실습. 원문에서 「다른 네트워크 인지 후 ARP 할 경우」에 배치된 그림 또는 화면이다.
원본 크기로 보기 ↗- 수업 원본 자료 · 단말의 주소 판단과 라우터의 대리 ARP 응답을 비교하는 실습. 원문에서 「다른 네트워크 인지 후 ARP 할 경우」에 배치된 그림 또는 화면이다.
원본 크기로 보기 ↗- 수업 원본 자료 · 단말의 주소 판단과 라우터의 대리 ARP 응답을 비교하는 실습. 원문에서 「다른 네트워크 인지 후 ARP 할 경우」에 배치된 그림 또는 화면이다.
원본 크기로 보기 ↗- 수업 원본 자료 · 단말의 주소 판단과 라우터의 대리 ARP 응답을 비교하는 실습. 원문에서 「다른 네트워크 인지 후 ARP 할 경우」에 배치된 그림 또는 화면이다.
원본 크기로 보기 ↗- 수업 원본 자료 · 단말의 주소 판단과 라우터의 대리 ARP 응답을 비교하는 실습. 원문에서 「다른 네트워크 인지 후 ARP 할 경우」에 배치된 그림 또는 화면이다.
실습 화면 묶음 11 9장
원본 크기로 보기 ↗- 「ARP 의 종류 5개」 문맥에 삽입된 원본 명령·상태 출력이다. ARP 필드·주소 해석·캐시와 중복 탐지 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
원본 크기로 보기 ↗- 「ARP 의 종류 5개」 문맥에 삽입된 원본 설정·관리 화면이다. ARP 필드·주소 해석·캐시와 중복 탐지 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
원본 크기로 보기 ↗- 「ARP 의 종류 5개」 문맥에 삽입된 원본 설정·관리 화면이다. ARP 필드·주소 해석·캐시와 중복 탐지 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
원본 크기로 보기 ↗- 「ARP 의 종류 5개」 문맥에 삽입된 원본 실습·개념 참고 화면이다. ARP 필드·주소 해석·캐시와 중복 탐지 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
원본 크기로 보기 ↗- 「ARP 의 종류 5개」 문맥에 삽입된 원본 실습·개념 참고 화면이다. ARP 필드·주소 해석·캐시와 중복 탐지 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
원본 크기로 보기 ↗- 「ARP 의 종류 5개」 문맥에 삽입된 원본 실습·개념 참고 화면이다. ARP 필드·주소 해석·캐시와 중복 탐지 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
원본 크기로 보기 ↗- 「ARP 의 종류 5개」 문맥에 삽입된 원본 실습·개념 참고 화면이다. ARP 필드·주소 해석·캐시와 중복 탐지 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
원본 크기로 보기 ↗- 「ARP 의 종류 5개」 문맥에 삽입된 원본 실습·개념 참고 화면이다. ARP 필드·주소 해석·캐시와 중복 탐지 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
원본 크기로 보기 ↗- 「ARP 의 종류 5개」 문맥에 삽입된 원본 실습·개념 참고 화면이다. ARP 필드·주소 해석·캐시와 중복 탐지 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
실습 화면 묶음 12 3장
원본 크기로 보기 ↗- 문서 문맥에 삽입된 원본 실습·개념 참고 화면이다. ARP 필드·주소 해석·캐시와 중복 탐지 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
원본 크기로 보기 ↗- 문서 문맥에 삽입된 원본 실습·개념 참고 화면이다. ARP 필드·주소 해석·캐시와 중복 탐지 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
원본 크기로 보기 ↗- 문서 문맥에 삽입된 원본 실습·개념 참고 화면이다. ARP 필드·주소 해석·캐시와 중복 탐지 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
동작·명령 참고 문서
05RFC 826 수신 알고리즘의 갱신 조건
- 형식 확인수신자는 지원하는 Hardware Type과 Protocol Type인지 확인한다. /의 주소 길이 6·4와 맞지 않는 데이터를 정상 28바이트 형식으로 강제 해석하지 않는다.
- 기존 송신자 항목 병합제안된 기본 알고리즘에서는 송신자 프로토콜 주소에 대한 항목이 이미 있으면 Sender Hardware Address로 갱신한다. 이 병합은 Request인지 Reply인지 검사하기 전에 수행된다.
- 자신이 대상인 경우Target Protocol Address가 자신의 주소라면 기존 항목이 없을 때도 송신자의 주소 대응을 추가한다. 따라서 요청을 받은 대상은 별도 역방향 없이 요청자에게 회신할 정보를 얻는다.
- 요청에만 응답 생성자신이 대상이고 가 Request이면 자신의 주소를 Sender 필드에 넣고 원래 송신자를 Target으로 바꾼 Reply를 만든다. Reply를 받았다는 이유로 다시 Reply를 만드는 순환은 없다.
- 운영체제 정책 경계RFC의 기본 병합 알고리즘이 모든 미요청 Reply를 모든 운영체제에서 무조건 새 항목으로 수용한다는 뜻은 아니다. 기존 항목 유무·정적 항목·보안 정책·주소 충돌 처리가 수용 결과에 영향을 준다.
06캐시의 상태와 반복 요청을 읽기
- 이웃 캐시 상태 캐시는 IP→MAC 대응을 보관하며 인터페이스와 동적·정적 속성, 유효성 관련 상태를 함께 관리할 수 있다. 의 ip neigh는 REACHABLE·STALE·DELAY·PROBE·INCOMPLETE·FAILED처럼 이웃 계층 상태를 보여준다.
- STALE은 즉시 고장났다는 뜻이 아니라 최근 도달성을 다시 확인할 필요가 있는 상태이다.
- 갱신·만료 시간은 운영체제와 설정에 따라 달라진다.
- 해석 실패 조건INCOMPLETE에서 Request를 재시도하다 FAILED가 되는 흐름은 MAC 해석이 완료되지 않았음을 뜻한다. 대상이 없거나 이 다르거나 링크·보안 정책이 막을 수 있다.
- Reply가 캡처되었다는 사실만으로 해당 OS가 캐시에 반영했다고 단정할 수도 없다.
- 수집 인터페이스와 수신 정책, 중복 주소를 구분해야 한다.
- 요청하지 않은 Reply의 수용 여부도 구현과 기존 항목에 따라 달라 “무조건 캐시가 바뀐다”는 규칙은 아니다.
07요청 하나로 양쪽 캐시가 채워지는 상태 추적
- 가상 초기 상태같은 의 A=192.0.2.10, B=192.0.2.20이며 서로의 항목이 없다고 하자. MAC은 각각 MAC-A와 MAC-B로 기호화한다.
- A의 요청A는 Sender=(192.0.2.10, MAC-A), Target IP=192.0.2.20인 Request를 브로드캐스트한다. Target MAC을 모르는 상태와 목적지 브로드캐스트를 혼동하지 않는다.
- B의 선행 학습B는 자신이 대상임을 판단하고 A의 IP→MAC-A 대응을 저장한다. 이 순간 B의 캐시는 채워졌지만 A는 아직 MAC-B를 알지 못한다.
- B의 단일 응답B는 Sender=(192.0.2.20, MAC-B), Target=(192.0.2.10, MAC-A)인 Reply를 MAC-A로 보낸다. 브로드캐스트 요청의 응답이 반드시 브로드캐스트일 이유는 없다.
- A의 후행 학습A가 유효한 Reply를 받아 MAC-B를 저장하면 대기 중인 IP 패킷을 MAC-B로 보낼 수 있다. 구현의 큐·재시도 정책에 따라 처음 보낸 응용 요청의 지연은 달라질 수 있다.
08Probe와 Announcement를 구분하는 필드
- RFC 5227의 는 사용하려는 주소가 이미 있는지 조사한다. 브로드캐스트 Request에서 는 0.0.0.0이고 는 사용하려는 후보 주소이다.
- 아직 그 주소를 정당하게 소유한다고 주장하지 않기 위한 구성이다.
- 다른 장비가 후보 주소를 이미 사용함을 알리거나 경쟁 Probe가 관찰되면 충돌 판단에 쓰인다.
- 는 주소를 사용하기로 한 뒤 그 대응을 알리는 Request 형식이다. 와 를 모두 자신의 주소로 두고 브로드캐스트한다.
- 두 형식을 모두 단순히 Request라고만 부르면 0.0.0.0과 자기 주소의 차이를 놓친다.
- 라는 넓은 표현에는 운영체제·이중화 장비가 자발적으로 보내는 Request 또는 Reply도 포함될 수 있으므로 와 주소 필드로 목적을 읽는다.
ARP Reply의 주소 필드 읽기
원본 크기로 보기 ↗이 자료에서 읽어낼 것
- Ethernet의 Destination/Source와 ARP의 Sender/Target 필드는 서로 다른 계층의 값입니다. 항목 이름이 비슷해도 동일한 필드로 취급하지 않습니다.
- Hardware size 6은 MAC 주소 길이, Protocol size 4는 이 예시의 IPv4 주소 길이입니다. Opcode reply (2)로 요청인지 응답인지 구분합니다.
- Sender IP와 Target IP가 모두 10.0.0.2이고 Is gratuitous가 true입니다. 일반적인 타 호스트 주소 조회와 구별해 보되, 이 한 장으로 의도나 공격 여부를 단정하지 않습니다.
09중복 주소 탐지의 순서와 시간
- 무작위 간격동시에 부팅한 호스트들이 같은 시점에 검사하는 충돌을 줄이기 위해 무작위 대기를 둔다. 아래는 RFC 5227의 기본 ACD 절차다.
- 구현·충돌 해석모든 OS의 화면 타이밍이 동일한 것은 아니다. 주소 사용 중 충돌에는 방어 또는 사용 중단 정책이 관계된다.
- 복수 MAC의 원인같은 IP에 여러 MAC이 보이면 중복 설정·이중화 전환·가상 MAC·위조를 구분한다. 한 패킷만으로 공격을 확정하지 않는다.
- 초기 대기주소 후보를 정한 뒤 0~1초의 무작위 지연을 둔다.
- 세 번의 ProbeProbe를 총 3회 보내며 간격은 1~2초 사이에서 고른다. 후보 주소의 중복 여부를 관찰한다.
- 전 대기충돌이 없다면 마지막 Probe 후 2초를 기다린다.
- 주소 대응 알림를 기본 2회, 2초 간격으로 전송한다. Probe의 미지정 와 달리 자신의 주소 대응을 알리는 단계다.
10Proxy ARP는 일반 게이트웨이 통신의 필수 단계가 아니다
- 대신 응답하는 기능는 라우터가 다른 대상의 IP에 대해 자신의 MAC으로 대신 응답하는 기능이다. 예를 들어 호스트가 잘못 넓은 마스크로 원격 주소도 직접 연결로 판단하면 그 원격 IP를 할 수 있다.
- 라우터의 와 경로가 맞으면 자신의 MAC으로 응답하여 통신이 우연히 이어질 수 있다.
- 이 경우 설정 오류가 가려진다.
- 일반 게이트웨이 통신정상 원격 통신에서는 호스트가 gateway IP를 하고 라우터가 자신의 주소에 답하므로 가 필요 없다. 라우터가 MAC을 읽지 않는다는 설명도 틀리다.
- 수신 링크에서 자기에게 온 프레임을 처리한 후 IP를 보고 다음 홉을 결정하는 것이므로 링크 계층 처리가 전제된다.
11RARP·Inverse ARP·ND의 차이
- RARP·Inverse RARP는 부팅한 장비가 자신의 하드웨어 주소를 근거로 서버에게 자기 네트워크 주소를 묻던 역사적 프로토콜이다. 와 같은 현대 주소 설정 절차와 목적은 일부 겹치지만 일반적인 를 거꾸로 읽는 기능은 아니다.
- Inverse 는 에서 이미 알고 있는 DLCI 등의 링크 식별자 너머 상대의 프로토콜 주소를 찾는 데 사용된다.
- ND·검증 경계Inverse 는 통신 사업자에게 자신의 DLCI를 요청하는 절차가 아니며 LMI와도 다르다. 는 대신 ICMPv6 의 NS/NA와 multicast를 사용한다.
- 의 브로드캐스트를 에 그대로 적용하지 않는다.
- 강한 자체 인증이 없는 의 한계는 바인딩 기반 같은 정책과 상위 계층 인증을 함께 이해할 때 드러난다.
12필드·캐시·출력 프레임을 연결하는 실습
- 다섯 값의 연결한 번의 통신에서 조회의 , 의 , Reply의 , 캐시 항목, 후속 IP 프레임의 DA가 이어지는지 읽는다. 이 다섯 값이 맞으면 MAC 해석과 링크 목적지 선택 과정을 설명할 수 있다.
- 후속 가 실패한다고 성공한 를 다시 실패로 분류하지 않는다.
- 캐시와 메시지 분류캐시를 지우는 실습은 새 요청을 보기 위한 방법이지만 다른 통신에 영향을 줄 수 있으므로 여기서는 조회 예만 사용한다.
- 수업 화면에서 반복 Request와 정상 Reply, 주소 알림을 서로 다른 유형으로 분류하고 packet 와 address 필드를 근거로 설명하면 에 대한 기술 이해를 증명할 수 있다.
ip neigh show
ip route get 203.0.113.20
arp -a
show ip arp
Wireshark display filter:
arp
arp.opcode == 1
arp.opcode == 2읽기 전용 예. OS·장비별로 해당하는 명령을 선택한다.
13ARP 실패를 요청·응답·캐시의 세 구간으로 나누기
- 요청 대상 오류원격 목적지 IP에 직접 를 반복하면 호스트의 판정이나 정적 on-link 경로를 조사한다. 정상 게이트웨이 경로에서는 원격 서버 대신 다음 홉의 MAC이 필요하다.
- 요청만 관측같은 요청이 반복되는데 대상 쪽에 도착하지 않으면 ·트렁크·포트 상태가 후보가 된다. 대상 캡처에 요청이 있으면 그다음은 대상 주소 설정과 응답 송신 여부다.
- 응답은 있으나 미학습Reply의 Sender IP·MAC, Target IP·MAC, 수신 인터페이스를 대조한다. 응답을 보았다는 사실만으로 자신의 캐시가 해당 응답을 수용했다고 결론내리지 않는다.
- 정적 항목 충돌장비 교체 후 예전 MAC으로 계속 전송하면 영구 항목이나 오래된 대응이 원인일 수 있다. 캐시 항목의 종류와 실제 송신 프레임의 목적지 MAC을 연결해 확인한다.
- 스위치 표와 구분 캐시는 IP→MAC, 스위치의 전달표는 ·MAC→포트다. 올바른 항목과 잘못된 MAC 전달 위치가 동시에 존재할 수 있으므로 두 표를 각각 추적한다.
함께 보는 학습 자료
아래 공식 자료를 본문의 개념·예제와 함께 읽어 보세요. 자료별로 확인할 위치와 관찰할 내용을 적었습니다.
RFC 826: Packet format·Generation·Reception
필드와 수신 의사 코드를 이어 읽어 어느 캐시가 언제 갱신되는지 추적한다.
- 목적지와 의 차이
- 이 선택한 다음 홉을 조회
- 기존 항목 병합과 Target의 신규 학습
이해했는지 확인하기
- 외부 목적지 통신에서 누구의 MAC을 조회해야 하는가?
- ARP 캐시와 스위치 MAC 테이블의 역할을 구분하는가?
- ARP 응답이 없거나 여러 개일 때 확인할 근거는 무엇인가?