분류 전체보기 82

[CN] 2장: CDNs

CDNsStreaming stored video: Client Buffer서버가 비디오를 보내면, 유저는 다음과 같이 보면 됨근데, 클라이언트-서버 간 대역폭은 네트워크 혼잡이 발생가능즉, 클라이언트 측의 버퍼가 필요함클라이언트 측 버퍼링 및 재생 지연을 위해네트워크 추가적인 지연과 지연 변이를 보상DASH 프로토콜비디오 품질이 좋을수록 더 높은 대역폭이 필요해서 만든 프로토콜클라이언트클라이언트-서버 간의 대역폭을 주기적으로 측정매니페스트 파일을 참조하여,비디오 조각을 요청함대역폭 상황에 따라 최대 품질 버전의 청크를 선택함서버비디오 파일을 여러 조각으로 분할각 조각은 여러 품질 버전으로 인코딩HD, FHD, 4K ..여러 품질 버전의 비디오 조각은 여러 서버에 저장됨매니페스트 파일: 여러 품질 버전의 ..

[CN] 2장: Peer-To-Peer Applications

Peer-To-Peer ApplicationsP2P 개요클라이언트가 송신, 제공 다 하는 역할 → 자기 확장성항상 동작하지 않고, 피어의 IP 주소는 바뀔 수 있음파일 분배: 클라이언트-서버 vs P2P한 서버에서 F크기의 파일을 N개의 피어로 배포하는데 걸리는 시간?클라이언트-서버: N이 증가함에 따라 선형적으로 시간 증가→ 서버가 N명한테 다 주는 방식서버 전송파일 1개: F/u파일 N개: N*F/u클라이언트최소분배시간: F/d(min)d(min) = 다운 로드가 가장 느린 클라이언트의 속도P2P: N이 증가해도, u(i)도 증가해서 효율적임서버 전송반드시 1개 파일,F/u 시간 걸림클라이언트최소분배시간: F/d(min)P2P 파일 분배: BitTorrent토렌트: 특정 파일 분배에 참여하는 피어의 ..

[CN] 2장: The Domain Name System, DNS

The Domain Name System, DNSDNS 개요1IP Address일반적인 IP 주소(IPv4)는 32비트,0~255 사이의 4개 숫자로 표시 됨IP 주소는 기억하기 어렵지만,google.com과 같은 호스트 이름은 기억하기 쉬움DNS (Domain Name System)DNS 서버들의 계층 구조로 구현된 분산 데이터베이스애플리케이션 계층 프로토콜로 구현된 핵심 인터넷 기능호스트가 분산 DB로 질의 허용UDP 상에서 수행되고, 포트번호는 53번사용자가 웹 서버의 호스트 이름을 입력하여, 웹 서버의 IP 주소를 얻는 절차유저 컴퓨터에 DNS 클라이언트가 계속 돌고있음URL로부터 호스트 이름을 DNS 클라이언트에 보냄DNS 클라이언트가 DNS 서버에 호스트 이름을 포함한 쿼리 보냄DNS 클라이언..

iOS 네트워크 통신 (1/3) - 개요 (URLSession, Alamofire, Moya)

학습 목표이번 시간에는 iOS에서 사용되는 네트워크 통신의 수박 겉핥기 개요서버와 통신할 때 사용되는 URLSession, Alamofire 각 특징 알기URLSession과 Alamofire 차이 알기Moya 특징/동작 알기학습 내용URLSession과 AlamofireURLSessionAn object that coordinates a group of related, network data transfer tasks.네트워크 데이터 전송과 관련한 일을 처리하는 클래스애플이 제공하는 APIURL Loading System표준 IP 혹은 유저가 만든 커스텀 프로토콜을 사용하여URLs에 의해 구분되는 자원을 접근하게 함→ 비동기적으로 진행되므로 통제해줘야 하는데 이를 URL Session이 해줌하나의 UR..

iOS/UIKit 2024.05.12

[CN] 2장: E-mail, SMTP, IMAP

E-mail, SMTP, IMAP전자메일 (E-mail)3개의 주요 구성요소사용자 에이전트메일 메세지 작성, 편집, 읽기메일 서버메일 큐에 메일 메세지들 담고 있음SMTP (Simple Mail Transfer Protocol)클라이언트: 보내는 메일 서버둘 다 서버를 갖고 있음서버: 받는 메일 서버메일 서버 간의 이메일 메세지 전송 규율SMTPTCP를 사용하여 이메일 메세지를 클라이언트에서 서버로 전송포트번호 25 사용3가지의 단계를 따름SMTP handshaking = 연결SMTP tansfer of message = 메세지 전송SMTP closure = 종료HTTP와 유사하게, 아스키 코드를 사용함응답 또한, 상태코드 사용SMTP 동작SMTP를 통해 엘리스 메일 서버에 도착메일 서버의 메세지 큐에 ..

