Subnet and Gateway
Reference: [책] IT 엔지니어를 위한 네트워크 입문
초기 network는 모든 단말이 하나의 network에 존재하는 local network(LAN)를 고려하여 설계되어 통신하는 방법이 매우 간단했다
Internet 기술의 발달로 작은 LAN network들이 하나의 큰 network로 묶이면서 먼 거리에 있는 다른 LAN과의 통신이 중요해졌다
같은 network 내에서의 통신과 원격지 network간의 통신은 동작 방식이나 필요한 network 장비가 모두 다르다
원격지 network와의 통신에 사용하는 장비를 Gateway 라고 부르고, 3계층 장비 (
router
와swtich
)가 이 역할을 할 수 있다
1. Subnet과 Gateway의 용도
Local network에서는
ARP Broadcast
를 이용해 도착지 MAC 주소를 학습할 수 있고, 해당 MAC 주소를 이용해 직접 통신할 수 있었지만,원격 network 통신은 network를 넘어 전달되지 못하는
broadcast
의 성질 때문에 network 장비의 도움이 필요하다이 장비를 Gateway라고 하고,
Gateway에 대한 정보를 PC나 network 장비에 설정하는 항목이 Default Gateway이다
Default Gateway는
3계층 장비
가 수행하고,여러 network와 연결되면서 적절한 경로를 지정해주는 역할을 한다
출발지와 목적지 network가 동일한 LAN 내에서 통신하는 것인지, 서로 다른 network 간의 통신인지에 따라 통신 방식이 달라지므로 출발지에서는 목적지가 자신이 속한 network 범위인지 확인하는 작업이 필요하다
이때 사용되는 것이 Subnet mask이다
자신이 속한 network를 구하는 방법은
자신의 IP 주소
와Subnet mask
를 and 연산해 나오는 값이다이렇게 연산된 결과값인 local network 주소에 목적지가 속해 있으면
Local 통신
이고, 아니면원격지 통신
이다
즉, 동일 network 간의 통신과 서로 다른 network 간의 통신을 구분하기 위해 사용되는 것이 subnet mask 이다
Proxy-ARP
Proxy ARP는 말 그대로 ARP를 대행해주는 기능이다
원격지 통신
은 Default gateway를 찾아 ARP 요청을 보내고 packet을 기본 gateway 쪽으로 보내야만 통신할 수 있다but, Default gateway에 Proxy ARP가 활성화된 경우, 원격지 통신이더라도 local에
ARP broadcast
를 보내 통신할 수 있다
Proxy ARP가 활성화된
default gateway (router)
는 ARP broadcast가 들어오면 자신이 대행해 ARP 응답을 해준다이 경우
packet
이 default gateway 쪽으로 보내지므로 원격지 경로로 전달될 수 있다
Proxy ARP 기능은 router에 기본으로 활성화되어 있어 사용자 몰래 동작하는 경우가 많다
사용자 설정 없이 자동으로 동작해 편리한 것으로 느껴지지만, network에 설정 오류가 있거나 꼭 입력해야 할 설정이 되어 있지 않아도 동작하는 경우가 많아서 장애 발생 시 쉽게 해결할 수 없게 만드는 장애 요소가 되기도 한다
ex) 원격지 통신인 경우,
Proxy ARP가 활성화된
router
가 운영되고 있다면 엉뚱한 ARP 요청도 받아 처리해주므로 PC에서 Default gateway가 잘못 입력되어 있어도 통신이 되는 경우가 발생할 수 있다!
2. 2계층 통신 vs 3계층 통신
2계층 통신은 Local Network 통신, 3계층 통신은 원격지 Network 통신이다
단말 간의 통신은 application 계층부터 시작해 Capsulation, Decapsulation을 거쳐 통신하는데,
Local Network에서 직접 통신할 경우 (출발지와 목적지가 같은 network에 존재할 경우) router와 같은 3계층 network 장비의 도움 없이 통신이 가능하다
즉, 단말간을 연결해주는 network 장비에서 2계층까지만 정보를 확인해 통신하고,
ARP 요청
을 보낼 때 직접broadcast
를 이용하므로 이것을 Layer 2 통신이라고 부른다
반면, 원격지 Network와 통신해야 할 경우 (출발지와 목적지가 다른 network에 존재할 경우), router와 같은 3계층 장비의 도움이 없으면 통신할 수 없다
해당
packet
을 전송하는 network 장비에서 3계층 정보까지 확인해야 하며 이것을 Layer 3 통신이라고 한다
통신하는 출발지와 도착지의 network가 **"같다"**와 "다르다" 는 조건에 따라 통신 방식이 달라지는데, 이러한 차이는 Local과 Remote 통신을 위한
ARP 동작 방식
이 다른 것으로 인해 발생한다같은 network에 있는 단말 간 통신은 직접적으로 이루어진다
상대방의 MAC 주소를 알아내기 위해
ARP Broadcast
를 이용하고,상대방의 MAC 주소를 알아내자마자 packet이 캡슐화되어 통신이 시작된다
외부 network와 통신이 필요할 때는
단말이 자신이 직접 보낼 수 없는 위치에 목적지가 있다고 판단하고, ARP 요청을 Default gateway의 IP 주소로 요청한다
Gateway에서 ARP 응답을 받은 단말은 도착지 MAC 주소에 응답받은 Default gateway의 MAC 주소를 적어놓고 통신을 시작한다
Local 통신 (L2 통신)은 도착지 MAC 주소와 도착지 IP 주소가 같은 반면,
Remote 통신 (L3 통신)은 도착지 MAC 주소와 도착지 IP 주소가 다르다
도착지 IP 주소는 통신의 실제 도착지이고,
도착지 MAC 주소는 default gateway의 MAC 주소가 사용된다
Last updated