Network

    [네트워크] 커버로스(kerberos)란?

    kerberos는 그리스 신화에서 유래하여 "지옥에서 온 머리가 3개 달린 경비견" 이라는 뜻으로 케르베로스 라고도 불리기도하죠. 이러한 이름을 가지고 있는 kerberos는 MIT에서 개발한 티켓 기반의 컴퓨터 네트워크 인증 프로토콜입니다. 왜 만들어졌나요? 프로젝트 Athena가 제공하는 네트워크 서비스를 보호할 목적으로 처음에 만들어지게 되었습니다. 하지만 일반적으로는 보안이 보장되지 않은 네트워크 환경에서 유저와 서버의 신뢰성을 확보하기 위해서 사용됩니다. 더 쉽게 말하면 인증된 클라이언트만이 서버에 접속할 수 있도록 관리해줍니다. 신뢰성을 어떻게 확보하죠? 바로 위에서 말한 티켓을 사용하여 진행됩니다. 커버로스에서 티켓은 아래 정보를 안전하게 전달하는데 사용되는 정보 패킷입니다. 유저 아이디 유..

    [네트워크] SaltStack 이란?

    SaltStack은 대규모 인프라를 관리하기 위한 자동화 관리 시스템 입니다. 위 그림처럼 Salt-master 하나가 여러개의 Salt-minion에게 명령을 publish 하고 그 결과를 취합하여 보여주는 구조입니다. 1대의 master가 수천대의 minion을 관리할 수 있습니다. Salt-Master Server 의 역할을 담당하며 minion들에게 명령을 publish 하고 그 결과를 보여줍니다. 따라서 데이터 저장소, 원격 명령 실행, 다른 시스템 상태 제어 센터의 역할을 담당합니다. ZeroMQ 라는 비동기 메시징 라이브러리를 통해 minion에게 통신합니다. Salt-Master를 설치하면 ZeroMQ도 함께 설치됩니다. Salt-Minion Agent 역할을 담당하며 구성 자동화를 하기위..

    [네트워크] 분산 서버 환경에서 세션공유 문제 해결법

    일반적으로 많은 사람들이 이용하는 서비스는 하나의 서버로 모든 부하를 감당할 수 없어서, 로드 밸런서를 이용한 분산서버 구조를 활용해서 문제를 해결합니다. 그리고 클라이언트와 서버는 HTTP로 통신을 하겠죠. 근데 HTTP의 한가지 특성때문에 위 그림과 같은 구조에는 문제가 발생할 수 있습니다. 바로 HTTP는 무상태(Stateless) 프로토콜이라는 것이죠. **혹시 HTTP에 대한 글을 안보셨다면 여기를 먼저 보고 와주세요! 즉 다시 말하면 서버는 클라이언트의 상태를 저장하지 않고 각각의 요청을 독립적인 트랜잭션으로 취급한다는 의미입니다. 이게 왜 문제가되죠?? 서비스별로 특정 이유로 session 을 사용하여 현재 사용자의 상태를 저장하고 저장된 데이터를 사용해야 상황이 발생할 수 있습니다. ses..

    [네트워크] HTTP vs HTTPS

    저번시간에 여기서 웹의 시초격 통신 프로토콜이라고 볼 수 있는 HTTP에 대해서 알아보았습니다. 그런데 막상 웹페이지를 방문해보시면 http보다는 https로 시작하는 주소가 더 많이보이고, 주소가 http로 시작하는 경우에는 안전하지 않다는 경고를 찾아볼 수 있습니다. 왜 이런걸까요?? 오늘은 이 http와 https의 차이에 대해 알아보겠습니다! HTTP의 특징 HTTP에서는 여기에서 이미 한번 설명을 했었죠. 하지만 한번더 간단하게 HTTP의 특징에 대해 요약을 하겠습니다 클라이언트-서버 방식: 클라이언트가 서버에 요청을 보내고 응답을 받는 형식 무상태성(stateless): 서버측에서 클라이언트의 상태를 유지/저장하지 않음 비연결성/연결성 초기버전 HTTP/1.0 이전: 비연결지향, 한번 요청/응..

    [네트워크] TCP와 UDP

    네트워크 OSI 7계층을 기억하시나요? 응표가 한세트하고 내 대신 물달래 에서 "트"를 담당하는 "Transport, 전송계층"에서 대표적인 프로토콜로 TCP와 UDP가 있다고 했었죠. 오늘은 이 TCP와 UDP에 대해서 알아봅시다! TCP (Transmission Control Protocol) TCP는 신뢰성있는 데이터 전송을 지원하는 연결형 프로토콜입니다! 일반적으로 TCP는 IP와 함께 사용되는데, IP가 데이터의 전송을 처리한다면, TCP는 패킷을 추적하고 관리하게 됩니다. 패킷(Packet)이 뭐에요? 인터넷으로 데이터를 보낼때 효율적으로 하기 위해서 보내는 데이터를 조각조각으로 나누어 전송하는데 이 조각을 패킷이라고 부릅니다! 패킷을 추적하고 관리한다는 뜻은 뭔가요? 패킷이 데이터 조각이라고..

    [네트워크] OSI 7 계층, OSI 참조모델

    네트워크 통신을 논할때 반드시 나오는 개념이죠! 오늘은 OSI 계층에 대해 알아보겠습니다! OSI 참조모델이란? OSI는 Open System Interconnection 의 줄임말로, OSI 참조모델은 ISO(국제표준화기구)에서 다른 기종간의 원활한 통신을 위해 개발됐습니다. 1960~70년대에는 각 IT업체가 자신들의 컴퓨터끼리 네트워크를 사용해서 데이터를 통신했습니다. 이는 한 회사내부에서는 가능했지만, 다른 회사와는 규격이 맞지않아 호환이 되지 않는 경우가 생겼죠 ㅠ. 그래서 데이터 통신의 규격과 프로토콜(규칙)을 정해야했고 ISO에서 OSI 참조 모델을 만들어서 모든 네트워크 통신을 표준화시키게 됩니다 OSI 7계층 그리고 이 OSI는 7 계층으로 나뉘어져있는데 ISO에서 네트워크 통신이 일어나..

    [네트워크] HTTP란?

    정말 많이보고 주소창에 입력도 많이한 HTTP. 오늘은 이 HTTP에 대해서 알아보겠습니다! HTTP란? HTTP는 HyperText Transfer Protocol의 줄임말입니다. 직역을 하면 하이퍼텍스트 전송 프로토콜이죠. 하이퍼텍스트(HyperText)가 뭐에요? 기존의 책에서 보이는 글처럼 선형적인 텍스트가 아니라, 문장이나 단어 등이 링크를 통해 서로 연결된 형태의 비선형 텍스트를 뜻합니다. 일반 글 뿐만이 아니라 하이퍼텍스트 문서는 사용자가 원하는대로 쉽게 이동할 수 있도록 하이퍼링크(하이퍼텍스트 문서끼리 연결이 되는 링크)를 포함할 수 있습니다. 하이퍼텍스트의 대표적인 예시는 HTML 문서입니다. 따라서 다시한번 뜻을 살펴보면 이 하이퍼텍스트 문서(HTML)을 전송하기 위한 프로토콜이라는 거..