본문 바로가기

PROGRAMMING/전산학 기초

IP, subnet, gateway, DNS_기본 용어 정리

공유기를 사용하면서 알게 된 용어에 대해 정리해볼까 한다.

기본적인 내용이라 모두들 알고 있겠지만 나같은 무지인들을 위해 여러 곳에서 본 내용을 엮어엮어 최대한 상세한 정보를 담고자 한다.

 

IP는 Internet과 Protocol이 합쳐진 말이다. 그렇다면 Internet을 먼저 살펴보자.

Internet은 이름처럼 [inter + network]이다. 여러 개의 소규모 네트워크들이 연결되어 거대한 네트워크를 이룬 것을 말한다. 가령 학교 전산실에 있는 컴퓨터들을 이더넷(ethernet) 케이블 등을 이용해서 물리적으로 연결하면 소규모 네트워크가 되는데 이를 LAN(Local Area Network)이라 한다. 이 LAN이 또 다른 LAN과 연결이 되고 또 다른 LAN과 연결이 되면서 큰 네트워크에 연결되어 나갈 수 있다. 이것이 바로 인터넷이다.

그렇다면 Protocol은 무엇을 뜻할까? 프로토콜은 컴퓨팅에 있어서 각 컴퓨터 간의 제어나 연결, 혹은 통신과 데이터 전송에 대한 규약이라고 할 수 있다.

IP 주소는 이런 거대한 네트워크인 인터넷 상에서 컴퓨터 간의 제어나 연결, 혹은 통신과 데이터 전송에 대한 규약이며, 어떤 한 컴퓨터를 찾아낼 수 있는 주소이다.

 

이 때, 각 LAN은 입구 역할을 하는 컴퓨터를 통해 외부 네트워크와 연결된다.

그 컴퓨터를 Gateway라고 한다. 말 그대로 출입문의 역할을 하는 것이다. 정확히 의미를 전달하자면 다른 네트워크로 들어가는 입구 역할을 하는 네트워크 포인트이다.

 

IP주소가 컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신을 하기위해 사용하는 특수한 번호라고 하였다. 하지만 이 IP를 다 일일히 외울 수 없기 때문에 DNS(Domain Name Service)를 이용한다.

DNS는 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행할 수 있도록 하기 위해 개발되었다. 특정 컴퓨터의 주소를 찾기 위해, 사람이 이해하기 쉬운 도메인 이름을 숫자로 된 식별 번호로 변환해 준다.

 

Subnet은 subnetwork를 줄인 말로서 어떤 기관에 소속된 네트워크이지만 따로 분리되어 있는 한 부분으로 인식될 수 있는 네트워크를 말한다.  일반적으로 하나의 서브넷은 하나의 지역, 한 빌딩 또는 같은 LAN 내에 있는 모든 컴퓨터들을 나타낼 수 있다. 여러 개의 subnet으로 나뉘어진 어떤 조직의 네트워크는 인터넷에 하나의 공유된 네트워크 주소로 접속될 수 있다. 만약 subnet이 없다면 그 조직은 물리적으로 분리된 서브 네트워크마다 하나씩, 여러 군데의 인터넷 접속을 가지게 될 것이며, 그렇게 함으로써 한정된 량의 인터넷 주소가 쓸모 없이 낭비될 수도 있게 된다.

 

서브넷을 보면 255와 0으로 구성이 되어 있다. 네트워크 부분은 255로, 호스트 부분은 0으로 지정해서 IP주소의 어디까지가 네트워크 주소이고 어디부터가 호스트 주소인지 알 수 있다.

 

예를 들어, subnet이 255.255.0.0 이고 IP 주소가 1.2.3.4 라면,

1.2 까지가 네트워크 주소이고 3.4는 호스트 주소가 된다.

다시 예를 들어 subnet이 255.255.255.0 이고 IP 주소가 1.2.3.4라면 1.2.3까지가 네트워크 주소이고 마지막 4가 호스트 주소가 되는 것이다.


그렇다면 네트워크 부분과 호스트 부분은 정확히 어떠한 것을 정의하는 것일까?

네트워크 부분은 통신을 위해서 데이터를 전송하였을 때 라우터를 거치지 않고 전송이 가능한 영역이라는 뜻이다. 호스트 부분은 각각의 PC를 말하는 것이다.


예시를 보면 조금 이해가 빠를 것이다. 호스트 3개가 있다고 치자. 

호스트 a의 IP는 210.170.1.1, 호스트 b의 IP는 210.170.1.2, 호스트 c의 IP는 210.170.2.1이라고 하자.

만일 이 호스트들의 써브넷마스크가 255.255.255.0이라고 하면 네트워크 주소 부분이 세번째 부분까지 된다. 따라서 210.170.1.까지 같은 a와 b는 같은 네트워크로 직통연결이 가능하다.

만약 써브넷마스크가 255.255.0.0이라면 a,b,c 모두 같은 네트워크가 되어 직통연결이 가능한 것이다.


IP주소의 클래스

IP 주소는 그 활용도에 따라서 A, B, C, D, E 클래스로 구분되어지고, A,B,C 클래스의 경우에는 일반 사용자를 위한 클래스이다. D 클래스는 멀티캐스트를 위한 IP주소이고 E클래스는 실험을 위한 테스트용이다.


