본문 바로가기

전체 글

(28)
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에 대한..
CH1-6) Protocol layers, Service model 많은 컴퓨터 관련된 개념들의 구조가 그렇듯 컴퓨터 네트워크도 hierarchical 구조를 띄고 있다.복잡하고, 많은 pieces를 갖고 있는 Network에서, 이러한 계층구조는 유지보수를 용이하게 한다.복잡한 시스템을 다룰 때에는 시스템의 각 구성 요소들을 명확히 구조화 하는 것이 중요하다.계층 구조로 나누어 더욱 복잡한 시스템을 잘 이해할 수 있다.Modularization을 통해 유지보수와 업데이트를 잘 수행할 수 있고,특정 계층의 서비스 구현이 막혀도 다른 계층에서는 투명하게 동작하게 된다.→ 이러한 계층 구조를 설계하기 위해, 네트워크 설게자는 프로토콜 ( 프로토콜을 구현하는 하드웨어와 소프트웨어)을 계층 (layer)으로 구성한다.즉 각각의 프로토콜은 한 계층에 속하며, 프로토콜 계층은 소프..
Ch1-5)Network Security 우선, 네트워크 보안 문제에 대해서 알아보기 전, 왜 Network security 문제가 발생하는지 알아보겠다.Field of Network security는나쁜 사람들이 어떻게 네트워크를 공격하는지에 대한 이해가 필요하다또한, 공격에 대해서 어떻게 막을 것인지도 중요하며이러한 공격을 막기 위해 초기에 어떻게 아키텍쳐를 설계할 것인지가 중요하다.초기 인터넷은, “Security”문제를 고려하지 않고 만들어졌다.서로가 서로에 대한 신뢰관계를 바탕으로 생겨난 서비스이기 때문이다.그래서, 현재 보안 관련 디자이너들은, 초기의 설계를 현재 공격에 맞추어 방어하기 위해 여러가지 Layter에서 “catch up”을 진행하고 있다.네트워크 분야에서의 나쁜 친구들을 “멀웨어( Malware ) = 악성코드” 라고 ..