- 3계층에서 쓰는 주소 체계
👉 2계층의 경우 MAC 주소를 사용한다.
👉 대표적인 3가지가 있다.
- ARP 프로토콜
- IPv4 프로토콜
- ICMP 프로토콜
⚡ 1 byte = 8bit(이진수 8개)이다.
- 만약, 컴퓨터가 적은 곳에 A Class 네트워크 대역을 사용할 경우 나머지 주소를 사용하고 싶으면 해당 네트워크 대역에 꽂아 사용해야 했다.(예를 들어, 100.0.0.1~ 100.0.0.31 을 사용했을 경우 끝자리 1~ 31만 사용하면 나머지 주소는 남는 것이 된다.) 이처럼, 클래스에 딱 맞게 쓰니까 IP 주소가 보급되고 나서 낭비되는 주소들이 매우 많다는 문제가 생겼다.
- 이러한 문제를 해결하기 위해 등장한 것이 'Classless IP 주소'이다.
👉 Classless IP 주소는 낭비를 줄이기 위해 IP 주소의 필드들 중 원하는곳 어디서든 잘라서 컴퓨터를 구분하는 데 쓸 수 있도록 만든 것이다. 이를 보조하기 위해 '서브넷 마스크'가 나왔다.(즉, IP 주소는 서브넷 마스크를 이용해 네트워크 대역을 구분하게 되는데 Classful IP 주소는 자연스레 Classless IP 주소에 포함되게 된다.)
- 클래스풀한 네트워크 대역을 나눠주는 데 사용하는 값
- 2진수로 표기했을 때 1로 시작하며 1과 1 사이에는 0이 올 수 없다는 규칙을 가지고 있다.
👉 즉, 0이 한 번 나오면 그 뒤는 전부 다 0이 되어야 한다.
👉 따라서, 1이 나오다가 0이 나오기 시작하면 1까지가 네트워크 대역을 구분하기 위해 사용하는 것이다.
- 서브넷 마스크를 이용해도 낭비되는 부분이 있어 IP 주소가 부족한 경우가 생기기 시작했으며 이 때문에 IPv6(16byte이기 때문에 표현할 수 있는 숫자가 훨씬 많아짐)로 넘어가자는 이야기가 나오게 됨
- 이러한 문제를 해결하기 위해 사설 IP와 공인 IP 개념 등장!
👉 실제로는 Classless IP와 같이 쓰고 있음- 사설 IP를 사용하면 공인 IP + 사설 IP(0.0.0.0~255.255.255.255) 형태가 되어 IP 부족 현상이 많이 해결된다.(즉, 추가 IP가 생기는 것)
1. 공인 IP : 인터넷
2. 사설 IP : 같은 네트워크 대역에서 공유하는 IP
사설 IP를 사용하고 있는 장비들은 네트워크 통신을 할 때 무조건 공인 IP로 바꾸어 외부와 통신함
👉 즉, 우리 네트워크 대역에 속하지 않은 다른 네트워크 대역으로 갈 때(예를 들면 네이버) 공인 IP 하나로 바꾸어 가게 됨
👉 이 때문에 같은 네트워크 대역에 있는 장비들에서 '내 IP 주소'를 치면 전부 같은 IP 주소를 받게 됨(실제 장비들의 IP 주소와는 다르게 나온다.) 즉, 네이버에서 공유기로 할당된 사설 IP 대역을 볼 때는 IP 주소가 하나이다.
👉 '내 컴퓨터'에서 확인한 것은 '사설IP 주소'이고 네이버에서 검색한 내 IP 주소는 '공인 IP 주소'이다.
👉 만약 네이버가 웹툰을 보내주면 어떤 기기인 지는 공인 IP를 받아온 '공유기'가 찾아준다. 다시 말해 내가 '웹툰'을 보고 싶다고 하면 공유기한테 요청을 전달하게 되고 네이버로부터 공유기가 데이터를 받아와 내 기기로 전달해 주게 되는 것
네트워크 주소를 '사설 IP'에서 '공인 IP'로 바꾸어 주는 것을 NAT(Network Address Translation)라 한다
👉 사실 NAT는 공인 <-> 공인, 사설 <-> 사설 IP로 바꾸어 주기도 한다. 즉, 'IP주소를 바꾸어 주는' 기술인 것이다.
👉 NAT table에는 어떤 사설 IP가 공유기로 요청을 시도 했는지를 기록한다. 그런데 만약 외부로 나간 적이 없는데 공유기한테 무언가 요청을 보낸 것이 있다면 공유기가 받고 끝나며 외부로 내보내지 않는다. 즉, 외부 서버에 전달 되지 않는다.
만약 바깥에서 사설 IP를 보고 싶다면 '포트 포워딩'이라는 설정을 해주어야 한다.
우리가 집에서 인터넷 신청하는 것은 공인 IP를 신청하는 것이다.