1) A클래스

클래스 A는 앞의 1비트(식별용 비트)가 '0'으로 시작되는 경우이다. IP호스트 네트워크 주소에 8비트, IP 네트워크 주소에 24비트 주소가 지정되어 있다.

A 클래스는 MIN) 0.0.0.0(00000000.00000000.00000000.00000000) 

~ MAX) 127.255.255.255(01111111.11111111.11111111.11111111) 이다.

IP네트워크 주소는 0부터 127까지이며, 식별용 비트를 뺀 나머지 비트이므로 2^7=128개이고, 0과 127은 예약되어 있으므로 실제 사용할 수 있는 IP 네트워크 주소의 수는 126개이다.

호스트 수는 나머지 24비트를 사용할 수 있으므로 2^24=16,777,216개를 가질 수 있는데 이 중 '0'과 '1'인 것은 예약된 것으로 사용할 수없다. 때문에 A의 IP 호스트 주소로 할당할 수 있는 것은 IP 네트워크 주소 1개당 16,777,214개가 된다.


2) B클래스

클래스 B는 앞의 2비트(식별용 비트)가 '10'으로 시작되는 경우이다.

네트워크 주소에 16비트, 호스트 주소에 16비트가 지정되어 있다.

B 클래스는 MIN) 128.0.0.0(10000000.00000000.00000000.00000000)

~ MAX ) 191.255.255.255(10111111.11111111.11111111.11111111) 이다.

IP 네트워크 주소는 128.0 부터 191.255까지이며 식별용 비트를 뺀 나머지 비트이므로 2^14=16,284개고, 예약되어 있는 128.0솨 192.255를 빼고 실제 사용할 수 있는 네트워크 주소의 수는 16,282개이다.

호스트 수는 나머지 16비트이며, 2^16=65,536개를 가질 수 있는데 예약되어 있는 '0'과 '1'을 빼면 실제로 사용할수 있는 호스트 수는 65,634개이다. 따라서 B의 IP 호스트 주소로 할당할 수 있는 것은 IP 네트워크 주소 1개당 65,634개가 된다.


3) C클래스

클래스 C는 앞의 3비트(식별용 비트)가 '110'으로 시작되는 경우이다.

네트워크 주소에 24비트, 네트워크 주소에 8비트가 지정되어 있다.

C 클래스는 MIN) 192.0.0.0(11000000.00000000.00000000.00000000)

~ MAX) 223.255.255.255(11011111.11111111.11111111.11111111) 이다.

IP 네트워크 주소는 192.0.0부터 223.255.255까지이며 식별용 비트를 뺀 나머지 비트이므로 2^21=2,097,152개이며 예약되어있는 192.0.0과 223.255.255를 제외하고 실제로 사용할 수 있는 갯수는 2,097,150개이다.

호스트 수는 나버지 8비트이며, 2^8=256개를 가질 수 있는데 예약되어 있는 '0'과 '1'를 제외하고 254개를 실제로 사용할 수 있는 갯수이다. 따라서 C의 IP 호스트 주소로 할당할 수 있는 것은 IP 네트워크 주소 1개당 254개가 된다.

 

* 라우터, 공유기와 허브(Hub)의 차이

1) 라우터(Router)

: 컴퓨터에서 발생한 패킷에 의해서 만들어진 정보의 덩어리가 라우팅의 뜻이다. 라우터는 정보의 덩어리인 라우팅을 어디로 보낼 것인지 경로 설정을 하는 기계를 뜻한다.

 

2) IP 공유기

: IP 공유기는 말 그대로 한 IP를 공유하는 기계를 말한다. 아까 언급했다시피 인터넷을 하기 위해서는 유일한 번호인 IP가 주소가 필요하다. IP가 있어야 요구한 정보가 내 컴퓨터에 다시 돌아오기 때문이다. 그런데 케이블 모뎀의 경우 접속할 때마다 IP가 동적으로 할당된다. IP를 한 개만 주므로 이 한 개의 IP를 가지고 여러대의 컴퓨터가 인터넷을 할 수 있도록 해 주는 장비가 IP 공유기이다. 즉 진짜 IP는 자기가 가지고 있는 아이디와 암호를 기억하고 있다가 IP 공유기에 연결된 컴퓨터가 인터넷 요청을 하면 자기가 찾아다가 요구한 컴퓨터에 정보를 제공해 주는 것이다.

 

3) 허브

: 네트워크 트래픽을 전송하는 장비. 허브는 데이터를 전달할 때 필요한 포트로만 전달을 하는 것이 아니라 포트 전체에 뿌려서 해당하는 PC의 랜카드가 자신의 맥어드레스(하드웨어의 고유 넘버를 의미. 각 랜카드 제조회사는 전세계에서 고유의 넘버를 할당받아 각 제품의 고유번호를 부여)와 맞으면 데이터를 수신하고 다르면 데이터를 버리는 기술을 사용한다. 그렇기 때문에 속도가 사용자 숫자에 비례해서 떨어지게 된다. 만일 허브가 10Mbps를 지원하고 사용하는 Node 수가 4라면 10Mbps/4가 된다.