분류 전체보기 101

[Network] 1-6. Networks Under Attack

네트워크 보안 분야는 bad guys들이 어떻게 컴퓨터 네트워크를 공격하고 그 공격에 어떻게 방어해야 하는지에 대해 배우고 더 나아가 처음부터 이러한 공격에 면역인 새로운 아키텍처를 설계하는 방법에 대해 다루고 있다. 이 책에서는 네트워크 보안 이슈를 앞에서 다뤄볼 것이다. 아직은 컴퓨터 네트워킹과 인터넷 프로토콜의 전문가가 아니기 때문에 여기서는 요즘에 잘 알려진 보안 관련 문제들을 살펴보면서 시작할 것이다. 간단한 질문에서 시작한다. 무엇이 잘못될 수 있는가? 컴퓨터 네트워크는 어떻게 취약한가? 오늘날 더욱 흔해진 공격의 유형은 어떤 것인가? Bad guys가 인터넷을 통해 내 호스트에 악성 SW를 설치할 수 있다. 우리는 인터넷으로 기기에 접속한다. 왜냐하면, 인터넷으로 부터 또는 인터넷에서 데이터..

[DB] Chapter 12-4. Flash Memory

Flash 메모리는 두 가지 유형이 있다. NOR flash와 NAND flash. NAND flash는 데이터 저장을 위해 주로 사용되는 variant(변형형)이다. NAND flash에서 읽기 작업(reading)은 흔히 4096바이트로 구성된 전체 페이지 데이터를 NAND flash로부터 메인메모리로 가져와야 한다. 즉, NAND 플래시에서 읽은 전체 페이지 데이터를 메인 메모리로 옮겨야 한다는 뜻이다. 그래서, NAND flash에 있는 페이지는 자기 디스크의 sector와 비슷하다. SSD는 NAND 플래시를 사용해서 만들어졌고 디스크 저장장치와 같이 똑같은 블록 기반의 인터페이스를 제공한다. SSD의 데이터 전송 속도는 자기식 디스크의 전송 속도보다 빠르고 보통은 연결 기술에 의해 속도가 제한..

[Network] 1-5. Protocol Layers and Their Service Models

지금까지 배운 걸 통해 인터넷이란 굉장히 복잡한 시스템이라는 걸 알 수 있었다. 지금까지 인터넷의 다양한 요소들을 살펴봤다. 수많은 응용 프로그램과 프로토콜, 다양한 종류의 종단 시스템, 패킷 교환 방식, 다양한 링크 레벨의 매체들. 이렇게 엄청난 복잡성이 주어진 상황에서 네트워크 구조를 조직화할 수 있을까? 가능하다. 1. Layered Architecture 인터넷 구조를 조직화 하기 전에 사람을 가지고 예시를 들어보자. 사실 인간은 항상 복잡한 시스템을 다루고 있다. ex) 누군가가 나에게 공항 시스템에 대해 설명을 요청할 때 티켓팅 직원, 수하물 점검원, 탑승구 직원, 조종사, 비행기, 항공교통 통제 및 비행기 경로 지정을 포함한 복잡한 시스템을 설명하기 위한 구조를 어떻게 찾을 수 있을까? 이러..

[Network] 1-4. Delay, Loss and Throughput in Packet-Switched Networks

1-1에서 인터넷을 종단 시스템에서 동작하는 애플리케이션에 서비스를 제공하는 infrastructure(인프라)라고 볼 수 있다고 했다. 이론적으로, 인터넷 서비스는 두 종단 시스템이 원하는 만큼 손실없이 데이터를 즉시 이동시킬 수 있다. 하지만, 현실적으로 불가능하다. 컴퓨터 네트워크는 throughput(초당 전송할 수 있는 양)을 제한해야 하고 종단 시스템간에 delay가 존재하며 packet loss가 일어날 수도 있다. 이번 섹션에서는 컴퓨터 네트워크에서의 지연(delay), 손실(packet loss) 및 처리량(throughput)에 대해 알아보고 정량화할 것이다. 1. Overview of Delay in Packet-Switched Networks 패킷은 호스트(시작점)에서 시작해서 일련..

[DB] Chapter 12-3. Magnetic Disks

자기 디스크(Magnetic Disks)는 현대 컴퓨터 시스템에서 secondary storage의 대부분을 제공한다. 자기 디스크의 용량은 해마다 점차 증가하고 있지만 거대한 응용 프로그램이 요구하는 용량은 더 빠르게 증가하고 있어서 어쩔 때는 디스크의 용량을 앞지를 때도 있다. 최근에 SSD 저장장치의 용량이 빠르게 증가했고 비용도 감소하고 있다. SSD가 속도와 용량이 같이 늘어나면서 자기 디스크의 경쟁자가 되었다. 하지만, SSD의 바이트 당 비용이 자기 디스크의 바이트당 비용보다 6~8배 비싸다는 사실 때문에 자기 디스크가 여전히 선택받고 있다. 물론 점차적으로 기업용 데이터에서 SSD도 선택받고 있다. 1. Physical Characteristics of Disks 12.2는 자기 디스크의 ..

