웹 WEB

Lown Kim·2021년 6월 24일
0
post-thumbnail

1960년 인터넷의 등장 후 30년이 지난 1990년,
웹이 등장했다

인터넷은 여러개의 통신망을 하나로 연결한다는 의미의 인터 네트워크(inter-network)라는 말에서 시작된 단어이다. 인터넷은 수 많은 통신장치들이 연결되어 통신을 주고 받는 네트워크를 의미하고 은 그 속에 포함되어있는, 인터넷 사용자들이 서로 연결되어 정보를 공유할 수 있는 네트워크를 뜻한다.


웹 브라우저와 웹 서버

웹 브라우저와 웹 서버는 인터넷으로 연결되어있다.
웹 브라우저가 브라우저의 주소창에서 어떤 주소를 입력했을 때 웹서버로 그 신호가 가게되고, 웹 서버는 해당 주소를 열기 위해 필요한 파일을 웹 브라우저로 보내주게된다. 그렇게 받은 파일을 웹 브라우저가 읽어 내어 화면에 표시해줌으로써 우리가 웹페이지를 볼 수 있게 되는것이다. 이것이 바로 웹이 동작하는 원리이다. 인터넷상에서 웹 브라우저는 정보를 요청하고 웹 서버는 그에 대해 응답하게된다. 우리는 정보를 요청하는 컴퓨터를 클라이언트라고 하고, 정보를 제공하는 컴퓨터를 서버라고 부른다.
웹 서버를 운영하는 컴퓨터는 항상 켜져있어야한다. 인터넷이 연결되어있는 컴퓨터를 호스트라고하는데, 웹서버를 운영하기위한 호스트를 빌려주는 회사들을 웹 호스팅 업체라고 한다. 실제로 시장에는 수많은 웹 호스팅 업체들이 있다.


공유기 Router

인터넷으로 통신하기 위해서는 컴퓨터가 IP주소를 가지고 있어야한다. 정보를 주고 받기 위해 두 대의 컴퓨터가 있다면 그 두 컴퓨터 모두 IP 주소를 필요로한다.
통상적으로 우리는 공유기(Router)라는 기계를 이용해 공유기에 연결되는 컴퓨터들 각각(ex. 스마트폰, 랩탑, 데스크탑 등)에 IP주소를 부여받는다. 이렇게 하나의 공유기에 각각 연결되어 공유되고있는 네트워크를 지역 네트워크(Local Area Network)라고 한다. 그리고 이 지역 네트워크는 인터넷이라고하는 광역 네트워크(Wide Area Network)에 포함되어있다.
공유기 또한 네트워크에 소속되었기때문에 IP주소를 부여받는데, WAN과 LAN 각각 다른 주소를 받는다. 공유기의 LAN IP주소는 Gateway Address또는 Router Address라고 하고, WAN IP주소는 누구나 접속이 가능하다는 의미에서 Public IP Address라고 부른다. 또한 공유기에 연결된 각각의 컴퓨터들이 받는 IP주소는 Private Address라 부른다.


NAT(Network Address Translation)

공유기에 연결된 컴퓨터가 인터넷을 통해 모종의 사이트에 접속한다고 치자!
컴퓨터는 먼저 Gateway Address에 해당하는 IP주소를 가진 공유기에 신호를 보낸다. 그러나 해당 사이트는 내부 네트워크의 어딘가에서 가지고 있는 것이 아니기때문에 공유기는 WAN을 통해 외부로 요청을 넘겨야한다. 컴퓨터(with IP주소)가 요청을 한 것이라는 기록을 남기고, 컴퓨터의 Private IP Address를 Public IP Address로 바꾸고 나서 WAN과 연결된 외부로 요청을 넘긴다. 요청을 잘 전달받은 사이트에서는 데이터를 Public IP Address에게 준다. 그 때 공유기는 데이터를 요청한 것이 컴퓨터라는 기록을 다시금 잘 파악한 후 최종적으로 컴퓨터에게 데이터를 전달해주는것이다. 이렇게 Private IP Address가 Public IP Address로 변환되어 외부로 접속할 수 있게 해 주는 기술을 NAT(Network Address Translation)라고한다.



Port Forwarding

공유기 외부에서 들어온 포트 번호가 무엇이냐에 따라 내부 네트워크의 특정 컴퓨터속 특정 포트로 연결해주는것을 포트포워딩이라고한다. 한마디로 공유기가 길을 안내해주는 역할을 하는것이다!



DHCP(Dynamic Host Configuaration Protocol)

DHCP란 인터넷에 연결되어있는 호스트들의 서버 주소와 IP주소, Gateway Address등의 기본 설정을 클라이언트(컴퓨터)에게 자동으로 일정한 기간동안 부여해주는 동적 주소할당 프로토콜이다.


Domain Name System

휴대폰 속 전화번호부에 등록된 이름을 사용해 어떤 번호로 전화를 걸 수 있는것처럼 컴퓨터에서도 호스트의 IP주소에 특정 이름을 부여하여 접속할 수 있다. 컴퓨터 내 hosts라는 파일을 찾아 내용을 수정하면 가능하다! 물론 이렇게 타인에게 호스트파일을 변조당함으로써 보안상 문제가 생기기도하지만..ㄱ-;;



도메인을 통해서 IP에 접속하는 원리

A라는 컴퓨터가 있다. 이 A컴퓨터는 B컴퓨터가 자신의 IP주소로 접속할때 직접 IP주소를 입력하는 것이 아닌 'good.com'이라는 이름을 통해 접속하길 원한다. 그래서 Domain Name System Server라는 곳에 연락해 "good.com이라는 이름이 제 IP주소를 가리키도록 해주세요!"라고 요청한다. DNS Server는 그 요청을 듣고 good.com이라는 이름이 A컴퓨터의 IP주소를 의미한다는 정보를 잘 저장해놓는다.

B컴퓨터가 인터넷에 연결 된 찰나, B컴퓨터에는 DHCP에 의해 DNS Server의 IP주소가 자동으로 셋팅되게된다. 그리고 B컴퓨터가 good.com이라는 주소로 접속을 시도하게되면 우선 자신의 디바이스 속 hosts파일을 살펴보게되고, 그 속에 해당하는 내용이 없다는 판단 하에 DNS Server에게 good.com이 어떤 아이피를 가리키는것인지 묻는다.

그렇게 최종적으로 DNS Server는 자기가 저장해놓은 'good.com은 A컴퓨터의 IP주소를 가리킨다'라는 정보를 B컴퓨터에게 제공하고, A컴퓨터와 B컴퓨터는 통신할 수 있게된다. 이것이 컴퓨터가 도메인을 통해 IP에 접속하는 원리인것이다.


DNS record와 CNAME

DNS서버에 저장하는 도메인 이름 한 건을 두고 DNS record라고 한다.
DNS record는 수십가지 타입을 가지고있고 타입마다 각기 다른 기능을 수행한다. A타입 레코드와 CNAME(씨네임)도 그 여러가지 타입중 하나이다. A타입 레코드는 어떤 도메인에 대해 IP주소를 직접 연결시키는 역할을 하고, CNAME타입 레코드는 도메인에대한 또 다른 도메인을 지정하는 일을 한다. 한 마디로 어떤 도메인에 연결되는 별명을 지어주는것이라고 이해할 수 있다.

0개의 댓글