ipv4
8비트 4구간 총 32비트
32비트를 8비트로 나누는 단위
마침표로 구분된 각 숫자 그룹이 옥텟이다.
옥텟 범위는 10진수로 0~255이다.
IP는 네트워크 주소와 호스트 주소로 구성
네트워크 주소 or 네트워크 ID는 네트워크에 할당된 번호
호스트 주소는 해당 네트워크 내 호스트에 할당된 번호
네트워크는 인터넷 상 네트워크를 구분하는 역할
호스트는 특정 네트워크 안에 존재하는 기기를 구분하는 역할
라우터는 네트워크 주소만을 판별한다.
호스트 주소는 라우터에게 중요하지 않는 정보이다.
네트워크 주소로 해당 라우터에 들어가면 그 네트워크 안에 여러 장치가 연결되어 있다.
네트워크 내에 장치들을 구분하기위해 존재하는 주소가 호스트 주소이다.
즉, 네트워크 주소로 네트워크를 찾아가고 호스트 주소로 네트워크 내에 특정 장치에 접근한다.
네트워크 주소와 호스트 주소를 구별하는 방법은 서브넷 마스크를 이용한다.
서브넷 마스크
네트워크 클래스로 나누기에는 낭비되는 양이 많다.
적잘한 단위로 네트워크를 분할하자.
서브넷이란 하나의 네트워크가 분할되어 나눠진 작은 네트워크이다.
네트워크를 분할하는 것을 서브네팅이라고 한다.
서브네팅은 서브넷 마스크로 수행한다.
즉, 네트워크 클래스로 나뉘어진 네트워크를 운영 중인 서비스 규모에 맞게 분할하는 기술이다.
이진수로 표현하면 이해하기 쉽다.
IP 주소에서 어느 부분이 네트워크 부분인지 알려주는 방법은
서브넷 마스크 1과 일치하는 IP 주소의 모든 숫자를 지운다.
이러면 IP 주소 처음 3개 옥텟이 네트워크고 나머지가 호스트인 것을 알 수 있다.
네트워크와 호스트를 나누는 이유는 관리 용이성 때문이다.
큰 네트워크를 작은 네트워크로 쪼개는 것을 서브네팅이라고 한다.
예를 들어서 서브네팅이 없이 큰 네트워크 안에서 여러 컴퓨터들이 있다고 생각해보자.
A 컴퓨터에서 B 컴퓨터로 통신을 하고 싶다.
A 컴퓨터는 B 컴퓨터 위치를 알고 도달하기 위해서 브로드캐스팅 한다.
브로드캐스팅이란 네트워크 안에 있는 모든 컴퓨터에 데이터를 보내는 것이다.
B 컴퓨터 위치를 알기 위해서 모든 컴퓨터에 B 컴퓨터 어딨어? 라며 사자후를 외치며 광역 어그로를 끈다.
마치 한 아파트에서 1408호 어딨냐고 모든 세대를 돌아다니는 꼴
모든 컴퓨터는 브로드캐스팅을 받고 응답을 한다.
근데 이게 한 컴퓨터가 아니라 모든 컴퓨터가 이 짓을 동시에 한다면 혼돈의 도가니.
그래서 네트워크를 쪼개야 한다.
아파트에서 동, 호수, 라인, 층을 나누듯이.
그래야 관리하기 편하고 정확하게 간다.
라우터가 이래서 있는 것이다.
라우터마다 네트워크 주소를 배정받고 한 네트워크 안에서만 브로드캐스팅한다.
이런 서브넷 마스크가 있다면
1개 네트워크 주소에 254개 호스트 주소를 사용할 수 있다는 것을 의미한다.
2개를 빼는 이유는 0은 네트워크 대표 IP가 써야하고 255는 브로드캐스팅 IP라서 못 쓰니 쓸 수 있는 호스트 갯수는 254개이다.
브로드캐스트 주소 정의를 사전에서 찾아보니 다중 액세스 통신 네트워크에 연결된 모든 장치로 전송하는데 사용하는 네트워크 주소라고 나와있다.
브로드캐스트 주소로 전송한 메시지는 네트워크에 연결된 모든 호스트에서 수신할 수 있다.
하지만 나는 이 네트워크에서 쉽게 관리하기 위해서 더 쪼개고 싶다.
이 서브넷 마스크 의미
아이피 주소에서 서브넷 마스크를 적용하면
호스트 주소는 128~255의 부분
쓸 수 있는 호스트 갯수가 256개에서 128개가 되었다.
호스트를 반으로 쪼갠다는 의미
쓸 수 있는 네트워크 주소는 2개
쓸 수 있는 호스트 주소는 126개
2개를 뺀 이유는 첫 번째 아이피는 네트워크를 의미하는 아이피
마지감 아이피는 브로드 캐스팅 주소로 써야 하니까
호스트 주소 64개 또 반으로 쪼갰다.
네트워크 주소는 4개로 늘어났다.
4개 네트워크 주소에 62개 호스트 주소
뒤 옥텟에서 하나 씩 늘어날 때마다
8개 네트워크에 30개 호스트 주소
16개 네트워크에 14개 호스트 주소
32개 네트워크에 6개 호스트 주소
64개 네트워크에 2개 호스트 주소
패턴을 갖는다.
이렇게 쪼개서 아이피 범위를 정할 수 있다.
CIDR (Classless Inter-Domain Routing(salsh notation))
192.168.1.0/24
이렇게 있으면 뒤에 /24가 CIDR이다.
의미는 서브넷 마스크 길이가 24비트를 의미한다.
이것은 192.168.1.0/25 가 된다.
이건 192.168.1.0/26
네트워크 클래스
아이피 주소를 클래스로 구별하여 관리한다.
ABCDE 단계로 나뉘어져 있다.
예를들어 78.0.0.3 이라는 IP가 있다면
첫 번째 옥텟의 숫자가 78이므로 0~127의 숫자이므로 A클래스 네트워크
앞 쪽 8비트로 네트워크를 구분하여 찾아간다.
ipv6를 안 쓰는 이유??
ipv4는 지금까지 역사가 길어서 보안대책이 잘 되어 있지만 ipv6는 인프라가 약한 상황이다.
보안대책이 부족해서 섣불리 전환할 수 없다.
127.0.0.1, localhost, 192.168.0.x 의미
1. loopback
2. 공인IP
3. 사설IP
1. loopback
호스트에 할당된 아이피
자기 자신을 가리키기 위한 목적으로 쓰기 위한 IP주소
2. 사설 IP
같은 대역 사설 IP를 할당받은 모든 기기에서 접속 가능
같은 대역 사설 IP에 안 붙으면(= 같은 와이파이에 붙어있지 않으면) 접속 불가능
3. 공인 IP
어디서나 접속 가능
인터넷 서비스 공급자(ISP)가 제공하는 주소
외부 공개
모두 공인 IP를 사용하지 않는 이유
IP 갯수가 부족하기 때문이다.
https://hyoje420.tistory.com/31
https://raisonde.tistory.com/entry/IP%EC%A3%BC%EC%86%8C-ABC%ED%81%B4%EB%9E%98%EC%8A%A4-%EB%B0%8F-%EC%84%9C%EB%B8%8C%EB%84%B7%EC%97%90-%EB%8C%80%ED%95%9C-%EC%9D%B4%ED%95%B4
127.0.0.1, localhost, 192.168.0.x 세가지 ip의 차이 - Fall in IT. (tistory.com)
How to make the Network Class Chart for dummies - TelecomWorld 101
외부에서 내 웹서버에 접속하기
https://kibbomi.tistory.com/219
서버 가상화
https://mangkyu.tistory.com/86
공인(Public) && 사설(Private) IP의 차이점 (velog.io)