ARP 프로토콜

이정훈·2023년 1월 27일
0

네트워크

목록 보기
6/15

ARP 프로토콜

ARP가 하는일

  • 컴퓨터가 알아서 쓰는 프로토콜
  • 3계층 프로토콜 IP주소를 사용
  • 통신을 할때 멀리가기 위해 가까운 곳을 먼저 가야한다. 그것이 MAC주소
  • 우리는 통신할 때 IP주소만 입력하는 데
  • 이 프로토콜이 자동으로 MAC주소를 알아온다

ARP 프로토콜의 구조

  • 28byte로 구성

  • 하드웨어 타입 : 2계층 주소의 타입, MAC 주소밖에 없다. 0x0001

  • 프로토콜 타입 : 3계층 주소의 타입, IPv4 주소밖에 없다. 0x0800

  • 하드웨어 주소 길이 : 2계층 주소의 길이, 0x06

  • 프로토콜 주소 길이 : 3계층 주소의 길이, 0x04

  • 오퍼레이션 코드 : ARP 요청 패킷인지 ARP 응답 패킷인지 알려주는 필드, 0x0001이면 요청 패킷, 0x0002이면 응답 패킷 (통신코드)

  • 출발지 MAC 주소

  • 출발지 IP 주소

  • 목적지 MAC 주소 우리는 이걸 모르는 기 때문에 000000000000000

  • 목적지 IP주소 이거는 적어야 ARP프로토콜이 MAC주소를 알아봐 준다.

    06040001

ARP 프로토콜의 통신과정

IP주소로 MAC주소를 알아오는 과정

  • 이더넷으로 캡슐화

  • 우리는 MAC을 모르니깐 FFFFFFF 이건 브로드캐스트 1111111111이다.
    모두에게 물어보고
  • 각자 이더넷 프로토콜이 맞는지 확인하고
  • 브로트캐스트로 왔기때문에 자기들은 맞다고 생각하고 ARP 프로토콜을 열어본다
  • 근데 여기에는 목적지 MAC을 모르고 IP주소만 있기 때문에 일치하지 않은 친구들은 ARP프로토콜을 버린다.
  • IP주소와 일치한다면 ARP응답을 한다.
  • 이 친구는 출발했던 곳으 MAC주소를 알기 때문에 응답을 할때는 브로드캐스트로 보내는 것이 아닌 유니캐스트로 출발했던 곳의 MAC 주소를 기입하여 보낸다.
  • 그럼 이제 ARP 캐시 테이블에 저장을한다.
    (잠깐동안 저장한다는 것)

ARP 테이블

나와 통신했던 컴퓨터들

  • cmd - arp -a 입력하면 캐시테이블이 보인다.

  • 이 정보를 무조건 신뢰할 수는 없다

  • 만약에 다른 요청을 받은 적이 없는 데 가짜의 ARP 응답프로토콜을 줄 수 있다.

  • ARP 프로토콜은 이런거다 정도만 알아 가자!

profile
싱숭생숭늉

0개의 댓글