P2P 모델
사가대학 〈네트워크시스템〉 과목 성적 평가 리포트 제출물
ネットワークの通信モデルである「クライアントサーバモデル」と 「P2Pモデル」について利点・欠点などともに A4 1~2 ページ程度でまとめなさい。
네트워크 통신 모델인 ‘클라이언트 서버 모델’과 ‘P2P 모델’에 대하여 장단점 등을 포함해 A4 용지 1~2매 정도로 정리하시오.
도입
P2P(Peer-to-Peer) 모델은 네트워크에 참여하는 모든 개별 컴퓨터(노드)가 중앙 서버의 통제 없이 서로 직접 자원과 서비스를 주고받는 분산형 네트워크 구조이다.
전통적인 클라이언트/서버 모델에서는 서버가 자원을 제공하고 클라이언트가 이를 소비하는 일방향적 구조를 가지지만, P2P 모델에서는 각 노드가 클라이언트인 동시에 서버의 역할을 동시에 수행하는 것이 가장 큰 특징이다.1
이러한 구조 덕분에 P2P 네트워크는 특정 중앙 지점에 의존하지 않고 참여자들의 공동 작업에 의해 유지되며, 모든 노드가 동등한 권한과 기능을 나누어 가짐으로써 전체적인 부하를 효율적으로 분산시킨다.
P2P 모델의 등장
P2P 모델의 역사는 1970년대 후반으로 거슬러 올라가는데, 1979년에 등장한 유즈넷(USENET)이 그 시초 격이라 할 수 있다. 유즈넷은 중앙 서버 없이 노드 간에 메시지를 복사하여 공유하는 방식을 취했다.2
이후 1980년대 개인용 컴퓨터의 보급과 1988년 채팅 서비스인 IRC를 거쳐, 1999년 음악 공유 서비스인 냅스터(Napster)의 등장으로 대중에게 널리 알려지게 되었다. 비록 냅스터는 저작권 문제로 폐쇄되었으나, 이후 그누텔라(Gnutella)3 와 같은 완전 분산형 네트워크로 진화하며 현대의 비트토렌트(BitTorrent)나 블록체인 기술의 근간이 되었다.4
P2P 모델의 구분
P2P 네트워크는 구조화 방식에 따라 크게 세 가지 유형으로 나뉜다.1 5
- 비구조화(Unstructured) P2P 네트워크는 노드들이 무작위로 연결되어 구축이 쉽고 노드의 참여와 이탈이 자유롭지만, 원하는 콘텐츠를 찾기 위해 네트워크 전체에 요청을 뿌려야 하므로 검색 효율이 낮을 수 있다.
- 구조화(Structured) P2P 네트워크는 해시 테이블(Hash Table)과 같은 특정 구조를 사용하여 콘텐츠의 위치를 정확히 기록함으로써 검색 효율을 극대화한다.
- 하이브리드(Hybrid) P2P 네트워크는 중앙 서버가 노드 찾기나 인덱싱을 도와주고 실제 데이터 전송은 노드 간에 직접 이루어지는 방식으로, 클라이언트/서버 모델의 효율성과 P2P의 성능 장점을 결합한 형태이다.
현대에 이르러 P2P 기술은 단순한 파일 공유를 넘어 매우 폭넓은 분야에 응용되고 있다.
주로 화상통화에 널리 활용되는 WebRTC 표준은 별도의 중앙 서버 없이 웹 브라우저 사이에 직접 데이터를 주고받을 수 있게 했다. 또 비트코인과 함께 등장한 블록체인 기술도 P2P 통신을 기반으로 분산 데이터 저장 환경에 관리 대상 데이터를 저장함으로써 누구도 임의로 수정할 수 없고 누구나 변경의 결과를 열람할 수 있게 하여, 중앙 서버 없이도 데이터 위변조를 방지할 수 있게 했다.
한편 한국의 통신 시장은 통신 사업자가 네트워크에 높은 부하를 주는 사업자에게 “망 사용료”를 별도로 부과하고 있어, 이들 네트워크 사용을 최적화하는 방법에 있어 연구개발이 활발하게 이루어지고 있다. (망 사용료 정책은 글로벌 스트리밍 사업자인 트위치가 한국 사업을 철수한 사건6으로 더욱 유명해졌다.) 이 시장에 적응하기 위해서 한국의 스트리밍 사업자인 숲(SOOP)과 치지직(CHZZK)은 P2P 구조의 그리드 시스템을 적극 도입하여 꾸준히 비용 절감을 꾀하고 있다.7
P2P 모델의 장단점
이 모델의 가장 큰 장점은 확장성과 안정성이다. 새로운 노드가 참여할수록 네트워크의 전체적인 저장 공간과 처리 능력, 대역폭이 함께 증가하므로 사용자가 늘어날수록 성능이 좋아지는 고유한 특성을 가진다. 또한 데이터가 여러 노드에 분산되어 저장되기 때문에 특정 서버가 공격을 받거나 고장 나더라도 전체 시스템이 마비되지 않으며, 콘텐츠가 영구적으로 보존될 가능성도 크다.
특히 대용량 파일을 내려받을 때 여러 피어로부터 조각난 데이터를 동시에 받기 때문에 전송 속도가 매우 빠르고, 고가의 중앙 서버를 유지할 비용을 절감할 수 있다는 경제적 이점도 있다.
반면 보안과 관리 측면에서는 긍정적이지만은 않다. 중앙 관리자가 없으므로 데이터 백업이 어렵고 데이터 손실에 취약할 수 있으며, 각 노드가 독립적이기 때문에 전체 네트워크의 보안 수준을 일정하게 유지하기가 어렵다. 데이터의 신뢰성을 극단적으로 지향한 블록체인 기술도 과반의 노드를 장악하면 네트워크 전체를 조작할 수 있는 51% 공격 문제에 직면하게 된다.
실제로 2014년에는 마이닝 풀인 GHash.io(지해시)가 일시적으로 비트코인 해싱 파워 51%를 초과하여 비트코인의 가격이 폭락하는 사례가 있었다. 8 이 사례에서는 지해시의 마이닝 풀에 참여하고 있던 개인들이 의도적으로 마이닝 풀에서 이탈하면서 문제가 해결되었으나, 2018년 비트코인 골드의 장부가 51% 이상의 해시 파워를 점유한 해커에 의해 조작되는 공격 사례가 다시 발생하여 문제가 되었다. 9
또한 초기 P2P 네트워크에서는 악성코드나 오염된 파일이 유통되는 사건이 있었으며, 다른 노드가 내 컴퓨터의 자원을 사용함에 따라 개인 PC의 성능이 저하될 우려도 있다. 더불어 저작권 위반 등 불법적인 용도로 악용될 소지가 다분하며, 자원을 공유하지 않고 이용하기만 하는 ‘프리로더(Freeloader)’가 네트워크의 건전성을 해치는 요인이 되기도 한다.
References
GeeksforGeeks, “What is P2P (Peer-to-Peer Process)?.” [Online]. Available: https://www.geeksforgeeks.org/computer-networks/what-is-p2p-peer-to-peer-process/ ↩ ↩2
Mozilla Developer Network, “Usenet.” [Online]. Available: https://developer.mozilla.org/en-US/docs/Glossary/Usenet ↩
GTK-GNUTELLA, “What is gnutella anyway?.” [Online]. Available: https://gtk-gnutella.sourceforge.io/?lang=en&page=faq#general0 ↩
Binance Academy, “Peer-to-Peer (P2P).” [Online]. Available: https://www.binance.com/en/academy/glossary/peer-to-peer ↩
Brave Software, “Peer-to-Peer Network Meaning & Definition.” [Online]. Available: https://brave.com/glossary/peer-to-peer/ ↩
Twitch, “An Update on Twitch in Korea,” [Online]. Available: https://blog.twitch.tv/en/2023/12/05/an-update-on-twitch-in-korea/ ↩
イ·ジョンユン(이정윤), “【テックレポート】ネットワーク使用料を削減したストリーミングプラットフォーム···分散技術「グリッド」に注目([테크리포트]망사용료 줄인 스트리밍 플랫폼…분산기술 ‘그리드’ 주목),” [Online]. Available: https://cm.asiae.co.kr/article/2024060314504547750 ↩
Tim Hornyak, “One group controls 51 percent of Bitcoin mining, threatening security sanctity,” [Online]. Available: https://www.pcworld.com/article/439835/bitcoin-price-dips-as-backers-fear-mining-monopoly.html ↩
Jeff John Roberts, “Bitcoin Spinoff Hacked in Rare ‘51% Attack’,” May 2018, [Online]. Available: https://fortune.com/2018/05/29/bitcoin-gold-hack/ ↩