Search

P2P

class
운영체제 심화
상태
완료
날짜

P2P

P2P는 네트워크의 모든 컴퓨터가 동등한 역할을 수행하고 서버나 중앙 관리 시스템 없이 직접 서로 통신할 수 있는 분산 네트워크 아키텍처를 말합니다.
각 노드는 클라이언트와 서버의 기능을 동시에 수행할 수 있어, 데이터와 자원을 공유하거나 네트워크 서비스를 제공할 수 있습니다.

주요 특징

1.
분산 구조 : 모든 노드가 중앙 서버의 개입 없이 데이터를 저장하고 처리합니다.
2.
자원 공유: 각 노드는 자신의 컴퓨팅 리소스를 네트워크에 제공하여 다른 노드의 요청에 응답할 수 있습니다.

동작 방식

직접 연결 : P2P 네트워크의 노드들은 서로 직접 연결을 맺고 데이터를 교환합니다. 이는 네트워크 트래픽을 분산시키는 데 도움이 됩니다.
탐색 및 자원 발견 : 대부분의 P2P 시스템은 네트워크 내에서 자원을 검색하고 위치를 파악하는 메커니즘을 가지고 있습니다. 이는 디렉토리 서비스나 분산 해시 테이블(DHT) 같은 기술을 통해 구현될 수 있습니다.

장점 및 단점

장점

탄력성 : 중앙 서버가 없기 때문에 하나의 노드에 문제가 생겨도 네트워크 전체에 큰 영향을 주지 않습니다.
확장성 : 네트워크에 노드가 추가될수록 처리 능력과 저장 공간이 증가하므로, 네트워크는 자연스럽게 확장됩니다.

단점

보안 문제 : 각 노드가 동등한 권한을 가지고 있기 때문에 악의적인 노드가 네트워크 내부에서 피해를 입힐 가능성이 있습니다.
데이터 일관성 : 데이터의 복제본이 여러 노드에 걸쳐 분산되어 있기 때문에, 이 데이터들의 동기화와 일관성 유지가 어려울 수 있습니다.

유니티에서 사용 예시

유니티에서 샌드박스 게임을 개발할 때 P2P를 통해 개발할 수 있습니다.
룸 형식으로 하나의 룸에 있는 여러 사용자들을 P2P로 연결하는 방식입니다.
단, 이를 연결하거나 사용자의 정보와 같은 P2P로 저장되면 안 되는 중요한 정보들은 여전히 중앙집중식 서버가 필요합니다.