필기노트7 서버_CPU, Memory, HDD, 네트워크 인터페이스 CPU(Central Processing Unit) 서버 중심에 위치해서 연산 처리 실시 명령을 받아서 연산을 실행하고 결과를 반환 CPU를 '코어(Core)'라고 함 CPU 내부에 메모리보다 더 빠르지만 용량이 매우 작은 "레지스터" or "1차(L1)/2차(L2) 캐시" 존재 메모리 CPU 옆에 위치하며, CPU에 전달하는 내용이나 데이터를 저장하거나 처리 결과를 받음 메모리에 저장되는 정보는 영구성이 없음(서버를 재시작하면 없어지는 정보) 메모리 액세스가 매우 빠름 데이터 저장 시 물리적인 모터 등을 구동하는 것이 아니라 전기적인 처리만으로도 데이터를 저장 메모리 인터리빙: 미리 데이터를 CPU에 전달해서 처리 지연 감소 - 예를 들어, 최대 3개의 채널을 사용해서 데이터 1을 요구하면 데이터 2와.. 2021. 11. 11. NAT(Network Address Translation) NAT(Network Address Translation)이란, 네트워크 주소 변환입니다. IP 패킷에 있는 출발지 및 목적지의 IP 주소와 TCP/UDP 포트 숫자 등을 바꿔 재기록하면서 네트워크 트래픽을 주고 받게 하는 기술입니다. NAT는 주로 사설 네트워크에 속한 여러 개의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속할 때 사용하는데요. 보안 측면에서 사설 네트워크에 속한 호스트의 사설 IP를 숨길 수 있어 외부의 공격으로부터 내부 네트워크 및 호스트들을 보호할 수 있습니다. NAT는 패킷 방향에 따라 SNAT(Source Network Address Translation)과 DNAT(Destination Network Address Translation)으로 구분됩니다. ■ SNAT.. 2021. 11. 7. 웹 데이터 흐름 3계층 시스템에서는 사용자 요청에서 출발하여 해당 요청이 다양한 서버로 전달되고, 자신이 처리할 수 없을 경우 다음 서버에게 역할을 넘깁니다. 각 서버의 동작은 다르지만 다음과 같은 공통점이 있습니다. - 프로세스나 스레드가 요청 - 도착한 요청을 파악해서 필요에 따라 별도 서버로 요청 - 도착한 요청에 응답 웹 데이터의 흐름을 간단하게 도식화하였습니다. 2021. 11. 4. C10K 문제 인터넷 보급과 함께 웹 서비스 접속자가 기하급수적으로 늘어나면서, 'C10K' 문제란 것이 발생하고 있습니다. C10K 문제란 하드웨어 성능 상 문제가 없어도 클라이언트 수가 많아지면 서버가 고장나는 문제입니다. 여기서 "C"는 Client, 10K는 1만을 나타냅니다. C10K 문제를 해결하는 방법은 하나의 프로세스로 복수의 접속을 처리하는 방법입니다. 이때 클라이언트 통신은 정말 필요한 경우에만 시스템 콜로 구현되어 처리합니다. 이를 '논블로킹(Non-blocking) I/O'라고 합니다. '논블로킹 I/O'는 모든 접속을 완전히 동기로 처리할 수 없어 동기 처리 수를 고려해야 합니다. 또한 특정 처리가 장기화 되거나 지연 되면 다른 접속에 영향을 줄 수 있습니다. 반면 대량 접속이 발생함.. 2021. 11. 4. 이전 1 2 다음