ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [CS] 정리
    Computer Science 2023. 6. 20. 19:22
    반응형

    운영체제

    1. 정의

      컴퓨터 시스템에서 핵심적인 소프트웨어로 컴퓨터 하드웨어와 사용자 사이에서 자원을 관리하고 작업을 조율하는 역할을 수행하는 시스템 소프트웨어

     

    2. 주요 기능

    1) 자원 관리 : CPU, 메모리, 저장 장치, 입출력 장치 등 컴퓨터 자원을 효율적으로 관리한다. 운영체제는 자원을 할당하고 관리하여 다른 프로그램이 자원을 공정하게 사용하도록 하며, 충돌이나 경쟁 상태를 방지한다.

     

    2) 프로세스 관리 : 프로세스는 실행 중인 프로그램의 인스턴스로 운영체제는 프로세스를 생성, 종료, 일시 중지, 재개하는 등의 작업을 관리한다. 이를 통해 CPU를 효율적으로 활용하고 다중 프로세스 간의 스케줄링과 동기화를 담당한다.

     

    3) 메모리 관리 : 운영체제는 컴퓨터 메모리를 관리하여 프로세스에 필요한 메모리 공간을 할당하고, 메모리 사용의 효율성을 높인다. 가상메모리, 페이지 교체, 메모리 보호 등의 기법을 사용하여 다중 프로세스가 메모리를 안전하게 공유할 수 있도록 한다.

     

    4) 파일 시스템 관리 : 파일 시스템은 데이터를 저장하고 관리하는 데 사용되는 구조이다. 운영 체제는 파일 시스템을 관리하여 파일의 생성, 삭제, 읽기, 쓰기 등의 작업을 지원하고 파일의 보안과 접근 제어등을 관리한다.

     

    5) 입출력 관리 : 운영체제는 입출력 장치와의 효율적인 통신을 관리한다. 키보드, 마우스, 디스플레이, 프린터, 네트워크 등 입출력 장치와 프로세스 간 상호작용을 조율하고 입출력 작업을 버퍼링하고 스케줄링 해 시스템의 성능을 향상 시키고 여러 프로세스가 입출력 장치를 공유할 수 있도록 한다.

     

    6) 사용자 인터페이스 : 사용자와 컴퓨터 사이의 상호 작용을 위한 인터페이스를 제공한다. 명령줄 인터페이스(CLI), 그래픽 사용자 인터페이스(GUI) 웹 기반 인터페이스 등 다양한 형태로 제공된다.

     

    7) 보호 및 보안 : 시스템 보안을 유지하고, 사용자 및 자원에 대한 접근 제어를 담당한다. 인증 및 권한 부여, 암호화, 방화벽 설정 등의 기능을 제공하여 시스템과 데이터 안정성을 보장한다.

     

    8) 에러 처리 : 예기치 않은 상황과 에러를 처리하고 복구하는 기능을 제공한다. 하드웨어 오류, 소프트웨어 오류, 네트워크 오류 등 다양한 오류 상황에 대응해 시스템 안정성을 유지한다.

     

     

    파일 시스템

    1. 정의

     운영체제에서 사용하는 파일 시스템은 데이터를 저장하고 관리하는 데 사용되는 구조이다. 파일 시스템은 하드 디스크, SSD, 네트워크 저장 장치 등의 저장 매체에 데이터를 저장하고, 파일 및 디렉토리의 생성, 삭제, 읽기, 쓰기 등의 작업을 지원한다. 다양한 운영체제에서 다양한 파일 시스템을 지원한다.

     

    2. 운영체제별 파일 시스템

    1) FAT 파일 시스템(File Allocation Table / MS-DOC, Windows) : FAT 파일 시스템은 MS-DOC와 Windows 운영체제에서 주로 사용되는 파일 시스템이다. 파일과 디렉토리의 데이터를 관리하는데 FAT라는 테이블을 사용한다.

     

    2) NTFS 파일 시스템 (New Technology File System / Windows) : NTFS 파일 시스템은 Windows 운영체제에서 사용되는 고급 파일 시스템이다. NTFS는 FAT 파일 시스템보다 안정성과 보안 기능이 뛰어나며, 파일 압축, 암호화, 파일 권한 관리 등 다양한 기능을 제공한다.

     

    3) ext 파일 시스템 (Extended File System / LINUX, UNIX) : ext 파일 시스템은 리눅스 운영체제에서 주로 사용되는 파일 시스템이다. ext2, ext3, ext4 등의 다양한 버전이 있다.

     

    4) HFS+ 파일 시스템 (Hierarchical File System Plus / MAC) : HFS+ 파일 시스템은 macOS 운영체제에서 사용되는 파일 시스템이며, 최근에는 APFS로 대체되고 있다.

     

    5) XFS 파일 시스템 (eXtended File System / LINUX, UNIX) : XFS 파일 시스템은 UNIX 및 리눅스 운영체제에서 사용되는 고성능 파일 시스템이다. 대용량 파일 시스템을 지원하며, 스냅샷, 저널링, 파일 암호화 등의 기능을 제공한다.

     

    6) UDF 파일 시스템 (Universal Disk Format) : 광학 디스크에 사용되는 파일 시스템이다. 다양한 운영 체제와 장치간의 호환성을 제공하며 ISO 9660과 함께 널리 사용된다. 

     

     


    하드웨어

    1. CPU

    1) 정의

    컴퓨터의 동작과 데이터 처리를 담당하는 하드웨어이다. 명령어를 해석하고 실행해 프로그램 처리를 수행한다.

     

    2) 구성

    (1) 제어 장치 : CPU 내부 구성 요소들을 제어하고 명령어의 실행 순서를 조정한다. 명령어를 해석하고 필요한 동작을 실행하기 위해 다른 구성 요소들과 상호 작용 한다.

     

    (2) 산술 논리 장치(ALU, Arithmetic Logic Unit) : 산술 연산과 논리 연산을 수행한다. ALU는 데이터 처리와 계산을 담당한다.

     

    (3) 레지스터 : cpu 내부에 위치한 작은 기억 장소로, 데이터나 명령어를 일시적으로 저장한다. 매우 빠른 속도로 데이터에 접근 할 수 있어 중간 계산 결과나 주요 데이터를 저장하는데 사용된다.

     

    3) 특징

      CPU는 프로그램 명령어를 순차적으로 가져와 해석하고 실행하는 과정을 반복한다. 이러한 과정은 클럭 신호에 의해 도익화 되며, 클럭 신호에 따라 명령어 실행 주기가 결정된다.

      CPU는 명령어 집합 구조(Instruction Set Architecture)에 따라 동작하며, 이는 CPU가 이해하고 실행할 수 있는 명령어 종류와 형식을 정의한다. 대표적인 ISA로는 x86, ARM, MIPS 등이 있다.

      CPU는 캐시라는 고속 메모리를 포함한다. 캐시는 주기억장치(RAM)와 CPU간의 속도 차이를 극복하기 위해 사용되며, 빈번하게 참조되는 데이터를 저장하여 성능을 향상 시킨다.

     

    2. 메모리

    1. 메모리는 컴퓨터 시스템에서 데이터 및 명령어를 저장하는 물리적인 장치이다. 프로그램이 실행되거나 데이터가 처리될 때 필요한 정보들이 메모리에 저장되어 CPU에 의해 접근되고 치러된다.

     

    2. 종류

    1) 주기억 장치

    (1) RAM : 데이터와 메모리를 일시적으로 저장하는 장치로 CPU가 직접 접근할 수 있는 메모리이다. 읽기와 쓰기가 가능하며 전원이 꺼지면 데이터가 사라진다. 실행중인 프로그램과 관련된 데이터와 명령어를 저장하여 해당 데이터에 CPU가 빠르게 접근할 수 있도록 한다

     

    (2) Cach Memmory : CPU와 주기억 장치 사이에 위치한 고속의 메모리로서 CPU가 자주 참조하는 데이터를 저장해 CPU 성능을 향상 시킨다.

     

    2) 보조 기억 장치

    (1) HDD : 대용량의비휘발성 저장장치로 데이터를 기계적으로 기록하고 읽는다. 저렴하고 대용량이지만 상대적으로 느리다.

     

    (2) SDD : 하드 디스크와 비슷한 기능을 제공하지만 기계적 부품대신 플래시 메모리를 사용해 데이터를 저장하고 읽는다. SSD는 보다 빠른 속도와 내구성을 갖는다.

     

    (3) DVD, CD : 레이저를 사용해 데이터를 읽고 쓰는 장치, 주로 음악, 영화, 소프트웨어 등의 데이터를 저장한다.

     

    (4) 플래시 드라이브(USB) : 플래시 메모리를 사용해 데이터를 저장하는 이동식 저장장치. 휴대성이 우수하며 데이터 휘발성이 없어 안정적인 저장이 가능하다.

     

    3. 버퍼란?

      버퍼(Buffer)는 컴퓨터 시스템에서 임시로 데이터를 저장하는 메모리 영역을 말한다. 버퍼는 데이터의 효율적인 전송을 도와주며, IO 작업에서 데이터의 일시적인 저장 및 처리를 담당한다. 이러한 버퍼는 데이터를 입출력하는 과정에서 발생하는 속도 차이나 처리 지연을 완화하기 위해 사용된다.

      일반적으로, 데이터를 입출력하는 IO 작업은 버퍼를 통해 이루어진다. 데이터를 송신하기 전에 버퍼에 임시로 저장하고, 일정량의 데이터가 모이면 한 번에 전송함으로써 데이터 전송 속도가 개선되고, CPU의 부하를 줄일 수 있도록 한다. 또한, 버퍼는 입출력 장치 간에 데이터 전송 속도 차이로 인해 발생할 수 있는 지연을 완화하는 역할도 수행하는데, 예를 들어, CPU는 데이터를 빠르게 처리할 수 있지만, 외부 장치와의 데이터 전송 속도는 느릴 수 있는 경우, 버퍼는 CPU와 외부 장치 간의 데이터 전송을 조절하여 처리 속도의 불일치를 해결한다.

      이러한 버퍼는 주로 메모리의 일부 영역으로 구현되며, 일반적으로 FIFO(First-In, First-Out) 방식으로 동작한다. 데이터는 버퍼에 저장되고, 버퍼가 가득 차면 데이터가 외부 장치로 전송되어 비워진다. 이러한 방식으로 데이터의 일시적인 저장과 전송을 원활하게 처리할 수 있도록 한다.

     

    3. IO장치

    1) 정의

      컴퓨터와 외부 장치 또는 사용자 사이의 데이터 및 신호를 입력하거나 출력하는 역할을 수행하는 장치

     

    2) 종류

    1. 키보드
    2. 마우스
    3. 모니터
    4. 프린터
    5. 스캐너
    6. 스피커
    7. 디스크 드라이브
    8. 네트워크 가드

     

    4. GPU

    1) 정의

      주로 그래픽 작업을 처리하는데 사용되는 하드웨어이다. 현재에는 다양한 분야에서 병렬 처리 작업을 수행하기 위한 계산 장치로 널리 사용되고 있다. CPU와는 구조적으로 다른 설계를 갖고 있으며, CPU는 일련의 명령어를 순차적으로 처리하는 데 특화되어 있지만 GPU는 대규모 데이터를 동시에 처리하는데 특화되어 있다. 즉, 수백 수천개의 작은 코어로 구성되어 있으며, 이러한 다중 코어 구조는 병렬 처리에 탁월한 성능을 발휘할 수 있도록 도와준다.

     

    2) 주요 기능

    (1) 그래픽 렌더링  : 2D 및 3D 그래픽 작업을 처리하는데 특화되어 있다. 게임 컴퓨터 그래픽스, 가상 현실 등 높은 그래픽 성능이 요구되는 작업을 수행한다.

     

    (2) 병렬처리 : 동시에 많은 데이터를 처리하거나 복잡한 계산 작업을 효율적으로 수행한다.

     

    (3) 과학 및 연구 : 대규모 데이터 집합의 병렬처리, 수치 해석, 머신 러닝, 딥러닝 등의 작업을 가속화 하는데 사용된다.

     

    (4) GPGPU(General-Purpose GPU) : 일반 목적을 병렬 처리 장치로 활용. CPU에 비해 높은 연산 성능을 제공하며, 병렬 처리가 필요한 다양한 응용 프로그램에서 사용될 수 있다.

     

    5. 마더보드

    1) 정의

      마더보드는 컴퓨터 시스템에서 다른 하드웨어 구성 요소들을 연결하고 상호 작용할 수 있도록 하는 주요한 회로 기판이다. 

     

    2) 구성 요소

    1. CPU 소켓
    2. 메모리 슬롯
    3. 확장 슬롯
    4. 칩셋
    5. BIOS
    6. 연결 포트

     

    6. 전원 공급 장치

    1) 정의

      전원 공급 장치는 컴퓨터 시스템에 전원을 공급하는 장치이다. PSU는 외부 전원원으로부터 AC 전기를 입력받아 컴퓨터의 다른 하드웨어 구성 요소들에 안정적인 DC 전압을 제공한다.

     

    2) 구성 요소

    1. 변압기
    2. 정류기
    3. 커넥터
    4. 보호장치

     

    7. 네트워크 장치

    1) 정의

      컴퓨터 네트워크에서 데이터 통신을 가능하게 하는 기기들을 말한다. 이러한 장치들은 네트워크 구성과 용도에 따라 다양한 역할과 기능을 수행한다.

     

    2) 구성 요소

    (1) 네트워크 어댑터 : 네트워크 어댑터, 네트워크 인터페이스 카드(NIC)는 컴퓨터와 네트워크 간의 연결을 담당한다. 컴퓨터에 내장되거나 외부에 연결되는 카드 형태로 제공되며 이더넷, 와이파이, 블루투스 등 다양한 네트워크 기술을 지원할 수 있다.

     

    (2) 스위치 : 네트워크에서 데이터를 전송하고 다른 장치들 간의 통신을 관리하는 역할을 수행한다. 여러개의 포트를 가지고 있으며, 각 포트는 컴퓨터, 서버, 프린터 등 네트워크 장치에 연결된다. 스위치는 데이터를 목적지로 전달하는데 사용되며, 이를 통해 네트워크 내의 효율적 데이터 전송을 가능하도록 한다.

     

    (3) 라우터 : 라우터는 네트워크 간의 연결을 관리하고 데이터 패킷을 전송하는 역할을 수행한다. 다른 네트워크 가능 경로를 결정하여 패킷을 전달하며, 인터넷과 같이 여러 네트워크 간의 통신을 가능하게 한다. IP 주소를 기반으로 패킷을 전달하고 네트워크 보안 및 패킷 필터링 등의 기능을 제공한다.

     

    (4) 모뎀 : 모뎀은 디지털 신호와 아날로그 신호를 상호 변환하여 네트워크와으 통신을 가능도록 한다. 일반적으로 모뎀은 인터넷 서비스 제공업체와의 연결을 위해 사용되며, 전화선, 케이블, 광케이블 등 다양한 통신 매체를 통해 데이터를 전송한다.

     

    (5) 방화벽 : 방화벽은 네트워크의 보안을 유지하기 위해 사용되는 장치이다. 네트워크 트래픽을 모니터링하고, 외부로부터의 불법적인 접근이나 악성 행위를 차단하는 역할을 수행한다. 네트워크 데이터 흐름을 제어하고, 인가된 사용자들만이 네트워크에 접근할 수 있도록 설장할 수 있다.

     

     

     


    데이터 양자화

    1. 정의

      디지털 데이터를 표현하는 과정에서 연속적인 값들을 일정한 간격의 이산적인 값들로 변환하는 기술. 주로 아날로그 신호나 연속적인 데이터를 디지털 형태로 변환하는 과정에서 사용된다.

     

    2. 양자화의 단계

      1) 양자화 단계

      연속적인 신호를 일정한 간격의 작은 구간으로 나눕니다. 이 작은 구간을 양자화 간격 또는 양자화 레벨이라고 합니다

      2) 양자화 값 선택 단계

      각 구간의 대표값 중 하나를 선택하여 해당 구간의 모든 샘플을 그 값으로 대체

     

    3. 특징

      작은 양자화 간격을 선택하면 원본 데이터와 더 유사한 표현이 가능하지만, 더 많은 비트가 필요하게 되어 저장 공간 또는 전송 대역폭이 더 많이 필요해지며, 큰 양자화 간격을 선택하면 저장 공간 또는 전송 대역폭을 절약할 수 있지만, 원본 데이터와의 차이가 더 크게 나타날 수 있다.

      일반적으로 데이터 양자화는 복원 가능한 과정으로 양자화 간격과 양자화 값의 수준에 따라 복원 데이터의 일치도가 달라진다. 작은 양자화 간격과 많은 수준의 양자화 값이 사용될수록 원래 데이터와의 일치도가 높아진다.

     

     

    데이터 패킷

    1. 정의

      컴퓨터 네트워크에서 정보를 전송하기 위해 사용되는 작은 조각이다. 데이터를 전송할 때, 일반적으로 큰 데이터를 작은 패킷으로 나누어 전송하고, 이러한 데이터 패킷은 네트워크를 통해 전송될 때 다양한 경로로 전송될 수 있다. 수신측에서는 수신받은 패킷들을 받아 순서대로 재조립하여 원래 데이터를 복원한다.

     

    2. 구성

    1) 헤더

      헤더는 패킷의 메타데이터를 포함하며, 패킷의 출발지와 목적지 주소, 패킷의 크기 및 순서 등과 같은 정보를 담는다.

     

    2) 페이로드 

       페이로드는 실제 데이터를 포함하며, 전송되는 파일, 메시지, 웹 페이지 내용 등이 페이로드에 포함된다.

     

    3. 사용 시 이점

    1) 대용량의 데이터도 작은 패킷으로 나누어 전송 가능하다

     

    2) 패킷 기반 통신은 패킷의 독립성을 보장하므로, 특정 패킷의 손상이나유실이 발생해도 다른 패킷들은 영향을 받지 않고 전송 가능하며, 이럴 바탕으로 데이터 전송의 신뢰성을 향상 시킬 수 있다.

     

    3)  패킷 기반 통신은 다양한 토폴로지(네트워크 연결 방식)에서 유연하게 작동 가능하며, 여러 경로를 통해 패킷을 전송해 전체적인 효율성을 높일 수 있다.

     

     

    계층모델

    1. 정의

      네트워크에서 데이터 전송을 위해 사용되는 프로토콜과 기술들의 기능과 역할을 조직화하고 계층적으로 분리한 것

     

    2. 종류

    1) OSI 모델 (Open Systems Interconnection Model)

      국제표준화 기구 ISO에서 개발한 7개의 계층으로 구성된 모델

     

    (1) 물리 계층(Physical Layer): 물리적인 데이터 전송 매체를 통해 비트 단위의 데이터를 전송한다.

     

    (2) 데이터 링크 계층 (Data Link Layer) : 인접한 노드 사이에서 오류 제어, 흐름 제어 등 데이터를 안전하게 전달한다. 이 계층에서는 MAC 주소를 사용하여 네트워크 장치들을 식별한다.

     

    (3) 네트워크 계층 (Network Layer) : 데이터 패킷의 경로 설정과 라우팅을 수행한다. IP주소를 사용하여 데이터를 전송하고 목적지까지 경로를 결정한다.

     

    (4) 전송 계층 (Transport Layer) : 신뢰성 있는 데이터 전송을 담당한다. 데이터 분할, 재조립, 흐름제어, 오류 복구 등을 수행하며, TCP와 UDP가 이 계층에서 동작한다.

     

    (5) 세션 계층 (Session Layer) : 세션 관리, 동기화 등을 제공하여 통신 세션을 설정하고 유지한다.

     

    (6) 표현 계층 (Presentation Layer) : 데이터의 형식 변환, 암호화, 압축 등의 데이터 표현을 담당한다.

     

    (7) 응용 계층 (Application Layer) : 사용자와 네트워크 간의 상호작용을 위한 프로토콜을 제공한다. 

     

    2) TCP/IP 모델 (Transmission Control Protocol/Internet Protocol Model)

      인터넷을 기반으로 한 네트워크에서 사용되는 프로토콜 스택을 기술하며 4개의 계층으로 구성된다.

     

    (1) 네트워크 인터페이스 계층 (Network Interface Layer) : 물리적인 네트워크와 데이터 링크 계층을 결합하여 네트워크에 연결한다.

     

    (2) 인터넷 계층 (Internet Layer) : IP프로토콜을 사용하여 데이터 패킷의 전송과 라우팅을 처리한다.

     

    (3) 전송 계층 (Transport Layer) : TCP와 UDP 프로토콜을 이용하여 데이터 신뢰성과 흐름제어를 수행한다.

     

    (4) 응용 계층 (Application Layer) : HTTP, FTP, DNS, SMTP 등과 같은 프로토콜을 포함하며, 사용자 응용프로그램과 네트워크 간 상호작용을 담당한다.

     

     

    네트워크 프로토콜

    1. 정의

      네트워크 프로토콜은 컴퓨터 네트워크에서 컴퓨터나 장치 간 효율적이고 안정적인 통신을 유지하기 위해 사용되는 규칙 세트이다. 이러한 프로토콜은 데이터 전송방식, 통신 프로세스, 오류 처리, 보안 등 다양한 측면을 정의한다.

     

    2. 종류

     1) 인터넷 프로토콜 스위트 (Internet Protocol Suite : TCP/IP) : TCP/IP는 인터넷을 기반으로한 가장 기본적인 네트워크 프로토콜이다. 인터넷 프로토콜(IP)와 IP를 보완하는 전송 제어 프로토콜(TCP)로 구성된다. TCP는 데이터 전송의 신뢰성을 담당하고 IP는 패킷의 라우팅과 주소 지정을 담당한다.

     

     2) 이더넷 (Ethernet) : 이더넷은 LAN(Local Area Network)에서 사용되는 가장 일반적인 유선 네트워크 기술이다. 이더넷은 데이터 링크 계층에서 동작하며, MAC 주소를 사용하여 컴퓨터 간에 데이터를 전송한다.

    데이터 링크 계층 : OSI(Open Systems Interconnection) 모델에서 네트워크 계층과 물리 계층 사이에 위치한 계층. 물리적인 네트워크 매체를 통해 데이터를 전송하기 위해 프레임 단위로 데이터를 구성하고 제어하는 역할을 수행한다. 또한 네트워크에 연결된 계별 장치 간 직접적인 통신을 관리하고 에러감지, 정정, 흐름제어 등의 처리를 한다.
    MAC 주소 : Media Access Controll Address는 데이터 링크 계층에서 사용되는 고정적인 물리적 주소이다. MAC 주소는 네트워크에 연결된 각 네트워크 인터페이스 카드(네트워크 어댑터)에 할당되며, 이를 통해 장치를 고유하게 식별하도록 한다. 이러한 MAC 주소는 6바이트(48비트)의 길이를 가지며 16진수로 표현된다. 첫 24비트는 제조사 식별자, 나머지 24비트는 제조사에서 할당한 고유한 식별자이다.

     3) 포인트 투 포인트 프로토콜 (PPP) : PPP는 시리얼 라인을 통해 두 장치 간에 포인트 투 포인트 연결을 만들기 위해 사용되는 프로토콜이다. 주로 인터넷 접속에 사용되며 TCP/IP와 함께 널리 사용된다.

     

     4) 전송 제어 프로토콜 (TCP) : TCP는 신뢰성 있는 데이터 전송을 위한 연결 지향 프로토콜로서 TCP/IP 프로토콜 스위트에 포함된다. 데이터의 순서를 유지하고, 손실이나 손상을 검출하고 복구하는 기능을 제공한다.

     

    5) 사용자 데이터그램 프로토콜 (UDP) : UDP는 비연결성 프로토콜로, TCP/IP 프로토콜 스위트에 포함되어 있다. TCP보다 빠르고 간단하며 지연 시간이 적지만 신뢰성이 낮다.

     

    3. 인터넷 프로토콜 스위트

    1) 정의

      인터넷을 구성하는 핵심 프로토콜의 모음으로 컴퓨터 네트워크에서 데이터 전송과 통신을 가능하게 하는 규칙과 프로토콜을 제공한다. TCP/IP는 인터넷을 지원하는 기본 프로토콜 스택으로 널리 사용되며 다양한 네트워크 및 인터넷 서비스의 기반이 된다.

     

    2) 종류

    (1) 인터넷 프로토콜 (IP) : IP는 네트워크 계층에서 작동하는 프로토콜로 데이터 패킷 전달과 라우팅을 처리한다. IP는 주소 지정 및 패킷의 경로 선택을 담당하며 IPv4, IPv6 두 가지 버전이 있다.

     

    (2) 전송제어 프로토콜 (TCP) : TCP는 전송 계층에서 동작하는 연결 지향 프로토콜로, 데이터의 신뢰성과 순서 보장을 담당한다. TCP는 데이터를 세그먼트로 나누어 전송하고, 수신측에서 재조립해 데이터의 정확한 전달을 보장한다.

     

    (3) 사용자 데이터그램 프로토콜 (UDP) : UDP는 전송 계층에서 동작하는 비연결성 프로토콜로, 데이터의 신속한 전달을 중시한다. UDP는 데이터를 데이터그램 형태로 전송하며 신뢰성을 보장하지 않는다.

     

    (4) 인터넷 제어 메시지 프로토콜 (ICMP) : ICMP는 네트워크 계층에서 동작하는 프로토콜로, 네트워크 상태 및 오류 메시지를 전송하는 데 사용된다. 예로 Ping 메시지를 사용해 네트워크 호스트의 응답 여부를 확인하는데 사용된다.

     

    (5) HTTP (Hypertext Transfer Protocol) : 웹 브라우저와 웹 서버 간에 웹 페이지 및 기타 리소스를 정송하는 데 사용되는 프로토콜이다. 클라이언트-서버 모델을따르며 브라우저(클라이언트)에서 요청을 보내고 서버에서 응답을 반환하는 방식으로 동작한다.

     

    (6) HTTPS (Hypertext Transfer Protocol Secure) : HTTP의 보안 버전이다. SSL(Secure Soket Layers) 또는 TLS(Transport Layer Security) 프로토콜을 사용하여 통신을 암호화하고 인증하는데 사용된다. HTTP는 데이터의 기밀성과 무결성을 보호하며 안전한 통신을 제공한다. 이러한 HTTP 프로토콜의 버전중 하나는 HTTP/2이며 TCP 위에서 동작하는 프로토콜이다. 이러한 HTTP/2는 다중화 기능을 제공해 여러개의 요청과 응답을 동시에 처리 할 수 있으며, 헤더 압축, 서버 푸시 등의 기능을 제공해 웹 페이지 로딩 속도를 개선한다.

     

    3) IP 주소

      IP는 데이터 그램 형태로 데이터를 전송한다. 데이터그램은 패킷화된 데이터 단위를 나타내는 말로, 송신자로부터 수신자까지 전달되는 독립적인 패킷을 나타낸다. 각 데이터그램은 IP 헤더와 페이로드로 구성되며 헤더는 메타데이터, 출발지와 목적지의 IP주소, 패킷읠 크기, 순서등을 페이로드는 파일, 메시지, 웹 페이지 등 실제 데이트를 담는다.

     

    (1) 옥탯 규칙

      옥탯 규칙은 IP 주소를 8비트로 나누어 표현하는 방식이며 IPv4 IPv6에서 모두 사용된다.

     

    (1) IPv4

      IP 주소 체계 중 하나로 32비트로 구성되어 있으며, 8비트씩 4개의 옥텟(octet)으로나누어 표현한다. 각 옥텟은 10진수로 표현되며 점으로 구분된다. 예를들어, "192.168.0.1"과 같은 형식을 가진다. 각 옥탯은 0 부터 255사이의 값을 가질 수 있다.

     

    (2) IPv6

      IP 주소 체계 중 하나로 128비트로 구성되어 있으며, 16비트씩 8개의 옥텟으로 나누어 표현한다. 각 옥텟은 16진수로 표현되며, 콜론으로 구분된다. 예를들어 "2001:0db8:85a3:0000:0000:8a2e:0370:7334"와 같은 형식이며, 각 옥텟은 0부터 FFFF까지의 값을 가질 수 있다.

     

      두 주소 체계의 차이점은 크기와 표현 가능한 주소의 개수이다. IPv4의 경우 32비트로 표현되기에 약 43억개의 주소를 가질수 있다. 이러한 주소 체계는 인터넷의 성장과 함께 주소가 부족하게 되었다. 이를 보완하기 위해 IPv6가 도입되었으며, IPv6의 경우 128비트로 표현되기 때문에 약 340 undecillion (3.4 * 10^38) 개의 주소로 거의 무한대의 가까운 주소공간을 제공한다.

     

     

    DNS(Domain Name System)

    1. 정의

      DNS는 인터넷에서 도메인 이름과 IP주소를 매핑하는 역할을 담당하는 시스템이다. DNS는 계층적인 구조를 가지고 있으며, 여러 개의 DNS 서버로 구성되어 있다. 이 서버들은 전 세계적으로 분산되어 있으며, 사용자의 요청에 따라 도메인 이름과 IP주소를 조회하고 전달한다.

     

    2. 계층 구조

    1) 루트 서버 (Root Server) : DNS 계층 구조의 최상위에 위치한 서버로 모든 DNS 질의의 시작점이다. 루트 서버는 전 세계적으로13대가 운영되고 있으며, 각 서버는 고유한 IP주소를 가지고 있다. 루트 서버는 최상위 도메인(.com, .net, .org 등)을 관리하는 DNS 서버들의 위치 정보를 제공한다.

     

    2) 최상위 도메인 서버 (Top-Level Domain Server) : 틀정 최상위 도메인(.com, .net, .org 등)을 관리한는 DNS 서버이다. 각 최상위 도메인 서버는 해당 도메인의 하위 도메인을 관리하는 책임을 갖는다. 즉, .com 도메인 서버는 google.com과 같은 도메인에 대한 정보를 제공한다.

     

    3) 네임 서버 - 권한 있는 도메인 서버 (Authoritative Domain Server) : 특정 도메인의 DNS 정보를 관리하는 서버이다. 각 도메인은 자체적으로 하나 이상의 권한 있는 도메인 서버를 가지며, 해당 도메인의 DNS 정보를 저장하고 제공한다. 이러한 서버들은 도메인 소유자 또는 관리자에 의해 운영되며, 도메인 이름과 IP 주소의 매핑 정보를 포함한다.

     

    4) 네임 서버 - 캐시 서버 (Cahcing Server) : DNS 정보를 일시적으로 저장하여 빠른 응답을 제공한다. 사용자의 DNS 요청에 대한 응답을 받은 후, 캐시 서버는 해당 정보를 자체적으로 저장하여 다음동일한 요청에 대해 직접적인 DNS 질의를 수행하지 않고도 정보를 제공할 수 있게 한다. 이를 통해 네트워크 트래픽을 줄이고 응답 시간을 개선할 수 있다.

     

    3. 작동 방식

     

     

    DNS란? (도메인 네임 시스템 개념부터 작동 방식까지) - 하나몬

    이 게시물의 중요 포인트 DNS(도메인 네임 시스템)이 사람이 읽을 수 있는 도메인 이름(www.hanamon.kr)을 IP 주소로 변환하는 시스템이라는 것은 쉽게 알 수 있습니다. 이번 글에서는 이렇게 도메인

    hanamon.kr


     

    반응형

    댓글

Designed by Tistory.