웹의 이해

컴퓨터가 서로 통신을 하기위해서는 아이피 주소가 필요하다.
초기에 만들어진 IPv4 는 42억여개의 컴퓨터를 연결할수 있었다. 하지만 이후 인터넷의 발달로 인터넷에 연결되는 숫자가 늘어나 새로운 인터넷 통신 규칙인 ipv6 를 도입하게 되었고 훨씬 많은 양의 컴퓨터 연결이 가능해졌다.
하지만 기존의 주소를 바꾸는 것은 쉽지않기 때문에 기존의 주소체계인 IPv4 를 쓰고있으며 이를 아껴쓰기위해 여러명이 아이피 주소를 나누어 쓸 수 있는 공유기를 사용한다.

또한 공유기에 연결된 컴퓨터의 서버를 설치 운영하기 위해서는

Network Address Translation
public VS private IP address
Port Forwarding
Dynamic VS Static IP address
Dynamic DNS
와 같은 개념들을 알아야한다.
위의 방식들을 통해 공유기에 연결된 컴퓨터를 웹서버로 연결하는 방법을 알아보도록 하자. 위의 방식들로 클라이언트로 사용되던 컴퓨터를 서버로 사용할 수 있게된다.

공유기의 원리

아이피 주소란 무엇인가 ?
타 컴퓨터가 서로 통신을 하기위해서는 정보를 주고 받아야하고 상대방을 식별해야 하므로 서로의 아이피 주소가 필요하다.
통신사를 통해 회선을 받아 쓸때 우리의 기기에는 아이피가 부여가된다.만약에 사용하는 기기가 늘어났다면 새로운 기기 또한 아이피 주소를 가지고 있어야한다. 이때 회선을 그때 마다 추가하면 되지만 이 방식은 비용이 많이 든다. 따라서 회선을 하나만 계약 , 공유기로 함께 사용하는 방법을 사용한다.

공유기의 뒷면에는 wan 혹은 lan 이라고 적혀있는 부분이 있다. 각각 무엇을 의미하는지 알아보자.

wan (wide area network) : 케이블은 여기에 꽂는다. 이곳을 통해 컴퓨터가 인터넷이라는 광역 네트워크에 연결된다.

lan (local area network): 컴퓨터의 케이블을 여기에 꽂으면 통신사에서 받은 아이피 주소가 공유기의 것이 된다.
사람들이 내 주소로 접속하면 컴퓨터에 접속하는 것이 아닌 공유기에 접속하는것이되고,(각각의 기기들은 랜에 연결 무선기기는 안테나를 이용) 무선기기 유선기기 모두 한 네트워크에 연결된다.

정리하자면, 공유기는 wan ,lan 이 두 네트워크 사이의 중계자, 교환원 역할을 하는것이다.

public VS private IP address

연결되는 순간에 기기들은 아이피를 부여받으며 공유기에도 아이피가 부여된다. 공유기에 부여된 내부 네트워크 안에서의 아이디는 라우트 어드레스등의 이름을 가지고 있다.
이 주소는 전세계의 누구나 이곳에 접속할수 있도록 해주는 아이피 어드레스로 , Public IP adress(공용 아이피 주소)라고 한다. 반면에 기기들에 연결된 아이피들은 지역네트워크 안에서만 쓰는Private IP address ( 사설 아이피 주소)라고 부른다

사설 아이피로 쓸수 있도록 전세계에서 합의를 본 아이피들의 주소 범위가 제한되어 있고 거기에 수용할수 있는 숫자들이 정해져있다. 어느 정도 크기의 네트워크를 쓰느냐에 따라 가질수 있는 아이피 주소가 다르다 .

NAT

"사설 ip 주소를 공인 ip 주소로 바꾸어주는에 사용하는 통신망의 주소 변환기"

내 컴퓨터의 아이피 주소가 192.168.0.4 이고 위키피디아에 들어가려 할때 공유기에 요청 신호를 보낸다. 위키피디아은 내부 네트워크에 없기 때문에 웹을 통해 내부로 요청을 전달해야한다.
이 과정에서 두가지를 수행하게 되는데,
1. 위의 192.168.0.4아이피의 컴퓨터 요청이라는 것을 공유기 안에 기록한다.
2. 요청한 컴퓨터는 위의 아이피 주소를 쓰는데 이는 외부에서는 쓰지 못하는 주소이다.
따라서 NAT 로 요청한 정보를 변경한다 . 즉, public IP adress 인 -임의 아이피 59.6.66.238-로 변경한 이후 변경된 데이터를 위키피디아에 전달하는 것이다!

위키피디아가 정보를 받고 응답을 59.6.66.238 에 준다 . 그리고 공유기는 응답받은 정보를 보고 기록을 확인한 후에 다시 요청한 컴퓨터로 전달한다.

그렇다면 이 컴퓨터를 이와같이 클라이언트로 사용한것 이 아니라 서버로 사용한다면 같은 네트워크에 있지않은 사용자가 머신에 접속할 수 있는걸까 ? (이는 다른 글에서 설명 )

port forwarding

컴퓨터 네트워크에서 패킷이 라우터나 방화벽과 같은 네트워크 게이트웨이를 가로지르는 동안 하나의 IP 주소와 포트 번호 결합의 통신요청을 다른 곳으로 넘겨주는 것 ,NAT의 응용

