본문 바로가기

필기노트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.