반응형

Networks 5

HTTP와 HTTPS의 연결 과정

지난번 포스팅에서 HTTP와 TCP에 대해 간단히 살펴보았다. 이번에는 HTTP와 HTTPS의 연결과정을 비교하면서 정리한다. TLS가 어떻게 맺어지는 지도 지난 번에 정리한 적이 있고 더 자세한 것은 링크를 참고하면 될 것 같다. 우선 Network Protocol stack을 살펴보자. 우측이 HTTPS에 대한 것인데 TCP와 HTTP layer 사이에 TLS가 있음을 볼 수 있다. HTTPS는 HTTP over Secure socket layer의 약자로, 말과 그림대로 secure socket layer 위에 http가 성립된다고 이해하면 된다. 그렇다면 HTTP와 HTTPS의 연결과정을 비교하여 살펴보자. 왼쪽은 HTTP, 오른쪽은 HTTPS 과정을 나타낸다. HTTPS는 과정 2 TLS han..

Networks/HTTP 2020.09.18

HTTP의 TCP 연결 과정

network protocol 스택에서 TCP는 transport layer 반면, HTTP는 application layer이다. HTTP는 TCP 계층 상위에 존재하고, HTTP와 TCP는 인접해서 정해진 인터페이스로만 메시지를 주고 받는다. 이것은 HTTP와 TCP는 분리되어 있고, HTTP를 통해 클라이언트와 서버간에 메시지를 주고 받기 위해서는 우선 TCP가 확보되어야 함을 뜻한다. 그래서 웹 애플리케이션을 만들 때 어느 정도는 TCP를 이해하고 있어여 한다고 생각한다. 특히, TCP 연결 과정은 명확히 알고 있어야 한다고 본다. 고가용성(HA) 웹 애플리케이션을 만들기 위해서 말이다. 클라이언트와 서버간 HTTP를 통해 메시지를 주고 받기 위해 우선 TCP 연결이 확보되어야 하고, 메시지를 주..

Networks/HTTP 2020.09.18

MQTT 발행(publish)과 구독(subscribe)

MQTT 발행(publish)과 구독(subscribe)을 통해 데이터를 주고 받는다. publish는 데이터를 보내는 것, subscribe는 데이터를 받는 것이다. MQTT의 publish, subscribe를 테스트 해보기 위해 다음과 같이 단방향 통신 구조로 테스트 해 볼 것이다. 이것을 응용하면 양방향 통신, 다수의 클라이언트와 통신이 가능하다. 이번에도 broker로서 mosquitto를, client로서 mosquitto-clients를 사용해 Ubuntu Server(18.04) CLI에서 테스트한다. 잠시 HTTP와 MQTT를 비교해보자. 이 부분은 참고만 하길 바라며 MQTT가 HTTP보다 더 낫다는 것으로 오해하지 않기를 바란다. HTTP와 MQTT는 목적, 용도가 다를 뿐이다. HT..

Networks/MQTT 2018.10.07

MQTT server(broker) 설치하기

MQTT server, client는 여러 종류가 있지만 흔히 사용되는 mosquitto를 Ubuntu(18.04)에 설치해 볼 것이다. 아래와 같이 설치 명령어를 실행하면 매우 쉽게 설치할 수 있다. mosquitto-clients도 함께 설치하자. 나중에 mosquitto-clients로 publish/subscribe를 해 볼 것이다. kay@ubuntu:~$ sudo apt-get install mosquitto mosquitto-clients 설치가 완료되면 mosquitto가 자동으로 실행된다. 실행된 모습을 ps 명령어로 확인해보자. 그러면 아래와 같이 mosquitto 프로세스가 실행 중임을 알 수 있다. kay@ubuntu:~$ ps -ef | grep 'mosquitto' mosquit..

Networks/MQTT 2017.12.23

MQTT란?

이번에 프로젝트에 MQTT를 사용하게 되어서 MQTT에 대해 간단히 정리한다. 통신시 다수의 클라이언트로부터 정보를 받거나, 다수의 클라이언트를 일괄적으로 제어하기 위해 주로 MQTT가 사용된다. 특히, TCP 기반에서 IoT를 제어한다면 MQTT를 사용하는 것을 고려해볼 만 하다. 1. MQTT란? MQTT(Message Queue for Telemetry Transport)는 broker를 사이에 두고 클라이언트간 publish / subscribe 방식을 통해 통신하고, bandwidth, resource 사용이 낮은 편이고, 가볍고 간편한 messaging protocol이다. 전력 사용율도 낮기 때문에 IoT와 모바일 기기의 M2M(Machine to Machine) 통신시 적합하다. 현재 MQ..

Networks/MQTT 2017.10.21
반응형