Week4 - Web (2)
생활코딩 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에서 도메인 정보 확인
Author And Source
이 문제에 관하여(Week4 - Web (2)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@seoha23/Week4-Web-2저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)