본문 바로가기

Computer Network

(18)
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 ) = 악성코드” 라고 ..
Ch1-4) Performance : loss, delay, throughput 이제 1-3)에서 살펴보았던 Packet loss에 관련해서 이야기를 해볼 것이다. 위 그림처럼, Packet switching에서 발생할 수 있는 delay는 총 4가지이다.출발지와 목적지 사이 종단 간 경로의 일부로서, 한 패킷이 업스트림 노드로부터 라우터 A를 통해 라우터 B로 보내진다.업스트림(upstream) : 클라이언트에서 서버로 전송되는 데이터의 흐름다운스트림(downstream) : 서버에서 클라이언트로 전송되는 데이터의 흐름, 일반적으로 다운스트림 트래픽은 업스트림 트래픽보다 더 많은 볼륨이 있다.라우터 A는 라우터 B에 이르는 하나의 출력(outgoing) 링크를 가지며, 이 링크 앞에 큐(queue, 버퍼(buffer))가 존재한다.패킷이 업스트림 노드로부터 라우터 A에 도착한다.라..
Ch1-3) Network core: Packet/circuit switching, Internet structure Network core이란? Mesh of interconnected routers !이 때 Host는 application layer의 msg를 packet이라는 단위로 나눈다각 패킷은 **출발지(host)**에서 목적지까지 가는 동안 여러 라우터를 거쳐 이동한다. 각 라우터는 패킷이 목적지로 가는 경로를 찾고, 그 경로에 맞는 다음 라우터로 패킷을 포워딩(forwarding) 한다.데이터가 포워딩 할때에는, 항상 full link capacity로 포워딩한다.그럼, packet이 어떻게 이동하는지 자세히 알아보자먼저, Packet의 이동과정에 대해서 알기 위해서는 다음과 같은 개념을 알아야 한다.Store-and-forwardPacket은, store-and-forward라는 방식을 통해서 이동하게 ..