강의 내용 정리/풀스택서비스네트워킹(11)
-
풀스택 서비스 네트워킹(11), Wrapup
Wrapup 실질적으로 api를 제공하는 입장에서 클라이언트에게 부담을 줄여주기 위해 HTTP/1.1을 사용하는 경우가 많다. ZMQ는 실질적으로 서버가 존재해야했다. WebRTC도 마찬가지로 서버가 존재했다. P2P 통신이지만 STUB이나 중간에 서버가 존재하게 된다. HTTP/2는 다중화를 통해 HoL 문제를 해결했다. 서버 부하의 입장에서 보더라도 HTTP/1.1은 HoL을 피하기 위해서 여러 TCP 세션을 만들었는데, 이를 통해 조금이나마 멀티플렉싱을 시도했지만 서버 부하가 늘어났다. 또한 이를 통해 보안을 강조하고자 했다. gRPC는 HTTP/2를 사용하는 어플리케이션이다. 함수 호출방식이다. restful API는 사전지식없이 url을 보내는 식으로 진행했지만 gRPC는 사전지식이 필요하다. ..
2023.01.30 -
풀스택 서비스 네트워킹(10), QUIC & HTTP/3
QUIC & HTTP/3 게임 서버의 경우에는 실시간으로 인터렉티브하게 계산해서 처리하는 게 많기 때문에 지연시간이 짧은 것도 중요하고, 틱을 일정하게 처리하는 것(지터)도 중요하다. 메타버스 컨텐츠에서 그래픽의 퀄리티를 줄이는 것은 딜레이가 발생하면 멀미를 하게 된다. 이에 따라 네트워크가 중요하게 된다. 현재 논문에서 보면 게임은 네트워크에 대한 지연시간보단 정보가 일정한 시간동안 전달되는 것이 더 중요하다는 내용이 있다. 이러한 맥락에서는 게임을 하기엔 HTTP 1와 HTTP 2보단 HTTP 3를 사용하는 것이 더욱 지연시간을 줄일 수 있게 된다. QUIC의 특징 지연을 줄이고자 한다. HTTP 2가 찢어져서 윗부분과 아랫부분이 나눠진다. TCP가 아닌 UDP를 사용한다. 구글의 크롤링 작업은 HT..
2022.12.12 -
풀스텍 서비스 네트워킹(9), WebRTC
WebRTC 웹 기반의 리얼타임 커뮤니케이션 웹 브라우저로 화상/음성 전화를 사용하도록 지원한다. 웹 브라우저에서도 마이크나 비디오 등을 사용할 수 있도록 지원한다. 1. 들어가는 글 1) Client-Server s Peer to Peer P2P는 중앙집중화된 서버 없이 상대방과 통신하는 것을 지향한다. 블루투스나 무선랜으로 통신을 지향한다. 2) Client Server model 일반적인 스킴은 Client Server 모델이다. cf) 매쉬 네트워크: 엑세스 포인트 없이 디바이스들 간에 연결해서 네트워크를 구성한다. 재난 지역의 소방관이나 외국의 산지에서 사용할 수 있다. 우리나라에서는 통신 3사에 의해 자주 사용되지 않는다. 3) p2p 블록체인이 p2p 방식을 사용한 대표적인 예시이다. 블록체..
2022.12.11 -
풀스택서비스네트워킹(8), HTTP/2
HTTP/2 1. HTTP/1.1의 문제점 1) 웹의 역사 (1) 웹의 역사 웹은 팀버너스리가 문자, 사진, 동영상, 음성 등의 연구결과를 공유하기 위해 만들었다. 이때 하이퍼텍스트의 개념을 구현해서 클릭을 하면 넘어가는 식으로 진행되었다. 이때 모자이크에서 발전한 넷스케이프가 등장해 브라우저를 만들었다. 이후 웹 브라우저들이 이를 참고해 만들어졌다. 팀 버너스리는 오픈소스인 SOLID를 만들었다. WWW을 만들었을 때 다른 기업의 이익을 위해 만든 것이 아니다! 나의 데이터는 내가 관리하도록 한다!라는 점을 고려해 만든 오픈소스이다. HTTP 2부터는 뒤에 소수점이 없다. (2) 한국에서의 웹 1990년대에 처음 상용화되고, 분당에서 최초로 인터넷이 시작하고, 전국적으로 확산되기 시작했다. 1989년도..
2022.12.11 -
풀스택서비스네트워킹(7), gRPC
gRPC 1. 함수 호출 방법(들) 0) 실행파일 구조 프로그램이 실행되면 윈도우즈의 경우에는 위와 같은 형태가 된다. text는 기계어로 번역된 코드가 작성되어있다. 그 위에 초기화가 된 데이터, 그 위에는 초기화가 되지 않은 데이터를 쌓는다. high address에 가면 stack이 있다. 이는 call stack을 의미한다. heap은 동적으로 할당하는 메모리가 차지하는 영역이다. 클래스를 통해 객체를 만들 경우 heap에 저장된다. 우리가 만든 함수도 컴퓨터 메모리 어딘가에 위치하게 된다. 함수를 호출한다는 것은 프로그램의 실행을 프로그램의 메모리 첫번째부분으로 옮긴다. 이후 코드를 읽어서 cpu에게 전달하고 코드를 실행할 수 있도록한다. dll을 사용해서 다이나믹 링킹을 하는 경우에는 컴파일은..
2022.12.10 -
풀스택 서비스 네트워킹, 구글은 크롬을 왜 만들었을까?
구글의 비즈니스 모델은 광고 수익이다. 이를 위해 고객이 원하지 않아도 고객이 관심있는 광고를 빠르게 보내야한다. 구글이 지정한 어플리케이션이 설치되어있어야하고, 이에 맞게 ui/ux를 따른다면 안드로이드 인증을 해준다. 따라서 삼성은 안드로이드 인증을 받았지만 샤오미는 이에 따르지 않았기에 인증을 받지 못했다. css, html, 자바스크립트의 표준이나 신기술 등 웹기반의 새로운 기술은 mozilla 재단이 만든다. 따라서 웹 관련 기술이 등장하면 모질라 재단의 firefox 브라우저는 매우 빠르게 도입한다. 신기술이 최적화가 안된 상황에서 firefox가 더 느리지만 대부분은 빠르기도 하다. firefox 브라우저는 개발자용 브라우저가 있다. 또한 VR의 기술은 firefox reality에 들어가있..
2022.12.04