[CS 스터디] 네트워크

한주영·2023년 4월 12일
0

스터디

목록 보기
3/6

DNS(Domain Name System)

IP네트워크에서 사용하는 시스템
인터넷을 편리하게 쓰게 해주는것
영문/한글 주소를 IP네트워크에서 찾아갈수있는 IP로 변환

DNS서버를 운영하는 서버를 네임서버 라고 한다

기술적인 특징

•도메인 이름과 IP주소를 변환하는 역할을 함
•리소스 레코드를 가진다 이 리소스레코드는
• A,AAAA,CNAME,NS,MX, SPF, PTR로 이루어짐
•DNS서버에 질의하면 돌아오는 응답은 Authoritative answer와 Non-authoritative answer로 나뉜다.

•포트는 UDP53번 포트를 사용, 패킷의 크기가 512bit를 초과하거나 특수한 경우에는 TCP53번을 사용

•계층적인 구조를 가지고 있음 최상위 도메인(TLD,Top-Level Domain)서버부터 시작하여 하위 도메인(SubDomain), 도메인(Domain),호스트서ㅓ와 같은 다양한 레벨의 DNS서버가 있음, 도메인 이름을 IP주소로 변환하는 과정을 효율적으로 처리할수있음

분산된 시스템
-DNS는 분산된 시스템으로 구성되어 있어서 수많은 DNS서버들이
전세계적으로 분산되어있다 이는 높은 가용성과 신뢰성을 보장하며
단일서버에 장애가 발생하더라도 다른 서버들이 동작하여 서비스의 중단을 최소화
캐싱기능
-DNS정보를 캐싱하여 저장하므로 동일한 DNS가 발생할 경우 로컬캐시에서 응답을 제공하여 네트워크 트래픽을 감소시킴
확장성
-새로운 도메인 이름이나 IP주소가 추가될때 쉽게 관리 및 업데이트가 가능
보안기능
-DNSSEC(Domain Name System Security Extensions)라는 보안기술이 존재하여 DNS의 안정성을 향상시킴
다양한 레코드 타입
-도메인 이름과 관련된 다양한 정보를 저장하고 관리함
인터넷의 핵심요소
-웹브라우징,이메일,파일전송,네트워크 연결등의 다양한 인터넷 서비스에 필수적으로 사용

Blocking &Nonbloking

블로킹(Blocking)
•A함수가 B함수를 호출할때 , B함수가 자신의 작업이 종료되기 전까지
A함수에게 제어권을 돌려주지 않는 것

논블로킹(Nonbloking)
•A 함수가 B 함수를 호출 할 때, B 함수가 제어권을 바로 A 함수에게 넘겨주면서, A 함수가 다른 일을 할 수 있도록 하는 것.

Synchronous&Asynchronous

Synchronous(동기)
•A함수가 B함수를 호출할때, B함수의 결과를 A함수가 처리하는것

Asynchronous(비동기)
•A함수가 B함수를 호출할때,B함수의 결과를 B함수가 처리하는것=>콜백


출처 : https://homoefficio.github.io/2017/02/19/Blocking-NonBlocking-Synchronous-Asynchronous/

Sync-Nonblocking 모델

출처 : https://homoefficio.github.io/2017/02/19/Blocking-NonBlocking-Synchronous-Asynchronous/

Async-Blocking 모델

출처 : https://homoefficio.github.io/2017/02/19/Blocking-NonBlocking-Synchronous-Asynchronous/

웹통신의 흐름

www.example.com을 입력했을때?

1.웹 브라우저에서 www.example.com을 입력: 사용자가 웹 브라우저에 "www.example.com"을 입력하여 웹 사이트에 접속

2.DNS 조회: 웹 브라우저는 운영체제에 등록된 로컬 DNS 캐시를 검색하여 해당 주소에 대한 IP 주소를 찾고,로컬 DNS 캐시에 해당 정보가 없으면, 웹 브라우저는 DNS 서버에 조회를 요청

3.루트 DNS 서버 조회: 로컬 DNS 캐시에 "www.example.com"에 대한 IP 주소가 없는 경우, 웹 브라우저는 루트 DNS 서버에 조회를 요청후에 루트 DNS 서버는 최상위 도메인(.com)의 DNS 서버의 IP 주소를 반환

4.최상위 도메인(TLD) DNS 서버 조회: 웹 브라우저는 최상위 도메인(.com)의 DNS 서버에 조회를 요청하여 주소에 대한 도메인 네임 서버의 IP 주소를 얻는다

5.도메인 네임 서버 조회: 웹 브라우저는 주소의 도메인 네임 서버에 조회를 요청하여 해당 도메인에 등록된 호스트(IP 주소) 정보를 얻는다.

6.호스트(IP 주소) 정보 반환: 도메인 네임 서버는 "www.example.com"의 호스트(IP 주소) 정보를 반환

7.웹 서버 접속: 웹 브라우저는 얻은 호스트(IP 주소) 정보를 사용하여 "www.example.com"의 웹 서버에 접속

8.웹 서버 응답: 웹 서버는 웹 브라우저에게 "www.example.com"의 웹 페이지를 포함한 웹 콘텐츠를 전송한다

9.웹 페이지 렌더링: 웹 브라우저는 받은 웹 페이지를 해석하여 화면에 웹 사이트를 렌더링하여 사용자에게 표시

profile
백엔드개발자가 되고싶은 코린이:)

0개의 댓글