본문 바로가기
kt aivle

kt aivle 3기 [13주차] - IT 인프라 내용 정리

by mizuiro 2023. 4. 24.

1. 내용정리

서버와 클라이언트

서버 : 클라이언트에게 네트워크를 통해 정보나 서버를 제공하는 장치 (요청받는 것을 전달)

클라이언트 : 네트워크를 통해 서버에 접속해 정보를 확인하거나 서비스를 이용하는 장치 (요청)

==> request, response 를 반복하면서 운영이 된다

 

1. 서버와 하드웨어

서버의 종류

- 웹 서버 : 자신이 요청받은 데이터(정적 데이터)가 있으면 클라이언트에게 전달(응답 내용 기록 log)

- 애플리케이션 서버 : 동적 콘텐츠(소스코드, 동영상 등)을 클라이언트에게 전달

- DB 서버 : 클라이언트 정보를 조회하고 전달

- 리버스 프록시 서버 : 클라이언트와  다른 서버가 과부화를 받지 않도록 데이터를 주고 받을 수 있도록 전달

- 포워드 프록시(캐시) 서버 : 여러 서버들을 거쳐서 계속 같은 데이터를 받을 때 이 서버가 데이터를 저장해 두었다가 요청이 오면 전달 

 

서버 하드웨어

- 서버 하드웨어 폼팩터 : 여러개의 서버를 꼽아서 사용하는 것 (랙 마운트 형, 블레이드 형, 타워형 등...)

