- 5. 통신하기 전 반드시 필요한 ARP 프로토콜2023년 02월 02일 17시 23분 33초에 업로드 된 글입니다.작성자: 각수짱728x90반응형SMALL
ARP 프로토콜
ARP가 하는 일
ARP 프로토콜은 같은 네트워크 대역에서 통신을 하기 위해 필요한 MAC주소를 IP주소를 이용하여 알아오는 프로토콜이다.
같은 네트워크 대역엣 통신을 한다고 하더라고 데이터를 보내기 위해서는 7 계층부터 캡슐화를 통해 데이터를 보내기 때문에 IP주소와 MAC주소가 모두 필요하다. 이때 IP주소는 알고 MAC 주소는 모르더라고 ARP를 통해 통신이 가능하다.
ARP 프로토콜의 구조
하드웨어 타입 : 2 계층 주소의 타입, MAC 주소밖에 없다. ex) 0x0001
프로토콜 타입 : 3 계층 주소의 타입, IPv4 주소밖에 없다. ex) 0x0800
하드웨어 주소 길이 : 2 계층 주소의 길이, 0x06
프로토콜 주소 길이 : 3 계층 주소의 길이 , 0x04
오퍼레이션 코드 : ARP 요청 패킷인지 ARP 응답 패킷인지 알려주는 필드,
0x0001이면 요청 패킷, 0x0002이면 응답 패킷
출발지 MAC주소 // 출발지 IP주소 // 목적지 MAC주소 // 목적지 IP주소
ARP 프로토콜의 통신 과정
IP주소로 MAC 주소를 알아오는 과정
ARP 통신 과정
시스템 A 시스템 B
192.168.0.10 192.168.0.20
255.255.255.0 255.255.255.0
AA:AA:AA:AA:AA:AA BB:BB:BB:BB:BB:BB
시스템 A가 시스템 B로 통신을 시도하는 과정(IP 주소는 알고 있는 상태, MAC 주소는 모르고 있는 상태)
1. 시스템 A는 ARP 테이블을 확인한다. (cmd에서 arp -a 명령어로 확인 가능)
2. ARP 테이블에 존재하면 해당 MAC 주소로 통신, 없으면 ARP 요청 프로토콜을 작성
ETH 헤더 ARP 요청 프로토콜
FF FF FF FF 00 01 08 00
FF FF AA AA 06 04 00 01
AA AA AA AA AA AA AA AA
08 06 AA AA 0A 0A
0A 0A 00 00
00 00 00 00
0A 0A 0A 14
*tip : FF:FF:FF:FF:FF:FF 은 MAC 주소의 브로드캐스트 주소
3. 작성한 ARP 요청 패킷을 시스템 A는 브로드캐스트로 전송
4. 같은 네트워크에 있는 모든 시스템은 브로드캐스트로
전송된 패킷을 모두 받는다.
이때 모든 시스템은 Decapsulation 과정을 수행하고 ARP 프로토콜에서
IP주소를 확인한다.
받은 ARP 프로토콜과 IP주소가 다른 시스템들은 해당 패킷을 버리고
IP주소가 같은 시스템은 ARP 응답 프로토콜을 작성
ETH 헤더 ARP 응답 프로토콜
AA AA AA AA 00 01 08 00
AA AA BB BB 06 04 00 02
BB BB BB BB BB BB BB BB
08 06 BB BB 0A 0A
0A 14 AA AA
AA AA AA AA
0A 0A 0A 0A
5. 응답 프로토콜을 받은 시스템 A는 ARP 응답 프로토콜에 작성된
내용을 ARP 테이블에 등록한다.728x90반응형LIST'네트워크 기초' 카테고리의 다른 글
7. 컴퓨터의 프로그램끼리는 이렇게 데이터를 주고 받는다 (0) 2023.02.03 6. 멀리 있는 컴퓨터끼리는 이렇게 데이터를 주고받는다. (0) 2023.02.02 4. 실제로 컴퓨터끼리는 IP주소를 사용해 데이터를 주고 받는다. (0) 2023.02.01 3. 가까이있는 컴퓨터끼리는 이렇게 데이터를 주고받는다. - 실습 (0) 2023.02.01 3. 가까이 있는 컴퓨터끼리는 이렇게 데이터를 주고 받는다 (0) 2023.01.31 이전글이 없습니다.댓글