본문 바로가기

프로그래밍/Server

DNS


DNS 등장 이전


DNS 가 등장하기 전까지는 호스트명과 IP주소의 매핑 정보를 /etc/hosts 라는 로컬 파일에 수동 정의 했다.
gethostbyname()함수는 이 파일에서 정규호스트명이나 에일리어스중 하나를 검색해 IP 주소를 얻어왔다.


#IP주소             정규호스트명            [에일리어스]

127.0.0.1            localhost



DNS

- 계층으로 이뤄진 네임스페이스로 호스트명을 구성 한다.

- DNS 계층의 각 노드는 최대 63개 문자로 이뤄진 label을 갖는다. ( com, edu, net, org, de, eu, nz, us .... )

- 계층의 루트에는 익명 루트라 불리는 이름 없는 노드가 있다.

- 노드의 도메인명은 해당 노드에서 루트까지의 모든 이름을 포함한다. 각 이름의 구분은 점으로 구분한다. (z-man.tistory.com)

- 하나의 기관이나 시스템이 전체 계층을 관리하지 않고 DNS서버 계층마다 각 DNS 트리의 가지를 관리한다.

- 프로그램에서 도메인명을 얻으려고 getaddrinfo() 를 호출하면 함수는 로컬 DNS 서버와 통신하는데 필요한 lib를 이용한다. 만약 얻지 못할 경우 다른 DNS서버와 통신 한다.



/etc/services 파일

port를 관리 한다.







'프로그래밍 > Server' 카테고리의 다른 글

소켓 : 서버 설계  (0) 2013.03.23
소켓 정보  (0) 2013.03.21
소켓 실행파일  (0) 2013.03.21
TCP/IP 네트워크 기초 - TCP  (0) 2013.03.21
TCP/IP 네트워크 기초 - UDP  (0) 2013.03.21