[DB] Chapter 12-2. Storage Interfaces

자기 디스크 (a.k.a SSD)는 컴퓨터 시스템과 고속 연결을 통해 연결되어 있다. SATA 대표적으로 SATA(Serial ATA) 인터페이스와 SAS(Serial Attached SCSI 인터페이스를 제공한다. (보통 SAS는 서버에서만 사용된다) SATA-3는 명목적으로 초당 6GB를 지원하고 초당 600MB의 전송 속도를 지원한다. 반면, SAS 버전3은 초당 12 기가 비트의 전송 속도를 지원한다. NVMe NVMe(Non-Volatile Memory Express) 인터페이스는 SSD를 더 좋게 지원하기 위해서 논리적 인터페이스 표준이다. 그리고 주로 PCIe 인터페이스와 함께 사용된다. (PCIe 인터페이스는 내부 컴퓨터 시스템에서 고속 데이터 전송을 지원한다) SAN 디스크는 일반적으로 ..

[DB] Chapter 12-1. Overview of Physical Storage Media

컴퓨터 시스템에서 여러 유형의 데이터 스토리지가 존재한다. 이러한 저장 매체들은 다음과 같은 기준으로 분류된다. 데이터에 접근할 때 속도 매체를 구매할 때 비용 당 데이터 단위 (cost per unit of data) 매체의 신뢰성 전형적인 매체들은 다음과 같다. Cache : 가장 빠르고 비싼 저장 장치. 캐시 메모리는 상대적으로 작고 컴퓨터 시스템의 HW에 의해 운영된다. DB 시스템에서는 캐시 스토리지를 신경쓰지 않아도 되지만 자료구조와 알고리즘을 처리하는 쿼리를 디자인할 때 데이터베이스를 구현하는 사람이 캐시의 영향을 주의할 필요는 있다. 이후에 좀 더 얘기해보자. Main memory : 조작이 가능한 데이터에 사용되는 저장 매체는 주기억장치(main memory)이다. 범용적인 기계 명령어는..

[Network] 1-3. The Network Core

네트워크 코어(Network core)란... 패킷 스위치와 링크로 이뤄진 망이다. 이를 통해 인터넷의 종단 시스템을 상호 연결한다. 아래 그림은 네트워크 코어를 굵은 선으로 색칠했다. cf) 패킷 스위치 : incoming 통신 링크 중 하나에 도착한 패킷을 전달받아서 outgoing 통신 링크로 패킷을 전달하는 역할 수행 1. Packet Switching 네트워크 애플리케이션에서 종단 시스템은 메시지를 서로 주고받는다. 메시지 애플리케이션 제작자가 원하는 내용을 모두 담을 수 있다. 제어 기능을 수행할 수 있다 (ex. Hi라는 메시지에 대한 handshaking 예시 - 그림 1.2 링크) 데이터를 포함할 수도 있다. (이메일 메시지, JPEG 이미지, MP3 오디오 등) 하나의 종단 시스템에서 ..

[Network] 1-2. The Network Edge

이전 섹션에서는 인터넷과 네트워킹 프로토콜의 고수준의 개요(high-level overview)를 살펴봤다. 이번 섹션에서는 인터넷의 구성요소에 대해 좀 더 깊이 알아볼 것이다. 네트워크의 가장자리(edge)와 인터넷의 구성요소에 대해서 먼저 알아볼 것이다. (ex. 데스크톱 컴퓨터, 스마트폰, 인터넷과 연결된 사물들) 다음 섹션에서는 네트워크 edge에서 네트워크 중앙과 스위칭과 라우팅에 대해서 살펴볼 것이다. 컴퓨터 네트워크에서 컴퓨터와 다른 기기들을 종단 시스템(end system)이라고 불렀다. 왜냐하면, 아래 그림과 같이 인터넷의 가장자리에 위치했기 때문이다. 또한 호스트(host)라고도 불렀다. 왜냐하면, 애플리케이션 프로그램을 동작시키기 때문이다. (ex. 웹 브라우저 프로그램, 웹 서버 프..

[DB] Part 5. Storage Management and Indexing

데이터베이스 시스템이 데이터를 고수준의 관점에서 제공하지만, 결국 데이터는 하나 이상의 저장 장치에 비트 값으로 저장된다. 현재, 대다수의 데이터베이스 시스템은 자기(磁氣) 디스크에 데이터를 저장한다. 성능 요구가 높은 데이터는 플래시 기반의 SSD에 저장한다. 데이터베이스 시스템은 프로세싱을 위해 메인 메모리에서 데이터를 가져와서 지속성을 위해 데이터를 저장장치(storage)에 쓴다. 또한, 데이터는 보관을 위해서 테이프 또는 다른 백업 장치로 복사할 수도 있다. 저장 장치의 물리적인 특징은 데이터를 저장하는 방식에 중요한 역할을 한다. 왜냐하면, 자기(磁氣) 디스크에 있는 데이터에 접근하는 것이 메인 메모리에 접근하는 것 보다 훨씬 느리기 때문이다. Chapter 12에서는 물리적 저장장치(자기(磁..