본문 바로가기
반응형
[Network] 네트워크 소개 및 로드맵 1. 소개- 네트워크- OSI 7 Layer- TCP/IP Layer- 프로토콜- 네트워크 주변기기- 정보보안 2. 학습로드맵1) 혼자 공부하는 네트워크- 교재: 혼자 공부하는 네트워크 / Do it! IT 서비스 이해를 위한 네트워크 / 후니의 쉽게 쓴 시스코 네트워킹 / 컴퓨터 네트워킹 하향식 접근- 강의: 혼자 공부하는 네트워크 2) 네트워크관리사 2급 (참고) 3) 리눅스마스터 2급(참고): 일부 중복 4) TCP/IP 소켓 프로그래밍- 교재: TCP/IP 소켓 프로그래밍 / 윤성우의 열혈 TCP/IP 소켓 프로그래밍- 강의: 네트워크 프로그래밍 / 뇌를 자극하는 TCP/IP 소켓 프로그래밍 5) 네트워크 구조 및 프로토콜- 교재: 그림으로 이해하는 서버 구조와 기술 / 그림으로 배우는 네트워크 .. 2024. 12. 15.
[Roadmap] 4. Network 1. Network- [교재] 혼자 공부하는 네트워크- [교재] 그림으로 배우는 네트워크 프로토콜- [교재] 컴퓨터 네트워킹 하향식 접근(8판)- [교재] TCP/IP 네트워크 프로토콜의 이해- [강의] 혼자 공부하는 네트워크- [공식문서] RFC 공식문서 2. Socket Programming- [교재] 윤성우의 열혈 TCP/IP 소켓 프로그래밍- [교재] TCP/IP 소켓 프로그래밍- [강의] 네트워크 프로그래밍- [강의] 뇌를 자극하는 TCP/IP 소켓 프로그래밍 3. Network Equipment- [교재] 후니의 쉽게 쓴 시스코 네트워킹- [교재] 그림으로 공부하는 IT 인프라 구조- [교재] 킹 오브 랜 스위칭  4. 자격증- 시험일정/비용/유효기간/우대사항/자격여부 확인 네트워크관리사 2급.. 2024. 10. 5.
[C++ 고급 프로그래밍과 응용 프로젝트 시리즈] Day 26: C++로 네트워크 프로그래밍 (소켓 프로그래밍) 소켓 프로그래밍 소개소켓 프로그래밍은 네트워크를 통해 통신하는 소프트웨어를 작성하는 기술입니다. C++에서는 Berkeley 소켓 API를 사용하여 소켓 프로그래밍을 구현할 수 있습니다. 오늘은 TCP/IP 소켓을 사용하여 간단한 클라이언트-서버 애플리케이션을 구현해보겠습니다. TCP 서버 구현1. 서버 소켓 설정TCP 서버는 클라이언트 연결을 수락하고 데이터를 주고받습니다. 서버는 다음 단계를 통해 구현됩니다.소켓 생성소켓 바인딩소켓 리스닝클라이언트 연결 수락데이터 송수신tcp_server.cpp#include #include #include #include #include #define PORT 8080int main() { int server_fd, new_socket; struct so.. 2024. 8. 1.
[C++ 네트워크 프로그래밍] Day 20: 로드 밸런싱과 스케일링 로드 밸런싱과 스케일링로드 밸런싱과 스케일링은 네트워크 애플리케이션의 성능과 확장성을 향상시키기 위한 중요한 기법입니다. 이 기법들은 트래픽을 여러 서버에 분산시켜 부하를 고르게 분배하고, 애플리케이션이 더 많은 요청을 처리할 수 있도록 합니다.로드 밸런싱 (Load Balancing)로드 밸런싱은 클라이언트 요청을 여러 서버에 분산시켜 서버의 부하를 고르게 유지하는 기술입니다. 이를 통해 단일 서버의 과부하를 방지하고, 시스템 전체의 가용성을 높일 수 있습니다.로드 밸런서의 유형소프트웨어 로드 밸런서: HAProxy, Nginx 등과 같은 소프트웨어 솔루션을 사용하여 로드 밸런싱을 구현합니다.하드웨어 로드 밸런서: F5, Citrix 등의 하드웨어 장비를 사용하여 로드 밸런싱을 구현합니다.클라우드 로드.. 2024. 8. 1.
[C++ 네트워크 프로그래밍] Day 19: 네트워크 성능 최적화 기법 네트워크 성능 최적화 기법네트워크 애플리케이션의 성능을 최적화하는 것은 매우 중요합니다. 성능 최적화는 응답 시간 단축, 처리량 증대, 자원 사용 최적화를 목표로 합니다. 네트워크 성능을 최적화하기 위한 다양한 기법들이 존재하며, 이들 기법을 적절히 활용하면 애플리케이션의 성능을 크게 향상시킬 수 있습니다.1. 비동기 I/O비동기 I/O는 블로킹 없이 I/O 작업을 처리할 수 있게 해줍니다. 이를 통해 여러 I/O 작업을 동시에 처리할 수 있으며, 시스템 자원을 효율적으로 사용할 수 있습니다. Boost.Asio와 같은 라이브러리를 사용하여 비동기 I/O를 구현할 수 있습니다.2. 멀티스레딩멀티스레딩은 여러 스레드를 사용하여 병렬로 작업을 수행하는 방법입니다. 이를 통해 CPU 자원을 최대한 활용하고, .. 2024. 8. 1.
[C++ 네트워크 프로그래밍] Day 6: 네트워크 프로토콜 기초 네트워크 프로토콜 기초네트워크 프로토콜은 네트워크 상에서 데이터를 주고받는 규칙을 정의한 것입니다. 프로토콜은 데이터의 형식, 전송 방식, 오류 처리 등을 규정합니다. 네트워크 통신의 대부분은 여러 프로토콜의 조합으로 이루어집니다.OSI 7계층 모델OSI(Open Systems Interconnection) 모델은 네트워크 통신을 7개의 계층으로 나눈 모델입니다. 각 계층은 특정한 기능을 담당하며, 서로 독립적으로 동작합니다.물리 계층 (Physical Layer): 물리적인 매체를 통해 데이터를 전송합니다. (예: 케이블, 전파)데이터 링크 계층 (Data Link Layer): 인접한 네트워크 노드 간의 데이터 전송을 담당합니다. (예: Ethernet, Wi-Fi)네트워크 계층 (Network La.. 2024. 8. 1.
[C++ 네트워크 프로그래밍] Day 2: 소켓 프로그래밍 기초 (TCP) 소켓 프로그래밍 기초소켓 프로그래밍은 네트워크 통신을 위해 소켓을 사용하는 프로그래밍 기법입니다. 소켓은 네트워크 통신의 끝점을 나타내는 추상화된 개념으로, IP 주소와 포트 번호로 식별됩니다. TCP 소켓 프로그래밍TCP(Transmission Control Protocol)는 신뢰성 있는 데이터 전송을 보장하는 프로토콜입니다. 연결 지향적이며, 데이터의 순서와 무결성을 보장합니다. TCP 소켓 프로그래밍에서는 클라이언트와 서버 간의 연결을 설정하고, 데이터를 주고받는 과정을 구현합니다. TCP 소켓 프로그래밍의 주요 함수소켓 생성socket() 함수: 소켓을 생성합니다.domain: 주소 체계 (예: AF_INET - IPv4)type: 소켓 타입 (예: SOCK_STREAM - TCP)protoco.. 2024. 8. 1.
[C++ 네트워크 프로그래밍 ] Day 1: 네트워크 프로그래밍 소개와 개발 환경 설정 네트워크 프로그래밍 소개네트워크 프로그래밍은 컴퓨터 네트워크를 통해 데이터를 송수신하는 소프트웨어를 작성하는 기술입니다. 이를 통해 두 개 이상의 컴퓨터가 데이터를 주고받을 수 있습니다. 네트워크 프로그래밍의 기본 단위는 소켓(socket)입니다. 네트워크 프로그래밍의 주요 개념클라이언트-서버 모델클라이언트: 네트워크에서 서비스를 요청하는 역할입니다. 예를 들어, 웹 브라우저가 웹 서버에 페이지를 요청합니다.서버: 네트워크에서 서비스를 제공하는 역할입니다. 웹 서버는 클라이언트의 요청에 따라 웹 페이지를 제공합니다.프로토콜프로토콜은 데이터를 어떻게 형식화하고 송수신할지 정의하는 규칙입니다. 대표적인 프로토콜에는 TCP/IP, HTTP, FTP 등이 있습니다.TCP (Transmission Control .. 2024. 8. 1.
반응형