기본 게이트웨이(Default Gateway)는 네트워크 상의 다른 네트워크로 데이터 패킷을 전송할 때 경로를 제공하는 장치다. 기본 게이트웨이는 로컬 네트워크(내부 네트워크)의 호스트(예: 컴퓨터, 서버)가 외부 네트워크(인터넷 등)와 통신할 수 있도록 한다. 특히, 네트워크 세그먼트가 다른 네트워크와 통신할 때 경로를 설정해 주는 라우터가 기본 게이트웨이 역할을 한다.
기본 게이트웨이의 역할

기본 게이트웨이는 네트워크에서 경로를 모르는 패킷을 처리하는 역할을 한다. 네트워크 상의 호스트가 자신의 네트워크 대역(서브넷) 내에 없는 다른 IP 주소로 데이터를 전송하려고 할 때, 기본 게이트웨이를 통해 외부 네트워크로 나간다. 인터넷의 웹페이지에 액세스 하려면 라우터의 기본 게이트웨이를 통해 로컬 네트워크를 빠져나와야 한다. 라우터는 데이터를 인터넷으로 전달하게 된다. 반대로 인터넷이 이 네트워크의 컴퓨터와 통신하려면 기본 게이트웨이를 지나야 한다.
라우터는 모든 네트워크의 게이트웨이다. 위 상황에서 컴퓨터는 스위치를 통해 통신 할 수 있다. 모든 컴퓨터가 동일한 네트워크 내에 있기 때문이다. 여기서의 데이터는 기본 게이트웨이를 지나지 않아도 된다. 그러면 다른 컴퓨터와 통신하려는 경우 컴퓨터들이 내부망에 있는지 외부망에 있는지 어떻게 알 수 있을까?
예를 들어, 컴퓨터 A가 192.168.0.2
이고, 기본 게이트웨이가 192.168.0.1
일 때, 컴퓨터 A는 같은 서브넷(192.168.0.x
) 내의 다른 장치와 직접 통신할 수 있다. 그러나, 192.168.2.x
같은 다른 네트워크로 데이터를 보내려면, 기본 게이트웨이인 192.168.0.1
을 통해 라우터가 외부 네트워크로 패킷을 전달하게 된다.
네트워크 주소와 호스트 주소
이를 정확히 알기 위해선 IP주소와 서브넷 마스크에 대해 알 필요가 있다. IP 주소는 네트워크 주소(Network Address)와 호스트 주소(Host Address)로 구성된다. 네트워크 주소는 네트워크를 식별하고, 호스트 주소는 네트워크 내에서 각각의 장치를 식별한다. 이 두 부분은 IP 주소의 클래스에 따라 자동으로 결정되거나, 서브넷 마스크를 통해 수동으로 구분된다.
예를 들어, IP 주소가 192.168.
0.2이라면, 이 주소는 네트워크 주소와 호스트 주소로 나뉘어진다. 여기서 어느 부분이 네트워크 주소인지, 어느 부분이 호스트 주소인지를 결정하는 것이 서브넷 마스크다.
서브넷 마스크
서브넷 마스크(Subnet Mask)는 IP 주소의 네트워크 부분과 호스트 부분을 구분하는 데 사용된다. 서브넷 마스크는 네트워크 상의 장치가 서로 통신할 수 있는지, 아니면 다른 네트워크를 통해 통신해야 하는지 결정한다.
서브넷 마스크는 IP주소의 네트워크 부분을 마스킹하여 네트워크에 사용되는 IP주소의 비트수를 나타낸다.
서브넷 마스크는 IP 주소와 동일한 형식(예: 32비트)으로 표시되며, 각 비트는 “1” 또는 “0”으로 설정된다. 서브넷 마스크에서 “1”로 설정된 부분은 네트워크 주소를 나타내고, “0”으로 설정된 부분은 호스트 주소를 나타낸다.
예를 들어, IP 주소가 192.168.0.2이
고 서브넷 마스크가 255.255.255.0
이라면,
- 네트워크 주소는
192.168.0.0
이고, - 호스트 주소는 2다.
이 서브넷 마스크는 첫 세 옥텟(255.255.255)이 네트워크 부분을 나타내고, 마지막 옥텟(0)은 호스트 부분을 나타낸다는 의미다.
서브넷 마스크를 통한 마스킹
서브넷 마스크의 작동 방식은, IP 주소와 서브넷 마스크를 AND 연산하여 네트워크 주소를 계산하는 과정이다. 이를 통해 내부 네트워크와 외부 네트워크를 구분할 수 있다.
- IP 주소:
192.168.
0.2 (11000000.10101000.00000000.0000010) - 서브넷 마스크:
255.255.255.0
(11111111.11111111.11111111.00000000)
이 두 값을 AND 연산하면, 네트워크 주소 192.168.0.0
이 된다. 즉, 192.168.0.0
네트워크 상의 모든 장치들이 동일한 서브넷에 속한다고 간주할 수 있다. 세 옥텟이 네트워크 부분이고, 나머지가 호스트 부분인 것이다. 반면에, 다른 네트워크(예: 192.168.2.0
같은 다른 네트워크 대역)와 통신하려면 기본 게이트웨이를 통해 외부 네트워크로 나가야 한다.

IP 주소의 처음 세 숫자가 192.168.0인 네트워크의 모든 장치는 해당 장치들이 동일한 네트워크에 있음을 의미한다. 이는 컴퓨터가 기본 게이트를 통하지 않고, 서로 직접 통신 할 수 있음을 의미한다. 호스트 부분은 컴퓨터와 같은 장치에 고유하게 할당되는 부분이다.

위 상황은 두 개의 하위 네트워크, 즉 서브넷으로 분할된 사설 네트워크다. 왼쪽 서브넷은 192.168.0 네트워크, 오른쪽 서브넷은 192.168.1 네트워크에 있다. 그리고 각 서브넷에는 자체 기본 게이트웨이가 있다.
이제 192.168.0.2 컴퓨터가 192.168.0.3 컴퓨터와 통신 하려한다고 가정하자 192.168.0.2 컴퓨터는 192.168.0.3컴퓨터의 IP주소를 확인하여 동일한 네트워크에 있는지 확인한다. 처음 세 옥텟인 IP 주소의 네트워크 부분이 동일하기 때문에 두 컴퓨터가 동일한 네트워크에 있음을 알 수 있다. 이제 통신이 이루어지려면 192.168.0.2 컴퓨터에 192.168.0.3 컴퓨터의 MAC주소가 필요하다. 그리고 네트워크 ARP 브로드캐스트를 보내 MAC주소를 요청하여 찾게된다.
다른 상황에서 192.168.0.2 컴퓨터가 192.168.1.2 컴퓨터와 통신 하려한다고 가정하자. 동일하게 컴퓨터는 IP주소를 확인하여 동일한 네트워크에 있는지 확인할 것이다. 하지만 처음 세 옥텟인 IP 주소의 네트워크 부분이 다르기 때문에 두 컴퓨터는 다른 네트워크에 있다. 따라서 직접 통신 할 수 없으며, 기본 게이트웨이를 거쳐 통신해야 한다. 따라서 192.168.0.2 컴퓨터는 ARP 브로드캐스트를 보내고 기본 게이트웨이에 MAC주소를 요청한 다음, 라우터를 지나 기본 게이트웨이로 데이터를 보낸 다음 전달한다.