Beyond_SW_Camp/Daily

Beyond_SW_Camp 13기 72일차 (DevOps)

돼우 2025. 4. 1. 09:07
반응형

네트워크(Network)

1. 네트워크(Network)

  • 네트워크는 두 개 이상의 컴퓨터 또는 장치가 서로 연결되어 데이터를 공유하고 통신하는 시스템을 의미한다.

2. 네트워크의 구성 요소

  • 노드(Node)
    • 네트워크에 연결된 각각의 장치 또는 시스템을 의미한다. (컴퓨터, 서버, 프린터, 라우터, 스위치 등)
  • 링크(Link)
    • 링크는 네트워크 내에서 노드 간의 물리적 또는 논리적 연결을 의미한다.
  • 라우터(Router)
    • 서로 다른 네트워크를 연결하고 데이터 패킷을 올바른 경로로 전달하는 장치이다.
  • 스위치(Switch)
    • 네트워크 내의 장치들을 연결하는 장치로 데이터를 특정 장치로 전달하는 역할을 한다.
  • 허브(Hub)
    • 네트워크의 모든 장치에 데이터를 브로드캐스트 하는 장치이다.
  • 방화벽(Firewall)
    • 네트워크 보안을 관리하며, 허용된 트래픽만 네트워크에 들어오도록 제한하는 장치이다.

3. 네트워크의 종류

  • PAN (Personal Area Network, 개인 통신망)
    • 개인 장치들 간의 연결을 제공하는 네트워크이다.
  • LAN (Local Area Network, 근거리 통신망)
    • 제한된 지역(가정, 사무실, 건물 내)을 연결하는 네트워크이다.
  • WLAN (Wireless Local Area Network, 무선 근거리 통신망)
    • LAN의 무선 버전으로 장치들이 와이파이(Wi-Fi)를 통해 무선으로 연결되는 네트워크이다.
  • WAN (Wide Area Network, 광역 통신망)
    • 넓은 지리적 범위(도시, 국가 또는 전 세계)를 연결하는 네트워크이다.

4. 네트워크 토폴로지 (Network Topology)

  • 버스 토폴로지 (Bus Topology)
    • 모든 장치가 단일 중앙 케이블에 연결된다.
  • 스타 토폴로지 (Star Topology)
    • 중앙 스위치 또는 허브를 통해 모든 장치가 연결된다.
  • 링 토폴로지 (Ring Topology)
    • 모든 장치가 순환 구조로 연결되어 데이터가 한 방향으로 흐른다.
  • 메시 토폴로지 (Mesh Topology)
    • 모든 장치가 서로 연결된 형태로, 높은 신뢰성과 확장성을 제공한다.

5. 네트워크 계층 모델

  • OSI 7계층 모델
    • 물리 계층 (Physical Layer)
      • 하드웨어적 연결을 담당하며, 전기 신호나 물리적 케이블 등을 다룬다.
    • 데이터 링크 계층 (Data Link Layer)
      • 물리적으로 연결된 노드 간의 데이터 전송을 담당한다.
    • 네트워크 계층 (Network Layer)
      • 데이터를 목적지로 라우팅하고 IP 주소를 관리한다.
    • 전송 계층 (Transport Layer)
      • 데이터의 신뢰성과 흐름을 관리하며, TCP나 UDP와 같은 프로토콜을 다룬다.
    • 세션 계층 (Session Layer)
      • 통신 세션의 관리와 제어를 담당한다.
    • 표현 계층 (Presentation Layer)
      • 데이터의 형식, 암호화, 압축을 담당한다.
    • 응용 계층 (Application Layer)
      • 사용자가 직접 상호작용하는 애플리케이션과 서비스를 제공한다.
  • TCP/IP 모델
    • 네트워크 인터페이스 계층
      • OSI 모델의 물리 계층과 데이터 링크 계층에 해당한다.
    • 인터넷 계층
      • 데이터 라우팅 및 IP 주소 관리를 담당한다.
    • 전송 계층
      • OSI 모델의 전송 계층에 해당한다.
    • 응용 계층
      • OSI 모델의 응용, 표현, 세션 계층을 포함한다.

6. 프로토콜 (Protocol)

  • TCP/IP (Transmission Control Protocol/Internet Protocol)
    • 인터넷 및 대부분의 네트워크에서 사용되는 기본 프로토콜로 데이터를 신뢰성 있게 전송하며, IP 주소를 기반으로 장치 간 통신을 관리한다.
  • HTTP/HTTPS (Hypertext Transfer Protocol/Secure HTTP)
    • 웹 브라우저와 서버 간의 통신을 위한 프로토콜이다.
  • FTP (File Transfer Protocol)
    • 파일을 서버와 클라이언트 간에 전송하는 데 사용되는 프로토콜이다.
  • SMTP (Simple Mail Transfer Protocol)
    • 이메일 전송을 위한 표준 프로토콜이다.

