
-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
-
27
-
28
-
29
-
30
-
31
-
32
-
33
-
34
-
35
-
36
-
37
-
38
-
39
-
40
-
41
-
42
-
43
-
44
-
45
-
46


목차
1. 프로젝트 개요 1
1.1. 개발 목표 1
1.2. 프로젝트 설계 환경 1
1.3. Peer-to-Peer1
2. 기반 기술 분석 3
2.1. Peer-to-Peer Application Program 3
2.2. Reseach the Peer-to-Peer Model 3
3. 벤치마킹 모델 분석 7
3.1. P2P Network Topology & Analizing the Implement Technology 7
4. P2P 애플리케이션 구성 12
4.1. P2P 애플리케이션에 대한 간단한 설명 12
4.2. 각각의 구성요소들의 역할 12
4.3. 세 구성요소들간의 관계 13
5. P2P 애플리케이션의 설계 15
5.1. P2P 애플리케이션의 구조 15
5.2. 모듈들 사이의 통신 16
5.3. 서버측 설계 19
5.4. 리스너 설계 20
5.5. 브라우저 설계 25
5.6. 애플리케이션의 전체적인 흐름 29
6. 플로우차트를 사용한 ASP파일들에 대한 설명 32
6.1. login.asp
1.1. 개발 목표 1
1.2. 프로젝트 설계 환경 1
1.3. Peer-to-Peer1
2. 기반 기술 분석 3
2.1. Peer-to-Peer Application Program 3
2.2. Reseach the Peer-to-Peer Model 3
3. 벤치마킹 모델 분석 7
3.1. P2P Network Topology & Analizing the Implement Technology 7
4. P2P 애플리케이션 구성 12
4.1. P2P 애플리케이션에 대한 간단한 설명 12
4.2. 각각의 구성요소들의 역할 12
4.3. 세 구성요소들간의 관계 13
5. P2P 애플리케이션의 설계 15
5.1. P2P 애플리케이션의 구조 15
5.2. 모듈들 사이의 통신 16
5.3. 서버측 설계 19
5.4. 리스너 설계 20
5.5. 브라우저 설계 25
5.6. 애플리케이션의 전체적인 흐름 29
6. 플로우차트를 사용한 ASP파일들에 대한 설명 32
6.1. login.asp
본문내용
고 그것을 특정 관리자가 모두 제어할 수 있다.
Ⅲ. 계층적 모델
계층적 모델은 다양하게 사용되며, 대표적인 계층적 모델에는 DNS가 있다. 각각의 도메인 서버는 상위 도메인 서버를 갖고 있어 결국은 루트 도메인 서버가 존재하게 된다.
그림 7) 계층적 모델
각각의 도메인 서버는 해당 서버의 직접적인 상위 서버와 데이터 및 정보를 교환한다.
Ⅳ. 분산 모델
분산된 모델은 각각의 모든 Peer(Node, 서버 혹은 호스트)가 통합된 역할을 갖고 서로 대칭적으로 통신하는 방식이다.
그누텔라의 네트워크 모델이 이에 해당된다.
하지만, 분산된 모델에서도 기본적으로 새로운 호스트를 찾기 위한 모델로 중앙 집중식 방법을 쓰기도 한다. 중앙 집중식 모델을 제외한 다른 방법을 사용할 수도 있지만(처음 시작할 때 하나의 노드는 반드시 알아야 한다.) 대부분의 분산 모델에서 중앙 집중식 방법을 채택하는 추세이다.
그림 8) 분산 모델
또한 분산된 모델에 대표적인 것은 라우팅모델이 있다. 웹환경에서 가장 중요한 네트워크 장비인 라우터는 본 모델과 같은 완전 분산된 모델을 이용한다. 라우터에서 사용하는 프로토콜인 BGP(Border Gateway Protocol)는 분산 프로토콜에서는 대표적이라고 할 수 있다.
Ⅴ. 하이브리드 모델
하이브리드 모델은 위에서 설명한 네가지 방식의 조합이다. 즉, 중앙 집중식-중앙 집중식, 중앙 집중식-분산 방식, 중앙 집중식-링 방식 등 다양한 방식이 존재한다. 위의 네가지 방식의 장단점을 이용해 더욱 향상된 기능을 제공한다. 각각의 방식이 가지는 장단점은 다양한 기준으로 판단될 수 있다. 무엇보다 서비스 방향에 따라 가장 적당한 네트워크 토폴로지를 선택하는 것이 중요하다.
3.1.3. Peer-To-Peer Architecture
P2P 기술은 IP프로토콜이 전송 프로토콜로 받아 들여진 이후 약 20년 이상 학계, 연구기관에서 연구되고 실제로 활용되었던 기술이다. 물론 제어하기 쉬운 환경 하에서 제한적으로 이루어졌다. 하지만 최근의 인프라는 모든 PC에서부터 모바일 환경까지를 P2P로 아우를 정도로 확장되고 발전되었다. 이제 이 새로운 환경에 부합하고 복잡한 환경에 부응하는 다양한 유구 사항이 점점 더 필요해지고 있으며, 기존의 연구보다도 좀더 복잡하게 구성되고 있다. P2P 기술을 이야기 하기 전에 P2P와 관련된 시스템 모델을 살펴 보자.
그림 9) P2P 스택
Ⅰ. 하드웨어 플랫폼 계층
현재 하드웨어 플랫폼은 다양하게 존재한다. 특히 이 계층은 개인용 컴퓨터에서부터 서버급 피어 그리고 메인프레임까지 존재한다. 또 정보 가전기기 범주에 포함되는 특화된 하드웨어 플랫폼을 포함하기도 한다. 또 네트워크 계층에는 유선/무선, Ipv4/6, 그리고 IP기반통신, CDMA의 서킷 통신 기반 IP 캡슐 통신 등이 다양하게 존재한다.
Ⅱ. 로컬 운영체제 계층
로컬 운영체제는 크게 몇가지로 나눌 수 있다. 마이크로소프트 윈도우로 대변되는 개인 컴퓨팅 운영체제로부터 리눅스 혹은 전통적인 유닉스 기반 운영체제, 그리고 모바일 기기의 운영체제 등으로 구분된다.
Ⅲ. P2P 미들웨어 계층
P2P 컴퓨팅의 핵심에 해당하는 계층이다. 미들웨어는 운영체제와 통신프로토콜, 응용 프로그램 인터페이스 사이에 위치하는 계층이다. 이 계층은 P2P 컴퓨팅 및 서비스를 하기 위한 기반 계층으로 이기종 운영체제나 네트워크에 관계없이 공통의 기능을 제공하기 위해서 만들어 진다.
Ⅳ. P2P 애플리케이션 인터페이스 계층
P2P 응용 인터페이스 계층은 피어에서 다른 피어로 통신하기 위한 응용 프로그램의 기능 호출 역할을 담당한다.
Ⅴ. P2P 애플리케이션 계층
응용 계층은 P2P에서 서비스 및 기능에 따라서 가장 큰 변화가 있는 부분이다. 하지만 기본적으로 P2P 응용 인터페이스 레이어의 기능을 호출하여 피어간 통신이 가능하게 하는 부분이다. 소프트웨어의 기능에 따른 UI가 이부분에 해당한다.
4. P2P 애플리케이션 구성
4.1. P2P 애플리케이션에 대한 간략한 설명
제작할 P2P애플리케이션은 조회와 룩업 서버를 가진 P2P 모델에 기반하고 있다. 이 애플리케이션에서 파일공유는, 두 개의 연결된 피어들 사이에서 파일 확장자에 무관하게 일어난다. 애플리케이션은 다음 세가지 요소들로 구성된다.
리스너(Listener) : 피어의 접속요청이 들어오는 것을 처리한다.
서버(Server) : 애플리케이션에서 필요로 하는 데이터베이스를 관리한다.
브자우져(Browser) : 사용자에게 친숙한 인터페이스를 통해 피어에게 결과를 보여주며, 클라이언트를 위한 상호작용 계층으로 작용한다.
4.2. 각각의 구석요소들의 역할
앞서 언급한 각각의 요소들은 애플리케이션을 매끄럽게 실행시킬 수 있도록 특정한 역할을 수행한다.
리스너
리스너가 수행하는 첫 번째 임무는 서버에 로그인하는 것이다. 이는 서버에게 리스너 자신의 존재유무를 알리고, 자신의 공유된 자원들을 목록으로 만드는 것이다. 로그인 후, 리스너는 서버로부터 넘겨받은 클라이언트들의 요청을 다룰수 있다. 리스너는 클라이언트가 파일로 접근하면 언제나 그 파일을 다운로드해 준다. 다운로드 과정과 함께, 리스너는 다수의 클라이언트의 요청도 쉽게 처리할 수 있다. 리스너는 다수의 클라이언트를 다룰때 본질적으로 서버처럼 작동하여, 확장된 방법으로 검색옵션을 사용할 수 있도록 해준다. 서버는 오직 루트 수준의 검색(공유된 자원들을 기본적인 수준에서 검색하는 것)만을 수행한다. 루트 수준을 넘어선 검색을 하기 위해서는, 리스너의 도움을 받아야 한다.
만약 리스너가 어떤 폴더를 공유된 자원으로 직접 선언한다면, 사용자는 쉽게 그 폴더를 열어서 모든 파일의 목록을 볼 수 있다. 이러한 검색은 서버 수준에서 행하는 루트 검색보다 훨씬 빠르다. 리스너 수준에서의 검색은 컨텐트의 위치에 관하여 미리 정보를 가지고 단일 컴퓨터상에서 일어난다. 리스너의 한가지 중요한 특징은 리스너가 비사용자 모드에서 실행 가능하다는 것이다. 비사용자모드란 말 그대로, 사용자가 없는 것을 말한다.
서버
서버는 모든 등록된 리스너들을 자원들에 고나한 상세한 정보와 함께 목록으로 보유하고 이
Ⅲ. 계층적 모델
계층적 모델은 다양하게 사용되며, 대표적인 계층적 모델에는 DNS가 있다. 각각의 도메인 서버는 상위 도메인 서버를 갖고 있어 결국은 루트 도메인 서버가 존재하게 된다.
그림 7) 계층적 모델
각각의 도메인 서버는 해당 서버의 직접적인 상위 서버와 데이터 및 정보를 교환한다.
Ⅳ. 분산 모델
분산된 모델은 각각의 모든 Peer(Node, 서버 혹은 호스트)가 통합된 역할을 갖고 서로 대칭적으로 통신하는 방식이다.
그누텔라의 네트워크 모델이 이에 해당된다.
하지만, 분산된 모델에서도 기본적으로 새로운 호스트를 찾기 위한 모델로 중앙 집중식 방법을 쓰기도 한다. 중앙 집중식 모델을 제외한 다른 방법을 사용할 수도 있지만(처음 시작할 때 하나의 노드는 반드시 알아야 한다.) 대부분의 분산 모델에서 중앙 집중식 방법을 채택하는 추세이다.
그림 8) 분산 모델
또한 분산된 모델에 대표적인 것은 라우팅모델이 있다. 웹환경에서 가장 중요한 네트워크 장비인 라우터는 본 모델과 같은 완전 분산된 모델을 이용한다. 라우터에서 사용하는 프로토콜인 BGP(Border Gateway Protocol)는 분산 프로토콜에서는 대표적이라고 할 수 있다.
Ⅴ. 하이브리드 모델
하이브리드 모델은 위에서 설명한 네가지 방식의 조합이다. 즉, 중앙 집중식-중앙 집중식, 중앙 집중식-분산 방식, 중앙 집중식-링 방식 등 다양한 방식이 존재한다. 위의 네가지 방식의 장단점을 이용해 더욱 향상된 기능을 제공한다. 각각의 방식이 가지는 장단점은 다양한 기준으로 판단될 수 있다. 무엇보다 서비스 방향에 따라 가장 적당한 네트워크 토폴로지를 선택하는 것이 중요하다.
3.1.3. Peer-To-Peer Architecture
P2P 기술은 IP프로토콜이 전송 프로토콜로 받아 들여진 이후 약 20년 이상 학계, 연구기관에서 연구되고 실제로 활용되었던 기술이다. 물론 제어하기 쉬운 환경 하에서 제한적으로 이루어졌다. 하지만 최근의 인프라는 모든 PC에서부터 모바일 환경까지를 P2P로 아우를 정도로 확장되고 발전되었다. 이제 이 새로운 환경에 부합하고 복잡한 환경에 부응하는 다양한 유구 사항이 점점 더 필요해지고 있으며, 기존의 연구보다도 좀더 복잡하게 구성되고 있다. P2P 기술을 이야기 하기 전에 P2P와 관련된 시스템 모델을 살펴 보자.
그림 9) P2P 스택
Ⅰ. 하드웨어 플랫폼 계층
현재 하드웨어 플랫폼은 다양하게 존재한다. 특히 이 계층은 개인용 컴퓨터에서부터 서버급 피어 그리고 메인프레임까지 존재한다. 또 정보 가전기기 범주에 포함되는 특화된 하드웨어 플랫폼을 포함하기도 한다. 또 네트워크 계층에는 유선/무선, Ipv4/6, 그리고 IP기반통신, CDMA의 서킷 통신 기반 IP 캡슐 통신 등이 다양하게 존재한다.
Ⅱ. 로컬 운영체제 계층
로컬 운영체제는 크게 몇가지로 나눌 수 있다. 마이크로소프트 윈도우로 대변되는 개인 컴퓨팅 운영체제로부터 리눅스 혹은 전통적인 유닉스 기반 운영체제, 그리고 모바일 기기의 운영체제 등으로 구분된다.
Ⅲ. P2P 미들웨어 계층
P2P 컴퓨팅의 핵심에 해당하는 계층이다. 미들웨어는 운영체제와 통신프로토콜, 응용 프로그램 인터페이스 사이에 위치하는 계층이다. 이 계층은 P2P 컴퓨팅 및 서비스를 하기 위한 기반 계층으로 이기종 운영체제나 네트워크에 관계없이 공통의 기능을 제공하기 위해서 만들어 진다.
Ⅳ. P2P 애플리케이션 인터페이스 계층
P2P 응용 인터페이스 계층은 피어에서 다른 피어로 통신하기 위한 응용 프로그램의 기능 호출 역할을 담당한다.
Ⅴ. P2P 애플리케이션 계층
응용 계층은 P2P에서 서비스 및 기능에 따라서 가장 큰 변화가 있는 부분이다. 하지만 기본적으로 P2P 응용 인터페이스 레이어의 기능을 호출하여 피어간 통신이 가능하게 하는 부분이다. 소프트웨어의 기능에 따른 UI가 이부분에 해당한다.
4. P2P 애플리케이션 구성
4.1. P2P 애플리케이션에 대한 간략한 설명
제작할 P2P애플리케이션은 조회와 룩업 서버를 가진 P2P 모델에 기반하고 있다. 이 애플리케이션에서 파일공유는, 두 개의 연결된 피어들 사이에서 파일 확장자에 무관하게 일어난다. 애플리케이션은 다음 세가지 요소들로 구성된다.
리스너(Listener) : 피어의 접속요청이 들어오는 것을 처리한다.
서버(Server) : 애플리케이션에서 필요로 하는 데이터베이스를 관리한다.
브자우져(Browser) : 사용자에게 친숙한 인터페이스를 통해 피어에게 결과를 보여주며, 클라이언트를 위한 상호작용 계층으로 작용한다.
4.2. 각각의 구석요소들의 역할
앞서 언급한 각각의 요소들은 애플리케이션을 매끄럽게 실행시킬 수 있도록 특정한 역할을 수행한다.
리스너
리스너가 수행하는 첫 번째 임무는 서버에 로그인하는 것이다. 이는 서버에게 리스너 자신의 존재유무를 알리고, 자신의 공유된 자원들을 목록으로 만드는 것이다. 로그인 후, 리스너는 서버로부터 넘겨받은 클라이언트들의 요청을 다룰수 있다. 리스너는 클라이언트가 파일로 접근하면 언제나 그 파일을 다운로드해 준다. 다운로드 과정과 함께, 리스너는 다수의 클라이언트의 요청도 쉽게 처리할 수 있다. 리스너는 다수의 클라이언트를 다룰때 본질적으로 서버처럼 작동하여, 확장된 방법으로 검색옵션을 사용할 수 있도록 해준다. 서버는 오직 루트 수준의 검색(공유된 자원들을 기본적인 수준에서 검색하는 것)만을 수행한다. 루트 수준을 넘어선 검색을 하기 위해서는, 리스너의 도움을 받아야 한다.
만약 리스너가 어떤 폴더를 공유된 자원으로 직접 선언한다면, 사용자는 쉽게 그 폴더를 열어서 모든 파일의 목록을 볼 수 있다. 이러한 검색은 서버 수준에서 행하는 루트 검색보다 훨씬 빠르다. 리스너 수준에서의 검색은 컨텐트의 위치에 관하여 미리 정보를 가지고 단일 컴퓨터상에서 일어난다. 리스너의 한가지 중요한 특징은 리스너가 비사용자 모드에서 실행 가능하다는 것이다. 비사용자모드란 말 그대로, 사용자가 없는 것을 말한다.
서버
서버는 모든 등록된 리스너들을 자원들에 고나한 상세한 정보와 함께 목록으로 보유하고 이
추천자료
[소리바다][MP3][P2P][저작권][저작권침해][공유]소리바다, MP3, P2P의 정의, 소리바다, MP3,...
napster와 p2p의 동향 그리고 소리바다와 비교
[P2P][P2P 의미][P2P 분류][P2P 관련사업자][P2P 전자상거래][P2P 파장][P2P 문제점][P2P 관...
[P2P][인터넷기술변혁][WWW][P2P의 보안대책]P2P의 등장요인, P2P의 서비스종류, P2P의 서비...
[P2P][P2P 특징][P2P 구현방식][P2P 서비스업체][P2P 수익모델][P2P 문제점][P2P 사례]P2P의 ...
[P2P][전자상거래][뉴텔라][P2P 비즈니스모델][P2P 관련 판례][자료공유]P2P의 정의, P2P의 ...
[P2P][P2P와 자료공유서비스][P2P 비즈니스모델][P2P 쟁점][P2P 성공 전략]P2P의 개념, P2P의...
[소리바다][P2P][저작권][냅스터]소리바다(P2P)의 사건개요, 소리바다(P2P)의 영향, 소리바다...
소개글