Home server

hazel's·2022년 3월 21일
0

web

목록 보기
2/10
post-thumbnail

🟣 Home server

전화기는 전화번호 필요.
인터넷 위에 있는 컴퓨터가 컴퓨가 연결되기 위해서는 ip가 필요.
ipv4라는 통신규칙을 만들었음.
이 규칙에서 사용하는 ip주소는 42억개 주소로 표현가능.

웹, 스마트폰, 클라우드 커퓨팅,lot(사물인터넷)같은 정보기술의 혁신이 속속 등장하면서 인터넷에 연결되는 컴퓨터가 기하 급수로 늘어남.
ip 부족.

해결점-새로운 주소체계 생성.앞으로 천년뒤까지 쓸수 있는 양을 만들었다.
하지만 주소를 바꾸는 것은 쉽지 않기 때문에 당분간은 ipv4를 아껴써야 한다.
그게 바로 공유기이다.

🟣 Router

-ip address(ip주소)
인터넷에 연결된 컴퓨터에서 서로의 ip주소를 알려줘서 요청한것을 주고 받을 수 있다.

🔹 wan(wide area network)

-광역 네트워크
통신사에서 받은 케이블
public IP address(공용아이피)

🔹 lan(local area network)

-지역 네트워크
컴퓨터에 꽂혀 있는 케이블을 연결하면 통신사로 부터 발급받은 ip주소는 바로 공유기의 것이다. 스마트폰은 안테나(와이파이)를 통해 연결.
private IP address(사설아이피)
전용 내선번호같이 이 지역 네트워크 안에서만 쓸수 있는 ip address

🔹 공유기(router)

일종의 중계자 같은 역할을 한다.

lan에 연결된 각각의 컴들은 ip를 부여 받는다. 안에 소속되어있는 기계들뿐만 아니라 공유기에도 아이피가 부여된다.
공유기 안에 주어진 ip는 중요(gateway address/route address)라고 한다.

🟣 Network Address Translation

이 기술 덕분에 사설 아이피를 쓰고 있는 이 각각의 컴퓨터들이 외부의 인터넷에 접속할 수 있게 된다.

우선 내가 구글에 검색을 하게 되면
1.gateway address에 해당되는 ip에 신호를 보낸다.
2.공유기가 받는다. 외부에 있는 요청이라면

  • 개인적으로 컴이 받은 사설 아이피에 요청이 있다라는 것을 기록
  • 요청한 컴퓨터가 Network Address Translation를 통해서 요청한 데이터를 변경한다. 예를 들어 192.168.0.4라는 사설 아이피를 59.6.66.238이라는 공용아이피로 변경한다. 변경된 데이터를 구글에서 그 정보를 받고 미디어는 그 정보에 대하여 작업을 처리한 다음 응답할 것이다.

응답받은 정보라는 것을 받으면 요청했던거라는 것을 파악한 다음에 안에 기록되어 있다고 응답해주는것이다. 이과정을 통해서 사설 아이피 쓰는 컴이 밖에 퍼블릭 아이피에 해당되는 외부와 접속할 수 있다. 이때 사용되는 기술이 Network Address Translation이다.

✔️ 이컴퓨터를 홈서버로 이용하기 위해서 서버로 사용하는 경우에는 어떻게 처리해야지 외부에 있는 같은 네트워크를 사용하지 않는 사용자가 사용하는 컴에 접속할 수 있는가?

▪️(운영체제마다 다를수 있다)
mac os
환경설정-네트워크-와이파이클릭-고급-TCP/IP
가면 아이피와 라우터 볼 수 있다.

✔️ wan상에서 라우터의 아이피는 어떻게 되는가?
우리의 네트워크가 결과적으로 어떤 퍼블릭 ip address를 갖고 있는가 확인 하는 하는방법

▪️집에서 쓰는 아이피를 인터넷상에 열어보면 외부 아이피 주소와 내부 아이피 주소를 알수 있다. 내부 아이피 상에 쓰는 컴들은 모두 같은 퍼블릭 아이피(외부 아이피)아래에 있다.

✔️ 지금까지는 내부아이피를 클라이언트로 이용되는 것 말고 서버로 쓰고 싶다면 어떻게 해야하는가? 즉 바깥에 있는 불특정한 사람이 접속을 해서 집에 있는 컴에 도달하기 위해서는 어떻게 해야하는가?

▪️지금상태로는 할수 없다. 퍼블릭 아이피로 접속을 해봤자 내부 아이피 주소중 어떤것이 원하고 있는 줄 모르기 때문이다.

접속이 들어왔을때 이중에 누가 서버로서 응답할것인가 라는 것을 이 공유기가 연결해 줄수 있도록 하는 방법

🟣 Port Forwarding(포트 포워딩)이란 기술을 사용해야한다.

🔹 Port-항구

배들은 각자 자신의 번호가 있고 그 항구에 정박해 있다.
컴에는 웹서버가 여러개가 서버가 있을 수있다.(미디어서버, 게임서버, 채팅서버 등)

✔️ 어떻게 식별할까?
▪️포트번호를 이용한다.

예) 6만 5천개 정도가 있다면 거기서 80번이 http다.
웹은 http라고 하는 프로토콜을 이용하고 있는 통신시스템이다.
80번은 웹이 쓰도록 정해져 있는 것이다.
0번~1023번 까지의 포트는 well-known port라고 해서 예약된 포트라고 해서 마음대로 쓰면 안된다.
컴퓨터에 웹서버를 깔면 그 웹서버는 기본적으로 80번 포트에 연결되도록 약속되어있다.
▪️리스닝 표현- 서버는 듣고 있다가 요청이 들어오면 답하기 때문에 리스닝이라 말한다.

