[널널한 개발자 TV] 네트워크 기초 이론: 4 - IPv4 주소 체계

securitykss·2023년 3월 3일

네트워크

목록 보기
4/19

이 글은 널널한 개발자 TV 님의 강의영상을 보고 작성한 글입니다.

1. IP 주소

Network에서 Host를 식별하기 위한 것이 IP 주소이다.

즉, IP는 Host에 대한 식별자이다.

IP는 Internet Protocol의 약자이다.

IP 주소는 두가지 버전이 있다.

IPv4, IPv6

이 둘의 차이점은, 주소 길이가 가장 큰 차이점이다.

1.1 IPv4 vs IPv6

IPv4 의 주소길이 : 32bit 주소 체계이다. -> 2^32 = 약 43억개(그 이하)

IPv6 의 주소길이 : 128 bit 주소 체계이다.


Internet에서 Host 개수는 43억개가 안된다.

컴퓨터는 43억개 이상일 것이다.

그렇다면 IP 주소가 모자르지 않을까?

하지만, 여러 기술 덕분에 Internet이 잘 돌아가는 것이다.


살짝 정리

Internet에서 Internet protocol은 IPv4를 제일 많이 쓴다.

IPv4 환경에서는 주소의 길이는 32bit이다.

1.2 IPv4, IPv6 생김새

IPv4 -> ex) 192.xxx.xxx.xxx

IPv6 -> ex) fe80::a341:abcd:xxxx:xxxx

1.3 IPv4 예시

예를들어, 192.168.20.15 이 있다고 가정하자.

이 "."을 기준으로 나뉜다.

각 자리 범위는 0~255로 나타내고, 이는 2^8 = 8bit이다.

각 자리는 8bit씩 나뉜다.

이것이 4개가 있으니 2^32이다.

IPv4는 8bit씩 끊어서 표시한다.

1.3.1 IP 주소의 192?

10진수로 192는,

2진수로 1100 0000 로 나타낸다.

16진수로는 c0 이다.

1.5 Network ID, Host ID

IPv4 주소는 Network ID와 Host ID로 나뉜다.

IP 주소 = Net ID + Host ID

Network ID 의 길이는 24bit

Host ID 의 길이는 8bit

2. Netmask

IP 주소에서 Net ID 의 길이를 나타내는 것이 바로 Netmask 이다.

2.1 예시

IP 주소: 192.168.20.15

Netmask : 255.255.255.0

NetworkID

255 => 0xFF => 1111 1111

192 => 0xC0 => 1100 1100

이 두개를 AND 비트 연산을 하자

1100 0000 => 그대로 192

168과 20의 결과도 그대로 나온다.

HostID

15 => 0x0F => 0000 1111

0 => 0x00 => 0000 0000

AND 연산을 하면,

0이 나온다.

나오는 결과는 192.168.20.0 이다.

이렇게 Network ID를 알게 되었고

Netmask 255.255.255.0 는 255, 즉 8bit 가 총 3개 있으므로

Network ID의 비트 수가 24bit가 되는 것이다.

이것을 표기할 때 192.168.20.15/24 로 나타낼 수 있다.

Host ID는 8bit이고, Network ID가 24bit 임을 알 수 있다.

Reference

https://www.youtube.com/@nullnull_not_eq_null (널널한 개발자님 URL)

https://www.youtube.com/watch?v=gOMljj6K2V0&list=PLXvgR_grOs1BFH-TuqFsfHqbh-gpMbFoy&index=4 (강의 영상)

profile
보안 공부를 하는 학생입니다.

0개의 댓글