미들웨어(Middleware)

1. 미들웨어(Middleware)

  • 서로 다른 소프트웨어 구성 요소들을 연결하고 통합하여 애플리케이션이 원활하게 작동하도록 돕는 소프트웨어이다.

2. 미들웨어의 주요 기능

  • 시스템 통합
    • 다양한 시스템(데이터베이스, 애플리케이션 서버 등)을 연결하여 데이터를 공유하고 프로세스를 자동화한다.
  • 분산 처리
    • 복잡한 작업을 여러 시스템에 분산하여 처리하고, 시스템의 부하를 분산시킨다.
  • 표준화
    • 다양한 시스템 간의 통신을 위한 표준 인터페이스를 제공하여 시스템 간의 호환성을 높인다.
  • 추상화
    • 복잡한 하위 시스템의 기능을 간단하게 추상화하여 개발자가 핵심 비즈니스 로직에 집중할 수 있도록 지원한다.
  • 데이터 변환 및 포맷 관리
    • 서로 다른 데이터 형식을 사용하는 시스템들 간의 데이터를 변환해 준다.
  • 로드 밸런싱
    • 미들웨어는 시스템의 부하를 균등하게 분배하여 특정 서버에 과부하가 걸리지 않도록 관리한다.
  • 서비스 중개 및 디스커버리
    • 서비스 검색 및 연결 기능을 제공하여 분산된 서비스들이 효율적으로 통합될 수 있도록 돕는다.

3. 미들웨어의 유형

  • 메시지 지향 미들웨어(Message-Oriented Middleware, MOM)
    • 메시지 기반으로 서로 다른 애플리케이션 간의 데이터를 교환하도록 지원하는 미들웨어이다.
  • 원격 프로시저 호출 미들웨어(Remote Procedure Call Middleware, RPC)
    • 분산 환경에서 네트워크를 통해 다른 시스템에서 실행되는 함수나 프로시저를 호출할 수 있도록 해준다.
  • 데이터베이스 미들웨어(Database Middleware)
    • 다양한 데이터베이스 시스템에 대한 통합된 접근을 제공한다.
  • 트랜잭션 처리 미들웨어(Transaction Processing Monitors, TP Monitors)
    • 트랜잭션 처리 미들웨어는 여러 트랜잭션을 관리하고, 트랜잭션의 일관성과 무결성을 보장하는 역할을 한다.
  • 애플리케이션 서버 미들웨어(Application Server Middleware)
    • 웹 애플리케이션을 실행하고 관리하는 환경을 제공한다.

4. 미들웨어 선택 시 고려해야 할 요소

  • 시스템 요구사항
    • 어떤 기능을 구현해야 하는지 명확하게 정의해야 한다.
    • 시스템의 처리량, 응답 시간, 병목 현상 발생 가능성 등을 고려하여 성능 요구사항을 정의해야 한다.
    • 시스템의 규모가 증가하더라도 효율적으로 처리할 수 있도록 확장성을 고려해야 한다.
    • 시스템의 가용성과 신뢰성을 보장하기 위해 안정적인 미들웨어를 선택해야 한다.
  • 개발 환경
    • 사용하는 개발 언어와 통합이 용이한 미들웨어를 선택해야 한다.
    • 개발 도구와의 연동성을 고려해야 한다.
    • 기존 시스템과의 호환성을 고려하여 시스템 전체의 통합을 원활하게 해야 한다.
  • 지원 및 커뮤니티
    • 문제 발생 시 신속한 기술 지원을 받을 수 있는지 확인해야 한다.
    • 활발한 커뮤니티가 존재하는지 확인하여 정보 공유 및 문제 해결에 도움을 받을 수 있는지 확인해야 한다.
    • 충분한 문서가 제공되는지 확인하여 학습 및 활용에 어려움이 없도록 해야 한다.
  • 라이선스 및 비용
    • 오픈 소스, 상용 소프트웨어 등 라이선스 유형을 확인하고, 시스템에 적합한 라이선스를 선택해야 한다.
    • 초기 도입 비용, 유지보수 비용 등을 종합적으로 고려하여 예산에 맞는 미들웨어를 선택해야 한다.
반응형