Computer Science/네트워크 10

[CS][Network] Load Balancing 로드 밸런싱

Load Balancing 부하분산 : 해야 할 작업을 나눠서 서버의 부하를 분산시키는 서비스. request를 각각 서버들이 원하는 대로 나눠주는 것. 서비스 이용자가 많아지며 트래픽을 현재의 서버로 감당하기 힘들어져 나온 개념.(Scale Out) 서비스 트래픽 증가로 인해 하나의 서버로 감당이 불가능 => Scale UP!(서버 성능을 올리자!) 그래도 안 돼? => Scale Out!(여러대의 서버로 나누자!) 미리 측정된 웹 서버의 능력에 따라 분배 or 서버의 부하상태에 따라 분배. 부하 할당 알고리즘 Round Robin 단순히 Round Robin으로 분산하는 방식입니다. Least Connections 연결 개수가 가장 적은 서버를 선택하는 방식입니다. 트래픽으로 인해 세션이 길어지는 경..

[네트워크] IP주소란??(internet protocol)

IP(IPv4)주소? Internet Protocol : 인터넷 상에서 다른 컴퓨터와 통신할 때 사용하는 프로토콜 이를 위해 컴퓨터의 논리적인 주소(숫자로 표현 가능)를 구분 1비트는 0과 1로 표현이 가능 현재 IP는 32비트 체계를 사용하므로 약 40억개(2의 32승)의 주소를 표현가능. => 전세계 모든 컴퓨터 처리 불가능하기 때문에 IPv6라는 새로운 주소체계 등장. 웹 사이트 접속은 실제로 도메인이 아닌 IP주소를 이용해 통신하는 것. cmd창에서 nslookup naver.com치면 IP주소를 출력해줌. IP의 분류 공인 IP: 세계에서 단 하나만 존재하는 IP주소 사설 IP : 공유기를 이용해 만들 수 있는 가상의 IP주소 => 외부에서 내 컴퓨터를 찾을 수 없다.(외부와 통신에 제약)(공중..

[DNS] domain name syetem 우리는 쿼리를 어떻게 처리하는가?

DNS(domain name server) Domain name을 ip주소로 바꿔주는 시스템(서비스) IP로 통신하던 방식-> SRI-NIC에서 전세계의 IP와 도메인을 수집해서 유저는 그곳을 통해서 hosts파일을 받도록 바뀜(개인이 hosts파일을 관리하기에는 너무 소요가 많아서.) ->DNS가 고안됨. -> hosts파일에 domain name과 IP주소를 적어놓고 대응하는 방식 IP주소 없이 도메인 네임을 통해 우리는 원하는 웹 사이트로 갈 수 있음. 쿼리를 통한 매핑. DNS통신 구성 요소 다른 서버들과 메세지를 통해 소통하기 위한? DNS 서버에 질의 dev.taggle.kr A IN (Query name string : 질의를 하고싶은 대상. / Type : 어떤 데이터를 받고싶은지 (A는a..

[CS] REST란? RESTful이란?

REST ? 발단 : HTTP1.0과 HTTP1.1의 개념을 소통하기 위해. 동기 : 웹이 어떻게 동작해야 하는지에 대한 구조적 모델을 만들어 웹 프로토콜 표준을 위한 guiding framework 역할을 하기 위함.' HTTP뿐만 아니라 TCP/IP 프로토콜 스택을 사용하는 어플리케이션 프로토콜이 많은데 수많은 웹 App과 protocol의 사양과 인터페이스의 일관성을 위해 웹 표준이 필요하다 생각. REST는 분산 하이퍼미디어 시스템(웹)의 구조화 스타일을 다룬다. HTTP를 사용하는 웹은 최초 문서 공유의 목적에서 크게 벗어나 하이퍼 미디어 시스템이 되었다. REST는 이런 시스템을 구조화 할때 지켜야 할 스타일을 정의. 웹 App또한 분산 하이퍼미디어 시스템이기 때문에 적용가능. 표준을 위해 여..

[CS][네트워크] TCP / UDP

TCP/UDP Transport Layer End Point 간 신뢰성있는 데이터 전송을 담당하는 계층 신뢰성 : 데이터를 순차적, 안정적인 전달 전송 : 포트 번호에 해당하는 프로세스에 데이터를 전송 전송계층이 없다면? 데이터의 순차 전송 원활x 송진자가 전달하고자했던 데이터가 안가게됨(1,2,3 -> 2,1,3)으로 바뀜. Flow (흐름 문제) 원인 : 송수신자 간의 데이터 처리 속도 차이 // 수신자가 처리할수있는 데이터량을 초과 Congestion (혼잡 문제) 원인 : 네트워크의 데이터 처리 속도 (ex. 라우터) // Network 가 혼잡해서 데이터가 안오고 통신이안됨. 결과 : 데이터의 손실 발생. TCP(Transmission Control Protocol) 신뢰성있는 데이터 통신을 가..

[CS] HTTP1.1 HTTP2.0 QUIC

10분 테코톡 쿨라임님 손너잘님 발표자료 참고했습니다. HTTP1.1&HTTP2&QUIC HTTP는 Application Layer의 프로토콜. HTTP는 신뢰성있는 연결만 해줄 수 있다면 전송프로토콜은 TCP/UDP 뭘써도 상관없다고함. TCP(Transmission Control Protocol) connection을 수립하기 전에 신뢰성 있는 Connection을 위해 3 Way Handshake를 함. 3 악수를 통해 연결이 수립되면 데이터를 전송함. 전송하면 잘 받았다고 응답을 보냄(유실되면 다시 데이터 요청) 제어, 핸드셰이커, 등등신뢰성 구축에 신경을 많이씀. UDP(User Datagram Protocol) 신뢰성 x 받는걸 신경을 안쓰고 그냥 보냄. TCP vs UDP HTTP 0.9 요..

[CS] HTTP 메세지

HTTP는 서버와 클라이언트간에 데이터가 교환되는 방식(약속) ASCII코드로 인코딩 된 text정보이며 여러줄로 되어있다. HTTP 초기버전과 HTTP/1.1에서는 클라이언트와 HTTP/2 에서는 최적화 성능 향상을 위해 HTTP 프레임으로 나누어집니다. HTTP Request Message 구조. Request Line : 첫라인으로 method, URI, http version으로 구성 HTTP Method : GET, POST 등의 server가 동작해야할 action을 정의한다. GET : 리소스를 client로 요청하는 것. POST: data가 server로 들어가야 할 때. Request target : 두번째로 오는 요청 타겟은 주로 URL, 또는 프로토콜, 포트, 도메인의 절대 경로로 ..

[CS] OSI 7 Layer

10분 테코톡 히히님과 파즈님 영상 참고해 정리했습니다. OSI 7계층!!! 1계층 물리계층(Pysical Layer) -두 컴퓨터가 통신하려면? 모든 파일과 프로그램은 0과 1의 나열이다! 결국 0과 1만 주고 받을 수 있으면 된다! 전성을 통해 +5V를 흘려보내면 1이 보내지고 -5V를 보내면 0이 보내진다고 가정하면 전선만 있으면 모든 data를 주고 받을 수 있다!. 하지만 실제로는 잘 되지 않았다. 왜? 전자기파는 싸인 함수를 그리기 때문에 주파수는 1초당 진동한 횟수.(Hz) 문제는 전자기파는 완전한 sin함수를 그리지않고 대충 그린것처럼 나옴 주파수가 계속 바뀌고 전선은 모든 주파수를 통과시키지 못함(모든 매질이 마찬가지) ex. 어떤 전선은 5-8Hz만 통과가능한데 전자기파가 1~10Hz라..

[CS] Forward Proxy, Reverse Proxy, Load Balancer

제이미, 조앤, 쉐이크반님의 10분 테코톡 시청 후 정리했습니다. Proxy(Network Proxy) Proxy Server 클라이언트와 서버간의 중계 서버로, 통신을 대리 수행하는 서버 http통신을 중계 캐시/보안/트래픽 분산 등 여러 장점을 가질 수 있음. Forward Proxy Proxy server설정을 한다.. 인터넷 속도 향상을 위해 윈도우 Proxy설정을 해줘라. 외국에서 접속하는 것 처럼 하기 위해, IP추적 방지를 위해 Proxy를 써라 => 클라이언트와 인터넷 사이에 위치를 하고있고 Intenet대신 Forward Proxy가 흐름처리를 하고있다. 특징 캐싱 전송 시간 절약( 특히 고속 인터넷 사용자 ) 불필요한 외부전송 X 외부 요청 감소 -> 네트워크 병목 현상 방지(인터넷 대..

[CS] 웹서버 vs WAS

희봉, 티거, 알리님의 10분 테코톡 유튜브 영상 보고 작성했습니다. Web? -인터넷을 기반으로 한, 정보를 공유, 검색할 수 있게 하는 서비스 -URL(주소), HTTP(통신규칙), HTML(문서) 3가지 요소를 가짐. Client -웹 브라우저. Server -클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 시스템 Web Server -인터넷을 기반으로 클라이언트의 요청에 따라 웹 서비스(HTML등 각종 리소스)를 제공하는 컴퓨터 => Client는 웹 서버에게 URL을 가지고 HTTP에 맞게 요청(특정 path로 특정 파일을 요청)하면 HTML을 응답 받음. => Web server는 클라이언트의 요청을 기다리고 웹 요청(HTTP)에 대한 데이터를 만들어서 응답. 이때 데이터는 웹에..