정보보안 (기술)/네트워크

네트워크 4. 네트워크 계층과 프로토콜(3) ARP

rinaisme 2024. 7. 7. 15:12

1. 2 계층: 데이터 링크(Data Link) - ARP

  • 3 계층에서는 IP를 사용해서 네트워크 통신을 하고, 2 계층 랜 영역에서는 MAC 주소로 통신을 함
  • 하지만 인근 네트워크, 즉 동일한 네트워크와 통신할 때도 IP 주소를 사용해서 통신을 함
  • ARP (Address Resolution Protocol)
    • 주소 결정 프로토콜로 해당 IP에 맞는 맥 주소를 가지고 오는 프로토콜
  • ARP 헤더
    • Hardware Type
      • 2 계층 네트워크의 유형을 의미
      • Ethernet의 경우 0x0001로 설정
    • Protocol Type
      • 3 계층 프로토콜을 정의
      • IPv4일 경우 0x800으로 설정
    • HW addr length
      • MAC주소의 길이를 정의
      • Ethernet의 경우 6 byte로 설정
    • Protocol addr Length
      • 3 계층 프로토콜의 길이를 정의
      • IPv4의 경우 4 byte로 설정
    • Operation
      • 패킷 유형
      • 해당 패킷이 ARP 요청인지, ARP 응답인지 구분하기 위해 사용
      • ARP 요청의 경우 1, ARP 응답의 경우 2를 설정
    • Sender HW Address
      • 발신자의 MAC주소를 설정
      • 보내는 사람의 하드웨어 값이 들어가야 함
    • Sender IP Address
      • 발신자의 IP주소를 설정
    • Target HW Address
      • 목적지의 MAC 주소를 설정
    • Target IP Address
      • 목적지의 IP 주소를 설정

2. 해당 헤더가 IP주소를 MAC 주소로 바꾸는 법

  • 패킷에서 ARP Request(요청)와 Reply(응답)를 Operation 필드에서 확인 가능
  • 어떤 IP를 가진 호스트와 통신을 하고 싶지만 MAC Address를 모르는 상태
  • 이때 이더넷 헤더의 목적지 MAC 주소는 Broadcast 주소로 설정
  • Source MAC은 패킷을 보내는 장비의 MAC으로 설정하게 됨
  • 이후 ARP 헤더가 붙음
  • OP Code는 1로 해당 요청이 ARP Request라는 것을 알려줌
  • 이후 Sender MAC과 Sender IP는 패킷을 보내는 장비의 MAC과 IP로 설정
  • 하지만 아직 패킷을 받아야 하는 Target MAC 주소는 모르기 때문에 NULL로 설정
  • 통신 대상의 IP만 알고 있기 때문에 IP를 세팅하여 요청
  • 간단하게 192.168.0.1의 IP를 가진 사람의 MAC 주소가 뭐야라고 물어보는 것
  • 이후 해당 IP를 가지고 있는 장치에서 응답이 옴
  • 목적지 MAC은 ARP Request 패킷을 보낸 MAC, 즉 수신지 MAC 주소로 설정
  • Source MAC은 본인의 MAC 주소로 설정
  • OP Code는 2로 해당 패킷은 Reply 패킷이라는 것을 알려줌
  • Sender MAC과 Sender IP에 자신의 MAC과 IP를 적어주고
  • Target MAC과 Target IP에 ARP를 요청했던 장치의 MAC과 IP를 적어주면서 MAC 주소를 전달
  • ARP Broadcast를 받은 장치 중 자신의 IP와 동일한 요청이 있는 장비가 있다면 내 MAC 주소를 물어보네? 알려줘야겠다고 알려주는 것
  • 이런 ARP가 있기 때문에 우리는 IP만 사용하더라도 네트워크에서 MAC 주소로 통신 가능

2. 3 계층: 네트워크

  • 네트워크 계층 프로토콜
    • ICMP: IP에 대한 오류 제어 메시지를 제공하는 프로토콜
      • 통신 확인을 하기 위해 사용되는 ping명령어가 ICMP를 사용
    • OSPF: 라우팅 프로토콜로 네트워크 장치의 최상의 경로로 라우팅 하기 위해 사용되며 대규모 네트워크에서 사용
    • BGP: 라우팅 프로토콜로 네트워크 장치를 최상의 경로로 라우팅 하기 위해 사용되며 인터넷 서비스 공급자(ISP) 네트워크에서 자주 사용
    • 인터넷 서비스 공급자(ISP): 인터넷 접속 비용을 지불하는 회사로 한국의 경우 SK, KT, LG U+