728x90
반응형
SMALL

카테고리 72

Jetson Nano OS 설치

1. NVIDIA Jetson Nano Developer Kit Jetson nano는 엔비디아의 임베디드 컴퓨팅 보드의 시리즈 중 하나이다. 저전력 시스템이며 기계학습(머신 러닝) 애플리케이션을 가속하도록 설계되어 있으며, 소프트웨어 구성은 라즈베리파이와 유사하다. 인공 지능 연산에 엔비디아의 고성능 GPU를 활용할 수 있고 리눅스(Linux) 환경에서 작동하고 우분투 18.04LTS 버전이다. Wi-Fi, 블루투스는 지원하지 않지만 별도의 모듈을 장착하여 사용할 수 있다. 2. Jetson nano 스펙 CPU : ARM 쿼드 코어 A57 GPU : NVIDIA Maxwell 기반, 128코어 RAM : LPDDR4 4GB (2GB*2EA) DISK : micro SD 카드 64GB 이상 권장하며 최..

임베디드/Jetson 2023.08.24

[OpenCV] cv2.VideoCapture 영상 데이터 다루기

OpenCV로 영상 데이터 다루기 카메라 객체 함수 cv2.VideoCapture() cap = cv2.VideoCapture()에서 cap은 영상을 다루는 객체 1) 실시간 카메라 영상 데이터 가져오기 cap = cv2.VideoCaputre(0) 인자를 0으로 주어서 카메라로 찍히는 실시간 영상 데이터 가져오기 카메라가 여러개라면 0이외에 1, 2 ... 이렇게 인자를 주어서 카메라 영상 데이터를 가져올 수 있다. 2) 동영상 파일 읽어오기 cap = cv2.VideoCapture('영상데이터 경로') 3) 비디오 캡처 isOpend() cv2.VideoCapture.isOpend() 카메라가 정상적으로 연결되었거나, 영상을 읽어올 수 있으면 Ture / 실패하였으면 False를 반환하는 함수 4) ..

[네트워크] IPPROTO_TCP 레벨 옵션

IPPROTO_TCP 레벨 옵션 TCP 데이터 전송 원리 TCP_NODELAY 용도 Nagle(네이글) 알고리즘 작동 여부 결정 Nagle(네이글) 알고리즘의 동작 방식 보낼 데이터가 MSS로 정의된 크기만큼 쌓이면 상대편에 무조건 보냄 보낼 데이터가 MSS보다 작으면 이전에 보낸 데이터에 대한 ACK가 오기를 기다림 ACK가 도착하면 보낼 데이터가 MSS보다 작더라도 상대편에 보냄 Nagle 알고리즘 장단점 장점 : 작은 패킷이 불필요하게 많이 생성되는 일을 방지해 네트워크 트래픽을 감소시킴 단점 : 데이터가 충분히 쌓일 때까지 또는 ACK가 도달할 때까지 대기하는 시간 때문에 응용프로그램의 반응 시간이 길어질 수 있음 사용 예 optval = 1 이면 NODELAY

코딩/Network 2023.06.06

[네트워크] 멀티캐스트, IPPROTO_IP, IPPROTO_IPV6 레벨 옵션

멀티캐스트 1 : n 통신 (point-to-multipoint) 하나의 발신지로부터 특정 그룹에게로 데이터 전송 발신지에서 하나의 패킷을 보내고, 네트워크(주로 라우터)쪽에서 이의 복사본을 여러 곳에 보냄 UDP 사용 실시간 다중 수신 응용에 주로 사용 ex) 영상회의, IPTV, game 등 장점 송신자는 한 번의 전송을 통하여 여러 발신자들에게 데이터를 전송하므로 네트워크 자원 낭비를 막을 수 있음 그룹에 속하지 않은 호스트는 영향을 받지 않으므로 전체 트래픽 증가가 브로드캐스트에 비하여 감소 단점 라우터가 멀티캐스트를 지원해야 가능함 멀티캐스트 주소 224.0.0.0 ~ 239.255.255.255 범위를 갖는 클래스 D의 IP를 사용함 멀티캐스트 특징 그룹 가입과 탈퇴가 자유롭고 그룹 구성원 모..

코딩/Network 2023.06.06

[네트워크] 소켓 옵션 / SOL_SOCKET 옵션

소켓 옵션 소켓 함수의 기본 동작을 변경 - 소켓 코드와 프로토콜 구현 코드를 세부적으로 제어 소켓 프로그래밍 모델 처리 주체에 따른 소켓 옵션의 종류 1. 소켓 코드가 처리하는 옵션 - 옵션을 설정하면 소켓 코드에서 해석하고 처리 2. 프로토콜 구현 코드가 처리하는 옵션 - 옵션을 설정하면 프로토콜 구현 코드에서 해석하고 처리 소켓 옵션 설정하기 int WSAAPI setsockopt( [in] SOCKET s, [in] int level, [in] int optname, [in] const char *optval, [in] int optlen ); [in] s 설정을 변경할 소켓 [in] level 옵션이 정의된 수준 [in] optname 설정할 옵션 이름 [in] optval 옵셜 설정에 값이 필..

