본문 바로가기

Computer Network/Ch2) Application layer

(7)
Ch2-6) Video streaming and content distribution networks 현재, 비디오 스트리밍 traffic은 ISP traffic의 80%를 차지할 정도로, major consumer of Internet이다.→ 그렇다면, 우리는 어떻게 10억이 넘는 유저를 관리할 수 있을까? 단순히 하나의 Mega-server 형태는 아닐 것이다.→ 또한, 각 유저마다 Network에 대해 각각 다른 capability를 보유하고 있을 것인데, 이 간극을 어떻게 해결했을까?바로 distributed, application-level infrastructure을 이용하는 것이다 !우선, Video의 Streaming 원리에 대해서 살펴보자.Multimedia : Video비디오는, 초당 24~30개의 image가 연속적으로 나타나는 이미지의 연속이다.압축되지 않은 디지털 이미지는, 픽셀 ..
Ch2-5) P2P application P2P architecture은, 항상 켜져있는 infrastructure 서버에 최소한으로 의존하고, 간헐적으로 연결되는 호스트 쌍(peer)이 서로 직접 통신하는 방식이다.   또한 네트워크에 연결되어있는 end system끼리 직접 연결되어 데이터를 주고받는다이때 P2P는 self scalability의 특성을 보유하는데, 이는 새로운 피어가 네트워크에 참여하면 새로 참여한 피어는 단순히 resource를 공유받는 역할만 하는 것이 아니라, 다른 피어들에게 데이터를 제공하는 역할도 동시에 수행한다이러한 특징 덕분에, 네트워크의 resource가 증가하면서도, 동시에 service demand와 provide capacity 또한 증가하는 self scalability의 특성을 갖게 된다.뿐만 아니라..
Ch2-4) Domane Name System : DNS 2.4 Domane Name System : DNS보통, 인터넷 호스트에서 호스트를 식별할 때 www.facebook.com과 같은 호스트이름(hostname)을 주로 사용한다.그러나, 이러한 hostname은 호스트의 위치정보를 거의 제공하지 않으므로, 라우터가 데이터를 전송하는데 어려움을 가지고 있다.또한, 가변 길이의 알파뉴메릭으로 구성되므로, 라우터가 인식하기 어렵다.→ 이러한 이유로 호스트들은 IP address라는 개념으로 식별된다.IP 주소란32bit으로 이루어진, hierarchical 위치정보이다. (4장에서 자세히 설명)Services that DNS Provide그렇다면, DNS란 무엇일까?앞서, 호스트들을 식별하기 위해 호스트이름 대신 IP address를 이용한다고 했다.이 차이를..
Ch2-3) Email, SMTP, IMAP E-mail system에는 3개의 주요한 Component가 존재한다.   User agentsa.k.a “mail reader”User agents는 사용자가 메시지를 읽고, 응답하고, 전달하고, 저장하고, 구성하게 해준다.대표적으로 애플 메일, 마이크로소프트 Outlook이 있다.Mail serversE-mail infrastructure의 중심이다.각 수신자는 메일 서버에 Mailbox를 보유하고 있는다.이 mailbox는 수신자의 메시지를 유지 및 관리한다.일반 메시지는 송신자의 user agent에서 전달이 시작되고, 송신자의 메일 서버를 거친 후에 수신자의 메일 서버로 전송된다.emailbox에 있는 메시지를 보려면 이용자임을 인증해야 한다.송신자는 메일 서버의 고장에도 대비를 해야한다. 만..
Ch2-2-2) Cookie and web cache 내가 만든 COOKIE~~ : client와 server 간의 상호작용앞서 2-2-1ㅇ, HTTP server은 stateless라고 말했다.이 말은, multi-step으로 구성된 Web transaction을 수행한다고 해도, 각 메시지는 독립적으로 처리된다는 것이다.이러한 방식은, multi-step transaction에서 실패하거나 중단되는 경우에도 복구할 필요가 없다는 장점이 있다.밑의 사진은, stateful protocol의 동작 방식이다. 그런데, 만약 이러한 과정 중간에 client crash가 발생해 통신이 끊긴다면, 처음부터 다시 시작해야 하기에 복잡한 상황이 연출된다. 아무리 HTTP를 사용하더라도,서버가 사용자 접속을 제한하거나 사용자에 따라 콘텐츠를 제공하기 원하므로사용자를 확..
Ch2-2-1) Web and HTTP 2.2 WEB and HTTPWEB Page들은 Object들로 구성된다.여기서 Object란, 단일 URL로 지정할 수 있는 하나의 파일 (HTML, JPEG img, JS 등)대부분의 WEB Page는, Base HTML-file과 URL로 지정할 수 있는 referenced objects로 구성된다.ex)호스트의 이름 : www.school.edu경로 이름 : picture.gifHTTP (HyperText Transfer Protocol)이란, Web의 application layer protocol이다.Web Browser and Client  Web 환경에서, 우리는 Web browser와 Web client라는 용어를 동치로 생각하여 사용하게 된다. 이는 Web browser가 HTTP의 클..
Ch2-1) Principles of internet network 우선, Network Application을 만들 때 고려해야할 사항들을 생각해보자.우리는, “end system”에서 동작할 수 있는 프로그램을 만들어야한다.또한, 이러한 프로그램들은 서로 통신을 할 수 있어야 한다.ex) 웹 서버 소프트웨어는, 웹 브라우저 소프트웨어와 통신한다. (클라이언트-서버)또한, 소프트웨어 app은 네트워크 코어에 대해서는 고려하지 않아도 된다.네트워크 Application을 만들 때엔, 라우터 및 스위치 등 Network Core에 대한 소프트웨어를 작성할 필요가 없다.Network Core 장치들은 단지 데이터를 전달하는 역할만 수행하기 때문이고, Application은 주로 end-system에서 작동하기 때문이다.→ end-system에서 Network core에 대한..