HTTP3, QUIC + TLS

Network 2022. 7. 25. 00:46

TLS(SSL) TLS에 대해 먼저 알아보고 들어가자 TLS는 하나의 프로토콜이며, 웹 응용 프로그램을 보호하는데 도움을 준다. (대학교때.. 정보보호론 수업에서 중간자 공격을 방어하는 방법이 바로 TLS이다.) HTTPS가 바로.. TLS를 적용한 것이다. SSL이 TLS로 발전된 것이며.. SSL3.0을 기반으로 TLS1.0이 만들어 졌다. 현재 SSL은 사용되지 않는다.(추가 버전업 X) TLS 목표 암호화 : 전송되는 데이터를 제 3자로 부터 보호한다. 인증 : 요청/응답 되는 정보가 요청/응답을 보내는 당사자임을 보장한다. 무결성 : 요청/응답 되는 정보가 위변조 되지 않았는지 확인한다. TLS 개념 대칭키 암호화 + 비대칭키 암호화를 적용하여 1RTT를 가진다. 비대칭키로만 할순 없나..? -..

Article Thumbnail
HTTP polling, long polling

Network 2022. 7. 23. 22:43

폴링 방식과 롱폴링 방식에 대해 알아보자.. 아래는 시퀀스 다이어그램으로 그렸다.. 숫자는 무시하고 보자 폴링 방식 클라이언트의 주기적 요청에 의해 클라이언트가 업데이트된다. 클라이언트에 대기시간이 존재한다. 특징 클라이언트가 주기적 요청을 하기 때문에.. 실시간성이 그리 높지 않다. 같은서버에 다른 요청도 보내야 할 경우 사용되는 방식 롱폴링 방식 서버가 커넥션을 가지고 있으면서 대기시간을 가진다. 이벤트가 발생되는 순간 클라이언트에 응답을 내려주고 클라이언트는 업데이트 되는 방식이다. 특징 서버측에서 이벤트가 발생하는 즉시 클라이언트에 응답을 내려보내기 때문에 실시간성이 높다. 커넥션을 서버에서 유지하고 있어야 하므로.. 서버의 부담이 높은 편이다. 이벤트가 발생되면 관련된 모든 클라이언트에 응답을 ..

Article Thumbnail
HTTP/1.1 vs HTTP/2

Network 2022. 7. 22. 23:59

위는 HTTP/1.0, HTTP/1.1, HTTP/2의 특징들을 간단하게 보여준다.. 그림 먼저 보고 들어가자.. HTTP/1에서 HTTP/1.1로 가면서.. TCP 연결에 대한 부담과 요청/응답 속도(RTT)를 많이 개선하게 되었다. persistent, pipelining 방법으로 커넥션을 유지하고 연속적으로 보낼 수 있게 된 것이다. 하지만 여전히 문제는 많았다.. persistent TCP 한번의 연결로 여러 요청/응답을 처리한다. (커넥션 재사용) pipelining 한번 요청하면 그 응답 대기하고를 반복하지 말고.. 여러번의 요청을 보내고 대기함 (latency 낮춤) (이론적으로는, 두 개의 HTTP 요청을 하나의 TCP 메시지 안에 채워서(be packed) 성능 향상 할 수 있다고 한다...

Article Thumbnail
GSLB, CDN, DNS

Network 2022. 7. 21. 23:49

DNS (Domain Name System) 사용자가 naver.com을 검색한다면.. 컴퓨터는 naver.com 질의를 어디로 요청해야 할지 모른다. 이때, DNS서버는 보통 라운드로빈 알고리즘으로 해당 서버의 IP주소를 반환 해준다. DNS서버는 도메인 네임과 매핑할 수 있는 IP주소 테이블을 가진다. GSLB (Global Server Load Balancing) DNS에서 발전된 개념이다. 네이버 서버는 전세계에 N개가 있다. 사용자의 위치에 따라 응답성이 높은 서버로 매핑을 시켜줄 필요가 있다. DNS서버는 서버 IP주소를 매핑 시켜줄때, 단순 라운드 로빈으로 매핑 시켜주지만, GSLB는 사용자의 IP주소를 보고 위치기반 으로 가장 응답성이 높고, 정상 운영중인 서버로 매핑 시켜줄 수 있다. G..