전체 글

· CS/Network
HTTP/1.0한 연결당 하나의 요청을 처리하도록 설계단점: 서버로부터 파일을 가져올 때마다 TCP의 3-way-handshake를 계속해서 열어야 하기 때문에 RTT가 증가RTT : 패킷이 목적지에 도달하고 나서 다시 출발지로 돌아오기까지 걸리는 시간 HTTP/1.1매번 TCP 연결을 하는 것이 아니라 한 번 TCP 초기화를 한 이후에 keep-alive라는 옵션으로 여러 개의 파일을 송수신할 수 있게 바뀜문서 안에 포함된 다수의 리소스(이미지, 동영상...)를 처리하려면 요청할 리소스 개수에 비례해서 대기시간이 길어짐헤더에 쿠키 등 많은 메타데이터가 들어 있고 압축이 되지 않아 무거웠음 HOL BlockingHead Of Line Blocking네트워크에서 같은 큐에 있는 패킷이 그 첫 번째 패킷에 ..
· CS/Network
L7 스위치애플리케이션 계층을 처리하는 기기로드밸런서, 서버의 부하를 분산하는 기기클라이언트로부터 오는 요청들을 뒤쪽의 여러 서버로 나누는 역할시스템이 처리할 수 있는 트래픽 증가를 목표로 함 URL, 서버, 캐시, 쿠키들을 기반으로 트래픽을 분산바이러스, 불필요한 외부 데이터 등을 걸러내는 필터링 기능응용 프로그램 수준의 트래픽 모니터링 가능  L4 스위치전송 계층을 처리하는 기기스트리밍 관련 서비스에서는 사용 불가메시지를 기반으로 인식하지 못하고 IP와 포트를 기반으로 트래픽을 분산 로드밸런싱L7 스위치 : ALB(Application Load Balancer) 컴포터넌트로 로드밸런싱L4 스위치 : NLB(Network Load Balancer) 컴포터넌트로 로드밸런싱한 서버에서 장애가 생겼을 때 다..
· CS/Network
TCP패킷 사이의 순서를 보장하고 연결지향 프로토콜을 사용해서 연결을 하여 신뢰성을 구축해서 순시 여부를 확인가상회선 패킷 교환 방식 사용 가상회선 패킷 교환 방식각 패킷에는 가상회선 식별자가 포함되며모든 패킷을 전송하면 가상회선이 해제되고 패킷들은 전송된 순서대로 도착 3-way-handshake [1 단계]클라이언트는 서버에 클라이언트의 ISN을 담아 SYN을 보냅니다.ISN은 새로운 TCP 연결의 첫 번쨰 패킷에 할당된 임의의 시퀀스 번호를 말함[2 단계]서버는 클라이언트의 SYN을 수신하고 서버의 ISN을 보내며 승인번호로 클라이언트의 ISN + 1을 보냅니다[3 단계]클라이언트는 서버의 ISN + 1한 값인 승인번호를 담아 ACK를 서버에 보냄 4-way-handshake [1 단계]먼저 클라이..
· CS/Network
트리 토폴로지노드의 추가 삭제가 쉬우며 특정 노드에 트래픽이 집중될 때 하위 노드에 영향을 끼칠 수 있음 버스 토폴로지중앙 통신 회선 하나에 여러 개의 노드가 연결되어 공유하는 네트워크 구성노드를 추가하거나 삭제하기 쉬움LAN에서 활용설치 비용이 적음신뢰성 우수스푸핑이 가능함... 스타 토폴로지중앙에 있는 노드에 모두 연결된 네트워크 구성노드를 추가하거나 에러를 탐지하기 쉬움패킷의 충돌 발생 가능성이 적음중앙 노드에 장애가 발생하면 전체 네트워크를 사용할 수 없고 설치 비용이 고가임 링형 토폴로지각각의 노드가 양 옆의 두 노드와 연결하여 전체적으로 고리처럼 하나의 연속된 길을 통해 통신하는 방식데이터는 노드에서 노드로 이동각각의 노드는 고리 모양의 길을 통해 패킷을 처리노드 수가 증가되어도 네트워크 상의..
프록시 패턴대상 객체에 접근하기 전 그 접근에 대한 흐름을 가로채 대상 객체 앞단의 인터페이스 역할을 하는 디자인 패턴 프록시 서버서버와 클라이언트 사이에서 클라이언트가 자신을 통해 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해줌 Nginx비동기 이벤트 기반의 구조와 다수의 연결을 효과적으로 처리 가능한 웹 서버Node.js 서버 앞단의 프록시 서버로 활용 CloudeFlare전 세계적으로 분산된 서버가 있고 이를 통해 어떠한 시스템의 콘텐츠 전달을 빠르게 할 수 있는 CDN 서비스CDN (Content Delivery Network) : 지리적으로 분산된 서버들을 연결한 네트워크웹 서버 앞단에 프록시 서버로 두어 DDOS 공격 방어나 HTTPS 구축에 쓰임 CORS (Cross-Origin Re..
하드 디스크 데이터 읽을 때의 프로세스 진행 과정파일을 읽으라는 메서드를 자바에 전달파일명을 전달 받은 메서드가 운영체제의 커널에게 파일을 읽어 달라고 요청커널이 하드 디스크로부터 파일을 읽어서 자신의 커널에 있는 버퍼에 복사 (DMA에서 작업)DMA (Direct Message Access)CPU의 개입 없이 주변장치와 주기억장치와의 데이터 직접 전송자바에서는 마음대로 커널의 버퍼를 사용하지 못하므로, JVM으로 그 데이터를 전달JVM에서 메서드에 있는 스트림 관리 클래스를 사용하여 데이터를 처리 NIO (New Input/Output)  / Java 4 [Java] IO와 NIO의 차이점? / IO와 NIO의 선택NIO ? 자바 4부터 새로운 입출력(New Input/Output)이라는 뜻에서 jav..
류가든
장난감정원