Developer Document

Embedded Software 개발을 하면서 습득한 내용을 적은 시니어 개발자들의 글

코 독 코 독 CoderDocument

Embedded SW 기초/네트워크 4

TCP, UDP 통신

네트워크란네트워크란 여러 시스템이 프로토콜을 사용하여 데이터를 주고받는 것들을 하나의 단위로 통칭한 것이라고 할 수 있다. 즉, 다수의 시스템을 전송 매체(케이블, 공기, 무선 신호 등)로 연결해 구성한 시스템들의 집합체이다. 여기서 시스템이란 일반적으로 컴퓨터 시스템을 의미하지만 ‘내부 규칙에 따라 능동적으로 동작하는 대상’을 말한다. 자동차나 자판기, 컴퓨터 등과 같은 물리적 장치 뿐만 아니라 운영체제, 프로세스 등과 같은 논리적 대상 또한 시스템이라고 할 수 있다. 또한 프로토콜은 시스템이 전송 매체를 통해 데이터를 교환할 때 따르는 ‘표준화된 특정 규칙’을 말한다.  네트워크를 얘기하면 흔히 뒤따라오는 것이 있다. 바로 OSI 7 계층이다. OSI 7 계층이란 통신 기능을 7개의 기능으로 모듈화 ..

네트워크 구조

우리는 인터넷을 매일 사용한다 해도 과언이 아니다. 그만큼 일상에서도 많이 사용하는 네트워크에 대해 조금 알아보고자 한다.LAN(Local Area Network)한정된 영역에 존재하며, 일반적으로 인터넷 연결의 단일 중앙 지점을 공유한다. 쉽게 말하면 집, 회사, IP 전화기 같은 작은 단위라고 생각하면 된다. 이때 컴퓨터끼리 직접 연결하지 않고 공유기나 스위치 등을 이용해 연결한다.이더넷 선은 버스 구조로 CSMA/CD방식을 무선 LAN은 CSMA/CA 방식을 사용하고 있다. CSMA:  데이터를 전송하고 싶은 노드가 케이블의 통신 상황을 감시하여 케이블이 열리면 송신을 개시하는 임의의 다중 접속 프로토콜이다.CSMA /CD (Collision Dection) : 전송 후 충돌을 감지하여 재전송을 시..

IPC와 RPC 차이

프로세스는 프로세스 간에 메모리를 공유하지 않는다. 그렇기 때문에 프로세스 간의 통신이 필요한데 이런 통신이 뭐가 있을까?? 또한 각기 다른 디바이스들이 어떻게 통신을 할까?? 이번 글에는 IPC와 RPC차이를 알아보고자 한다. IPC와 RPC는 async call로 스레드에서 하부작업 요청 시 요청된 하부작업의 실행 또는 종료와 관계없이 호출 스레드 또는 프로세스의 실행 흐름은 계속되는 호출을 말한다.IPC (Inter Process Communication)각 프로세스들이 통신하는 모든 형태를 일컽는다. 이에는 여러 형태의 메시지 전달 방식이 포함된다IPC의 종류Shard Memory프로세스간 공유되는 메모리 영역을 만들어 사용하는 방법커널에 만들어짐프로세스들은 읽기/쓰기를 통해 공유 영역을 수정할 ..

HTTP

HTTP(Hypertet Transfer Protocol)는 웹에서 데이터를 주고받는 서버-클라이언트 모델의 프로토콜이다.클라이언트의 요청과 서버의 응답 사이에는 여러 프록시 서버가 있다. 이 모든 통신은 안전하게 이뤄지기 위해 TCP연결을 사용한다. Http Header를 보면 많은 정보들이 담겨있고 그 정보들은 key와 value로 존재한다.  Http Header란?클라이언트와 서버가 요청 또는 응답으로 부가적인 정보를 전송하는 데이터이다. 헤더는 크게 4가지로 분류할 수 있다.General Header (공통 헤더)Request Header (요청 헤더)Response Header (응답 헤더)Entity Header (엔티티 헤더)General Header (공통 헤더)요청과 응답 모두에 적용되..