컴퓨터 과학(CS) 15

객체 지향 프로그래밍의 4가지 특징

개요상속: 기존 클래스의 속성과 메서드를 물려받아 재사용하고 확장할 수 있는 개념.다형성: 동일한 인터페이스(메서드)가 여러 형태로 동작할 수 있게 하는 개념.캡슐화: 객체의 상태와 행위를 하나의 단위로 묶고, 내부 구현을 숨기고 외부와의 인터페이스만 제공하는 개념.추상화: 시스템의 복잡한 세부사항을 숨기고 중요한 기능만을 드러내는 개념. 상속기존 클래스에서 정의된 속성과 메서드를 새로운 클래스로 물려받아 재사용할 수 있게 해주는 OOP의 기본 개념자식 클래스는 부모 클래스의 멤버를 상속받고, 이를 확장하거나 변경할 수 있다.이를 통해 코드 재사용성을 높이고, 유지보수를 용이하게 만든다. 상속을 사용하면 코드 중복을 피할 수 있으며, 일반적으로 "is-a" 관계를 나타낸다.예를 들어, "자동차"는 "탈 ..

네트워크 병렬 서버 로드 밸런싱 - DNS, Anycast

개요네트워크 병렬 서버 로드 밸런싱 - 프록시 서버 네트워크 병렬 서버 로드 밸런싱 - 프록시 서버개요다수의 클라이언트가 서버로 요청을 보내는 경우, 한개의 서버로 모든 클라이언트의 로직을 처리한다면 해당 서버에는 과부하가 걸릴 것이고 클라이언트는 응답을 늦게 받거나 서버가 뻗zzzz955.tistory.com 프록시 서버를 사용하지 않고도 병렬 서버에서 부하 분산(로드 밸런싱)을 구현하는 방법이 있다.이러한 방법은 클라이언트가 직접 여러 서버와 통신하도록 설계하여 프록시 서버의 부하를 줄이고, 중간 단계를 없애는 데 초점을 둔다.   DNS 기반 부하 분산DNS 로드 밸런싱은 하나의 도메인 이름에 여러 개의 IP 주소를 매핑하여 클라이언트가 요청할 때마다 서로 다른 서버로 트래픽을 분배하는 기법이다.D..

네트워크 병렬 서버 로드 밸런싱 - 프록시 서버

개요다수의 클라이언트가 서버로 요청을 보내는 경우, 한개의 서버로 모든 클라이언트의 로직을 처리한다면 해당 서버에는 과부하가 걸릴 것이고 클라이언트는 응답을 늦게 받거나 서버가 뻗어버릴 것이다.그렇다면 서버를 병렬로 두어 여러가지 서버를 둔다고 가정을 해보자클라이언트 입장에서는 각 서버의 IP주소와 포트번호를 알아야 연결 요청을 진행할 수 있다.그럼 클라이언트 입장에서 어떤 IP주소와 포트번호로 연결 요청을 해야할까?또한 연결 요청한 서버가 과부하 상태라면 어떻게 할까?이를 관리 해주기 위한 로드밸런싱이 필요하다.  프록시 서버네트워크 프록시 네트워크 프록시개요프록시(Proxy)는 네트워크 통신에서 중개 서버 역할을 하는 시스템이다.클라이언트와 서버 사이에서 데이터를 중계하거나 대리로 처리하는 기능을 수..

네트워크 IOCP

개요IOCP(Input/Output Completion Port)는 윈도우 OS에서 고성능 비동기 입출력을 지원하기 위해 설계된 메커니즘이다.IOCP는 주로 대규모 네트워크 서버와 같이 높은 동시성을 요구하는 애플리케이션에서 사용된다. 비동기 I/O를 기반으로 동작하며, 연산이 완료될 때까지 블로킹되지 않아 CPU 리소스를 효율적으로 사용할 수 있다.입출력 작업이 완료되면 해당 작업의 완료 상태를 IOCP에 전달해 큐에 저장하고, 워커 스레드가 작업을 가져가 처리한다.이때 IOCP는 스레드 풀을 사용하여 워커 스레드를 관리해 필요한 만큼의 스레드를 유지하며, CPU 코어 수를 고려하여 최적의 성능을 제공한다.IOCP는 수천 개의 연결을 동시에 처리할 수 있어, 고성능 서버 구현에 적합하다.  작동 흐름C..

네트워크 프록시

