목록Common (27)
나만의 작은 도서관

메모리 컴퓨터에 연산을 처리하는 CPU만 존재하게된다면, 제대로 된 사용이 불가능 할겁니다. 왜냐하면 처리를 해야할 데이터를 기억하는 장치가 존재하지 않기 때문이죠. 물론 CPU내부에 레지스터라는 메모리가 존재하기는 합니다만, 레지스터는 기억 장치에서 가져온 데이터를 임시로 저장하는 장치일 뿐 데이터를 영구적으로 저장하는 역할이 아닙니다. 따라서, 계산을 위한 여러 데이터들을 기억하는 "메모리"가 필요한 것입니다. 대표적으로 CPU가 접근하는 메모리 RAM이 있습니다.RAM (Random Access Memory)RAM은 Random Access Memory의 약자로, 임의 접근 기억 장치라는 의미를 가지고 있습니다. 하지만, 이러한 의미는 잘못되었습니다. 그 이유는 RAM과 구분되는 ROM종류의 메모리..

CPU란?CPU는 Central Processing Unit의 약자로, "중앙 처리 장치"라는 의미를 갖고 있으며, 컴퓨터 시스템의 중심적인 구성 요소입니다. CPU는 컴퓨터 내의 모든 연산 및 제어 기능을 수행하거나, 다른 하드웨어 장치들과의 상호작용을 조율합니다. 이를 통해 컴퓨터는 사용자 명령을 처리하고 프로그램을 실행할 수 있습니다. CPU의 기본 구성 요소CPU의 기본 구성 요소는 크게 ALU, 레지스터, 제어 장치(또는 제어 유닛) 3가지로 이루어져 있습니다. 이 3가지는 CPU내부에 존재하는 버스를 통해 서로 데이터를 교환하며 연산을 처리하게 됩니다. 산술 논리 장치 또는 ALU (Arithmetic Logic Unit)트랜지스터가 집적된 논리회로로 이루어진 장치입니다. 이름에서 볼 수 있..

유의사항: 해당 글은 공부한 내용을 정리하는 용도이므로, 수정이 필요할 경우 내용의 수정이 있을 수 있습니다.protoBufprotoBuf는 Protocol Buffer의 약자이며, Google에서 개발한 직렬화 데이터 구조이다. 효율적인 데이터 교환을 위해 설계되었으며, 특히 네트워크 통신과 저장 시스템에서 널리 사용됩니다. 이런 protoBuf는 여러 가지 데이터 구조 중 하나이기 때문에 자주 접해본 XML, JSON과 방식과 유사하다고 볼 수 있습니다. 직렬화 (serialization)와 역직렬화( Deserialization )protoBuf가 직렬화 데이터 구조인만큼 우선 직렬화와 반대되는 개념인 역직렬화가 무엇이지 알아야합니다.직렬화는 객체 또는 데이터 구조를 연속적인 바이트 스트림(byte..

유의사항: 해당 글은 공부한 내용을 정리하는 용도이므로, 수정이 필요할 경우 내용의 수정이 있을 수 있습니다. 개요이번에 바이트 배열을 이용한 TCP 통신을 배우던 중 빅 엔디안 방식과 리틀 엔디안 방식이 있다는 것을 알게되었다. 자주보던 용어들이니 정리해보고자 이번 기회에 글로 기록해볼까 한다.상위바이트 하위바이트빅 엔디안과 리틀 엔디안을 알기 전에 패킷에서 상위 또는 하위 바이트 어느 위치에 있는 바이트를 의미하는 지 알아두면 좋다. 우리가 메모리의 비트패턴에서 최상위 비트가 가장 왼쪽에 있는 비트(leftmost bit)인 것처럼 패킷에서 최상위 바이트도 가장 왼쪽에 있는 바이트를 의미한다. 반대로, 최하위 바이트는 가장 오른쪽에 있는 바이트를 의미한다.빅 엔디안(Big Endian)빅 엔디안은 이..

목차TCP, TCP 통신 과정UDPTCP와 UDP 작동 비교 예제TCP와 UDP 비교 표 신뢰할 수 있는 전송 프로토콜: TCP TCP는 호스트 간 접속과 송수신의 신뢰성이 보장되는 환경에서 통신하기 위한 연결형 통신 프로토콜로, 신뢰성 있는 통신을 위해 데이터 송수신 과정에서 재전송을 통한 오류 제어, 흐름 제어, 혼잡 제어 등의 기능을 수행합니다. (앞으로의 설명에서 통신은 서버-클라이언트 구조를 기반으로 설명합니다. ) 연결형 통신 프로토콜 TCP의 통신 과정은 1) 세션 접속, 2) 데이터 송수신, 3) 세션 해제 순으로 진행됩니다. 1) 세션 접속은 3-way-hanshake 방식을 통해 연결을 시도하는 상태를 의미합니다. 세션 접속이 성공적으로 이루어졌다면 데이터 송수신 과정으로 넘어가게..

TCP handshake는 TCP 연결을 설정하고 종료하기 위한 일련의 과정입니다. 이는 TCP 프로토콜이 신뢰성 있는 통신을 보장하기 위해 사용하는 중요한 절차입니다 TCP 헤더에는 6비트로 구성된 플래그 코드 비트가 있습니다.이 코드 비트는 3-way handshake, 4-way handshake, 비정상 종료 등등 tcp 연결 확립과정과 연결 종료 과정에서 중요한 역할을 하게됩니다.6비트로 구성된 플래그 비트는 각각의 비트가 0일때 비활성화, 1일때 활성화 상태를 의미하게 됩니다. 각각의 플래그 비트는 다음과 같습니다. URG: 긴급 데이터의 우선 처리.ACK: 응답 번호가 유효함을 나타냄.PSH: 버퍼링하지 않고 즉시 데이터를 전달하라는 요청.RST: 연결 초기화 및 재설정.SYN: 연결 설정 ..