본문 바로가기
Back to Basics

[Back to Basics] 인프라 기초 정리

by C곰군 2022. 4. 18.

인프라 기초 정리

퍼블릭 클라우드가 대세로 자리 잡아 감에 따라 개발자는 개발만, 시스템 엔지니어는 인프라 관리만 하던, 평화롭고 안정적이던 분업의 시대는 이제 저물어 가는 것 같습니다.
인프라, 네트워크는 컴퓨터만 알면되고.. 그 컴퓨터에 랜선만 꼽을줄만 알아도 개발하는데 큰 문제가 없었던 사람들이 지금은 IT전반의 풀스택적인 이해가 필요한 세상에 던져졌습니다.

그래서 저도 그동안 대충 알고만 있었던 인프라 관련 내용을 공부하면서 정리해볼까 합니다.

좋은 정리와 자료들은 다른 분들 블로그에도 많으니..
저는 트랜드에 맞춰 3줄을 넘지 않는 요약으로 정리해볼까 합니다....
깊은 공부를 원하시는 분은 키워드만 뽑아서 다른 훌륭하신 석학분들의 아름다운 정리를 찾아서 공부하시길 바랍니다.ㅎ

인프라란?

서비스 및 플랫폼을 개발하고 운영하고 관리하기 위해 필요한 모든 자원

인프라의 구성요소

하드웨어

  1. 컴퓨터 하드웨어는 케이스, 중앙 처리 장치, 모니터, 자판 같은 컴퓨터의 물리적 부품
  2. 손에 잡히는, 눈에 보이는 장비
    3. 태권v나 그랑죠 같은 로봇물의 로봇 머신 그 자체!

소프트웨어

  1. 컴퓨터(머신)에게 동작 방법을 지시하는 명령어 집합의 모임
  2. 신체라는 머신을 움직이는 정신, 뇌와 같은 친구
    3. 태권v나 그랑죠를 움직이게 하는 파일럿!

네트워크

  1. 분산되어 있는 컴퓨터를 통신망으로 연결한 것을 말한다.
  2. 통신망 그 자체라고 생각해도 됨
    3. 태권v나 그랑죠를 파일럿과 연결해주고, 다른 파일럿과 대화하게 해주는 기술!

구성요소별 주요 정리

하드웨어

중앙 처리 장치(CPU)

  1. central processing unit, 컴퓨터 시스템을 통제하고 프로그램의 연산을 실행 · 처리하는 가장 핵심적인 컴퓨터의 제어 장치
    2. 모든 컴퓨터의 작동과정을 제어하는 컴퓨터의 두뇌!!
  2. 코어가 많고 캐시의 크기가 클수록, 보통 비쌀수록 성능이 좋음

기억장치

  1. 전자회로에서 데이터나 상태, 명령어 등을 기록하는 장치, 흔히 '메모리'라고도 함
  2. CPU에 가까운 순서대로 레지스터(CPU)-(캐시 메모리)-주 기억 장치-(캐시 메모리)-보조 기억 장치로 구분
    _3. CPU는 계산-메모리는 기억 담당, CPU는 일꾼이고, 메모리는 작업장이며, 보조기억장치는 창고
    _

스토리지

  1. 데이터 저장장치에서 확대되어 전문화, 네트워킹화, 대용량화된 저장기술을 총칭
  2. 기술 구분 : 내장 디스크형, 직접부착형(DAS), 네트워크형(NAS,SAN)
  3. 유형 구분 : 오프젝트(객체), 파일, 블록

소프트웨어

운영체제(OS)

  1. 컴퓨터 자원들을 효율적으로 관리하고, 컴퓨터를 쉽고 효과적으로 사용할 수 있도록 환경을 제공하는 소프트웨어
  2. 종류 : 윈도우(Windows), 맥 OS(Mac OS), 리눅스(Linux), 유닉스(Unix)
  3. OS 없으면 컴퓨터도 스마트폰도 쉽게 못씀!!

미들웨어

  1. 운영체제와 어플리케이션 중간에서 조정과 중개의 역할을 수행하는 소프트웨어
  2. 네트워크 통해 연결된 컴퓨터가 데이터를 교환하도록 중간에서 매개 역할을 하는 소프트웨어
  3. 분류 : DB접속 미들웨어(ODCB, WAS 등), 통신미들웨어(RPC, DCE, MOM, TPM, ESB등), 객체지향미들웨어(CORBA,COM등)

데이터베이스관리시스템(DBMS)

  1. DB란? 다수가 공유하고 사용할 목적으로 구조화 하여 통합, 관리되는 데이터의 집합
  2. DBMS란? 사용자가 DB에 접근하고 사용하고 관리하게 해주는 소프트웨어
  3. SQL이란? DB에 데이이터를 CRUD(생성,읽기,수정,삭제)하는 명령어

**RDB VS NOSQL

네트워크

프로토콜(Protocol)

네트워크에 연결된 컴퓨터들끼리 데이터를 주고 받을 수 있도록 미리 약속한 전송 규약 및 규칙
***옛날에는 다른 회사 컴퓨터 A사의 컴퓨터는 B사의 컴퓨터와 통신을 할 수없었다고 한다... 왜냐하면 두개가 다를 규약을 가지고 있어서........
그래서 표준 규격을 정했다고 한다!!

