Subnet and Gateway

Reference: [책] IT 엔지니어를 위한 네트워크 입문

  • 초기 network는 모든 단말이 하나의 network에 존재하는 local network(LAN)를 고려하여 설계되어 통신하는 방법이 매우 간단했다

    • Internet 기술의 발달로 작은 LAN network들이 하나의 큰 network로 묶이면서 먼 거리에 있는 다른 LAN과의 통신이 중요해졌다

  • 같은 network 내에서의 통신원격지 network간의 통신은 동작 방식이나 필요한 network 장비가 모두 다르다

    • 원격지 network와의 통신에 사용하는 장비를 Gateway 라고 부르고, 3계층 장비 (routerswtich)가 이 역할을 할 수 있다

1. Subnet과 Gateway의 용도

  • Local network에서는 ARP Broadcast 를 이용해 도착지 MAC 주소를 학습할 수 있고, 해당 MAC 주소를 이용해 직접 통신할 수 있었지만,

    • 원격 network 통신은 network를 넘어 전달되지 못하는 broadcast 의 성질 때문에 network 장비의 도움이 필요하다

      • 이 장비를 Gateway라고 하고,

      • Gateway에 대한 정보를 PC나 network 장비에 설정하는 항목이 Default Gateway이다

        • Default Gateway3계층 장비가 수행하고,

        • 여러 network와 연결되면서 적절한 경로를 지정해주는 역할을 한다

  • 출발지와 목적지 network가 동일한 LAN 내에서 통신하는 것인지, 서로 다른 network 간의 통신인지에 따라 통신 방식이 달라지므로 출발지에서는 목적지가 자신이 속한 network 범위인지 확인하는 작업이 필요하다

    • 이때 사용되는 것이 Subnet mask이다

      • 자신이 속한 network를 구하는 방법은 자신의 IP 주소Subnet maskand 연산해 나오는 값이다

        • 이렇게 연산된 결과값인 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