IT/Network 16

[Wiki] PPPOE는 무엇일까?

[Wiki] PPPoE란?연구실에서 PPPoE를 쓸 기회가 있어서, 공부 겸 조사해보게 되었다. 이 글은 아래 출처를 번역한 글이다. PPPoE는 Point-to-Point Protocol over Ethernet을 나타내는 말로, Point-to-Point Protocol (PPP) 프레임을 이더넷 프레임 내에 encapsulating하기 위한 네트워크 프로토콜이다. PPPoE는 주로 개별 사용자들이 이더넷을 통해 DSL 모뎀에 접속하는 DSL 서비스에서 많이 사용되었다. 이더넷 네트워크는 패킷 기반이며, 연결이나 circuit을 구성하기 위한 여력이 없다. 또, 이더넷 네트워크는 IP와 MAC 충돌 그리고 DHCP 서버 속이기 등을 막아내는 기초적인 보안 기능도 결여되어 있다. PPPoE를 이용하면,..

IT/Network 2018.03.08

[Network] Transport Layer (트랜스포트 계층) - 3.3 비연결형 트랜스포트: UDP

3.3 Connectionless Transport: UDP만약 우리가 트랜스포트 계층 프로토콜의 설계에 관심이 있다고 하자. 그렇다면, 이 프로토콜은 적어도 네트워크 계층과 해당하는 애플리케이션 레벨 프로세스 간의 데이터를 넘겨주기 위해서 multiplexing과 demultiplexing 서비스를 제공해야 한다. [RFC 768]에 정의된 UDP는 트랜스포트 계층 프로토콜이 할 수 있는 최소 기능으로 통신한다. UDP는 multiplexing과 demultiplexing 기능과 간단한 오류 검사 기능을 제외하면 IP에 아무것도 추가하지 않는다. 다시 말해, 애플리케이션이 UDP로 통신한다면, 이는 IP와 직접 통신하는 것과 다름없다. UDP는 세그먼트를 송신하기 전에 송신 트랜스포트 계층의 개체들과 ..

IT/Network 2018.01.16

[Network] Load Balancing and Clustering (로드밸런싱과 클러스터링)

Load Balancing and Clustering (로드밸런싱과 클러스터링)1. 로드밸런싱이란?서버의 로드를 클러스터링한 서버별로 균등하게 나누어주는 서버를 말한다. 예를 들어, 하나의 서버에 사용자가 많이 몰릴 경우, 해당 서버가 다운될 수 있다. 또 서버에 이상이 생기는 경우에도 서버가 다운될 수 있다. 로드밸런싱을 이용하면 한 서버가 다운되더라도 이중화시킨 다른 서버에서 서비스를 지속하여, 사용자들이 문제를 인지하지 못하게 할 수 있다. 로드밸런싱의 성능과 안정성이 보장되어야 하는 경우 특별한 하드웨어 장비가 이용되는데, 이것이 로드밸런서 이다. (물론 로드밸런서는 소프트웨어로도 구현이 가능하다.) 로드밸런싱을 위한 서비스 요청 처리 알고리즘은 다양하다. 랜덤, 라운드 로빈, CPU나 메모리 사..

IT/Network 2018.01.15

[Network] Transport Layer (트랜스포트 계층) - 3.2 다중화와 역다중화

3.2 Multiplexing and Demultiplexing 네트워크 계층이 제공하는 host-to-host delivery service에서 host에서 동작하는 애플리케이션에 대한 process-to-process delivery service로 확장하는 것을 transport 계층의 다중화 (multiplexing)와 역다중화 (demultiplexing)라고 한다. 목적지 호스트에서의 트랜스포트 계층은 바로 아래의 네트워크 계층으로부터 세그먼트를 수신한다. 트랜스포트 계층은 호스트에서 동작하는 해당 애플리케이션 프로세스에게 이 세그먼트의 데이터를 전달하는 의무를 가진다. 네트워크 애플리케이션의 한 부분으로서 프로세스는 socket 을 가진다. 이를 이용해서 네트워크에서 프로세스로 데이터를 전달..

IT/Network 2018.01.15

[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.4 DNS 정리 2.4.1 Services Provided by DNS

2.4 DNS - The Internet's Directory Service2.4.1 Services Provided by DNShost를 알아내는 데는 두 가지 방법이 있다.hostnameIP address사람들은 기억하기 쉬운 hostname 식별자를 더 선호한다. 반면, 라우터는 IP address의 고정된 길이와 계층적인 구조를 선호한다.이런 요구를 만족시키기 위해서 우리는 hostname을 IP address로 변환해주는 directory service가 필요하다. Domain Name System (DNS)의 주요 작업이 바로 이것이다.DNS는DNS Server의 계층 구조에 구현된 "분산 데이터베이스" 이다.이 "분산 데이터베이스"에 host가 query를 보낼 수 있게 해주는 "Applic..

IT/Network 2018.01.09

[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