--- 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마다 관리가 들어간다.