느리더라도 꾸준히

Host 주소란? 서브넷마스크란? 본문

http&Internet

Host 주소란? 서브넷마스크란?

테디규 2022. 10. 26. 08:53

목표

HTTP 공부중 여러 개념들이 헷갈려 정리해보려고 합니다.

Host, Host 주소, 서브넷 마스크를 이해해 봅시다.

아직 네트워크 전공을 들어본 적이 없어서 많이 다를수 있는점 양해부탁드립니다.

0.호스트란?

호스트 주소를 알기전에 먼저 호스트에 대해 알아봅시다.

컴퓨터 용어에서 호스트란 네트워크/인터넷 속의 호스트를 의미하며, 이는 다른 컴퓨터들과 쌍방향 통신이 가능한 컴퓨터를 말합니다. 즉 컴퓨터 네트워크/인터넷에 연결된 컴퓨터나 기타장치를 말합니다.

그러므로 현재 인터넷을 사용하고 있는 내 pc, google 서버등 모두 호스트라고 할수 있습니다.

1.Host 주소란?

특정한 네트워크 내에서 서로를 구분하기 위한 주소입니다.

좀 더 의미 가 다가오도록 하기위해 연관된 개념들을 봅시다. 일단 IP 주소 = 네트워크주소 + 호스트 주소로 구성되어 있습니다.

그러므로 IP 주소가 무엇인지 먼저 알아봅시다.

2.IP 주소: 네트워크 및 호스트

IP주소는 TCP/IP 네트워크상에서 인터넷과 연결된 장치(호스트)들을 각각 식별할수 있도록 만들어진 주소입니다. 이러한 IP 주소는 32비트 숫자로 되어 있습니다만, 일반적으로 192.168.123.132와 같이 마침표로 구분된 4개의 숫자가 있는'.' 점으로 분리된 10진수 형식으로 표시합니다.

IP주소는 서브넷 마스크를 사용하여 호스트, 네트워크 및 하위 네트워크를 구별할 수 있는데, 일단 먼저 2진수의 IP 주소 살펴봅시다.

(서브넷 마스크는 아래에서 따로 다루도록 하겠습니다.)

IP주소의 변환

110000000101000111101110000100      : 실제 컴퓨터가 이해하는 IP주소(2진값으로 구성된 32비트의 숫자)
11000000.10101000.01111011.10000100 : 옥텟(8bit 섹션으로 나눔)
192.168.123.132                     : 옥텟을 10진수 표기법으로 변환

위의 예시처럼 점(.)으로 구분된 10진수 IP 주소 192.168.123.132는 (이진 표기법으로) 32비트 숫자 110000000101000111101110000100입니다. 이 숫자는 이해하기 어려울 수 있으므로 8자리 2진수의 네 부분으로 나눕니다. 이러한 8비트 섹션을 옥텟이라고 합니다.


참고: 옥텟이란?

컴퓨팅에서 8개의 비트가 한데 모인 것을 말한다.


그러면 예제 IP 주소는 11000000.10101000.01111011.10000100이 됩니다. 이 숫자는 의미를 가지고 있기 때문에, 대부분의 경우 2진수 주소를 점으로 구분된 10진수 형식(192.168.123.132)으로 변환합니다.

아까 IP 주소는 네트워크주소와 호스트 주소로 구성되어 있다는 말을 기억하시나요? 위의 IP주소 192.168.123.132는 아래처럼 두 부분으로 나눌 수 있습니다.

  • 192.168.123.0 : 네트워크 주소입니다.
  • 0.0.0.132 : 호스트 주소입니다.

3.서브넷 마스크

서브넷 마스크는 IP 주소를 두 부분으로 나누는 데 사용됩니다. 한 부분은 호스트(컴퓨터)를 식별하고 다른 부분은 호스트가 속한 네트워크를 식별합니다.

IP 주소와 서브넷 마스크를 함께 정렬하면 주소의 네트워크 및 호스트 부분을 분리할 수 있습니다.

11000000.10101000.01111011.10000100 - IP 주소(192.168.123.132)
11111111.11111111.11111111.00000000 - 서브넷 마스크(255.255.255.0)

연산 후

11000000.10101000.01111011.00000000 - 네트워크 주소(192.168.123.0)
00000000.00000000.00000000.10000100 - 호스트 주소(000.000.000.132)

따라서, 255.255.255.0 서브넷 마스크를 사용하는 이 예의 경우 네트워크 ID가 192.168.123.0이고, 호스트 주소가 0.0.0.132라는 것을 알 수 있습니다.

패킷이 192.168.123.0 서브넷(로컬 서브넷 또는 원격 네트워크에서)에 도착하고 대상 주소가 192.168.123.132이면 컴퓨터는 네트워크에서 패킷을 수신하여 처리합니다.

(뇌피셜)참고: IP 주소와 네트워크 주소로굳이 나누어진 이유가 무엇일까?

이를 이해하기 위해서 일반적인 인터넷의 TCP/IP 구조를 생각해봅시다. 제가 구글을 켜서 검색을 하면(요청) 구글은 이에 응답하여 적절한 검색 화면을 뿌려주어야합니다. 이러한 화면을 뿌려주려고, 화면에 대한 정보는 데이터 패킷(소포)이라는 곳에 담아 제 컴퓨터에 보내게 됩니다.

이 소포안에 송신측(구글)은 최적의 경로를 담은 "라우팅 테이블"을 함께 보내고, 이를 라우터가 참조하며 패킷을 원하는 곳에 보내게 됩니다.


참고 : 라우터란?

라우터(router 혹은 라우팅 기능을 갖는 공유기)는 컴퓨터 네트워크 간에 데이터 패킷을 전송하는 네트워크 장치다. 패킷의 위치를 추출하여, 그 위치에 대한 최적의 경로를 지정하며, 이 경로를 따라 데이터 패킷을 다음 장치로 전달한다.

PC 네트워크들을 연결해주고, 라우터 사이에는 서로를 연결하는 경로가 존재한다.


문제는 네트워크 간 데이터 패킷(정보를 담은 소포로 이해하자!)을 전달하는 라우터는 정보 패킷이 대상으로 하는 호스트의 정확한 위치(=호스트 주소) 를 알지 못합니다. 라우터는 호스트가 구성원인 네트워크(=네크워크 주소) 만 알고 있으므로, 일단 라우팅 테이블에 저장된 정보를 사용하여 패킷을 대상 호스트의 네트워크로 가져오는 방법을 결정합니다. 패킷이 목적지의 네트워크로 전달된 후, 개별적인 호스트 주소를 이용하여 패킷은 적절한 호스트로 전달 될 수 있게됩니다.


출처 : https://learn.microsoft.com/ko-kr/troubleshoot/windows-client/networking/tcpip-addressing-and-subnetting

Comments