개발자의 길/Infra

[Network][AWS] AWS 네트워크 구성요소 - 1. 인터넷 네트워크 기초와 IP 주소 체계

토아드 2024. 2. 4. 18:23
반응형

 우리는 컴퓨터와 인터넷을 통해 다른 컴퓨터와 채팅이나 게임도 할 수 있고, 여러 기업의 사이트를 접속하기도 하며, 날씨도 본다. 내가 특정 사이트나 다른사람과 연결되고 싶을 때 어디로 연결되어야 되는지 알아야 하는데, 그 '어디'를 나타내는 것이 IP Address 이다.

 게임 서버에 접속하려면 그 서버의 IP 주소를 알아야 하고, 다른 사람과 직접 연결되어 파일을 주고받으려고 해도 IP 주소가 필요하다. 채팅을 하기 위해 중간에서 매개 역할을 해주는 서버에 접속하기 위해서도 IP 주소는 필요하다.

 

 이번 챕터에서는 IP 주소가 어떻게 생겨먹었는지, 어떤 종류가 있는지, 어떤 방식으로 이용되는지 알아보도록 하자.

IP Address

 인터넷에서 기기를 식별하는 IP 주소는 처음에는 32비트로 이루어진 숫자로 표현되었는데, 점점 기기가 많아지면서 128비트로 표현되는 IP 주소도 생기게 되었다. 이 32비트와 128비트 주소는 각각 IPv4, IPv6 라고 불린다.

 

 IPv4 : 32 bit 주소체계로 총 4,294,967,296 개의 주소를 가질 수 있다. 숫자와 점으로 구분된 네 부분으로 표현되는데, 우리가 흔히 아는 모양이고, 점으로 구분된 각 부분을 옥텟 이라고 표현한다. 예) 192.168.1.1

 IPv6 : 128 bit 주소체계로 거의 무한한 주소를 가질 수 있다. 문자와 콜론으로 구분되는 8 부분으로 표현된다. 예) 2001:0db8:85a3:0000:0000:8a2e:0370:7334

 

공인 IP 주소 : 실제로 인터넷에서 통신하기 위해 각 기기에게 부여된 주소로, 인터넷에 연결된 장치 하나당 하나의 IP 주소를 가진다.

사설 IP 주소 : 특정 내부 네트워크에서만 유효한 주소로, 인터넷 상에서는 유효하지 않은 주소이다. 회사 등의 내부 망에서 각자의 기기를 구분하기 위한 주소이다. 내부 네트워크에서만 사용되기 위한 목적이기 때문에 당연히 서로다른 내부 네트워크 안에 똑같은 IP 주소 가 중복될 수 있다.

 

 

IP 주소 클래스와 CIDR  표기법

클래스 표기법

IP 주소를 체계적으로 관리하기 위해서 '네트워크' 와 '호스트' 라는 개념으로 분류하게 된다. 네트워크는 여러 기기가 연결된 하나의 집합을 의미하며, 학교 전체가 될 수도 있고, 가정의 와이파이 기기에 연결되어 있는 스마트폰이나 컴퓨터 등의 집단이 될 수도 있다. 호스트는 그 네트워크 내에 연결되어 있는 각각의 기기를 의미한다. 여기서 네트워크의 규모에 따라 다른 IP 영역대를 부여하게 되는데, 이를 구분하는게 IP 주소 클래스이고, A, B, C 클래스 등으로 나누어진다.

 

A 부터 C 클래스에 대한 간략한 설명이다. 클래스 별로 네트워크나 호스트가 사용 못하는 예약된 영역이 있긴 한데 아래 내용에서는 생략하였다.

 

A 클래스

- 사용처 : 보통 ISP(Internet Service Provider) 나 매우 큰 조직에 부여되는 영역이다.

- IP 주소 형식 : N.H.H.H (N은 네트워크, H 는 호스트다. 4개 옥텟 중 첫번째 부분은 네트워크를 나타내고, 나머지 3개는 호스트를 나타낸다)

- 범위 : 1.0.0.0부터 126.0.0.0까지

 

B 클래스

- 사용처 : 중대형 조직에 부여된다.

- IP 주소 형식 : N.N.H.H

- 범위 : 128.0.0.0부터 191.255.0.0까지

 

C 클래스

- 사용처 : 소규모 조직에 부여된다.

- IP 주소 형식 : N.N.N.H

- 범위 : 192.0.0.0부터 223.255.255.0까지

 

 

CIDR 표기법

 전통적인(?) 클래스 표기 방식은 예전에는 좋았으나 현대에 오면서 낭비되는 영역의 존재나 실제로 주소를 부여할 개수가 부족해지면서 CIDR 라는 표기법을 쓰게 되었다. 

 표기법은 아래와 같다

 

 1.1.1.1/24

 

 위 IP 주소는 클래스 표현 방식과 같이 '네트워크' 와 '호스트' 를 나타내는데, 1.1.1.1 에서 앞 24 비트가 네트워크 영역이고, 뒤 8 비트는 호스트 영역이라는 의미이다. 그럼 왜 더 좋냐? 클래스 단위로 나눌 때는 네트워크 영역을 8비트의 배수로만 줄 수 있었지만, 이 방식으로 하면 1비트의 배수로 네트워크 영역을 나눌 수 있다! 

반응형