TIL 17 - Home server

hojung choi·2021년 6월 24일
0

web

목록 보기
1/1
post-thumbnail

👉🏻 Router

시대가 변화하면서 컴퓨터 뿐만 아니라 노트북, 스마트폰 등 다양한 전자 기기들이 나오게 되었다. 이 많은 장치를 인터넷에 연결하기 위해서는 어떻게 해야할까?

첫 번째로 각 기기에 회선을 연결하는 방식이 있다. 하지만 이것은 각각의 회선 모두를 통신사와 계약을 해야하기 때문에 비용이 많이 들어 효율적이지 못한 방법이다. 그래서 나온 방법이 바로 공유기를 이용하는 것이다

통신사와 계약 후,
하나의 공유기를 산 다음에 공유기를 보면 구멍이 여러 개가 있는 것을 볼 수 있다. 여기서 구멍이 왼쪽에 혼자 떨어져있는 것이 WAN이고 오른쪽에 여러 개가있는 것이 LAN이다.

사용자가 케이블을 WAN에다 꽂으면 통신사로부터 발급받은 주소는 공유기의 것이 된다. 만약에 IP주소를 브라우저에 입력한다면 그 공유기에 접속할 수 있게 된다.

여러 개의 장치들은 LAN에다가 회선을 연결하고, 스마트폰과 같은 무선 장치들은 안테나를 통해서 무선으로 연결한다.

  • LAN(Local Area Network) : 기기들이 연결되어 있는 지역 네트워크 영역
  • WAN(Wide Area Network) : 광역 네트워크. 즉, 인터넷

  • public IP address : 전 세계에 있는 누구나 접속이 가능한 IP address
  • private IP address : 지역 네트워크 안에서만 사용이 가능한 IP address

IPv4는 전세계에서 사설 ip로 쓰기로 약속해놓은 영역이 있다.
위 그림 표에 나와있는 주소들이 지역 네트워크 안에서 사용하도록 지정해놓은 IP들이다.

내가 대규모 네트워크를 구축하고 싶으면 10.0.0.0~10.255.255.255 범위 안에서 IP를 정하면 되고, 소규모 네트워크를 구축하고 싶으면 192.168.0.0~192.168.255.255 주소 중에서 IP를 설정하면 된다.




👉🏻 NAT (Network Address Translation)

내부 네트워크에서 외부로 나가는 패킷들의 주소를 외부 네트워크 주소로 변환하고, 또한 그 패킷에 대한 응답 패킷의 목적의 주소를 다시 패킷이 발송된 내부 네트워크 주소로 변환하여 주는 기능이다.

  1. 내 컴퓨터가 인터넷으로 위키피디아에 접속하여 어떤 작업을 수행한다고 가정하자

  2. 내 컴퓨터는 Gateway address에 속하는 공유기의 IP에게 신호를 보낸다.

  3. 공유기는 이 IP가 지역 네트워크 안에 있는지 밖에 있는지 확인한다. 안에 있는 기기라면 바로 보내겠지만 밖에 있는 public IP라면 두 가지 일을 수행한다.

  • 보내진 private IP 주소를 공유기에 기록
  • 공유기가 NAT라는 기술을 이용해서 요청한 데이터를 변경한다. 즉, private IP 주소를 public IP 주소로 바꾸어준다.
  1. 위키피디아가 그 정보를 받고 작업을 완료한 뒤 응답을 공유기로 다시 응답을 보낸다.

  2. 공유기는 이 응답이 192.168.0.4가 보낸 요청에 대해 응답받은 정보라는 것을 확인한 뒤 내 컴퓨터로 정보를 보내준다.




👉🏻 port & port forwarding

✅ port

하나의 컴퓨터에는 여러개의 서버가 설치되어 있을 수 있다.
이 서버들을 어떻게 식별할까? 서버들 중에 어떤 서버랑 상호작용 할 것인지 알려줘야 하는데 그 때 포트번호가 필요하다.

  • 포트 번호는 0~65535 순서가 있다
  • 0~1023 : Well-known port(예약된 포트)
    마음대로 쓰면 안된다!
  • 80 : http
    웹서버를 깔면 웹 서버는 기본적으로 80번에 리스닝(연결)되도록 약속되어 있다.
  • 1023~ 65535 : 이 범위에 있는 포트는 마음대로 사용해도 된다!
    보통 웹서버를 관습적으로 8000 또는 8080 포트에 설치한다.

http://opentutorials.org 는 80포트로 연결시켜준다
http://opentutorials.org:8080 은 8080포트로 연결시켜준다


✅ port forwarding

지역 네트워크 안에 있는 내 컴퓨터에 웹 서버를 설치하고 사용자가 여기에 접속하려고 할 때 공인 IP 주소:설정한 포트를 입력하면 내부 IP 주소:설정한 포트로 변환하여 웹 페이지에 들어갈 수 있다. 이 기술을 포트 포워딩이라고 한다.

192.168.0.4에 웹 서버를 설치해 외부 사용자가 접속 한다면
1. 사용자에게 public IP를 알려준다.
2. IP 주소로 접속했을 때 192.168.0.4에 바로 접속하게 한다.

이 때, 필요한 것이 바로 포트 포워딩!

포트 포워딩 기술로 59.6.66.238:8081번 포트로 누가 들어온다면 그 사용자는 192.168.0.4:80로 보낼 수 있도록 설정 할 수 있다.
이러한 설정을 바꿔주려면 라우터의 설정을 바꿔주면 된다!




👉🏻 Dynamic & Static IP address

통신사(ISP)와 계약을 맺고, 아이피 주소를 할당 받아 다른 컴퓨터와 통신을 하게된다.
그러나 IP는 한정적이다.
집집마다 모두 고정적인 IP를 하나씩 할당받게 된다면 IP는 금방 부족해 질 것이다. 그래서 나오게 된 것이 Dynamic IP Address(유동IP) !

내가 만약에 일정 기간 집을 비운다면? 집에 없는 기간동안 인터넷을 사용하지 않을 것이다. 이 때, ISP가 부여한 IP를 회수해서 새로운 가입자나 인터넷을 사용하고 있는 다른 곳에 IP를 부여한다.
그리고 내가 다시 집에 돌아와 인터넷을 사용한다면 그 때 새로운 IP를 부여받게 된다. 한마디로 IP를 아껴쓰기 위해 계속하여 돌려쓰는 것이다.

한 가지 문제가 발생할 수 있는데, 바로 내 컴퓨터에 웹 서버와 같은 서버를 깔아놓은 경우이다. 내 IP가 계속하여 바뀐다면 다른 사용자가 내 과거의 IP 주소를 입력하여 엉뚱한 사람에게 접속할 수 있다.

그때 사용하는 IP가 Static IP Address (고정 IP)
IP를 독점적으로 사용하기 위해 통신사에 요금을 더 내고 IP를 받을 수 있다




profile
🧚🏻‍♀️ Front-End Developer

0개의 댓글