갱스터하우스

[백엔드 로드맵 공부] 1.인터넷(2) 본문

백엔드 로드맵

[백엔드 로드맵 공부] 1.인터넷(2)

승갱 2022. 4. 2. 16:45

순서

1. DNS와 그 작동원리

2. 도메인 이름이란?

3. 호스팅이란?

 

 

 

 

 

1.DNS와 그 작동원리

1) DNS

 도메인 네임 시스템(Domain Name System, DNS)는 사람이 읽을 수 있는 도메인 이름을 머신이 읽을 수 있는 IP주소로 변환한다.

(예) www.amazon.com (도메인 이름) 192.02.44 (IP주소)

  • IP주소 : 컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신을 하기 위해서 사용하는 특수한 번호

 

2) DNS 구성요소

(1) 도메인 네임 스페이스(Domain Name Space)

 도메인 네임 스페이스는 도메인의 이름을 트리 형태로 구성한 것이며 DNS가 관리하는 데이터베이스다. 최상위에 루트(root)가 존재하고 그 아래로 인터넷에 연결된 모든 호스트를 트리구조연속하여 계층적으로 나타낸다. 

  • 거대한 분산 네이밍 시스템
  • 계층적 구조

(2) 네임 서버(Name Server)

 도메인 이름을 IP주소로 변환하는 것 네임 서비스, 해석기(resolver)로부터 요청받은 도메인 이름에 대한 IP주소다시 해석기로 전달해주는 역할을 수행


(3) 리졸버(Resolver)

 DNS 클라이언트의 요청을 네임 서버 전달하고, 네임서버로부터 정보를 받아 클라이언트에게 제공하는 기능 수행

 

3) DNS 동작원리

DNS 동작 과정

(1) PC 브라우저에서 "www.naver.com"을 입력한다.  PC는 미리 설정되어 있는 Local DNS에게 "www.naver.com"에 대한 IP주소를 요청한다.

(2) Local DNS에는 "www.naver.com"의 IP주소가 있을 수도, 없을 수도 있다.

  • 있을 경우 : Local DNS는 PC에게 IP주소를 주고 끝!
  • 없을 경우 : (3)번 따라가세요~

(3) "www.naver.com"의 IP주소를 찾기 위해 Local DNS는 다른 DNS 서버들과 통신(DNS 메시지)을 시작한다.
Local DNS가 Root DNS에게 "www.naver.com"의 IP주소 요청한다.
※ 이때, 각 Local DNS서버에는 Root DNS 서버의 정보(IP 주소)가 미리 설정되어 있어야함.

<Root DNS 서버에 없는 경우>
(4) Root DNS서버는 "www.naver.com"의 IP주소를 찾을 수 없어 Local DNS 서버에게, 
"www.naver.com"의 IP주소는 찾을 수 없어. 다른 DNS 서버에게 물어봐 라고 응답 한다.
※ 여기서 다른 DNS 서버는 "com 도메인"을 관리하는 DNS 서버이다.

(5) Local DNS는 다시 com 도메인을 관리하는 DNS 서버에게 "www.naver.com"의 IP주소를 요청한다.

(6) com 도메인을 관리하는 DNS 서버는 해당 IP주소가 없어 Local DNS 서버에게,

"www.naver.com"의 IP주소는 찾을 수 없어. 다른 DNS 서버에게 물어봐 라고 응답한다.
※ 여기서 다른 DNS 서버는 "naver.com 도메인"을 관리하는 DNS 서버이다.

(7) 다시 Local DNS는 "naver.com 도메인" 관리 DNS 서버에게 "www. naver. com" 의 IP주소를 요청한다.

(8) 해당 IP주소가 있는 naver.com 도메인 관리 DNS 서버는 Local DNS 서버에게,

"www. naver. com"에 해당하는 IP주소 222.122.195.6을 응답한다.

(9) 이를 수신한 Local DNS는  "www. naver. com"에 대한 IP주소를 캐싱하고 그 IP주소 정보를 단말(PC)에 전달해 준다.

  • 캐싱하는 이유 : 이후에 다른 누군가 다시 "www. naver. com"의 IP주소를  요청하면 바로 응답해 주기 위하여

 

  • Recursive Query(재귀적 질의) : 위의 과정처럼  Local DNS 서버가 여러 DNS 서버를 차례대로 (Root DNS 서버 -> com DNS 서버 -> naver.com DNS 서버) 물어봐서 그 답을 찾는 과정이다.
  • Iterative Query(반복적 질의) :  Local DNS 서버가 다른 DNS 서버에게 쿼리는 보내 답을 요청하는 작업이다. 자신이 직접 관리하지 않는 질의 요청이 있을 경우 질의에 응답 가능한 NS 목록을 응답한다. 

 

 

 

 

 

2. 도메인 이름이란?

1) 도메인

 인터넷에 연결되어 있는 장치들은 각각의 장치를 식별할 수 있는 주소를 가지고 있는데, 이를 주소를 IP라고 한다.