port 가 말 그대로 항구이며 각 배는 자신의 번호에 해당하는 포트에 정박한다고 생각해보자.
하나의 컴퓨터에는 여러개의 서버가 있을 수 있다.
수많은 서버들이 있는데 특정 컴퓨터의 서버들을 어떻게 식별할 수 있을까? 바로 컴퓨터에 우리가 어떤 서버와 소통할것인지 알려주변 된다.이때 우리가 알려주는 것을 포트번호라고 부른다.
0-1023 까지는 우리가 쓸수 없는 이미 예약된 포트 번호이며 (well known port 라고 불림) 이 포트를 열기위해서는 관리자 권한이 필요하다. 우리가 컴퓨터에 웹서버를 설치하면 기본적으로 80번에 연결되도록 설정되어있다.
만약 서버를 하나 더 사용하고 싶다면, 다른 포트를 사용하면 된다. 8080 가 관습적으로 사용되는 포트번호이며 1024부터 65535 까지 선택할 수 있다.

우리가 누구와 상호작용을 할 때에는 url 을 사용하며 여기에 포트넘버가 명시되어있다.

url 형식 예시 > http ://opentutor.org:8080/main?id=HTML&page=12

  1. http : 프로토콜 - 통신규칙, 사용자가 서버에 접속할때의 방식
  2. opentutor.org : 도메인 이름 (호스트), 특정 인터넷에 접속된 컴퓨터 주소
  3. 8080: 포트넘버, 한 컴퓨터의 여러개 서버 중 3000번 포트에 연결되어있는 서버에 클라이언트가 접속하게됨
  4. main : path, 어떤 디렉토리의 무슨 파일인지
    id=HTML&page=12 : query string , 클라이언트가 보려는 정보, html 이고 12페이지
        

dynamic vs static IP

인터넷 통신사 (ISP)
아이피주소를 입력하면 해당 아이피에 해당 컴퓨터를 찾아가도록요청
하지만 집집마다 아이피 주소를 가진다면 아이피가 부족해지는 문제가 생기기 때문에 유동 아이피를 부여한다.
우리가 우리의 아이피 주소를 안쓸때는 isp가 우리의 주소를 회수하고 다른 이에게 이를 부여한다.이후 우리가 아이피주소를 다시 써야할때 다른 아이피를 가지게되며 이를 다이나믹 아이피 주소라고한다. 즉 아이피 부소를 돌려막으며 거대한 가입자들에게 아이피를 제공하는 것이다.
단점으로는 서버a의 기존 아이피로 접속하려는 클라이언트가 전혀 다른 서버 b로 접속하게 된다는 문제가 있다.

반면에 , 우리 컴의 아이피 고정시킴 통신사에 비용을 더 지불 후 독접 사용하는 것을 스태틱 아이피라고 한다.

동적 호스트 구성 프로토콜 (Dynamic Host Configuration Protocol, DHCP)

TCP 또는 IP 통신을 실행하기 위해서 필요한 설정 정보를 자동적으로 할당 , 관리하기 위한 통신 규약

자신의 다이나믹 어드레스를 바꾸는 법도 있는데 이를 동적호스트 구성 프로토콜이라고한다. 우리가 컴퓨터를 공유기에 연결해야 할때 우리의 컴퓨터의 아이피 주소를 지정해야한다. 이미 LAN을 사용하는 기기들이 예를들어 192.168.0.2 / 192.168.0.3 을 사용하고 있다면, 나는 이와 동일한것은 쓸 수 없다. 제어판에서 직접 다른 아이피를 설정 할 수 있지만, 자동으로 지정하기 위해서는 DHCP 를 사용하면 된다.

DHCP 서버라고 하는 프로그램을 라우터는 이미 내장하고 있다. 또한 우리가 사용하는 통신 부품들(컴퓨터 등)은 제조될때 부터 기록된 고유한 식별자(phisical address, 물리적인 주소) 를 지니고있다.

예 ) 우리 컴퓨터의 식별자가 8c로 시작하고, 라우터가 88로시작하는 경우

이 상태에서 컴퓨터를 공유기에 연결하면 그 순간에 나의 DHCP 클라이언트가 물리적인 주소를 알려주며 서버를 찾는다.
이후 서버는 내가 ~~번호의 디에이치 클라이언트이며, 다른 아이피 주소를 임대해 줄수 있다고 한다. (다른 기기들이 사용하고 있는 아이피 주소를 제외한 ) 내 기기가 쓴다고 응답 한다면 라우터 안에 8c 로 시작하는아이피는 192.168.0.4 라는 아이피를 임대 해 준다.
따라서 내 기기는 위의 아이피를 가지게 된다.

이러한 과정을 통해 내 컴을 연결하는 순간에 아이피를 받고 다른 기능들을 쓸 수 있게된다

정리한다면,
각각의 컴퓨터들은 DHCP가 제한된 시간동안 임대해주는 주소인 다이나믹 아이피 주소를 가지게 되며 직접 누군가에게 아이피주소를 줄 수도 있다.
라우터의 아이피도 통신사와 계약할때 다이나믹 아이피이다. 통신사도 장비에 거대한 DHCP 서버를 이용해 아이피를 우리에게 할당해주는것으로 볼 수 있다.

좋은 웹페이지 즐겨찾기