컴퓨터 네트워크의 기초 2부 - 게이트웨이 / DNS

이문규 munch@itdonga.com

1부에서 살펴본 IP 주소와 서브넷 마스크는 내부 네트워크 ‘랜(LAN, Local Area Network, 지역 통신망)’ 환경에 유용한 정보였다. 2부에서는 인터넷 등의 외부 네트워크 ‘왠(WAN, Wide Area Network, 광역 통신망)’과 관련된 정보인 게이트웨이(gateway)와 DNS(Domain Name Service)에 대해 알아본다.

인터넷을 항해하기 위한 필수 관문 - 게이트웨이

'게이트웨이'는 우리말로 '관문'이나 '출입구'라는 뜻이다. 목적지로 가기 위한 시작점인 것이다. 컴퓨터(또는 다른 인터넷 기기)가 IP 주소와 서브넷 마스크 정보를 토대로 인터넷에 접속하기 위해서는 게이트웨이 IP 주소도 필요하다.

01_1.jpg
01_1.jpg

네트워크에서 게이트웨이는 라우터(router)를 의미하기도 한다. 라우터는 네트워크 연결 기기 중 하나로, 서로 다른 네트워크 구역을 연결하는(라우팅하는) 역할을 한다. 국도에서 고속도로로 진입하기 위한 톨게이트와 유사한 개념이다.

인터넷 공유기를 사용한다면 가장 가까운 게이트웨이가 공유기가 된다. 공유기를 통과하여 인터넷 서비스 업체의 게이트웨이(라우터)를 거쳐 인터넷에 연결된다. 참고로 인터넷(또는 목적지)에 도달할 때까지 거치는 게이트웨이 개수를 '홉(hop) 수'라고 하는데, 일반적으로 네트워크에서 홉 수가 많으면(즉 게이트웨이 수가 많으면) 네트워크 부하가 발생해 전송 속도가 저하될 수 있다.

게이트웨이 역할을 하는 라우터에도 고유한 IP 주소가 필요하다. 그래야 그 IP 주소를 토대로 다른 네트워크로 빠져나갈 수 있기 때문이다. 통상적으로 게이트웨이의 IP 주소는 컴퓨터에 할당된 IP 주소에서 끝자리만 다른 형태다. 대부분의 경우 끝자리에 1번 주소를 지정하는데, 예를 들어 내 컴퓨터 IP 주소가 192.168.0.10이라면 게이트웨이 IP 주소는 192.168.0.1인 경우가 많다. 물론 192.168.xxx.xxx 대역이라면 공유기를 사용했을 것이니, 이때 1차 게이트웨이는 공유기 자체가 된다.

02_1.jpg
02_1.jpg

이 환경에서 공유기 설정의 IP 주소 부분을 보면, 인터넷 서비스 업체로부터 할당받은 공인 IP 주소가 입력되어 있을 것이다. 여기에서도 게이트웨이 설정 항목이 있는데, 이 IP 주소는 인터넷 서비스 업체의 라우터 주소다. 그리고 이 라우터는 2차 게이트웨이가 된다.

이러한 게이트웨이는 인터넷 접속을 위해 필요한 것이라 내부 네트워크, 예를 들어 내부의 컴퓨터끼리 통신하는 데는(파일/폴더 공유 등) 입력하지 않아도 된다. 게이트웨이 IP 주소 역시 윈도우의 명령 프롬프트에서 'ipconfig' 명령을 통해 확인할 수 있다.

03_1.jpg
03_1.jpg

기본 게이트웨이(Default gateway)는 또 뭐지?

컴퓨터는 한 개 이상의 랜 카드를 장착해 서로 다른 네트워크에 연결할 수 있다. 이때 각 랜 카드는 각기 다른 게이트웨이 주소를 갖게 되는데, 그중 기본으로 사용할 게이트웨이를 지정한 경우를 의미한다. 즉 해당 컴퓨터에서 외부 네트워크로 빠져나갈 때 둘 중 어느 랜 카드를 통해 나갈지 지정하는 것이다. 물론 랜 카드가 하나라면 그에 설정된 게이트웨이가 당연히 기본 게이트웨이가 된다.

