본문 바로가기
반응형

CS 지식/네트워크22

[네트워크] 비디오 스트리밍 원리와 DASH, P2P, CDN 소개 Peer-to-Peer (P2P) 네트워크P2P 네트워크에서는 중앙 서버 없이 각 피어가 직접 서로 통신한다. 피어는 다른 피어에게 서비스를 제공하고, 그 대가로 서비스를 받는다("give and take"). 피어 간 서비스는 주로 파일 공유나 스트리밍 형태로 이루어지며, 대표적 서비스는 BitTorrent, KanKan 등이 있다.P2P의 특징과 장점확장성(Scalability)새로운 피어의 참여로 인해 서비스 용량과 수요가 동시에 증가한다.피어는 간헐적으로(intermittently) 네트워크에 접속하며, 위치 및 IP가 변할 수 있다. P2P 아키텍처항상 켜져 있는 서버가 없음 (no always-on server)임의의 종단 시스템(end system)끼리 직접 통신함각 peer는 다른 peer.. 2025. 4. 10.
[네트워크] DNS(Domain Name System)와 메세지 포맷, 보안 DNS (Domain Name System)1. DNS란?DNS는 사람이 기억하기 쉬운 도메인 이름(예: www.google.com)을컴퓨터가 통신에 사용하는 IP 주소(예: 142.250.206.132)로 변환해주는 분산형 데이터베이스 시스템이다.이 기능은 웹 브라우징, 이메일, 스트리밍 등 거의 모든 인터넷 서비스의 기초가 되며,인터넷의 핵심 기능 중 하나(core Internet function)로 간주된다.DNS는 애플리케이션 계층의 프로토콜이며, 네트워크의 Edge에서 동작한다DNS는 애플리케이션 계층의 프로토콜이다.호스트(클라이언트)와 DNS 서버가 통신하여 이름을 IP 주소로 변환한다.DNS는 네트워크의 가장자리(edge) 에서 수행되는 복잡한 기능 중 하나이며, 클라이언트 가까운 위치(사용.. 2025. 4. 4.
[네트워크] 이메일 시스템과 프로토콜(SMTP, IMAP, POP, HTTP) 1. 이메일 시스템이메일 시스템은 크게 세 가지 요소로 구성된다:User Agent (UA): 이메일을 작성하고 읽는 클라이언트 프로그램 (예: Outlook, Gmail 등)Mail Server: 사용자 메일박스를 관리하고 메시지를 저장SMTP(Simple Mail Transfer Protocol): 메일 서버 간 메시지를 전송하는 프로토콜메일 서버는 다음 두 가지 주요 구조를 가진다:Mailbox: 사용자의 수신 메시지를 저장하는 공간Message Queue: 전송 대기 중인 아웃고잉 메시지를 임시 저장하는 큐 즉, 메일 서버는 수신된 메시지를 저장하고, 발신 메시지를 다른 메일 서버로 전송하는 두 가지 역할을 동시에 수행한다.이메일의 전송 과정은 다음과 같다:사용자는 User Agent를 통해 이메.. 2025. 4. 4.
[네트워크] 웹 캐시와 HTTP framing Web Cache1. Web Cache (웹 캐시)1.1 정의Web Cache는 클라이언트의 요청을 원 서버(origin server)로 보내지 않고도 응답할 수 있도록 하는 중간 서버이다.일반적으로 Proxy Server(프록시 서버) 라고도 불리며, 대신 요청을 처리해주는 대리인(Agent) 역할을 한다.1.2 동작 원리사용자는 브라우저 설정을 통해 Web Cache를 사용하도록 구성한다.브라우저는 모든 HTTP 요청을 Web Cache로 보낸다.Web Cache의 처리:요청한 객체가 캐시에 있다면, Web Cache는 그 객체를 클라이언트에 직접 전달한다.캐시에 없다면, Web Cache는 원 서버에 요청을 보내고, 응답 받은 객체를 자신의 캐시에 저장한 후, 클라이언트에 전달한다.2. Web Ca.. 2025. 4. 4.
[네트워크] 전송계층과 HTTP와 쿠키(Cookie) 애플리케이션이 필요로 하는 Transport Layer 서비스는 무엇인가?애플리케이션에 따라 요구하는 전송 계층(Transport Layer) 서비스는 다르다. 이를 이해하면 적절한 전송 프로토콜(TCP, UDP)을 선택할 수 있다.1. Data Integrity (데이터 무결성)일부 애플리케이션은 100% 신뢰성 있는 데이터 전송(reliable data transfer) 을 요구한다.예: 파일 전송(file transfer), 웹 거래(web transactions) 등반면 일부 애플리케이션은 일부 손실(loss) 을 허용할 수 있다.예: 오디오(audio) 스트리밍. 인간의 귀는 작은 손실을 인지하지 못할 수도 있기 때문이다.2. Timing (타이밍, 시간 민감도)특정 애플리케이션은 낮은 지연(l.. 2025. 4. 1.
[네트워크] 응용계층과 프로토콜, P2P, 클라이언트-서버 아키텍처 응용 계층응용 계층은 네트워크에서 사용자가 직접 사용하는 서비스들이 동작하는 계층이다. 웹 브라우징, 이메일, 파일 전송, 스트리밍 등 모든 인터넷 애플리케이션이 바로 이 응용 계층에서 작동한다. 응용 계층을 학습하는 목적응용 계층 학습의 핵심 목표는 다음과 같다:응용 계층 프로토콜의 개념적 구조와 구현 방식을 모두 이해한다.전송 계층 서비스 모델(Transport-layer service model) 을 이해한다.클라이언트-서버 패러다임(Client-Server paradigm) 과 피어-투-피어 패러다임(Peer-to-Peer paradigm) 을 비교 분석한다.HTTP, SMTP, IMAP, DNS, 영상 스트리밍 시스템, CDN 등 실제로 사용되는 응용 계층 프로토콜을 분석한다.소켓 API를 활용.. 2025. 4. 1.
[네트워크] 네트워크 계층 구조와 보안 입문 네트워크의 계층 구조와 프로토콜복잡한 네트워크 시스템을 효과적으로 설계하고 유지하기 위해, 우리는 네트워크를 계층(layer)으로 나누어 구성한다. 각 계층은 고유한 기능을 수행하며, 바로 아래 계층의 서비스를 요청해 자신의 기능을 완수한다. 이러한 구조를 통해 복잡한 시스템을 모듈화하고, 유지보수를 간편하게 할 수 있다.서비스와 요청/응답 관계상위 계층은 하위 계층에게 서비스 요청(request) 을 보내고, 하위 계층은 이에 응답(response) 하는 방식으로 작동한다. 이러한 동작은 primitive(원시 동작) 라고 부르며, 각 계층은 서로 독립적이면서도 상호 협력하는 구조를 이룬다.프로토콜과 투명한 서비스각 계층에서의 서비스는 프로토콜(protocol) 이라는 형태로 정의된다. 프로토콜은 서로.. 2025. 3. 25.