분류 전체보기

1. 개념 및 용어 정리[1] DNSDNS 는 도메인에 알맞는 IP 주소로 변환을 해주는 역할을 하는 서버이다. 유저는 IP보다 문자로 표현된 도메인 주소를 더욱 잘 기억하고 활용하기 때문에 도메인을 사용한다. 도메인을 IP 로 변환하는 과정은 아래와 같다./etc/hosts 파일에 정적으로 설정한 정보를 조회한다.local DNS Cache 를  조회한다./etc/resolv.conf 파일에 설정된 정보를 기반으로 DNS 서버에 질의한다.DNS server 는 정보가 있으면 IP 주소를 반환하고, 없으면 본인의 상위 DNS 서버에게 질의하여 정보를 받아온다.도메인에 해당하는 IP 를 DNS Cache 에 추가한다. [2] reverse-proxyReverse-Proxy 는 하나 이상의 웹 서버 앞에 위..
1. 용어 및 개념 정리[1] Bastion Server ?? Bastion 용어는 성 외곽을 보호하기 위해 돌출된 부분을 말하며, 적으로부터 효과적으로 방어하기 위한 수단이다. Network 에서 Bastion 는 Public, Private Network 에 대한 엑세스를 제공하기 위한 보안 엑세스를 제공하는 주체를 말한다. 쉽게 말하면 관리자가 server terminal 에 접근하기 위한 진입점이다.   Bastion Server 를 별도로 구성하는 이유는 서버 터미널 접근에 대한 대응, 서비스 영향 최소화, 서비스 정상 트래픽 구분, 서비스 영향 최소화 3가지 이다. Basiton Server 는 아래와 같은 문제에 대해 대응할 수 있다.높은 트래픽이나 디도스 공격으로 인한 대역폭 점유로 인해..
1.  용어 및 개념 정리[1] VPC 퍼블릭 클라우드 상에서 제공되는 사설 네트워크 (private network)이며, 가상의 데이터 센터와 같다. IP주소 범위, VPC 범위를 설정해 외부와 격리된 네트워크 컨테이너를 구성할 수 있다. 논리적으로 독립된 가상 네트워크는 외부 네트워크 통신 제어, VPC 내부 통신 설정을 통해 보안적인 이점을 제공한다. 참고로 AWS VPC 는 리전 단위로 서비스를 제공한다.  [2] subnet  VPC 의 하위 단위로 VPC 에 할당된 IP 를 더 작은 단위로 분할한 개념을 말한다. 하나의 서브넷은 하나의 가용영역(AZ) 안에 위치하며,  CIDR block range 를 통해 IP 주소 범위를 지정할 수 있다.   각 subnet 에 IP 할당 갯수는 2^(3..
·cs
[1] 해시테이블 (Hash Table) ?? 해시 테이블은 Key, Value 형테로 데이터를 저장하는 자료구조이며, 평균 시간 복잡도가 O(1) 인 만큼 빠른 검색 속도를 제공한다. 해시 테이블이 빠른 속도를 제공하는 이유는 해시함수(hash function) 와 해시 테이블(hash table)의 버킷(bucket) 덕분이다. 해시 함수(hash function) 은 Key 값을 해시(Hash) 로 변환해주는 함수를 말하고, 버킷(bucket) 은 해시 테이블의 값을 저장하는 공간이다. 2. 해시테이블 동작원리Key 값을 해시 함수(Hash Function) 을 거쳐 해시 값(Hash) 을 변환하여 해시테이블의 특정 버킷의 저장할 인덱스를 설정하고 Key, Value, Hash 와 같은 값들을 저장..
·cs
1. CPU, Process, Memory(1) CPU, Process, Memory 프로세스(Process) 는 컴퓨터에서 실행 중인 프로그램을 말하며 각 프로세스는 독립된 메모리(Memory) 공간을 할당받아 실행되기 위해 대기하고 있다. 프로세스는 명령어와 데이터 집합을 가지고 있는데, 이 때 프로세스의 명령어를 CPU(Central Process Unit) 에서 실행시킨다. (2) I/O (Input/Output) 프로세스 는 CPU 연산 외에도 네트워크 또는 입출력 장치를 통해 데이터를 주고 받는다. 이와 같은 행위를 I/O(Input/Output) 라고 한다. I/O 는 외부에서 응답이 완료될 때까지 기다리는 blocking I/O, 응답이 올 때까지 기다리지 않고 다른 작업을 하는 Non-B..
·cs
1. 쓰레드 타입 (Thread Type)[1] 싱글-코어, 싱글 쓰레드(single-core,single-thread) 예전의 CPU 는 하나의 코어와 하나의 물리 쓰레드(H/W thread) 를 매핑해 관리했다. 하지만 프로세스의 동기 작업으로 인해 쓰레드가 대기하거나 프로그램을 메모리에 데이터를 적재하는 시간에는 CPU core 를 활용하지 못하는 문제가 있었다. 이와 같은 문제를 개선하고자 도입된 방법이 하이퍼 쓰레드(hyper thread) 이다. 하이퍼 쓰레드(hyper thread) 는 하나의 코어에 두 개의 물리 쓰레드(H/W thread) 를 할당해 core 의 효율을 높히는 방법이 도입된다.  [2] 하드웨어 쓰레드(hardware thread)물리 쓰레드(H/W thread) 는 OS..