ㅂㄱ
DNS(Domain Name System) 본문
원래 서버 컴퓨터에 접속을 하려면 그 컴퓨터의 ip 주소를 알아야 합니다. 그런데 이 주소를 기억하는 것은 쉽지 않은 일이죠. 그래서 고안된 것이 도메인 이름입니다. 전화번호를 몰라도 이름으로 친구에게 전화를 할 수 있는 것처럼, 도메인 이름을 컴퓨터에 부여하면 전세계인들이 개성있는 이름을 통해서 나의 컴퓨터에 접속할 수 있습니다.

IP주소와 hosts
도메인 이름을 살펴보기 전에 IP주소와 hosts의 개념을 먼저 살펴봅니다. hosts 파일을 이용하면 전화기의 전화번호부 기능처럼 ip주소에 대한 이름을 지정할 수 있습니다.

여기에는 클라이언트와 서버는 ip주소가 있습니다. 그리고 인터넷에 연결된 모든 컴퓨터는 host라고 합니다.클라이언트 호스트의 모든 운영체제 내에는 hosts라고 하는 파일이 있습니다. 거기에 가고 싶은 곳을 미리 적어 놓으면 클라이언트가 접속을 하면 hosts파일을 읽어서 접속을 하게 됩니다.
hosts 파일을 설정하는 방법
운영체제 별로 host파일의 위치가 다릅니다.

맨 아래 ip 도메인을 적어주면 됩니다.
도메인 이름과 보안
hosts 파일을 변조하는 해킹 사례를 통해서 네트워크 환경에서 일어날 수 있는 보안 사고의 사례를 살펴봅니다. https라는 기술의 중요성도 살펴봅니다.

악의적인 공격자가 hosts파일을 수정해서 자신이 원하는 사이트로 접속하도록 유도할수 있습니다.이런 공격을 fishing공격이라고 합니다.역시나 hosts파일을 잘 관리해야 합니다. 또한 의식적으로 사이트에 접속을 할때 https로 접속을 해야 합니다.
DNS의 태동
DNS가 등장하게 된 맥락에 대해서 살펴보는 옛날 이야기입니다.
DNS 이전
hosts라고 하는 파일을 통해서 ip주소부를 개인적으로 운영할수 있었습니다. 하지만 이 파일을 바꾸면 그 개인한테만 적용되는 것이지 다른 사람한테 적용되는 것이 아닙니다. 그렇게 나온것이 관점을 바꾸어서 ip와 도메인을 어떤 특정 기관에 등록을 하고 클라이언트는 그 기관의 hosts파일을 다운로드 받아서 사이트에 접속을 하는 방식이었습니다.
그렇지만 인터넷을 커짐에 따라서 이 방식에는 문제점이 있다는 것을 발견하게 됩니다.
1. hosts파일을 다운로드 받기 전까지는 새롭게 추가된 사이트의 도메인을 사용할수 없다는 단점이 있었습니다.
2. 특정 기관은 수작업으로 ip와 도메인을 관리했기 때문에 많은 시간과 비용이 들었습니다.
3. 하나의 hosts파일에 전세계의 사이트의 도메인이 담긴다면 사이즈가 커지고 인덱스 검색에 많은 시간이 들게 되었습니다.
그렇게 1983년

그렇게 domain name system이 나오게 되었습니다.
DNS의 원리


Public DNS의 사용
컴퓨터가 원하는 도메인 이름의 IP 주소를 알아낼 수 있는 이유는 컴퓨터에 연결된 local DNS 서버 덕분입니다. local DNS(위 DNS Server)는 통신사가 자동으로 설정을 해줍니다만, 여러가지 이유로 이것을 다른 서비스로 변경하는 것이 가능합니다. 여기서는 public DNS가 무엇이고, 어떻게 변경하는지를 알아봅니다.
클라이언트가 인터넷에 접속을 하는 순간에 isp가 컴퓨터에 도메인 네임 서버의 ip를 세팅하는 구조를 가지고 있습니다.그런데 이 dns 서버에 대한 신뢰가 없다거나 할때 이 dns server를 변경하고 싶을수가 있습니다.
Public DNS Server List
1.33.184.166 Japan Taito 2514 NTT PC Communications, Inc. — 2021-04-29 06:40:55 UTC valid 37 % Whois
public-dns.info
위에 다양한 public dns가 있습니다.


도메인 이름의 구조
DNS 내부구조, 메커니즘에 대해서 알아보자.

위의 DNS Server의 역할은 2가지가 있습니다.1. 서버로 사용하는 컴퓨터가 자신의 ip와 도메인을 제출해서 등록을 하는 역할2. 클라이언트로 사용하는 컴퓨터가 이름을 물어보면 알여주는 역할
그런데 dns서버는 하나만 있는게 아닙니다.


수 많은 dns서버가 있습니다.도메인 네임을 찍고 뒤에 . 을 찍어도 정상적으로 작동을 합니다. . 을 최상위에 있다고 해서 root 도메인그 아래 com, kr, 등이 top-level 도메인그 아래 example second-level 도메인그 아래 blog sub 도메인
도메인의 각각의 부분들은 각각 서버 컴퓨터가 존재합니다. 전담하는 파트가 다릅니다. 그리고 상위 도메인 예를 들어서 root도메인의 경우 하위 도메인 서버를 알고 있어야 합니다.
즉 상위가 하위를 알고 있어야 합니다. 하지만 root는 sub을 알지 못합니다. 즉 직속 하위 도메인만 알면 됩니다.만약에 내가 어떤 특정 사이트를 알고 싶다면 결국 sub 도메인을 전담하는 dns 서버가 ip 주소를 알고 있는 것입니다.
이러한 알아가는 과정이 필요한 것입니다.
root 네임 서버에게 물어보기 -> Top Level 가서 물어보기 -> Second-Level 가서 물어보기 -> sub domain 전담 name server에 가서 물어보기
'컴퓨터 공학 주요 과목 > 네트워크' 카테고리의 다른 글
VPN개념과 원리 (0) | 2021.05.11 |
---|---|
공중망과 사설망 (0) | 2021.05.11 |
점보 프레임(Jumbo Frame) (0) | 2021.04.29 |
네트워크 가속 (0) | 2021.04.29 |
터널링 기술 (0) | 2021.04.27 |