IP 주소란?
- Network Layer에서는 다른 네트워크 대역에 데이터를 전달하는 일을 담당하게 됨
- 이 때 WAN에서 데이터를 주고 받기 위한 주소가 필요하고, 이를 IP주소라고 함
IP주소의 구조
- 8비트 주소 4개를 10진수로 나타내며, 각각을 옥텟(octet)으로 부르고, 옥텟 사이는 온점으로 구분함
- 네트워크를 구분해주는 network part와 네트워크 내부의 각각의 단말인 호스트를 구분해주는 host part로 구분함
Classful IP
- 과거에 네트워크와 호스트 영역을 구분하던 방법
- 각각의 바이트 단위를 기준으로 ip주소 내에서 network part와 host part를 구분지음
- D클래스는 멀티캐스트용으로 사용하는 ip대역이고 E클래스는 연구 목적등으로 남겨진 주소
- ip주소의 낭비가 심하여 현재는 사용되지 않음
가령 1000개의 ip주소를 할당하기 위해서는 B클래스 ip대역을 사용해야하는데, 사용하지 않는 64000여개의 ip주소는 버려지게 됨
Classless IP
- 서브넷 마스크를 사용하여 네트워크와 호스트 영역을 유연하게 구분하는 IP할당 방법
- 서브넷 마스크는 IP주소와 같은 형식을 가지지만, 1이 계속되다가 어느순간 0이 지속되는 형식을 가짐
ex)
11111111.11111111.11111111.10000000(255.255.255.128,o)
11111111.11111111.11111110.10000000(255.255.254.128, x)
- 서브넷 마스크에서 1로 된 부분이 network part를 이루게 되고 0으로 된 부분이 host part가 됨
example)
내부에 ip주소가 1000개가 필요할 때 2^9 < 1000 < 2^10임으로 서브넷 마스크는 11111111.11111111.11111100.00000000 = 255.255.252.0이 됨, 낭비되는 주소는 24개로 클래스를 활용했을때보다 ip주소의 낭비가 적음
- 서브네팅시 네트워크 IP와 브로드캐스트 주소는 사용가능한 IP 범위에서 제외해야함에 주의
네트워크 IP: 해당 네트워크를 대표하는 IP로 해당 네트워크 대역에서 가장 작은 IP주소
브로드캐스트 주소: 해당 네트워크 대역에 시스템이 외부와 통신하기 위한 주소로 네트워크 대역에서 가장 큰 IP주소
공인 IP와 사설 IP
- IPv4 주소에서 할당가능한 이론적인 최대값은 약 43억개
- IPv4 주소의 부족문제로 인해 사설 IP를 활용하기 시작함
1. 공인 IP (Public IP Adress)
- 네트워크를 사용한 통신시에 실제로 사용되는 IP주소
- 외부 네트워크 상에서는 사설IP는 보이지 않고, 공인IP만 확인 가능
2. 사설 IP (Private IP Adress)
* 네트워크 내부 통신에서 사용하는 IP주소
- 통신할 때 NAT Table에 해당하는 사설 IP를 기록하고 외부 네트워크에서 응답이 올 때 해당하는 기록을 보고 해당하는 사설 IP로 데이터를 전달함
- 외부에서 사설IP를 통해 내부와 통신하고자 할 때는 포트포워딩을 사용해야 함
특수한 IP주소
- 0.0.0.0: wildcard, 모든 IP주소를 의미하거나 라우팅 테이블의 기본값 등으로 사용됨
- 127.0.0.1: loopback, 자기 자신을 가르키는 IP주소
출처:
https://www.youtube.com/watch?v=s5kIGnaNFvM&list=PL0d8NnikouEWcF1jJueLdjRIC4HsUlULi&index=6
https://velog.io/@given53/CS-Network-IP
https://inpa.tistory.com/entry/WEB-%F0%9F%8C%90-00000-%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80