애플리케이션 계층 8

[Network] Transport Layer (트랜스포트 계층) - 3.1 트랜스포트 계층 서비스 및 개요

3.1 Introduction and Transport-Layer ServicesTransport Layer Protocol은 서로 다른 호스트에서 동작하고 있는 애플리케이션 프로세스에 논리적 통신(logical communication)을 제공한다. Logical communication 을 통해 애플리케이션의 관점에서 프로세스가 실행 중인 두 호스트가 직접 연결되어 있는 것처럼 느끼게 한다. 물론 현실적으로는 서로 정반대에 서서 셀 수 없이 많은 라우터와 다양한 링크들을 통해 연결되어 있는 것이지만 말이다. 애플리케이션 프로세스는 Transport layer가 제공하는 Logical communication을 이용하며, 서로에게 message를 보낼 수 있다. 그리고 이를 통해 애플리케이션 프로세스는..

IT/Network 2018.01.13

[Network] Application Layer (애플리케이션 계층) - 2.6 비디오 스트리밍 및 DASH 정리

2.6 Video Streaming and Content Distribution Networks현재 스트리밍 영상은 북미 지역의 가정 ISP의 트래픽 대다수를 차지하고 있다. 특히, 2015년 가정 ISP의 트래픽 중 Netflix나 YouTube 서비스는 그 자체만으로도 엄청나게도 각각 37%와 16%를 차지하고 있다.2.6.1 Internet Video스트리밍 비디오 애플리케이션은 영화나 TV 쇼나 녹화된 스포츠 경기나 Youtube에서 흔히 보이는 유저들이 직접 만든 영상과 같은 사전에 녹화된 비디오를 기반으로 한다. 이렇게 녹화된 영상은 서버에 위치하며, 사용자는 필요에 따라 비디오를 보기 위해 서버로 요청을 보낸다. Netflix, YouTube(Google), Amazon, Youku와 같은 ..

IT/Network 2018.01.12

[Network] Application Layer (애플리케이션 계층) - 2.4 DNS 정리 2.4.3 DNS Records and Messages

180111_CN_2_4_3 2.4.3 DNS Records and Messages 분산된 DNS 데이터베이스를 수행하는 DNS servers는 "Resource Records (RRs)" 를 저장한다. RR에는 hostname과 IP address를 이어주는 mapping도 포함하고 있다. 각각의 DNS reply message는 하나 이상의 resource records를 싣고 간다.Resource Records는 다음 4개의 필드를 4-tuple로 포함한다. (Name, Value, Type, TTL) • TTL은 RR의 수명 (Time to Live)으로 cache에서 해당 resource가 언제 지워져야 하는지 나타낸다. 일단 이 예제에서는 TTL은 무시하기로 한다. Name과 Value fie..

IT/Network 2018.01.11

[Network] Application Layer (애플리케이션 계층) - 2.4 DNS 정리 2.4.2 Overview of How DNS Works

2.4.2 Overview of How DNS Works 가령 사용자의 host에서 동작하는 웹 브라우저나 메일 앱이 hostname을 IP address로 변환할 필요가 있다고 가정하자. 이 애플리케이션은 변환되어야 하는 hostname을 담아 client side의 DNS를 호출할 것이다. 호출된 사용자의 host에 위치한 DNS는 네트워크로 query message를 보낼 것이다. 모든 DNS query와 reply message는 port 53을 통해 UDP datagram이 되어 전송된다. 수 ms에서 sec의 시간이 흐른 잠시 후, 사용자의 host에 위치한 DNS는 가장 바람직한 mapping을 DNS reply message를 통해 받는다. 그리고 해당 mapping을 자신을 호출한 애플리..

IT/Network 2018.01.10

[Network] Application Layer (애플리케이션 계층) - 2.2 웹 애플리케이션 정리 2.2.5 Web Caching (웹 캐싱)

2.2.5 Web CachingProxy server라고도 불리는 Web cache는 원본 Web server를 대신해서 HTTP request를 처리하는 network entity이다. Web cache는 그 자체로 디스크 저장 공간을 가지고 있으며, 최근에 요청된 객체들의 복사본을 저장하고 있다. 일화를 예로 들어 보면 다음과 같다. 1) 브라우저가 TCP 연결을 Web cache와 만들고, Web cache로 HTTP Request Message를 보내 객체를 요청한다. 2) Web cache는 그 객체를 보관하고 있는지 확인하고, 존재하면, HTTP Response Message에 담아 클라이언트 브라우저로 전송한다. 3) 만약 존재하지 않는다면, Web cache는 원본 서버와 TCP 연결을 생..

IT/Network 2018.01.08

[Network] Application Layer (애플리케이션 계층) - 2.2 웹 애플리케이션 정리 2.2.4 Cookie (쿠키)

2.2.4 User-Server Interaction: CookiesHTTP Server는 Stateless (상태가 없다)이다. 이는 동시에 수천의 TCP 연결을 처리할 수 있는 웹 서버를 디자인하는 것을 쉽게 해준다. 그러나 종종 웹 사이트가 사용자를 인지하고 있을 필요가 있다. • 서버가 사용자의 접근 권한을 제어해야 할 때. • 서버가 사용자에 따른 맞춤 서비스를 제공해야 할 때. 이러한 목적으로 HTTP는 "Cookies"를 사용한다. [RFC 6265]Cookie는 4 개의 요소로 구성된다. 1) HTTP Response Message의 'cookie header line' 2) HTTP Request Message의 'cookie header line' 3) 유저의 end system과 유저..

IT/Network 2018.01.07

[Network] Application Layer (애플리케이션 계층) - 2.2 웹 애플리케이션 정리

2.2 The Web and HTTP웹이 사용자들에게 주는 가장 큰 호감은 On-demand 방식으로 동작하는 점이다.2.2.1 Overview of HTTPHyperText Transfer Protocol (HTTP) 는 웹 애플리케이션 계층 프로토콜이며, 웹의 중심이다. ([RFC 1945], [RFC 2616] 참조) HTTP는 'Client Program'과 'Server Program' 두 가지로 구현된다. 서로 다른 End System에서 수행되는 두 프로그램은 HTTP Messages 를 교환하여 통신한다. HTTP는 메시지의 구조, 클라이언트와 서버가 메시지를 교환하는 방법을 정의한다.• Web page (aka document) 는 object(객체)들로 구성된다.○ Object는 하나의..

IT/Network 2018.01.06

[Network] Application Layer (애플리케이션 계층) - 2.1 네트워크 애플리케이션의 원리 정리

2.1.2 Processes CommunicatingClient and Server Processes두 프로세스 간의 통신 세션에서, 통신을 초기화(다른 프로세스와 세션을 시작하려고 접속을 초기화)하는 프로세스를 클라이언트라하고, 세션을 시작하기 위해 접속을 기다리는 프로세스를 서버라고 한다.The Interface between the Process and the Computer Network프로세스는 소켓(Socket)이라 불리는 인터페이스를 통해 네트워크로 메시지를 보내고 받는다. 프로세스를 집(house)으로 비유한다면, 소켓은 문(door)로 비유할 수 있다.소켓은 Host의 Application Layer와 Transport Layer의 인터페이스이다. 소켓은 Network Applicatio..

IT/Network 2018.01.05