목록전체 글 (155)
센로그
◆ QUIC 이란? TCP를 대체하는 범용 목적으로 개발된 4계층 통신 프로토콜로, UDP위에서 동작한다. 게임, 스트리밍 미디어, VoIP서비스에 자주 쓰이며, 지연시간이 적은 인터넷 전송 프로토콜임. HTTP/3는 HTTP(Hypertext Transfer Protocol)의 세 번째 메이저 버전으로, 기존의 HTTP/1, HTTP/2와는 다르게 UDP 기반의 프로토콜인 QUIC을 사용하여 통신하는 프로토콜이다. "바로 옆에 있는 애한테 보내는건데, 설마 이게 TCP 혼잡 제어나 오류 제어 할만큼 그렇게나 오류가 많을까? 그건 아닌 것 같은데." 라는 컨셉에서 시작함. 그러다가 수많은 사람들이 개량해나가면서, 근거리 서버 to 서버 에서만이 아닌, 충분히 멀리 떨어진 경우에도 장점이 있도록 발전함. ..
◆ Peer-to-Peer vs Client-Server 우리가 지금부터 볼 WebRTC는 웹 기반 실시간 P2P 통신 기법이다. WebRTC(Web Real-Time Communication)은 웹 애플리케이션과 사이트가 중간자 없이 브라우저 간에 오디오나 영상 미디어를 캡쳐하고 마음대로 스트리밍 할 뿐 아니라, 임의의 데이터도 교환할 수 있도록 하는 기술임 들어가기 전에 P2P 방식과 클라-서버 방식이 어떻게 다른지 정리해보자. ■ P2P P2P 통신의 사전적 의미는, 클라이언트들이 별도의 서버 없이 서로 통신을 하는 것임. (사전적이라는 건, 요즘엔 아예 서버를 안쓰는 경우는 거의 없기 때문. 이따가 설명할 것임) 만약 6개의 노드가 있는 경우, 한 컴퓨터당 5개의 연결을 유지해야 함. 내 정보를 ..
◆ HTTP/1.1의 문제점 HTTP/1.1은 팀 버너스 리가 대학 및 연구기관들 끼리의 연구 자료를 주고받기 위해 고안한 게 시초이다. 따라서 사진이나 음성, 텍스트 등을 주고받는 게 원래 목표였다. 그런데 인터넷이 폭발적으로 성장하면서, HTTP는 더이상 학술 자료 공유의 목적으로만 쓰일 수는 없었다. 일반인들에게 배포되고, 사용자와 사용량이 늘어나고.. → 원래 의도하지 않은 방향으로 사용이 되면서 결국은 오리지널 설계 철학에 미처 담지 못한 것들이 문제가 되었다. 주로 성능상의 문제. 대표적인 문제로 Head of Line (HoL) blocking Fat message headers Limited priorities Client-driven Transmission 가 있다. ◆ Head of L..
◆ gRPC 개요 최근 분산 서버 프로그래밍에서 각광받고있는 기술 중 gRPC라는 기술이 있다. 개발자: 구글 지금부터 배울 gRPC, HTTP/2, HTTP/3는 다 구글의 기술이다. 발표일: 2016년 8월 (4년 전) 저장소: github.com/grpc/grpc Written in: C#, C++, Dart, Go, Java, Kotlin, Node, Objective-C, PHP, Python, Ruby 라이선스: 아파치 라이선스 2.0 웹사이트: grpc.io 특징: HTTP/2 기반, 프로토콜 버퍼 및 IDL 사용, 단방향/양방향 스트리밍 지원, 흐름제어/차단/비차단/취소/타임아웃 등 부가 기능 제공 주용도: Microservice architecture(서버간 통신), Mobile app ..
◆ 요점 정리1. 파일 attributesname, identifier, type, location, size, protection, time stamp, user identification ...얘도 디스크에 저장되어 있음. (not OS) 2. 파일 operations create, open, write, read, seek, delete, truncate(내용만 삭제하고 속성은 남겨둠) open-file table을 통해 재접근 시 낭비 방지 system-wide open-file table FCB 카피 open count : 이 파일을 오픈한 프로세스 개수 per-process open-file table system-wide open-file table의 항목을 가리키는 포인터 프로세스 별 re..
◆ 요점 정리 1. I/O 명령 전달 방식 Direct I/O Memory Mapped 2. I/O 처리 방식 Polling Interrupt DMA CPU 거치지 않고 디스크로부터 바로 메모리로 올림 3. I/O 요청 후 동작 방식 Blocking: I/O 데이터 준비될 때까지 기다림 Non-Blocking: I/O 데이터 없으면 걍 리턴 Asynchronous: I/O 데이터 준비될 시 시그널(인터럽트) ◆ I/O Hardware I/O 하드웨어들은 signal을 보냄으로써 컴퓨터 시스템과 통신함. 대표적인 I/O 하드웨어들의 종류는 다음과 같다. 포트: 어떤 디바이스가 연결되어있는 지점 버스: 데이터나 명령어가 움직이는 공간. - 다양한 종류가 있음. - GPU 같은 거 연결하는 PCIe bus -..