🔎 들어가가기 전에
얼마전 공유기를 새로 연결하며 엄청 고생을 했던 경험이 있었다. 단순하게 랜선을 공유기의 WAN에 연결하는 방식이 아닌, 인터넷 TV 수신기를 함께 연결해야 됐기에 연결이 쉽지 않았다.
지금은 공유기를 문제없이 사용하고 있지만, 당시 공유기를 설치하며 접했던 개념과 단어들 그리고 공유기 환경에서 인터넷은 어떤 원리로 연결되는지 등의 궁금증이 남아있었다. 생활코딩의 'WEB2-Home server'강의를 통해 공유기 사용환경과 관련된 궁금증을 어느정도 해소할 수 있었고, 공유기 사용환경에서 웹서버를 구동하는 방식에 대한 원리도 이해할 수 있었다. 강의를 보며 이해한 내용들을 정리하여 포스팅하고자 한다.
(본 포스팅은 공유기 사용 환경과 관련한 각 종 개념들에 대한 설명을 담고있습니다.)
1️⃣ 공유기(라우터) 사용 배경
- 인터넷의 대중화로 컴퓨터(호스트) 수가 기하급수적으로 증가 이로인한 할당가능한 IP주소의 부족
- IPv4 -> IPv6로 IP주소의 형식을 변경하여 IP주소 부족사태를 해결하려 했으나, 형식 변경의 어려움
- 공유기 사용을 통해 1개의 Public IP주소로 여러컴퓨터에 할당하여 사용이 가능 -> IP주소 부족사태 완화, 사용자의 통신요금 절약의 장점

2️⃣ 공유기(라우터)
- WAN(Wide Area Network)과 LAN(Local Area Network)사이에서 중계자 역할
- WAN / Public IP address: 외부에서 공유기로 접속된 IP를 의미한다.
- Private IP address: 공유기에 연결된 컴퓨터(호스트)들의 내부네트워크 IP로서 부여되며, 해당 IP는 외부에서 직접적인 접속이 불가능하다.
3️⃣ NAT(Network Address Translation)
- 공유기의 기본 원리, private IP를 public IP로 변환하여 접속할 수 있게 도와주는 기술
- 내부네트워크에 속한 여러 개의 호스트가 하나의 public IP 주소를 사용하여 인터넷에 접속을 가능하게한다.
4️⃣ Port Forwarding
- 공유기 외부 즉, public IP(외부포트)로 접속된 네트워크를 내부의 컴퓨터로 접속할 수 있도록 하는 방법이다.
- 라우터로 들어온 포트번호에 따라 내부 네트워크에 있는 특정 호스트의 포트로 연결 요청을 공유기에 forwarding하는 것을 말한다.
5️⃣ Dynamic vs Static IP Address
- Dynamic IP Address: 유동IP. ISP(Internet server provider, SK 브로드밴드같은 인터넷 기업)에서 IP주소를 회수하여 다른 곳에 부여한다. 이로 인해 기존 IP를 쓰던 곳은 새로운 IP를 부여하게 된다. IP주소가 유동적이기 떄문에 같은 IP로 동일한 웹을 지속적으로 접속하는 것이 불가능하다.
- Static IP Address: 고정IP. 변경되어 새롭게 부여되지 않고 말그대로 고정적인 IP로, 비용을 추가 지불하여 사용가능하다.
6️⃣ DHCP(Dynamic Host Configuration Protocol)
- 인터넷에 연결되어 있는 각각의 호스트의 IP주소와 각종 TCP 프로토콜의 기본 설정을 클라이언트에게 자동으로 제공해주는 기능을 말한다.
- 공유기에는 DHCP 서버가 내장되어 있고, 인터넷을 사용하는 각 호스트에는 DHCP client프로그램이 내장되어 있다. DHCP서버와 DHCP client간에 자동으로 IP주소 요청 및 할당이 이루어진다.
참고자료
1. 생활코딩https://opentutorials.org/course/3265
2. https://jwprogramming.tistory.com/