728x90
반응형

개인 공부 37

SSL / TLS

HTTPS HTTPS와 HTTP HTTP(Hypertext Transfer Protocol)은 HyperText인 html을 전송하기 위한 통신규약을 의미한다. 마지막에 S를 붙인다면 Secure라는 뜻으로 보안이 강화된 통신규약을 의미한다. HTTP는 암호화가 되어있지 않은 방법으로 서버에 데이터를 전송하기 때문에 서버와 클라이언트가 서로 주고받는 메시지를 알아내기가 쉽다. 그러므로 서버로 비밀번호나 계좌번호 등 중요한 데이터를 서버로 전송할 경우에는 HTTPS 프로토콜을 사용하여 통신하는 것이 중요하다. HTTPS와 SSL HTTPS는 SSL 프로토콜을 기반으로 돌아가는 프로토콜 중 하나다. SSL SSL 정의 Secure Sockets Layer은 암호규약이다.( 과거 명칭: 보안 소켓 레이어/Se..

개인 공부 2022.12.15

TCP/IP 소켓 통신 과정

TCP/IP 소켓 통신 TCP/IP 소켓통신 과정 설명 클라이언트 소켓과 서버 소켓으로 구분되어짐 클라이언트 소켓 통신 과정 [1. 소켓을 생성] 클라이언트와 특정 서버와 통신을 하기 위해서는 운영체제에 socket() 시스템콜을 통해 소켓을 생성함 [2. 소켓을 연결] connect() 시스템 콜을 호출하여 서버와 클라이언트간 연결 함 3 way handshake 방식을 사용해서 연결 함 (3 way handshake 란?) 1) 클라이언트는 서버에게 연결요청의 SYN이라는 비트 1을 만들어 TCP 헤더 정보를 설정하고 보냄. 2) 서버는 받은 페킷을 기반으로 수신처 포트번호에 대항하는 소켓을 찾고 거기에 해당 클라이언트에 대한 정보를 저장. 3) 서버도 SYN 비트를 만들고 정상적으로 처리했다는것을 ..

개인 공부 2022.12.15

HTTP, Socket 통신의 차이

일반적으로 휴대폰, 컴퓨터 등에서 필요로 하는 데이터들은 Server에서 받아온다. 네트워크를 통해 서버로부터 데이터를 가져오기 위한 통신으로는 크게 HTTP 통신과 Socket 통신 2가지가 있다. 오늘은 이 2가지 통신에 대해 알아보자. HTTP(HyperText Transfer Protocol) 하이퍼 텍스트를 주고 받기 위한 규칙(통신 규약)을 말한다. 하이퍼 텍스트란 연결 고리를 통해 다른 문서로 접근할 수 있는 텍스트를 말한다. HTML의 를 떠올리면 이해하기 쉽다. HTTP라는 통신 규칙을 만든 것은 좋은데, 정작 하이퍼 텍스트를 보기좋게 표현할 방법이 없었다. 누구든 동일한 방법으로 하이퍼 텍스트를 표현할 방법이 필요했다. 이에 팀 버너스리는 인터넷 기반의 하이퍼 텍스트 작성을 위한 방법들..

개인 공부 2022.12.15

Protocl Buffers (프로토콜 버퍼) 란?

프로토콜 버퍼(Protocol Buffers, Protobuf) 란? 프로토콜 버퍼는 정방향 및 역호환 방식으로 구조화된 데이터를 직렬화하기 위한 언어 중립적이고 플랫폼 중립적이며 확장 가능한 메커니즘을 제공합니다. 더 작고 빠르며 네이티브 언어 바인딩을 생성한다는 점을 제외하면 JSON과 같습니다. 통신이나 데이터 저장을 목적으로 서로 통신할 프로그램을 개발할 때 유용하다. 줄여서 protobuf, 더 줄여서 pb라고 부릅니다. protobuf는 여러 프로그램 언어를 지원합니다. (직렬화 : 객체의 내용을 바이트 단위로 반환하여 파일 또는 네트워크를 통해서 스트림(송수신)이 가능하도록 하는 것을 의미한다.) protobuf는 다른 IDL ( XML, JSON ) 에 비해 더 적은 용량으로 데이터를 저장..

개인 공부 2022.10.21

MQTT

