앞의 글을 읽으시면 이해에 도움이 됩니다.
2023.04.08 - [Computer Science/네트워크] - [네트워크] Application-Layer Protocols
1. Hostname
- 사람은 이름으로 불립니다. 당연히 그게 편하니까요. 아무도 저를 생년월일이나 군번으로 부르지 않습니다.
- 당연히 웹 사이트도 사람 이름처럼 hostname으로 불리는 게 편할 것입니다. 그러나 www.google.com 같은 hostname은 인터넷상에서 호스트가 어디에 위치해 있는지 아주 작은 정보를 제공할 뿐입니다.
- 또한 hostname은 가변적인 길이를 가지고 있으므로, 라우터가 이를 전달하기가 어렵습니다.
- 이러한 이유로 host는 고정된 길이이고, 고유의 IP-Address로 특정되어야 합니다.
- IP-Address는 나중에 챕터 4에서 보도록 하고, 편안한 hostname을 어떻게 IP-address로 변환되는지 먼저 알아봅시다.
2. DNS
- 우리에게 필요한 것은 특정 hostname과 IP-address의 매핑입니다.
- 다행히도 이러한 일을 해주는 Domain Name System(DNS)가 있습니다.
- DNS는 계층적인 DNS server로 이루어진 분산된 데이터베이스이자, 호스트로 하여금 분산된 데이터 베이스에 쿼리를 날릴 수 있게하는 application-layer protocol입니다.
- DNS는 또한 host aliasing, mail server aliasing, load distribution 등 다양한 기능이 있는데, 우리는 hostname to ip address translation 부분만 봅시다.
- DNS는 전 세계에 분포되어 있는데, 그냥 한 곳에다가 모아놓는 게 편하지 않을까요?? 그러나 이는 명확한 단점이 있습니다.
- A single point of failure : 만약 DNS server가 다운된다면, 인터넷은 사용이 불가능합니다.
- Traffic Volume : 하나의 DNS server가 수백만 개의 쿼리를 처리해야 합니다.
- Distant Centralized Database : 모든 클라이언트와 거리가 가깝지 않습니다. 이는 느리고 혼잡한 링크를 만들 것이며, 상당한 딜레이를 이끌 수 있습니다.
- Maintenance : 모든 정보를 기록해야 하니까 당연히 관리가 어렵습니다.
- 중앙 집중형 서버는 확장성이 매우 부족합니다. 따라서 분산해서 나누어 놓았습니다.
참고
경북대학교 컴퓨터학부 COMP0414-001 컴퓨터 망 수업
Computer Networking: A Top Down Approach / James F. Kurose, Keith W. Ross 저 / PEARSON / 2021년
Chat GPT, Bing AI
다음 글에서는 DNS - Distributed, Hierarchical Database에 대해 알아보겠습니다.
2023.04.14 - [Computer Science/네트워크] - [네트워크] DNS - Distributed, Hierarchical architecture
감사합니다.
지적 환영합니다.
'Computer Science > 네트워크' 카테고리의 다른 글
[네트워크] DNS - local DNS server (0) | 2023.04.14 |
---|---|
[네트워크] DNS - Distributed, Hierarchical architecture (0) | 2023.04.14 |
[네트워크] HTTP/2 - Frame (0) | 2023.04.14 |
[네트워크] Web Caches (0) | 2023.04.13 |
[네트워크] Cookie (2) | 2023.04.13 |