본문 바로가기

네트워크

(13)
[네트워크] 로드 밸런싱(Load Balancing) 둘 이상의 CPU나 저장 장치와 같은 컴퓨터 자원들에게 작업을 나누는 것로드밸런서 (Load Balancer)로드 밸런서의 필요성한 서버에 트래픽 과다로 인한 시스템 성능 저하 문제 현대의 모든 정보는 인터넷으로 연결되어 있고, 인터넷이 발전하면서 데이터 통신량이 폭발적으로 증가했고, 이는 트래픽의 증가로 이어진다.이때 서버가 사용자가 원하는 정보를 빠르게 응답해야 하는데, 아무리 뛰어난 성능의 서버라도 한 대의 서버가 모든 트래픽을 감당할 수는 없다.서버가 하나인데, 수천만개의 들어온 요청을 처리하려면 과부하가 걸려 서비스가 중단될 수 있다. (문제 발생)해결 방법Scale-Up(수직적 확장) : 서버가 더 빠르게 동작하기 위해 하드웨어 성능을 높이는 방법기존 서버 자체의 성능 향상(확장)ex) CPU..
[OS] 페이지 교체 알고리즘 (Page Replacement Algorithm) 페이징 교체 알고리즘의 목표 : 페이지 부재율을 최소화하여 성능을 높이는 것페이징 기법으로 메모리를 관리하는 운영체제에서 필요한 페이지가 메모리에 적재되지 않았을 경우(Page Fault),어떤 페이지 프레임을 선택하여 교체할 것인지 결정하는 방법메모리가 꽉 차있으면 기존 페이지 중 하나를 물리 메모리에서 디스크의 스왑 영역으로 내보내야 하는데, 이때 기존 페이지들 중에서 어떤 것을 내려서 교체할 지 결정대상 페이지(victim page) : 교체될 페이지페이지 교체 방식: Global vs. Local 교체운영체제(OS)는 메모리를 효율적으로 관리하기 위해 페이지 교체 알고리즘을 사용해 victim page(교체될 페이지)를 선정한다.1. Global 교체 방식메모리에 올라온 모든 프로세스의 페이지 중..
[네트워크] DNS (Domain Name System) 왜 DNS가 필요하게 되었을까?DNS(Domain Name System)는 IP 주소 대신 사람이 이해하기 쉬운 도메인 이름을 사용하기 위해 등장1. 초창기 인터넷 : ip 주소만 사용인터넷이 처음 개발될 때(ARPANET 시대), 컴퓨터들은 IP 주소(예: 172.217.169.110)를 사용해서 서로 통신문제점IP 주소는 사람이 기억하기 어려움 → 웹사이트마다 숫자를 외워야 했음IP 주소는 변경될 수 있음 → 서버가 이동하거나 변경되면 새로운 IP 주소를 알아야 함인터넷이 커질수록 관리가 어려움 → IP를 일일이 기록하는 방식(Hosts 파일)로는 한계 2. HOSTS 파일 방식의 한계인터넷 초기에는 hosts.txt라는 파일에 IP 주소와 도메인 이름을 직접 매핑해서 관리하였다.// hosts.tx..
[네트워크] DNS와 웹 통신 흐름 www.example.com  이라는 웹사이트를 방문한다고 가정하고, 이때 어떤 과정이 일어나는지 살펴보자 1. DNS(Domain Name System) 조회 과정DNS란?인터넷에서는 컴퓨터들이 서로 통신할 때 IP주소(ex. 192.168.1.1)를 사용한다.하지만 사람들이 숫자로 된 ip주소를 기억하기 어렵기 때문에 웹사이트 이름(도메인 이름, ex. www.example.com )을 사용한다.이때 DNS가 이 도메인 이름을 ip주소로 변환해주는 역할을 한다.사람이 인식하기 쉬운 도메인 이름을 서버가 인식하는 IP 주소로 변환하는 분산 데이터베이스 시스템분산 데이터베이스 시스템하나의 데이터베이스(DB)를 여러 개의 서버(노드)에 분산하여 저장하고 관리하는 시스템즉, 단일 서버가 아닌 여러 서버에서 ..
[네트워크] 3-way handshake, 4-way handshake 3-Way Handshake(3방향 핸드셰이크)와 4-Way Handshake(4방향 핸드셰이크)는 네트워크 통신을 하기 위한 중요한 절차이며, 각각 TCP 연결 설정과 종료 과정에서 사용된다. 3-Way Handshake (TCP 연결 설정)TCP는 애플리케이션 프로세스 간의 데이터 전송 전에 논리적인 접속 성립(establish)하기 위해 3-way handshake 과정을 거친다.TCP / IP 프로토콜을 이용해서 통신하는 응용 프로그램이 데이터를 전송하기 전에 정확한(신뢰할 수 있는) 전송을 보장하기 위해 상대방 컴퓨터와 사전에 세션을 수립하는 과정신뢰성을 위해 3번의 핸드쉐이킹 과정을 거쳐 연결을 맺는다.Client → Server : TCP SYN - 클라이언트가 서버에 연결 요청 (SYN 패..
[네트워크] HTTP & HTTPS HTTP 란HTTP (Hypertext Transfer Protocol)텍스트 기반의 통신 규약인터넷에서 데이터를 주고 받을 수 있는 프로토콜인터넷 상에서 클라이언트와 서버가 자원을 주고 받을 때 쓰는 통신 규약클라이언트-서버 구조를 따르며 TCP / IP 위에서 작동  클라이언트 - 서버 구조란?클라이언트(브라우저)가 HTTP 메세지를 통해 서버에 요청하면 서버가 요청에 대한 결과를 만들어 클라이언트로 응답하는 구조를 의미클라이언트와 서버는 개별적인 메세지 교환에 의해 통신요청(requests) : 클라이언트에 의해 전송되는 메세지응답(responses) : 요청에 대해 서버에서 응답으로 전송되는 메세지  HTTP 흐름 (1.1 버전 기준)1. TCP / IP 연결 열기앞서 HTTP는 TCP / IP ..
[네트워크] 대칭키 & 비대칭키(공개키) 암호화 대칭키 암호화: 똑같은 개인 키를 송 · 수신자가 공유하여 정보를 암호화 · 복호화 하는 것대칭키 : 어떤 정보를 암호화 · 복호화할 때 사용하는 키가 동일한 경우암호화된 정보의 전달, 확인을 위해서는 송 · 수신자 둘 다 같은 키를 가져야 한다.어떤 정보가 대칭 키를 통해 암호화 되었을 시, 똑같은 키를 갖고 잇는 사용자가 아닐 경우 해당 정보 확인이 불가능하다.암호화한 정보를 보낼 때, 암호키도 함께 보내야 한다.키의 안전한 교환이 대칭 키 암호화 방식의 가장 중요한 부분이다.(암호키 자체는 암호화가 되지 않은 평문으로 분실하거나 타인에게 노출되면 보안에 매우 취약하다.)장점암 · 복호화 과정이 단순하다.암 · 복호화 과정의 속도가 빠르다 → 송 · 수신자가 동일한 키를 가지고 있기 때문효율적인 암호..
[네트워크] TCP와 UDP TCP와 UDP는 OSI 7 계층 중 전송 계층에서 사용되는 프로토콜로, 전송 계층은 송신자와 수신자를 연결하는 통신 서비스를 제공하는 계층이다. TCP / IP 프로토콜의 패킷 교환 방식전 세계를 연결하는 복잡한 네트워크인 인터넷에서는 엄청난 양의 데이터를 효율적으고 안정적으로 전송하기 위해 패킷 교환 방식으로 데이터를 전송한다.이때 TCP와 IP는 패킷 교환 방식에 따라 데이터를 전송할 때 사용하는 프로토콜이다.네트워크에서 데이터 전송 방식송신지 호스트에서 수신지 호스트로 데이터가 전송될 때, 데이터가 중간 노드들을 경유하게 되는데 어떤 링크로 이동할지 선택하고 이동한다.이때 노드와 노드 사이의 이동 과정에서 어떤 경로를 선택해 데이터를 전송하는 방법은 크게 2가지가 존재한다.회선 교환 방식패킷 교환..