요즘 날씨가 점점 풀리고있네요.
이상한 소리하지말고 프로토콜 공부하자구요? 좋습니다!
'Network Protocols Handbook의 pdf파일'을 봅시다!
오늘의 프로토콜은 바로바로! DNS 프로토콜입니다.
DNS서버 많이 들어보셨을 거에요. 저희가 일반 사이트에 도메인으로 접속할때 꼭 DNS를 거쳐야지 접속을 할 수 있습니다.
RFC 문서를 좋아하시는분은 RFC1034(https://www.ietf.org/rfc/rfc1034.txt)를 보세요! RFC문서 읽는 것도 중요합니다
RFC문서나 스펙 문서 등 영문서를 읽다보면 어떤 걸 읽어야될지 감이 잡힐거에요!
이제부터 한번 살펴볼까요?
DNS는 분산 인터넷 디렉토리 서비스 입니다. DNS는 도메인 이름과 IP 주소를 변환하고, 인터넷 전자 메일 배달을 제어하는데 사용됩니다.
대부분의 인터넷 서비스는 DNS를 사용하고, 작동하며, DNS에 오류가 발생하면 웹사이트를 찾을 수 없습니다. 또한 전자 메일 배달이 지연됩니다.
DNS는 2가지 특징이 있습니다.
첫번째는 이름에 대해 권한을 부여하기 위하여 이름 구문과 규칙을 지정합니다. 기본 구문은 다음과 같습니다.
(지역).(그룹).(사이트)
두번째는 이름을 주소에 효율적으로 매핑해주는 분산 컴퓨터 시스템의 구현을 정합니다.
DNS 체계에서 이름 공간의 일부에 대해 권한이 분산 및 계층 구조 메커니즘을 사용하고, 이름과 주소 매핑에 대한 것을 분산합니다.
DNS의 이름 지정 체계는 네트워크 장치 이름을 전체적으로 할당하는데 사용되고, 지리적으로 분산된 서버 집합과 이름과 주소로 구현됩니다.
이론적으로는 DNS 도메인 이름 표준은 레이블에 대해 임의의 값을 갖는 추상 계층 적 이름 공간을 지정합니다.
모든 구릅은 도메인 시스템의 인스턴스를 구축하여 계층 구조의 모든 부분에 대한 레이블을 선택할 수 있습니다.
그러나 대부분의 DNS 프로토콜 사용자는 올바른 인터넷 도메인 시스템에서 사용하는 계층적 레이블을 따르고 준수합니다.
최상위 도메인의 일부는 COM, EDU, GOV, NET 등등 여러 국가 코드입니다. 한국은 kr입니다.
DNS의 분산된 구성은 이름을 IP주소에 효율적이고 신뢰성있게 매핑합니다.
대부분의 이름은 로컬로 매핑할 수 있으며 여러 사이트에서 작동하는 서버세트는 대규모 네트워크의 매핑 문제를 공동으로 해결합니다.
배포 특성으로인해 단일 시스템 오류로 인해 DNS가 올바르게 작동하지 않습니다.
DNS의 헤더를 살펴봅시다!
ID(16비트) : 쿼리와 응답을 연계하는데 사용됩니다.
Q(1비트) : 메시지를 질의 또는 응답을 식별하는데 사용됩니다.
Query(4비트) : 0이면 표준 쿼리(name to address), 1이면 역 질의, 2이면 서버 상태 요청
A(1비트) : 1로 설정하면 신뢰할 수 있는 name 서버가 응답을 응답으로 식별합니다.
T(1비트) : 1로 설정하면 메시지가 잘렸다고 나타냅니다.
R(1비트) : 1이면 name서버에 의한 재귀 서비스를 요청하는 것입니다.
V(1비트) : name 서버에 의해 재귀 서비스의 사용 가능 여부를 알립니다.
B(3비트) : 나중에 사용하기 위해 예약되어 잇고, 반드시 0으로 설정해야 합니다.
Rcode(4비트) : name서버에 의해 설정되어 질의 상태를 식별합니다.
Question count(16비트) : Question 섹션의 항목 수를 정의합니다.
Answer count(16비트) : answer 섹션의 리소스 레코드 수를 정의합니다.
Authority count(16비트) : 권한 섹션에서 name 서버 리소스 레코드의 수를 정의합니다.
Additional count(16비트) : 추가 레코드 섹션의 리소스 레코드 수를 정의합니다.
이상으로 DNS 포스팅을 마치겠습니다.
DNS는 중요하다고 생각하니 10분정도 더 투자해서 다른 정리된 것들을 보시기 바랍니다.
읽어주셔서 감사합니다.
'네트워크 > 프로토콜' 카테고리의 다른 글
[프로토콜]Finger(User Information Protocol ) 프로토콜 (0) | 2017.05.18 |
---|---|
[프로토콜]FTP(FileTransfer Protocol) 프로토콜 (0) | 2017.03.22 |
[프로토콜]DHCP(Dynamic Host Configuration Protocol) 프로토콜 (0) | 2017.02.15 |
[프로토콜]DCAP(Data Link Switching Client Access Protocol) 프로토콜 (0) | 2017.02.09 |
[프로토콜]BOOTP(Bootstrap Protocol) 프로토콜 (0) | 2017.02.04 |