이때, IP는 사람이 이해하고 기억하기 어렵기 때문에 이를 위해서 IP에 이름을 부여했고 이것을 도메인 이라고 한다. 
(예) 네이버에 접근하기 위해 네이버의 IP주소인 125.209.222.142을 외우는 것은 불편하다. 

 

2) 도메인 구조

 도메인은 호스트명(차상위 도메인/서브 도메인), 도메인명, 최상위 도메인명으로 이루어져있다.

도메인 구조

 

  • 1단계: 최상위 도메인(TLD, Top-Level Domain)
    도메인 레벨 중, 가장 높은 단계에 있는 도메인. 도메인의 목적, 종류, 국가를 나타낸다.
    (예) kr -국가 도메인(ccTLD, Country-Code TLD), com - 일반 도메인(gTLD, Generic TLD) 등등

 

  • 2단계 : 차상위 도메인(SLD, Second-Level Domain)
    호스트, 서브 도메인으로 불리기도 한다. 보조 도메인으로써, URL로 전송하거나 계정 내의 IP주소나 디렉토리로 포워딩되는 도메인 이름의 확장자이다.

 

  • 3단계 : 도메인 이름(Domain Name)
    임의로 지정할 수 있는 사이트 이름이다. 우리가 알고 있는 google, naver, daum 등 사용자에게 쉽게 기억될 수 있도록, 보통 서비스명으로 도메인명을 지정해 사용한다.

 

 

 

 

 

 

3. 호스팅이란?

1) 호스팅

호스팅 :  서버의 전체 혹은 일부를 이용할 수 있도록 임대해 주는 서비스 

 

 

2) 호스팅 종류

(1) 웹 호스팅

웹 호스팅

  • 여러 고객이 하나의 서버를 함께 사용하는 형태
  • 하나의 서버를 나누어 쓰기 때문에 저렴하게 이용 가능, 호스팅 업체의 통합관리 받기 편리함.
  • BUT 사용할 수 있는 하드웨어제한적

(2) 서버 호스팅

  • 고객이 단독 서버를 사용하는 형태
  • 넓은 하드웨어 공간 사용 가능, 서버 운영.관리에 대한 직접적이 권한 가질 수 있다. 빠른 데이터 전송속도
  • BUT 단독으로 서버를 이용하는 만큼 비용이 높은 편. 대기업이나 대형 포탈 혹은 대형 오픈마켓과 같이 많은 데이터 사용하는 기업들이 사용하기 좋다.

 

(3)클라우드 서버

  • 서버 호스팅을 가상화한 것, 가상 서버를 단독으로 사용할 수 있는 형태
  • 고객이 필요할때마다 서버 자원을 늘리거나 축소하여 유연하게 서버 이용가능
  • BUT 하나의 가상 서버에 문제가 생기면 연결된 다른 가상 서버에도 문제가 생길 수 있음.

 

호스팅 종류

 

호스팅 운영할 서비스 규모 및 관리 여건

 

 

 

 

 

<출처>
https://aws.amazon.com/ko/route53/what-is-dns/
https://ja-gamma.tistory.com/entry/DNS%EA%B0%9C%EB%85%90%EB%8F%99%EC%9E%91%EC%9B%90%EB%A6%AC
https://iwuooh.com/entry/DNSDomain-Name-System-%EB%8F%84%EB%A9%94%EC%9D%B8-%EB%84%A4%EC%9E%84-%EC%8B%9C%EC%8A%A4%ED%85%9C%EC%9D%98-%EA%B0%9C%EB%85%90%EA%B3%BC-%EA%B5%AC%EC%84%B1%EC%9A%94%EC%86%8C
https://hihighlinux.tistory.com/47

https://edu.goorm.io/learn/lecture/12973/%EC%83%9D%ED%99%9C%EC%BD%94%EB%94%A9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EA%B0%9C%EB%85%90-%EC%9E%A1%EA%B8%B0-%EB%8F%84%EB%A9%94%EC%9D%B8-%EB%84%A4%EC%9E%84%EC%84%9C%EB%B2%84-https/lesson/562717/%EB%8F%84%EB%A9%94%EC%9D%B8%EC%9D%B4%EB%9E%80
https://minemanemo.tistory.com/80
https://better-together.tistory.com/128
https://www.netmanias.com/ko/post/blog/5353/dns/dns-basic-operation
https://daengsik.tistory.com/17

https://ozhome.co.kr/hosting/about.html
https://blog.wishket.com/%ED%98%B8%EC%8A%A4%ED%8C%85%EC%9D%B4%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C-%EA%B7%B8%EB%A6%B0%ED%81%B4%EB%9D%BC%EC%9D%B4%EC%96%B8%ED%8A%B8/
https://velog.io/@dreamjh/%ED%98%B8%EC%8A%A4%ED%8C%85%EC%9D%B4%EB%9E%80