코딩/Network 2023.06.06

[네트워크] 브로드캐스팅

목차 1.브로드캐스팅 2. 브로드캐스팅 데이터 보내기 위한 절차 브로드캐스팅 통신모델 유니캐스팅 (unicasting) : 한 개체가 다른 한 개체에 데이터를 보내는 모델 브로드캐스팅 (broadcasting) : 한 개체가 특정 네트워크에 속한 모든 개체에 데이 터를 보내는 모델 멀티캐스팅 (multicasting) : 동일 그룹에 가입한 모든 개체에 데이터를 보내는 모델 (개념적으로 브로드캐스팅은 멀티캐스팅의 특수한 경우 이다) 애니캐스팅 (anycasting) : 한 개체가 동일 그룹에 가입한 개체 중 가장 가까운 하나 에만 데이터를 보내면, 데이터를 받은 개체가 그룹에 속 한 나머지 개체에 데이터를 보내는 모델 브로드캐스팅 (broadcasting) 브로드캐스팅, 멀티캐스팅은 엄밀하게는 IP가 제..

코딩/Network 2023.06.06

[네트워크] UDP 서버-클라이언트

목차 1. UDP 서버-클라이언트 구조 2. UDP 서버-클라이언트 분석 UDP 서버-클라이언트 구조 TCP와 UDP 공통점 전송 계층 프로토콜 포트 번호를 이용해 주소를 지정 두 으용 프로그램이 TCP나 UDP를 이용해 통신하려면 반드시 포트 번호를 결정해야함 데이터 오류를 체크 TCP와 UDP는 헤더는 물론, 데이터에 대한 오류도 체크 Cf) IP계층은 헤더의 오류만 체크 = 단편화 UDP의 특징 연결 설정을 하지 않으므로 connect() 함수가 불필요함 프로토콜 수준에서 신뢰성 있는 데이터 전송을 보장하지 않으므로, 필요하다면 응용 프로그램 수준에서 신뢰성 있는 데이터 전송 기능을 구현해야 함 간단한 소켓 함수 호출 절차만 따르면 다자간 통신을 쉽게 구현할 수 있음 TCP와 달리 응용 프로그램이 ..

코딩/Network 2023.06.05

[네트워크] 멀티스레드 TCP서버/스레드 동기화/임계영역/이벤트

목차 1. 멀티스레드 TCP 서버 2. 스레드 동기화 3. 임계영역 4. 이벤트 멀티스레드 TCP 서버 기본형태 1. 클라이언트가 접속하면 accept() : accept()는 클라이언트와 통신할 소켓을 리턴 2. 클라이언트와 통신할 스레드 생성 CreateThread() : 이때 클라이언트와 통신할 소켓을 스레드에 인자로 넘겨줘야함 3. 스레드 함수는 인자로 전달된 소켓을 SOCKET 타입으로 저장 4. getpeername() 함수를 호출하여 클라이언트 주소 정보 획득 5. 클라이언트와 데이터 통신 #include "../../common.h" #include #define SERVERPORT 9000 #define BUFSIZE 512 //thread DWORD WINAPI ProcessClient..

코딩/Network 2023.06.05

[정보이론] 정보이론과 암호

정보이론과 암호 샤논의 보안 시스템 좋은 암호 시스템 암호화와 복호가 용이해야 함 키를 알지 못하는 공격자에 의한 암호 해독은 어려워야함 - 키 공간이 크면 암호해독이 어려움 - 해독을 위한 많은 양의 평문, 암호문이 필요하면 암호해독이 어려움 간단한 암호 시스템 단순 대치 암호 Vigenere 암호기 평문의 다른 문자들을 서로 다른 양만큼 이동 단순 대치 암호와 유사함 암호 시스템의 안전성 안전성의 분류 Unconditinal security Computational security 알고리즘 해독에 대한 분류 total break : 키 K를 발견 Global deduction : $D_{k}(C)$ 와 같은 값 계산하는 임의의 알고리즘 A 발견 Instance deduction : 가로챈 암호문에 대..

보안/정보이론 2023.05.25

[정보이론] 순회 부호 (Cyclic code)

순회 부호 (Cyclic code) 특징 - 선형부호 중 실용상 가장 중요한 부분 - 부호화, 신드롬 계산이 간단함 - 복호 간단함 벡터 v 0, 1을 성분으로 하는 n차원 벡터 $ v = (v_{n-1}, v_{n-2}, ... , v_{1}, v_{0}) $ 부호다항식 : 각 부호어에 대응하는 다항식 벡터 v의 다항식 표현 부호 길이 n인 부호는 n-1차 '이하'의 다항식 ( v = (0, 0, ... , 1) -> 성분의 값이 0이면 차수가 낮아질 수 있어서 '이하' ) 순시 부호의 생성 생성 다항식 (단 , $g_{i}$ 는 0 또는 1) 생성 다항식의 차수 = 검사 기호수 부호 (단, A(x)는 n - m - 1 차 이하의 임의의 다항식) W(x) : n - 1 차 이하 다항식 G(x) : m ..

보안/정보이론 2023.05.25
728x90
반응형
LIST