Cohe

11. 응용 SW 기초 기술 활용 본문

개발 이모저모

11. 응용 SW 기초 기술 활용

코헤0121 2024. 10. 11. 19:50
728x90
11. 응용 SW 기초 기술 활용

11. 응용 SW 기초 기술 활용

keywordsAALATMBGPCLICLSCut ThroughEGPFragment FreeGUIHRNICMPIGPIPv6IaasOSPFRAIDRARPRIPRRSJFStore and ForwardingTCPUDPX.25rmsrt가상 회선 방식가상화개발자 도구거리 벡터 알고리즘공용 클라우드구문기아 현상네트워크네트워크 가상화 기술네트워킹 전송다단계 큐단편화데이터 그램 방식데이터 링크데이터베이스라우터라우팅 알고리즘라운드 로빈링크 상태 알고리즘메모리물리 계층물리계층보안 환경 구축브릿지비선점형 스케줄링사설 클라우드서킷 교환 방식선점형 스케줄링설계소프트웨어형 서비스스토리지스토리지 가상화애드 훅 네트워크에이징 현상온프레미스 방식운영체제의 개념윈도즈 운영체제유닉스의미인프라형 서비스재조립캡슐화컨테이너컴퓨터 가상화클라우드 방식클라우드 컴퓨팅타이밍패킷 교환 방식표현프로세스 관리프로젝트 관리프로토콜플랫폼형 서비스하이브리드 클라우드허브형상 관리
pageNum278-383

운영체제의 특징

운영체제 종류

  1. 운영체제(OS; Operating System)의 개념
    1. 운영체제의 개념
      • 운영체제는 사용자가 컴퓨터의 하드웨어를 쉽게 사용할 수 있도록 인터페이스를 제공해 주는 소프트웨어이다.
      • 운영체제는 한정된 시스템 자원을 효과적으로 사용할 수 있도록 관리 및 운영함으로써 사용자에게 편리성을 제공한다.
      • 운영체제는 컴퓨터 시스템과 사용자 간의 인터페이스 기능을 담당한다.
    1. 운영체제의 특징
      1. 운영체제의 일반적 특징
        • 운영체제는 사용자 편리성, 인터페이스, 스케줄링, 자원관리, 제어 기능의 특징이 있다
        특징설명
        사용자 편리성 제공한정된 시스템 자원을 효과적으로 사용할 수 있도록 관리 및 운영함
        인터페이스 기능컴퓨터 시스템과 사용자를 연결함
        다중 사용자 및 응용 프로그램 환경에서의 자원 파악자원의 현재 상태를 파악
        스케줄링 담당자원 분배를 위한 스케줄링을 담당
        자원 관리CPU, 메모리 공간, 기억장치, 입출력 장치 등의 자원을 관리함
        제어 기능입출력 장치와 사용자 프로그램을 제어함
      1. 운영체제에서 커널의 기능
        • 운영체제는 크게 인터페이스(쉘) + 커널의 구조이다.
        • 운영체제의 핵심적인 기능들이 커널에 모여있다면, 인터페이스(쉘)는 이러한 커널을 사용자가 보다 편리하게 사용할 수 있게 해준다
          • 쉘은 사용자가 입력시킨 명령어 라인을 읽어 필요한 시스템 기능을 실행시키는 명령어 해석기이다.
          • 시스템과 사용자 간의 인터페이스를 제공한다.
          • 여러 가지의 내장 명령어를 가지고 있다.
        1. 커널
          • 커널은 운영체제의 핵심이 되는 기능들이 모여 있는 컴퓨터 프로그램이다.
          • 컴퓨터가 부팅될 때 주기억 장치에 적재된 후 상주하면서 실행하며, 프로그램과 하드웨어 간의 인터페이스 역할을 담당한다.
          기능설명
          프로세스 관리- 프로세스 스케줄링 및 동기화 관리 담당 <br> - 프로세스 생성, 제거, 시작, 정지, 메시지 전달 등의 기능 담당
          기억장치 관리- 프로세스에게 메모리 할당 및 회수 관리 담당
          주변장치 관리- 입출력 장치 스케줄링 및 전반적인 관리 담당
          파일 관리- 파일의 생성, 삭제, 변경, 유지 등의 관리 담당
  1. 운영체제의 종류
    1. 윈도우즈 운영체제
      • 윈도즈는 MS-DOS의 멀티태스킹 기능과 GUI 환경을 제공하는 마이크로소프트사가 개발한 운영체제이다.
      • 윈도즈 95를 발표한 이후에 98, ME, XP, 7, 8, 10 등의 버전으로 지속적으로 출시되고 있다.
      특징설명
      그래픽 사용자 인터페이스 (GUI)- 마우스를 사용하여 아이콘이나 메뉴를 선택하여 작업을 수행하는 인터페이스 제공<br>- 그래픽 기반의 인터페이스 방식
      선점형 멀티태스킹 방식- 동시에 여러 개의 프로그램을 실행하면서 운영체제가 각 작업의 CPU 이용 시간을 제어하는 방식 제공
      자동감지 기능- 하드웨어를 설치했을 때 필요한 시스템 환경을 운영체제가 자동으로 구성해주는 기능 제공
      OLE (Object Linking and Embedding) 사용- 개체를 현재 작성 중인 문서에 자유롭게 연결 또는 삽입하여 편집할 수 있게 하는 기능 제공
    1. 유닉스 계열 운영체제
      • 유닉스는 데니스 리치와 켄 톰슨(Ken Thompson) 등이 함께 벨 연구소를 통해 만든 운영체제이며, 90% 이상 C 언어로 구현되어 있는 운영체제로 범용 다중 사용자 방식의 시분할 운영체제이다.
      • 유닉스는 처음부터 다양한 시스템에 서로 인식할 수 있고, 멀티 태스킹을 지원하도록 설계되었다.
      특징설명
      대화식 운영체제 기능- 사용자가 명령 프롬프트에 명령을 입력하면 시스템이 해당 명령을 처리하는 기능을 제공
      다중 작업 기능- 다수의 작업(프로세스)이 CPU와 같은 공용 자원을 나누어 사용하여 동시에 여러 작업을 수행하는 기능을 제공
      다중 사용자 기능- 여러 대의 단말(키보드와 모니터)이 하나의 컴퓨터에 연결되어 여러 사용자가 동시에 시스템을 사용하는 기능을 제공
      이식성 제공- C 언어로 구현되어 있고, 시스템 프로그램이 모듈화되어 있어 다른 하드웨어 기종으로 쉽게 이식 가능한 특징 제공
      계층적 트리 구조 파일 시스템 제공- 유닉스는 계층적 트리 구조를 가지며 이를 통해 통합적인 파일 관리가 용이한 특징을 제공
      1. 리눅스 운영체제
        • 리눅스는 유닉스를 기반으로 개발되고, 소스 코드가 공개된 오픈 소스 기반의 운영체제이다.
        • 리눅스는 데비안, 레드헷, Fedora, Ubuntu, CentOS와 같이 다양하게 출시 되고 있다.
        • 유닉스 계열의 운영체제이므로 대화식 운영체제, 다중 작업 기능, 다중 사용자 기능, 이식성, 계층적 트리 구조 파일 시스템을 갖는다
      1. 맥 운영체제
        • 맥 운영체제는 애플이 유닉스를 기반으로 개발한 그래픽 사용자 인터페이스 기반의 운영체제이다.
        • 애플사는 1999년 OS X로 업데이트를 하였고, 이후에는 클라이언트 버전, 서버 제품 등으로 제품군을 확대하였으며, 2017년 OS X 시에라, 2018년 모하비 등을 지속적으로 발표하고 있다.
      1. 안드로이드 운영체제
        • 안드로이드는 휴대 전화를 비롯한 휴대용 장치를 위한 운영체제와 미들웨어, 사용자 인터페이스 그리고 표준 응용 프로그램(웹 브라우저, 이메일 클라이언트 등)을 포함하고 있는 운영체제이다
        특징설명
        리눅스 기반- 안드로이드는 리눅스 커널 위에서 동작하는 운영체제를 기반으로 함
        자바와 코틀린 언어- 고수준 언어 사용 응용 프로그램을 작성
        - 전문 지식이 없어도 개발이 가능
        런타임 라이브러리컴파일된 바이트 코드 구동 가능
        안드로이드 소프트웨어 개발 키트(SDK)응용 프로그램 개발을 위한 도구와 API를 제공함

운영체제 기본 명령어 활용

  1. 운영체제 제어
    유형설명
    CLI (Command Line Interface)- 사용자가 직접 명령어를 입력하여 컴퓨터에 명령을 내리는 방식
    GUI (Graphic User Interface)- 마우스로 화면을 클릭하여 그래픽을 이용해 컴퓨터를 제어하는 방식
  1. 윈도즈 운영체제의 기본 명령어
    • 윈도즈 운영체제에서 CLI 명령어를 입력하기 위해서는 명령 창이 필요하다.
    • Help를 명령 창에 입력함으로써 검색이 가능하다.
    • 윈도즈 내에서는 파일을 이동하고 프로그램을 실행하는 것과 같은 행동을 GUI 명령으로 제어할 수 있다.
  1. 리눅스/유닉스 계열의 기본 명령어
    • 리눅스와 유닉스 명령어는 쉘에서 입력할 수 있다
    • 리눅스는 최상위 유저를 CLI 환경에서 #으로 표시하며 일반 유저를 $로 표시한다.
    • 명령어에 대한 도움말은 --help, -h를 명령어 뒤에 붙임으로써 확인할 수
      있다
    명령어설명
    ATTRIB파일 속성을 표시하거나 변경합니다.
    CALL한 일괄 프로그램에서 다른 일괄 프로그램을 호출합니다.
    CD현재 디렉터리 이름을 보여주거나 변경합니다.
    CHKDSK디스크를 검사하고 상태 보고서를 표시합니다.
    CLS화면을 지웁니다.
    CMDWindows 명령 프롬프트 창을 엽니다.
    COMP두 개 이상의 파일을 비교합니다.
    DISKPART디스크 파티션 속성을 표시하거나 구성합니다.
    ECHO메시지를 표시하거나 ECHO를 사용하거나 사용하지 않도록 설정합니다.
    ERASE하나 이상의 파일을 삭제합니다.
    EXITCMD.EXE 프로그램(명령 인터프리터)를 종료합니다.
    1. 리눅스/유닉스 운영체제의 기본 명령어
      1. 시스템 관련
        명령어설명
        uname -a시스템의 모든 정보를 확인하는 명령어입니다. 시스템 이름, 운영체제, 버전, 호스트명, 하드웨어 정보 등을 표시합니다.
        uname -r운영체제의 배포 버전을 출력하는 명령어입니다.
        cat파일의 내용을 화면에 출력하는 명령어입니다.
        uptime시스템의 가동 시간과 현재 사용자 수, 평균 부하량 등을 확인하는 명령어입니다.
      1. 사용자
        명령어설명
        id사용자의 로그인명, id, 그룹 id 등을 출력하는 명령어입니다.
        last시스템의 부팅부터 현재까지의 모든 사용자의 로그인과 로그아웃에 대한 정보를 표시하는 명령어입니다.
        who현재 접속 사용자 정보를 표시하는 명령어입니다.
      1. 파일 처리
        명령어설명
        ls자신이 속해있는 폴더 내에서의 파일 및 폴더들을 표시하는 명령어입니다.
        pwd현재 작업 중인 디렉토리의 절대 경로를 출력하는 명령어입니다.
        rm파일 삭제 명령어입니다.
        cp파일 복사 명령어입니다.
        mv파일 이동 명령어입니다.
      1. 프로세스
        명령어설명
        ps현재 실행되고 있는 프로세스 목록을 출력하는 명령어입니다.
        pmap프로세스 ID를 기준으로 메모리 맵 정보를 출력하는 명령어입니다.
        kill특정 PID 프로세스를 종료하는 명령어입니다.
      1. 파일 권한
        명령어설명
        chmod특정 파일 또는 디렉토리의 퍼미션을 수정하는 명령어입니다.
        chown파일이나 디렉토리의 소유자와 소유 그룹을 수정하는 명령어입니다.
      1. 네트워크
        명령어설명
        ifconfig네트워크 인터페이스를 설정하거나 확인하는 명령어입니다.
        host도메인명(호스트)을 알고 있는데 IP 주소를 모르거나 반대 경우에 사용하는 명령어입니다.
      1. 압축
        명령어설명
        tar여러 개의 파일을 하나의 파일로 묶거나 풀 때 사용하는 명령어입니다. (압축은 불가능합니다.)
        gzip파일을 묶거나 풀 수는 없지만 압축을 담당하는 명령어입니다.
      1. 기타
        구분명령어설명
        검색grep입력으로 전달된 파일의 내용에서 특정 문자열을 찾고자 할 때 사용하는 명령어입니다.
        검색find특정한 파일을 찾는 명령어입니다.
        파일 이동cp디렉토리를 복사할 때 사용하는 명령어입니다.
        파일 이동rsync로컬 또는 원격에 파일과 디렉토리를 복사하고 동기화하는 명령어입니다.
        디스크 요용df시스템에 마운트된 하드디스크의 남은 용량을 확인할 때 사용하는 명령어입니다.
        디스크 요용du파일 사이즈를 킬로 바이트 단위로 보여주는 명령어입니다.
        디렉터리 이동cd디렉토리를 이동하는 명령어입니다.
    1. 리눅스/유닉스 운영체제의 파일 접근 권한 관리[2020년 2회
      1. 리눅스/유닉스 운영체제의 파일 접근제어 개요
        • 리눅스/유닉스 시스템에서 사용자 혹은 프로세스가 파일을 읽거나 실행하면 open(), readO, write()와 같은 시스템 호출이 수행되고, 각 파일의 정보가 저장된 i-node 값을 읽게 된다.
        • i-node에는 각 파일의 물리적 위치, 생성 • 수정 - 사용 날짜 등의 정보와 더불어 파일 소유자 • 그룹, 접근 권한 등의 파일 접근 제어와 관련된 정보가 수록되며, 해당 정보를 이용하여 DAC 기반 접근제어를 수행한다.
      1. 리눅스/유닉스 파일 접근제어 매커니즘
        • Read, Write, eXcute로 파일을 읽 거 나(r), 쓰거나(w), 실행 (x)할 수 있는 3가지 모드로 구분한다.
        • 즉, 파일이 ‘rwx’ 모드를 지원한다면 그 파일을 읽고, 쓰고, 실행할 수 있다는 것을 의미한다.
        접근 권한설명
        User (소유자)파일을 소유하고 있는 사용자입니다.
        Group소유자를 제외하고 파일과 같은 그룹에 속해 있는 모든 사용자 모임입니다.
        Other그 밖의 사용자들을 나타냅니다.
        • 사용자(User)는 파일을 소유하고 있는 사람을 나타냅니다.
        • 각 권한(R, W, X)은 파일에 대한 특정 작업을 나타냅니다.
          • R은 읽기 권한을, W는 쓰기 권한을, X는 실행 권한을 나타냅니다.
        • 그룹(Group)은 파일과 동일한 그룹에 속한 사용자를 나타냅니다.
        • 다른 사용자(Other)는 파일을 소유하지 않고, 파일의 그룹에도 속해 있지 않은 모든 사용자를 나타냅니다.
      1. 접근 권한 변경(chmod)
        1. 명령어
          1. chmod [-R] permission file_name11 directory_name1 [tile_name2 ] directory_name2..]
            • chmod 명령은 기존 파일 또는 디렉토리에 대한 접근 권한을 변경할 때 사용한다.
              명령어설명
              옵션 -R하위 디렉토리와 파일의 권한까지 변경
              permission기호나 8진수로 접근 권한을 지정
              • 해당 파일의 소유주나 슈퍼 유저 root만이 실행할 수 있다
          1. 접근 권한을 기호로 기술하는 방법
            구분대상
            대상u(user), g(group), o(other), a(al)
            연산자u(user), g(group), o(other), a(al)
            접근 권한 r(읽기), w(쓰기), x(실행)
          1. 접근 권한을 숫자로 기술하는 방법
            구분r(읽기)W(쓰기)x(실행)
            기술 방법421

