인터넷을 사용하기 위해 컴퓨터는 IP 주소를 가져야한다.
그래야 컴퓨터가 서로 통신을 하는데, 여러 기기를 한번에 IP주소와 연결하게 하는것이 공유기이다.
공유기에는 WAN, LAN 선이 있는데 인터넷 회사에서 받은 케이블 선을 WAN과 연결하게 되면,
IP 주소를 부여받게 된다.
LAN - 각각의 기기와 연결하는 포트이며, 이는 지역 네트워크 local Area Network의 약자이다.
WAN - 공유기는 인터넷이라는 광역 네트워크에 소속되어 있고 Wide Area Network 이다.
이렇게 공유기는 WAN과 LAN 사이에 있는 중개자 역할을 하는 교환원 같은 기계, Router 이라 부른다.
노트북으로 위키피디아를 검색한다고 가정해보자. 이렇게 되면 요청하게 되는 노트북의 사설 IP 주소를 공유기에 기록을 하게 된다. 그래야 이후 요청한 응답을 전달해 줄 수 있으니까.
그러나 해당 주소는 외부에서 접속하지 못하는 주소이다. 그러면 공유기에 Network Address Translation이라는 기술이 해당 요청을 한 데이터를 공인IP 주소로 변경한 뒤 위키피디아 서버에 보내는것이다.
서버에서 응답이 오게 되면 기록한 사설 IP주소로 보내게 되는것이다.
내 노트북에서 어떻게 웹서버를 운영할 수 있을까?
이를 위해 필요한것이 Port Forwarding 기술이다. 이전에 알아두어야 하는 개념이 Port이다
하나의 컴퓨터에도 여러서버를 갖게되는데, 게임,채팅 서버등이 있다.
이를 구분하게 하는것이 바로 Port번호이다.
포트 번호는 65,535개가 있으며 이중에 1023번까지의 포트는 예약된 포트라고 하여 Well-known 포트라 부른다.이 번호는 마음대로 사용할 수 없다.
예를 들어, http라는 웹의 포트 번호는 80번 이다.웹서버를 깔게 되면 기본적으로 80번 포트에 연결되도록 약속되어 있다.
추가적으로 포트가 필요하다면, 8080 등이 사용되는 것입니다.
결국 하나의 컴퓨터 안에 서로 다른 서버가 설치되어 있고 포트 번호에 따라 컴퓨터가 다른 서버를 제공하게 되어주는 것이다.
나의 웹서버로 접속하도록 하기 위해서는 공인 IP주소로 들어와서 나의 사설 IP 주소로 연결하게 하면 된다. 이를 가능하게 하는것이 포트 번호이다.
59.6.66.238:8081 ➡ 192.168.0.4:80
59.6.66.238:8080 ➡ 192.168.0.3:80
이렇게 포트 번호 별로 각각 다른 컴퓨터로 연결하게 되는것이다.
Router가 안내자 역할을 하는것이다. 이러한 역할을 하게 하기 위해서는 Router의 설정을 바꿔주면 된다.
부족한 IP를 위한 개념 Dynamic Ip (유동아이피)
내가 오랫동안 IP주소를 사용하지 않는다면, 통신사 (Ineternet Service Provider) 주소를 회수하여 다른집에 주는것이다. 내가 다시 돌아오면 다른 IP 주소를 받는다.
이렇게 주소가 바뀌는것을 Dynamic IP Adress이다.
이러한 상황에서 이전에 내가 사용했던 웹서버의 주소는 달라지지 않았을테고 그러면 외부에서 이전과 동일한 주소로 접속을 하게 되면 엉뚱한 주소로 접속을 하게 되는 상황이 발생하게 된다.
이러한 문제가 발생하는 것을 해결하기 위해서는 통신사에 금액을 지불하면 Static IP Address. 즉,고정된 IP 주소를 발급받을 수 있게 됩니다.
내 컴퓨터에 랜선을 연결하거나 와이파이를 잡게되면, 그 순간 각자의 기기에는 동적으로 IP주소,DNS(도메인),서브넷, 게이트 주소와 같은 복잡한 정보들이 자동으로 세팅된다.
이를 가능하게 하기 위해서는 DHCP 서버가 필요하다.
공유기에는 DHCP 서버라는 기능이 내장되어 있고 각각의 기기에는 DHCP 클라이언트라고 하는 프로그램도 기본적으로 설치되어 있다.
그리고 우리가 사용하는 기계는 공장에서 부여한 고유한 식별자가 있으며, 이를 Media Access Control Address 혹은 Physical Address라 부른다.