IoT - 포트포워딩과 슈퍼디엠지

TCP/IP 란?

  • 인터넷에서 컴퓨터들이 서로 정보를 주고받는데 가장 많이 쓰이는 통신규약(프로토콜)
  • 계층은 4가지로 응용, 전송, 네트워크, 데이터링크 계층으로 이루어짐
  • TCP(Transmission Control Protocol) : 서버와 클라이언트 간에 데이터를 신뢰성 있게 전달하기 위해 만들 어진 프로토콜
  • IP(Internet Protocol) : IP 주소는 인터넷에 접속하기 위해 컴퓨터나 스마트폰 등에 부여하는 고유한 주소로써 “192.168.0.10”과 같은 4자리 숫자로 IP 주소를 사용

LAN과 WAN 이란?

  • WAN
    • 광대역 네트워크
    • 전송거리 넓음
    • 에러율이 높음
  • LAN
    • 근거리 네트워크
    • 한 건물 혹은 작은 지역 커버

IPv4 주소 체계

  • 주소길이 32bit
  • 8bit씩 4자리 10진수 ex) 192.168.0.2

포트포워딩

  • 공유기의 공인IP로 특정 포트로 접근하는 경우에 내부의 특정 IP로 안내

슈퍼디엠지

  • 공유기의 공인IP로 특정 포트로 접근하는 경우에 내부의 특정 MAC 주소로 안내
  • ipconfig/all 사용시 mac확인가능

TCP/IP 계층구조

  • 응용
    • FTP, HTTP, SMTP, Telent
  • 전송
    • TCP, UDP
  • 네트워크
    • IP, ICMP, ARP
  • 데이터링크
    • Ethernet

IoT - Camera

UV4L 이란?

  • Userspace Video4Linux
  • V4L과 호환되어 실제 또는 가상의 비디오 장치들을 위한 사용자 영역 드라이버를 제공해주는 모델
  • 스트리밍 서버 플러그인을 포함
  • 화상통신이 가능한 양방향 스트리밍을 지원
  • 커스터마이징이 가능한 RESTful API 제공
    • V4L
      • Video4Linux
      • 리눅스에서 비디오 디비이스 제어하고 사용하기 위한 API

API 란?

  • Application Programming Interface
  • 특정 프로그램에서 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 해주는 인터페이스

frame

  • 24frame 은 1초에 24장에 사진이 출력

IoT - Bluetooth 와 Beacon

Bluetooth 란?

  • 근거리 무선 통신 기술의 표본
  • 수 ~ 수십미터 정도의 거리에서 정보 교환 용도 사용
  • 2.4 ~ 2.485 GHz 주파수 대역 사용
    • 동일한 주파수를 사용하는 다른 장치 간에 간섭현상 발생 가능
    • 호핑기술
      • 블루투스 페어링 이후 무선 통신 상황에 따라 주파수를 일정간격으로 건너뛰어 다른 채널의 주파수로 통신하는 것
  • wifi 보다 저전력이고 더 좁은 범위 통신에 적합
  • BLE
    • 기존의 블루투스보다 전력 소모가 적고 저용량 데이터를 처리하기에 맞도록 설계
    • 브로드캐스트 모드
      • 일정한 주기로 주변의 모든 디바이스에게 일방적으로 데이터를 보내는 모드
      • 주기적으로 소량의 데이터를 여러 기기에 전달해야 하는 경우에 적합

Beacon 이란?

  • 근거리에 있는 스마트 기기를 자동으로 인식하여 필요한 데이터를 전송할 수 있는 무선 통신 장치
  • 최대 50m
  • 전원없이 배터리만으로 설치
  • UUID가 포함된 정보 패킷을 광고의 목적으로 사용가능
  • RSSI 값을 사용하여 비콘의 출력세기와 신호강도로 비콘과 단말기 사이 거리 측정 가능

비콘종류

  1. iBeacon
  • 데이터 패킷
    1. 비콘의 고정 고유 번호
    2. UUID : 범용 고유 식별자
    3. 2 byte의 비콘 그룹을 나타내는 식별 번호
    4. 2 byte의 비콘 그룹 내에서 고유 비콘을 나타내는 식별 번호
    5. 통신 세기를 나타내는 신호
  1. 에디스톤
  • 오픈소스
  • 패킷유형
    • UID : Unique identifier
      • 설치된 앱을 실행할때 알림
    • URL
      • 효율적이고 쉽게 정보 전달
    • TLM : Telemetry
      • 배터리정보, 기기온도, 패킷 전송 횟수
    • EID
      • 안전성과 보안이 강화된 패킷

IoT - Flask 웹 서버 구축

Flask란?

  • 경량 웹 프레임워크
    • 프레임워크?
      • 뼈대, 골조
  • 단점
    • 개발자가 직접 환경에 맞춰 개발을 하고 라이브러를 찾아서 추가해야한다

vs Django

  • 장고는 풀스택 프레임워크
    • 인증과 권한, ORM, 템플릿 라이브러리, 로그처리, 보안, 관리자 기능 요소 포함

