[Linux] DNS 기본 동작원리(개념정리)
- IT/Linux
- 2022. 6. 23.
DNS 동작 flow
위 그림에서 www.example.com 대신 sh-safer.tistory.com 를 접속한다고 가정해보자
1. 사용자가 브라우저에서 sh-safer.tistory.com 를 입력합니다
로컬 DNS에 sh-safer.tistory.com 도메인을 질의합니다.
도메인 정보가 있다면 ip 정보를 전달해주고 끝입니다만, 상세한 설명을 위해 로컬 DNS에는 도메인 정보가 없다고 가정하겠습니다.
2. 이제 외부 네임 서버에 질의를 할 차례입니다
DNS 질의는 resolver(리볼버)라는 놈이 합니다,
DNS resolver는 DNS클라이언트의 요청을 네임 서버로 전달하고 네임 서버로부터 도메인이름과 IP 주소를 받아
클라이언트에게 제공하는 기능을 수행합니다
3. sh-safer.tistory.com. 도메인에는 원래 끝에 점(.)이 있고 이것을 루트(root)라고 합니다
도메인을 찾는 과정은 도메인의 반대 방향으로 하나씩 찾는다고 보시면 됩니다.
먼저 끝에 있는 점 root 네임 서버에 sh-safer.tistory.com. 도메인을 질의합니다.
root 네임 서버는 다음 단계인 com 네임 서버를 찾아가라고 하네요
4. com 네임 서버에 sh-safer.tistory.com. 도메인을 질의합니다
com 네임 서버는 sh-safer.tistory.com의 네임가 ns1.daum.net 라고 알려줍니다
5. ns1.daum.net 네임 서버에 sh-safer.tistory.com 도메인을 질의합니다.
6. ns1.daum.net 네임 서버는 sh-safer.tistory.com 의 IP가 211.231.99.250 이라고 알려줍니다
7. 리졸브는 IP 정보를 사용자에게 전달합니다
8. 사용자는 목적지 ip를 알았으니 해당 ip로 sh-safer.tistory.com 요청을 보냅니다
9. sh-safer.tistory.com 의 웹서버에서 서비스를 제공합니다.
추가 설명
로컬 DNS 확인
윈도우 환경에서 명령프롬프트(CMD) 실행 후 "nslookup" 입력하시면 로컬 DNS를 확인하실 수 있습니다.
C:\Users\admin>nslookup
기본 서버: acns.uplus.co.kr
Address: 1.214.68.2
네임 서버 조회
윈도우 환경에서 명령프롬프트(CMD) 실행 후 아래와 같이 입력하시면 네임서버 정보를 확인하실 수 있습니다.
C:\Users\admin>nslookup -type=ns tistory.com
서버: acns.bora.net
Address: 1.214.68.2
권한 없는 응답:
tistory.com nameserver = ns1.daum.net
tistory.com nameserver = ns2.daum.net
'IT > Linux' 카테고리의 다른 글
CentOS7 Openssl 1.1.1 설치 (0) | 2022.11.22 |
---|---|
[Linux] crontab 사용방법(예약 작업 등록하기) (0) | 2022.07.14 |
[Linux] 커널 파라미터 설정하기 (0) | 2022.06.22 |
[Linux] semaphore(세마포어) 설정 - max number of arrays 수정 (0) | 2022.06.22 |
[이슈] java.net.UnknownHostException: Unable to resolve host (0) | 2022.06.20 |