[home server] Router~DHCP기본개념 및 동작 원리

EMMA·2022년 2월 24일
0

사실 라우터,ip,lan/wan 등의 개념들은 항상 공유기를 설치하거나, 스마트폰을 공유기 wifi에 연결할 때 이렇게 저렇게 들어보긴 했는데 명확히 정의할 수 없었던 것들이다. 그나마 올 초에 웹디자인기능사 필기 시험 공부하면서 ip,dns,lan/wan 등을 접한게 전부였다.

생활코딩 home server 강의 시리즈를 통해 Router(공유기), NAT, 동적 IP주소 등의 개념을 이해하고 동작 매커니즘을 배웠다.


1

라우터, router (공유기)는 한마디로 전화교환원과 같은 역할을 함
wan(wide aerial network) 에 연결되어 받는 public ip와,
lan(local aerial network)에 연결되어 받는 private ip (사설 ip) -> 노트북, 핸드폰 등 연결해서 사용할 수 있음
공유기 자체도 네트워크의 일부, gateway address router address (내부 ip) 를 부여 받음

현재 ipv4에서는 가용 ip주소를 모두 정리해서, private ip로 사용하게끔 정의해놨음 (여기에 속하지 않으면 public ip인 것)
현재 ipv6까지 나왔으며, 현존하는 ipv4를 최대한 아끼기 위해 라우터가 존재하는 것

이미지 출처: 생활코딩 , 기본 매커니즘을 볼 수 있는 이미지다

2

network address translation (NAT)
사설 ip를 쓰고 있는 각각의 컴퓨터들이 외부 네트워크에 접속할 수 있게 됨
lan > wan으로 넘어가기 전에 2가지 역할
1) 데이터를 요청한 private ip 정보를 라우터 내에 등록함
2) private ip를 public ip로 변경해주고, 이 변경한 정보를 외부에 보냄


3

public ip/공유기 내부 ip/private ip를 알 수 있는 방법
: 운영체제마다 방법이 다름 (윈도우랑 맥0s는 각 설정/네트워크에서, 리눅스에서는 터미널/콘솔을 통해 알아낼 수 있음)
: router ip주소를 웹브라우저에서 접속해서 들어가면, 라우터 환경설정을 할 수 있음


4

port forwarding
: 0~1012, well-known port (80-http 등 이미 약속되어 있는 포트 넘버)
: url에 host, port 넘버 등이 들어가 있음. 그래서 2개의 서버를 설치해도 웹 url에 따라 특정 포트를 통해 접속됨

예를 들어, http://example.com 라는 사이트가 있고 이에 접속하면, 자동적으로 80에 listening(=연결)됨. url에는 port넘버가 포함되고 이를 생략할 수 있는데, 위 주소에는 80이 생략되어 있는 것임
추가로 웹 서버를 설치하는 경우 관습적으로 8000, 8080 포트 등에 연결됨
그런데 만약 내가 웹서버를 또 깔아서 8080에 리스닝되어 있다면, http://example.com.8080이라고 써야 함

라우터가 안내자처럼, 특정 포트가 적힌 외부 ip를 특정 컴퓨터의 특정 포트로 포워딩할 수 있음 (외부의 8080포트는 -> 내부의 80포트로 포워딩해라)
router ip주소를 wb에서 쳐서 들어가면, 포트포워딩을 설정할 수 있음


5

dynamic ip address, static ip address
부족한 ip를 더 효율적으로 사용하기 위한 또 하나의 방법이 유동 ip주소 사용
집집마다 ip 주소를 주면, 턱없이 부족해지기 때문임

사용하지 않는 사람의 ip를 회수해서 사용하려는 사용자에게 배정해줌 (돌려막기)
-> 이 때 문제는, 이미 클라이언트에 내 기존 서버 ip주소를 알려줬는데, 이 주소가 바뀌면 잘못 안내될 수 있음

반대 개념이 static ip address
통신사에게 요청해서 ip를 독점적으로 요청할 수 있음 (비용을 더 내야 함)
동적 ip 주소의 단점은 보완됨


6

dynamic host configuration protocol, DHCP
공유기(라우터)는 DHCP server를 내장하고 있음
그리고 인터넷을 사용하는 기계들은 DHCP Client 가 내장되어 있음

1) DHCP Client가 ip주소가 필요하다고 DHCP server에 요청
2) DHCP server가 xxx.xxx.x.x 주소를 사용할 수 있다고 알려줌 (라우터 안에 private ip주소가 다 기록되어 있기 때문에)
3) client는 해당 주소를 사용하겠다고 응답
4) 라우터는 이를 기록 + 임대시간은 xx시간 이라고 알려줌

이런 매커니즘으로 각 컴퓨터의 ip주소 등의 정보가 셋팅이 되는 것

이미지 출처: 생활코딩




출처: 생활코딩 WEB2 - Home server

profile
예비 개발자의 기술 블로그 | explore, explore and explore

0개의 댓글