OSI 7계층 Layer

  1. 네트워크에서 통신이 일어난 과정과 각각의 프로토콜을 7단계로 나눈것
  2. 왜 나눴을까? 단계별 파악가능, 흐름파악 가능, 문제 발생 시 부분 특정 및 해결 가능
  3. 송신은 7계층 -> 1계층, 수신은 1계층 -> 7계층 순으로 진행, 계층은 독립된 특성이 있음
    자세한 정리

이더넷

  1. 이더넷은 OSI 제 1계층과 제 2 계층의 기술 규격
  2. 각 기기들이 48비트 길이의 고유의 MAC 주소 소유, MAC 주소로 상호간에 데이터를 주고 받음
  3. CSMA/CD기술 사용, 여러 컴퓨터들이 하나의 전송 매체를 공유
    ㅁMAC주소란?
    -데이터링크 계층(제 2계층)에서 통신을 위해 사용되는 48비트로 된 식별자
    -랜카드(NIC)별로 할당한 유니크한 코드
    -주민등록번호/ 핸드폰 고유식별번호 처럼 식별이 가능한 유니크한 식별자!
    ㅁCSMA/CD란?
    -carrier sense multiple access with collision detection 반송파 감지 다중 접속 및 충돌 탐지 기술
    -네트워크에 흐르는 데이터와 충돌을 감지 신호(반송파)를 통해 감지하고 통신하는 기술

IP(Internet Protocol), ARP(Address Resolution Protocol), Port

  1. ip는 네트워크에 연결된 모든 장치에 부여되는 고유 식별자
  2. ARP는 물리적인 주소인 MAC 주소와 논리적인 주소인 IP 주소를 대응 시키는 역할
  3. Port는 장치 안에서 작동하는 애플리케이션을 식별하기 위해 사용하는 숫자
    *ip는 아파트 주소, 포트는 동호수, ARP는 아파트우체통, MAC은 받는 사람 이랄까요..

스위칭과 라우팅 - 연결, 데이터 전송을 수행

  1. 스위칭 - 동일 네트워크에서 MAC주소 기반으로 통신(2계층)
  2. 라우팅 - 서로 다른 네트워크 간에 IP주소 기반으로 최적의 경로찾아 통신(3계층)
  3. 최근 기술의 발전으로 기능차이가 별로 없어 혼용해서 많이 사용하고 있음

공인(Public)IP vs 사설(Private)IP

  1. IP주소는 유한하여 전세계 모든 인터넷에 연결된 장비에 부여하기에 부족하다!
  2. 그래서 ISP(인터넷서비스공급자)가 제공하는, 외부와 연결된 유일한 공인IP와
  3. 내부망에서 서브넷팅하여 사용하는 로컬,가상의 사설 IP가 있다!

NAT(NAPT)

  1. NAT란 1개의 실제 공인IP 주소에 다량의 가상 사설 IP 주소를 할당 및 매핑하는 주소 변환 방식
  2. 사설IP를 쓰는 장비가 외부 인터넷과 연결되기 위한 공인IP 변환 기술
  3. IP주소 부족도 해결하고 내부 네트워크 보안에도 좋은 친구

UDP 와 TCP

  1. TCP,UDP는 전송계층 프로토콜로 목적지까지 전송한 패킷을 상위의 특정 응용 프로토콜에게 전달하는 것에 목적을 가진 전송 방식.
  2. TCP는 연결지향, 수신여부확인, 패킷순서보장 등으로 높은 신뢰성 BUT 느림
  3. UDP는 비연결, 수신여부와 패킷순서 보장이나 확인하지 않음 그래서 빠르고 다중통신 가능

URI/URN/URL

URI : Uniform Resource Identifier 리소스를 다른 것과 구분할 수 있는 통일된 방식
URL : Uniform Reource Locator 자원에 목적지
URN : Uniform Resource Name 자원에 이름

DNS

  1. 도메인 이름(https://cgomgun.tistory.com)을 호스트의 네트워크 주소(13.124.7.75)로 바꾸거나 그 반대의 변환을 수행하는 시스템이다.
  2. 이름으로 번호 찾고, 번호로 이름 찾는 '전화번호부'같은 개념

브라우저에 URL을 치면 무슨일이 생기는 건가요!?

  1. 주소 표시줄에 url 입력하고 엔터
  2. 웹브라우저가 url을 해석하고 파싱
  3. HSTS (HTTP Strict Transport Security) 목록을 로드해서 확인한다.
  4. HSTS 목록에 있으면 첫 요청을 HTTPS로 보내고 아니면 HTTP로 보낸다.
    *HSTS : HTTPS만을 사용해야 한다고 웹사이트가 웹브라우저에게 알리는 보안 기능
  5. DNS 조회하여 URL을 IP주소로 변환
    A. 먼저 브라우저에 해당 도메인이 캐시되어있는지 확인,
    B. 없으면 로컬의 hosts 파일에 참조할 수 있는 도메인이 있는지 확인
    A, B 모두 실패 시 DNS로 요청 보냄
  6. 네트워크 장비를 통해 해당 서버의 게이트웨이까지 이동
  7. ARP를 통하여 대상의 IP주소를 MAC 주소로 변환
  8. 대상과 TCP 통신을 통해 소켓 연결
  9. HTTPS의 경우 TLS 핸드 쉐이크 과정이 추가된다.
  10. HTTP 프로토콜 요청 (Request)
  11. HTTP 서버가 응답한다.
  12. 브라우저가 응답값을 해석해서 화면을 보여준다.

참조

'Back to Basics' 카테고리의 다른 글

[Back to Basics] 클라우드 컴퓨팅 기초 정리  (0) 2022.04.27

댓글