기본 게이트웨이
고친 사람 github-actions[bot]
기본 게이트웨이는 갈 곳을 모르는 데이터를 대신 맡아 바깥으로 내보내 줍니다. 컴퓨터는 상대가 나와 같은 망에 있으면 곧장 보내고, 나머지는 전부 이쪽으로 넘깁니다. 그래서 인터넷에 있는 수많은 주소를 하나하나 알지 않아도 바깥과 통할 수 있습니다.
쉽고 빠른 이해
기본 게이트웨이는 내 컴퓨터가 바깥으로 나갈 때 쓰는 출구 하나입니다. 집에서는 공유기가 그 출구를 맡습니다.
출구를 정해 두지 않으면 컴퓨터가 인터넷의 모든 목적지를 어디로 보낼지 스스로 알고 있어야 합니다. 출구 하나만 정해 두면 모르는 목적지는 전부 그리로 떠넘기면 됩니다.
어떻게 도나:
- 보낼 상대가 나와 같은 망에 있는지 따집니다
- 같은 망이면 상대에게 곧장 보냅니다
- 아니면 기본 게이트웨이에게 넘기고, 그다음 경로는 게이트웨이가 정합니다
대가는 이 출구가 멈추면 바깥과 아예 못 통한다는 것입니다. 주소를 잘못 적어 두면 같은 망 안은 멀쩡한데 인터넷만 안 됩니다.
상세
택배를 부치는 때를 떠올리면 됩니다. 받는 사람이 같은 아파트 단지에 살면 직접 갖다 줍니다. 단지 밖이면 어느 길로 갈지 따지지 않고 근처 우체국에 맡깁니다.
기본 게이트웨이는 목적지가 내 망 밖일 때 데이터를 넘길 라우터입니다. 라우터는 망과 망을 잇고, 받은 데이터를 다음 망으로 넘겨 주는 장비입니다. 컴퓨터의 네트워크 설정에는 그 라우터의 IP 주소(Internet Protocol address, 인터넷 프로토콜 주소)가 한 줄 적힙니다. 집이나 사무실이라면 공유기의 주소가 여기 들어갑니다.
설정에 적히는 값은 주소이고, 그 주소가 가리키는 것은 장비입니다. 이 글에서 기본 게이트웨이라고 하면 그 장비를 가리키고, 설정 값을 말할 때만 기본 게이트웨이 주소라고 적습니다.
이 절은 먼저 컴퓨터가 상대를 같은 망으로 볼지 바깥으로 볼지 어떻게 가르는지 봅니다. 이어서 그 판단이 적혀 있는 표와 기본 경로를 봅니다. 그다음 게이트웨이로 넘길 때 바뀌는 것과 안 바뀌는 것을 봅니다. 끝으로 이 주소를 어디서 받아 오는지와 잘못 적혔을 때 나는 증상을 봅니다.
같은 망인지 가르는 셈
컴퓨터는 데이터를 보내기 전에 상대가 나와 같은 망에 있는지부터 따집니다. 같은 망이라는 것은 서브넷 하나에 같이 들어 있다는 뜻입니다. 서브넷은 주소 덩어리를 잘게 나눈 한 조각입니다.
가르는 값은 서브넷 마스크입니다. 마스크는 주소의 어디까지가 망 번호이고 어디부터가 그 망 안의 번호인지를 알려 줍니다. 내 주소와 상대 주소에서 망 번호 쪽만 떼어 견주고, 같으면 같은 망입니다.
내 주소 192.168.0.10
서브넷 마스크 255.255.255.0 // 앞 세 칸이 망 번호
내 망 번호 192.168.0.0
상대 192.168.0.30 → 192.168.0.0 // 같다. 곧장 보낸다
상대 203.0.113.9 → 203.0.113.0 // 다르다. 넘긴다
이 셈에서 상대가 같은 망으로 나오면 컴퓨터는 상대에게 직접 보냅니다. 다르게 나오면 목적지를 더 따지지 않고 기본 게이트웨이에게 넘깁니다. 보내기 전에 이렇게 두 갈래로 가르는 일을 로컬 원격 판정이라고 부릅니다.
flowchart TD
A["보낼 데이터"] --> B{"망 번호가 같나"}
B -->|같다| C["상대에게 곧장 보낸다"]
B -->|다르다| D["기본 게이트웨이에게 넘긴다"]
D --> E["그다음 경로는 게이트웨이가 정한다"]
컴퓨터가 인터넷 전체를 알 필요가 없는 까닭이 이 그림에 있습니다. 갈림이 둘뿐이라 컴퓨터가 알아야 할 것도 내 망 번호와 출구 주소 둘입니다.
기본 경로 한 줄
컴퓨터 안에는 어느 목적지를 어디로 보낼지 적어 둔 표가 있습니다. 라우팅 테이블입니다. 표의 한 줄은 「이 주소 범위로 가는 것은 이쪽으로 넘겨라」를 뜻합니다.
그 표에서 모든 주소를 받아 주는 줄이 기본 경로입니다. 주소 범위를 0.0.0.0/0 으로 적는데, 빗금 뒤의 0 은 주소를 한 칸도 고정하지 않는다는 뜻입니다. 고정하는 칸이 없으니 세상의 모든 주소가 이 줄에 걸립니다.
아래는 앞서 든 망을 표로 옮긴 것입니다.
| 목적지 범위 | 넘길 곳 |
|---|---|
| 192.168.0.0/24 | 상대에게 직접 |
| 0.0.0.0/0 | 192.168.0.1 |
같은 목적지에 두 줄이 한꺼번에 맞을 수 있습니다. 표의 첫 줄과 둘째 줄이 그렇습니다. 이때는 범위가 가장 좁은 줄이 이기는데, 이 규칙을 최장 프리픽스 매치라고 부릅니다.
그래서 기본 경로는 언제나 맨 나중에 걸립니다. 다른 줄이 하나도 안 맞을 때만 남는 줄이라, 기본 게이트웨이가 모르는 목적지의 출구 노릇을 하게 됩니다.
표에서 넘길 곳으로 적힌 주소는 다음 홉이라고 부릅니다. 기본 경로의 다음 홉이 곧 기본 게이트웨이 주소입니다.
넘길 때 바뀌는 것과 안 바뀌는 것
게이트웨이에게 넘긴다고 해서 목적지가 게이트웨이로 바뀌지는 않습니다. 데이터에 적힌 목적지 주소는 끝까지 살아 있습니다. 바뀌는 것은 바로 옆 장비에게 건네줄 때 쓰는 이름표입니다.
같은 망 안에서 실제로 건네줄 때 쓰는 이름표는 MAC 주소(Media Access Control address, 매체 접근 제어 주소)입니다. 네트워크 카드마다 붙어 있는 번호입니다. 컴퓨터는 게이트웨이의 주소만 알고 있으므로, 그 주소를 쓰는 장비의 MAC 주소를 먼저 알아내야 합니다.
그 물음을 맡는 것이 ARP(Address Resolution Protocol, 주소 결정 프로토콜)입니다. 같은 망에 대고 이 주소를 쓰는 장비가 누구냐고 묻고, 해당 장비가 자기 MAC 주소로 답합니다.
정리하면 목적지 주소는 손대지 않고 건네줄 상대의 MAC 주소만 게이트웨이의 것으로 채웁니다. 게이트웨이는 받은 데이터를 다음 망으로 넘기면서 그 구간의 상대 MAC 주소로 다시 바꿔 씁니다. 목적지에 닿을 때까지 이 일이 구간마다 되풀이됩니다.
아래 표는 한 번 보낸 데이터가 구간을 지날 때 두 값이 어떻게 갈리는지를 보인 것입니다.
| 구간 | 목적지 주소 | 건네줄 상대 |
|---|---|---|
| 내 컴퓨터 → 게이트웨이 | 바깥 상대 | 게이트웨이 |
| 게이트웨이 → 다음 라우터 | 바깥 상대 | 다음 라우터 |
| 마지막 라우터 → 상대 | 바깥 상대 | 상대 |
목적지 주소 칸은 세 줄이 모두 같고 건네줄 상대 칸만 매번 달라집니다. 기본 게이트웨이는 첫 줄에서 한 번 쓰이고 나면 그 뒤로는 나타나지 않습니다.
주소를 어디서 받아 오나
대부분의 컴퓨터는 이 주소를 손으로 적지 않습니다. 망에 붙는 순간 DHCP(Dynamic Host Configuration Protocol, 동적 호스트 구성 프로토콜)가 자기 주소와 서브넷 마스크와 기본 게이트웨이 주소를 한꺼번에 내려 줍니다. 집 공유기가 이 노릇을 겸합니다.
주소가 바뀌면 곤란한 장비는 손으로 적어 둡니다. 서버가 그렇습니다. 이때 적는 값은 자기 주소, 서브넷 마스크, 기본 게이트웨이 주소 셋입니다.
기본 게이트웨이 주소는 내 망 안의 주소여야 합니다. 바깥 주소를 적으면 그 주소에 닿으려고 다시 게이트웨이를 찾게 되고, 그 게이트웨이가 또 바깥이라 어디로도 못 나갑니다.
잘못 적혔을 때 나는 증상
기본 게이트웨이가 잘못되면 증상이 눈에 띄게 갈립니다. 같은 망 안의 장비끼리는 멀쩡히 통하는데 바깥만 안 됩니다. 옆자리 컴퓨터와 사무실 프린터는 잘 붙는데 웹 페이지만 안 열리는 상태가 이것입니다.
주소를 아예 안 적은 경우도 같은 모습입니다. 기본 경로가 없으니 컴퓨터는 바깥으로 가는 데이터를 넘길 곳을 못 찾습니다.
게이트웨이 장비 자체가 멈추면 그 망에 붙은 모두가 동시에 바깥과 끊깁니다. 출구를 하나로 모은 대가입니다. 그래서 회사 망에서는 같은 게이트웨이 주소를 두 장비가 번갈아 맡도록 꾸며 두기도 합니다.
관련 항목
기본 게이트웨이가 속하는 상위 개념
게이트웨이 · 라우팅 · 라우터 · 네트워크 · 인터넷
보낼 곳을 고를 때 함께 보는 값
IP 주소 · 서브넷 · 서브넷 마스크 · 라우팅 테이블 · 기본 경로 · 다음 홉 · 최장 프리픽스 매치 · 로컬 원격 판정
게이트웨이로 넘길 때 거치는 프로토콜
ARP · 이더넷 · ICMP · IPv4 · IPv6
게이트웨이 주소를 알려 주는 방법
DHCP · 라우터 광고 · 정적 경로 · 동적 라우팅 · 라우팅 프로토콜
집과 회사 망에서 이 노릇을 맡는 장비
공유기 · NAT · NAT 게이트웨이 · 방화벽 · VPN
기본 게이트웨이가 어긋날 때 나는 장애
다른 이름: default gateway · 디폴트 게이트웨이