ARP 프로토콜

song·2023년 3월 8일
0

네트워크

목록 보기
5/17

ARP(Address Resolution Protocol) 프로토콜

  • ARP가 하는 일
    - ARP 프로토콜은 같은 네트워크 대역에서 통신을 하기 위해 필요한 MAC주소를 IP주소를 이용해서 알아오는 프로토콜

    - 같은 네트워크 대역에서 통신을 한다고 하더라도 데이터를 보내기 위해서 7계층부터 캡슐화를 통해 데이터를 보내기 때문에 IP주소와 MAC주소가 모두 필요

    - 이 때 IP주소는 알고 MAC주소는 모르더라도 ARP를 통해 통신이 가능

  • IP주소를 이용해 MAC주소를 알아오는 ARP 프로토콜

ARP 프로토콜의 통신 과정

  • IP주소만 알고 있을 때? ARP로 MAC주소를 알아오기

    COM1에서 COM3으로 통신을 한다고 할때, COM1COM3의 MAC주소를 모르고 IP주소만 알고 있다.
    이럴 때, ARP를 이용해서 COM3의 MAC주소를 알아내는 과정을 살펴보자.

    1) COM1은 ARP를 헤더로 캡슐화 한다.
    - H/W type00 01Ethernet이다
    - Protocol type08 00으로 IPv4
    - H/W 주소 길이(MAC주소)는 6Byte로 06
    - Protocol 주소 길이(IP주소)는 4Byte로 04
    - opcode요청(00 01) or 응답(00 02)이 존재
    - 목적지 MAC주소를 모르기 때문에 00 00 00 00 00 00으로 채운다.


    2) COM1은 Ethernet을 헤더로 캡슐화한다.
    목적지 MAC주소를 모르기 때문에 FF FF FF FF FF FF로 채운다. (브로드캐스트로 같은 대역에 네트워크에 모두 보내기 위함)
    상위 프로토콜 타입에 08 06ARP를 의미한다.


    3) 요청을 받은 컴퓨터들은 디캡슐화로 Ethernet정보를 보고 브로드캐스트라는 것을 알아낸다.
    그래서 또 디캡슐화로 ARP정보를 본다.
    여기서 목적지 IP가 본인이 아니라면 버리고, 본인이라면 응답을 보낸다.

    4) 스위치는 2계층 장비기 때문에 Ethernet 프로토콜만 확인하고 목적지MAC주소가 aa:aa:aa:aa:aa:aa:aa:aa:aa:aa:aa:aa이기 때문에 COM1로 보내준다.


    5) 디캡슐화로 Ethernet정보를 확인하고, 본인이 맞기에 ARP 정보도 디캡슐화해서 확인한다.
    이렇게 해서 COM3의 MAC주소를 알게 되었다.
    그리고, 이 정보를 ARP 캐시 테이블에 등록한다.


이렇게 MAC주소를 알아내고 통신이 시작된다.

그렇기에 최초의 통신을 할 때, 이 같은 과정이 한 번은 실행되어야 한다.

ARP 테이블

통신 했던 컴퓨터들의 주소는 ARP 테이블에 남는다.
cmd에서 arp -a를 입력하면 확인가능

<출처>
"네트워크 기초(개정판)".따라하면서 배우는 IT.https://www.youtube.com/playlist?list=PL0d8NnikouEWcF1jJueLdjRIC4HsUlULi (2023.03.08)


내용정리는 제 입맛에 맞게 바꿨습니다.
profile
인간은 적응의 동물

0개의 댓글