목록Common/CS-네트워크 (15)
나만의 작은 도서관

주의사항: 해당 글은 개인적인 이해를 위해 작성된 글이며, 잘못된 정보가 포함되어 있을 수도 있습니다.목차블로킹(Blocking) 방식과 논블로킹(Non-Blocking) 방식블로킹(Blocking) 방식과 논블로킹(Non-Blocking) 방식블로킹/논블로킹 동작 방식블로킹/논블로킹 방식의 문제동기(Synchronous) 방식과 비동기(Asynchronous) 방식동기(Synchronous) 방식과 비동기(Asynchronous) 방식동기/비동기 동작 방식비동기 방식의 사용이 멀티쓰레드 환경임을 의미하지는 않는다.두 방식의 조합동기-블로킹 방식동기-논블로킹 방식비동기-블로킹 방식비동기-논블로킹 방식참고 자료블로킹(Blocking) 방식과 논블로킹(Non-Blocking) 방식 블로킹(Blocking) ..

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

개요 이번에 바이트 배열을 이용한 TCP 통신을 배우던 중 빅 엔디안 방식과 리틀 엔디안 방식이 있다는 것을 알게 되었다. 자주 보던 용어들이니 이번 기회에 글로 정리하였다. 상위 바이트와 하위 바이트 하나의 데이터는 여러 개의 연속된 바이트로 분리되어 저장된다. 이때 데이터를 구성하는 바이트 중 서로 다른 두 바이트가 저장하고 있는 값을 비교했을 때, 값이 큰 바이트를 상위 바이트, 작은 바이트를 하위 바이트라고 부른다. 즉 정리하면 아래와 같다. 상위 바이트(High Byte): 다중 바이트 값(데이터)에서 큰 값을 가져 높은 위치(상위 비트)에 있는 바이트하위 바이트(Low Byte): 다중 바이트 값(데이터)에서 낮은 값을 가져 낮은 위치(하위 비트)에 있는 바이트이때 가장 높은 위치에 있는 바이..

목차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: 연결 설정 ..

대칭 키 암호화(Symmetric Key Encryption)대칭 키 암호화(Symmetric Key Encryption)방식은 하나의 키를 사용하여 데이터를 암호화하고 복호화하는 방식입니다. 즉, 데이터를 암호화하기 위해 특정 키를 사용했다면, 복호화 할 때도 동일한 키를 사용한다는 것입니다. 작동 원리키 공유: 송신자와 수신자는 미리 비밀 키를 안전하게 공유합니다.암호화: 송신자는 비밀 키를 사용해 데이터를 암호화합니다.전송: 암호화된 데이터를 수신자에게 전송합니다.복호화: 수신자는 동일한 비밀 키를 사용해 암호화된 데이터를 복호화합니다.장점빠른 처리 속도: 대칭 키 암호화는 일반적으로 공개 키 암호화보다 빠르며, 대량의 데이터를 처리하는 데 효율적입니다.간단한 구현: 대칭 키 방식은 상대적으로 간단..