CHAPTER 03 · NETWORK
우리 동네와
이웃 찾기
서브넷으로 동네의 경계를 정하고, ARP와 스위치로 같은 동네의 이웃을 찾습니다.

01
IP 뒤의 /24는 무엇인가?
192.168.0.30/24에서 IP가 집 주소라면 /24는 우리 동네가 어디까지인지 알려주는 경계선입니다.
IPv4 주소는 32개의 비트로 이루어집니다. CIDR의 /24는 앞의 24비트를 네트워크 부분으로 사용하고, 나머지 8비트를 장비 주소로 사용한다는 뜻입니다.
/24 네트워크에서는 보통 256개의 주소가 만들어지지만 네트워크 주소와 브로드캐스트 주소를 제외하면 장비에 할당할 수 있는 주소는 254개입니다.
02
같은 동네인지 계산하는 법
내 IP와 목적지 IP에 같은 서브넷 마스크를 적용했을 때 네트워크 주소가 같으면 같은 동네입니다.
같은 네트워크라면 장비끼리 직접 통신할 수 있습니다. 다른 네트워크라면 기본 게이트웨이, 즉 라우터에게 패킷을 맡겨야 합니다.
처음에는 복잡한 이진수 계산보다 ipcalc 명령으로 결과를 확인하고, /24·/25·/26처럼 범위를 절반씩 나누는 감각부터 익히는 것이 좋습니다.
$ ipcalc 192.168.0.30/24
$ ip route
$ ip addr

03
IP는 아는데 실제 장비는 어떻게 찾을까?
같은 네트워크에서 패킷을 전달하려면 IP 주소뿐 아니라 랜카드의 실제 식별자인 MAC 주소가 필요합니다.
ARP는 “이 IP 주소를 가진 사람은 MAC 주소를 알려 달라”고 같은 네트워크 전체에 묻습니다. 해당 장비가 답하면 내 컴퓨터는 IP와 MAC의 짝을 ARP 캐시에 저장합니다.
이 과정은 같은 네트워크에서만 동작합니다. 다른 네트워크의 목적지는 직접 찾지 않고 기본 게이트웨이의 MAC 주소를 찾아 패킷을 전달합니다.
$ ip neigh
$ arp -n
$ ping 192.168.0.1
04
스위치는 주소를 기억한다
스위치는 들어오는 프레임의 출발지 MAC 주소를 보고 어느 포트에 어떤 장비가 있는지 학습합니다.
목적지 MAC이 어느 포트에 있는지 알면 그 포트로만 전달합니다. 아직 모르면 모든 포트로 보내고 응답을 통해 위치를 배웁니다.
보안 관점에서는 ARP 응답을 믿는 특성을 악용한 ARP 스푸핑을 주의해야 합니다. 공격자가 게이트웨이인 척 속이면 통신을 가로채거나 변조할 수 있습니다.
CHAPTER REVIEW
이번 장에서 기억할 한 문장
서브넷은 같은 동네의 범위를 정하고, ARP는 IP를 MAC 주소로 바꾸어 실제 이웃을 찾아낸다.