개요프록시(Proxy)는 네트워크 통신에서 중개 서버 역할을 하는 시스템이다.클라이언트와 서버 사이에서 데이터를 중계하거나 대리로 처리하는 기능을 수행한다.클라이언트가 직접 목적지 서버에 요청을 보내지 않고, 프록시 서버를 통해 요청을 전달하는 방식이다.를 통해 익명성, 보안, 접근 제어, 캐싱 등의 기능을 제공할 수 있다. 항목설명정의클라이언트와 서버 사이에서 데이터를 중계하는 중개 서버.주요 기능1. 익명성 제공2. 접근 제어3. 콘텐츠 필터링4. 캐싱5. 보안 강화6. 지리적 차단 우회종류1. 정적 프록시 (Forward Proxy)2. 리버스 프록시 (Reverse Proxy)3. 웹 프록시 (Web Proxy)4. 익명 프록시 (Anonymous Proxy)5. 투명 프록시 (Transparen..

네트워크 보안

개요네트워크 보안은 컴퓨터 네트워크를 보호하기 위해 사용하는 다양한 기술과 절차를 의미한다.주요 목표는 네트워크의 무결성, 기밀성 및 가용성을 유지하는 것기술의 발전과 함께 보안 위협도 증가하고 있기 때문에 네트워크 보안은 현대의 디지털 환경에서 매우 중요한 요소이다.기밀성 : 데이터가 인가된 사용자만 접근할 수 있도록 보호하는 것, 암호화 기술이 흔히 사용된다.무결성 : 데이터가 변조되거나 손상되지 않도록 하는 것, 데이터 체크섬이나 해시 함수를 사용하여 확인한다.가용성 : 필요할 때 데이터를 사용할 수 있도록 보장하는 것, DoS 공격을 방어하기 위한 방어책이 필요하다.네트워크 보안의 기술 및 방법으로는 방화벽, 침입 방지&탐지 시스템, VPN, 암호화, 인증이 있다.  방화벽(Firewall)네트워..

네트워크 HTTPS

개요HTTPS(Hypertext Transfer Protocol Secure)는 HTTP에 보안 계층을 추가한 프로토콜로, 웹에서 데이터를 안전하게 주고받기 위한 암호화된 통신을 제공한다.기본적인 HTTP는 데이터를 평문(암호화되지 않은 상태)으로 전송한다.따라서 비밀번호, 신용카드 정보같이 민감한 정보가 유출될 위험이 있다.이를 방지하기 위해 HTTPS는 SSL/TLS 프로토콜을 사용하여 통신을 암호화하고, 인증 및 데이터 무결성을 보장한다.  HTTP vs HTTPS항목HTTPHTTPS보안성데이터가 평문으로 전송됨, 보안 없음SSL/TLS로 암호화된 데이터 전송인증서버의 신원을 확인할 방법 없음SSL/TLS 인증서를 통해 서버 신원 확인 가능데이터 무결성데이터 변조에 취약데이터 변조 방지, 무결성 보..

네트워크 기기

개요네트워크 기기는 컴퓨터 네트워크에서 데이터의 전송, 수신, 라우팅, 관리를 담당하는 장치이다.주로 데이터를 전달하고, 트래픽을 제어하며, 네트워크 보안을 유지하는 등의 역할을 수행한다.  라우터컴퓨터 네트워크에서 서로 다른 네트워크 간의 데이터 전송을 관리하는 네트워크 장치패킷이라 불리는 데이터 조각을 송신지에서 목적지로 전달하는 역할한다.이 과정에서 최적의 경로를 찾는 것이 주요 기능이며, 가정용에서 대규모 기업 및 인터넷 서비스 제공업체(ISP) 네트워크까지 다양한 환경에서 사용된다. 라우터의 주요 기능은 다음과 같다.목적지 주소(IP 주소)를 기준으로 가장 효율적인 경로를 선택하여 패킷을 송신지에서 수신지로 전달한다.네트워크를 여러 부분으로 분할하여 트래픽을 분산하고, 병목 현상을 줄이며, 성능..

네트워크 DNS

개요DNS(Domain Name System)는 인터넷에서 도메인 이름을 IP 주소로 변환해 주는 시스템이다.쉽게 말해 사용자가 웹사이트에 접속하려고 할 때, 도메인 이름(예: www.example.com)을 입력하면 이 이름을 해당하는 IP 주소(예: 192.168.1.1)로 변환해 주는 역할을한다.를 통해 사용자는 복잡한 숫자 형태의 IP 주소를 기억할 필요 없이 알아보기 쉬운 도메인 이름만으로 웹사이트에 접속할 수있다. DNS는 인터넷이 원활하게 작동하도록 해 주는 핵심 시스템이다. 웹사이트를 방문할 때마다 수십 번씩 DNS 요청이 일어나며, 그 덕분에 우리는 복잡한 IP 주소 대신 익숙한 도메인 이름만 기억하면 되는 편리함을 누리고 있다.  DNS의 역할도메인 이름을 쉽게 기억할 수 있도록 사용하..

네트워크 대역폭

개요대역폭은 네트워크나 통신 시스템에서 데이터가 전송될 수 있는 최대 용량을 의미한다.컴퓨터를 사용하다 보면 Kbps, Mbps 등을 접한적이 있을 것이다.해당 단위들은 주로 초당 전송할 수 있는 데이터의 양을 나타내며 대역폭의 단위를 의미한다.대역폭이 클수록 더 많은 데이터를 더 빠르게 전송할 수 있다.  대역폭의 종류전송 대역폭 : 실제로 전송되는 데이터의 양을 나타내며, 대역폭의 실제 성능을 측정하는 데 사용된다. 네트워크의 혼잡이나 지연, 패킷 손실 등이 영향을 미칠 수 있다.용량 대역폭 : 네트워크가 이론적으로 지원할 수 있는 최대 데이터 전송 속도이다. 이는 기술적 한계나 장비의 성능에 따라 달라질 수 있다. 주파수 대역폭주파수 대역폭은 통신 신호에서 사용되는 주파수 범위를 말한다.아날로그 신..

728x90