2-1. 리소스 위치와 트래픽 라우팅: IPv4(2)

독수리박박·2024년 3월 10일
0

이 글은 go언어를 활용한 네트워크 프로그래밍을 기반으로 작성되었습니다


IPv4(1) 에 이어 IPv4(2)입니다.

IPv4

CIDR을 사용한 네트워크 할당

CIDR(Classless Inter-Domain Routing)이라는 방법을 사용하여 네트워크를 할당한다. CIDR은 네트워크 접두사를 각 IP주소 끝 부분에 추가하여 슬래시와 정수 숫자로 구성된 네트워크ID의 비트 크기를 나타내는 부분입니다.

예를 들면 192.168.156.97/16은 IP주소에서 첫 16비트가 네트워크ID라는 것을 나타냅니다.

여기서 서브넷 마스크를 적용하여 네트워크 IP 주소를 얻어 올 수 있다. 서브넷 마스크는 십진수 표현법으로 CIDR 네트워크 접두사를 인코딩한다. 네트워크ID를 얻어 오기 위해 IP주소에 AND 비트 연산을 적용한다.

아래의 표에서는 가장 일반적인 CIDR 네트워크 접두사와 해당 서브넷 마스크, 그리고 각 네트워크 접두사에 사용할 수 있는 네트워크 및 각 네트워크에 사용할 수 있는 호스트 개수에 대해 자세하게 나타낸다.

각 네트워크에는 특별한 2개의 네트워크가 존재하기 때문에 실제로 사용할 수 있는 네트워크는 2개 적다. 네트워크의 첫 번째 IP 주소는 네트워크 주소로 사용되고, 마지막 IP 주소는 브로드캐스트 주소로 사용된다.
ex)192.168.0.0은 네트워크ID, 192.168.255.255는 브로드캐스트 주소이다.
이 2개의 IP주소는 네트워크 인터페이스에 할당되지 않고 데이터를 라우팅하는데 사용된다.


옥텟 경계에서 끊어지지 않는 네트워크 할당

일부 네트워크 접두사는 8,16,24 이/19 런식으로 딱 나눠 끊어지지 않고 19와 같이 끊어지게 되는 경우도 존재합니다. 아래의 그림은 192.168.156.97/19와 같은 IP 주소의 네트워크ID와 호스트ID를 얻는 방법의 예시입니다.

네트워크 ID가 19비트이기 때문에 딱 19비트의 해당하는 만큼만 네트워크ID에 할당하고 나머지 비트들은 호스트ID에 할당합니다. 그러면 네트워크ID는 192.168.128.0이 되고 호스트ID는 0.0.28.97이 됩니다.

이렇게 만들어진 각각의 ID를 더해주게 되면 전체 IP주소가 됩니다.


사설 주소 공간과 로컬 호스트

RFC 1918에서는 10.0.0.0/8, 172.16.0.0/12. 192.168.0.0/16 대역의 사설 주소 공간에 관해 설명한다. 대학교, 기업, 정부기관 및 일반 가정집 네트워크에서 로컬 네트워크 구성을 위해 해당 서브넷을 사용할 수 있다.

또한, 각 호스트에는 로컬 서브넷을 지정된 127.0.0.0/8 서브넷 대역이 존재한다.
이 서브넷의 주소는 호스트의 로컬 주소이며 흔히 localhost라고 합니다. 컴퓨터가 네트워크에 연결되어 있지 않더라도 127.0.0.0/8 서브넷 대역, 대개 127.0.0.1은 사용할 수 있습니다.


0개의 댓글