Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

wa_ter_ve

주소 변환 프로토콜(ARP) 본문

공부/컴퓨터네트워크

주소 변환 프로토콜(ARP)

수win 2024. 5. 30. 02:10

참조 교재: Wireshark로 배우는 컴퓨터 네트워크


 
주소 변환 

► 인터넷의 주소

☑️ 논리주소(logical address)
- 호스트나 라우터가 사용하는 네트워크 계층 주소
- 전세계적으로 유일한 주소
- IP주소
- 32비트 길이

☑️ 물리주소(physical address)
- 로컬 네트워크에서 유효한 주소
👉로컬 주소 (로컬에서만 유일하면 됨)
- 주로 하드웨어로 구현
- 호스트나 라우터 내에 설치된 NIC(network interface card)에 들어 있음

 

➡️ 호스트나 라우터로 패킷을 전달하기 위해 논리 및 물리 주소가 모두 필요
➡️  '논리주소를 물리주소로 변환 or 물리주소를 논리주소로 변환' 필요
➡️ 정적 or 동적 변환 가능
 
 

정적 변환(static mapping) 
- 논리 주소와 물리 주소 연관 테이블 생성
- 네트워크상의 각 시스템에 저장
- 필요시 테이블 검색
- 물리 주소가 변경될 경우 정적 테이블의 주기적인 갱신으로 인한 오버헤드
  • NIC 변경, 이동 컴퓨터의 네트워크 이동 등
 
동적 변환(dynamic mapping)
- 물리 주소와 논리 주소 쌍 중 하나만 알면 프로토콜을 이용하여 다른 하나를 알아냄
  • ARP: 논리 주소를 물리 주소로 변환
  • RARP: 물리 주소를 논리 주소로 변환(현재 사용하지 않음)

 


 
주소 변환 프로토콜( ARP: Address Resolution Protocol )

 

TCP/IP 프로토콜에서 ARP의 위치

 

ARP 동작

► 과정
① 송신자는 타겟 IP 주소를 알고있음
② IP가 ARP에게 ARP 요청 메시지 생성 요청(송신자 MAC 주소, IP 주소, 타겟 IP 주소, MAC 주소(0으로 채워짐))
③ 데이터링크 계층에 전달되면 발신지 주소는 송신자의 MAC 주소, 목적지 주소는 MAC 브로드캐스트 주소로 하는 프레임에 캡슐화
④ 모든 호스트나 라우터가 프레임을 수신하여 자신의 ARP에 전달
⑤ 타겟 시스템은 자신의 MAC 주소를 포함한 ARP 응답 메시지 송신(유니캐스트)
⑥ 송신자는 응답 메시지를 받고 타겟 시스템의 MAC 주소를 알게 된다
⑦ IP 데이터그램은 프레임으로 캡슐화되어 목적지에 유니캐스트

 
 

ARP 패킷 형식

 

- HTYPE(Hardware Type): 네트워크 유형 정의 (이더넷: 1)
- PTYPE(Protocol Type): 프로토콜 정의
- HLEN(Hardware Length): 물리 주소의 바이트 단위 길이
- PLEN(Protocol Length): 논리 주소의 바이트 단위 길이
- OPER(Operation): 패킷 유형 ☞ ARP 요청(1), ARP 응답(2)
- SHA(Sender Hardware Address): 송신자 물리 주소
- SPA(Sender Protocol Address): 송신자 논리 주소
- THA(Target Hardware Address): 타겟 물리 주소
- TPA(Target Protocol Address): 타겟 논리 주소

 
 

ARP 패킷의 캡슐화

 
 

ARP가 사용되는 4가지 경우

(논리주소가 물리주소로 변환되어야 할 때)

 
1️⃣ 송신자는 호스트이고 같은 네트워크상에 다른 호스트에 패킷 전송하고자 하는 경우
      ☞ 논리 주소는 데이터그램 헤더 내의 목적지 IP주소
2️⃣ 송신자는 호스트이고 다른 네트워크상에 있는 어떤 호스트에게 패킷 전송하고자 하는 경우
      ☞ 논리 주소는 라우터의 IP 주소 
3️⃣ 다른 네트워크상에 있는 호스트로 가는 데이터그램을 수신한 라우터가 송신자인 경우
      ☞ 논리 주소는 다음 홉 라우터의 IP 주소
4️⃣ 같은 네트워크상에 있는 호스트로 가는 데이터그램을 수신한 라우터가 송신자인 경우
      ☞ 논리 주소는 데이터그램의 목적지 IP 주소
 
 

예제
► ARP 과정
• 시스템 A: IP 주소 130.23.43.20, 물리 주소 0xB23455102210
• 시스템 B: IP 주소 130.23.43.25, 물리 주소 0xA46EF45983AB
- 두 호스트는 같은 이더넷 네트워크에 있다. 이더넷 프레임에 캡슐화된 ARP 요청과 응답 패킷을 나타내면 그림 9.7과 같다.
- 그림에 있는 ARP 요청에서 타겟 물리 주소가 0x00000000로 되어 있지만 응답 패킷을 보면 0xA46EF45983AB로 되어있다. 이제 시스템 A는 시스 템 B에 프레임을 보내고자 할 때 이 주소를 프레임에 목적지 주소로 지정하여 보내면 된다.

 
 

프록시 ARP 

- 서브넷팅 효과를 만들기 위해 사용
- 호스트 집합을 대행하여 수행
 
 


요약_*★,°*:.☆( ̄▽ ̄)/$:*.°★* 。
 
📌 호스트나 라우터로의 패킷 전달을 위해서는 논리 주소와 물리 주소가 필요
논리주소네트워크층에서 호스트나 라우터를 유일하게 식별 가능TCP/IP는 이 논리주소를 IP라고 함물리주소데이터 링크층에서 호스트나 라우터를 유일하게 식별 가능
 
📌 논리주소 -> 물리주소 '변환'은 동적으로 수행됨. [동적 변환][정적 변환]은 논리주소와 해당 물리주소의 목록이 필요, but 이 목록을 유지하는 오버헤드 매우 큼
 
📌 주소 변환 프로토콜(ARP: Address Resoulution Protocol)
: 주어진 논리주소에 대한 물리주소를 찾는 [동적 변환] 방법
ARP 요청은 네트워크상의 모든 장치에 브로드캐스트
ARP 응답은 변환을 요청한 호스트에게 유니캐스트
 
📌 '프록시 ARP'에서 라우터는 호스트의 집합을 대표
ARP 요청이 이 집합에 속하는 호스트의 물리주소를 찾으면, 라우터는 자신의 물리주소를 보냄 서브넷팅 효과
 
📌 ARP 소프트웨어 패키지는 { 캐시 테이블, 큐, 출력 모듈, 입력 모듈, 캐시 제어 모듈 } 다섯 개의 구성 요소로 이루어짐
  캐시 테이블: ARP 메시지에 의해 사용됨 & 갱신되는 엔트리의 배열을 가짐
  큐: 같은 주소로 가는 패킷들이 저장됨
  출력 모듈: IP 계층에서 패킷을 받아 데이터 링크층이나 큐로 보냄
  입력 모듈: 캐시 테이블을 갱신하기 위해 ARP 패킷을 사용함 & ARP 응답 발송 가능 
  캐시 제어 모듈: 엔트리 통계를 갱신함으로써 캐시 테이블을 유지