반응형
- 네트워크는 두 개 이상의 컴퓨터 또는 장치가 서로 연결되어 데이터를 공유하고 통신하는 시스템을 의미한다.
- 노드(Node)
- 네트워크에 연결된 각각의 장치 또는 시스템을 의미한다. (컴퓨터, 서버, 프린터, 라우터, 스위치 등)
- 링크(Link)
- 링크는 네트워크 내에서 노드 간의 물리적 또는 논리적 연결을 의미한다.
- 라우터(Router)
- 서로 다른 네트워크를 연결하고 데이터 패킷을 올바른 경로로 전달하는 장치이다.
- 스위치(Switch)
- 네트워크 내의 장치들을 연결하는 장치로 데이터를 특정 장치로 전달하는 역할을 한다.
- 허브(Hub)
- 네트워크의 모든 장치에 데이터를 브로드캐스트 하는 장치이다.
- 방화벽(Firewall)
- 네트워크 보안을 관리하며, 허용된 트래픽만 네트워크에 들어오도록 제한하는 장치이다.
- PAN (Personal Area Network, 개인 통신망)
- 개인 장치들 간의 연결을 제공하는 네트워크이다.
- LAN (Local Area Network, 근거리 통신망)
- 제한된 지역(가정, 사무실, 건물 내)을 연결하는 네트워크이다.
- WLAN (Wireless Local Area Network, 무선 근거리 통신망)
- LAN의 무선 버전으로 장치들이 와이파이(Wi-Fi)를 통해 무선으로 연결되는 네트워크이다.
- WAN (Wide Area Network, 광역 통신망)
- 넓은 지리적 범위(도시, 국가 또는 전 세계)를 연결하는 네트워크이다.
- 버스 토폴로지 (Bus Topology)
- 모든 장치가 단일 중앙 케이블에 연결된다.
- 스타 토폴로지 (Star Topology)
- 중앙 스위치 또는 허브를 통해 모든 장치가 연결된다.
- 링 토폴로지 (Ring Topology)
- 모든 장치가 순환 구조로 연결되어 데이터가 한 방향으로 흐른다.
- 메시 토폴로지 (Mesh Topology)
- 모든 장치가 서로 연결된 형태로, 높은 신뢰성과 확장성을 제공한다.
- OSI 7계층 모델
- 물리 계층 (Physical Layer)
- 하드웨어적 연결을 담당하며, 전기 신호나 물리적 케이블 등을 다룬다.
- 데이터 링크 계층 (Data Link Layer)
- 물리적으로 연결된 노드 간의 데이터 전송을 담당한다.
- 네트워크 계층 (Network Layer)
- 데이터를 목적지로 라우팅하고 IP 주소를 관리한다.
- 전송 계층 (Transport Layer)
- 데이터의 신뢰성과 흐름을 관리하며, TCP나 UDP와 같은 프로토콜을 다룬다.
- 세션 계층 (Session Layer)
- 통신 세션의 관리와 제어를 담당한다.
- 표현 계층 (Presentation Layer)
- 데이터의 형식, 암호화, 압축을 담당한다.
- 응용 계층 (Application Layer)
- 사용자가 직접 상호작용하는 애플리케이션과 서비스를 제공한다.
- 물리 계층 (Physical Layer)
- TCP/IP 모델
- 네트워크 인터페이스 계층
- OSI 모델의 물리 계층과 데이터 링크 계층에 해당한다.
- 인터넷 계층
- 데이터 라우팅 및 IP 주소 관리를 담당한다.
- 전송 계층
- OSI 모델의 전송 계층에 해당한다.
- 응용 계층
- OSI 모델의 응용, 표현, 세션 계층을 포함한다.
- 네트워크 인터페이스 계층
- TCP/IP (Transmission Control Protocol/Internet Protocol)
- 인터넷 및 대부분의 네트워크에서 사용되는 기본 프로토콜로 데이터를 신뢰성 있게 전송하며, IP 주소를 기반으로 장치 간 통신을 관리한다.
- HTTP/HTTPS (Hypertext Transfer Protocol/Secure HTTP)
- 웹 브라우저와 서버 간의 통신을 위한 프로토콜이다.
- FTP (File Transfer Protocol)
- 파일을 서버와 클라이언트 간에 전송하는 데 사용되는 프로토콜이다.
- SMTP (Simple Mail Transfer Protocol)
- 이메일 전송을 위한 표준 프로토콜이다.
- 서로 다른 소프트웨어 구성 요소들을 연결하고 통합하여 애플리케이션이 원활하게 작동하도록 돕는 소프트웨어이다.
- 시스템 통합
- 다양한 시스템(데이터베이스, 애플리케이션 서버 등)을 연결하여 데이터를 공유하고 프로세스를 자동화한다.
- 분산 처리
- 복잡한 작업을 여러 시스템에 분산하여 처리하고, 시스템의 부하를 분산시킨다.
- 표준화
- 다양한 시스템 간의 통신을 위한 표준 인터페이스를 제공하여 시스템 간의 호환성을 높인다.
- 추상화
- 복잡한 하위 시스템의 기능을 간단하게 추상화하여 개발자가 핵심 비즈니스 로직에 집중할 수 있도록 지원한다.
- 데이터 변환 및 포맷 관리
- 서로 다른 데이터 형식을 사용하는 시스템들 간의 데이터를 변환해 준다.
- 로드 밸런싱
- 미들웨어는 시스템의 부하를 균등하게 분배하여 특정 서버에 과부하가 걸리지 않도록 관리한다.
- 서비스 중개 및 디스커버리
- 서비스 검색 및 연결 기능을 제공하여 분산된 서비스들이 효율적으로 통합될 수 있도록 돕는다.
- 메시지 지향 미들웨어(Message-Oriented Middleware, MOM)
- 메시지 기반으로 서로 다른 애플리케이션 간의 데이터를 교환하도록 지원하는 미들웨어이다.
- 원격 프로시저 호출 미들웨어(Remote Procedure Call Middleware, RPC)
- 분산 환경에서 네트워크를 통해 다른 시스템에서 실행되는 함수나 프로시저를 호출할 수 있도록 해준다.
- 데이터베이스 미들웨어(Database Middleware)
- 다양한 데이터베이스 시스템에 대한 통합된 접근을 제공한다.
- 트랜잭션 처리 미들웨어(Transaction Processing Monitors, TP Monitors)
- 트랜잭션 처리 미들웨어는 여러 트랜잭션을 관리하고, 트랜잭션의 일관성과 무결성을 보장하는 역할을 한다.
- 애플리케이션 서버 미들웨어(Application Server Middleware)
- 웹 애플리케이션을 실행하고 관리하는 환경을 제공한다.
- 시스템 요구사항
- 어떤 기능을 구현해야 하는지 명확하게 정의해야 한다.
- 시스템의 처리량, 응답 시간, 병목 현상 발생 가능성 등을 고려하여 성능 요구사항을 정의해야 한다.
- 시스템의 규모가 증가하더라도 효율적으로 처리할 수 있도록 확장성을 고려해야 한다.
- 시스템의 가용성과 신뢰성을 보장하기 위해 안정적인 미들웨어를 선택해야 한다.
- 개발 환경
- 사용하는 개발 언어와 통합이 용이한 미들웨어를 선택해야 한다.
- 개발 도구와의 연동성을 고려해야 한다.
- 기존 시스템과의 호환성을 고려하여 시스템 전체의 통합을 원활하게 해야 한다.
- 지원 및 커뮤니티
- 문제 발생 시 신속한 기술 지원을 받을 수 있는지 확인해야 한다.
- 활발한 커뮤니티가 존재하는지 확인하여 정보 공유 및 문제 해결에 도움을 받을 수 있는지 확인해야 한다.
- 충분한 문서가 제공되는지 확인하여 학습 및 활용에 어려움이 없도록 해야 한다.
- 라이선스 및 비용
- 오픈 소스, 상용 소프트웨어 등 라이선스 유형을 확인하고, 시스템에 적합한 라이선스를 선택해야 한다.
- 초기 도입 비용, 유지보수 비용 등을 종합적으로 고려하여 예산에 맞는 미들웨어를 선택해야 한다.
반응형
'Beyond_SW_Camp > Daily' 카테고리의 다른 글
| Beyond_SW_Camp 13기 71일차 (DevOps) (0) | 2025.03.31 |
|---|---|
| Beyond_SW_Camp 13기 60일차 (JavaScript) (0) | 2025.03.13 |
| Beyond_SW_Camp 13기 59일차 (JavaScript) (0) | 2025.03.13 |
| Beyond_SW_Camp 13기 58일차 (JavaScript) (0) | 2025.03.13 |
| Beyond_SW_Camp 13기 57일차 (JavaScript) (1) | 2025.03.11 |