운영체제 핵심 기능 파악

  1. 운영체제 핵심 기능
    • 운영체제는 중앙처리장치, 메모리, 스토리지, 주변 기기 등을 적절히 관리한다.
    • 초기에는 메모리 용량에 제한이 많아 소프트웨어 개발 시 메모리 관리가 매우 중요했으나, 최근에 들어서는 운영체제에서 대부분 자동으로 관리해 주므로 사용이 편리해졌다.
    • 개발 및 시스템 환경이 클라우드화되면서 자원에 대한 관리 노력이 줄었다
      핵심 기능설명
      메모리 관리• 프로그램의 실행이 종료될 때까지 메모리를 가용한 상태로 유지 및 관리하는 기능
      • 프로그램 실행 중 메모리가 꽉 차게 되면 시스템의 속도가 느려지고 때로는 시스템이 멈추는 현상이 발생
      메모리에 있는 프로그램은 CPU로 이동하여 처리(CPU는 가상 주소를, 메모리는 물리 주소를 사용하는데 MMU가 주소를 매핑하는 역할 수행)
      프로세스 관리 프로세스 관리 기법에는 ‘일시 중지 및 재실행’, ‘동기화’, ‘통신’, ‘교착상태 처리’, ‘프로세스 생성 삭제’ 가 있음
    1. 메모리 관리 기법
      1. 개요
        기법설명세부 기법
        반입 기법주기억장치에 적재할 다음 프로세스의 반입 시기를 결정하는 기법
        메모리로 적재 시기 결정(When)
        요구 반입 기법
        예상 반입 기법
        배치 기법• 디스크에 있는 프로세스를 주기억장치의 어느 위치에
        저장할 것인지 결정하는 기법
        • 메모리 적재 위치 결정(Where)
        • 최초 적합(First-fit)
        • 최적 적합(Best—fit)
        • 최악 적합(Worst—fit)
        할당기법• 실행해야 할 프로세스를 주기억장치에 어떤 방법으로
        할당할 것인지 결정하는 기법
        • 메모리 적재 방법 결정(How)
        • 연속할당기법
        •분산할당기법
        교체 기법 • 재배치 기법으로 주기억장치에 있는 프로세스 중 어떤
        프로세스를 제거할 것인지를 결정하는 기법
        • 메모리 교체 대상 결정(Who
        • 프로세스의 Swap In/Out
        • FIFO, Optimal, LRU, LFU,
        시계 알고리즘, MFU
      1. 메모리 배치 기법
        기법설명
        최초 적합프로세스가 적재될 수 있는 가용 공간 중에서 첫 번째 분할에 할당하는 방식 (First Fit)
        최적 적합가용 공간 중에서 가장 크기가 비슷한 공간을 선택하여 프로세스를 적재하는 방식
        공백 최소화 장점이 있음
        최악 적합프로세스의 가용 공간 중에서 가장 큰 공간에 할당하는 방식
      1. 메모리 할당 기법
        종류설명기법
        연속 할당 기법실행을 위한 각 프로세스를 주기억장치 공간 내에서 인접되게 연속하여 저장하는 방법. 연속 할당 기법은 프로세스를 주기억장치에 연속으로 할당하는 기법.단일 분할 할당 기법 : 오버레이, 스와핑
        • 다중 분할 할당 기법 : 고정 분할 할당 기법, 동적 분할 할당 기법
        분산 할당 기법하나의 프로세스를 여러 개의 조각으로 나누어 주기억장치 공간 내 분산하여 배치하는 기법. 주로 가상기억장치에서 사용.• 페이징 기법
        • 세그먼테이션 기법
        • 페이징/세그먼테이션 기법
        1. 페이징 기법
          • 페이징 기법은 가상기억장치 내의 프로세스를 일정하게 분할하여 주기억장치의 분산된 공간에 적재시킨 후 프로세스를 수행시키는 기법이다
        1. 세그먼테이션 기법
          • 세그먼테이션 기법은 가상기억장치 내의 프로세스를 가변적인 크기의 블록으로 나누고 메모리를 할당하는 기법이다.
          • 분할 형태가 배열이나 함수와 같은 논리적인 다양한 크기의 가변적인 크기로 관리한다
        1. 페이징/세그먼테이션 혼용기법
          • 외부 단편화 및 내부 단편화 최소화를 위하여 세그먼테이션 기법과 페이징 기법을 결합한 페이징/세그먼테이션 기법이 개발되었다
      1. 교체 기법
        1. 교체 기법 개념
          • 교체 기법은 주기억 장치에 있는 프로세스 중 어떤 프로세스를 제거할 것인
            지 결정하는 기법이다.
            • 새로운 페이지를 할당하기 위해 현재 할당된 페이지 중 어느 것과 교체할지
            를 결정하는 방법이다.
        1. 교체 기법 유형
          세부 기법설명
          FIFO (First In First Out)각 페이지가 주기억장치에 적재될 때마다 그때의 시간을 기억시켜 가장 먼저 들어와 가장 오래 있던 페이지를 교체하는 기법 (선입선출)
          LRU (Least Recently Used)프로그램의 지역성의 원리에 따라서 최근에 참조된 페이지는 앞으로도 참조될 가능성이 크고, 최근에 참조되지 않은 페이지는 앞으로도 참조되지 않을 가능성이 크다는 전제로 구현된 알고리즘
          LFU (Least Frequently Used)사용된 횟수를 확인하여 참조 횟수가 가장 적은 페이지를 선택하여 교체하는 기법 ㅇ
          OPT (OPTimal Replacement) 앞으로 가장 오랫동안 사용하지 않을 페이지를 교체하는 기법
          • 페이지 부재 횟수가 가장 적게 발생하는 가장 효율적인 알고리
          NUR (Not Used Recently)LRU와 비슷한 알고리즘으로, 최근에 사용하지 않은 페이지를 교체하는기법
          • 최근에 사용되지 않은 페이지는 앞으로도 사용되지 않을 가능성이 크다는 것을 전제로, LRU에서 나타나는 시간적인 오버헤드를 줄일 수 있음
          • 최근의 사용 여부를 확인하기 위해서 페이지마다 참조 비트와 변형 비트 사용
          SCR (Second Chance Replacement)• 가장 오랫동안 주기억장치에 있던 페이지 중 자주 사용되는 페이지의 교체를 방지하기 위한 기법으로 FIFO 기법의 단점을 보완하는 기법
      1. 교체 기법 알고리즘 계산
        1. FIFO 알고리즘
          • F IF O 는 주기억장치 페이지에 순차적으로 참조 스트링이 들어오고, 페이지 교체는 가장 먼저 들어온 페이지부터 교체하는 알고리즘이다.
        1. LRU 알고리즘
          • LRU는 사용된 시간을 확인하여 가장 오랫동안 사용되지 않은 페이지를 선택 하여 교체하는 알고리즘이다
        1. LFU 알고리즘
          • LFU는 사용된 횟수를 확인하여 참조 횟수가 가장 적은 페이지를 선택하여 교체하는 알고리즘이다.
      1. 메모리 단편화
        • 메모리 단편화란 분할된 주기억장치에 프로세스를 할당, 반납 과정에서 사용되지 못하고 낭비되는 기억장치가 발생하는 현상이다
        1. 내부 단편화
          • 분할된 공간에 프로세스를 적재한 후 남은 공간
            개념
          • 고정 분할 할당 방식 또는 페이징 기법 사용 시 발생하는 메모리 단편화
        1. 외부 단편화
          • 할당된 크기가 프로세스 크기보다 작아서 사용하지 못하는 공간
          • 가변 분할 할당 방식 또는 세그먼테이션 기법 사용 시 발생하는 메모리 단편화
      1. 페이징 기법의 문제 및 해결방안
        1. 페이징 기법의 문제점 — 스레싱(Thrashing
          • 스레싱은 어떤 프로세스가 계속적으로 페이지 부재가 발생하여 프로세스의 실제 처리 시간 보다 페이지 교체 시간이 더 많아지는 현상이다.
          • 오류율이 클수록 스레싱이 많이 발생한 것이고, 스레싱으로 인해 전체 시스템의 성능 및 처리율은 저하된다.
          • 페이지 부재가 계속 증가하여 기억장치 접근 시간이 증가한다.
        1. 페이징 기법의 문제점 해결방안 — 워킹 세트(Working Set)
          • 워킹 세트는 각 프로세스가 많이 참조하는 페이지들의 집합을 주기억장치 공간에 계속 상주하게 하여 빈번한 페이지 교체 현상을 줄이고자 하는 기법이다
          • 장점

            멀티프로그래밍 정도를 높일 수 있고(Page Hit 증가) CPU 활용을 최적화 할 수 있음

          • 단점

            워킹 세트 추적관리가 복잡하고, 워킹 세트 크기 설정의 모호함이 발생

        1. 페이징 기법 문제점 해결방안 - 페이지 부재빈도
          • 페이지 부재 빈도는 페이지 부재율의 상한과 하한을 정해서 직접적으로 페이지 부재율을 예측하고 조절하는 기법이다.
          • 페이지 부재 비율에 따라 페이지 프레임 개수를 조절한다
          • 장점 : 페이지 부재 발생 시 실행하여 부하가 적고, 직접적으로 페이지 부재율 조절이 가능한 기법
          • 단점 : 프로세스를 중지 시키는 과정이 발생하고, 페이지 참조가 새로운 지역성으로 이동할 수 있음
      1. 지역성
        1. 지역성의 개념
          • 지역성(국부성, 구역성, 국소성)은 프로세스가 실행되는 동안 주기억장치를 참조할 때 일부 페이지만 집중적으로 참조하는 특성이다.
          • 프로세스가 집중적으로 사용하는 페이지를 알아내는 방법의 하나로, 가상기억장치 관리의 이론적인 근거가 되었다.
          • 스레싱을 방지하기 위한 워킹 셋 이론의 기반이 되었다
        1. 지역성의 유형
          유형설명사례
          시간(Temporal)최근 사용되었던 기억장소들이 집중적으로 액세스하는 현상, 참조했던 메모리는 빠른 시간에 다시 참조될 확률이 높은 특성 Loop(반복, 순환), 스택 (Stack), 부프로그램(Sub Routine), Counting(1 씩증감), 집계(Totaling)에 사용되는 변수(기억장소)
          공간(Spatial)프로세스 실행 시 일정 위치의 페이지를 집중적으로 액세스하는 현상, 참조된 메모리 근처의 메모리를 참조하는 특성 • 배열 순회, 프로그래머들이 관련된
          변수(데이터 저장 기억장소)들을 서로 근처에 선언하여 할당되는 기억 장소, 같은 영역에 있는 변수 참조
          순차(Sequential)데이터가 순차적으로 액세스되는 현상, 프로그램 내의 명령어가 순차적으로 구성된 특성, 공간 지역성에 편입되어 설명되기도 함• 순차적 코드 실행
    1. 프로세스 관리
      1. 프로세스 개념
        • 프로세스는 CPU에 의해 처리되는 프로그램이다.
          • 실행 중인 프로그램을 의미하며, 작업(Job) 또는 태스크(Task)라고도 한다.
      1. 프로세스 상태
        • 하나의 프로세스는 여러 가지 이벤트에 의해 일련의 서로 구분되는 상태 변화를 겪는다.
        • 생성 상태, 준비 상태, 실행 상태, 대기 상태, 완료 상태를 가질 수 있다
        프로세스 상태설명
        생성(Create)사용자에 의해 프로세스가 생성된 상태, CPU를 할당받을 수 있는 상태
        준비(Ready)준비 리스트(Ready List)에서 우선순위를 부여하여 가장 높은 우선순위를 갖는 프로세스가 CPU를 할당받을 준비를 하는 상태
        실행(Running)CPU를 할당받아 동작 중인 상태
        대기(Waiting)프로세스 실행 중 입출력 처리 등으로 CPU를 양도하고 입출력 처리가 완료될 때까지 대기 리스트에서 대기하는 상태
        완료(Complete)프로세스가 CPU를 할당받아 주어진 시간 내에 완전히 수행을 종료한 상태
      1. 프로세스 상태 전이
        • 프로세스의 상태 전이는 하나의 작업이 컴퓨터 시스템에 입력되어 완료되기까지 프로세스의 상태가 준비, 실행 및 대기 상태로 변하는 활동을 말한다.
        프로세스 상태 전이설명
        디스패치(Dispatch)준비 상태에 있는 여러 프로세스(Ready List) 중 실행될 프로세스를 선정하여 CPU를 할당(Dispatching)하는 과정. 문맥 교환 발생
        타이머 런 아웃(Timer run out)CPU를 할당받은 프로세스가 지정된 시간을 초과하여 CPU를 반환하고 다시 준비 상태로 전이됨.
        블록(Block)실행 상태에 있는 프로세스가 입출력이나 기타 사건으로 실행을 중단하고 CPU를 반환하고 대기 상태로 전이됨.
        웨이크 업(Wake-up)입출력이 완료되어 대기 상태에 있는 프로세스에게 알려주고, 해당 프로세스가 준비 상태로 전이됨.
    1. 프로세스 스케줄링
      1. 프로세스 스케줄링
        • 프로세스 스케줄링은 CPU를 사용하려고 하는 프로세스들 사이의 우선순위
          를 관리하는 작업이다.
          • 스케줄링은 처리율과 CPU 이용률을 증가시키고 오버헤드, 응답시간, 반환
          시간, 대기시간을 최소화시키기 위한 기법이다
        • 특정 프로세스가 적합하게 실행되도록 프로세스 스케줄링에 의해 프로세스
          사이에서 CPU 교체가 일어난다.
          • 프로세스 스케줄링을 실행하는 스케줄러의 유형에는 장기, 중기, 단기 스케
          줄러가 있다
      1. 프로세스 스케줄링 주요 용어
        용어설명
        서비스 시간프로세스가 결과를 산출하기까지 소요되는 시간
        응답시간 (Response Time)프로세스가 입력되어 서비스를 요청하고, 반응하기 시작할 때까지 소요되는 시간
        반환시간 (Turnaround Time)프로세스가 입력되어 수행하고 결과를 산출하기까지 소요되는 시간. 반환시간 = 대기시간 + 수행시간
        대기시간프로세스가 프로세서에 할당되기까지 큐에 대기하는 시간
        평균 대기시간프로세스가 대기 큐에서 대기하는 평균 시간
        종료시간요구되는 Processing Time을 모두 수행하고 종료된 시간
        시간 할당량 (Time Quantum 또는 Time Slice)한 프로세스가 프로세서를 독점하는 것을 방지하기 위해 서비스되는 시간 할당량
        응답률(대기시간 + 서비스 시간) / 서비스 시간

        HRN(Highest Responce ratio Next) 스케줄링에서 사용됨. HRN 스케줄에서 응답률이 높으면 우선순위가 높다고 판단.
      1. 프로세스 스케줄링 유형
      1. 프로세스 스케줄링 알고리즘
      1. 프로세스 스케줄링 알고리즘 계산 방법

        CPU 스케줄링 이걸 참고해… 여기 설명 너무 구려 (297~305page)

    1. 프로세스 관리 -교착 상태
      1. 교착상태 개념
        • 교착상태는 다중프로세싱 환경에서 두 개 이상의 프로세스가 특정 자원할당을 무한정 대기하는 상태이다.
      1. 교착상태 발생 조건
        발생 조건설명
        상호 배제 (Mutual Exclusion)프로세스가 자원을 배타적으로 점유하여 다른 프로세스가 그 자원을 사용할 수 없는 상태
        점유와 대기 (Hold & Wait)한 프로세스가 자원을 점유하고 있으면서 또 다른 자원을 요청하여 대기하고 있는 상태
        비선점 (Non Preemption)한 프로세스가 점유한 자원에 대해 다른 프로세스가 선점할 수 없고, 오직 점유한 프로세스만이 해제 가능한 상태
        환형 대기 (Circular Wait)두 개 이상의 프로세스 간 자원의 점유와 대기가 하나의 원형을 구성한 상태
      1. 교착상태 해결방법
        해결 방법설명세부 기법
        예방 (Prevention)상호 배제를 제외한 나머지 교착상태 발생 조건을 부정하는 방법점유 자원 해제 후 새 자원 요청
        회피 (Avoidance)안전한 상태를 유지할 수 있는 요구만 수락은행가 알고리즘, Wound-Wait, Wait-Die
        발견 (Detection)시스템의 상태를 감시 알고리즘 통해 교착
        상태 검사
        자원할당 그래프, Wait for Graph
        복구 (Recovery)교착 상태를 해결하기 위해 교착 상태가 없어질 때까지 프로세스를 순차적으로 종료하여 제거하고 교착 상태를 해결하는 방법프로세스 Kil, 자원선점
    1. 디스크 스케줄링
      1. 디스크 스케줄링 개념
        • 디스크 스케줄링이란 사용할 데이터가 디스크상의 여러 곳에 저장되어 있을 경우, 데이터를 액세스하기 위해 디스크 헤드를 움직이는 경로를 결정하는 기법이다.
        • 디스크 스케줄링은 운영체제(OS)가 담당하고 디스크 스케줄링의 목적은 처리량 최대화, 응답시간 최소화이다.
      1. 디스크 스케줄링 종류
        • 디스크 스케줄링의 종류에는 FCFS, SSTF, SCAN, C-SCAN, LOOK,
          N-STEP SCAN, SLTF 스케줄링 기법 등이 있다
        유형설명
        FCFS (First Come First Served)디스크 대기 큐에 가장 먼저 들어온 트랙에 대한 요청을 먼저 서비스하는 기법
        SSTF (Shortest Seek Time First)현재 위치에서 탐색 거리가 가장 짧은 트랙에 대한 요청을 먼저 서비스하는 기법
        SCAN일괄처리 시스템에 유용하며 현재 헤드 위치에서 가장 가까운 거리에 있는 트랙으로 헤드를 이동시키고 해당 방향의 모든 요청을 서비스한 후 역방향의 요청 사항을 서비스하는 기법
        C-SCAN (Circular SCAN)현 위치에서 진행 방향이 결정되면 탐색 거리가 짧은 순서에 따라 그 방향의 모든 요청을 서비스하고, 끝까지 이동한 후 역방향으로 진행하면서 바깥쪽부터 탐색하는 방법으로 비교적 공평한 기법이며 SCAN을 기초로 사용하며 요청이 없는 방향으로 진행할 때 서비스하는 기법
        LOOKSCAN 기법을 기초로 하며 어떤 방향의 진행이 시작될 당시에 대기 중이던 요청들만 서비스하고, 진행 도중 도착한 요청들은 한꺼번에 모아서 다음의 반대 진행 방향으로 진행할 때 서비스하는 기법으로 섹터 큐잉(Sector Queuing)이라고 하며, 회전 지연 시간 최적화를 위해 구현된 기법임
        N-STEP SCAN디스크 헤드가 특정 실린더에 도착하면 그 실린더 내의 여러 트랙에 대한 요청을 검사한 후, 회전 지연 시간이 가장 짧은 요청부터 서비스하는 기법
  1. 가상화, 클라우드 (308)
    1. 가상화 개념
      • 가상화는 물리적인 리소스들을 사용자에게 하나로 보이게 하거나, 하나의 물리적인 리소스를 여러 개로 보이게 하는 기술이다.
      • 대부분의 서버는 용량의 20% 정도만을 사용하는데, 가상화를 통해 서버의 가동률을 60- 70% 이상으로 올릴 수 있다
      1. 가상화의 종류
        종류설명
        플랫폼 가상화하드웨어 플랫폼 위에서 실행되는 호스트 프로그램이 게스트 프로그램을 만들어 마치 독립된 환경을 만들어 낸 것처럼 보여주는 기법. 게스트 소프트웨어 위에서 사용자는 독립된 하드웨어에서 소프트웨어가 실행되는 것처럼 활용하는 기법이다.
        리소스 가상화메모리, 저장 장치, 네트워크 등을 결합하거나 나누기 때문에 사용자는 가상화된 물리적 장치들이 어떤 위치에 있는지 알기 어려움.
      1. 가상화 기술요소
        기술요소설명
        컴퓨팅 가상화물리적으로 컴퓨터 리소스를 가상화하여 논리적 단위로 리소스를 활용할 수 있도록 하는 기술.
        서버 가상화를 통해 하나의 시스템에서 1개 이상의 운영체제를 동시에 가동시킬 수 있으므로, 서버 이용률이 크게 향상된다.

        예: 하이퍼바이저(hypervisor)
        스토리지 가상화서버와 스토리지 사이에 소프트웨어/하드웨어 계층을 추가하여 스토리지를 논리적으로 제어 및 활용할 수 있도록 하는 기술.
        이기종 스토리지 시스템의 통합을 가능하게 하며, 분산 파일 시스템 등이 이에 속한다.
        VO 가상화서버의 I/O 자원을 물리적으로 분리하고 케이블과 스위치 구성을 단순화하여 효율적인 연결을 지원하는 기술. 가상 네트워크 인터페이스 카드가 이에 해당한다.
        컨테이너컨테이너화된 애플리케이션들이 단일 운영체제상에서 실행되도록 해주는 기술.
        하이퍼바이저 없이 운영체제가 격리된 프로세스로 동작하기 때문에 오버헤드가 낮다. 도커(Docker)가 이에 속한다.
        분산처리 기술여러 대의 컴퓨터 계산 및 저장 능력을 이용하여 커다란 계산 문제나 대용량의 데이터를 처리하고 저장하는 기술.
        네트워크 가상화 기술물리적으로 떨어져 있는 다양한 장비들을 연결하기 위한 수단으로 중계장치(라우터, 스위치 등)의 가상화를 통한 가상 네트워크(Virtual Network)를 지원하는 기술. SDN, NFV가 이에 속한다.
    1. 클라우딩 컴퓨팅
      • 클라우드 컴퓨팅은 인터넷을 통해 가상화된 컴퓨터 시스템 리소스(IT 리소스)를 제공하고, 정보를 자신의 컴퓨터가 아닌 클라우드(인터넷)에 연결된 다른 컴퓨터로 처리하는 기술이다.
      • 구성 가능한 컴퓨팅 자원(예: 컴퓨터 네트워크, 데이터베이스, 서버, 스토리지, 애플리케이션, 서비스)에 대해 어디서나 접근할 수 있다
      1. 클라우딩 컴퓨팅 분류
        분류주요 내용
        사설 클라우드- 기업 또는 조직 내부에 구축되어 운영되는 클라우드
        - 자체 컴퓨팅 자원을 사용하여 모든 하드웨어, 소프트웨어, 데이터를 수용
        - 직접적인 통제가 가능하며 보안성을 높일 수 있음
        공용 클라우드- 클라우드 서비스 제공 업체에서 다중 사용자를 위한 컴퓨팅 자원 서비스를 제공하는 클라우드
        - 일정한 비용을 지불하고 하드웨어, 소프트웨어 등을 사용
        - 확장성, 유연성 등이 뛰어남
        하이브리드 클라우드- 기업 또는 조직 내부 자원을 이용한 사설 클라우드와 공용 클라우드를 모두 사용하는 클라우드
        - 사설 클라우드의 구축 비용 문제와 공용 클라우드의 보안성 확보 문제를 해결
        - 업무의 중요도, 보안성 확보의 중요도 등에 따라 이용 형태를 유연하게 변경 가능
      1. 클라우드 컴퓨팅 유형
        유형설명
        인프라형 서비스- 서버, 스토리지 등 시스템 자원을 클라우드로 제공하는 서비스
        - 컴퓨팅 자원에 운영체제나 애플리케이션을 탑재하고 실행
        - 클라우드 인프라를 제어하거나 관리하지 않지만, 스토리지와 애플리케이션에 대해서는 제어 가능
        플랫폼형 서비스- 개발을 위한 플랫폼을 구축할 필요 없이, 필요한 개발 요소를 웹에서 빌려 쓸 수 있는 서비스
        - 개발, 실행, 관리를 위한 플랫폼을 제공
        소프트웨어형 서비스- 소프트웨어와 관련 데이터가 중앙에 호스팅되고, 사용자는 클라이언트를 통해 접속하여 소프트웨어 이용
        - OS, 애플리케이션, 애플리케이션 호스팅 환경에 대한 제어 권한을 가짐
        - 주문형 소프트웨어로서, 웹 브라우저 등의 클라이언트를 통해 접속하여 소프트웨어를 이용하는 형태

네트워크 기초 활용하기

네트워크 계층 구조 파악

  1. 네트워크 개념
    • 네트워크는 원하는 정보를 원하는 수신자 또는 기기에 정확하게 전송하기 위한 기반 인프라.
    분류개념설명
    WAN관대역 네트워크- LAN에 비해 전공 거리가 넓음, 라우팅 알고리즘이 필요
    - LAN 대비 에러율이 높고 전송 지연이 큼
    LAN근거리 네트워크- 한 건물 또는 작은 지역을 커버하는 네트워킹
  1. OSI 7계층
    • OSI 7계층은 국제 표준화 기구인 ISO (International Standardization Organization) 에서 개발한 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 개방형 시스템 상호 연결 모델이다.
    • 각 계층은 서로 독립적으로 구성되어 있고, 각 계층은 하위 계층의 기능을 이용하여 상위 계층에 기능을 제공한다.
    • 1계층인 물리 계층부터 7계층인 애플리케이션 계층으로 정의되어 있다.
    • 계층을 지날 때마다 헤더(Header)가 붙는데, 이것은 해당 계층의 기능과 관련된 제어 정보가 포함되어 있다.
    • 제어 정보들은 모두 운영체제가 제공하는 프로토콜에 의해 송신 측에서는계층을 지날 때마다 덧붙여서 추가되고, 수신 측에서는 계층을 지날 때마다 제거된다.
    계층 이름설명프로토콜전송 단위장비
    응용 계층응용 프로그램 간의 통신을 위한 고수준 API 및 프로토콜을 제공합니다.HTTP, SMTP, FTP, DNS, DHCP데이터엔드 장치, 서버
    표현 계층통신을 거치는 데이터를 수신 측에서 읽을 수 있도록 보장합니다.SSL, TLS, JPEG, ASCII데이터없음 (N/A)
    세션 계층응용 프로그램 간의 연결을 설정, 관리 및 해제합니다.NetBIOS, RPC, SQL데이터없음 (N/A)
    전송 계층오류 검출 및 복구를 포함하여 끝 시스템 간의 데이터 전송을 투명하게 제공합니다.TCP, UDP세그먼트, 데이터그램라우터, 방화벽
    네트워크 계층네트워크를 통해 데이터 패킷의 라우팅 및 전달을 처리합니다. IP, ICMP, ARP패킷라우터, L3 스위치
    데이터 링크 계층네트워크에 연결된 두 노드 간의 데이터 프레임 전송을 담당하며 신뢰성 있는 전송을 제공합니다.이더넷, PPP, HDLC, 프레임 릴레이프레임스위치, 브리지
    물리 계층장치 간의 물리적 연결과 비트 스트림의 전송을 다룹니다.이더넷, 와이파이, USB비트허브, 케이블
  1. 통신망
    1. 근거리 통신망
      • 근거리 통신망은 네트워크 매체를 이용하여 집, 사무실, 학교 등의 건물과 같은 가까운 지역을 한데 묶는 컴퓨터 네트워크이다
        구분설명
        전송 매체• 동축 케이블(Coaxial Cable)
        • 광섬유 케이블(Optical Fiber Cable)
        • 평형 케이블(Twisted Pair Cable)
        • UTP(Unshielded Twisted Pair)
        • 광 케이블(Optical Cable
        전송 방식• 기저 대역(Baseband) 방식
        • 광대역(Broadband) 방식
        전송망 구성 형태 • 버스형(Bus), 트리형(Tree), 링형(Ring), 성형(Star)
    1. 무선랜 통신망
      • 무선랜 통신망은 유선 LAN과 무선 단말 사이를 무선주파수를 이용하여 전송하는 네트워크이다.
      • IEEE 802.11은 흔히 무선랜, 와이파이(Wi-Fi)라고 부르는 무선 근거리 통신망(Local Area Network)을 위한 컴퓨터 무선 네트워크에 사용되는 기술로, IEEE의 LAN/MAN 표준위원회(IEEE 802)의 11번째 워킹 그룹에서 개발된 표준 기술이다.
        표준설명
        802.11a5GHz 대역에서 54Mbps 속도를 제공
        802.11b2.4GHz 대역에서 11Mbps 속도를 제공. QoS 강화를 위해 MAC 지원 기능을 채택
        802.11e초고속 서비스(IP 전화, 비디오)에 QoS를 제공
        802.11fAP 간의 로밍 기능을 향상시킨 표준
        802.11g802.11b와 비슷하나 속도가 향상(22Mbps 이상)
        802.11i무선랜의 보안 기능 향상
        802.11h802.11e에 전파 간섭을 방지하는 기능 지원
        802.11ac다중 단말의 무선랜 속도는 최소 1Gbit/s, 최대 단일링크 속도는 최소 500Mbit/s까지 가능한 기술
        802.11ad60GHz 대역을 사용해 데이터를 전송하는 방식으로 대용량의 데이터나 무압축 HD 비디오 등 높은 동영상 스트리밍에 적합
        802.11ax하나의 AP가 다수의 디바이스를 밀도 있게 지원하는 Capacity 최대화 Wifi 기술
    1. 원거리 통신망
      • WAN은 국가망 또는 각 국가의 공중통신망을 상호 접속시키는 국제정보통신망으로 설계 및 구축, 운용되는 네트워크이다.
      • WAN은 공중통신망 사업자가 구축하고, 일반 대중 가입자들에게 보편적인 정보통신 서비스를 제공한다.
      • 거리에 제약이 없으나 다양한 경로를 지나 정보가 전달되므로 LAN보다 속도가 느리고 에러율도 높다.
      • 원거리 통신망 연결 기술에는 전용 회선 방식, 회선 교환 방식, 패킷 교환 방식이 있다
      연결기술설명
      전용 회선 방식 (Dedicated Line)통신 사업자가 사전에 계약을 체결한 송신자와 수신자끼리만 데이터를 교환하는 방식. 물리적 전용선을 활용하여 데이터 전달 경로가 정해진 후 동일 경로로만 전달됨. 대역폭이 고정되어 안정적인 전송률을 확보할 수 있음. 점대점 프로토콜(PPP), HDLC, SDLC, HNAS 프로토콜에 쓰임.
      회선 교환 방식 (Circuit Switching)데이터를 동시에 전송할 수 있는 양을 의미하는 대역폭이 고정되고 안정적인 전송률을 확보할 수 있음. 점대점 프로토콜(PPP), ISDN 프로토콜에 쓰임.
      패킷 교환 방식 (Packet Switching)전체 메시지를 각 노드가 수용할 수 있는 크기(패킷)로 잘라서 보내는 방식. 데이터를 작은 패킷 단위로 전송하므로 효율적인 데이터 전송이 가능함. X.25, 프레임 릴레이 프로토콜에 쓰임.
    1. 전송 매체 접속 제어
      • 통신망 사용 시 공유 매체에 대한 다중 접근제어가 중요하다.
      • 전송매체 접속제어 방법에는 CSMA/CD와 CSMA/CA가 있다.
      분류설명
      CSMA/CD(Carrier Sense M니tiple
      Access with Collision Detection;반송파 감지 다중 접속 / 충돌탐지)
      IEEE802.3 유선 LAN의 반이중 방식(Half Duplex)에서 사용하는 방식. 각 단말이 신호 전송 전에 현재 채널이 사용 중인지 체크하여 사용하지 않을 때 전송하는 전송매체 접속제어(MAC) 방식.
      CSMA/CA(Carrier Sense Multiple
      Access with Collision Avoidance;반송파 감지 다중 접속 / 충돌 회피)
      IEEE 802.11 무선 LAN의 반이중 방식(Half Duplex)에서 사용하는 방식. 충돌을 회피하기 위해서 임의 시간을 기다린 후 데이터를 전송하는 방법.
  1. 네트워크 장비
    1. 1계층 장비
      장비설명
      허브 (Hub)여러 대의 컴퓨터를 연결하여 네트워크로 보내거나, 하나의 네트워크로 수신된 정보를 여러 대의 컴퓨터로 송신하기 위한 장비입니다.
      리피터 (Repeater)디지털 신호를 증폭시켜 주는 역할을 하여 신호가 약해지지 않고 컴퓨터로 수신되도록 하는 장비입니다.
    1. 2계층 장비
      장비설명
      브리지 (Bridge)두 개의 근거리 통신망(LAN)을 서로 연결해 주는 통신망 연결 장치입니다.
      L2 스위치 (L2 Switch)느린 전송속도의 브리지, 허브의 단점을 개선하기 위해서, 출발지에서 들어온 프레임을 목적지 MAC 주소 기반으로 빠르게 전송시키는 데이터 링크 계층의 통신 장치입니다. L2 스위치는 종류에 따라 3가지 방식 중 하나를 사용합니다: 1) 데이터를 전부 받은 후 다음 처리를 하는 방식, 2) 데이터의 목적지 주소만 확인 후 바로 전송 처리하는 방식, 3) 프레임의 앞 64바이트만을 읽어 에러를 처리하고 목적지 포트로 전송하는 방식입니다.
      L2 스위치 (L2 Switch)
      -

      스토어 앤 포워드 (Store and Forwarding)
      네트워크 장비가 패킷을 수신할 때, 전체 패킷을 수신한 후 에러 체크 및 처리를 마친 후에 전송하는 방식입니다.
      L2 스위치 (L2 Switch)
      -

      컷 스루 (Cut Through)
      스위치가 데이터를 목적지로 전송하기 위해 프레임의 목적지 주소를 확인한 후 바로 전송하는 방식입니다.
      L2 스위치 (L2 Switch)
      -

      프래그먼트 프리 (Fragment Free)
      스위치가 프레임의 앞부분을 읽어 에러를 처리한 후에 목적지로 전송하는 방식입니다.
      NIC (Network Interface Card)외부 네트워크와 접속하여 가장 빠른 속도로 데이터를 주고받을 수 있게 컴퓨터 내에 설치되는 장치입니다.
      스위칭 허브 (Switching Hub)스위치 기능을 가진 허브로, 사용되는 대부분의 허브가 스위칭 허브입니다.
      • 스위치 장비의 주요 기술요소에는 VLAN과 STP가 있다.
        기술요소설명
        VLAN (Virtual Local Area Network)물리적 배치와 상관없이 논리적으로 LAN을 구성하여 Broadcast Domain을 분할할 수 있게 해주는 기술로, 접속된 장비들의 성능 향상 및 보안성 증대 효과가 있습니다.
        STP (Spanning Tree Protocol)2개 이상의 스위치가 여러 경로로 연결될 때, 무한 루프 현상을 막기 위해 우선순위에 따라 1개의 경로로만 통신하도록 하는 프로토콜입니다.
    1. 3계층 장비
      장비설명
      라우터 (Router)LAN과 LAN을 연결하거나 LAN과 WAN을 연결하기 위한 인터넷 네트워킹 장비로, 패킷의 위치를 추출하여 최적의 경로를 지정하고 데이터를 다음 장치로 전송하는 역할을 합니다. 라우팅 프로토콜을 사용하여 경로 설정을 하여 데이터가 안전하게 전달됩니다.
      게이트웨이 (Gateway)서로 다른 통신망에 접속할 수 있게 해주는 장치로, LAN에서 다른 네트워크에 데이터를 보내거나 다른 네트워크로부터 데이터를 받아들이는 출입구 역할을 합니다.
      L3 스위치 (L3 Switch)3계층에서 네트워크 단위들을 연결하는 통신 장비로, IP 레이어에서의 스위칭을 수행하여 외부로 전송합니다. 라우터와의 경계가 모호합니다.
      유무선 인터넷 공유기외부로부터 들어오는 인터넷 라인을 연결하여 유선 또는 무선으로 여러 대의 기기를 연결하고 인터넷 라인을 공유할 수 있도록 하는 네트워크 장비입니다.
      망(백본) 스위칭 허브광역 네트워크를 커버하는 스위칭 허브로, 대단위 지역의 스위칭을 커버합니다.
    1. 4계층 장비
      • L4 스위치
        • 4계층에서 네트워크 단위들을 연결하는 통신 장비
        • TCP/UDP 등 스위칭 수행
        • 애플리케이션 레이어에서 파악이 가능한 이메일 내용 등 정교한 로드 밸런싱 수행 불가
        • 4계층 정보인 TCP/UDP 포트번호를 분석하여 포워딩을 결정하고 QoS와 GLB /SLB 기능을 제공하는 스위치

