본문 바로가기

CS/네트워크

IP, Gateway,Subnet 이란?

반응형

1. IP 주소란?

IP (Internet Protocol) 는 Internet 과 Protocol이 합쳐진 말이다. 그럼 Internet이란 뭘까?

Internet 이란 이름처럼 inter + network 이다. 예를 들어서 여러개의 소규모 네트워크들이 연결되어 거대한 네트워크를 이룬것을 말한다.

여기서 네트워크란? 컴퓨터들이 통신망(전자신호를 통해 통신하는 모든 기기가 서로 통신하기 위해 만든 하나의 망)을 통해 서로 그물처럼 연결된 체계를 말한다.

다시 돌아와서 위 그림에서 보여지는 'LAN'이라는 것은 'Local Area Network'의 줄임말로 컴퓨터들을 이더넷(ehternet) 케이블 등을 이용해서 물리적으로 연결한 소규모 네트워크를 의미한다.

Internet은 이러한 LAN과 또 다른 LAN이 계속 연결 되면서 큰 네트워크가 형성되는 것을 의미한다.

Protocol 의 사전적 의미는 '규약'이다. 즉, 지켜야할 약속이라는 것인데 IT에서 프로토콜은 각 컴퓨터 간의 제어나 연결, 혹은 통신과 데이터 전송에 대한 하나의 약속으로 이해할 수 있다.

결론적으로 IP 주소란 이런 인터넷 상에서 프로토콜이며 어떤 컴퓨터를 찾아낼 수 있는 주소이다.



2. Gateway 이란?

각 LAN은 입구 역할을 하는 컴퓨터를 통해 외부 네트워크와 연결되는데 그 컴퓨터를 Gateway라고 한다.

Gateway를 한 줄로 정의하자면 "종류가 다른 네트워크 간의 통로의 역할을 하는 장치" 라고 할 수 있다.

더 자세하게는 "네트워크에서 서로 다른 통신망, 프로토콜을 사용하는 네트워크 간의 통신을 가능하게 하는 컴퓨터나 SW를 일컫는 용어" 라고 할 수 있다.



3. Subnet 이란?

Subnet의 개념을 이해 하기 위해서는 먼저 네트워크 영역을 구분하는 방법에 대한 개념이 있어야 합니다.

그럼 왜 네트 워크 영역을 구분해야 할까요?

자신의 호스트가 속해 있는 네트워크 전체를 대상으로 패킷을 전송하는 일대다 통신 방식을 브로드캐스트(Brodcast)라고 합니다. 여기서 패킷이란 컴퓨터 간에 데이터를 주고 받을때 네트워크를 통해서 전송되는 데이터 조각이고, 호스트란 내가 패킷을 전송하려는 대상을 의미합니다

전 세계에는 수많은 PC들이 존재 하는데 이 많은 수의 PC들이 모두 브로드캐스트로 대화를 하게 된다면 내가 받고 싶지 않은 데이터들도 CPU가 처리를 해야 하므로 엄청난 오버헤드(overhead: 어떤 처리를 하기 위해 들어가는 간접적인 처리시간/메모리)와 보안적 이슈 때문에 네트 워크 영역을 구분 해야 합니다

네트워크 영역을 구분하는 방법에는 두가지 방법이 있습니다.


- Classful : Class로써 네트워크 영역을 구분하는 방법

A, B, C, D, E 클래스로 IP 대역을 구분지어 네트워크 영역을 나누는 방법이다.

Class Starting Address Ending Address
A 0.0.0.0 127.255.255.255
B 128.0.0.0 191.255.255.255
C 192.0.0.0 223.255.255.255
D 224.0.0.0 239.255.255.255
E 240.0.0.0 255.255.255.255

A, B, C 는 Host주소로 사용할 수 있고 D는 멀티케스팅용으로 E는 실험용으로 사용된다.

만약 ip 주소가 1.2.3.4 라면 A 클래스로, 130.54.89.3 라면 B 클래스로 네트워크 영역을 구분할 수 있다.

하지만 Classful 방식은 단점이 있는데 예를 들어 A클래스의 경우 한 네트워크당 대략 16,000,000 개의 호스트를 가진다. 이러한 A 클래스의 경우 한 네트워크 대역에 너무 많은 호스트 ID가 존재한다.

따라서 이를 또 논리적으로 네트워크를 분할할 필요성이 있는데 이를 '서브넷팅' 이라고 한다.


- ClassLess : Subnet 등등 으로 구분하는 방법

서브넷팅(Subnetting)이란 네트워크 관리자가 네트워크 성능을 향상시키기 위해 자원을 효율적으로 분배 한다는 것인데 쉽게 말해 네트워크 영역과 호스트 영역을 분할 하는 것입니다.

IP는 32자리 2진수로 표현할 수 있는데 가령, 255.255.255.255 까지의 IP를 표현할 수 있습니다.
달리 말하면 2의 32제곱 까지만 표현 가능하고 이는 곧 자원의 한계가 존재 하기 때문에 제한된 자원으로 주소에 낭비 없이 써야 해야 합니다.

때문에 등장하는 개념이 '서브넷 마스크'입니다.

예를 들어 10.0.0.1 이란 IP가 있을때 서브넷 마스크로 255.255.255.0을 주게 된다면 운영체제는 이 두 주소를 AND 연산한 결과를 네트워크 대역이라고 생각합니다. 따라서 10.0.0.1를 255.255.255.0으로 서브넷팅한 네트워크 ID는 10.0.0.0 이 되는 것입니다.

반응형

'CS > 네트워크' 카테고리의 다른 글

[Network] 프로토콜 계층(2)  (0) 2022.10.09
[Network] 프로토콜 계층(1)  (0) 2022.10.02
HTTP 상태 코드  (0) 2022.08.25
HTTP/1.1 과 HTTP/2 의 차이점  (0) 2022.03.06
GET 과 POST의 차이  (2) 2022.01.13