[CN] 2장: Web and HTTP

Web and HTTP웹 Web객체들로 구성됨웹 페이지는 여러 참조 객체를 포함하는 base HTML 파일각 객체는 URL로 주소 지정 가능HTTP 개요Stateless, 과거에 대한 정보 XHTTP Message는 Request | Response 2가지 종류ASCII 코드 형식이다.포트번호 80 사용HTTP 1.0 (비지속 연결)클라이언트가 TCP 연결 요청서버가 TCP 연결 승인클라이언트가 메세지 요청서버가 메세지 응답HTTP 서버 닫음클라이언트가 응답 받고 데이터 얻음비 지속 연결의 경우, 총 10개의 이미지면 11번의 연결과 해제가 필요함RTT (Round - Trip - Time)서버한테 패킷을 보내고 돌아오는 시간비 지속 연결의 경우HTTP 응답시간 = 2RTT + 파일전송시간HTTP 1.1..

[CN] 2장: Principles of network applications

Principles of network applications프로토콜 아키텍처Client - Server클라이언트IP 주소는 바뀜클라이언트끼리 직접 통신 X간헐적으로 통신 (맨날 켜진 상태 X)서버항상 동작함IP 주소가 고정적임데이터 센터에 있음Peer - To - Peer클라이언트끼리 직접 통신자기확장성항상 동작하는 서버 XIP 주소가 변경될 수 있음각 호스트마다 클라이언트, 서버 프로세스 2개를 지님동일한 호스트 (하나의 컴퓨터)에서는 프로세스 간 통신 = 운영체제가 해줌다른 호스트와 통신할 때는 메세지를 교환하여 통신애플리케이션은 어떤 트랜스포트 서비스가 필요 ?신뢰적 데이터 전송일부 손실 허용시간 보장처리율보안TCP | UDPTCP믿을 수 있는 트랜스포트흐름 제어혼잡 제어연결 지향형시간보장, 처리..

[CN] 1장: 프로토콜 계층, 서비스 모델 & 보안

프로토콜 계층, 서비스 모델계층화장점모듈화로 유지보수 용이시스템 업데이트 용이단점각 계층마다 중복된 기능 포함다른 계층에만 존재하는 정보가 필요할 수도 있음스위치는 2개 계층라우터는 3개 계층보안인터넷은 원래 보안을 고려하지 않고 설계됨Malware자기복제바이러스웜스파이웨어사적인 정보를 수집하여 특정 사이트에 업로드패킷 스니퍼공유 채널에서 문제 발생IP 스푸핑패킷에 가짜 출발지 주소 삽입헤더파일을 바꿈디도스공격자가 가짜 트래픽으로 리소스를 제한함방어 방법인증기밀성무결성 확인접근 제한방화벽

[CN] 1장: Performance: Loss, Delay, Throughput

Performance: Loss, Delay, Throughput라우터 버퍼 안의 큐가 꽉 차면 ?패킷 손실이 발생한다.4가지 지연처리 지연, proc비트 오류 검사어느 패킷으로 보낼지 결정큐잉 지연, queue라우터의 큐에서 전송을 기다리는 시간라우터 혼잡에 의존적전송 지연, trans패킷의 모든 비트를 링크로 전송하는 시간패킷 길이: L링크 전송률: RL/R전파 지연, prop물리적 링크 길이: d전파 속도: sd/s전송 vs 전파 비교자동차 = bit, 자동차 대열 = 패킷, 요금 계산소 = 라우터차량 속도 = 100km/hr요금 계산소에서 차량 한 대가 통과하는 시간: 12초전송시간자동차 대열을 요금 계산소에 통과12 * 10 = 120초 = 2분전파시간마지막 차량이 첫 번째 요금소에서 두 번째 ..

[OS] Cuncurrency: 동시성 개요

스레드 개념이 도입됨Thread 개념 및 관리하나의 프로세스 내에 독립된 실행 흐름 (독자적 PC와 레지스터 보유)프로세스 주소 공간 공유 → 데이터 공유 가능여기서 병행성 문제가 발생함Concurrency Control (병행성 제어)공유 변수에 하나의 프로세스만 접근→ 동기화된 방식으로 데이터를 접근하도록 강제하는 방법스레드 관리하나의 프로세스 주소 공간 내 여러 개의 스택 스택 = 스레드 지역 저장소독립된 실행 흐름 상태 전이: 프로세스 상태와 동일함 (Running, Ready, Blocked) 하나의 CPU에서는 한 번에 하나의 스레드씩 실행함 → PC 및 레지스터를 독자적으로 유지 (별도의 Context) → TCB (Thread Control Block)에 관리 정..