본문 바로가기

CS/네트워크

IP 클래스와 서브넷

IP(Internet Protocol)

- 통신망에서 패킷이 목적지까지 찾아갈 수 있도록 데이터그램을 기반으로 비신뢰성, 비연결성 서비스를 제공하며 OSI모델의 네트워크 계층에 해당한다.

- 패킷의 분해, 조립, 주소지정, 경로선택 기능을 제공한다.

- 망 연결이 IP Address에 의해 이루어지므로 목적지 IP Address를 반드시 알아야한다.

IPv4

- IP 패킷(데이터그램)은 크게 헤더 필드와 데이터 필드로 나누고, 옵션을 사용하지 않은 일반적인 IP 헤더의 크기는 20바이트로 가변적이다.

- IP 주소는 총 32bit8비트 단위(Octet)으로 나누어 각 부분을 점(.)으로 구분된 4개의 필드를 10진수로 나타낸다. (1 Octet = 8 bit)

- IP 주소는 해당 네트워크를 구분하기 위한 네트워크 주소와 네트워크 내에서 호스트를 구분하기 위한 호스트 주소로 구성된다. (네트워크 주소 + 호스트 주소 = 32비트)

- IP 주소는 네트워크와 호스트의 주소 개수에 따라 A~E까지 5개의 클래스로 구분된다.

IPv6

- 기본 헤더의 길이가 40바이트로 고정되었고, 패킷의 기본적인 정보와 송수신 주소 등 전송에 필수적인 정보로 구성

- IPv6에서는 헤더 길이, 식별자, 플래그, 분할 오프셋, 헤더 체크섬 같은 5개의 필드가 제거

IPv4IPv6의 차이

클래스의 분류

- IPv4주소는 네트워크의 크기나 호스트의 수에 따라 A, B, C, D, E 클래스로 구분

클래스 A

- 첫 번째 비트가 ‘0’IP 주소

- 첫 바이트의 나머지 7비트가 네트워크 주소, 하위 세 바이트는 호스트 주소

- 2^24-2개의 호스트를 수용할 수 있기 때문에 큰 규모의 호스트를 갖는 기관에서 사용

클래스 B

- 처음 두 비트의 값이 ‘10’인 주소

- 첫 바이트의 나머지 6비트와 두 번째 바이트가 네트워크 주소, 마지막 두 바이트는 호스트 주소

- 2^16-2개의 호스트를 수용

클래스 C

- 처음 세 비트의 값이 ‘110’인 주소

- 세 번째 바이트까지가 네트워크 주소, 마지막 한 바이트는 호스트 주소

- 네트워크마다 254개까지 호스트를 수용할 수 있기 때문에 작은 규모의 네트워크에서 사용

클래스 D

- 처음 네 비트의 값이 ‘1110’인 주소

- 네트워크 주소와 호스트 주소의 구분이 없고 전체 주소가 멀티캐스트용으로 사용

클래스 E

- 처음 네 비트의 값이 ‘1111’인 주소

- 추후 사용을 위해 예약된 주소

CIDR(Classless Inter-Domain Routing)

- A,B,C 클래스 별로 IP 주소를 구분하지 않고 네트워크 주소 범위를 자유롭게 지정할 수 있도록 하여 IP 주소 운영의 융통성을 제공하는 방법

- 클래스 기반 주소 방식에서는 8, 16, 24로 한정된 전치부를 갖는 반면, CIDR에서는 작게는 32개의 호스트를 갖는 네트워크부터 50,000여개의 호스트를 갖는 네트워크를 할당

예를 들어 “203.255.208.222/23”과 같은 CIDR에 의한 IPv4주소표기 방식은 IP주소를 2진수 표기법으로 변환하였을 때 나타나는 처음 23비트(11001011 1111111 1101000)가 네트워크 주소로 사용되며 나머지 비트(0 11011110)/23 네트워크가 가지는 512개의 호스트 중 자신의 호스트를 식별하는 숫자라는 것을 말합니다.

사설, 특수 IP

- 인터넷 상에서 사용하는 공인 IP와는 다르게 사설 IP는 인터넷상에서 확인할 수 없고 내부 네트워크에서만 이용 가능

- 전체 IP주소를 관리하는 IANA가 사설 네트워크를 위해 미리 확보해 둔 것

- 외부 네트워크로의 접속을 위해서는 NAT를 이용한 주소 변환 과정이 필요

서브네팅

- 관리의 효율성을 위해 하나의 큰 네트워크를 몇 개의 작은 논리적인 네트워크로 분할하여 사용하는 방식

- 서브넷 마스크란 IP 주소를 가지고 어디까지가 네트워크 부분이고, 어디까지가 호스트 부분인가를 구분하는 역할

- 서브넷 마스크에서 이진수로 1인 부분은 네트워크를, 0인 부분은 호스트를 나타내고 이 때 1은 연속적으로 나와야한다.

- 주어진 IP 주소와 AND 연산을 해서 서브넷 네트워크의 주소를 계산

- 주어진 클래스를 그대로 사용하는 경우 디폴트 서브넷 마스크를 사용

(C클래스 : 255.255.255.0, B클래스 : 255.255.0.0, A클래스 : 255.0.0.0)

- 호스트 주소 부분이 모두 0인 경우는 서브넷 주소 자체를 의미

- 호스트 주소 부분이 모두 1인 경우는 브로드캐스트 주소를 의미

- 한 네트워크에 연결된 호스트의 수를 줄여 라우팅 테이블의 크기를 줄일 수 있음

ex) 210.193.130.200/26 <- 네트워크 주소로 26비트 사용한다

1~255(8비트).1~255(8비트).1~255(8비트).1~192(맨 앞 2비트) => 26비트

위 주소의 서브넷 마스크 : 255.255.255.192

 

ex) IP주소가 203.10.24.27이고 호스트의 서브넷 마스크가 255.255.255.240일 때 호스트 범위와 브로드 캐스트 주소는?

240 = 11110000

호스트 : 203.10.24.17 ~ 203.10.24.30

브로드 캐스트 주소 : 203.10.24.31

 

 

 

 

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

통신 방식과 이더넷(Ethernet)  (0) 2021.04.14
ARP와 RARP  (0) 2021.04.07