Embedded IoT 1차시 IOT란? IOT는 Internet of Things의 줄임말로 사물인터넷이라고도 말합니다. 센서가 장착된 연결된 오브젝트와 장치로 이루어진 네트워크로, 다른 사물 및 시스템과 데이터를 전송하고 수신할 수 있습니다. 우리 일상속의 IOT는 스마트워치, AI스피커, 무선이어폰 등이 있습니다. 아두이노란? 아두이노는 오픈 소스를 기반으로 한 단일 보드 마이크로컨트롤러로 완성된 보드와 관련
Programming 메모리 구조 & 후입선출 메모리의 구조 프로그램이 실행되기 위해서는 먼저 프로그램이 메모리에 로드되어야 합니다. 또한, 프로그램에서 사용되는 변수들을 저장할 메모리도 필요합니다. 따라서 컴퓨터의 운영체제는 프로그램의 실행을 위해 다양한 메모리 공간을 제공하고 있습니다. 프로그램이 운영체제로부터 할당받는 대표적인 메모리 공간은 다음과 같습니다. 1. 코드(code)영역 2. 데이터(data)영역
Service Linux(Ubuntu) - keepalived 개요 * keepalived는 주로 haproxy와 많이 사용이 되며 haproxy server 간 HA(High Availability) 구성을 한다. * keepalived와 haproxy는 따로 사용이 가능하며, 보통 keepalived는 vIP 목적으로 사용된다. 설치 설치는 보통 haproxy와 함께 설치되며 간단하다. # psmisc는 process 관리를 위해 설치 함 leeyoonho@is-ha1:~$ sudo apt install haproxy
Service Linux(Ubuntu) - haproxy 개요 * haproxy는 Proxy의 일종이며, Load balance의 역할로 사용된다. * Proxy의 쓰임새는 Client의 access root는 보통 내부에서 우회(Outbound 접근) 할 때 많이 사용하지만, Reverse proxy는 역으로 외부에서 내부(Inbound) 접근 시에 사용된다. * haproxy는 보통 여러 node에 대상으로 접근 시 load balancing을 위해 사용되며 performance 또한
Hardware SLI란? 정의 NVIDIA SLI는 "Scalable Link Interface"의 약자로, NVIDIA에서 개발한 기술로 두 개 이상의 그래픽 카드를 병렬로 연결하여 그래픽 처리 능력을 향상시키는 기술이다. 이 기술을 통해 사용자들은 높은 해상도와 그래픽 설정에서도 부드러운 게임 플레이와 고품질의 그래픽을 경험할 수 있다. SLI는 여러 개의
OS & Virtual IOMMU와 VT-d (PCI Passtrough) 정의 IOMMU(Input/Output Memory Management Unit, 입출력 메모리 관리 장치)는 DMA(Direct Memory Access, 특정 하드웨어 하위 시스템이 CPU와 독립적으로 메인 시스템 메모리에 접근할 수 있게 해주는 컴퓨터 시스템의 기능이다.) 가능한 버스와 주기억장치를 연결하는 메모리 관리 장치이다. MMU와 IOMMU 아래 그림은 IOMMU의
OS & Virtual Memory Management 정의 메모리 리소스를 효율적으로 할당하고, 사용하고, 제거하는 과정을 말한다. OS, HW, SW가 Memory를 어떻게 관리하느냐에 따라 시스템 성능과 안정성이 크게 좌우된다. * 효율적인 메모리 할당: 프로세스와 프로그램에 필요한 메모리를 적절하게 할당하고, 비효율적인 메모리 사용을 방지한다. * 메모리 보호: 한 프로세스가 다른 프로세스의 메모리에 접근하지 못하도록 보호하는
OS & Virtual 프로세스 스케줄링 알고리즘 정의 단일 처리 시스템에서는 실행 중인 프로세스(A)가 존재하는데 다른 프로세스(B)가 입출력을 요청하면 그 프로세스(B)는 이전의 프로세스(A)의 자원을 놓을때까지 대기하고 있어야합니다. 하지만 다중 프로그래밍에서는 여러 프로세스들이 동시에 돌아갈 수 있으며, 프로세스가 자원(프로세서 등)을 요청하면 운영체제는
Network 네트워크 공격 네트워크 공격의 과정 1. 정보 수집 (Reconnaissance) * 대상 네트워크 및 시스템의 정보를 수집하는 단계이다. * 수집된 정보는 이후 공격 단계에 활용한다. 1. 스캐닝 및 취약점 탐색 (Scanning and Vulnerability Assessment) * 네트워크, 포트, 서비스 상태를 조사한다. * 대상의 취약점을 찾기 위해 취약점 스캐너 등을 사용한다. 1. 침투
Network Switch Jamming & Port Security Switch Jamming이란? Switch Jamming은 스위치의 MAC 주소 테이블(CAM 테이블)을 의도적으로 오버플로우시켜 네트워크 트래픽을 모든 포트로 브로드캐스트하게 만드는 공격 기법이다. 이는 공격자가 스위치에 대량의 가짜 MAC 주소를 가진 패킷을 전송하여 발생하며, 스위치의 메모리 용량을 초과하게 되면 스위치는 정상적인 MAC 주소 학습을 하지 못하고
Network VLAN & ACL VLAN이란? VLAN(Virtual Local Area Network, 가상 LAN)은 물리적인 네트워크를 여러 개의 논리적인 네트워크로 분할하는 기술이다. 이를 통해 동일한 물리적 네트워크 상에서 서로 다른 논리적 네트워크를 구성하여 네트워크 관리의 유연성과 보안성을 향상시킬 수 있다. VLAN은 스위치의 포트나 MAC 주소 등을 기준으로 VLAN 멤버십을
Network 회선 이중화 & STP 회선 이중화란? 회선 이중화란 통신 네트워크에서 단일 회선의 장애로 인한 서비스 중단을 방지하기 위해 두 개 이상의 회선을 구축하여 운영하는 것을 의미한다. 이를 통해 한 회선에 문제가 발생하더라도 다른 회선을 통해 통신을 지속할 수 있어 시스템의 안정성과 가용성을 높일 수 있다. 회선 이중화의 주요
Network DHCP & Redistribution DHCP란? DHCP는 Dynamic Host Configuration Protocol이다. 직역하자면 '동적 호스트 설정 프로토콜(통신규약)'이다. 라우터는 인터페이스 및 호스트에 IP 주소를 할당해 줄 수 있다. 예전에는 각 PC마다 고정 IP 설정을 도입하여 사용 하거나, RFC 903에 정의된 것처럼 RARP를 도입하여 동적으로 적절한 IP 주소를
Network Routing Protocol Router 라우터는 패킷의 위치를 추출하여, 그 위치에 대한 최적의 경로를 지정하며, 이 경로를 따라 데이터 패킷을 다음 장치로 전향시키는 장치이다. 이때 최적의 경로는 일반적으로는 가장 빠르게 통신이 가능한 경로이므로, 이것이 최단 거리 일수도 있지만, 돌아가는 경로라도 고속의 전송로를 통하여 전달이 되는 경로가 될 수
Network Cisco Network Device 라우터와 스위치의 메모리 구조 1. 라우터나 스위치의 전원을 켜면 POST(Power on self Test)를 실시하여 장치의 이상유무를 판단한다. 2. 이상이 없으면 ROM에 있는 Bootstrap(Booting Loader)를 RAM으로 옮긴다. 3. FLASH메모리에 있어야 할 IOS가 없거나 손상되었을 경우 ROM에 있는 Subnet IOS를 실행시켜 부팅하는데
Network VLSM&FLSM VLSM VLSM(Variable - Length Subnet Mask)은 말 그대로 서브넷의 길이를 가변적으로 사용하는것 입니다. Host 의 수에 따라 적합하게 방의 크기를 나눌 수 있기 때문에, 사용하지 않는 IP를 최소화하는 데 효율적입니다. FLSM 방식보다는 좀 더 효율적인 IP 관리를 할 수 있습니다. VLSM (Variable
Network IP & Subnetting 이론 패킷트레이서 용어 정리 Ethernet : 로컬 LAN 상에서 2계층 하드웨어 통신을 위한 LAN 표준 Fast Ehternet : 100Mbps의 속도를 가지는 고속 Ethernet 또는 포트 IP Address : 네트워킹 장치에 할당된 32비트의 고유 주소 ICMP Ping : 에코 요청(Echo request)과 에코 응답(Echo reply)으로 구성되어 장치
Network 네트워크 계층, 스위치 네트워크 네트워크는 두 개 이상의 컴퓨터(노드)가 서로 데이터를 주고받을 수 있도록 연결된 시스템입니다. 네트워크는 로컬 영역 네트워크(LAN), 광역 네트워크(WAN) 등 다양한 형태로 존재하며, 인터넷도 네트워크의 한 종류입니다. OSI 7계층 OSI(Open Systems Interconnection) 7계층 모델은 네트워크 통신을 7개의 계층으로 나누어
Docker/K8s 서버와 도커 서버의 두 가지 의미 도커는 서버에서 사용되는 소프트웨어다. 클라이언트 컴퓨터에서도 사용할 수는 있지만 현시점에서는 서버에서 사용하는 것이 주 목적이라고 생각해도 좋을 정도다. 그러므로 도커를 본격적으로 설명하기에 앞서 서버에 대한 기본적인 지식을 짚고 가겠다. 서버란 무엇일까? 서버는 이름 그대로 ‘어떤 서비스(service)를 제공(serve)
Docker/K8s Docker란 무엇인가? 도커(Docker)는 무엇일까? 도커를 한마디로 정의하면 ‘데이터 또는 프로그램을 격리시키는 기능’을 제공하는 소프트웨어라고 할 수 있다. 이 기능은 주로 서버에 사용된다. 클라이언트 컴퓨터에서도 사용할 수는 있지만 현 시점에서는
Storage [개념] 백업 방식 정의 Backup은, 원본 파일이 손상되거나 유실될 경우를 대비하여 원본 데이터를 미리 복제하여 어떠한 문제가 일어나도 데이터를 복구할 수 있도록 준비해두는 것을 말한다. 백업 방식에는 크게 전체 백업, 차등 백업, 증분 백업이 있다. 전체 백업 (Full Backup) 전체 백업은 데이터 변경 유무와는 상관없이 전체 데이터의
Storage [개념] Btrfs 정의 Btrfs(B-tree file system)는, 오픈소스 커뮤니티에서 개발하는 유닉스/리눅스용 파일 시스템이다. 특징 * 빈 공간 캐시, 동적 inode 할당 * 가볍다. * 기록 가능 스냅샷, 스냅샷에 대한 스냅샷 * B-Tree 기반 * Copy-On-Write * 하위 볼륨 * 오브젝트 차원에서의 미러링 및 스트리핑 * zlib, LZO, z-standard 압축 알고리즘 지원 * 온라인
Storage [개념] ZFS 정의 ZFS는 현재 최강의 파일시스템이라고 불린다. 이유는 다음과 같다. 1. 최초의 128비트 파일 시스템 : 2^28QiB (약 3백17경 TB)의 용량을 지원한다. 현 세대 스토리지 기술을 감안하면 그냥 무한대라고 할 수 있다. 2. 네트워크 지원 : NFS, iSCSI, CIFS(SMB)등을 지원한다. 3. SSD 캐시
Storage [개념] Thick & Thin Provisioning Storage Provisioning이란? Storage Provisioning에 대해 간단히 설명해 보도록 하겠습니다. 스토리지 프로비저닝이란, HDD나 SSD와 같은 물리적 장치의 스토리지 공간을 클라이언트에게 할당하는 작업을 말합니다. 각 장치의 스토리지 리소스는 논리적인 스토리지 풀로 묶이고, 사용 환경에 따라 공유 프로토콜들을 통해 할당된 파일시스템, LUN, VMware 가상 볼륨 등에 접근합니다.
Storage [개념] Raid란? 정의 Redundant Array of Inexpensive/Independent Disk 의 약자이다. 번역하면 복수 배열 저가/독립 디스크 이다. 저장장치 여러 개를 묶어 고용량, 고성능인 저장 장치 한 개와 같은 효과를 얻기 위해 개발된 기법이다. 저장장치는 소모품이다. 수없이 읽고 쓰기를 반복하면 물리적으로 움직이는 부품이 있는 HDD는 물론,