네트워크 프로토콜 파악

  1. 프로토콜
    1. 프로토콜(Protocol) 개념[2020년 3회
      • 프로토콜은 서로 다른 시스템이나 기기들 간의 데이터 교환을 원활히 하기 위한 표준화된 통신규약이다.
      • 심리학자 톰 마릴은 컴퓨터가 메시지를 전달하고, 메시지가 제대로 도착했는지 확인하며, 도착하지 않았을 경우 메시지를 재전송하는 일련의 방법을 ‘기술적 은어’를 뜻하는 프로토콜이라고 정의했다.
      • 통신을 위해 프로토콜이 가져야 하는 일반적인 기능에는 데이터 처리 기능, 제어기능, 관리적 기능이 있다.
    1. 프로토콜의 기본 3요소[2020년 1회
      구분설명
      구문 (Syntax)시스템 간의 정보 전송을 위한 데이터 형식, 코딩, 신호 레벨 등의 규정을 의미합니다.
      의미 (Semantic)시스템 간의 정보 전송을 위한 제어 정보로 조정과 에러 처리를 위한 규정을 의미합니다.
      타이밍 (Timing)시스템 간의 정보 전송을 위한 속도 조절과 순서 관리 규정을 의미합니다.
  1. 네트워크 프로토콜 개념
    • 네트워크 프로토콜은 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고받는 양식과 규칙의 체계이다.
    • 통신 규약 또는 규칙에는 전달 방식, 통신 방식, 자료의 형식, 오류 검증 방식, 코드 변환 규칙, 전송 속도 등을 정하게 된다.
    • 다른 기종의 장비는 각기 다른 통신 규약을 사용하는데 프로토콜을 사용하면 다른 기기 간 정보의 전달을 표준화할 수 있다.
    • 프로토콜은 다음과 같은 특징이 있다
      특징설명
      단편화전송이 가능한 작은 블록으로 나누어지는 기법
      재조립단편화되어 온 조각들을 원래 데이터로 복원하는 기법
      캡슐화상위 계층의 데이터에 각종 정보를 추가하여 하위 계층으로 보내는 기법
      연결 제어데이터의 전송량이나 속도를 제어하는 기법
      오류 제어전송 중 잃어버리는 데이터나 오류가 발생한 데이터를 검증하는 제어 기법
      동기화송신과 수신 측의 시점을 맞추는 기법
      다중화하나의 통신 회선에 여러 기기들이 접속할 수 있는 기술
      주소지정송신과 수신지의 주소를 부여하여 정확한 데이터 전송을 보장하는 기술
  1. 데이터 링크 계층(2계층)
    1. 데이터 링크 계층의 개념
      • 데이터 링크 계층은 링크의 설정과 유지 및 종료를 담당하며 노드 간의 회선 제어, 흐름 제어, 오류 제어 기능을 수행하는 계층이다.
    1. 데이터 링크 계층 프로토콜
      프로토콜설명
      HDLC (High-Level Data Link Control)ISO에서 표준화한 동기식 비트 중심의 데이터 링크 프로토콜으로, 점대점 방식이나 다중방식의 통신에 사용됨.
      PPP (Point-to-Point Protocol)네트워크 분야에서 두 통신 노드 간의 직접적인 연결을 위해 사용되는 프로토콜.
      프레임 릴레이 (Frame Relay)네트워크에서 사용되는 데이터 링크 프로토콜 중 하나로, 프로토콜 처리를 간략화하여 데이터 프레임들의 중계와 다중화 기능만을 수행함.
      ATM (Asynchronous Transfer Mode)고속의 데이터 전송을 위한 비동기식 시분할 다중화 방식의 패킷형 전송 기술으로, 정보전달의 기본단위를 53바이트 셀 단위로 전달함.
    1. 데이터 링크 계층의 오류 제어
      • 오류 제어는 데이터 전송 시 감쇠, 왜곡, 잡음에 의해 생성된 오류를 검출하고 정정하는 기능으로 데이터 전송의 신뢰성을 위해 반드시 필요한 기능이다.
      • 오류 제어 방식에는 전진(순방향) 오류 수정 방식과 후진(역방향) 오류 수정 방식이 있다.
      • 자동반복 요청 방식(ARQ)의 종류에는 Stop-and-Wait ARQ 방식, Go-back-NRQ 방식, Selective Repeat ARQ 방식이 있다.
        종류설명
        Stop-and-Wait ARQ 방식한 개의 프레임을 전송하고, 수신 측으로부터 ACK 및 NAK 신호를 수신할 때까지 정보 전송을 중지하고 기다리는 방식. 송신 측이 ACK를 받으면 다음 프레임을 전송하고, NAK를 받으면 재전송.
        Go-back-N ARQ 방식데이터 프레임의 정확한 수신 여부를 매번 확인하면서 연속적으로 다음 프레임을 전송하는 오류 제어 방식. NAK를 수신하면 오류가 발생한 프레임 이후의 모든 데이터 프레임을 재전송함.
        Selective Repeat ARQ 방식연속적으로 데이터 프레임을 전송하고, 에러가 발생한 데이터 프레임만을 재전송하는 방식.
  1. 네트워크 계층(3계층)
    1. 네트워크 계층(Network Layer)의 개념
      • 네트워크 계층은 다양한 길이의 패킷을 네트워크들을 통해 전달하고, 그 과정에서 전송 계층이 요구하는 서비스 품질(QoS)을 위한 수단을 제공하는 계층이다.
      • 네트워크 계층은 라우팅, 패킷 포워딩, 인터 네트워킹(Inter-Networking) 등을 수행한다
    1. 네트워크 계층 프로토콜
      프로토콜설명
      IP (Internet Protocol)네트워크에서 송수신 간의 패킷 단위로 데이터를 교환하는 데 사용되는 통신 프로토콜.
      ARP (Address Resolution Protocol)IP 네트워크에서 IP 주소를 MAC 주소(물리 주소)로 변환하는 프로토콜. 호스트가 자신의 물리 네트워크 주소를 알지만 IP 주소를 모를 때 사용됨.
      RARP (Reverse Address Resolution Protocol)물리 네트워크(MAC) 주소에 해당하는 IP 주소를 알려주는 역순 주소 결정 프로토콜. 서버로부터 IP 주소를 요청하기 위해 사용됨.
      ICMP (Internet Control Message Protocol)IP의 동작 과정에서 전송 오류가 발생할 때 오류 정보를 전송하는 목적으로 사용되는 프로토콜. ping 유틸리티의 구현을 통해 오류가 발생함을 알리는 기능을 수행함.
      IGMP (Internet Group Management Protocol)멀티캐스트 그룹 멤버십을 구성하는 데 사용되는 통신 프로토콜. 화상회의, IPTV 등에서 활용되며, 그룹 가입, 멤버십 감시, 멤버십 응답, 멤버십 탈퇴 기능을 수행함.
      라우팅 프로토콜 (Routing Protocol)데이터 전송을 위해 목적지까지 갈 수 있는 여러 경로 중 최적의 경로를 설정해주는 라우터 간의 상호 통신 프로토콜.
    1. IPv4
      1. IPv4(lnternet Protocol version 4) 개념
        • IPv4는 인터넷에서 사용되는 패킷 교환 네트워크상에서 데이터를 교환하기 위한 32비트 주소체계를 갖는 네트워크 계층의 프로토콜이다.
      1. IPv4 헤더(Header)
        • IP 패킷의 앞부분에서 주소 등 각종 제어정보를 담고 있는 부분이다.
        • IPv4 헤더 사이즈는 옵션 미지정시에는 최소 20바이트 이상이다. (IPv6의 경우에는 최소 40바이트 이상이다.)
         0      4       8      12     16     20      24     28     31
        +--------+--------+--------+--------+--------+--------+--------+
        | Version|  IHL   |  DSCP  |ECN |    Total Length              |
        +--------+--------+--------+--------+--------+--------+--------+
        | Identification               |Flags|     Fragment Offset      |
        +--------+--------+--------+--------+--------+--------+--------+
        |  Time to Live      | Protocol     |     Header Checksum         |
        +--------+--------+--------+--------+--------+--------+--------+
        |                      Source IP Address                         |
        +--------+--------+--------+--------+--------+--------+--------+
        |                  Destination IP Address                       |
        +--------+--------+--------+--------+--------+--------+--------+
        |       Options (if IHL > 5)       |          Padding            |
        +--------+--------+--------+--------+--------+--------+--------+
        
      1. IPv4 주소체계
        • 1P프4의 주소체계는 10진수로 총 12자리이며, 네 부분으로 나뉜다.
        • 각 부분은 0-255까지 3자리의 수로 표현된다.
        • IPv4 주소는 32비트로 구성되어 있으며, 인터넷 사용자의 증가로 인해 주소 공간의 고갈로 128비트 주소체계를 갖는 IPv6가 등장, 점차 확산되고 있다.
        • 32비트 IP 주소는 Network를 나타내는 부분과 Host를 나타내는 부분으로 구성되어 있고, Network 부분과 Host 부분을 구분하는 것은 서브넷 마스크 (Subnet Mask) 이다.
        클래스설명범위
        A• A 클래스는 가장 높은 단위의 클래스로서, 1 126 (0,127로 시작된 IP는 예약됨) 범위의 IP 주소를 가짐
        • 두 번째, 세 번째, 네 번째 단위의 세 숫자는 A Class가 자유롭게 네트워크 사용자에게 부여가 가능한 IP임
        0.0.0.0 ~ 127.255.255.255
        B• B 클래스는 두 번째로 높은 단위의 클래스로써, 첫 번
        째 단위의 세 숫자는 128 191 가운데 하나를 가짐
        • 두 번째 단위의 세 숫자는 B Class가 접속할 수 있는
        네트워크를 지시
        128.0.0.0 ~ 191.255.255.255
        C• C 클래스는 최하위의 클래스로서, 아이피 구성에서 첫 번째 단위의 세 숫자는 192 223 가운데 하나를 가짐
        • 두 번째와 세 번째 단위의 세 숫자는 C Class가 접속 할 수 있는 네트워크를 지시
        • C Class가 자유로이 부여할 수 있는 아이피는 마지막 네 번째 단위의 254개(2개는 예약)
        192.0.0.0 ~ 223.255.255.255
        D • 멀티캐스트 용도로 예약된 주소 224.0.0.0 ~ 239.255.255.255
        E • 연구를 위해 예약된 주소240.0.0.0 ~ 255.255.255.255
      1. 서브네팅
        1. 서브네팅 개념
          • 서브네팅은 IP 주소 고갈문제를 해결하기 위해 원본 네트워크를 여러 개의 네트워크로 분리하는 과정이다
          • 대표 네트워크 IP 주소일 경우 호스트 ID는 2진수 기준으로 모두 0을 채워넣고, 브로드캐스트 IP 주소일 경우 호스트 ID는 2진수 기준으로 모두 1을 채워 넣는다.
        1. 서브네팅 종류
          • 서브네팅 에는 FLSM 방식과 VLSM 방식 이 있다
          분류설명
          FLSM (고정 길이 서브넷 마스킹)서브넷의 길이를 고정적으로 사용하며, 한 대역을 동일한 크기로 나누는 방식입니다.
          VLSM (가변 길이 서브넷 마스킹)서브넷의 길이를 가변적으로 사용하며, 한 대역을 다양한 크기로 나누는 방식입니다.
    1. IPv6
      1. IPv6(lnternet Protocol version 6) 개념
        • IPv6는 인터넷 프로토콜 스택 중 네트워크 계층의 프로토콜로서 버전 6 인터넷 프로토콜로 제정된 차세대 인터넷 프로토콜을 말한다.
        • 현재 IPv4가 가지고 있는 주소 고갈, 보안성, 이동성 지원 등의 문제점을 해결하기 위해서 개발된 128Bit 주소체계를 갖는 차세대 인터넷 프로토콜이다.
      1. IPv6의 특징
        • IPv6의 특징으로는 IP 주소의 확장, 이동성, 인증 및 보안 기능, 개선된 QoS 지원, Plug&Play 지원, Ad-hoc 네트워크 지원, 단순 헤더 적용, 실시간 패킷 추적 가능이 있다.
          특징설명
          확장된 주소 공간IPv4의 32비트 주소 공간을 벗어나, IPv6는 128비트 주소 공간을 제공하여 IP 주소의 확장을 가능하게 합니다.
          이동성IPv6 호스트는 네트워크의 물리적 위치에 제한받지 않고 같은 주소를 유지하면서도 자유롭게 이동이 가능합니다.
          인증 및 보안 기능 패킷 출처 인증과 데이터 무결성 및 비밀 보장 기능을 IP 프로토콜 체계에 반영
          • IPSec 기능적용 및 IPv4보다 보안성 강화
          개선된 QoS 지원• 흐름 레이블(Flow Label) 개념을 도입, 특정 트래픽은 별도의 특별한 처리(실시간 통신 등)를 통해 높은 품질의 서비스를 제공
          Plug&Play 지원• IPv6 호스트는 IPv6 네트워크에 접속하는 순간 자동적으로 네트워크 주소를 부여받음
          • 멀티미디어의 실시간처리가 가능
          Ad-hoc 네트워크 지원• Ad-hoc 네트워크를 위한 자동 네트워킹 및 인터넷 연결 지원
          • 자동으로 네트워크 환경 구성이 가능
          단순 헤더 적용• IP 패킷의 처리를 신속하게 할 수 있도록 고정 크기의 단순 헤더를 사용 하는 동시에, 확장 헤더를 통해 기능에 대한 확장 및 옵션 기능의 사용이 용이한 구조
          실시간 패킷 추적 가능 • 흐름 레이블(Flow Label)을 사용하여 패킷의 흐름을 실시간 제공
      1. IPv6 헤더(Header)
        • 기존 IPv4 헤더에 비해 IPv6 헤더가 IPv6 출발지 주소, 목적지 주소의 주소 길이로 인하여 커졌고 IPv4의 불필요한 필드를 제거함으로써 헤더가 단순해졌다.
         0            4            8           12           16           20           24           28
        +------------+------------+------------+------------+------------+------------+------------+------------+
        | Version (4 bits) | Traffic Class (8 bits) | Flow Label (20 bits)                                        |
        +------------+------------+------------+------------+------------+------------+------------+------------+
        | Payload Length (16 bits)                                   | Next Header (8 bits) | Hop Limit (8 bits) |
        +------------+------------+------------+------------+------------+------------+------------+------------+
        |                                                                                                                    |
        +                                                                                                                    +
        |                                                                                                                    |
        +                     Source Address (128 bits)                                                                      +
        |                                                                                                                    |
        +                                                                                                                    +
        |                                                                                                                    |
        +------------+------------+------------+------------+------------+------------+------------+------------+
        |                                                                                                                    |
        +                                                                                                                    +
        |                                                                                                                    |
        +                   Destination Address (128 bits)                                                                   +
        |                                                                                                                    |
        +                                                                                                                    +
        |                                                                                                                    |
        +------------+------------+------------+------------+------------+------------+------------+------------+
        |                                                                                                                    |
        +                                                                                                                    +
        |                                                                                                                    |
        +                                                                                                                    +
        |                               Upper-Layer Payload                                                                  |
        |                                                                                                                    |
        +                                                                                                                    +
        |                                                                                                                    |
        +------------+------------+------------+------------+------------+------------+------------+------------+
        
      1. IPv6 주소 체계
        • IPv4는 32비트의 주소 공간을 제공함에 반해, IPv6는 128비트의 주소 공간을 제공한다.
        • IPv6 주소의 경우 일반적으로 16비트 단위로 나누어지며 각 16비트 블록은 다시 4자리 16진수로 변환되고 콜론으로 구분된다.
        • 64비트를 기준으로 앞 64비트를 네트워크 주소로, 뒤 64비트를 네트워크에 연결된 랜카드 장비 등에 할당하는 인터페이스 주소로 활용된다.
        • IPv6의 128비트 주소 공간은 128비트로 표현할 수 있는 2珍8개인 약 3.4x10^38개의 주소를 갖고 있어 거의 무한대로 쓸 수 있다.
        • IPv6의 128비트 주소 공간은 다음과 같이 16비트(2옥텟)를 16진수로 표현하여 8자리로 나타낸다
        • 대부분의 자리가 0의 숫자를 갖게 되므로, 0000을 하나의 0으로 축약하거
          나, 혹은 아예 연속되는 0의 그룹을 없애고 ‘:’ 만을 남길 수 있다.
        • 아래의 IPv6 주소들은 모두 같은 주소를 나타낸다
        2001:0DB8:0000:0000:0000:0000:1428:57ab
         2001:0DB8:0000:0000:0000: : 1428:57ab
         2001:0DB8:0:0:0:0:1428:57ab
         2001:0DB8:0::0:1428:57ab
         2001:0DB8::1428:57ab
        • 맨 앞자리의 0도 축약할 수 있다.(2001:0DB8:02de::0el3는 2001:DB8:2de::el3로 축약할 수 있다.)
        • 0을 축약하고 ‘:’로 없애는 규칙은 두 번 이상으로 적용할 수 없다.
    1. IPv4와 IPv6 특징
      구분IPv4IPv6
      주소길이32 비트128 비트
      표시 방법8 비트씩 4 부분으로 나뉜 10진수16 비트씩 8 부분으로 나뉜 16진수
      주소개수약 43억 개3.4 X 10^38
      할당 방식A, B, C, D 등 클래스 단위 비순차적 할당네트워크 규모 및 단말기 수에 따른 순차적 할당
      주소할당비효율적효율적
      헤더 크기20 바이트의 기본 헤더 부분과 가변적인 길이40 바이트의 고정된 길이
      QoSBest Effort 방식 (보장 곤란)등급별, 서비스별 패킷 구분 보장
      보안기능IPSec 프로토콜 별도 설치보안과 인증 확장 헤더를 사용함으로써 인터넷 계층의 보안 기능을 강화
      Plug&Play 지원지원 안함지원
      모바일 IP 지원곤란용이
      웹 캐스팅 지원곤란용이
      전송 방식유니캐스트, 멀티캐스트, 브로드캐스트유니캐스트, 멀티캐스트, 애니캐스트
    1. IPv4에서 IPv6으로 전환 방법
      • IPv4 전용 호스트와 IPv6 전용 호스트 간의 통신을 위한 기술이며 주소와 헤더의 변환을 수행한다.
      • 변환 기술은 듀얼 스택, 터널링, 주소 변환 방식이 있다.
      1. 듀얼 스택(Dual Stack)
        • 듀얼 스택은 IP 계층에 두 가지(IPv4, IPv6)의 프로토콜이 모두 탑재되어 있고 통신 상대방에 따라 해당 IP 스택을 선택하는 방법이다.
        • 장점 : DNS 주소 해석 자이브러리가 두 IP 주소 유형을 모두 지원
        • 단점 : 프로토콜 스텍 수정으로 인한 과다한 비용 발생
      1. 터널링(Turinneling)
        • 터널링은 IPv6 망에서 인접한 IPv4 망을 거쳐 다른 IPv6 망으로 통신할 때 IPv4 망에 터널을 만들고 IPv4에서 사용하는 프로토콜로 캡슐화하여 전송하는 방법이다
        • 장점 : 여러 표준화 활동이 존재하과 다양한 기술 표준이 제안되고 있음
        • 단점 : 구현이 어려우며, 복잡한 동작과정을 거침
      1. 주소 변환(Address Translation)
        • 주소 변환 기술은 IPv4 망과 IPv6 망 사이에 주소 변환기(IPv4-IPv6 게이트 웨이)를 사용하여 서로 다른 네트워크상의 패킷을 변환시키는 방법이다.
        • 장점 : IPv4, IPv6 호스트의 프로토콜 스택에 대한 수정이 필요 없으며, 변환 방식이 투명하고 구현이 용이
        • 단점 : 고가의 주소 변환기 필요
        • 주소 변환 방식은 게이트웨이 관점이라고도 한다.
        • 게이트웨이 관점의 IPv4/IPv6 변환 방식은 변환 방법에 따라서 헤더 변환방식, 전송 계층 릴레이 방식, 응용 계층 게이트웨이 방식으로 분류한다.
    1. IP 통신 방식
      1. 멀티캐스트 프로토콜(Multicast Protocol)
        • 멀티캐스트 프로토콜은 인터넷에서 같은 내용의 데이터를 여러 명의 특정한 그룹의 수신자들에게 동시 에 전송할 수 있는 프로토콜이다.
        • 멀티캐스트 프로토콜=멀티캐스트 라우팅 프로토콜+그룹관리 프로토콜 (IGMP)
        멀티캐스트 라우팅 프로토콜그룹관리 프로토콜 (IGMP)
        IP 주소로 구분되는 네트워크상의 특정 그룹의 모든 사용자에게 동일한 메시지를 전송(Multicast)하기 위한 라우팅 프로토콜멀티캐스트를 지원하는 라우터가 멀티캐스트 그룹에 가입한 네트워크 내의 호스트를 관리하기 위해 사용하는 프로토콜
      1. 유니캐스트 프로토콜(Unicast Protocol)
        • 유니캐스트 프로토콜은 고유 주소로 식별된 하나의 네트워크 목적지에 1:1로 (One-to-One) 트래픽 또는 메시지를 전송하는 프로토콜이다
      1. 브로드캐스트 프로토콜(Broadcasting Protocol)
        • 브로드캐스트 프로토콜은 하나의 송신자가 같은 서브 네트워크상의 모든 수신자에게 데이터를 전송하는 프로토콜이다.
        • 전체에게 트래픽을 전달하는 브로드캐스트 프로토콜은 각 송신자가 그룹 내의 모든 수신자에게 메시지를 전송하는 컴퓨터 통신 방법이다
      1. 애니캐스트 프로토콜(Anycast Protocol)
        • 애니캐스트 프로토콜은 하나의 호스트에서 그룹 내의 가장 가까운 곳에 있는 수신자에게 데이터를 전달하는 프로토콜이다.
        • 하나의 수신 주소로 식별되는 다수의 노드로 데이터그램의 전송이 가능하다
          주소 형식• 여러 개의 인터페이스에 동일한 anycast 주소의 부여가 가능
          - Anycast 주소의 포맷은 Unicast 주소와 동일
          - 서브네트 Prefix 이후가 모두 ‘0’으로 채워져 있음
          패킷 전달- 송신자는 매트릭스를 참조하여 Anycast 그룹의 가장 가까운 인터페이스로 데이터를 전달
          - 가장 가까운 인터페이스의 판단 기준은 라우팅 매트릭스
          - A에 가장 먼저 전달, 그다음 C에 전달, 마지막으로 B에 전달
    1. 라우팅 프로토콜(3계층)
      • 데이터 전송을 위해 목적지까지 갈 수 있는 여러 경로 중 최적의 경로를 설정해 주는 라우터 간의 상호 통신규약이다.
      내부 라우팅 프로토콜 (IGP; Interior Gateway Protocol)외부 라우팅 프로토콜 (EGP; Exterior Gateway Protocol)
      - 동일한 AS 내의 라우팅에 사용되는 프로토콜- 서로 다른 AS 간 라우팅 프로토콜로 게이트웨이 간의 라우팅에 사용되는 프로토콜
      - RIP, IGRP, OSPF, 티GRP가 있음- BGP가 있음
      1. RIP(Routing Information Protocol)
        1. RIP 개념
          • RIP는 AS (Autonomous System; 자치 시스템; 자율 시스템) 내에서 사용하는 거리 벡터(Distance-Vector) 알고리즘에 기초하여 개발된 내부 라우팅 프로토콜이다.
        1. RIP 특징
          • RIP 특징으로는 벨만-포드 알고리즘 사용, 15홉 제한 등이 있다
      1. OSPF(Oper)Shortest Path First) [2020년 3회]
        1. OSPF 개념
          • OSPF는 규모가 크고 복잡한 TCP/IP 네트워크에서 RIP의 단점을 개선하기 위해 자신을 기준으로 링크 상태(Link-State) 알고리즘을 적용하여 최단 경로를 찾는 라우팅 프로토콜이다.
        1. OSPF 특징
          • OSPF 특징은 다익스트라 알고리즘 사용, 라우팅 메트릭 지정 등이 있다
          특징설명
          다익스트라 알고리즘 사용최단 경로 탐색에 다익스트라(Dijkstra) 알고리즘을 사용하는 내부 라우팅 프로토콜
          • 링크 상태 라우팅 기반 메트릭(Metric) 정보를 한 지역(Area) 내 모든 라우터에 변경이 발생했을 때만 보내(Flooding)고 라우팅 테이블을 구성 • 계산
          • 네트워크 변화에 신속하게 대처
          라우팅 메트릭 지정관리자가 최소 지연, 최대 처리량 등의 라우팅 메트릭을 지정할 수 있음
          AS 분할 사용자치 시스템을 지역(Area)으로 나누어 라우팅을 효과적으로 관리할 수 있음
          홉 카운트 무제한라우팅 패킷의 홉(hop) 카운트에 제한이 없어서 네트워크의 크기에 따라 확장 가능함
          멀티캐스팅 지원멀티캐스트(Multicast)를 사용하여 정보를 전달할 수 있음
      1. BGP(Border Gateway Protocol)
        1. BGP 개념
          • BGP는 AS 상호 간(Inter-AS 또는 Inter-Domain) 에 경로 정보를 교환하기 위한 라우팅 프로토콜이다.
        1. BGP 특징
          • 변경 발생 시 대상까지의 가장 짧은 경로를 경로 벡터(Path Vector) 알고리즘을 통해 선정하고, TCP 연결(port 179)을 통해 자치 시스템(AS)으로 라우팅 정보를 신뢰성 있게 전달한다.
          • ISP 사업자들 상호 간에 주로 사용되는 라우팅 프로토콜이다.
          • 순환을 피할 수 있도록 목적지까지 가는 경로 정보를 제공한다.
          • 라우팅 비용(CPU 부하)이 많이 들고, 라우팅 테이블의 크기가 커서 메모리 사용량이 많다.
      1. 라우팅 알고리즘
        • 데이터는 송신 측으로부터 수신 측까지 데이터를 전달하는 과정에서 다양한 물리적인 장치들을 거쳐 간다.
        • 목적지까지의 최적 경로를 산출하기 위한 법칙이 라우팅 알고리즘이다.
          유형설명
          거리 벡터 알고리즘• 거리 벡터 알고리즘은 인접 라우터와 정보를 공유하여 목적지까지의 거리와 방향을 결정하는 라우팅 프로토콜 알고리즘
          • 벨만-포드(Bellman-Ford) 알고리즘 사용
          • 각 라우터가 업데이트될 경우마다 전체 라우팅 테이블을 보내라고 요청하지만 수신된 경로 비용 정보는 이웃 라우터에게만 보내짐
          링크 상태 알고리즘• 링크 상태 알고리즘은 링크 상태 정보를 모든 라우터에 전달하여 최단 경로 트리를 구성하는 라우팅 프로토콜 알고리즘
          • 다익스트라(Dijkstra) 알고리즘 사용
          • 링크 상태 알고리즘을 사용하면 네트워크를 일관성 있게 파악할 수 있으나 거리 벡터 알고리즘에 비하여 계산이 더 복잡하고 트래픽을 공부범위한 범위까지 전달
  1. 전송 계층(4계층)
    1. 전송 계층(Transport Layer) 개념
      • 전송 계층은 상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않도록 해주면서 종단 간의 사용자들에게 신뢰성 있는 데이터를 전달하는 계층이다.
      • 순차 번호 기반의 오류 제어 방식을 사용하고, 종단 간 통신을 다루는 최하위 계층으로 종단 간 신뢰성 있고 효율적인 데이터를 전송한다.
      • 전송 계층 프로토콜에는 TCP, UDP가 있다
    1. TCP(Transmission Control Protocol)
      1. TCP 개념
        • TCP(전송 제어 프로토콜)은 인터넷 프로토콜 스위트의 핵심 프로토콜 중 하나로, IP와 함께 TCP/IP라는 명칭으로 사용된다.
        • TCP는 전송 계층에 위치하면서 근거리 통신망이나 인트라넷, 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간에 일련의 옥텟을 안정적으로, 순서대로, 에러 없이 교환할 수 있게 해주는 프로토콜이다
      1. TCP 특징
        • TCP의 세그먼트는 아래 그림과 같은 헤더 구조로 시작하고, 전송 데이터가 뒤따른다.
        • TCP 헤더 구조에서 마지막 줄의 Options와 Padding은 생략할 수 있으므로 TCP 헤더의 최소 크기는 20바이트다.
        • Options 필드는 다양한 종류의 부가 정보를 전달하는 데 사용하며 , 최대 40 바이트의 크기를 지원한다.
        • Padding 필드는 헤더의 크기를 4바이트 단위로 맞추려고 사용한다.
          특징설명
          신뢰성 보장패킷 손실, 중복, 순서 변경 등이 없도록 보장하여 신뢰성을 제공함
          TCP 하위 계층인 IP 계층의 신뢰성 없는 서비스를 보완하여 신뢰성을 제공함
          연결 지향적 특징TCP는 연결 지향적이며, 양단간 애플리케이션 또는 프로세스 간에 연결을 설정하여 통신함
          흐름 제어TCP는 흐름 제어 기능을 활용하여 송신 및 수신 속도를 조절하여 네트워크의 효율성을 높임
          혼잡 제어TCP는 혼잡 제어 기법을 사용하여 네트워크 혼잡 상황에서의 송신율을 조절함

      1. TCP 헤더 구조
        • TCP의 세그먼트는 아래 그림과 같은 헤더 구조로 시작하고, 전송 데이터가 뒤따른다.
        • TCP 헤더 구조에서 마지막 줄의 Options와 Padding은 생략할 수 있으므로 TCP 헤더의 최소 크기는 20바이트다.
        • Options 필드는 다양한 종류의 부가 정보를 전달하는 데 사용하며 , 최대 40 바이트의 크기를 지원한다.
        • Padding 필드는 헤더의 크기를 4바이트 단위로 맞추려고 사용한다.
          0                            16                           31
          -----------------------------------------------------------
         |       Source Port          |     Destination Port       |    16 bits
          -----------------------------------------------------------
         |                        Sequence Number                    |    32 bits
          -----------------------------------------------------------
         |                  Acknowledgment Number                   |    32 bits
          -----------------------------------------------------------
         | Data  | Reserved|  Control Bits |       Window Size       |    16 bits
         | Offset|         |  URG | ACK | PSH | RST | SYN | FIN |    |
          -----------------------------------------------------------
         |             Checksum            |       Urgent Pointer     |    16 bits
          -----------------------------------------------------------
         |                         Options (if any)                  |
         |                              ...                           |
          -----------------------------------------------------------
         |                      Data (Payload)                       |
         |                              ...                           |
          -----------------------------------------------------------
        
        구분내용크기
        Source/Destination Port Number송신지 Port 번호, 목적지 Port 번호
        양쪽 호스트 내 종단 프로세스 식별
        각 16비트
        Sequence Number바이트 단위로 구분되어 순서화되는 번호
        이를 통해. TCP에서는 신뢰성 및 흐름 제어 기능 제공
        32비트
        Acknowledgement
        Number
        상대편 호스트에서 받으려는 바이트 번호를 정의32비트
        HLEN(Header Length)TCP 헤더 길이를 4바이트(32비트) 단위로 표시4비트
        Flag BitTCP 연결 설정과 연결 해제 메시지를 구분하는 것이 제어 필드의 기능이며, 제어 필드는 1Bit로 구성
        URG, ACK, PSH, RST, SYN, FIN으로 구성
        6개
        Window Size해당 세그먼트의 송신 측이 현재 수신하고자 하는 윈도의 크기
        윈도우 크기는 송수신 측의 버퍼 크기로 전체 16bit로 되어 있고, 가으까지 표시할 수 있기 때문에 최대 크기는 65,535byte 임
        16 비트
        Checksum헤더 및 데이터의 에러 확인을 위해 사용되는 16비트 체크섬 필드
        데이터를 포함한 세그먼트의 오류를 검사
        16 비트
        Urgent PointerURG 플래그가 설정된 경우, 이 16비트 필드는 시퀀스 번호로부터의 오프셋을 나타냄16 비트
        Options and Padding최대 40 바이트까지 옵션 데이터 포함 가능
    1. UDP(User Datagram Protocol)
      1. UDP 개념
        • UDP는 비연결성이고, 신뢰성이 없으며, 순서화되지 않은 데이터그램 서비스를 제공하는 전송(Transport; 4계층) 계층의 통신 프로토콜이다.
      1. UDP 특징
        특징설명
        비신뢰성데이터그램 지향의 전송계층용 프로토콜이며, 논리적인 가상회선 연결이 필요 없음
        메시지가 제대로 도착했는지 확인하지 않음
        검사 합을 제외한 특별한 오류 검출 및 제어 없음(오류 제어 거의 없음)
        순서화되지 않은 데이터그램 서비스 제공수신된 메시지의 순서를 맞추지 않음
        흐름 제어를 위한 피드백을 제공하지 않음
        실시간 응용 및 멀티캐스팅 가능빠른 요청과 응답이 필요한 실시간 응용에 적합하며, 여러 다수 지점에 전송 가능
        단순 헤더헤더는 고정 크기의 8바이트만 사용 (TCP는 20바이트)
        헤더 처리에 시간과 노력을 필요하지 않음
      1. UDP 헤더 구조
        • UDP 헤더 구조는 다음 그림과 같이 경량의 헤더 구조로 데이터 그램의 신뢰를 보장하지 않는다
         0      7 8     15 16    23 24    31
        +--------+--------+--------+--------+
        |      Source Port      | Dest Port |
        +--------+--------+--------+--------+
        |    Length     |    Checksum   |
        +--------+--------+--------+--------+
        
        필드설명크기
        Source Port Number송신 포트번호16비트
        Destination Port Number수신 포트번호
        선택 항목 (사용하게 되면 응답받게 될 포트 표시함)
        16비트
        UDP Length• 바이트 단위의 길이
        • 최솟값 8(헤더만 포함될 때)
        16비트
        UDP Checksum 헤더 및 데이터의 에러 확인을 위해 사용되는 필드
        • 선택 항목(체크 섬 값이 0이면 수신 측은 체크 섬 계산 안 함)
        16비트
        Data• 가변 길이 데이터가변
  1. 세션 계층(5계층)
    1. 세션 계층(Session Layer) 개념
      • 세션 계층은 응용 프로그램 간의 대화를 유지하기 위한 구조를 제공하고, 이를 처리하기 위해 프로세스들의 논리적인 연결을 담당하는 계층이다.
      • 통신 중 연결이 끊어지지 않도록 유지시켜주는 역할 수행하기 위해 TCP/IP 세션 연결의 설정과 해제, 세션 메시지 전송 등의 기능을 수행한다.
    1. 세션 계층의 프로토콜
      프로토콜설명
      RPC (Remote Procedure Call)원격 프로시저 호출이라고 불리며, 별도의 원격 제어를 위한 코딩 없이 다른 주소 공간에서 함수나 프로시저를 실행할 수 있는 프로세스 간 통신에 사용되는 프로토콜
      NetBIOS (Network Basic Input/Output System)응용계층(7계층)의 애플리케이션 프로그램에게 API를 제공하여 상호 통신할 수 있도록 해주는 프로토콜
  1. 표현 계층(6계층)
    1. 표현 계층(Presentation Layer) 개념
      • 표현 계층은 애플리케이션이 다루는 정보를 통신에 알맞은 형태로 만들거나, 하위 계층에서 온 데이터를 사용자가 이해할 수 있는 형태로 만드는 역할을 담당하는 계층이다.
      • 수신자 장치에서 적합한 애플리케이션을 사용하여 응용계층 데이터의 부호화 및 변환 수행을 통해 송신 장치로부터 온 데이터를 해석한다.
      • 표현 계층은 데이터 형식 설정과 부호 교환, 압축, 암 ' 복호화를 수행한다.
    1. 표현 계층의 프로토콜
      프로토콜설명
      JPEG이미지를 위해 만들어진 표준 규격
      MPEG멀티미디어(비디오, 오디오)를 위해 만들어진 표준 규격
  1. 응용 계층(7계층)
    1. 응용 계층(Application Layer) 개념
      • 응용 계층은 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행하는 역할을 담당하는 계층이다.
      • 응용 프로세스가 개방된 형태로 다양한 범주의 정보처리기능을 수행할 수 있도록 여러 가지 프로토콜 개체에 대하여 사용자 인터페이스를 제공한다.
    1. 응용 계층의 프로토콜
      프로토콜설명
      HTTP텍스트 기반의 통신규약으로 인터넷에서 데이터를 주고받을 수 있는 프로토콜. 하이퍼텍스트를 빠르게 교환하기 위한 목적으로 사용됨.
      FTPTCP/IP 프로토콜을 이용하여 서버와 클라이언트 사이에서 파일을 전송하기 위한 프로토콜.
      SMTP인터넷에서 TCP 포트 번호 25번을 사용하여 이메일을 보내기 위해 이용되는 프로토콜.
      POP3응용 계층 인터넷 프로토콜 중 하나로, 원격 서버로부터 TCP/IP 연결을 통해 이메일을 가져오는 데 사용하는 프로토콜.
      IMAP원격 서버로부터 TCP/IP 연결을 통해 이메일을 가져오는 데 사용하는 프로토콜.
      Telnet인터넷이나 로컬 영역에서 네트워크 연결에 사용되는 네트워크 프로토콜.
      SSH• Telnet보다 강력한 보안을 제공하는 원격접속 프로토콜
      • 서로 연결되어 있는 컴퓨터 간 원격 명령 실행이나 쉘 서비스 등을 수행
      • 키를 통한 인증은 클라이언트의 공개키를 서버에 등록해야 하고 전송되는 데이터는 암호화됨
      • SSH는 인증, 암호화, 압축, 무결성을 제공하고 기본 네트워크 포트는 22번을 사용
      SNMP TCP/IP의 네트워크 관리 프로토콜로, 라우터나 허브 등 네트워크 장치로부터 정보를 수집 및 관리하며, 정보를 네워크 관리 시스템에 보내는 데 사용하는 인터넷 표준 프로토콜

네트워크 전달 방식

  1. 패킷 교환 방식
    • 패킷 교환 방식은 컴퓨터 네트워크와 통신의 방식 중 하나로 작은 블록의 패킷으로 데이터를 전송하며 데이터를 전송하는 동안만 네트워크 자원을 사용하도록 하는 통신 방식이다.
    • WAN을 통해 데이터를 원격지로 송부하기 위해 X.25, 프레임 릴레이 및 ATM과 같은 다양한 기술들을 사용한다.
    1. X.25

      통신을 원하는 두 단말장치가 패킷 교환망을 통해 패킷을 원활히 전달하기 위한 통신 프로토콜이다

      특징설명
      고정된 대역폭고정된 대역폭을 할당하여 사용자 요청에 따른 유연한 대역폭 할당이 어려움
      패킷 사용대용량의 데이터를 다수의 패킷으로 분리하여 송신하며, 수신 측에서는 다수의 패킷을 결합하여 원래의 데이터로 복원
      3계층 담당OSI 7계층상의 레이어 중 3계층까지를 담당
      송수신 신뢰성송수신의 신뢰성을 확보하기 위해 양자 간 통신 연결을 확립해 나가는 프로세스
      성능 저하에러 제어나 흐름 제어를 위한 복잡한 기능으로 오버헤드 발생
      기술 발전현재는 프레임 릴레이나 ISDN, ATM 등 고속망으로 대체
    1. 프레임 릴레이
      특징설명
      유연한 대역폭사용자의 요청에 따라 유연한 대역폭을 할당
      기능 단순화망의 성능 향상을 위해 에러 제어 기능과 흐름 제어 기능을 단순화
      2계층 담당프레임 릴레이는 1~2계층만을 담당
      가격이 저렴전용선을 요하는 것보다 가격이 저렴
      기술적으로는 X.25에 비해 우위
    1. ATM (Asynchronous Transfer Mode)
      • ATM은 비동기 전송모드라고 하는 광대역 전송에 쓰이는 스위칭 기법이다.
      • 동기화를 맞추지 않아 보낼 데이터가 없는 사용자의 슬롯은 다른 사람이 사용할 수 있도록 하여 네트워크상의 효율성을 높였다.
      • ATM망은 연결형 회선이기 때문에 하나의 패킷을 보내 연결을 설정하게 되고 이후 실데이터 전송이 이루어진다.
      • ATM은 OSI 7계층과는 다른 고유한 참조 모델을 가지고 있다
      계층설명
      AAL (ATM Adaptation Layer)패킷을 작은 조각인 셀로 전송한 후 다시 조립하여 원래의 데이터로 복원하는 역할을 담당
      ATM 계층셀과 셀 전송 역할을 담당하며, 셀의 레이아웃을 정의하고 헤더 필드가 의미하는 것을 알려줌. 가상 회선의 연결 및 해제, 혼잡 제어를 처리
      물리 계층(Physical Layer)• 물리적 전송 매체를 처리하는 역할을 담당
  1. 서킷 교환 방식
    특징설명
    전송 보장• 네트워크를 독점적으로 사용하기 때문에 전송이 보장
    서킷 확보 작업• 서킷을 확보하기 위한 작업을 진행하고 실데이터를 전송하며 서킷을 닫는 프로세스로 진행
    • 서킷 확보 작업이 일어나는 동안 다른 기기들은 해당 경로 사용 불가
  1. 패킷 교환 방식과 서킷 교환 방식의 차이
    1. 패킷 교환 방식과 서킷 교환 방식의 차이
      구분패킷 교환 방식서킷 교환 방식
      의미데이터를 패킷 단위로 보내는 방식전송 경로를 설정한 뒤 데이터를 송수신하는 방식
      장점- 비동기 전송 가능<br>- 연결 설정이 필요 없고 다중 전달이 용이- 경로 접속 시간이 매우 빠름<br>- 전송 제어 절차와 형식에 제약을 받지 않음
      단점- 실시간 전송에 부적
      - 네트워크 지연 발생
      - 송수신 측 모두 데이터 교환 준비가 완료되어야 함<br>- 회선이 독점됨
      활용이메일, 메시지 등영상, 비디오 등
    1. 패킷 교환 방식의 종류[2021 년 2회
      구분개념동작 원리
      데이터그램 방식- 연결 경로를 설정하지 않고 각각의 패킷을 독립적으로 전송하는 방식
      - 각각의 패킷을 독립적으로 취급하여 단일 패킷 단위로 전송하고 수신하는 방식
      - 헤더를 붙여 개별적으로 전달하는 비연결형 교환 방식
      패킷을 순서에 무관하게 독립적으로 전송하며, 각 패킷은 독립적으로 처리됨
      가상 회선 방식- 패킷이 전송되기 전에 송/수신 스테이션 간의 논리적인 통신 경로를 미리 설정하는 방식
      - 많은 이용자들이 상호 통신을 할 때 하나의 통신설비를 공유하여 여러 개의 논리적인 채널을 형성한 후 통신을 하는 방식
      - 목적지 호스트와 미리 연결 후 통신하는 연결형 교환 방식
      송/수신 스테이션 간에 논리적인 경로를 설정하고 통신을 수행함

네트워크 구조

  1. 애드 혹 네트워크(Ad-hOC Network) [2021 년 2회
    1. 애드 혹 네트워크의 개념
      • 애드 혹 네트워크는 노드(Node)들에 의해 자율적으로 구성되는 기반 구조가 없는 네트워크이다.
    1. 애드 혹 네트워크의 특징
      • 네트워크의 구성 및 유지를 위해 기지국이나 액세스 포인트와 같은 기반 네트워크 장치를 필요로 하지 않는 네트워크이다.
      • 애드 혹(Ad-hoc) 노드들은 무선 인터페이스를 사용하여 서로 통신하고, 멀티 홉 라우팅 기능에 의해 무선 인터페이스가 가지는 통신 거리상의 제약을 극복하며, 노드들의 이동이 자유롭기 때문에 네트워크 토폴로지가 동적으로 변화되는특징 이 있다.
      • 애드 혹 네트워크는 완전 독립형이 될 수도 있고, 인터넷 게이트웨이를 거쳐 인터넷과 같은 기반 네트워크와 연동될 수 있다.
      • 애드 혹 네트워크 활용 분야는 긴급 구조, 긴급회의, 전쟁터에서의 군사 네트워크가 있다.
  1. 네트워크 설치 구조
    • 구축하고자 하는 네트워크에 필요한 장비의 성능, 수량 및 네트워크 확장성 및 관리 방법에 따라 네트워크 토폴로지의 선택을 다르게 해야 한다.
    • 네트워크 설치 구조(토폴로지) 종류는 버스형, 트리형, 링형, 성형 등이 있다
    1. 버스형 구조
      • 버스형 구조는 하나의 네트워크 회선에 여러 대의 노드가 멀티 포인트로 연결된 구조 형태이다.
      • 장점 : 구조가 간단하기 때문에 설치가 용이, 비용이 저렴, 네트워크 회선에 노드를 추가 및 삭제가 용이
      • 단점 : 노드를 무분별하게 추가할 경우 네트워크 성능 저하, 네트워크 회선의 특정 부분 고장 시 전체 네트워크에 영향을 끼침
    1. 트리형 구조
      • 트리형 구조는 각 노드가 계층적으로 연결되어 있는 구성 형태로 나뭇가지가 사방으로 뻗어 있는 것과 유사한 모양의 구조 형태이다
      • 장점 : 허브만 준비되어 있다면 많은 단말 노드를 쉽게 연결이 가능
      • 단점 : 모든 네트워크가 허브를 통해서 이루어지므로 스타형처럼 허브가 고장이 나면 연결된 단말 노드의 네트워크가 제한
    1. 링형 구조
      • 링형 구조는 모든 노드가 하나의 링에 순차적으로 연결되는 형태이다
      • 장점 : 네트워크 회선에 단말 노드를 추가하거나 삭제하는 등의 네트워크 재구성에 용이
      • 단점 : 링의 어느 한 부분에 장애가 발생하면 전체 네크워크에 영
    1. 성형 구조
      • 성형 구조는 각 단말 노드가 허브라는 네트워크 장비에 점 대 점으로 연결되어 있는 구성 형태
      • 장점 : 소규모의 네트워크 설치 및 재구성이 간편
      • 단점 : 중앙 허브가 고장이 나면 전체 네트워크에 영향
  1. 다중화기(Multiplexer)
    • 다중화기는 하나의 회선을 통해 일정한 시간이나 주파수로 나누어서 전송하게 하는 장비이다.
    • 다중화기는 주파수 분할 다중화, 시간 분할 다중화, 코드 분할 다중화가 있다.
    장비 구분설명
    주파수 분할 다중화하나의 주파수 대역폭을 다수의 작은 대역폭으로 분할하여 전송하는 방식
    시간분할 다중화회선의 대역폭을 일정 시간으로 분할하여 전송하는 방식
    코드 분할 다중화
    (CDM; Code Division
    Multiplexing
    정해진 주파수 대역에 다수의 사용자가 서로 다른 코드를 사용함으로써 동일한 주파수로 동시에 다수가 접속해서 전송하는 방식

신기술 용어

  1. 네트워크 관련 신기술 용어
    신기술 용어설명
    SDN네트워크를 제어부(Control Plane)와 데이터 전달부(Data Plane)로 분리하여 네트워크 관리자가 보다 효율적으로 네트워크를 제어, 관리할 수 있는 기술. 하드웨어에 의존하는 네트워크를 소프트웨어로 제어하고, 가상화 기술을 적용하여 네트워크 기능을 가상화하여 제공하는 기술
    NFV기존의 라우터, 스위치 등과 같이 하드웨어에 의존하는 네트워크 체계에서 안정성, 속도, 보안 등을 소프트웨어로 제어, 관리하기 위해 개발된 기술. 범용 하드웨어에 가상화 기술을 적용하여 네트워크 기능을 모듈화하여 제공하는 기술
    Wi-SUNIEEE 802.15.4 표준 기반의 무선 통신 기술로, 스마트 그리드와 연계하여 전기, 수도, 가스 등의 공급자와 사용자가 무선 네트워크를 이용하여 효율적으로 관리할 수 있도록 하는 기술
    NFCRFID의 확장 기술로, 13.56MHz 주파수를 사용하여 10cm 이내에서 저전력, 비접촉식 무선 통신을 지원하는 기술
    스몰 셀기존의 매크로 셀과는 달리 낮은 전송 파워와 좁은 커버리지를 가지는 소형 기지국. 네트워크 구성에 있어서 매크로 셀과 함께 사용되며, 셀 용량과 커버리지를 증대시키는데 활용됨
    블루투스근거리 무선통신 표준으로, 주로 디바이스 간의 통신에 사용되며, 피코넷과 스캐터넷 방식을 사용하여 네트워크를 구성함
    BLE저전력 기반 기기 간 근거리 무선 통신 기능을 제공하는 기술로, 주로 디바이스 간의 통신에 사용되며, 짧은 전송 거리를 극복하고 저비용으로 구성 가능한 블루투스 기술
    Zing BcN기기를 키오스크에 갖다 대면 원하는 데이터를 바로 가져올 수 있는 기술로, 초고속 근접 무선통신(NFC) 기술을 이용하여 10cm 이내 근접 거리에서 기가급 속도로 데이터 전송이 가능한 기술
    C-V2X자율주행자동차를 위한 통신기술로, 차량이 유무선 망을 통해 다른 차량 및 도로 등 인프라가 구축된 사물과 정보를 교환할 수 있는 기술
    메시 네트워크다수의 국 사이에 구성되는 그물 모양의 네트워크로, 경제적이고 간편하지만 비경제적인 경우가 있으며, 대용량 데이터를 빠르고 안전하게 전달할 수 있는 네트워크로 사용됨
    UWB매우 낮은 전력을 사용하여 초광대역 주파수 대역으로 데이터를 전송하는 무선 전송 기술로, 1km의 거리까지 많은 양의 데이터를 전송할 수 있음
    UsN사물의 인식정보 및 주변의 환경정보를 탐지하고 실시간으로 네트워크에 연결하여 정보를 관리하는 기술로, 체내 혹은 인체 주변에서 사용되는 저비용, 저전력, 고속통신이 가능한 기술
    WBAN신체 접촉 근거리 무선 네트워크로, 체내 혹은 인체 주변에서 사용되는 저비용, 저전력, 고속통신이 가능한 네트워크로, 실시간으로 건강 정보 등을 모니터링할 수 있음
    NDNData의 이름을 활용하여 정보의 효율적인 검색 및 배포를 목적으로 하는 인터넷 기술로, IP 주소 대신 Data의 이름을 사용하여 데이터를 전송하고 관리함
    네트워크 슬라이싱하나의 물리적 코어 네트워크를 독립된 다수 가상 네트워크로 분리한 뒤 고객 맞춤형 서비스를 제공하는 5G 핵심 기술로, SDN과 NFV 기술을 활용하여 비용 절감이 가능함
    NOMA두 대 이상의 단말에 대한 데이터를 동시에 전송하여 주파수 효율을 향상시키는 비직교 다중 접속 기술
    MEC무선 기지국에 분산 클라우드 컴퓨팅 기술을 적용하여 서비스와 캐싱 콘텐츠를 이용자 단말에 가까이 전개함으로써 모바일 코어 망의 혼잡을 완화하는 기술
    사물 인터넷 (IoT)각종 사물에 센서와 통신 기능을 내장하여 무선 통신을 통해 각종 사물을 인터넷에 연결하는 기술
    MQTTIoT 장치, 텔레메트리 장치 등에서 최적화되어 사용할 수 있도록 개발된 프로토콜로, 브로커를 사용한 발행(Publish)/구독(Subscribe) 방식의 경량 메시징을 전송하는 프로토콜. M2M 노드들 사이에서 이벤트에 대한 송수신을 비동기적으로 전송하며, REST 기반의 프로토콜이자 제약이 있는(Constrained) 장치들을 위한 특수한 인터넷 애플리케이션 프로토콜
    COAP근거리 통신을 지원하는 IEEE 802.15.4 표준 중 하나로, 저전력, 저속, 저비용의 근거리 무선통신 기술
    Zigbee근거리 통신을 지원하는 IEEE 802.15.4 표준 중 하나로, 저전력, 저속, 저비용의 근거리 무선통신 기술
    스마트 그리드 (Smart Grid)전기 및 정보통신기술을 활용하여 전력망을 지능화, 고도화함으로써 고품질의 전력서비스를 제공하고 에너지 이용효율을 극대화하는 전력망
  1. 소프트웨어 관련 신기술 용어
    용어정의
    인공지능 (AI)인간의 학습, 추론, 지각, 자연어 이해, 지능형 결정 등 인간의 지능적 특성을 컴퓨터 프로그램이나 머신이나 시스템에 부여하는 기술
    기계학습데이터에서 학습하여 패턴을 인식하고 결정을 내리는 능력을 가진 알고리즘과 모델을 개발하는 인공지능의 한 분야
    가상 현실 (VR)가상 환경을 생성하고 사용자가 실제로 그 안에 존재하는 것처럼 느끼도록 하는 기술
    증강 현실 (AR)현실 환경에 가상 요소를 추가하여 사용자의 경험을 향상시키는 기술
    혼합 현실 (MR)가상 현실과 증강 현실의 요소를 결합하여 현실 세계와 가상 요소가 상호 작용하는 환경을 제공하는 기술
    블록체인 (Blockchain)분산데이터베이스의 한 형태로, 분산된 노드의 운영자에 의한 임의조작이 불가능하도록 고안되어 지속적으로 성장하는 데이터 기록 리스트인 블록을 연결한 모음
    BaaS (Blockchain-as-a-Service)블록체인 개발환경을 클라우드로 서비스하는 개념으로, 블록체인의 기본 인프라를 추상화하여 블록체인 응용 프로그램을 만들 수 있는 클라우드 컴퓨팅 플랫폼
    CPS (Cyber-Physical System)가상 물리 시스템으로, 인간의 개입 없이 대규모 센서 및 액추에이터를 갖는 물리적인 요소들과 통신 기술 및 응용 소프트웨어 기술을 결합한 복합 시스템
    디지털 트윈 (Digital Twin)물리적인 사물과 컴퓨터에 동일하게 표현되는 가상 모델로, 실제 물리적인 자산을 소프트웨어로 가상화하여 실제 자산의 특성에 대한 정보를 얻을 수 있는 모델
    SOA (Service Oriented Architecture)서비스를 조합하여 하나의 완성된 Application을 구현하기 위한 아키텍처로, 비즈니스 층, 표현 층, 프로세스 층으로 구성
    디지털 변혁 (Digital Transformation)디지털 기술을 활용하여 기업의 전략, 조직, 프로세스, 비즈니스 모델, 문화 등을 변화시키는 경영전략
    MSA (Microservices Architecture)하나의 큰 시스템을 여러 개의 작은 서비스로 나누어 변경과 조합이 가능하도록 만든 아키텍처
    매시업 (Mashup)서로 다른 웹 사이트의 콘텐츠를 조합하여 새로운 소프트웨어나 서비스, 데이터베이스 등을 만드는 기술
    그레이웨어 (Grayware)사용자를 귀찮게 하거나 위험한 상황에 빠뜨릴 수 있는 바이러스나 명백한 악성 코드를 포함하지 않는 합법적 프로그램
    텐서플로 (TensorFlow)구글의 머신러닝(Machine Learning)을 위한 오픈 소스 소프트웨어 라이브러리
    PaaS-TA (PaaS-TA)국내 IT 서비스 경쟁력 강화를 목표로 개발된 개방형 클라우드 컴퓨팅 플랫폼
    메타버스 (Metaverse)현실과 가상이 공존하는 3차원 가상 세계로, 정치, 경제, 사회, 문화 등의 전반적인 측면에서 현실과 비현실 모두 공존 가능한 생활형 가상 세계
  1. 인프라 관련 신기술 용어
    신기술 용어설명
    SDDC (Software Defined Data Center)모든 하드웨어가 가상화되어 가상 자원의 풀을 구성하고, 데이터센터 전체를 운영하는 소프트웨어가 필요한 기능 및 규모에 따라 동적으로 자원을 할당, 관리하는 역할을 수행하는 데이터센터
    SDS (Software Defined Storage)서버와 전통적인 스토리지 장치에 장착된 물리적 디스크 드라이브를 가상화 기술을 적용하여 필요한 공간만큼 나눠서 사용할 수 있도록 논리적으로 통합한 인 스토리지로 통합한 가상화 기술
    HACMP (High Availability Cluster Multiprocessing)각 시스템 간에 공유 디스크를 중심으로 클러스터링으로 엮여 다수의 시스템을 동시에 연결하여 조직, 기업의 기간 업무 서버 등의 안정성을 높이기 위해 사용되는 고가용성 솔루션
    도커 (Docker)컨테이너 응용 프로그램의 배포를 자동화하는 오픈소스 엔진으로, 소프트웨어 컨테이너 안에 응용 프로그램들을 배치시키는 일을 자동화해 주는 오픈 소스 프로젝트
    하이퍼바이저 (Hypervisor)하나의 호스트 컴퓨터상에서 동시에 다수의 운영체제를 구동시킬 수 있는 HW와 OS 사이의 SW 가상화 플랫폼
    쿠버네티스 (Kubernetes)리눅스 재단에 의해 관리되는 컨테이너화된 애플리케이션의 자동 배포, 스케일링 등을 제공하는 오픈 소스 기반의 관리 시스템
    서버리스 컴퓨팅 (Serverless Computing)MSA, BaaS, FaaS 등의 기술을 활용하여 서버가 없는 것과 같이 직접 해당 이벤트에 접근하여 처리하는 컴퓨팅 기술
  1. DB 관련 신기술 용어 [22년 3회]
    신기술 용어설명
    하둡 (Hadoop)오픈 소스를 기반으로 한 분산 컴퓨팅 플랫폼으로, 대용량 파일을 분산된 서버에 저장하고, 그 저장된 데이터를 빠르게 처리할 수 있게 하는 시스템입니다.
    HDFS (Hadoop Distributed File System)일반 PC급 컴퓨터들로 가상화된 대형 스토리지를 형성하고 그 안에 보관된 거대한 데이터 세트를 병렬로 처리할 수 있도록 개발된 자바 소프트웨어 프레임워크로, 구글, 야후 등에 적용되어 있습니다.
    맵 리듀스 (Map Reduce)구글에서 대용량 데이터를 분산 병렬 컴퓨팅에서 처리하기 위한 목적으로 제작된 소프트웨어로, 대표적인 소프트웨어 프레임워크인 아파치 하둡(Apache Hadoop)에서 사용됩니다.
    스쿱 (Sqoop)관계형 데이터베이스 시스템(RDBMS)에서 Hadoop Distributed File System(HDFS)로 데이터를 수집하는 커넥터(Connector)를 사용하는 기술입니다.
    NoSQL전통적인 관계형 데이터베이스 시스템(RDBMS)과는 다르게 고정된 테이블 스키마가 필요하지 않고, 수평적으로 확장 가능한 데이터베이스 시스템을 지칭하는 용어입니다.
    다크 데이터 (Dark Data)수집된 후 저장은 되어 있지만, 분석에 활용되지는 않는 다량의 데이터를 의미합니다.
    데이터 마이닝 (Data Mining)대량의 데이터를 분석하여 데이터 속에 있는 변수 사이의 상호관계를 규명하여 일정한 패턴을 찾아내는 기법을 말합니다.
    데이터 웨어하우스 (DW; Data Warehouse)사용자의 의사 결정에 도움을 주기 위하여 기간 시스템의 데이터베이스에 축적된 데이터를 공통 형식으로 변환해서 관리하는 데이터베이스입니다.
    데이터 마트 (DM; Data Mart)데이터 웨어하우스의 일부분으로, 대개 특정한 조직 혹은 팀에서 사용하는 것을 목적으로 하는 데이터베이스입니다.
    메타 데이터 (Metadata)데이터에 대한 구조적인 설명이나 정의로, 데이터를 정의하고 설명해주는 데이터입니다.
    디지털 아카이빙 (Digital Archiving)지속적으로 보존할 가치를 가진 디지털 객체를 장기간 관리하여 이후의 이용을 보장할 수 있도록 변환, 압축 저장하여 데이터베이스화하는 작업을 말합니다.
    마이 데이터 (MyData)정보 주체가 기관으로부터 자기 정보를 직접 내려받아 이용하거나 제3자 제공을 허용하는 방식으로 정보 주체 중심의 데이터 활용체계를 말합니다.
    스크래파이 (Scrapy)웹 사이트를 크롤링하여 구조화된 데이터를 수집하는 파이썬(Python) 기반의 애플리케이션 프레임워크입니다.

기본 개발환경 구축하기

(365)

운영체제 설치 및 운용

  1. 운영체제 선택
    1. 윈도즈 계열 운영체제 선택
      종류설명
      Windows Home개인 사용자에게 최적화된 운영 체제입니다.
      Windows Pro소규모 기업용으로 최적화된 운영 체제입니다.
      Pro는 Home에 비해 관리 및 배포, 도메인 가입, 엔터프라이즈 모드, 원격 데스크톱 지원, Hyper-V와 같이 향상된 기능 제공
      Windows Pro for Workstation트랜잭션이 몰리거나 복구 기능을 필요로 하는 소규모 기업용 운영 체제입니다. 동시 처리 성능이 뛰어나며 메모리도 6테라바이트까지 지원합니다. 비휘발성 메모리 모듈을 지원하여 전력이 공급되지 않아도 데이터를 유지하여 안정성을 향상시킵니다. 파일 복원을 위해 향상된 ReFS를 지원합니다.
    1. 리눅스 계열 운영체제 선택
      조합특징
      Debian GNU/Linux- 개발자 패키지와 매뉴얼이 활성화되어 있어 개발자에게 최적화되어 있음 <br> - 가장 광범위하게 쓰이는 Linux 운영 체제 <br> - 다양한 개발자용 패키지 제공
      Ubuntu- Software Center를 통해 응용 소프트웨어 공급 <br> - 스마트 설정과 업데이트로 사용자 편의성 제공 <br> - 안정화된 운영과 다양한 하드웨어 지원
      Fedora- 프로그래밍에 최적화된 환경 제공 <br> - RHEL 소스로 컴파일되어 해당 계열의 프로그램 대다수 사용 가능
      CentOS- 안정화된 버전(openSUSE)과 테스트 중인 버전(Tumbleweed)을 동시에 공급 <br> - YaST 패키지를 통해 태스크 자동화 지원
      openSUSE- 다양한 소프트웨어와 그래픽 유저 인터페이스가 미리 설치 <br> - 시스템 관리자를 위한 복구 툴 내장
      Slackware- (추가 정보가 없습니다)
  1. 운영체제 운용
    서버 운영체제 운용기준개별 PC용 운영체제 운용 기준
    - 네트워크 구성 현황 파악 및 장비 매뉴얼 확보
    - 서버 장비 가동 및 중지 매뉴얼 확인
    • 장비 가동 및 중지 매뉴얼 확인
    - 백업 주기 및 보안 업데이트 주기 설정 및 점검
    - 트러블 발생 시 대처 방안 마련
    • 정기적인 데이터 백업
    • 주기적 보안 업데이트
    • 시스템 백업 정례화
    • 트러블 발생 시 문의처 정보 확인

개발 도구 설치 및 운용

  1. 프로그래밍 언어
    • 다양한 프로그래밍 언어를 선택하는 것은 시스템 개발 및 운영에 매우 중요하다.
    • 언어를 선택함에 있어 다음 사항 등을 고려한다
    언어의 타입시스템의 특징언어 특징지원
    정적 개발언어, 동적 개발언어- 일반 시스템, 도메인 특화 시스템객체 지향, 명령형, 순차적, 선언형관리 도구 지원형, 언어 독립
    종류타입내용목적언어 특징
    JAVA정적일반데이터 처리객체 지향, 명령형
    C#정적일반일반객체 지향, 명령형
    VB.NET정적일반일반객체 지향, 명령형
    C++정적일반일반순차적, 명령형
    Perl동적일반일반순차적, 명령형
    COBOL정적일반일반순차적, 명령형
    SQL동적일반데이터 처리선언형
    ABAP정적일반일반객체 지향, 명령형
    PHP동적일반일반순차적, 명령형
    Python정적일반일반순차적, 명령형
  1. 개발 지원 도구
    단계설명도구
    요구사항 관리 프로젝트 수행 시 정확한 요구사항 정의, 요구사항 관리JFeature
    설계ERDfi 통한 자동화된 데이터 모델링, UML 자동 생성DBdesigner
    구현개발자의 소프트웨어 구현 시 개발자 편의성 고려Eclipse, CodeBlock
    테스트지속적 통합 기반, 자동 테스트 수행jUnit
    빌드소프트웨어 빌드 자동화, 스크립트를 통한 빌드 자동화 과정Ant, Jenkins
    형상 관리형상 관리 개발 산출물 관리, 변경 통제 Subversion
    품질 관리설계 품질의 측정을 통해 패키지를 효과적으로 분석하고 품질 관리jDepend, Mylyn
    이슈 관리프로젝트를 진행하면서 발생하는 문제를 시스템에 등록하여 관리Mantis, Git
    프로젝트 관리일정 관리를 위한 간트 차트, 네트워크 다이어그램, WBS 등 제공 Redmine, OpenProi

응용 시스템 개발 인프라 구축

  1. 개발 환경 인프라 구축 개요
    1. 개발환경 인프라 구성 방식
      구성 방식설명
      온프레미스 (On-Premise)외부 인터넷망이 차단된 상태에서 인트라넷망만을 활용하여 개발환경을 구축하는 방식
      클라우드 (Cloud)아마존, 구글, 마이크로소프트 등의 클라우드 공급 서비스를 임대하여 개발환경을 구축하는 방식
      • 해당 장비를 초기에 구매하지 않기 때문에 개발환경 투자비용이 적고 구축 시간이 빠름
      하이브리드 (Hybrid)온프레미스와 클라우드 방식을 혼용하여 개발환경을 구축하는 방식
    1. 개발환경 인프라 구성 장비
      1. 스토리지 시스템
        유형설명
        DAS (Direct Attached Storage)하드 디스크와 같은 데이터 저장 장치를 호스트 버스 어댑터에 직접 연결하는 방식의 스토리지
        NAS (Network Attached Storage)저장 장치와 호스트 기기 사이에 네트워크 디바이스가 없이 직접 연결하는 방식이 아닌, 네트워크로 연결하여 구성하는 스토리지
        SAN (Storage Area Network)서버와 저장 장치를 네트워크로 연결하여 구성하며, 데이터를 블록 단위로 관리하는 스토리지
        SAN (Storage Area Network)저장 장치와 서버를 직접 연결하는 것이 아니라 네트워크를 통해 스토리지에 접속하고, 파일 단위로 관리하는 스토리지
        SAN (Storage Area Network)DAS의 처리 속도와 NAS의 스토리지 공유 방식의 장점을 합친 기술로, 근거리 네트워크 환경을 구성하여 데이터를 처리하는 방식
      1. RAID(Redundant Array of Independent Disks;복수 배열 독립 디스크)
        • RAID는 하나의 대형 저장 장치 대신 다수의 저용량의 저장 장치를 배열로 구성하는 기술이다.
        • 여러 개의 하드 디스크에 일부 중복된 데이터를 나눠서 저장하기 때문에 디스크 어레이(Disk Array)라고도 한다.
        • 데이터를 나누는 다양한 방법이 존재하며, 이 방법들을 레벨이라 하는데, 레벨에 따라 저장 장치의 신뢰성을 높이거나 전체적인 성능을 향상시키는 등의 다양한 목적을 만족시킬 수 있다.
          RAID 레벨설명
          RAID 0여러 개의 디스크를 병렬로 연결하여 데이터를 분할하여 저장하는 방식으로, 데이터를 동시에 읽고 쓰기 때문에 처리 속도가 빠르지만, 어느 하나의 디스크에 장애가 발생하면 모든 데이터가 손실될 수 있다.
          RAID 1디스크를 미러링하여 같은 데이터를 여러 개의 디스크에 저장하는 방식으로, 한 디스크에 장애가 발생하더라도 나머지 디스크에 데이터가 복제되어 있어 데이터 손실을 방지할 수 있다.
          RAID 5여러 개의 디스크에 데이터와 패리티 정보를 분산하여 저장하는 방식으로, 장애가 발생한 디스크의 데이터를 복구할 수 있고, 저장 효율이 높으며 비교적 안정적인 RAID 레벨이다.
          RAID 6RAID 5와 유사하지만, 여분의 패리티 정보를 사용하여 장애가 발생한 디스크의 데이터를 복구할 수 있는 더욱 안전한 방식으로, 두 개의 디스크에 동시에 장애가 발생해도 데이터를 복구할 수 있다.
          RAID 10RAID 1과 RAID 0을 결합한 방식으로, 미러링과 스트라이핑을 모두 사용하여 데이터를 저장하는 방식으로, 안정성과 성능을 모두 고려한 RAID 레벨이다.
    1. 개발 인프라 환경 고려 사항
      • 개발하려는 목표 시스템을 완벽히 이해하고 있는가?
      • 로컬 개발환경과 운영환경이 명확히 구분되어 개발 소스가 충돌하지 않는가?
      • 개발 서버는 계층화(Staging)되어 있어 검증되어 안정화된 소스와 개발 중인 불안전한 소스가 구분되도록 고려되었는가?
      • 서비스의 안정적인 운영을 위해 지속적인 테스트와 신속한 배포가 가능하도록 설계되었는가?
      • 운영비가 급격히 상승하여 비용적인 부담이 될 수 있는 가능성이 있는가?
      • 서비스의 규모가 커질 경우 확장성이 충분히 고려되어 있는가?
      • 오픈 소스 활용 시 커뮤니티를 활용하기 위한 환경이 구축되어 있는가?
      • 개발에 참여하기 위한 다수의 인원이 참조할 수 있는 표준화가 마련되었는가
  1. 클라우드 기반 개발 인프라 구축
    • 장비 임대, 스토리지 대여뿐만 아니라 개발자 도구 및 생산성 향상을 위한 각종 유틸리 티까지 지 원한다.
    • 사용자는 서비스의 범위와 사용량에 따른 비용만을 지불하고 서비스 제공자는 이중화된 클라우드 센터를 운영하여 안정적 서비스를 공급한다.
    구분설명
    컴퓨팅 환경프로그램을 설치하고 운용할 하드웨어 장비를 세팅합니다.
    • 웹 기반 서비스 운용을 위한 웹 서버
    • 데이터 관리와 백업 등을 위한 DBMS 서버
    스토리지• 대규모 데이터를 저장, 관리, 전송, 이중화하기 위한 저장 장치 세팅
    • 클라우드 기반 스토리지 세팅
    • 데이터 안정성 향상을 위한 아카이브 스토리지 세팅
    • 페타/엑사 바이트 단위 전송이 가능한 전송 스토리지 세팅
    데이터베이스• 실데이터를 저장^고 관리하기 위한 데이터베이스 세팅
    • 고성능 관계형 데이터베이스 세팅
    • 인메모리 데이터베이스 세팅
    • 대규모 데이터 운영을 위한 웨어하우징 세팅
    • 그래픽, 음성 등 멀티미디어 데이터 처리를 위한 환경 세팅
    네트워킹 전송 구성된 서비스, 프로그램, 콘텐츠를 효율적으로 전달하기 위한 환경 세팅
    • 콘텐츠 전송용 CDN 구축
    • API 제공용 환경 구축
    • 대규모 로드 밸런싱 환경 구축
    개발자 도구• 프로그램을 실제 개발하기 위한 제반 환경 구축
    • 애플리케이션 개발 및 배포환경 구축
    • 소스 코드를 손실 없이 관리하기 위한 저장소 구축
    • 코드 개발, 테스트를 위한 환경 구축
    • = 자동 배포, 형상 관리를 위한 환경 구축
    보안 환경구축• 외부의 침입으로부터 시스템과 데이터를 보호하기 위한 환경 구축
    • 사용자 액세스 및 암호화 관리
    • 앱 자격 증명 환경 구축
    • 각종 인증서 프로비저닝, 관리 및 배포
    • 악성 트래픽 필터링 서비스 관리
    • 해킹 공격(DDoS 등)으로부터의 방어 환경 구축
    응용기술 세팅• 증강 현실, 가상현실 개발을 위한 환경 세팅
    • 머신러닝, 딥러닝 등 AI 개발환경을 위한 환경 세팅
    • 사물 인터넛I 게임 등 개발을 위한 환경 세팅
    생산성 향상• 시스템 볼륨 자동 확장 환경 구축
    • 실시간 스트리밍 서비스 환경 구축
    • 비즈니스, 운영 상태 분석 서비스 구축