1. ARP 통신 (Address Resolution Protocol)
: 같은 네트워크 대역에서 통신을 하기 위해 필요한 MAC 주소를 IP 주소를 이용해서 알아오는 프로토콜
- 같은 네트워크 대역에서 통신을 한다고 하더라도 데이터를 보내기 위해서는 7계층부터 캡슐화를 통해 데이터를 보내기 때문에, IP 주소와 MAC 주소가 모두 필요하다.
- 이때, IP 주소는 알고 MAC 주소는 모르더라도 ARP를 통해 통신이 가능하다.
2. ARP 프로토콜 구조
3. ARP 시뮬레이션
- 상황 : A가 C와 통신하려고 하는데, C의 MAC 주소를 모르고 있는 상태.
(1) A가 Ethernet (2계층)으로 ARP (3계층) 요청을 보냄.
- Ethernet 프로토콜의 경우,
2계층으로서 MAC 주소를 사용한다. 따라서 Destination Address와 Source Address 모두 MAC 주소로 구성된다.
현재 Destination MAC Address를 모르고 있는 상황이다.
- ARP 프로토콜의 경우,
3계층으로서 MAC 주소와 IP 주소를 모두 가지고 있다.
현재 Destination MAC Address를 모르고 있는 상황이다.
- 이러한 상황에서 필요한 것이 바로 Broadcasting (브로드캐스팅)이다.
2) A가 LAN 내부의 모든 기기에게 Broadcasting 통신 packet을 보낸다.
- A의 ARP 프로토콜
목적지 MAC 주소를 00 00 00 00 00 00으로 비워두기
- A의 Ethernet 프로토콜
목적지 MAC 주소를 브로드캐스트 주소인 FF FF FF FF FF FF로 두기
3) 스위치에서 decapsulation
- 위의 네트워크 그림에서 가운데에 있는 장비가 스위치 (2계층 장비)이다.
- 스위치는 2계층 프로토콜인 Ethernet까지만 확인하고, decapsulation 한다.
- MAC 주소가 FF FF FF FF FF FF 이므로 같은 네트워크 대역에 있는 모든 장비들에게 패킷을 보낸다.
4) 장비들에서 decapsulation
- 2계층과 3계층 프로토콜까지 decapsulation 한다.
- IP 주소가 일치하지 않는 장비들은 packet을 버리고, 일치하는 장비인 C는 ARP 응답 packet을 보낸다.
5) ARP Cache 테이블에 MAC 주소를 등록한다.
4. ARP Cache Table
- ARP 요청을 보냈던 시스템은 ARP 응답을 수신하면, 질의 대상 시스템의 하드웨어 주소와 IP 주소를 로컬 Cache에 저장한다.
- 시스템에서 다음에 데이터를 보낼 때, 로컬 Cache를 검사하여 엔트리를 찾으면 저장되어있던 Cache table에서 찾아서 보내준다.
- 따라서 브로드캐스트를 할 필요가 없어지고, 로컬 트래픽도 줄어든다.
cmd 창 > arp -a 명령어 입력
- 일정 시간이 지나면 지워진다.
- 이를 방지하기 위해서는 수동으로 MAC 주소를 등록해 놓을 수도 있다.
'[ CS 전공 ]' 카테고리의 다른 글
[ DB ] 데이터베이스 Introduction (2) : DB Language, Design, Engine, Architecture, Users and Administrators (0) | 2022.03.17 |
---|---|
[ DB ] 데이터베이스 Introduction (1) : DB 정의, DBMS, DB System (0) | 2022.03.10 |
[ 네트워크 ] VLSM (0) | 2022.03.02 |
[ 네트워크 ] 서브네팅 (Subneting) (0) | 2022.03.01 |
[ 네트워크 ] 3계층 통신 : IP주소, 서브넷 마스크, 사설IP / 공인IP (0) | 2022.02.28 |