URL 디스패치

  • Flask에서 URL을 처리하는 것.
  • 사용자가 입력한 URL을 지켜보다가 URL을 분석하여 올바른 길로 안내

Flask LED 제어 동적 라우팅 <산형괄호>

  • 동적으로 변경되는 URL의 뷰 함수를 사용하기 위해서 <>을 이용해서 변수를 전달해야하고 해당 변수가 클라이언트로 부터 URL로 전달되면 함수의 매개변수로 받아줘야 사용 가능

IP 란?

  • Internet Protocol의 약자
  • 송/수신 호스트가 데이터를 서로 주고 받는데 필요한 프로토콜을 의미
  • 데이터는 패킷으로 분할되어 전송되고 받은 쪽에서 분할된 패킷을 조립
    • 패킷 스위칭 방식
      • Data를 패킷으로 나누어 전송하기 때문에 동시 전송이 가능
  • 터널링기술
    • IPv6 망에서 인접한 IPv4 망을 거쳐서 건너편 IPv6망으로 통신할 때 IPv4 망에 터널을 만들어 IPv6 패킷을 통과시키는 개념

Port 란?

  • 컴퓨터 간 상호 통신을 위해 프로토콜에서 이용하는 가상의 연결 단

Process 란?

  • 실행중인 프로그램
  • 프로그램이 명령어와 정적 데이터가 메모리에 적재되면 프로세스가 됨
  • netstat명령어로 확인
  • sudo kill [PID]로 종료

cron vs daemon

  • cron
    • 주기적인 실행이 필요할 때 사용
    • crontab -e 에 등록
  • daemon
    • 계속 실행되는 것
    • 파이를 재부팅했을 때부터 종료 시까지 자동으로 실행
API API오용 Anaconda Beacon Bluetooth CRUD분석 Camera ChatBot DB관련신기술 DB관리기능 DB서버 DB표준화 ER다이어그램 ER모델 ETL Flask HW관련신기술 IDE도구 IP IoT Machine_Translation NLP배경 ORM프레임워크 Package Recurrent Neural Network SDLC SW개발방법론 SW개발방법론선정 SW개발보안정책 SW개발표준 SW관련신기술 Sequence_Tagging ShellScript TCP_UDP Vector WordCloud c 자료형 class embedding konlpy python python 자료형 가설검증 개발환경구축 객체지향프로그래밍언어 관계데이터베이스모델 관계데이터언어 국제표준제품품질특성 네트워크7계층 네트워크관련신기술 네트워크장비 네트워크침해공격용어 논리데이터모델개요 논리데이터모델품질검증 논리적데이터모델링 논문 단위모듈구현 단위모듈테스트 데이터검증 데이터모델개념 데이터베이스무결성 데이터베이스백업 데이터베이스암호화 데이터베이스용량설계 데이터베이스이중화구성 데이터베이스정규화 데이터분석 데이터분석 - 순열 - 조합 데이터분석 - 정규분포 데이터분석 - 통계기초 데이터사이언스개념 데이터입출력 데이터전환수행계획 데이터정제 데이터조작프로시저작성 데이터조작프로시저최적화 데이터조작프로시저테스트 데이터지역화 데이터타입 데이터표준확인 데이터품질분석 라이브러리 로그분석 메모리관리 모델화 몬테카를로 물리데이터모델설계 물리데이터모델품질기준 물리데이터저장소구성 물리요소조사분석 반정규화 배치프로그램 변수 보안기능 보안솔루션 보안아키텍처 보안취약성식별 분산데이터베이스 분산분석 비용산정모델 빌드자동화도구 사용자정의함수 상관분석 서버개발프레임워크 서버인증 서버장비운영 서버접근통제 서비스공격유형 선언형언어 세션통제 소스코드인스펙션 소프트스킬 소프트웨어개발프레임워크 소프트웨어버전관리도구 소프트웨어연계테스트 슈퍼디엠지 스크립트언어 시스템카탈로그와뷰 암호알고리즘 애플리케이션모니터링도구 애플리케이션배포도구 애플리케이션성능개선 애플리케이션테스트결과분석 애플리케이션테스트시나리오작성 애플리케이션테스트케이스작성 애플리케이션통합테스트수행 애플리케이션패키징 연산자 예외처리 오답노트 오류데이터측정 오류처리 오류처리확인및보고서작성 요구공학방법론 운영체제 웹서버 이벤트 인터넷구성의개념 인터페이스구현검증 인터페이스기능확인 인터페이스보안 입력데이터검증및표현 자료구조 자연어처리 재사용 절차적프로그래밍언어 정보보안침해공격용어 정보처리기사 제품소프트웨어매뉴얼작성 집계성DCL작성 체크리스트 초기데이터구축 취약점분석 칼럼속성 캡슐화 코드오류 클러스터링 키종류 테일러링기준 트랜잭션인터페이스 트리거 파일처리기술 파티셔닝 패키지 포트포워딩 프로세스스케줄링 프로토타입 한국어임베딩 핵심정리 현업도구 형상관리도구 환경변수 회귀분석
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×