14. Thead 와 DNS

윤주원·2023년 7월 20일
0

컴퓨터 네트워크

목록 보기
14/15
post-thumbnail

프로세스와 스레드

  • 프로세스
    : 프로세스는 CPU 시간을 할당 받아 실행 중인 프로그램 (게임을 키면 프로세스 그게 아니면 프로그램)
    : 사용자가 작성한 프로그램이 운영체제에 의해 메모리 공간을 할당 받아 실행 중인 것을 의미
    : 프로세스는 프로그램에 사용되는 데이터, 메모리 등 자원과 스레드로 구성

  • 스레드
    : 프로세스 내에서 실제로 작업을 수행하는 주체(로그인, 클릭 등등...)

  • 프로세스끼리는 약하게 연결되어 있는 반면 스레드끼리는 강하게 연결

  • 아래 이미지에서 일련번호, 테이블 번호, 전체 인원 등 (일)이 프로세스,
    고기 굽기, 채소 굽기, 소금 뿌리기 등(작업)이 스레드
  • 같은 프로세스의 스레드들은 동일한 주소 공간을 공유

스레드 병렬 수행

  • 프로세스 하나에 포함된 스레드들은 공동의 목적 달성을 위해 병렬 수행
  • 프로로세스가 하나인 프로그램의 다른 부분을 동시 실행

스레드 병렬 수행의 이점

  • 사용자 응답성 증가
  • 프로세스의 자원과 메모리 공유 가능
  • 다중 처리(멀티 프로세싱)로 성능과 효율 향상

단일 스레드와 다중 스레드

프로세스와 스레드의 관계


스레드를 이용하여 프로글매의 비동기적 요소를 구현한 예


다중 스레드 단점

  • 모든 스레드가 자원을 공유하기 때문에 한 스레드에 문제가 생기면 전체 프로세스에 영향을 미침

  • 인터넷 브라우저에서 여러 개의 화면을 동시에 띄웠을 때, 그 중 하나에 문제가 생기면 브라우저 전체가 종료


DNS

DNS 서비스

IP 주소 체계

  • 32비트의 이진수, 호스트를 구분
  • 8비트의 십진수인 xxx.xxx.xxx.xxx 형태로 표현

DNS 필요성

  • 도메인 이름 : 문자형으로 표기되는 호스트 이름 (일반 사용자가 선호)
  • IP 주소 : IP 프로토콜에서 호스트 구분을 위하여 반드시 필요
  • DNS : 도메인 이름을 이용하여 IP 주소로 변환하는 서비스

– /etc/hosts 파일

  • 인터넷 초기에 수작업으로 관리
  • 파일의 내용은 (도메인 이름, IP 주소)의 쌍으로 구성
  • 인터넷 보급이 확산되면서 DNS를 이용하여 자동으로 처리

DNS

  • 계층구조의 도메인 기반 주소 표기 방법을 위한 분산 데이터베이스 시스템

  • 도메인 이름에서 IP 주소를 얻음

  • 해석기
    : IP 주소를 원하는 응용 프로그램은 도메인 이름을 매개변수로 해석기 호출함
    : UDP를 이용해 DNS 네임 서버에 변환을 요청하여 호스트의 IP 주소를 얻음

  • 도메인 네임 스페이스, 네임 서버, 해석기로 구성

도메인 네임 스페이스

  • 트리 구조의 네임 스페이스를 비롯해 데이터에 대한 이름 관련 규칙을 정의

  • 트리에 연결된 호스트는 자원 레코드(Resource Records)로 표현

  • DNS 서비스는 자원 레코드의 특정 유형 정보를 얻는 과정

네임 서버

  • 메인 트리 구조와 트리에 보관된 자원 레코드를 관리하는 프로그램
  • 러 네임 서버가 구역을 분할해 전체 도메인을 관리함

해석기

  • 클라이언트의 요청을 받아 네임 서버로부터 정보를 얻어냄
  • 하나 이상의 네임 서버와 접촉

도메인 네임 스페이스

  • DNS가 저장, 관리하는 계층적 데이터베이스
  • 최상위에 루트가 존재, 그 아래로 모든 호스트가 트리 구조로 이어짐
  • 레이블 : 호스트의 이름
  • 도메인 이름 : 점(.)으로 구분한 호스트 레이블의 연속

  • 도메인 이름 : 하위 호스트의 레이블부터 루트에 이르는 경로에 위치한 모든 호스트의 레이블을 점(.)으로 연결한 것

도메인 영역

  • 존 : 임의의 네임 서버가 관리하는 영역

네임 서버와 해석기

  • 인터넷에서 여러 네임 서버가 유기적으로 동작하여 정보의 일관성 유지
  • 해석기
    : 도메인 이름과 호스트 주소 정보를 원하는 응용 프로그램은 해석기에게 요청
    : 해석기는 DNS 서버와 접촉하는 DNS 클라이언트 역할을 수행

  • 존은 자원 레코드에 포함된 인증 데이터의 집합체로 정의됨
  • 포함하는 영역
    : 존에 속하는 모든 호스트의 전체 자원 레코드 집합체
    : 존에 포함된 최상위 호스트
    : 위임된 서버 존에 관한 글루 데이터: 서브 존의 네임 서버에 접근할 수 있도록 해줌

요청의 처리

  • 질의 요청이 처리되는 과정
    : 인증 데이터가 반드시 필요한지 명시, 혹은 캐시
    : 해석기는 질의 요청을 재귀적으로 처리하는 명시, 혹은 비재귀적

  • 재귀적 처리
    : 해석기가 최초로 접속을 시도한 네임 서버가 질의 요청을 추적, 관리
    : 네임 서버가 결과적으로 해석기 역할을 수행

  • 비재귀적 처리
    : 요청을 받은 네임 서버가 다른 네임 서버의 포인터 정보를 회신

  • 그림 예시 (반복적 처리가 비재귀적이라 생각하기)

profile
안녕하세요

1개의 댓글

comment-user-thumbnail
2023년 7월 20일

소중한 정보 잘 봤습니다!

답글 달기