본문 바로가기

전체 글43

[Network] HTTP/3 과 QUIC 에 대해서 1. 왜 HTTP/3 이 필요하게 되었나? (이동) 1. handshake 과정 2. TCP HOL (Head Of Line) Blocking 문제 3. TCP 를 발전시키는 게 불가능했던 이유 - 요약 2. QUIC 이란 무엇인가? (이동) - 요약 3. QUIC 의 특징 (이동) 1. TLS 없이는 QUIC 도 없다 2. QUIC 은 여러 개의 스트림을 인지할 수 있다. - 요약 3. QUIC 은 연결 마이그레이션을 지원한다. HTTP/1.0, HTTP/1.1, HTTP/2 의 차이점을 조사하다 HTTP/3 과 QUIC 이라는 프로토콜을 접하게 되었는데, 정말 재미있는 글을 발견해서 기억할만한 내용들을 번역 해두어야겠다고 생각했다. 예를 들면, 현대 웹을 위한 새로운 프로토콜이 필요하게 되었을 때 왜.. 2022. 12. 29.
[Network] HTTP/1.0 vs HTTP/1.1 vs HTTP/2 1. HTTP/1.0 vs HTTP/1.1 (이동) 1. 커넥션 유지 (Persistent Connection) 2. 파이프라이닝 (Pipelining) 3. 그 결과 - HTTP/1.1 의 문제 1 : HTTP HOL (Head Of Line) Blocking 문제 - HTTP/1.1 의 문제 2: Header 구조의 중복 2. HTTP/1.1 vs HTTP/2 (이동) - 메시지 전송 방식의 변화 - Terminology 1. 멀티플렉싱 (Multiplexing) 2. 우선순위 지정 (Stream Prioritization) 3. 서버 푸쉬 (Server Push) 4. 헤더 압축 (Header Compression) - HTTP/2 의 문제 : TCP HOL (Head Of Line) Blockin.. 2022. 12. 29.
[Network] 암호화 해시 함수(Cryptographic hash function) [Network] 암호화 해시 함수(Cryptographic hash function) [Network] MAC 과 Digital Signatures [Network] HTTP vs HTTPS, SSL 의 통신흐름 MAC 과 Digital Signatures 를 이야기하기 위해, 해시함수를 "가변 길이의 데이터를 입력으로 받아 정해진 길이의 해시값을 만들어주기 위한 함수" 라고 정의하겠습니다. 데이터 M 을 입력으로 받아, 해시함수 H 를 통해 나오는 해시값을 h 라 하겠습니다. ( h = H(M) ) 이 때 암호학적 관점에서 말하는 해시 함수인 Cryptographic hash function 은 다음과 같은 두 가지 사항을 만족해야 합니다. the one-way property : 해시값이 h 가 되.. 2022. 10. 12.
[Network] MAC 과 Digital Signatures [Network] 암호화 해시 함수(Cryptographic hash function) [Network] MAC 과 Digital Signatures [Network] HTTP vs HTTPS, SSL 의 통신흐름 1. MAC (Message Authentication Code) 이전 글([Network] 암호화 해시 함수(Cryptographic hash function))을 통해 암호화 해시 함수가 왜 필요한지, 어떻게 쓰이는지 알아보았습니다. 암호화 해시 함수를 이용한 메시지 전달 과정과 MAC 이 하는 역할이 무엇인지 다시 살펴보겠습니다. Alice 가 메시지 m 에 secret key 인 s 를 이어붙여 (m + s) 를 생성한 후 , 그에 대한 해시값인 H(m + s) 을 생성합니다. 이 때 .. 2022. 10. 12.
[Network] HTTP vs HTTPS, SSL 의 통신과정 [Network] 암호화 해시 함수(Cryptographic hash function) [Network] MAC 과 Digital Signatures [Network] HTTP vs HTTPS, SSL 의 통신흐름 생소한 용어들을 정리하기 위해 앞의 두 글을 읽어보고 오는 것을 추천합니다. HTTP 보다는 HTTPS 에 대해 다루며, HTTPS 는 어떤 것을 의미하는지, 어떤 과정을 통해 통신하고 어떤 문제점들을 해결하는지를 중심으로 다룹니다. HTTPS 란? (이동) SSL 이란? (이동) SSL 의 통신과정 (이동) 1. HTTPS 란? 보안(confidentiality, data integrity, end-point authentication) 이 강화된 TCP 를 Secure Sockets Lay.. 2022. 10. 11.
[OS] 프로세스 스케줄링 [OS] 프로세스 스케줄링 [OS] CPU 스케줄링 서로 큰 연관관계는 없지만, 프로세스 스케줄링을 공부한 후 CPU 스케줄링도 이어서 읽으면 좋을 것 같다. [Operating Systems] Chap 3. Process Concept Process Concept Process scheduling Job, Ready, Device queue I/O-bound, CPU-bound process Long, Short, Midterm scheduler Context Switch Operations on processe Inter-process communication 1. Job, Ready, Device queue process 를 scheduling 하기 위한 queue 로는 system 에 있는 모든 .. 2022. 10. 7.
[Network] CDN 이란? CDN 을 사용하는 이유 [Network] 브라우저에 URL 을 입력하면 일어나는 일 [Network] CDN 이란? CDN 을 사용하는 이유 [Network] GSLB 란? GSLB 를 사용하는 이유 [Network] 브라우저에 URL 을 입력하면 일어나는 일 에 이어서 CDN (Content Delivery Network) 을 사용하는 이유는 무엇인지에 대해 작성하겠습니다. 현실세계에서 어떤 두 지점의 물리적 위치가 멀어질수록 이동하는데 필요한 시간이 길어지듯이, 네트워크의 세계에서도 마찬가지입니다. 때문에 사용자의 접속 위치에 따라 서비스가 원활하지 않을 수도 있습니다. 이러한 문제를 해결하고자 CDN 을 사용합니다. CDN 은 서버를 특정 지역에 전략적으로 위치시킴으로써 서버와 사용자의 실제 거리를 줄여줍니다. 즉 CDN.. 2022. 10. 5.
[Network] GSLB 란? GSLB 를 사용하는 이유 [Network] 브라우저에 URL 을 입력하면 일어나는 일 [Network] CDN 이란? CDN 을 사용하는 이유 [Network] GSLB 란? GSLB 를 사용하는 이유 [Network] CDN 이란? CDN 을 사용하는 이유 에 이어서 GSLB (Global Server Load Balancing) 을 사용하는 이유는 무엇인지에 대해 작성하겠습니다. GSLB 의 풀네임으로 봐서는 로드밸런서의 한 형태라고 착각할 수도 있지만, GSLB 는 DNS 의 발전된 형태입니다. GSLB 와 DNS 의 차이를 중심으로 작성하겠습니다. 1. health check DNS 는 서버의 상태를 알 수 없어 서비스 접속에 실패하는 사용자가 생길 수 있습니다. 반면에 GSLB 는 서버의 health check 를 주기.. 2022. 10. 5.
[Network] 브라우저에 URL 을 입력하면 일어나는 일 "브라우저에 URL 을 입력하면 일어나는 일" 이라는 주제에 대해서는 크게 OSI 7 계층과 관련하여, 각 layer 에서의 장비들이 수행하게 되는 일을 순차적으로 입력한 URL 을 어떻게 찾아서 접속을 하는지, 그 일련의 과정에서 어떤 일들이 일어나는지 두 가지 방향의 대답이 있을 수 있을 것 같습니다. 해당 글에서는 2번에 조금 더 집중하여 작성해보았습니다. www.google.com 이라는 url 에 접속하기 위해서는 google.com 이라는 도메인의 ip 주소를 알아야 하기 때문에 DNS 에 질의를 하게 됩니다. 하지만 직접 DNS 에 질의를 하기 전에 각 위치에서의 DNS 캐시를 먼저 확인하게 됩니다. 웹 브라우저 캐시, 운영체제 캐시, ISP (Internet Service Provider .. 2022. 10. 4.