L1~L4는 인프라스트럭처로 볼 수 있다. L5부터는 어플리케이션이 목적화되는 것이며, 이러한 어플리케이션을 위해서 인프라가 존재하는 것이라 이해하여도 무방하다.
우리가 실제로 체감할 수 있는 것들의 형상은 대다수 어플리케이션 계층에 존재한다. 다만 어플리케이션에 존재하는 어떠한 서비스 중에서 인프라에 해당되는 것들이 있는데, 그 중 대표적인것이 DNS이다.
...
DNS (Domain Name Service)
1) 분산 구조형 데이터베이스
- 데이터베이스 시스템(DNS 네임서버)의 분산 구성
- 데이터 영역별 구분(Domain Zone) 및 분산관리
- 도메인의 네임서버 및 도메인 데이터는 해당 관리주체에 의해 독립적으로 관리됨
2) 트리(Tree) 구조의 도메인 네임(Domain Name) 체계
- Domain: 영역, 영토를 의미
- 도메인 네임의 자율적 생성
- 생성된 도메인 네임은 언제나 유일(Unique)하도록 네임 체계 구성
...
1) 예를들어 www.naver.com 을 세부적으로 나누어 보면 www 는 naver 에 속하고, www.naver는 com에 속한다.
2) 그리고 www는 host name으로 분류되고, naver.com은 domain name 으로 분류된다.
3) 이는 naver.com 에 속한 이름이 www 인 호스트를 찾는 것이라 볼 수 있다. 그리고 이를 URL 주소라 한다.
4) 다시 말해, URL 주소는 host name, domain name으로 나누어져 있는 것이다.
...
DNS는 왜 분산 구조형 데이터베이스일까
1) 만약, 브라우저에 www.naver.com 검색을 하게되면 먼저 해당 PC의 IP 설정 > DNS 서버 주소를 확인한다.
2) 해당 DNS 서버 주소에 www.naver.com 도메인에 해당되는 IP 값을 요청하고 응답 값을 받는다.
- 이 때 응답 값으로 주소 + 유효기간이 함께 온다.
3) DNS 주소는 보통 ISP에서 정해준 것을 사용한다.
4) DNS 응답이 느려지면 인터넷 전체가 느려지는 일이 발생한다.
5) 그렇기에 다른 ISP의 DNS에게 요청을 하게 된다. (이 경우에도 거리가 멀어진다면 응답이 느려질 수 있다.)
6) 이후 https 통신을 하면서 네이버 화면을 브라우저에서 볼 수 있게된다.
이때 중요한 것은 PC가 DNS에게 질의를 한번이라도 하게되면 PC 메모리에 캐시하여 가지고 있게된다. 이를 DNS 캐시라 한다.
그리고, DNS에세 가장 중요한 것이 보안이다. 만약 네이버 도메인을 입력했는데, DNS에서 다른 IP 주소를 알려주면 큰 혼란이 올 것이다. 이러한 상황을 막기위해 DNS는 강력한 보안이 적용되어 있다.
...
PC 에는 DNS 캐시와 hosts 파일이 있다. hosts 파일에 기재된 도메인과 IP가 있을 경우 DNS에 묻지 않고 동작하게 된다.
...
만약, 그 어느 누구도 네이버 닷컴의 주소를 물은적이 없다면 어떻게 동작할까
1) 네이버 닷 컴을 치면, ISP와 관련된 DNS에 질의를 할 것이다.
(KT / KT DNS 라 가정해보자.)
2) KT DNS를 정확히 표현하자면 캐시 DNS이다.
3) 지구상 DNS가 계층적 트리 구조를 가지고 있는데, 정점에 있는 것이 Root DNS이다.
(약 13대가 있고 서로 동기화를 하고 있다.)
4) Root DNS는 DNS를 위한 DNS이다.
5) 만약 해당 도메인이 .com으로 끝난다면 .com을 담당하는 DNS 에게 DNS IP 목록을 받고,
6) naver 라는 도메인에 대한 질의를 한다. 그런 후 또 다시 DNS IP 목록을 받고,
7) 마지막으로 www 에 대한 질의 후 최종적인 IP를 받아 캐시 DNS에 저장한다. 이 후에는 캐시된 DNS를 통해 IP 주소받으며 페이지 이동이 일어나게 된다.
'네트워크' 카테고리의 다른 글
HTTP 간단 설명 (0) | 2024.11.05 |
---|---|
URL과 URI (0) | 2024.11.04 |
TCP 연결이라는 착각 2 (0) | 2024.11.04 |
TCP 연결이라는 착각 (2) | 2024.11.04 |
TCP, UDP 헤더 형식 그리고 게임서버 특징 (0) | 2024.10.31 |