이외에도 랜 카드는 하나지만 두 개 이상의 네트워크에 연결된 경우, 예를 들어 업무용 내부 네트워크와 인터넷 접속 네트워크에 각각 연결되는 경우에도 기본 게이트웨이 설정이 필요하다. MS 윈도우 운영체계에서 기본 게이트웨이 설정은 각 랜 카드 연결 속성 페이지에서, 'Internet Protocol Version 4 (TCP/IPv4)' 항목 내 '고급' 버튼을 눌러 '고급 TCP/IP 설정' 페이지에서 수행할 수 있다(MS 윈도우 7 기준).

04_1.jpg
04_1.jpg

참고로 특정 사이트로 접근하는데 어떤 게이트웨이(라우터)를 거치는지 확인하고 싶다면, '명령 프롬프트'에서 'tracert' 명령어(trace route)와 해당 웹사이트 URL을 입력, 실행하면 된다(별표로 표시되는 구간은 보안 등의 이유로 정보 노출을 제한한 사이트다).

05_1.jpg
05_1.jpg

복잡한 IP 주소를 문자로 치환 - DNS

전 세계 모든 웹사이트는 대표 IP 주소를 가지고 있다. 앞서 IP 주소 강의에서 봤듯, 32자리나 되는 숫자를 일일이 기억하기 쉽지 않다. 그것도 여러 사이트라면 더욱 그러하다. 이처럼 전 세계 모든 웹사이트의 IP 주소를 사람이 인지하기 쉬운 문자로(또는 그 반대로) 치환해 주는 서비스가 DNS(Domain Name Service)다.

06_1.jpg
06_1.jpg

예를 들어, IT동아 웹사이트를 접속할 때 대표 IP 주소가 아닌 it.donga.com이라는 문자열(도메인 주소)을 웹브라우저 주소창에 입력하는 방식이 그러하다. 그럼 어떤 원리로 도메인 주소가 각 웹사이트의 IP 주소로 변환되는 것일까?

처리 단계는 간단하다. 사용자가 웹브라우저 주소창에 it.donga.com이라는 도메인 이름을 입력하고 엔터를 치면, 이때부터 도메인 이름 풀이 절차가 진행된다. 가장 먼저, 사용자 컴퓨터에서 it.donga.com의 IP 주소가 무엇인지, 해당 인터넷 서비스 업체의 DNS 서버에 질의하게 된다. DNS 서버에는 우리나라 및 전 세계 웹사이트의 도메인 이름과 IP 주소가 기록된 데이터베이스가 저장되어 있다(모든 웹사이트 정보가 다 있는 건 아니다).

07_1.jpg
07_1.jpg

DNS 이름 풀이 요청을 받은 DNS 서버는 it.donga.com 주소의 뒷부분부터 DNS 데이터베이스 정보와 한 단계씩 비교하면서 정보를 찾는다. 즉 .com → donga → it 순으로 검색하여, '기업형 도메인(com)' → '동아일보 웹사이트(donga)' → '하위 도메인(it)'이라는 정보에 맞는 IP 주소를 검색하는 것이다. 최종적으로 it.donga.com에 해당되는 IP 주소를 발견되고 이를 사용자 컴퓨터에 전송함으로써 IT동아 웹사이트가 열리게 된다. 만약 it.donga.com에 해당되는 IP 주소가 없다면 당연히 웹사이트를 찾을 수 없다는 식의 메시지가 웹브라우저에 출력된다.

정상적으로 it.donga.com 웹사이트에 접속한 이후에는, DNS 서버가 제공했던 도메인-IP 주소 정보가 사용자 컴퓨터에 저장되어, 다음부터는 DNS 서버에 요청하지 않고 이를 참고하게 된다.

우리나라에는 현재 KT에서 운영하는 최상위 DNS 서버(서울 혜화동 소재)가 모든 도메인 이름 풀이를 담당하고 있으며, 이 최상위 DNS 서버는 전 세계 모든 DNS 서버와 웹사이트 정보를 동기화한다(그래야 외국 사이트도 접속할 수 있을 테니까). 몇 년 전에 발생한 '인터넷 대란'도 이 최상위 도메인 서버에 문제가 생겨, 도메인 이름을 IP 주소로 변경해 주지 못했기 때문이다(물론 이때 각 웹사이트의 IP 주소로 직접 접근하면 접속이 가능했을 것이다).