경우에 따라 서버를 두대 더 깔고 싶은데 이미 80번 포트를 쓰고 있다면 다른포트를 쓰면 된다. 8000 8080 이런포트에 웹서버에 관습적으로 설치된다.

✔️ 웹서버가 깔려있는 상황에서 누구와 상호작용할 것인지 알수 있을까?
▪️url에 비밀이 있다.
http://~~ 를 사용하면 80포트에 접속이 된다.
8080에 연결하고 싶다면
http://~~:8080이렇게 접속하면 된다.

🔹 Port Forwarding

내부 아이피에 접속하고 싶은 사용자들에서 내부 아이피를 알려주는게 아니라 외부 아이피를 알려줘서 그 아이피를 이용하여 내부아이피에 접속하게 하면 된다.

이때 포트라는 것을 이용한다. 공유기에 포트 포워딩을 설정한다. 공유기에 외부아이피로 :8081 로 접속이 들어오면 이 내부의 내부아이피1:80번 포트로 보내버리는 것이다. 만약 외부아이피 :8080번으로 접속이 들어오면 내부아이피2:80번 포트로 보내준다.

이와 같이 라우터(공유기)가 일종의 안내자 역할을 하는 것이다.
안내자 역할을 하기 위해서는 라우터의 설정을 바꿔주면 된다.아까 웹에서 iptime들어 가서 고급설정-nat/라우터 관리-포트포워드 설정에 가서 설정하면 된다.

🟣 Dynamic VS Static IP Address

🔹Dynamic IP Address(유동아이피)

인류가 부족한 ip를 좀 더 효율적으로 사용하기 위해서 도입한 여러방법중 하나.

집이 있고 우리가 인터넷을 쓰기 위해서는 통신사(=isp=internet service provider)가 필요하다. isp와 계약을 맺어 케이블을 꽂으면 컴에 ip address가 생긴다. 컴에 웹서버 같은 서버를 깔고 누군가에게 아이피주소를 알려주면 이를 웹브라우저에 입력하고 엔터를 치면, 이 ip에 요청이 들어온다.

이렇게 집집마다 ip address를 주면 많이 부족하다. 이럴때 유동아이피를 사용한다. ip가 계속 바뀌는 것이다(계속 돌려막기 하는 것이다). 안쓰는 사람에게서 회수해서 쓰는 사람에게 빌려주고 이렇게 돌려막기 하면서 거대한 가입자들에게 아이피를 제공할 수 있다는 것이다.

웹서버가 있다면 옛날에 아이피를 사용했던 주소로 접속을 하게 된다. 그러면 이미 난 변경되어있어서 다른 사람에게 접속될 수 있다는 문제점이 있다. 이것이 단점이다.

🔹Static IP Address

컴에 아이피를 고정시키는 것이다. 통신사에 값을 더 지불하면 아이피를 독점적으로 사용할 수 있다.

🟣 DynamicHostConfigurationProtocol(DHCP)

자신의 아이피 주소를 변경하는 법->얼마나 까다로우며->어떻게 자동으로 설정되는지? 알아보자.

내부 아이피 주소를 식별자는 같은 범위안에서는 중복되서는 않된다.
아이피를 수동으로 지정하는 법

윈도우
수동->제어판-네트워크&인터넷-공유센터-커넥션-속성-tcp/ipversion4 속성이 자동으로 되어있을텐데 거기에 수동으로 입력하고 서브넷 마스크? 디폴트 게이트웨이(내부 컴주소)
(어렵다! 그래서 자동으로 한다.)

동적으로 모든것이 세팅된다. 그렇게 하기 위해서는 DHCP server가 필요하다.
공유기는 DHCP server 프로그램을 내장하고 있고 동시에 인터넷을 사용하는 기계는 DHCP client 프로그램이 기본적으로 내장되어 있다. 통신 부품마다 고유한 식별자를 가지고 있다(랩탑의 통신 식별자가 8c로 시작될수 있다)
이를 물리적인 주소라고 해서 physical address라고도 한다.

client가 아이피 주소 필요하면 서버가 받으면 응답을 해준다.라우터 안에 8c로 시작하는 통신장치는 ip 주소를 빌려갔다라고 기록이 된다.
이렇세 하면 자동적으로 세팅이 된다.

유투브나 스마트폰 같은 경우 정말 빠른 속도로 그 접속하는 공유기를 바꿔가면서 통신이 이루어지기 때문에 DHCP같은 기술이 없었다면 모바일 혁명은 늦었을 것이다. 복잡한 지식을 모르고도 쉽게 이용할 수 있다.

🟣 Network Attached Storage (NAS)

네트워크를 통해서 사용하는 저장장치
예)Dropbox,Google Drive, Web hard
데이터의 저장 백업 등과 같은 것을 쉽게 해주는 기능이 있는 솔루션 사용.

지금까지는 아이피를 이용해서 서버에 접근하는 방법을 사용했다면!
도메인을 통해서 사용자가 서버에 접속하게 한다면 도메인은 고정시키고 ip를 변경함으로써 좀 더 유연하게 서버를 운영할 수 있다.

🟣https

s- secure의 s
http보다 훨씬 더 안전하게 정보를 서버와 클라이언트가 주고 받을수 있도록 할 수 있다.
단순한 정보를 공유하는 것이 아니라 사용자의 정보를 저장하고 유출되어 서는 위험한 정보를 담고 있다면 반드시 https를 이용하는 것이 좋다.
(참고-let's encript)

[참고: 생활코딩 web2-home server]

profile
좋아하는 것을 하나하나 채워가면 행복해질꺼야

0개의 댓글