본문 바로가기

OSI 7계층/[LAYER 4] 전송 계층

DNS[Domain Name Service]

안녕하세요 오랜만에 글을 쓰게 되었네요

바쁘게 9월 추석을 보내고 10월 휴식기를 거치다보니 이제서야...

다시 글을 쓰게 되었습니다....

오늘의 주제는 바로 DNS[Domain Name Service]입니다.

 

1. DNS[Domain Name Service]의 정의

 

모든 네트워크는 IP를 통해 이루어진다는 얘기를 들어본적 있으실거예요.
왜냐면 저희가 그렇게 얘기했거든요!

(IP주소편: http://run-it.tistory.com/14?category=665122)

 

이런 논리라면 우리는 웹사이트에 접속하기 위해서도 IP를 입력해야합니다.

"이봐 210.89.1634.90 에 접속해서 럿인 좀 검색해봐"

이런식으로요

하지만 이러면 웹사이트 주소 외우기도 힘들고, 또 웹사이트 주소 외우기도 힘들고, 또 웹사이트 주소 외우기도 힘들고...  너무 불편하겠죠 ?
이러한 불편함을 감소시키기 위해 DNS 가 탄생합니다.

 

DNS는 전화번호부 같은 것으로

사용자가 "네이버에 럿인 좀 검색해봐" 이렇게 말하면
컴퓨터는 자신이 모르는 주소의 경우 DNS에게 네이버 IP가 무엇인지 묻게되고, DNS 네이버의 IP를 알려주죠.
(컴퓨터도 웹사이트와 IP가 매칭 된 정보를 몇 개 들고 있어요)

이러한 원리 덕분에 우리는 IP주소가 아닌 사이트명을 통해 웹사이트에 접속할 수 있게 됩니다.

오늘은 컴퓨터가 IP주소를 알기 위해 DNS에게 어떻게 질문하는지 알아보겠습니다

 

2. DNS의 구조

 

네트워크 상에는 여러 DNS 서버들이 존재하며 이 서버들이 각각의 통신을 통해 서로의 정보를 공유합니다. 예시를 통해 어떻게 DNS Server를 통해 통신하는지 알아보도록 하죠

[예시]

대개 우리는 www.naver.com을 접속하고자 할 때 Explorer를 켜고

주소창에 www.naver.com을 입력합니다.

 

 

 

아래의 그림처럼 네트워크 상에는 여러 종류의 DNS Sever들이 존재하고,

이들은 서로 통신을 통해 정보를 교환합니다.

 

1. www.naver.com을 입력하였을 경우 PC A는 Local DNS Server에 www.naver.com의 IP가 무엇인지 질의를 하게 됩니다.

 

2. Local Server가 정보를 가지고 있다면 바로 응답을 주겠지만 없다면 Root DNS Server에게 해당 정보를 질의합니다.

Root DNS Server는 www.naver.com에 대한 정보를 관리하는 COM DNS Server 정보를 알려줍니다.

 

3. 그럼 다시 Local Server가 COM Server에게 해당 정보를 질의하게 되고 COM Server는 NAVER Server에 대한 정보를 알려줍니다.

 

4. Local Server는 Naver Server에게 www.naver.com에 대한 IP주소를 질의하고 NAVER Server는 IP 정보를 응답해 줍니다.

 

5. IP정보를 응답받은 Local Server는 PC A에게 IP 정보를 응답해 줍니다.

 

이처럼 NAVER홈페이지 하나를 들어가기 위해서도 사전에 많은 통신들이 오고 갑니다. 이런 것을 보면 네트워크 통신은 참 경이로운 것 같습니다.

 

오늘은 간단히 어떤 과정들을 거치는지 간략하게 소개하였지만 다음에는 각 과정속을 보다 상세히 알아보도록 하겠습니다.

 

3. 실전응용 DNS

DNS 구조를 알아보기 위해서는 사전 작업이 필요합니다.

 


① 실행창을 키고 nslookup 을 입력합니다.
② ip를 알고 싶은 도메인을 입력합니다.
 [저희는 NAVER를 물어보았어요 ;-D]
③ 결과를 확인합니다. 두 개의 아이피가 나왔네요.

 

자, 이제 와이어샤크로 가볼까요?

 

 

두 쌍의 결과를 확인할 수 있습니다.
초록색과 빨간색 한 블록이 한 쌍이라고 생각하시면 됩니다.
눈치 채셨나요?? [WHATTT???]
한 쌍에서 윗부분인 첫번째 패킷은 DNS 쿼리 패킷입니다.
클라이언트가 DNS를 요청하는 패킷이죠.
한 쌍에서 아랫부분인 두번째 패킷은 DNS 응답 패킷입니다.
DNS 서버가 클라이언트에게 요청에 대한 응답을 해주는 패킷이죠.
 
첫번째-두번째 패킷으로 이루어진 쌍은 IPv4 기준의 DNS 쿼리/응답이고,
세번째-네번째 패킷으로 이루어진 쌍은 IPv6 기준의 DNS 쿼리/응답입니다.

다음 시간에는 DNS 구조에 대하여 살펴보고 패킷을 속속들이 살펴보겠습니다!

 

연말이라 그런지 너무 바쁜 나날들이 지나고 있습니다. 환절기에 다들 감기 조심하시고 더욱 좋은 내용으로 돌아올게요 그럼 안녕!

'OSI 7계층 > [LAYER 4] 전송 계층' 카테고리의 다른 글

UDP[User Datagram Protocol] WORLD!  (0) 2018.07.08
TCP[Transmission Control Protocol]의 세계  (0) 2018.07.01
TCP와 UDP  (1) 2018.06.24
포트[PORT]에 대하여  (1) 2018.06.17