---
Category : netwhat
Id : 2
Title : "netwhat : IP"
Description : "IP에 대한 내용을 알아보자"
Date : 2020, 10, 24 (Sat)
Auther : seolim
pre : 1
next : 3
tags : netwhat
---
# 2 netwhat : IP
> Link
[link not yet]()
> Caution
본 문서를 포함한 블로그의 모든 내용은 <b>42 innovation academy</b>의 과제의 작성자의 해석 및 풀이 등으로 이루어져 있습니다.</br>본인이 42 교육생이거나 42 교육을 희망하는 분이라면 글을 먼저 보기보다는 고민해보고 읽어보기를 추천드립니다.
> 목적
1. IP 주소가 무엇인지 알게끔 한다.
2. Netmask가 무언인지 알게끔 한다.
3. subnet이 무엇인지 알게끔 한다.
> IP 주소(IP Address)란?
<span style="color:#777777; font-weight:bold; background-color:#eeeeee; padding:5px">"컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신을 하기위해서 사용하는 특수한 번호"</span>[\<위키디피아\>](https://ko.wikipedia.org/wiki/IP_%EC%A3%BC%EC%86%8C)</br></br>IP 주소는 말 그대로 컴퓨터의 주소로 interface에 물리적으로 기록되어 기기(랜카드 등)를 바꾸지 않는한 변경이 어렵다. IPv4, IPv6라는 2개의 체계로 존재하는데 IPv4의 부족때문에 IPv6가 등장하였다.
### Octat
모든 IP address는 8bit를 하나의 수로 처리하여 계산하는 방식을 사용한다. 이러한 방식을 옥텟(octat)이라고 한다.</br>옥텟은 8bit 이진수이므로 나타낼 수 있는 범위는 0~255이며 현재의 byte와 동일하다.(과거에는 byte가 항상 8bit가 아니어서 옥텟의 개념이 필요했다)
### IPv4
IPv4는 4개의 옥텟(32bit)으로 이루어져 있으며, 표기는 한 옥텟 당 십진수하나로 표기하고 각 십진수는 '**.**' 으로 구별한다. 따라서 범위는 0.0.0.0 ~ 255.255.255.255이다.
#### IPv6
IPv6는 총 16개의 옥텟(128it)으로 이루어져 있으며, 2옥텟을 하나의 16진수로 표기하고 각 16진수는 '**:**'로 구별한다. 따라서 범위는<div style="text-align:center;">0000\:0000\:0000\:0000\:0000\:0000\:0000\:0000 ~ FFFF\:FFFF\:FFFF\:FFFF\:FFFF\:FFFF\:FFFF\:FFFF</div></br> 이다. 실제 표기시에는 0000은 생략하여 표기한다.
> Netmask 란?
주소에서 도 아래에서 시군구를 찾듯이, IP주소도 Network주소 아래에서 Host를 찾는다. 즉 어떠한 Network내에 Host마다 주소를 하나씩 부여받아서 한개의 IP 주소를 이루는 것이다.</br></br>IP 주소의 총 32bit중 앞 부분의 일부가 Network주소이고 나머지 뒷부분이 Host주소이다. 이 네트워크 주소가 차지하고 있는 범위를 알려주는 것이 Netmask이다. Netmask가 가르키고 있는 부분이 Network 주소이다.
##### TODO : 이미지 삽입
위 그림과 같이 확인할 수 있다. 네트워크 주소를 제외한 부분이 Host가 할당받을 수 있는 범위 이므로 위 예제에서 가능한 Host의 범위는 2^8 = 256개(127.0.0.0 ~ 127.0.0.255)이다. 다만 실제로는 첫번째 IP는 (127.0.0.0)로컬호스트 이고 가장 큰 IP (127.0.0.255)는 브로드캐스트(후술)이므로 실제 개수는 254개이다.
> Subnet mask 란?
Netmask가 조금 더 확장된 개념으로 동작자체는 동일하다. class 네트워킹(CIDR)이후 subnet mask만을 IP주소 체계에서 사용하고 있기 때문에 현대에선 둘의 구분이 없다.</br></br>Netmask와 마찬가지로 IP 주소 내에서 network 주소 부분을 가르키고 있으며 주소 뒤에 /(bit 수)로 표현한다.</br>예를 들어 127.0.0.1/24는 24bit가 네트워크 주소라는 의미이고 따라서 127.0.0.XXX 가 네트워크 주소이다.
### Broadcast
호스트의 모든 네트워크에 패킷을 보내는 통신으로 가장 큰 subnet ip에 해당 주소가 할당된다.
> 사설(private) IP와 공인(public) IP
### 사설 IP
내부(inner) 네트워크에서 컴퓨터간 통신을 위한 IP로 내부망이다. 대표적으로 공유기를 통한 망이며 범위가 정해져있다.
- 10.0.0.0 ~ 10.255.255.255
- 172.16.0.0 ~ 172.31.255.255
- 192.168.0.0 ~ 192.168.255.255
### 공인 IP
인터넷 상 통신을 위해 하나의 PC에 할당된 단 하나뿐인 IP. 나라에서 관리하며 한국은 '한국인터넷진흥원'에서 관리하고 있다.
> IP Class
위 사설 IP를 보면 3개의 범위로 나뉘어 있는데, 이는 IP주소체계가 기본적으로 3개의 class로 구별되어 있기 때문이다.</br></br>대규모 네트워크 주소를 분할 관리하기 위한 시스템으로 옥텟의 첫번째 bit로 Class를 구별할 수 있다.
### A class
첫번째 bit가 0인 클래스. 예를 들어 0111.1010.1111.1111은 A 클래스이다.네트워크 비트수는 8bit이다. 따라서 범위는 0.0.0.0 ~ 127.0.0.0의 128개이다.
### B class
첫번째 bit가 1인 클래스. 예를 들어 1011.1111.1111.1111은 B 클래스 이다. 네트워크 비트수는 16bit이다. 따라서 범위는 128.0.0.0 ~ 191.255.0.0의 16,384개이다.
### C class
첫번째 bit 나열이 11인 클래스. 에를 들어 1101.1111.1111.1111은 C 클래스이다. 네트워크 비트수는 24bit이다. 따라서 범위는 192.0.0.0 ~ 223.255.255.0의 2,097,152개 이다.
### D, E class
연구 목적의 클래스로 일상적으로 활용되지 않는다. 각각 최상위 비트는 111과 1111이다.</br></br></br>주의해야 할 점은 네트워크를 관리하는 시스템이지 host를 관리하는 시스템이 아니라는 점이다. 이후 subnet이 적용된 수 host마다 관리가 들어간다.