IP 주소 : 가변적인 32비트 크기의 네트워크 ID와 호스트 ID- IP 주소 기반의 라우팅
맥 주소 : 고정적인 48비트 크기의 OUI와 일련번호-맥 주소 기반의 스위칭
ARP: IP주소와 맥 주소 사이를 연결해 주는 기능.
ping : 출발지 호스트와 목적지 호스트 사이에서 회선의 연결 상태나 목적지 운영체제의 동작 여부 등을 점검하기 위해 사용(ICMP를 알면 더 잘 이해할 수 있다.)
=> 출발지 IP주소에서 8.8.8.8인 목적지 IP주소까지 임의의 데이터를 전송했고 목적지 호스트에서 이를 수신해 다시 전송했다는 뜻. 이를 통해 출발지와 목적지 사이의 회선은 정상이고 목적지 호스트가 살아서 동작 중임을 알 수 있다.
arp -a // ip주소와 맥 주소의 대응 관계를 볼 수 있다.
ARP 캐시 테이블 : IP주소와 맥 주소의 대응 관계를 저장한 테이블.
브로드캐스트 방식 : 자신과 동일한 네트워크 ID를 사용하는 모든 호스트에게 데이터를 전송.
유니캐스트 방식 : 브로드캐스트 방식과 반대. 특정한 호스트에게만 데이터를 전송.
=> ARP캐시 테이블에 목적지 맥 주소가 올라오면 운영체제에서는 ARP캐시 테이블을 참조해 ping 데이터를 유니캐스트 방식에 따라 게이트웨이까지 전송.
=> 한마디로
1. 같은 LAN영역에 있는지 없는지 판단(스위칭 통신 대상인지 라우팅 통신 대상인지).
2. 운영체제는 ARP캐시 테이블에 접근해 목적지 맥주소를 검색. 같은 LAN영역에 있으면 바로 자신이 속한 LAN영역 전체에 브로드캐스트 방식으로 ARP질의 전송(목적지 주소는 실제 IP주소, 스위칭 통신),다른 LAN영역에 있으면 목적지 IP를 라우터의 IP주소로 변경 후 자신이 속한 LAN영역 전체에 브로드캐스트 방식으로 ARP질의 전송.(목적지 주소는 라우터의 IP주소, 라우팅 통신)
3. ARP캐시 테이블에 목적지 맥주소가 있다면 운영체제는 곧바로 해당 맥 주소를 참조해 목적지까지 유니캐스트 방식으로 전송. 만약 목적지 맥주소가 없다면, 운영체제는 자신이 속한 LAN영역 전체를 대상으로 ARP 브로드캐스트 질의를 전송.
4. 질의를 받은 LAN영역의 모든 호스트 중 해당 IP주소를 가진 게이트웨이가 자신의 맥주소를 유니캐스트 방식으로 출발지 호스트에게 전송.
5. 목적지 호스트로부터 응답받은 출발지 호스트는 자신의 ARP캐시 테이블에 이러한 내용 반영.
6. ARP캐시 테이블에 목적지 맥주소가 올라오면 운영체제는 사용자가 실제로 전송하고자 하는 데이터를 유니캐스트 방식에 따라 목적지 호스트에게 전송.
ARP 요청과 응답을 정확히 이해하기 위해서는 ARP헤더를 알아야 한다.
ARP 영역 : ARP 요청과 응답이 일어나는 공간.
ARP동작이 동일한 네트워크 ID를 공유하는 호스트를 대상으로 맥주소를 구하는 기능인 만큼 ARP 영역=LAN영역
(왜냐하면, 다른 LAN영역에 있는 IP도 같은 LAN영역에 있는 라우터의 IP로 바꿔서 ARP동작을 수행하시 때문. 따라서 ARP요청과 응답이 일어나는 공간이 ARP 영역은 LAN영역과 같다고 볼 수 있다.)
@정리@
네트워크 : ID 동일한 네트워크 ID를 공유하는 공간
스위칭 : 맥주소에 기반해 내부통신이 가능한 공간
ARP : 영역 단일한 ARP영역을 생성하는 공간.
LAN 영역 : 동일한 네트워크 ID를 공유하는 공간 & 맥 주소에 기반해 스위칭 방식으로 내부 통신을 수행하는 공간 & 단일한 ARP 영역을 생성하는 공간.