❗️ 아래 내용은 생활코딩 사이트에서 웹서버 강의를 정리한 내용입니다.
Internet Protocal address
인터넷에 연결이 되려면 두개의 컴퓨터와 두개의 주소가 필요하다.
위 사진에서 13.124.77.38에서 59.6.66.238에 보낸 요청을 받고 다시 반대 쪽으로 응답을 보내는 것이 이른바 통신이다.
보내는 과정에서 어떠한 과정을 거치고 다시 그 역순의 과정을 거쳐 응답을 하는 것은 특별한 규칙을 따르는데 이것을 프로토콜이라고 부른다.
인터넷 프로토콜은 인터넷으로 통신하는데 필요한 규칙이며 IP주소는 컴퓨터 한대당 주어지는 주소이다.
그런데 현재 이러한 주소는 IPv4
버전을 따르기 때문에 총 감당 가능한 주소의 숫자는 42억개이다. 현재에는 이주소의 갯수가 부족하게 된다. 따라서 주소를 더 늘리기 위한 주소체계를 확장시켰는데 이것이 IPv6
이다. 그렇지만 현재는 IPv4
주소를 사용하고 있기 때문에 이를 아껴 쓰기 위해서 나온것이 Router
라는 개념이다.
위 그림에서 가운데 공유기의 모습이 보인다. 왼쪽으로 WAN
선이 보이는데 이는 거대한 연결망인 인터넷에 연결되는 주소를 가르킨다. 즉, 인터넷에서는 공유기의 public IP Address(공용 IP 주소)
로 접근해서 통신한다.
공유기의 오른쪽 부분은 다양한 기기들이 공유기에 연결되어 있는데 선으로 연결된 것도 잇고 무선으로 연결된 것도 있다. 이러한 것들은 모두 공유기에 연결되어 주소를 갖고 있어 하나의 네트워크를 구축하고 있는데 이것을 지역연결망 (Local Area Network)
라고 한다. LAN
에 연결되어 있는 구성원들은 각각의 주소를 갖고 있는데 이것을 private IP address(사설 IP 주소)
라고한다.
그중에서도 공유기(Router)
의 주소는 굉장히 중요한데 이주소를 Gateway address
, Router address
라고 부른다.
이렇게 인터넷에서 공유기의 public IP address
로 접속해서 Gateway address
를 통해 LAN
으로 데이터를 전송하고 그 반대의 과정으로도 통신한다.
이러한 주소들은 아무렇게나 붙인 것이 아니라 그림의 좌측 상단에 보면 표에 나와 있는대로 사설 IP주소들을 붙여서 네트워크를 개인적으로 만든다면 위의 IP주소를 사용할 것이라고 약속해 놓았다.
따라서 각 가정에서는 가장작은 단위인 192.168.0.1 ~ 부터 쓰는 주소를 사용한다.
위 그림에서 192.168.0.4 LAN안에 있는 사설 IP를 부여 받은 사용자가 데이터를 공유기에 요청했다. 공유기에서는 NAT
라는 과정안에 있는 어떠한 과정을 거쳐 이 요청을 192.168.0.4 라는 사용자가 쏜 요청이라는 정보를 공유기안에 기록한다. 이렇게 기록을 완료한 공유기는 이 요청의 주소를 public IP address인 59.6.66.238로 바꾼다음 WAN으로 데이터를 전송한다.
위 과정을 마치고 다시 WAN에서 요청에 대한 응답이 실린 데이터가 도착했다. 이데이터는 공유기에 도착해서 NAT
의 과정에 있는 기록속에서 이데이터가 어떤 사설 IP를 가진 사용자의 요청인지 알아낸다. 이후 해당 사용자에게 응답이 실린 데이터를 전송한다.
이렇게 WAN과 LAN은 직접적이 소통이 불가하기에 네트워크주소를 변환시켜 주는 과정을 NAT
라고 한다.