오늘 할 일
강의 - 컴네(이론, 실습), 기학, 컴프2
과제 - 기학, 컴프2
내일 할 일
면접
강의 - 진설2, 선대
과제 - 선대
컴네 회의
시간 날 때 해야하는 일
코드 최적화 정리
리액트 클론 코딩 - 영화 리뷰 앱
java -> UML, class 분할 interface공부
wsl2 사용법 익히기
도커 복습
예전에는 이름 - IP주소로 맵핑된 정보가 들어있는 host file을 이용했다. 요즘은 대빵 큰 정보를 작은 부분으로 나누어 다른 컴퓨터에 조각으로 저장하는 DNS 구조를 이용한다. 이름에 대해 주소를 물어보면 DNS가 알려주는 식이다.
name space는 flat한 것과 hierarchical한 것으로 나뉜다. flat한 구조는 centrally control(작명소가 1개)이고, hierarchical은 decentralized하다.(작명소가 여러 곳). 같은 이름을 지어도 지은 곳이 다르면 주소가 달라지는 식.
domain name space
hierarchical name space를 가진다. 이 구조는 tree 구조이다. 트리의 각 노드는 label이라 한다. root label은 null string(empty string)이다.
domain name은 label들의 연속인데, 각 label을 .으로 연결한다. 전부 다 적는 fully qualified domain name(FQDN)과, 일부분만 적는 partially qualified domain name(PQDN)으로 나뉜다.
domain은 domain name space의 subtree이다. domain의 이름은 노드의 도메인 이름이다.
서버가 domain을 subdomains로 분할하고, (zone에 )권한을 양도하면, domain과 zone은 다르게 된다. zone은 data를 직접 저장하는 실질적인 저장 공간이다.
root server : zone이 whole tree인 경우. pointing하기만 한다.
primary server : zone file을 update, maintain, create한다.
secondart server : back-up 용
general domains, country domains => name으로 ip 찾기
inverse domain => ip로 name 찾기
resolver : DNS client. host가 주소 - 이름 혹은 이름 - 주소로 맵핑할 때 호출한다.
interative(옆의 컴퓨터가 주소 알려주면 직접 찾아가는 방식)한 방식과 recursive(옆 컴퓨터가 위 아래로 물어봐주는 방식)한 방식이 있다. 직접 주소로 안 가고 이렇게 물어물어 가는 이유는 caching 때문. cache가 빈번한 호출을 즉시 알려줄 수 있도록 하기 위해. 근데 cache는 원래 주소의 컴퓨터가 변경되거나 그런 경우 틀릴 수도 있음.
dns messages는 header와 question records로 이루어져 있다.
question record는 domain name으로 이루어져 있다.
서버 데이터베이스는 resource records로 이루어져 있다.
registrars는 domain name이 unique한지 verify 하는 곳.
dynamic domain name system(DDNS) : dns master file은 dynamic하게 update되어야 함. DDNS는 이걸 빠르게 해줌. 이름과 주소를 바인딩해서, primary DNS server로 보내짐. 보안은 primary server가 아닌, DDNS에서 보장. 보안상의 이유 때문.
잘 알려진 포트는 53이다. 메세지가 512bytes보다 작으면 UDP를 이용하고, 더 크면 TCP를 이용한다. 처음엔 UDP로 가다가, 만약 512byte보다 크면 truncate를 받아서 TCP로 전환한다.
-> 처음부터 TCP로 하지 않는 이유는, TCP를 쓰려면 buffer 할당, 초기화, connection 활성화 등의 과정을 필요로 하는데, 이 과정들은 cost가 높다.
참고 :
m.blog.naver.com/PostView.nhn?blogId=siamsunset0&logNo=130170906388&proxyReferer=https:%2F%2Fwww.google.com%2F