본문 바로가기

네트워크/네트워크 용어 (DICT)

DHCP, DNS

반응형
본 포스팅은 개념에 대한 복습을 위해 작성되었습니다. 잘못된 내용은 댓글이나 이메일로 알려주시면 감사하겠습니다.

 

DHCP

  동적 호스트 설정 프로토콜이다. 한 네트워크 안에서 필요한 IP를 할당/분배 해주는 프로토콜로, 현재는 DHCP라고 하지만 이전 에는 같은 기능으로 RARP / BOOTP 라는 이름으로 사용됐다. 물론, 기능도 DHCP로 오면서 추가되고 많이 다른 모습이지만, 그 맥락은 같이 하고 있다.

  어플리케이션 계층의 프로토콜인 만큼 DHCP는 매우 직관적으로 동작한다. IP들을 관리하는 DHCP 서버가 존재하고, IP가 필요하다면 이 서버에 붙어서 IP를 얻어가는 일련의 과정을 거치면 된다. 좀 더 자세하게 확인 해보자.


Main Success Secnario

DHCP Discover

Client : DHCP 서버 나오세요.


DHCP Offer

Server : 네, 우리 동네는 이런 IP 환경 사용해요.

 

DHCP Request

Client : 음... 1.1.1.1 로 주세요.

 

DHCP ACK

Server : 네.

 

DHCP Release

Client : 잘 쓰고 가요~

 

DHCP OFFER / REQUEST

DHCP Offer

개인적으로는 가장 중요해보이는 패킷은 이렇게 두 개 아닐까. OFFER는 Server가 취하는 동작으로 Host에게 현재 네트워크 환경과 DHCP 설정에 관해서 알려준다.

DHCP Request


 

물론 항상 성공하지는 않는다.

매몰찬 DHCP 서버

  (1) Client가 DHCP 서버에게 특정 IP를 Request 했지만, (2) 서버는 이를 NAK를 통해 거절한다. 이렇게 서버로부터 Request 요청이 거절되는 경우 Client는 DHCP Discover, 즉 (3) 처음부터 다시 시작해야만 한다.


 

DNS

  Domain Name Service 라고하는 DNS는 사람이 기억하기 쉬운 Host Name ( Domain ) 을 대응하는 IP 주소로 변환해주는 서비스이다. DHCP와 마찬가지로 별도의 서버를 두고 동작하며, 필요 할 때 마다 Host에서 DNS 서버로 질의 (Query) 하는 방식으로 서비스가 동작한다.

DNS 서버는 전세계적으로 분포해있으며, 효율성을 위해서 도메인에 따라 계층화되어 있다.

 

이해하기 아주 좋은 예시

 

  다만, 보통 계층화 구조에서 가장 앞부분이 가장 큰 범주인 반면, 도메인에서는 지역 도메인에 해당하는 kr -> ac -> hanyang -> cse 순으로 구체화 된다. 이 구조를 따라서 인접 DNS 서버에 원하는 도메인에 대한 IP가 없으면 해당 DNS 서버가 Root DNS 부터 순차적으로 질의를 해가며 IP를 알아온다.


  반면에, DNS 에서는 IP to Domain도 가능하다. 가장 오른쪽에 보이는 arpa 도메인을 통해서 가능한데, 구글을 통해서 동작을 확인해보자.

 

www.google.com 의 IP 주소는 172.217.2.196
해당하는 도메인은 nrt12s13-in-f4.1e100.net
실제로 일치한다.

 

  뭔가 이상한 점이 있다면, 두 번째 그림에서 www.google.com의 주소가 172.217.25.196 인데, in-addr.arpa 를 통해서 질의 할 때 IP 주소를 거꾸로 질의했다는 것이다. 이는 바로 이전에 언급했듯이, 계층화된 스케일이 다르기 때문이다. 그러므로, 질의할 때 IP 주소를 거꾸로 넣어줘야 올바르게 동작한다.


 

Query & Response

Query인지 Response인지에 따라서 DNS Message에 담기는 내용도 다르다.

 

 

  왼쪽은 Query, 오른쪽은 Response의 내용이다. Answer / Auth / Additional Section은 보통 Response를 위한 필드라고 보면 되고 Question Section에는 질의하는 도메인과 질의 타입, 클래스가 적힌다. 자세한 포맷은 다음 그림을 참고하자.

 

Question Section의 세부필드

 

특이한 점은 도메인이 각 도메인 파트의 길이로 구분된다. admin.atc.fhda.edu가 5, 3, 4, 3, 0(마지막) 글자이므로 각 도메인 계층 사이에는 글자수가 들어간다.

 

Wireshark Packet

 

실제로 패킷을 뜯어봐도 그렇게 보인다. 4 bolt 7 dropbox 3 com 0

반응형