- 서버 하드웨어 종류 : (Main Frame -> UNIX -> 

 

서버 소프트웨어

서버:  OS : Z/os, UNIX, ORACLE

- 오픈소스 : debian, ubuntu, linux, window, apache etc...

 

2. 네트워크

네트워크 : 그물처럼 연결된 상태

- 회선 교환 방식(circuit Exchange Method) : 데이터 교환하기 위해 1:1 연결 통로를 만들어 데이터 교환이 완료될 때까지 회선을 계속 사용하는 방식

- 패킷 교환 방식(Packet Exchange Method) : 데이터를 패킷이라는 작은 단위로 나누고 

헤더(송수신 포트번호, 패킷 순서번호, 데이터 시작 위치, 데이터 양 등) 을 붙어 데이터를 교환하는 방식

단, 필요한 만큼만 회선을 이용하며 같은 회선을 다른 사용자도 이용할 수 있고, 패킷 손상 시 손상된 패킷만 다시 보냄

 

네트워크 프로토콜과 계층

- 프로토콜(Protocol) : 패킷 전송 위한 규칙

- HTTP(Hpytertext Transfer Protocol) : 웹서버, 웹 브라우저가 패킷 교환할 때 사용하는 프로토콜

(DNS, FTP, SSL/TLS, TCP, UDP, IEEE etc..)

- 계층(Layer) 송신 기기, 수신기기 사시에 주고 받는 데이터는 계층 별로 처리

- 계층 종류 (TCP/IP 계층, OSI 참조 모델)

각각 L1, L2, L3, L4, L7 으로 현장에서는 사용하고 있다

- 네트워크 기기 : 계층 별로 사용하는 네트워크 기기의 종류

각 계층별 사용하는 기기

L1 :

NIC (Netowork Interface Card) => PC, 서버를 네트워크에 연결해주는 하드웨어 (무선 동글이)

허브 (Hub) => 전달받은 패킷(비트)의 복사본을 포트에 연결되 다른 모든 기기로 전송

                       단, 연결된 기기들이 네트워크 대역폭(Bandwidth)을 나누어 사용하기 때문에 전송 속도 느려짐

AP(Access Point) => 패킷을 전파로 바꾸어 송출하는 기기, 무선, 우션 사이의 다리 역할 (wifi 공유기 등)

 

L2 :

MAC Adress (Media Access Control Address) => 컴퓨터들이 서로 데이터를 전송하기 위해 사용하는 물리적 주소로 NIC에 저장되어 있음 기기를 구별하기 위한 식별번호 같은 것

이더넷(Ethernet) => 네트워크 환경에서 데이터를 주고 받기 위한 가장 대표적인 기술 규격, 1980년에 상용화 UTP(Unshielded Twisted Pair) => 케이블로 단말기와 네트워크 기기를 연결함

L2 스위치(Switch) => 단말기가 보낸 패킷(프레임)의 헤더에 있는 MAC Address를 보고 같은 네트워크의 다른 단말기로 패킷을 전송, 이더넷(Ethernet) 규격을 사용하기에 이더넷 스위치라고도 부름

L2 Switch table에 MAC address 주소가 저장되어 있기 때문에 전달 할 수 있음

L3 :

IP Address (Internet Protocol Address) => 서로 다른 네트워크에 연결되어 있는 컴퓨터들이 데이터를 전송하기 위해 사용하는 논리적 주소로 OS상에서 설정한 주소임

• Public IP Address : 공인 IP 주소, 네트워크와 외부의 네트워크가 통신하기 위해 사용(아파트 이름)

• Private IP Address : 사설 IP 주소, 같은 네트워크 안에서 통신하기 위해 사용(아파트 동 호수)

라우터(Router) => 단말기가 보낸 패킷(IP 패킷)의 헤더에 있는 IP Address를 보고 다른 네트워크의 다른 단말기로 패킷을 전송(라우팅)

라우터에도 라우팅 테이블에 주소를 저장해 놓고 있다

FPGA(Field Programmable Gate Array) => 프로그래밍 가능한 집적 회로 반도체, 용도에 따라 프로그래밍 통해 기능을 변경이 가능함(여러번 변경 가능)

ASIC(Application-Specific Integrated Circuit) => 특정 용도를 위한 주문형 집적회로 반도체(한번 제작시 기능 수정 불가)

L3 스위치(Switch) => 라우터에 L2 스위치를 추가한 네트워크 기기. 다수의 포트가 있어 여러 단말기를 연결할 수 있으며 IP 패킷 라우팅도 가능

• MAC Address Table과 Routing Table을 조합한 정보를 FPGA, ASIC과 같은 패킷 전송 처리 전용 하드웨어에 기록한 다음 스위칭 혹은 라우팅 함

 

L4:

L4 스위치(Switch) => IP주소와 포트 번호를 참조하여 트래픽을 분산해 서버로 전송하는 로드 밸런싱 기기

• 로드 밸런싱(Load Balancing) : 들어오는 트래픽을 둘 이상의 서버로 분산해서 전송하여 부하를 분산하는 것

• 트래픽(Traffic) : 서버와 네트워크 장치에서 일정 시간 내에 흐르는 데이터의 양

•방화벽(Firewall) => IP주소와 포트 번호를 참조하여 통신을 허가하거나 차단하는 기기 , 미리 정의된 보안 규칙에 따라 들어오고 나가는 트래픽을 제어할 수 있음

 

L7:

L7 스위치(Switch) => IP 주소와 포트 번호 + 애플리케이션 콘텐츠 정보들을 참조해서 로드 밸런싱 하는 기기 • 애플리케이션 콘텐츠 정보 : URL, 파일명, 콘텐츠의 문자열 등

• 웹방화벽(WAF : Web Application Firewall) => 웹 애플리케이션 서버를 안전하게 보호하는 기기 • 클라이언트와 서버 사이에서 교환되는 데이터를 애플리케이션 레벨(7계층)에서 상세히 검사하고 조치함

• 블랙리스트, 화이트리스트, 웹 트래픽 분석 등 다양한 보안 기능 제공

• 블랙리스트 : 리스트에 있는 IP는 제외하고 모두 통신 허용 • 화이트리스트 : 리스트에 있는 IP만 통신 허용

웹 트래픽 분석 => 사용자가 서버로 보내는 트래픽을 분석하여 정책에 따라 조치함

• XSS(Cross-Site Scripting) : 애플리케이션에 악성 스크립트를 심어두고 사용자가 접속하면 공격해서 정보 갈취

• SQL Injection : 악성 SQL을 실행하여 데이터베이스 정보를 조작(데이터 수정 혹은 삭제)

 

네트워크 형태

LAN(Local Area Network) : 근거리 통신망, 가정이나 기업 내부 등 한정된 범위의 네트워크 클라이언트 기기와 L2 스위치로 구성

WAN(Wide Area Network) : 원거리 통신망, 물리적으로 거리가 매우 떨어진 곳의 네트워크를 연결

인터넷(Internet) : 모든 컴퓨터를 하나의 통신망 안에 연결하고자 하는 International Network(다수의 WAN)

월드와이드웹 (World Wide Web) : 인터넷에 연결된 컴퓨터를 통해 사람들이 정보를 공유할 수 있는 공간

• LAN 환경에 L3 스위치를 추가해서 구성

VPN(Virtual Private Network) : 인터넷 상에서 가상의 전용선을 만들어 통신할 수 있게 하는 기술

• 특정 네트워크들만을 위한 전용 WAN으로 Peer to Peer, 1:1로 연결하고 이 구간의 통신은 암호화함

• 기업 본사 LAN과 지사 LAN을 연결할 때 인터넷을 거치지 않고 이 두 네트워크만의 전용 WAN을 VPN으로 구성

VPN 사용 예시 #1 : 터널베어라는 VPN을 사용해 한국에서 아르헨티나의 서비스에 접속 가능

• VPN 사용 예시 #2 : 집 혹은 카페와 같은 외부에서 기업 내부의 애플리케이션(사내 그룹웨어)에 안전하게 접속 가능

DMZ(DeMilitarized Zone) : 비무장지대, 외부 네트워크(외부망)와 내부 네트워크(내부망)의 중간 지점 • 내부망에는 존재하나 외부망에서 접근할 수 없는 영역으로, 외부망에 있는 해커의 공격으로부터 기업의 중요한 서버와 클라이언트를 보호하기 위해 사용

 

스토리지

스토리지 개념 및 종류

스토리지 : 저장장치를 다수 장착한 대용량 고속 저장장비, 서버 및 클라이언트와 네트워크로 연결해 사용

저장장치 : 컴퓨터의 데이터를 저장하기 위한 비 휘발성의 기억 장치

- 데이저 저장 뿐만 아니라 데이터 공유 목족으로 사용됨

- 서버에 장착된 디스트 용량 부족 시 다수의 사라믇ㄹ과 데이터 공유할 필요가 있을 경우 스토리지 활용

- 데이터 관리 및 보호를 위한 별도의 소프트웨어 탑재

• 스토리지 데이터 저장 방식 : RAID( Redundant Array of Independent Disk)

- 여러 개 디스크 중 일부에 데이터를 중복 저장하는 기술

- 여러 개 디스크를  하나의 디스크 모듈로 사용, 디스트 읽기/쓰기 성능향상, 장애 발생시 원활한 복구 위해 사용

 

• RAID 0 : 데이터를 여러 디스크에 분산 저장하여 하나의 디스크처럼 사용, 성능이 좋지만 장애 시 데이터는 모두 손실됨

• RAID 1 : 데이터를 다른 디스크에 동일하게 중복 저장하여 안정성이 높지만 비용이 많이 듬

• RAID 5 : 디스크에 패러티 정보를 저장해 장애 시 패러티를 토대로 복구할 수 있음, 일정 수준의 성능과 안정성 확보

• RAID 6 : RAID 5 방식에 패러티를 하나 더 추가하여 안정성을 더욱 향상시킨 방법

• RAID 1+0 : RAID 0의 높은 성능과 RAID 1의 뛰어난 안정성을 합친 형태 => 0의 고성능, 1의 복구 능력을 합친 상태

쓰기는 디스크 2개 성능, 읽기는 디스크 4개 성능발휘

전체 용량의 50%만 사용 가능 ,최소 4개 디스크 필요

==> 실무에서는 과거 5를 가장 많이 사용했으나 최근, 디스크 가격이 많이 내려와서 1을 많이 사용함

 

JBOD : Just a Brunch of Disks(Drives), 2개 이상의 디스크를 하나의 디스크처럼 만들어 주는 것(Non-RAID)

• 여러 디스크의 용량을 단순히 이어 붙인 것으로, RAID 0과 같이 다수의 디스크를 사용한다고 성능이 향상되지 않음

=> 과거 디스크 용량이 작을 때 개별 디스크 용량보다 더 큰 용량 데이터를 저장하기 위해 사용

 

• 스토리지 종류 :

DAS(Direct Attached Storage), 직접 연결한 스토리지 (ex. 외장하드 같은 것)

• 서버와 클라이언트가 전용 케이블로 연결한 스토리지

• 전송 속도가 빠르고, 스토리지와 연결된 서버에서 개별적인 파일 시스템을 사용해 관리

 

NAS(Network Attached Storage)

• 데이터 공유를 위한 파일 서버 용도로 주로 사용되며 파일 스토리지라고도 불림

• 스토리지 전용 OS로 데이터를 관리하는 독립적 다기능 스토리지

NAS 자체가 메인보드, CPU, RAM, 스토리지를 갖춘 하나의 서버 역할을 수행하기에 파일 공유 뿐만 아니라 다양한 서버 용도로 사용할 수 있음(멀티미디어 파일 재생, 웹사이트 운영 등) • 스토리지가 하나의 네트워크 공유 드라이브로 독립적으로 동작

단점 : 클라이언트가 데이터에 접근하기 위해서는 반드시 네트워크 스위치를 거쳐 NAS에 접근해야 하기에 DAS보다 데이터 전송 속도가 느림

• 서버 역시 데이터에 접근하기 위해서는 반드시 네트워크 스위치를 거쳐 NAS에 접근해야 하기에 DAS보다 데이터 전송 속도가 느림

 

SAN(Storage Area Network)

• 대용량의 데이터를 네트워크를 통해 빠른 속도로 전송할 수 있는 고성능 스토리지 • 일반적인 이더넷 네트워크(UTP 케이블, LAN)가 아닌 FC(Fiber Channel 광케이블)을 사용해 SAN으로 연결하며, 고성능을 요구하는 시스템의 전용 스토리지로 사용

 

클라이언트에서 스토리지에 데이터를 읽거나 쓰기 위해서는 반드시 서버가 필요(서버 종속성 스토리지) • FC 네트워크는 이더넷 네트워크보다 성능이 뛰어남 -> NAS보다 데이터 전송 속도가 빠름

 

데이터 유형 : 정형 데이터, 비정형 데이터

• 정형(Structured) 데이터 : 미리 정해 놓은 형식과 구조에 따라 고정된 필드에 저장된 텍스트 형태의 데이터

• 비정형(Unstructured) 데이터 : 식별 가능한, 미리 정의된 구조가 없는 사진, 음성, 동영상, PDF파일 등의 데이터

 

백업 개념 및 종류

백업(Backup) : 데이터를 임시로 다른 장치에 저장하여 문제가 있을 때 복구(Recovery)할 수 있도록 준비해 두는 것

• Full Backup : 백업 주기 마다 데이터 전체를 백업

• Incremental Backup : 첫째 날에 데이터 전체를 백업하고, 그 다음부터는 증가된 데이터만 백업

 

• 스냅샷 : Snapshot, 마치 사진 찍듯이 특정 시점에 스토리지의 파일 시스템을 포착해 보관하는 기술

• Copy-on-write 스냅샷 : 쓰기(Write) 작업 발생 시 복제(Copy) 후 해당 복제본 새로운 공간에 덮어씀

 Redirect-on-write 스냅샷 : 쓰기(Write) 작업 발생 시 새로운 공간으로 쓰기 위치를 재지정(Redirect) •데이터가 변경될 때 그곳에 바로 데이터 쓰기 수행 / 쓰기 1

 

데이터베이스

데이터베이스 개념 및 주요 용어

데이터베이스 : 여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합, 응용 시스템들의 통합된 정보들을 저장하여 운영할 수 있는 공용 데이터들의 묶음

DBMS :Database Management System, 사용자들이 DB안에 있는 데이터를 접근할 수 있도록 해주는 소프트웨어

관계형 DBMS : Relational DBMS, RDBMS / 테이블이라는 최소 단위로 구성하며 이 테이블은 열과 행으로 이루어짐

• SQL : Structured Query Language / 구조적 데이터 질의 언어, 데이터베이스에서 데이터를 조회하기 위한 언어

데이터베이스 주요 용어: OLTP, DW, DM, OLAP

OLTP : Online Transaction Processing 온라인 트랜잭션(거래) 처리

DW : Data Warehouse 거대한 데이터 저장소

Data Mart : 용도별로 구분하여 저장한 데이터 저장소 OLAP : Online Analytical Processing 온라인 분석 처리

오픈 소스 DB, 상용 DB, NO SQL : MariaDB, MYSQL, ORACLE etc.

NoSQL : 대용량 데이터를 분산 처리하기 위한, SQL이 아닌 또 다른 기술을 채택한 오픈소스 데이터베이스