DNS / Load Balancer

JBoB·2023년 2월 27일
0
post-thumbnail

🐧DNS 란?

  • 도메인 네임 시스템(Domain Name System, DNS) 은 호스트의 도메인네임을 네트워크 주소(192.168.1.0)로 변환 하거나 그 반대의 역할의 수행하는 시스템
  • 자주 접할 수 있는 www.naver.com , www.google.com, www.daum.net 등 모두 DNS를 가진 DN(Domain Name)이라고 할 수 있다.

사용자가 도메인을 입력하면 위와 같은 과정을 거치게 된다 .

🐤 DNS 동작 순서

[출처](https://inpa.tistory.com/entry/WEB-%F0%9F%8C%90-DNS-%EA%B0%9C%EB%85%90-%EB%8F%99%EC%9E%91-%EC%99%84%EB%B2%BD-%EC%9D%B4%ED%95%B4-%E2%98%85-%EC%95%8C%EA%B8%B0-%EC%89%BD%EA%B2%8C-%EC%A0%95%EB%A6%AC)

  1. 웹 브라우저에 주소를 입력하면 먼저 PC에 저장된 Local DNS 에게 IP주소 요청한다.

Local DNS???

: 인터넷을 사용하기 위해선 IP를 할당해주는 통신사(KT, SK, LG 등...)에 등록하게 된다.

컴퓨터의 LAN선을 통해 인터넷이 연결되면, 가입했던 각 통신사의 기지국 DNS 서버가 등록되게 된다.

그러니까 KT를 사용하는 집이면 KT DNS가 되고, SK통신사 사용하는 집이면 SK DNS가 자동으로 셋팅 된다.

  1. Local DNS 는 IP주소를 찾아내기 위해 다른 DNS 서버들과 통신을 시작한다.

Root DNS 서버에게 IP주소를 요청한다.

Root DNS???

: 인터넷의 도메인 네임 시스템의 루트 존!!!!!

ICANN이 직접 관리하는 절대 존엄 서버로, TLD DNS 서버 IP들을 저장해두고 안내하는 역할을 한다.

전세계에 961개의 루트 DNS가 운영되고 있다.

  1. Root DNS 서버가 찾을수 없어 Local 에게 주소를 찾을 수 없으니 다른 서버에게 물어봐라고 응답한다.

  2. com 도메인을 관리하는 TLD DNS 서버(최상위 도메인 서버) 에게 다시 IP주소를 요청한다.

  3. com 서버가 찾을수 없어 Local 에게 주소를 찾을 수 없으니 다른 서버에게 물어봐라고 응답한다.

  4. Local DNS 서버는 DNS 서버(Authoritative DNS 서버)에게 다시 "www.naver.com 의 IP 주소" 를 요청한다.

  5. naver.com DNS 서버 에는 "www.naver.com 의 IP 주소" 가 있다.그래서 Local DNS 서버에게 "www.naver.com에 대한 IP 주소는 222.122.195.6" 라는 응답을 한다.

  6. 이를 수신한 Local DNS는 www.naver.com 의 IP 주소를 캐싱을 하고 이후 다른 요청이 있을시 응답할 수 있도록 IP 주소 정보를 단말(PC)에 전달해 준다

💡 Local DNS 서버가 여러 DNS 서버에 차례대로 (Root DNS 서버 → TLD DNS 서버(.com) → Authoritative DNS 서버(naver.com) 요청하여 그 답을 찾는 과정을 **재귀적 쿼리 Recursive Query**라고 부른다.

🐧DNS/load balancing

[출처](http://gigatera.co.kr/wp/dns%EB%A5%BC-%ED%99%9C%EC%9A%A9%ED%95%9C-%EB%A1%9C%EB%93%9C%EB%B0%B8%EB%9F%B0%EC%8B%B1load-balancing/)

  • 2대 이상의 서버를 운용하여 트래픽을 몰릴경우를 대비해 분산시켜주는 경우, 이런 기술들을 로드밸런싱이라고 한다.
  • 로드밸런싱을 위한 대부분의 응용 프로그램은 다수의 서버를 가지고 한가지 종류의 인터넷 서비스를 지원하는 방식이다. 보통 트래픽이 많은 웹 사이트, IRC 네트워크, FTP 사이트, NNTP 서버, 그리고 DNS 서버에 적용이 되고 있다.
  • 인터넷 서비스를 위해서는 소프트웨어를 이용한 로드밸런싱이 적용되며, 이 소프트웨어는 중간에 위치해 실제 서비스하는 서버와 클라이언트를 포트를 이용해 중개하고 있다. 그러나 사용자들은 이를 알아차리지 못하며, 이를 투명성이라고 한다.
  • 또한, 보안이라는 측면에서 내부 네트워크 구조를 숨김으로서 크래킹을 막을 수 있다.
profile
간절하고 치열하게 살자

0개의 댓글