1 분 소요

ARP (Address Resolution Protocol)

  • 이더넷 프레임을 만들기 위해서는 출발지 MAC 주소와 목적지 MAC 주소가 필요하다.
  • 이더넷에서 상대방의 MAC주소를 알아내기 위해 사용하는 프로토콜이 ARP이다.

image

< 국제 표준 이더넷 프레임 포맷과 이더넷 프레임 포맷 비교 >

ARP 동작 방식

image

목적지 MAC 주소 출발지 MAC 주소 출발지 IP 주소 목적지 IP 주소 데이터
? 0000.0000.0001 1.1.1.1 1.1.1.2 1010..
  • 이처럼 R1입장에서 R2의 IP주소를 알지만 MAC 주소를 모를때 MAC 주소를 알아내기 위해 사용한다.

목적지 MAC 주소 출발지 MAC 주소 출발지 IP 주소 목적지 IP 주소 데이터
FFFF.FFFF.FFFF 0000.0000.0001 1.1.1.1 1.1.1.2 ARP 요청
  • 위의 표와 같이 R1은 목적지 MAC주소를 브로드캐스트 주소로 설정한 ARP 요청 프레임을 전송한다.
  • ARP 요청 내용은 ‘IP 주소가 1.1.1.2 인 장비의 MAC 주소가 무엇인가?’ 라는 내용에 해당된다.

목적지 MAC 주소 출발지 MAC 주소 출발지 IP 주소 목적지 IP 주소 데이터
0000.0000.0001 0000.0000.0002 1.1.1.2 1.1.1.1 ARP 응답
  • ARP 응답을 수신한 R1은 이제 목적지 IP 주소 1.1.1.2의 MAC주소를 알게 된다.
  • 이때 R1 과 R2는 상대방의 IP주소와 MAC 주소에 대한 ARP 결과를 ARP 테이블에 저장한다.

목적지 MAC 주소 출발지 MAC 주소 출발지 IP 주소 목적지 IP 주소 데이터
0000.0000.0002 0000.0000.0001 1.1.1.1 1.1.1.2 1010…
  • 이와 같이 R2의 MAC주소와 IP주소를 알게된 R1은 완전한 이더넷 프레임을 만들 수 있다.

트랜스패런트 브리징

  • 이더넷 스위치는 MAC주소 테이블을 참조하여 이더넷 프레임을 목적지 방향으로 전송한다.
  • 이때 MAC 주소 테이블을 만들고, 유지하며, MAC 주소 테이블을 참조하여 프레임을 전송하는 것을 트랜스패런트 브리징(transparent bridging) 이라고 한다.
  • ‘사용자가 의식하지 못하게 자동으로 동작한다’ 는 의미로 사용된다.

트런스패런트 브리징 절차

러닝(learning)

  • MAC 주소 테이블에 해당 출발지 MAC주소가 없으면 출발지 MAC 주소와 수신 포트번호를 기록한다.

플러딩 (flooding)

  • 목적지 MAC 주소가 브로드캐스트 주소이거나, MAC 주소 테이블에 없는 유니캐스트(unknown unicast) 또는 멀티캐스트 주소이면 수신 포트를 제외하고 동일한 VLAN에 속하는 모든 포트로 다 전송한다.
    • MAC 주소 테이블이 가득찰 경우에도 플러딩 한다.
    • 이처럼, 악의적으로 MAC 주소 테이블을 채우는 공격을 MAC 플러딩 공격이라고 한다.

포워딩 (forwarding)

  • 목적지 주소가 MAC 주소 테이블에 존재 시, 해당 목적지 MAC 주소를 가진 유니캐스트 프레임을 수신하면 목적지 포트로 프레임을 전송한다.

에이징 (Aging)

  • 학습한 MAC 주소에 항상 300초 타이머를 동작 시킨다.
  • 동일 출발지 MAC 주소를 가진 프레임을 수신할 때마다 타이머를 초기화하고, 정해진 시간 동안 해당 프레임의 활동이 없으면 MAC 주소 테이블에서 제거한다.

필터링 (Filtering)

  • MAC 주소 테이블상에 출발지/목적지 MAC 주소가 동일한 포트에 소속되어 있으면 해당 프레임을 차단한다.
  • 다시말해 collision domain 일 경우 다리(bridge)를 끊는다.

3줄 요약

  • 상대방의 IP를 알때 MAC주소를 알아내기 위한 프로토콜은 ARP

  • 상대방의 MAC을 알고 IP를 모를때 알아내기 위한 프로토콜은 RARP

  • 사용자가 의식 못하게 동작하지만 나는 아는 트랜스패런트 브리징

댓글남기기