-
도메인 이름과 IP 주소 변환IOT네트워크프로그래밍 2021. 9. 28. 19:48
도메인
인터넷에 연결된 컴퓨터를 사람이 쉽게 기억하고 입력할 수 있도록 문자(영문, 한글 등)로 만든 인터넷주소
DNS 서버
계층 구조를 가진 분산 데이터 베이스 서버
반복적으로 찾아가는 방식과 제귀적으로 검색하는 방법이 있다.
Gethostbyname() : 도메인 명을 네트워크에서 통용되는 32비트 2진수로 바꾸어 준다.
- 도메인 이름 -> IP 주소를 얻는다.
- 인자로 호스트명을 주면 그 호스트에 대한 정보를 구할 수 있다
Gethostbyaddr() : 네트워크에서 통용되는 32비트 2진수를 도메인 명으로 바꾸어 준다.
Hostent구조체
Struct hostent { char *h_name; // 공식 도메인 이름 char **h_aliases; // 해당 호스트의 닉네임 같은 것이다. 이걸로도 들어갈 수 있다. int h_addrtype; // IPv4인지 IPv6인지 타입을 정한다. int h_length; // IP 주소의 길이 char **h_addr_list; // 함수로 전달된 도메인 이름에 해당하는 IP주소를 전달해준다. };
한번 들어간 DNS 도메인에 대한 주소를 저장한다. 그러면 구지 번거롭게 정보를 요구할 필요가 없다
캐쉬와 비슷하다.
만약 못 찾으면, 다시 정보를 찾아가서, 정보를 요구한다. 이것이 캐쉬 서비스이다.
검색 방법은 해쉬 혹은 순차적인 방법이 있다.
'IOT네트워크프로그래밍' 카테고리의 다른 글
다중 접속 서버 (0) 2021.10.05 UDP기반의 Client/Server (0) 2021.09.28 TCP 기반의 Client / Server (0) 2021.09.28 주소체계와 데이터 정렬 (0) 2021.09.14 Socket (0) 2021.09.14