Jeomxon's Tech Note

2024.01.09.(화) 3회 차 모각코 정리 본문

Mogaco/2023동계

2024.01.09.(화) 3회 차 모각코 정리

저문(jeomxon) 2024. 1. 9. 18:19

1. DNS 서버의 기본 동작

DNS 서버는 클라이언트에서 조회 메시지를 받고 그에 응답하는 형식

조회 메시지에 포함된 3가지 정보

  1. 이름 (ex, www.lab.cyber.co.kr)
  2. 클래스 (ex. IN)
  3. 타입 (ex. A, MX, CNAME, PTR, NS, SOA, …)

리소스 레코드 구성

  • 타입이 MX인 경우

메일 타입이므로 데이터에 우선순위 + 메일 서버의 이름 을 담고있음 (10 mail.cyber.co.kr)

그럼 다시 메일서버의 이름에 해당되는 리소스 레코드를 찾아 클라이언트에 응답

흐름

  1. 클라이언트가 DNS 서버로 조회 메시지를 보냄
  2. 설정파일에 등록된 리소스 레코드에서 조회 메시지에 해당되는 내용을 찾음
  3. 이름에 대응하는 회답 항목 반송

2. 도메인의 계층

회사의 사업부, 부, 과와 같은 계층으로 이루어짐

.으로 계층을 구분함

www.lab.cyber.com

com사업부 cyber부 lab과의 www

여기서 각 부를 도메인이라고 함

서브 도메인

메인 회사 도메인이 example.com인 경우

sub1.example.com, sub2.example.com으로 서브 도메인 할당 가능

3. 담당 DNS 서버를 찾아 IP 주소를 가져온다

인터넷에는 수많은 DNS 서버가 있으므로 모든 것을 확인하면서 찾을 수 없음

하위의 도메인을 담당하는 DNS 서버의 IP 주소를 그 상위 DNS 서버에 등록을 반복

  1. lab.glasscom.com을 담당하는 DNS 서버를 glasscom.com의 DNS서버에 등록
  2. glasscom.com의 DNS 서버를 com의 DNS 서버에 등록

이를 통해 상위에서 하위를 알 수 있음

루트 도메인

com, kr 등이 최상위 도메인 같지만 그들을 갖고있는 최상위의 루트 도메인이 존재

www.lab.glasscom.com. 으로 마지막에 .을 통해서 나타내지만 보통은 생략

루트 도메인의 DNS 서버를 인터넷에 존재하는 DNS 서버에 전부 등록

원하는 DNS 서버 찾아가기

www.lab.glasscom.com을 찾으려고 함

  1. 클라이언트 가장 가까이에 있는 DNS서버로 감, www.lab.glasscom.com이 등록되어 있지 않음
  2. 가장 가까운 DNS 서버에는 루트 도메인의 DNS 서버가 등록되어있고, 루트 도메인의 DNS 서버는 등록되어 있기 때문에 거기로 조회 메시지를 전송
  3. 루트 도메인에서 com의 DNS 서버의 IP를 반환
  4. 다시 가장 가까운 DNS 서버는 com의 DNS 서버에 조회 메시지를 보냄
  5. glasscom.com의 DNS 서버의 IP를 반환
  6. 이 과정을 반복하여 원하는 DNS 서버에 도달하여 www.lab.glasscom.com의 IP 주소를 알 수 있음
  7. 반환받은 IP 주소를 클라이언트에게 반환

4. DNS 서버는 캐시 기능으로 빠르게 회답할 수 있다

실제로는 각 도메인마다 DNS 서버를 사용하지 않고, 상하위 도메인을 같은 DNS 서버에 등록하기도 함

DNS 서버는 한번 조사한 이름을 캐시에 기록

조회한 이름이 도메인에 등록되어 있지 않은 경우에도 캐시에 보존

따라서 이름이 존재하지 않는 경우에도 빠르게 회답 가능

하지만 원래 정보가 변경되고 캐시에 저장된 정보는 변경되지 않는 경우가 있기 때문에 정보가 항상 옳지는 않음

DNS 서버에 등록하는 정보에 유효 기간을 설정

조회에 회답할 때 정보가 캐시에 저장된 정보인지 아닌지도 알려줌