Week4 - Web (2)

김서하·2021년 5월 28일
0

Westudy

목록 보기
24/25
post-thumbnail

생활코딩 WEB2-Domain Name System

1. Domain Name System (DNS)

  • 각각의 컴퓨터는 host로써 IP주소를 가지고 있음
  • IP주소를 통해서 각각의 host는 네트워크에 연결되어 통신이 가능함
  • 네트워크가 커짐에 따라 사람들은 IP주소를 기억하기 어려워짐
  • 'DNS서버'를 통해 수많은 IP를 저장하고 관리가 용이해짐

2. IP주소 & hosts

  • host: 네트워크에 연결된 각각의 장치로써 IP주소를 가지고 있음
  • 각각의 host는 client가 될 수 있고, server가 될 수도 있음
  • client는 각 OS가 관리하는 hosts파일을 통해 "IP 도메인명" 쌍으로 IP와 도메인을 관리하고 있음 (전화번호부 역할)

3. 도메인 이름과 보안

  • 악의적으로 타인이 hosts파일을 조작하는 경우 본인도 모르게 일명 "피싱사이트"로 연결되어 정보 유출이 될 수 있음
  • hosts 파일은 보안에 취약
  • 최근 웹사이트는 https로 구현되어 보안을 좀 더 강화함 (secure)

4. DNS의 태동

  • DNS 이전에는 "Stanford Research Institute(이하 SRI)"라는 단체에서 전세계의 IP를 관리했음
  • 모든 client는 SRI에 접속해서 도메인-IP주소의 정보를 가져와 hosts 파일에 기록 후 목적지로 접속
  • 단점:
    1) SRI에 신규 추가, 수정되는 정보가 실시간으로 반영되지 못함
    2) hosts 파일에 모든 도메인-IP주소를 담는 것은 비효율적
    • 이에 대한 대안으로 1983년 Jon Postel, Paul Mockapetris이 DNS를 제안함

5. DNS의 원리

  • 모든 도메인-IP주소 정보를 DNS라는 서버에 관리시킴
  • client가 도메인 질의 시 해당 도메인의 IP를 반환해주는 방식
  • client는 자신의 hosts파일을 우선 확인하고, 도메인 정보가 없으면 DNS에 질의함
  • DNS 서버 정보는 인터넷 서비스 제공업체(ISP, Internet Service Provider, ex: KT, SKB,...)를 통해 기본적으로 각 통신사의 DNS 서버가 설정됨
    -> 더 알아보기: DHCP

6. Public DNS의 사용

  • 기본적으로 통신사가 제공하는 DNS 서버 외에 개인적인 판단 등의 사유로 Public DNS를 사용할 수 있음
  • OS의 네트워크 설정에서 DNS IP주소를 Public DNS IP로 설정하면 이용 가능
  • 최근엔 IPNIC에서 1.1.1.1 이라는 Public DNS 서버를 제공

7. 도메인 이름의 구조

  • DNS서버의 역할
    1) 서버로 사용되는 컴퓨터의 도메인-IP정보를 등록/관리
    2) 클라이언트로 사용되는 컴퓨터가 도메인 질의 시 IP정보를 반환
  • 도메인 구조
  • Root Name Server : 최상위 Name Server. Top-level Name Server 정보 전달
  • Top-level Domain Server : .com, .net 등의 도메인 관리
  • Second-level Domain Server : 도메인명을 관리
  • Sub Domain Server : 최종 도메인 정보 관리
    => 각각 Domain Server 에는 DNS 서버가 존재하며, 하위 레벨 Domain Server 정보만 안다

8. 도메인 이름 등록 과정과 원리

  • 등록대행자(Registrar, ex:freenom)는 등록자가 요청하는 도메인을 관리하고, 이를 등록소에 등록함
  • 클라이언트가 도메인에 접속요청 시, DNS서버는 Root Name Server에 해당 도메인을 질의하고 최종적으로 authoritative name server에서 도메인-IP주소 정보를 가져옴
  • DNS server는 캐시에 해당 정보를 일정 시간 저장해두고 추후 동일 도메인 요청 시 이를 재활용

9. nslookup

  • 특정 도메인의 IP주소 정보 등 확인 시 사용
  • 윈도우/리눅스 : nslookup
    리눅스 : dig
  • Server : pcns.bora.net <= DNS서버 정보
    +Non-authoritative answer <= 이 부분이 확인하고자 하는 도메인의 실제 IP주소
    (Non-authoritative란 의미는 authoritative name server 에서 조회한 값을 캐시에 저장한 값을 반환한 것이라는 의미)
  • 실제 name server에서 검색

                   type : name server 정보 확인

                   name server에서 도메인 정보 확인
profile
개발자 지망생 서하입니당

0개의 댓글