본문 바로가기

전체 글

(82)
CH2 : Application Layer (5) * 이 글에 관련된 모든 내용은 Computer Networking A Top-Down Approach 7th에서 가져온 내용이다. * P2P Properties - central databse가 없다. - 계층적 구조가 아니다. (모든 노드가 클라이언트/서버가 될 수 있다.) - 확장성이 있다. - 모든 피어에 접근할 수 있다. - Unreliable하다. 1. Napster 냅스터는 기본적으로 hybrid p2p 방식이다. 이 방식에서 서버는 diretory의 역할만 한다고 했었다. - 피어가 연결되면 central server에 IP address와 content를 알린다. - Almost distributed system이다. 파일의 위치는 centralized 되어있지만, 직접적인 통신은 pee..
CH2 : Application Layer (4) * 이 글에 관련된 모든 내용은 Computer Networking A Top-Down Approach 7th에서 가져온 내용이다. * 이번 글에서는 email에 대해 알아볼 예정이다. Electronic Mail 이메일에는 세개의 중요한 요소들이 있다. - user agents - mail servers - STMP(Simple Mail Transfer Protocol) 1. User Agent - mail reader라고도 한다. - 메일을 쓰고, 읽고 결합하는 역할을 한다. - e.g. Outlook, Messenger 2. Mail Servers - outgoing message queue와 user mailbox로 이루어져있다. - mailbox는 유저로부터 들어온 메시지를 저장한다. - mes..
CH2 : Application Layer (3) * 이 글에 관련된 모든 내용은 Computer Networking A Top-Down Approach 7th에서 가져온 내용이다. * HTTP는 stateless한 protocol이다. - 서버는 응답을 보내고 나면 클라이언트에 대한 정보를 잊어버린다. HTTP의 이러한 성질은 user의 identity를 이용하는 여러 과정에서 불편함을 겪는다. 이러한 HTTP의 stateless한 성격을 해결하기위해 cookie라는 아이디어를 사용한다. 이미 익숙한 사람들도 많이 있을 것이다. Cookie cookie의 기본아이디어는 다음과같다. - 서버가 한 유저를 indentify하면 응답할 때 헤더(identifier for user)를 붙여 보낸다. - 클라이언트는 해당 헤더를 디스크에 저장하고, 같은 서버에..
CH2 : Application Layer (2) * 이 글에 관련된 모든 내용은 Computer Networking A Top-Down Approach 7th에서 가져온 내용이다. * Web and HTTP 웹페이지는 objects(HTML file, JPEG image, Java applet, audio file etc)로 이루어져있다. 또한 웹페이즈는 여러 refrenced objects를 포함하는 base HTML-file로 이루어져 있는데, 이 오브젝트들은 각각 Uniform Resource Locator에 의해 addressed 되어있다. 이를 줄이면 URL, 우리가 아는 그 URL이다. - Hypertet/Hypermeida system : 정보들은 objects의 셋으로 organization되어있다. HTTP(Hyper Text Tran..
CH2 : Application Layer (1) * 이 글에 관련된 모든 내용은 Computer Networking A Top-Down Approach 7th에서 가져온 내용이다. * 어플리케이션 레이어는 우리에게 가장 친숙한 레이어이다. 우리가 사용하는 어떤 service application은 모두 이 레이어에 적용되기 때문이다. program을 개발할때는 네트워크 코어에 대해서(이 end system에 존재하는 app이 다른 end system과 어떻게 통신할지)는 고려하지 않는다. 때문에 app개발은 더욱 더 빠르게 성장할 수 있었다. 이 글에서는 Application Layer챕터에서 배울 내용을 간략하게 설명하고 각 내용에 대한 자세한 설명은 뒤 내용에서 한다. Application archtectures 어플리케이션의 구조에는 세가지의 형..
CH1 : Computer Networks and the Internet (4) * 이 글에 관련된 모든 내용은 Computer Networking A Top-Down Approach 7th에서 가져온 내용이다. * 네트워크는 너무너무 복잡하다. 복잡한 시스템을 간단하게 바꾸기 위해선 다음과 같은 과정이 필요하다. 1. 복잡한 시스템을 작고 관리가능한 엔티티로 쪼갠다. 2. 어떤 레이어간의 인터페이스가 잘 정의되어있으면 각 레이어의 세부요소는 독립적으로 디자인, 실행될 수 있다. 3. 각 레이어의 실행측면에서의 세부요소는 다른 레이어와 관계없이 독립적으로 바꾸고 관리가 가능하다. 4. 작고 잘 정의된 엔티티(레이어)는 표준화하기가 쉽다. 때문에 네트워크를 초기 구상한 개발자들은 복잡한 네트워크를 몇단계의 레이어로 나누어 관리하기로 하기로 했다. 각 프로토콜 오브젝트들은 두개의 다른 ..
CH1 : Computer Networks and the Internet (3) * 이 글에 관련된 모든 내용은 Computer Networking A Top-Down Approach 7th에서 가져온 내용이다. * Network Performance Network의 performance는 다음 세가지를 평가한다. 1. Throughput : 우리가 네트워크 상에 실제로 얼만큼의 데이터를 보낼 수 있는지 (일반적으로 bit/second 단위로 표현) 2. Delay (latency) : 보낸 데이터가 얼만큼의 시간 후에 도착하는지 3. Loss : 얼만큼의 loss가 발생하는지 이번 챕터에서는 delay에 대한 내용을 다룰 것이다. Delay 딜레이는 보통 네가지로 나눌 수 있다. 1. queueing delay : 전송되기 까지 큐에서 기다리는 시간이다. 즉, router의 혼잡정..
CH1 : Computer Networks and the Internet (2) * 이 글에 관련된 모든 내용은 Computer Networking A Top-Down Approach 7th에서 가져온 내용이다. * 네트워크 코어 네트워크 코어는 end system간의 통신을 담당한다. 이때 네트워크의 메시지 전달방식에는 크게 두가지가 있다. (Messeage-switching은 생략) 1. Circuit Switching(회선 교환 방식) 2. Packet Switching(패킷 교환 방식) 여기서 Packet Switiching은 다시 Datagram방식과 Virtual-Circuit방식으로 나뉜다. Circuit Switching (회선 교환 방식) 이 방식은 end system간의 통신에서 어떤 링크를 사용중이라면 이 링크는 다른 end system에서 사용할 수 없게하는 방..