Computer Science/Network10 IOT 통신 프로토콜 MQTT란 무엇일까? (개념/ 송수신 방식/ 예제) 서론 최근 실무에서 MQTT 프로토콜을 이용한 단말기 등록 프로그램을 개발해야하는 업무가 있었습니다. 처음 접한 프로토콜 개발에 대한 걱정에 비해 다행히 문제없이 개발은 잘 이뤄졌고 이번에 학습한 MQTT에 대해 정리하려합니다. MQTT란? 사물 통신(Machine to Machine, M2M), 사물 인터넷(Internet Of Things,IOT)를 위한 프로토콜로써 최소한의 전력과 패킷량으로 통신하는 경량 메세지 전송 프로토콜을 의미한다. 따라서 MQTT는 IOT와 모바일 어플리케이션 등의 사물 통신에 적합한 프로토콜이라 말할 수 있다. MQTT 송/수신 방식은? 일반적인 HTTP, TCP/IP와 같이 클라이언트/서버의 관계가 아닌 송신자(Publisher)가 메세지 매개자(Broker)에게 발행(.. Computer Science/Network 2022. 7. 8. 암호화 통신 HTTPS란? (개념/ 동작 방식/ 대칭키/ 비대칭키/ SSL/TLS) HTTP란? HTTPS를 알아보기전 HTTP에 대해 알아보자. HTTP는 서버와 클라이언트 간에 데이터를 주고받는 프로토콜을 말한다. HTTP는 텍스트, 이미지, 영상 등 웹상에서 주고 받을 수 있는 모든 형태의 데이터를 전송할 수 있다는 특징을 갖고있다. HTTP의 보안은 ? HTTP 통신은 클라이언트와 서버간의 통신에 있어 특별한 보안 처리 없이 통신을 하기 때문에 만약 누군가 네트워크 통신 패킷을 가로챈다면 해당 데이터에 담긴 정보를 탈취 당할 수 있다. 탈취당한 그 정보가 본인의 계좌정보, 주민번호, 패스워드 등 중요한 개인 신상정보가 담겨져 있다면 보안적으로 큰 문제가 발생할 수 있다. 이러한 HTTP의 보안적인 문제를 해결하기 위해 등장한 것이 HTTPS이다. 이제 HTTPS에 대해 하나씩 알.. Computer Science/Network 2022. 6. 13. TCP와 3-Way, 4-Way Handshake란? (개념/ 동작 방식) 서론 이번 글에서는 TCP의 신뢰성있는 통신 연결과 종료를 위해 3Way, 4Way Handshake의 개념과 통신 동작 방식에 대해 알아보려한다. 이 내용을 이해하기 위해선 TCP의 개념도 알아야해서 간단히 TCP의 중요 개념만 알아보고 자세한 내용은 추 후 알아보기로하자. TCP란? (Transmission Control Protocol) 인터넷상에서 데이터를 메세지의 형태로 보내기 위해 IP와 함께 사용하는 프로토콜을 말한다. TCP는 애플리케이션에게 신뢰적이고 연결지향성 서비스를 제공한다. 따라서, 서버와 클라이언트간에 데이터를 신뢰성 있게 전달하기 위해 만들어진 프로토콜이다. 그리고 TCP는 장치들 사이에 논리적인 접속을 성립(establish)하기 위해서 3-way handshake를 사용한다.. Computer Science/Network 2022. 6. 12. [Http Cache] 캐시(Cache)의 동작 원리와 조건부 요청 - 2편 참고 [이번 포스팅은 이전 동작원리와 조건부 요청 1편에 이어 작성하는 글입니다.] 검증 헤더와 조건부 요청 검증 헤더란? 캐시 데이터와 서버 데이터가 같은지 검증하는 데이터를 말한다. Last-Modified, ETag를 사용한다. 조건부 요청 헤더란? 검증 헤더로 조건에 따른 분기하여 사용한다. If-Modified-Since -> Last-Modified 사용 If-None-Match -> ETag를 사용 조건이 만족하면 200 OK를 내려준다. 조건이 만족하지 않으면 304 Not Modified를 내려준다. If-Modified-Since 이후에 데이터가 수정되었다면? [데이터 미변경 예시] 1. 캐시 데이터: 2020.11.10 10:00:00 vs 서버: 2020.11.10 10:00:00 .. Computer Science/Network 2022. 6. 1. [Http Cache] 캐시(Cache)의 동작 원리와 조건부 요청 - 1편 서론 이전 글에서 캐시의 기본 개념에 대해 알아보았다. 이번 글에서는 캐시(cache)의 동작과 조건부 요청 등에 대해 학습 해보려한다. 바로 시작하자. 캐시 기본 동작 캐시가 없을 때 첫번째 요청 두번째 요청 위에 첨부한 이미지를 보면 알 수 있듯 캐시가 없을 경우에는 star.jpg가 필요할 경우 계속 서버로 요청하게 된다. 이렇게 캐시가 없다면 서버 부하가 생길 수 있다. 캐시가 없을 경우 발생하는 단점에 대해 정리하면 다음과 같다. 데이터가 변경되지 않아도 계쏙 네트워크를 통해서 데이터를 다운로드 받아야한다. 인터넷 네트워크는 매우 느리고 비싸다. 브라우저 로딩 속도가 느리다. 사용자가 필요로 하는 부분에 대해 느린 속도를 경험할 수 있다. 이제 아래에서 캐시를 사용하면 어떤 효과가 생기는지 알아.. Computer Science/Network 2022. 6. 1. 캐시/ 웹 캐시(Cache)란? (개념/ 사용 이유/ 장점/ 동작 원리) 서론 요즘 웹/ 모바일 등 개발에 있어 캐시 사용을 안한것을 찾기가 어려울 정도로 캐시 사용이 대중화가 되었다. 이 캐시(Cache)가 무엇이고 어떻게 사용하는지 한번 알아보자. 캐시(Cache)란? 캐시(Cache)란 자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 장소를 말한다. 캐시는 캐시의 접근 시간에 비해 원래 데이터를 접근하는 시간이 오래 걸리는 경우나 값을 다시 계산하는 시간을 절약하고 싶은 경우에 사용한다. 캐시에 데이터를 미리 복사해 놓으면 계산이나 접근 시간 없이 더 빠른 속도로 데이터에 접근할 수 있다. 정리 1. 접근 시간에 비해 원래 데이터를 접근하는 시간이 오래 걸리는 경우 사용한다. 2. 반복적으로 동일한 결과를 돌려주는 경우(특정 이미지 or 썸네일 등) 사용한다. 지역성.. Computer Science/Network 2022. 6. 1. 좋은 REST API 설계 방법은? (개념/ 예제) 서론 이번 글에서는 어떻게 해야 좋은 REST API를 설계할 수 있는지에 대해 정리해보려한다. 진행방식은 설계 예시 시나리오를 만들어보고 HTTP(REST) Method를 설계해가는 방식으로 진행할 예정이다. REST API 설계 [시나리오] 회원 정보 관리 API를 만들어보아라. 설계를 위해 회원 정보 관리에 관련된 API를 먼저 나열해보자. [API 설계 목록] 회원 목록 조회 회원 조회 회원 등록 회원 수정 회원 삭제 기본적으로 위와 같이 5개로 추려볼 수 있다. 이것을 누구는 한눈에 알기 쉽게 아래와 같이 API URI를 설계할 수 있다. [API URI 설계 초안] 회원 목록 조회 --> /read-member-list 회원 조회 -------> /read-member-by-id 회원 등록 -.. Computer Science/Network 2022. 5. 18. URI, URL, URN이란? (개념/ 차이점/ 예시) 서론 이번 포스팅에선 HTTP에서 가장 중요한 URI, URL, URN에 대해 알아보려한다. URI, URL, URN이란? URI, URL, URN에 대해서 간략히 먼저 알아보자. URI 자원의 식별(Identifier)을 말한다 URL 자원의 위치를 말한다. URN 자원의 이름을 말한다. 위와같이 간략히 정의할 수 있는데 아래에서 상세 개념과 예시로 이해해보자. URI(Uniform Resource Identifier)란? 통합 자원 식별자를 말한다. 인터넷에 있는 자원을 나타내는 유일한 주소를 말한다. URI의 존재는 인터넷에서 요구되는 기본조건으로 인터넷 프로토콜에 항상 붙어다닌다. 하위 개념으로는 URL, URN이 있다. (즉 URI는 상위개념) URL(Uniform Resource Locator.. Computer Science/Network 2022. 5. 8. DNS, DDNS란 무엇일까? (개념 / 차이점 / 정리) 서론 이번 글에서는 TCP/IP로 구성된 일련의 프로토콜인 DNS와 DDNS에 대해서 알아볼려한다. 한번 알아보자. DNS(Domain Name System)란? 영어 뜻만 해석해도 알 수 있듯 말그대로 DNS는 도메인 이름 시스템을 말한다. 이것이 무슨 말일까? 이것은 우리가 인터넷을 편리하게 쓸 수 있는 도메인을 만들어 주는 것을 말하며, 우리가 사용하는 인터넷의 모든 사이트들은 모두 사실 IP로 이뤄져있다. 위 사진으로 보듯 www.naver.com으로 ping을 날려보면 223.130.200.104라는 ip를 반환해주는데 실제 naver는 저런 유동ip를 사용하고 있는 것이다. (실제로 223.130.200.104를 url에 입력하면 네이버로 들어가진다.) 요즘은 IPv6도 쓰고하지만 대중적으로 .. Computer Science/Network 2022. 3. 18. [Network] TCP/IP Server와 Client의 통신 구조 서론 이번글에서는 개발자라면 한번씩은 들어봤을 tcp/ip 통신 방식과 서버와 클라이언트 간의 통신 구조에 대해 알아볼 것이다. 우선 TCP/IP가 뭔지부터 알아보자. TCP/IP란? 먼저 간단히 정의하면 TCP/IP는 컴퓨터와 컴퓨터간의 기본적인 통신규약(프로토콜)이다. TCP/IP는 패킷 통신 방식의 인터넷 프로토콜인 IP(Internet Protocol)와 전송 조절 프로토콜인 TCP(Transmission Control Protocol)로 이루어져 있는 구조이며 이 중 IP는 패킷 전달 여부를 보증하지 않고, 패킷을 보낸 순서와 받는 순서가 다를 수 있고, TCP는 IP 위에서 동작하는 프로토콜로 데이터의 전달을 보증하고 보낸 순서대로 받게 해주는 속성을 갖고있다. 우리가 흔히 볼 수 있는 HTT.. Computer Science/Network 2021. 12. 30. 이전 1 다음 💲 많이 본 글