CS

    [네트워크] HTTP와 HTTPS

    HTTP HTTP란? HTTP는 HyperText Transfer Protocol의 약어로 인터넷에서 데이터를 주고받을 수 있는 텍스트 기반 통신 프로토콜입니다. HTTP의 동작 HTTP는 클라이언트/서버 모델을 따릅니다. 클라이언트(Client)에서 사용자가 브라우저의 URL을 통해 서비스를 요청(Request)하면 서버(Server)에서 해당 요청사항에 맞는 결과를 찾아 클라이언트에 응답(Response)하는 형태로 동작을 하게 됩니다. HTML 문서 외에도 JSON, XML 등의 데이터를 주고받을 수 있습니다. HTTP의 특징 1) JSON, XML 등의 정보를 주고받을 수 있음 초기에는 HTML과 같은 하이퍼미디어 문서를 주고받을 수 있었지만, 최근에는 JSON, XML 등의 다양한 형태의 데이터..

    [운영체제] 메모리 계층 구조(Memory Hierarchy)

    메모리 계층 구조(Memory Hierarchy)란? 메모리 계층 구조는 메모리를 속도, 용량, 비용간의 절충 관계를 고려하여 필요에 따라 여러 가지 종류로 나타낸 구조를 의미합니다. 계층 구조에서 위쪽으로 올라갈수록 CPU 코어에 가까워지기 때문에 CPU가 메모리에 더 빨리 접근할 수 있지만, 그만큼 비용이 많이 들며 저장 용량이 적습니다. 레지스터(Register) 레지스터는 CPU에 위치한 고속 메모리로 CPU가 바로 사용할 수 있는 데이터를 저장합니다. CPU(Central Process Unit) 중앙 처리 장치라고 불리며 컴퓨터에서 기억, 해석, 연산, 제어라는 4대 주요 기능을 관할하는 컴퓨터의 대뇌라고 할 수 있는 장치입니다. CU(Control Unit) 제어 장치라고 불리며 CPU의 한..

    [네트워크] 라우팅(Routing)

    라우팅이란? 지난 시간에 OSI 7계층과 TCP/IP 4계층을 설명했을 때 네트워크 계층에서 패킷을 목적지까지 안전하고 빠르게 전송하기 위해 경로를 찾아준다고 했습니다. 이렇게 최적의 경로를 탐색하는 것을 라우팅(Routing)이라고 합니다. 라우터(Router)라는 장치를 통해 경로 지정을 하여 라우팅을 능동적으로 처리할 수 있습니다. 이때 라우터는 목적지를 찾아갈 때 *라우팅 테이블(Routing Table)을 보고 찾아갑니다. *라우팅 테이블(Routing Table): 네트워크에서 목적지 주소를 목적지에 도달하기 위한 네트워크 노선으로 변환시키는 목적으로 사용된다. 각 라우터의 라우팅 테이블은 모든 목적지 정보에 대해 목적지에 도달하기 위해 거쳐야 하는 다음 라우터의 정보를 갖고 있다. 라우터의 ..

    [운영체제] 시스템 콜(System Call)

    시스템 콜이란? 운영체제는 사용자 모드(User mode)와 커널 모드(Kernel mode)로 나뉘어 동작하고, 이렇게 나뉘어 동작하는 것을 이중 동작 모드(Dual Mode Operation)라고 합니다. 그렇다면 운영체제는 왜 이중 동작 모드로 구동이 될까요? 바로 시스템을 보호하기 위해서입니다. 예를 들어 사용자가 권한 없이 시스템 내부의 데이터를 만질 수 있다고 가정해보겠습니다. 이럴 경우 쉽게 내부 데이터 접근이 가능하여 의도치 않게 또는 악의적으로 시스템을 해칠 수가 있습니다. 이런 경우를 대비해 시스템을 보호하기 위해서 이중 동작 모드로 구동이 됩니다. 이렇게 구동되어 유저 애플리케이션이 함부로 시스템 자원에 접근할 수 없게 되는 것이죠. 사용자 모드는 접근할 수 있는 메모리 영역이 사용자..

    [네트워크] TCP와 UDP

    전송 계층 (Transport Layer) 2022.10.21 - [CS/네트워크] - [네트워크] OSI 7계층, TCP/IP 4계층 [네트워크] OSI 7계층 OSI 7계층이란? OSI(Open System Interconnection)는 국제표준화기구(ISO)에서 개발한 네트워크 표준 모델로 세계적으로 사용되고 있습니다. 네트워크 프로토콜과 통신이 7계층으로 구성되어 있어 OSI 7계층 c4u-rdav.tistory.com 전송 계층은 IP에 의해 전달되는 패킷의 오류 검사, 재전송 등의 제어를 담당하는 계층이고, TCP와 UDP는 전송 계층에서 사용되는 프로토콜입니다. 이 두 프로토콜은 IP를 기반으로 구현되어 있지만 서로 다른 특징을 갖고 있습니다. TCP TCP의 개념 TCP는 Transmis..

    [운영체제] 운영체제(OS)

    운영체제란? 운영체제(Operating System)는 컴퓨터 하드웨어의 바로 위에 설치되어 사용자의 하드웨어, 시스템 자원을 관리 및 제어하고, 사용자와 하드웨어 간의 인터페이스의 역할로 동작을 하여 다른 응용프로그램이 유용한 작업을 할 수 있는 환경을 제공해주는 시스템 프로그램입니다. 우리가 사용하고 있는 대표적인 운영체제로는 Window, macOS, UNIX 등이 있습니다. 운영체제의 역할 1) 사용자 관점에서의 역할 사용자 관점에서 운영체제는 사용자가 컴퓨터를 쉽고 편리하게 사용하도록 인터페이스를 제공합니다. *GUI나 *CLI가 대표적인 예시로 컴퓨터 자원을 공평하게 사용할 수 있도록 해주고, 사용자가 자원에 대해 신경 쓰지 않도록 해줍니다. *GUI - Graphic User Interfac..

    [네트워크] OSI 7계층, TCP/IP 4계층

    OSI 7계층이란? OSI(Open System Interconnection)는 국제표준화기구(ISO)에서 개발한 네트워크 표준 모델로 세계적으로 사용되고 있습니다. 네트워크 프로토콜과 통신이 7계층으로 구성되어 있어 OSI 7계층이라 불립니다. 7계층으로 나눈 이유 1) 통신이 일어나는 과정을 단계적으로 파악하기 위해 2) 통신 중에 특정한 곳에 문제가 발생했을 때 다른 단계를 건드리지 않고 문제가 발생한 단계에서 해결하기 위해 OSI 7계층 단계 네트워크 장비 허브(Hub) - 여러 대의 컴퓨터를 연결해서 네트워크를 만들어주는 장치로 데이터 패킷을 받으면 연결된 모든 장치들에게 모두 전송. 스위치(Switch) - 연결된 장치들의 IP와 MAC 주소를 모두 테이블 형태로 가지고, 원하는 목적지에 데이..

    [네트워크] 네트워크 토폴로지(Network Topology)

    네트워크 토폴로지란? 네트워크의 요소들(링크, 노드 등)이 어떻게 배치되어 있는지에 대한 연결 방식 네트워크 토폴로지(Network Topology)라고 합니다. 병목 현상이 발생했을 때 네트워크가 어떤 토폴로지를 갖는지가 문제점을 찾는데 중요한 키가 될 수 있습니다. 병목 현상: 전체 시스템의 성능이나 용량이 하나의 구성 요소로 인해 제한을 받는 현상 토폴로지의 종류 버스(Bus) 중앙 통신 회선 하나에 여러 노드가 연결되어 공유하는 네트워크 구조 근거리 통신망 LAN에서 사용 설치 비용이 적고 신뢰성이 우수 간단한 구조로 노드를 추가하고 삭제하기 쉬움 스푸핑 공격을 받을 위험이 있음 트리(Tree) 트리의 형식으로 네트워크가 구성되어 있으며 계층형 토폴로지라고도 불림 노드를 추가하는 것은 쉽지만, 삭..

    클라우드 서비스 SaaS, PaaS, IaaS

    클라우드 서비스란? 영어 클라우드는 우리말로 구름을 의미하며 이는 구름처럼 어디에나 존재하는 인터넷이라는 의미를 갖고 있습니다. 이런 클라우드 서비스는 클라우드 컴퓨팅 기술을 사용하여 제공하는 서비스를 일컫고 클라우드 컴퓨팅은 인터넷으로 가상화된 IT 리소스를 서비스로 제공하는 것을 의미합니다. 이렇게 가상화하여 서비스로 제공하는 것은 서버, 플랫폼, 소프트웨어 등이 있습니다. 예를 들어 개발자들은 클라우드 서비스에서 제공하는 서버를 통해 서버 위치, 세팅 등을 고민하지 않고 서비스 운영에만 집중할 수 있게 됩니다. 이렇게 클라우드 서비스를 제공받아 서버를 운영하는 방식을 Off-Premises 방식이라 하고, 서버를 직접 구비하여 운영하는 방식을 On-Premises 방식이라 합니다. SaaS SaaS..

    API

    API란? API는 Application Programming Interface의 약어로 일종의 소프트웨어 인터페이스이며 컴퓨터와 컴퓨터 프로그램 사이의 연결을 나타냅니다. 위와 같이 API는 둘 이상의 컴퓨터 프로그램이 서로 통신하도록 도와주는 매개체 역할을 합니다. 레스토랑에서 점원을 대표적으로 API에 비유할 수 있습니다. 레스토랑에 가면 메뉴판을 보고 점원을 통해 주문을 하고 점원은 손님한테 받은 주문을 주방에 알립니다. 주방에서는 요리사가 주문받은 음식을 하고 음식이 다 되었다고 점원한테 알립니다. 그러면 점원은 그 음식을 받아 손님에게 전달합니다. 여기서 손님과 주방(요리사)사이에 있는 점원이 바로 API의 역할을 하고 있는 것입니다. API의 장점 1) 데이터 접속의 표준화 API로의 모든 ..