본문 바로가기

전체 글

(84)
CH3 : Transport Layer (1) * 이 글에 관련된 모든 내용은 Computer Networking A Top-Down Approach 7th에서 가져온 내용이다. * 저번 챕터2에서는 Application Layer에 대해 공부했었다. 이번 챕터부터는 그 하위레이어 Transport Layer에 대해서 공부하겠당 Transport Services 트랜스포트 레이어는 app간의 논리적인 소통을 담당한다. 이 레이어는 end system에서 작동한다. sender side : app의 메시지를 segment단위로 잘라 하위레이어인 network layer로 보낸다. receiver side : segment단위의 데이터를 message로 합쳐 상위레이어인 application layer로 보낸다. 나중에 다시 배우겠지만 네트워크 레이어는..
CH2 : Application Layer (6) * 이 글에 관련된 모든 내용은 Computer Networking A Top-Down Approach 7th에서 가져온 내용이다. * Internet Video 최근 Netflix, YouTube등 비디오에 대한 수요가 높아지면서 이에 따른 네트워크상의 처리문제도 중요해졌다. 영상의 크기가 매우 클 경우에 하나의 서버에서는 다루기 힘들 수도 있다. 또한 각각의 유저가 가지고있는 네트워크상의 Capability가 다르기 때문에 이에 대한 처리도 고민해야한다. 때문에 distributed하고 application-level의 infrastructure가 생겨났다. Video Encoding 비디오 인코딩에는 두가지 방식이 있다. - CBR(Constant Bit Rate) : 인코딩의 rate가 고정되어있..
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. 작고 잘 정의된 엔티티(레이어)는 표준화하기가 쉽다. 때문에 네트워크를 초기 구상한 개발자들은 복잡한 네트워크를 몇단계의 레이어로 나누어 관리하기로 하기로 했다. 각 프로토콜 오브젝트들은 두개의 다른 ..