MQTT란 무엇인가요? MQTT는 머신 대 머신(M2M) 통신에 사용되는 표준 기반 메시징 프로토콜 또는 규칙 세트입니다. 스마트 센서, 웨어러블 및 기타 사물 인터넷(IoT) 디바이스는 일반적으로 리소스 제약이 있는 네트워크를 통해 제한된 대역폭으로 데이터를 전송하고 수신해야 합니다. 이러한 IoT 디바이스는 MQTT를 데이터 전송에 사용하는데, 구현이 쉽고 IoT 데이터를 효율적으로 전달할 수 있기 때문입니다. MQTT는 디바이스에서 클라우드로, 클라우드에서 디바이스로의 메시징을 지원합니다. MQTT 특징 1) 연결지향적 (Connection Oriented) MQTT 브로커와 연결을 요청하는 클라이언트는 TCP/IP 소켓 연결을 한 후 명시적으로 연결을 끊거나 네트워크 사정에 의해 연결이 끊어질 때..

개인 공부 2022.10.21

Bluetooth Low Energy (BLE) 개념 정리

BLE란? 블루투스라고 하면 Bluetooth Classic부터 Bluetooth Low Energy (BLE) 까지를 모두 포함한다. 그중에 BLE 는 Bluetooth Low Energy의 줄임말로 저전력 형태의 블루투스 통신이라고 보면 된다. 연결방법 ( Advertising Mode, Connection Mode ) 1. [Advertising Mode] 1) 동작방식 특정 디바이스를 지정하지 않고 주변의 모든 디바이스에게 Signal을 보낸다. 주변에 디바이스가 있건 없건 다른 디바이스가 Signal을 듣는 상태이건 아니건 일방적으로 Signal을 보낸다. => 비콘 마냥 주기적으로 계속 신호를 보낸다. 2) 특징 - 한 번에 한 개 이상의 디바이스에 데이터를 전송할 수 있다. ( 다수의 디바이..

개인 공부 2022.10.17

Serial 통신 ( 직렬통신 )

시리얼(Serial) 통신 소개 임베디드 시스템은 각종 프로세서와 회로들 간에 서로 통신하며 동작하는 것이 핵심이기 때문에 데이터를 주고 받는 표준 프로토콜들이 필요한 것은 당연합니다. 수많은 프로토콜들이 있지만 일반적으로, 크게 두 개의 카테고리로 나눌 수 있습니다. 바로 패러럴(병렬, parallel)과 시리얼(직렬, serial) 입니다. 패러럴(병렬)과 시리얼(직렬) 패러럴(Parallel) 인터페이스는 다수의 비트(bit)를 한번에 전송하는 방법입니다. 이들은 보통 8 또는 16 또는 그 이상의 라인을 통해 동시에 데이터를 보내줍니다. 그리고 타이밍(clock)에 맞춰 모든 라인이 같이 동작할 수 있도록 clock(CLK) 라인이 필요하므로 8-bit data bus 의 경우 9라인이 사용됩니다..

개인 공부 2022.09.27

Android - USB Serial 통신 ( AOA - Android Open Accessory)

Android는 두 가지 모드, USB 액세서리 및 USB 호스트 모드를 통해 다양한 USB 주변기기 및 Android USB 액세서리를 지원합니다. (Android 액세서리 프로토콜을 구현하는 하드웨어) USB 액세서리 모드에서 외부 USB 하드웨어는 USB 호스트 역할을 합니다. 액세서리의 예로는 로봇 컨트롤러, 도킹 스테이션, 진단 및 음악 장비, 키오스크, 카드 리더 등이 있습니다. 이러한 액세서리를 통해 호스트 기능이 없는 Android 지원 기기에서 USB 하드웨어와 상호작용할 수 있습니다. - Android USB 액세서리는 Android 지원 기기와 함께 작동하도록 설계되어야 하며 Android 액세서리 통신 프로토콜을 준수해야 합니다. USB 호스트 모드에서 Android 지원 기기는 호..

개인 공부 2022.09.19

BLE 통신 ( 저전력 블루투스 )

BLE 통신이란? 저전력 블루투스 즉, BLE(Bluetooth Low Energy)는 근거리 무선 네트워크인 WPAN(wireless personal area network)을 사용한다. WPAN 은 다른 무선 연결 방식보다 훨씬 적은 전력 소모를 자랑하며 약 10 미터 내에서 데이터 통신이 가능하다. “페어링(pairing)” 블루투스 전송 데이터는 암호화가 가능하며 이를 위해 먼저 두 장치 간 고유 정보를 교환하는 “페어링(pairing)”이라는 과정을 거친다. "본딩(bonding)" 그 다음 고유한 보안 및 식별 정보를 교환 및 저장하는 "본딩(bonding)" 절차로 이어진다 즉, 장치들은 보안 기능을 서로 교환하여 페어링되고 교환한 장치 및 페어링 정보를 저장함으로써 본딩된다. 전송 패킷 블..

개인 공부 2022.09.14
728x90
반응형