특정 웹사이트의 IP 주소를 알고 싶으면?

윈도우의 '명령 프롬프트'에서 'ping' 명령어와 해당 사이트의 주소를 입력하면 첫 줄에 IP 주소가 표시된다. 예를 들어, 'ping donga.com'이라 실행하면 첫 줄에 표시되는 '210.115.150.1'이 동아닷컴 웹사이트의 대표 IP 주소인 것이다. 물론 이 IP 주소를 웹브라우저에서 입력하면 donga.com으로 열었을 때와 똑같은 결과가 출력된다.

08_1.jpg
08_1.jpg

도메인 이름으로 인터넷에 접속하기 위해서는 사용자 컴퓨터에 도메인 서버 IP 주소를 설정해야 한다. 해당 인터넷 서비스 업체의 DNS 서버 IP 주소인데, 이는 업체마다 다르다. 하지만 반드시 해당 업체 도메인 서버 IP 주소를 입력해야 하는 것은 아니다. 도메인 이름 풀이 요청을 처리할 수 있는 DNS 서버면 되는데, 앞서 말한 KT 최상위 도메인 서버의 IP 주소는 168.126.63.1이다. 다만 사용자 컴퓨터와 가장 가까운 DNS 서버가 아무래도 해당 인터넷 서비스 업체이기에, 그쪽 DNS 서버 IP 주소를 설정하는 것이다.

각 인터넷 서비스 업체는 DNS 서버에 걸리는 이름 풀이 처리 부하를 줄이기 위해 여러 대의 서버를 운영하는데, 그에 따라 '1차 도메인 서버', '2차 도메인 서버' 등으로 정보를 제공하고 있다. 즉 1차 도메인 서버에 부하가 걸려 있으면, 2차 도메인 서버 쪽에서 이름 풀이 요청을 처리하는 것이다.

윈도우 컴퓨터의 '명령 프롬프트'에서 'ipconfig'를 실행하면, DNS 서버 설정은 확인할 수 없다. IP 주소와 서브넷 마스크, 게이트웨이 정보만 출력되기 때문이다. 이때는 'ipconfig /all'이라는 명령어를 사용해야 DNS 서버 정보를 확인할 수 있다.

09_1.jpg
09_1.jpg

IP 주소를 자동으로 할당받는 DHCP 환경이라면, DNS 서버 IP 주소 정보도 자동으로 설정된다. 다만 경우에 따라 DNS 서버 설정을 변경해야 한다면, 네트워크 연결 속성 페이지의 'Internet Protocol Version 4 (TCP/IPv4)' 항목의 속성 페이지에서 '다음 DNS 서버 주소 사용'을 선택하고, 해당 인터넷 서비스 업체에서 제공하는 DNS 서버 IP 주소를 입력하면 된다.

10.jpg
10.jpg
단 인터넷 공유기를 사용하는 환경이라면 DNS 서버 주소도 (게이트웨이와 마찬가지로) 공유기 자체의 IP 주소로 자동 설정된다(물론 변경할 수 있다).

핵심 정리

1. 게이트웨이(gateway)

  • 인터넷 접속 등 외부 네트워크로 연결되기 위한 네트워크 기기
  • 두 개 이상 존재 가능(기본 게이트웨이 설정)
  • 인터넷 서비스 제공 업체의 라우터 기기 IP 주소
  • 일반적으로, 사용자 컴퓨터 IP 주소의 4번째 마디에 xxx.xxx.xxx.1로 설정

2. DNS(Domain Name Service)

  • 웹사이트 도메인 이름을 IP 주소(혹은 반대)로 변환해주는 서비스 또는 서버
  • 경우에 따라 1차, 2차 DNS 서버 IP 주소를 설정
  • 이름 풀이 요청(컴퓨터) → 도메인 이름/IP 주소 매핑 검색(서버) → IP 주소 정보 전송(서버→컴퓨터)

글 / IT동아 이문규(munch@itdonga.com)

IT동아의 모든 콘텐츠(기사)는 Creative commons 저작자표시-비영리-변경금지 라이선스에 따라 이용할 수 있습니다.
의견은 IT동아(게임동아) 페이스북에서 덧글 또는 메신저로 남겨주세요.